OSDN Git Service

LDP: Update POT and ja.po to LDP v3.68
[linuxjm/LDP_man-pages.git] / po4a / unistd / po / unistd.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2014-06-08 01:30+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man2/_syscall.2:38
21 #, no-wrap
22 msgid "_SYSCALL"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man2/_syscall.2:38
27 #, no-wrap
28 msgid "2007-12-19"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30 build/C/man2/brk.2:29 build/C/man2/chdir.2:33 build/C/man2/chmod.2:32 build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35 build/C/man2/dup.2:36 build/C/man7/environ.7:34 build/C/man2/execve.2:37 build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:35 build/C/man2/fork.2:39 build/C/man2/fsync.2:38 build/C/man2/get_thread_area.2:8 build/C/man2/getdomainname.2:29 build/C/man3/getdtablesize.3:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man2/getpagesize.2:25 build/C/man2/gettid.2:26 build/C/man2/idle.2:32 build/C/man2/ioctl.2:41 build/C/man2/ioctl_list.2:30 build/C/man2/ioperm.2:34 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:11 build/C/man2/nice.2:31 build/C/man2/pread.2:25 build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:34 build/C/man2/swapon.2:37 build/C/man2/syscall.2:40 build/C/man2/syscalls.2:31 build/C/man2/sysctl.2:30 build/C/man2/sysinfo.2:14 build/C/man2/truncate.2:43 build/C/man2/umask.2:34 build/C/man2/uname.2:27 build/C/man2/uselib.2:31 build/C/man2/vfork.2:28 build/C/man2/vhangup.2:28
33 #, no-wrap
34 msgid "Linux"
35 msgstr ""
36
37 #. type: TH
38 #: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30 build/C/man2/brk.2:29 build/C/man2/chdir.2:33 build/C/man2/chmod.2:32 build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35 build/C/man3/confstr.3:31 build/C/man3/crypt.3:36 build/C/man3/daemon.3:36 build/C/man3/des_crypt.3:14 build/C/man2/dup.2:36 build/C/man3/encrypt.3:30 build/C/man7/environ.7:34 build/C/man3/euidaccess.3:25 build/C/man3/exec.3:41 build/C/man2/execve.2:37 build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:35 build/C/man2/fork.2:39 build/C/man3/fpathconf.3:41 build/C/man2/fsync.2:38 build/C/man3/get_nprocs_conf.3:26 build/C/man2/get_thread_area.2:8 build/C/man3/getcwd.3:32 build/C/man2/getdomainname.2:29 build/C/man3/getdtablesize.3:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man3/getlogin.3:28 build/C/man3/getopt.3:41 build/C/man2/getpagesize.2:25 build/C/man2/gettid.2:26 build/C/man3/getumask.3:28 build/C/man3/getusershell.3:30 build/C/man2/idle.2:32 build/C/man2/ioctl.2:41 build/C/man2/ioctl_list.2:30 build/C/man2/ioperm.2:34 build/C/man3/lockf.3:28 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:11 build/C/man2/nice.2:31 build/C/man2/pread.2:25 build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:34 build/C/man5/shells.5:28 build/C/man3/sleep.3:26 build/C/man3/swab.3:31 build/C/man2/swapon.2:37 build/C/man2/syscall.2:40 build/C/man2/syscalls.2:31 build/C/man3/sysconf.3:27 build/C/man2/sysctl.2:30 build/C/man2/sysinfo.2:14 build/C/man3/tcgetpgrp.3:25 build/C/man2/truncate.2:43 build/C/man3/ualarm.3:24 build/C/man2/umask.2:34 build/C/man2/uname.2:27 build/C/man2/uselib.2:31 build/C/man3/usleep.3:33 build/C/man2/vfork.2:28 build/C/man2/vhangup.2:28
39 #, no-wrap
40 msgid "Linux Programmer's Manual"
41 msgstr ""
42
43 #. type: SH
44 #: build/C/man2/_syscall.2:39 build/C/man2/access.2:44 build/C/man2/alarm.2:31 build/C/man2/brk.2:30 build/C/man2/chdir.2:34 build/C/man2/chmod.2:33 build/C/man2/chown.2:39 build/C/man2/chroot.2:34 build/C/man2/close.2:36 build/C/man3/confstr.3:32 build/C/man3/crypt.3:37 build/C/man3/daemon.3:37 build/C/man3/des_crypt.3:15 build/C/man2/dup.2:37 build/C/man3/encrypt.3:31 build/C/man7/environ.7:35 build/C/man3/euidaccess.3:26 build/C/man3/exec.3:42 build/C/man2/execve.2:38 build/C/man2/exit_group.2:26 build/C/man2/fcntl.2:62 build/C/man3/fexecve.3:26 build/C/man2/flock.2:36 build/C/man2/fork.2:40 build/C/man3/fpathconf.3:42 build/C/man2/fsync.2:39 build/C/man3/get_nprocs_conf.3:27 build/C/man2/get_thread_area.2:9 build/C/man3/getcwd.3:33 build/C/man2/getdomainname.2:30 build/C/man3/getdtablesize.3:28 build/C/man3/gethostid.3:30 build/C/man2/gethostname.2:33 build/C/man3/getlogin.3:29 build/C/man3/getopt.3:42 build/C/man2/getpagesize.2:26 build/C/man2/gettid.2:27 build/C/man3/getumask.3:29 build/C/man3/getusershell.3:31 build/C/man2/idle.2:33 build/C/man2/ioctl.2:42 build/C/man2/ioctl_list.2:31 build/C/man2/ioperm.2:35 build/C/man3/lockf.3:29 build/C/man2/mincore.2:35 build/C/man2/mkdir.2:12 build/C/man2/nice.2:32 build/C/man2/pread.2:26 build/C/man2/set_thread_area.2:9 build/C/man2/setup.2:35 build/C/man5/shells.5:29 build/C/man3/sleep.3:27 build/C/man3/swab.3:32 build/C/man2/swapon.2:38 build/C/man2/syscall.2:41 build/C/man2/syscalls.2:32 build/C/man3/sysconf.3:28 build/C/man2/sysctl.2:31 build/C/man2/sysinfo.2:15 build/C/man3/tcgetpgrp.3:26 build/C/man2/truncate.2:44 build/C/man3/ualarm.3:25 build/C/man2/umask.2:35 build/C/man2/uname.2:28 build/C/man2/uselib.2:32 build/C/man3/usleep.3:34 build/C/man2/vfork.2:29 build/C/man2/vhangup.2:29
45 #, no-wrap
46 msgid "NAME"
47 msgstr ""
48
49 #. type: Plain text
50 #: build/C/man2/_syscall.2:41
51 msgid "_syscall - invoking a system call without library support (OBSOLETE)"
52 msgstr ""
53
54 #. type: SH
55 #: build/C/man2/_syscall.2:41 build/C/man2/access.2:46 build/C/man2/alarm.2:33 build/C/man2/brk.2:32 build/C/man2/chdir.2:36 build/C/man2/chmod.2:35 build/C/man2/chown.2:41 build/C/man2/chroot.2:36 build/C/man2/close.2:38 build/C/man3/confstr.3:34 build/C/man3/crypt.3:39 build/C/man3/daemon.3:39 build/C/man3/des_crypt.3:18 build/C/man2/dup.2:39 build/C/man3/encrypt.3:33 build/C/man7/environ.7:37 build/C/man3/euidaccess.3:28 build/C/man3/exec.3:44 build/C/man2/execve.2:40 build/C/man2/exit_group.2:28 build/C/man2/fcntl.2:64 build/C/man3/fexecve.3:28 build/C/man2/flock.2:38 build/C/man2/fork.2:42 build/C/man3/fpathconf.3:44 build/C/man2/fsync.2:41 build/C/man3/get_nprocs_conf.3:29 build/C/man2/get_thread_area.2:11 build/C/man3/getcwd.3:35 build/C/man2/getdomainname.2:32 build/C/man3/getdtablesize.3:30 build/C/man3/gethostid.3:32 build/C/man2/gethostname.2:35 build/C/man3/getlogin.3:31 build/C/man3/getopt.3:45 build/C/man2/getpagesize.2:28 build/C/man2/gettid.2:29 build/C/man3/getumask.3:31 build/C/man3/getusershell.3:33 build/C/man2/idle.2:35 build/C/man2/ioctl.2:44 build/C/man2/ioperm.2:37 build/C/man3/lockf.3:31 build/C/man2/mincore.2:37 build/C/man2/mkdir.2:14 build/C/man2/nice.2:34 build/C/man2/pread.2:28 build/C/man2/set_thread_area.2:11 build/C/man2/setup.2:37 build/C/man3/sleep.3:29 build/C/man3/swab.3:34 build/C/man2/swapon.2:40 build/C/man2/syscall.2:43 build/C/man2/syscalls.2:34 build/C/man3/sysconf.3:30 build/C/man2/sysctl.2:33 build/C/man2/sysinfo.2:17 build/C/man3/tcgetpgrp.3:28 build/C/man2/truncate.2:46 build/C/man3/ualarm.3:27 build/C/man2/umask.2:37 build/C/man2/uname.2:30 build/C/man2/uselib.2:34 build/C/man3/usleep.3:36 build/C/man2/vfork.2:31 build/C/man2/vhangup.2:31
56 #, no-wrap
57 msgid "SYNOPSIS"
58 msgstr ""
59
60 #. type: Plain text
61 #: build/C/man2/_syscall.2:43 build/C/man2/get_thread_area.2:13 build/C/man2/set_thread_area.2:13
62 msgid "B<#include E<lt>linux/unistd.hE<gt>>"
63 msgstr ""
64
65 #. type: Plain text
66 #: build/C/man2/_syscall.2:45
67 msgid "A _syscall macro"
68 msgstr ""
69
70 #. type: Plain text
71 #: build/C/man2/_syscall.2:47
72 msgid "desired system call"
73 msgstr ""
74
75 #. type: SH
76 #: build/C/man2/_syscall.2:47 build/C/man2/access.2:78 build/C/man2/alarm.2:39 build/C/man2/brk.2:64 build/C/man2/chdir.2:59 build/C/man2/chmod.2:81 build/C/man2/chown.2:88 build/C/man2/chroot.2:63 build/C/man2/close.2:44 build/C/man3/confstr.3:48 build/C/man3/crypt.3:56 build/C/man3/daemon.3:51 build/C/man3/des_crypt.3:34 build/C/man2/dup.2:52 build/C/man3/encrypt.3:56 build/C/man7/environ.7:42 build/C/man3/euidaccess.3:36 build/C/man3/exec.3:72 build/C/man2/execve.2:46 build/C/man2/exit_group.2:34 build/C/man2/fcntl.2:71 build/C/man3/fexecve.3:53 build/C/man2/flock.2:42 build/C/man2/fork.2:46 build/C/man3/fpathconf.3:52 build/C/man2/fsync.2:61 build/C/man3/get_nprocs_conf.3:35 build/C/man2/get_thread_area.2:20 build/C/man3/getcwd.3:75 build/C/man2/getdomainname.2:51 build/C/man3/getdtablesize.3:57 build/C/man3/gethostid.3:56 build/C/man2/gethostname.2:63 build/C/man3/getlogin.3:52 build/C/man3/getopt.3:79 build/C/man2/getpagesize.2:55 build/C/man2/gettid.2:38 build/C/man3/getumask.3:39 build/C/man3/getusershell.3:57 build/C/man2/idle.2:39 build/C/man2/ioctl.2:50 build/C/man2/ioctl_list.2:33 build/C/man2/ioperm.2:45 build/C/man3/lockf.3:48 build/C/man2/mincore.2:51 build/C/man2/mkdir.2:47 build/C/man2/nice.2:46 build/C/man2/pread.2:53 build/C/man2/set_thread_area.2:20 build/C/man2/setup.2:41 build/C/man5/shells.5:31 build/C/man3/sleep.3:35 build/C/man3/swab.3:41 build/C/man2/swapon.2:48 build/C/man2/syscall.2:51 build/C/man2/syscalls.2:36 build/C/man3/sysconf.3:36 build/C/man2/sysctl.2:44 build/C/man2/sysinfo.2:21 build/C/man3/tcgetpgrp.3:34 build/C/man2/truncate.2:79 build/C/man3/ualarm.3:58 build/C/man2/umask.2:43 build/C/man2/uname.2:34 build/C/man2/uselib.2:38 build/C/man3/usleep.3:67 build/C/man2/vfork.2:62 build/C/man2/vhangup.2:45
77 #, no-wrap
78 msgid "DESCRIPTION"
79 msgstr ""
80
81 #. type: Plain text
82 #: build/C/man2/_syscall.2:53
83 msgid ""
84 "The important thing to know about a system call is its prototype.  You need "
85 "to know how many arguments, their types, and the function return type.  "
86 "There are seven macros that make the actual call into the system easier.  "
87 "They have the form:"
88 msgstr ""
89
90 #. type: Plain text
91 #: build/C/man2/_syscall.2:56
92 msgid "_syscallI<X>(I<type>,I<name>,I<type1>,I<arg1>,I<type2>,I<arg2>,...)"
93 msgstr ""
94
95 #. type: Plain text
96 #: build/C/man2/_syscall.2:59
97 msgid "where"
98 msgstr ""
99
100 #. type: Plain text
101 #: build/C/man2/_syscall.2:63
102 msgid "I<X> is 0\\(en6, which are the number of arguments taken by the system call"
103 msgstr ""
104
105 #. type: Plain text
106 #: build/C/man2/_syscall.2:66
107 msgid "I<type> is the return type of the system call"
108 msgstr ""
109
110 #. type: Plain text
111 #: build/C/man2/_syscall.2:69
112 msgid "I<name> is the name of the system call"
113 msgstr ""
114
115 #. type: Plain text
116 #: build/C/man2/_syscall.2:72
117 msgid "I<typeN> is the Nth argument's type"
118 msgstr ""
119
120 #. type: Plain text
121 #: build/C/man2/_syscall.2:75
122 msgid "I<argN> is the name of the Nth argument"
123 msgstr ""
124
125 #. type: Plain text
126 #: build/C/man2/_syscall.2:83
127 msgid ""
128 "These macros create a function called I<name> with the arguments you "
129 "specify.  Once you include the _syscall() in your source file, you call the "
130 "system call by I<name>."
131 msgstr ""
132
133 #. type: SH
134 #: build/C/man2/_syscall.2:83 build/C/man3/getlogin.3:132 build/C/man3/getusershell.3:89 build/C/man5/shells.5:43
135 #, no-wrap
136 msgid "FILES"
137 msgstr ""
138
139 #. type: Plain text
140 #: build/C/man2/_syscall.2:85
141 msgid "I</usr/include/linux/unistd.h>"
142 msgstr ""
143
144 #. type: SH
145 #: build/C/man2/_syscall.2:85 build/C/man2/access.2:262 build/C/man2/alarm.2:59 build/C/man2/brk.2:114 build/C/man2/chdir.2:125 build/C/man2/chmod.2:330 build/C/man2/chown.2:313 build/C/man2/chroot.2:134 build/C/man2/close.2:84 build/C/man3/confstr.3:127 build/C/man3/crypt.3:183 build/C/man3/daemon.3:96 build/C/man3/des_crypt.3:142 build/C/man2/dup.2:170 build/C/man3/encrypt.3:137 build/C/man3/euidaccess.3:80 build/C/man3/exec.3:199 build/C/man2/execve.2:456 build/C/man2/exit_group.2:43 build/C/man2/fcntl.2:1177 build/C/man3/fexecve.3:94 build/C/man2/flock.2:139 build/C/man2/fork.2:221 build/C/man3/fpathconf.3:169 build/C/man2/fsync.2:125 build/C/man3/get_nprocs_conf.3:48 build/C/man2/get_thread_area.2:46 build/C/man3/getcwd.3:208 build/C/man2/getdomainname.2:110 build/C/man3/getdtablesize.3:69 build/C/man3/gethostid.3:92 build/C/man2/gethostname.2:124 build/C/man3/getlogin.3:154 build/C/man3/getopt.3:318 build/C/man2/getpagesize.2:64 build/C/man2/gettid.2:58 build/C/man3/getumask.3:58 build/C/man3/getusershell.3:101 build/C/man2/idle.2:61 build/C/man2/ioctl.2:119 build/C/man2/ioperm.2:104 build/C/man3/lockf.3:154 build/C/man2/mincore.2:134 build/C/man2/mkdir.2:204 build/C/man2/nice.2:75 build/C/man2/pread.2:115 build/C/man2/set_thread_area.2:63 build/C/man2/setup.2:62 build/C/man3/sleep.3:44 build/C/man3/swab.3:77 build/C/man2/swapon.2:157 build/C/man3/sysconf.3:324 build/C/man2/sysctl.2:100 build/C/man2/sysinfo.2:83 build/C/man3/tcgetpgrp.3:116 build/C/man2/truncate.2:195 build/C/man3/ualarm.3:97 build/C/man2/umask.2:95 build/C/man2/uname.2:73 build/C/man2/uselib.2:76 build/C/man3/usleep.3:96 build/C/man2/vfork.2:159 build/C/man2/vhangup.2:63
146 #, no-wrap
147 msgid "CONFORMING TO"
148 msgstr ""
149
150 #. type: Plain text
151 #: build/C/man2/_syscall.2:87
152 msgid "The use of these macros is Linux-specific, and deprecated."
153 msgstr ""
154
155 #. type: SH
156 #: build/C/man2/_syscall.2:87 build/C/man2/access.2:268 build/C/man2/alarm.2:61 build/C/man2/brk.2:122 build/C/man2/chdir.2:127 build/C/man2/chmod.2:337 build/C/man2/chown.2:330 build/C/man2/chroot.2:139 build/C/man2/close.2:87 build/C/man3/crypt.3:188 build/C/man3/daemon.3:102 build/C/man2/dup.2:180 build/C/man3/encrypt.3:148 build/C/man3/euidaccess.3:86 build/C/man3/exec.3:205 build/C/man2/execve.2:464 build/C/man2/exit_group.2:45 build/C/man2/fcntl.2:1227 build/C/man3/fexecve.3:99 build/C/man2/flock.2:148 build/C/man2/fork.2:223 build/C/man3/fpathconf.3:171 build/C/man2/fsync.2:140 build/C/man3/get_nprocs_conf.3:50 build/C/man2/get_thread_area.2:50 build/C/man3/getcwd.3:230 build/C/man2/getdomainname.2:113 build/C/man3/getdtablesize.3:77 build/C/man3/gethostid.3:102 build/C/man2/gethostname.2:130 build/C/man3/getopt.3:350 build/C/man2/getpagesize.2:71 build/C/man2/gettid.2:62 build/C/man3/getumask.3:60 build/C/man2/ioctl.2:134 build/C/man2/ioperm.2:108 build/C/man2/mkdir.2:211 build/C/man2/nice.2:82 build/C/man2/pread.2:117 build/C/man2/set_thread_area.2:67 build/C/man2/setup.2:65 build/C/man2/swapon.2:163 build/C/man2/syscall.2:78 build/C/man2/syscalls.2:662 build/C/man2/sysctl.2:114 build/C/man3/tcgetpgrp.3:118 build/C/man2/truncate.2:208 build/C/man3/ualarm.3:105 build/C/man2/umask.2:97 build/C/man2/uname.2:82 build/C/man2/uselib.2:80 build/C/man3/usleep.3:114 build/C/man2/vfork.2:174
157 #, no-wrap
158 msgid "NOTES"
159 msgstr ""
160
161 #. type: Plain text
162 #: build/C/man2/_syscall.2:97
163 msgid ""
164 "Starting around kernel 2.6.18, the _syscall macros were removed from header "
165 "files supplied to user space.  Use B<syscall>(2)  instead.  (Some "
166 "architectures, notably ia64, never provided the _syscall macros; on those "
167 "architectures, B<syscall>(2)  was always required.)"
168 msgstr ""
169
170 #. type: Plain text
171 #: build/C/man2/_syscall.2:103
172 msgid ""
173 "The _syscall() macros I<do not> produce a prototype.  You may have to create "
174 "one, especially for C++ users."
175 msgstr ""
176
177 #. type: Plain text
178 #: build/C/man2/_syscall.2:124
179 msgid ""
180 "System calls are not required to return only positive or negative error "
181 "codes.  You need to read the source to be sure how it will return errors.  "
182 "Usually, it is the negative of a standard error code, for example, "
183 "-I<EPERM>.  The _syscall() macros will return the result I<r> of the system "
184 "call when I<r> is nonnegative, but will return -1 and set the variable "
185 "I<errno> to -I<r> when I<r> is negative.  For the error codes, see "
186 "B<errno>(3)."
187 msgstr ""
188
189 #.  The preferred way to invoke system calls that glibc does not know
190 #.  about yet is via
191 #.  .BR syscall (2).
192 #.  However, this mechanism can be used only if using a libc
193 #.  (such as glibc) that supports
194 #.  .BR syscall (2),
195 #.  and if the
196 #.  .I <sys/syscall.h>
197 #.  header file contains the required SYS_foo definition.
198 #.  Otherwise, the use of a _syscall macro is required.
199 #. type: Plain text
200 #: build/C/man2/_syscall.2:140
201 msgid ""
202 "When defining a system call, the argument types I<must> be passed by-value "
203 "or by-pointer (for aggregates like structs)."
204 msgstr ""
205
206 #. type: SH
207 #: build/C/man2/_syscall.2:140 build/C/man2/chown.2:427 build/C/man3/confstr.3:129 build/C/man3/encrypt.3:150 build/C/man2/execve.2:565 build/C/man2/fork.2:254 build/C/man3/get_nprocs_conf.3:67 build/C/man3/getopt.3:376 build/C/man5/shells.5:45 build/C/man2/syscall.2:210 build/C/man2/sysctl.2:143
208 #, no-wrap
209 msgid "EXAMPLE"
210 msgstr ""
211
212 #. type: Plain text
213 #: build/C/man2/_syscall.2:147
214 #, no-wrap
215 msgid ""
216 "#include E<lt>stdio.hE<gt>\n"
217 "#include E<lt>stdlib.hE<gt>\n"
218 "#include E<lt>errno.hE<gt>\n"
219 "#include E<lt>linux/unistd.hE<gt>       /* for _syscallX macros/related "
220 "stuff */\n"
221 "#include E<lt>linux/kernel.hE<gt>       /* for struct sysinfo */\n"
222 msgstr ""
223
224 #. type: Plain text
225 #: build/C/man2/_syscall.2:149
226 #, no-wrap
227 msgid "_syscall1(int, sysinfo, struct sysinfo *, info);\n"
228 msgstr ""
229
230 #. type: Plain text
231 #: build/C/man2/_syscall.2:152
232 #, no-wrap
233 msgid ""
234 "/* Note: if you copy directly from the nroff source, remember to\n"
235 "REMOVE the extra backslashes in the printf statement. */\n"
236 msgstr ""
237
238 #. type: Plain text
239 #: build/C/man2/_syscall.2:158
240 #, no-wrap
241 msgid ""
242 "int\n"
243 "main(void)\n"
244 "{\n"
245 "    struct sysinfo s_info;\n"
246 "    int error;\n"
247 msgstr ""
248
249 #. type: Plain text
250 #: build/C/man2/_syscall.2:173
251 #, no-wrap
252 msgid ""
253 "    error = sysinfo(&s_info);\n"
254 "    printf(\"code error = %d\\en\", error);\n"
255 "    printf(\"Uptime = %lds\\enLoad: 1 min %lu / 5 min %lu / 15 min "
256 "%lu\\en\"\n"
257 "           \"RAM: total %lu / free %lu / shared %lu\\en\"\n"
258 "           \"Memory in buffers = %lu\\enSwap: total %lu / free %lu\\en\"\n"
259 "           \"Number of processes = %d\\en\",\n"
260 "           s_info.uptime, s_info.loads[0],\n"
261 "           s_info.loads[1], s_info.loads[2],\n"
262 "           s_info.totalram, s_info.freeram,\n"
263 "           s_info.sharedram, s_info.bufferram,\n"
264 "           s_info.totalswap, s_info.freeswap,\n"
265 "           s_info.procs);\n"
266 "    exit(EXIT_SUCCESS);\n"
267 "}\n"
268 msgstr ""
269
270 #. type: SS
271 #: build/C/man2/_syscall.2:174
272 #, no-wrap
273 msgid "Sample output"
274 msgstr ""
275
276 #. type: Plain text
277 #: build/C/man2/_syscall.2:183
278 #, no-wrap
279 msgid ""
280 "code error = 0\n"
281 "uptime = 502034s\n"
282 "Load: 1 min 13376 / 5 min 5504 / 15 min 1152\n"
283 "RAM: total 15343616 / free 827392 / shared 8237056\n"
284 "Memory in buffers = 5066752\n"
285 "Swap: total 27881472 / free 24698880\n"
286 "Number of processes = 40\n"
287 msgstr ""
288
289 #. type: SH
290 #: build/C/man2/_syscall.2:184 build/C/man2/access.2:372 build/C/man2/alarm.2:86 build/C/man2/brk.2:164 build/C/man2/chdir.2:136 build/C/man2/chmod.2:347 build/C/man2/chown.2:475 build/C/man2/chroot.2:151 build/C/man2/close.2:131 build/C/man3/confstr.3:146 build/C/man3/crypt.3:249 build/C/man3/daemon.3:110 build/C/man3/des_crypt.3:145 build/C/man2/dup.2:207 build/C/man3/encrypt.3:174 build/C/man7/environ.7:248 build/C/man3/euidaccess.3:101 build/C/man3/exec.3:241 build/C/man2/execve.2:660 build/C/man2/exit_group.2:49 build/C/man2/fcntl.2:1342 build/C/man3/fexecve.3:137 build/C/man2/flock.2:202 build/C/man2/fork.2:259 build/C/man3/fpathconf.3:180 build/C/man2/fsync.2:162 build/C/man2/get_thread_area.2:55 build/C/man3/getcwd.3:249 build/C/man2/getdomainname.2:127 build/C/man3/getdtablesize.3:90 build/C/man3/gethostid.3:124 build/C/man2/gethostname.2:176 build/C/man3/getlogin.3:209 build/C/man3/getopt.3:515 build/C/man2/getpagesize.2:108 build/C/man2/gettid.2:71 build/C/man3/getumask.3:63 build/C/man3/getusershell.3:103 build/C/man2/ioctl.2:142 build/C/man2/ioctl_list.2:963 build/C/man2/ioperm.2:121 build/C/man3/lockf.3:156 build/C/man2/mincore.2:166 build/C/man2/mkdir.2:223 build/C/man2/nice.2:105 build/C/man2/pread.2:158 build/C/man2/set_thread_area.2:72 build/C/man5/shells.5:56 build/C/man3/sleep.3:61 build/C/man3/swab.3:79 build/C/man2/swapon.2:197 build/C/man2/syscall.2:227 build/C/man2/syscalls.2:839 build/C/man3/sysconf.3:335 build/C/man2/sysctl.2:181 build/C/man2/sysinfo.2:94 build/C/man3/tcgetpgrp.3:127 build/C/man2/truncate.2:256 build/C/man3/ualarm.3:147 build/C/man2/umask.2:118 build/C/man2/uname.2:167 build/C/man2/uselib.2:102 build/C/man3/usleep.3:147 build/C/man2/vfork.2:273 build/C/man2/vhangup.2:66
291 #, no-wrap
292 msgid "SEE ALSO"
293 msgstr ""
294
295 #. type: Plain text
296 #: build/C/man2/_syscall.2:188
297 msgid "B<intro>(2), B<syscall>(2), B<errno>(3)"
298 msgstr ""
299
300 #. type: SH
301 #: build/C/man2/_syscall.2:188 build/C/man2/access.2:383 build/C/man2/alarm.2:95 build/C/man2/brk.2:169 build/C/man2/chdir.2:140 build/C/man2/chmod.2:354 build/C/man2/chown.2:480 build/C/man2/chroot.2:154 build/C/man2/close.2:138 build/C/man3/confstr.3:154 build/C/man3/crypt.3:255 build/C/man3/daemon.3:113 build/C/man3/des_crypt.3:149 build/C/man2/dup.2:211 build/C/man3/encrypt.3:179 build/C/man7/environ.7:262 build/C/man3/euidaccess.3:112 build/C/man3/exec.3:248 build/C/man2/execve.2:671 build/C/man2/exit_group.2:51 build/C/man2/fcntl.2:1363 build/C/man3/fexecve.3:139 build/C/man2/flock.2:216 build/C/man2/fork.2:270 build/C/man3/fpathconf.3:186 build/C/man2/fsync.2:170 build/C/man3/get_nprocs_conf.3:88 build/C/man2/get_thread_area.2:58 build/C/man3/getcwd.3:256 build/C/man2/getdomainname.2:131 build/C/man3/getdtablesize.3:95 build/C/man3/gethostid.3:127 build/C/man2/gethostname.2:180 build/C/man3/getlogin.3:213 build/C/man3/getopt.3:517 build/C/man2/getpagesize.2:111 build/C/man2/gettid.2:90 build/C/man3/getumask.3:65 build/C/man3/getusershell.3:105 build/C/man2/idle.2:64 build/C/man2/ioctl.2:150 build/C/man2/ioctl_list.2:965 build/C/man2/ioperm.2:125 build/C/man3/lockf.3:171 build/C/man2/mincore.2:169 build/C/man2/mkdir.2:234 build/C/man2/nice.2:113 build/C/man2/pread.2:163 build/C/man2/set_thread_area.2:74 build/C/man2/setup.2:72 build/C/man5/shells.5:59 build/C/man3/sleep.3:66 build/C/man3/swab.3:81 build/C/man2/swapon.2:201 build/C/man2/syscall.2:232 build/C/man2/syscalls.2:845 build/C/man3/sysconf.3:344 build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96 build/C/man3/tcgetpgrp.3:131 build/C/man2/truncate.2:260 build/C/man3/ualarm.3:155 build/C/man2/umask.2:124 build/C/man2/uname.2:171 build/C/man2/uselib.2:112 build/C/man3/usleep.3:156 build/C/man2/vfork.2:279 build/C/man2/vhangup.2:69
302 #, no-wrap
303 msgid "COLOPHON"
304 msgstr ""
305
306 #. type: Plain text
307 #: build/C/man2/_syscall.2:196 build/C/man2/access.2:391 build/C/man2/alarm.2:103 build/C/man2/brk.2:177 build/C/man2/chdir.2:148 build/C/man2/chmod.2:362 build/C/man2/chown.2:488 build/C/man2/chroot.2:162 build/C/man2/close.2:146 build/C/man3/confstr.3:162 build/C/man3/crypt.3:263 build/C/man3/daemon.3:121 build/C/man3/des_crypt.3:157 build/C/man2/dup.2:219 build/C/man3/encrypt.3:187 build/C/man7/environ.7:270 build/C/man3/euidaccess.3:120 build/C/man3/exec.3:256 build/C/man2/execve.2:679 build/C/man2/exit_group.2:59 build/C/man2/fcntl.2:1371 build/C/man3/fexecve.3:147 build/C/man2/flock.2:224 build/C/man2/fork.2:278 build/C/man3/fpathconf.3:194 build/C/man2/fsync.2:178 build/C/man3/get_nprocs_conf.3:96 build/C/man2/get_thread_area.2:66 build/C/man3/getcwd.3:264 build/C/man2/getdomainname.2:139 build/C/man3/getdtablesize.3:103 build/C/man3/gethostid.3:135 build/C/man2/gethostname.2:188 build/C/man3/getlogin.3:221 build/C/man3/getopt.3:525 build/C/man2/getpagesize.2:119 build/C/man2/gettid.2:98 build/C/man3/getumask.3:73 build/C/man3/getusershell.3:113 build/C/man2/idle.2:72 build/C/man2/ioctl.2:158 build/C/man2/ioctl_list.2:973 build/C/man2/ioperm.2:133 build/C/man3/lockf.3:179 build/C/man2/mincore.2:177 build/C/man2/mkdir.2:242 build/C/man2/nice.2:121 build/C/man2/pread.2:171 build/C/man2/set_thread_area.2:82 build/C/man2/setup.2:80 build/C/man5/shells.5:67 build/C/man3/sleep.3:74 build/C/man3/swab.3:89 build/C/man2/swapon.2:209 build/C/man2/syscall.2:240 build/C/man2/syscalls.2:853 build/C/man3/sysconf.3:352 build/C/man2/sysctl.2:191 build/C/man2/sysinfo.2:104 build/C/man3/tcgetpgrp.3:139 build/C/man2/truncate.2:268 build/C/man3/ualarm.3:163 build/C/man2/umask.2:132 build/C/man2/uname.2:179 build/C/man2/uselib.2:120 build/C/man3/usleep.3:164 build/C/man2/vfork.2:287 build/C/man2/vhangup.2:77
308 msgid ""
309 "This page is part of release 3.68 of the Linux I<man-pages> project.  A "
310 "description of the project, information about reporting bugs, and the latest "
311 "version of this page, can be found at "
312 "\\%http://www.kernel.org/doc/man-pages/."
313 msgstr ""
314
315 #. type: TH
316 #: build/C/man2/access.2:43
317 #, no-wrap
318 msgid "ACCESS"
319 msgstr ""
320
321 #. type: TH
322 #: build/C/man2/access.2:43 build/C/man2/chmod.2:32 build/C/man2/mkdir.2:11
323 #, no-wrap
324 msgid "2014-02-21"
325 msgstr ""
326
327 #. type: Plain text
328 #: build/C/man2/access.2:46
329 msgid "access, faccessat - check user's permissions for a file"
330 msgstr ""
331
332 #. type: Plain text
333 #: build/C/man2/access.2:49 build/C/man2/alarm.2:36 build/C/man2/chown.2:44 build/C/man2/close.2:41 build/C/man3/confstr.3:37 build/C/man3/crypt.3:44 build/C/man2/dup.2:42 build/C/man3/fexecve.3:31 build/C/man3/fpathconf.3:47 build/C/man3/getcwd.3:38 build/C/man3/getopt.3:48 build/C/man3/getusershell.3:36 build/C/man3/sleep.3:32 build/C/man3/sysconf.3:33 build/C/man2/sysctl.2:36 build/C/man3/ualarm.3:30 build/C/man3/usleep.3:39
334 #, no-wrap
335 msgid "B<#include E<lt>unistd.hE<gt>>\n"
336 msgstr ""
337
338 #. type: Plain text
339 #: build/C/man2/access.2:51
340 #, no-wrap
341 msgid "B<int access(const char *>I<pathname>B<, int >I<mode>B<);>\n"
342 msgstr ""
343
344 #. type: Plain text
345 #: build/C/man2/access.2:54 build/C/man2/chown.2:53
346 #, no-wrap
347 msgid ""
348 "B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
349 "B<#include E<lt>unistd.hE<gt>>\n"
350 msgstr ""
351
352 #. type: Plain text
353 #: build/C/man2/access.2:57
354 #, no-wrap
355 msgid ""
356 "B<int faccessat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<mode>B<, "
357 "int >I<flags>B<);>\n"
358 msgstr ""
359
360 #. type: Plain text
361 #: build/C/man2/access.2:62 build/C/man2/brk.2:42 build/C/man2/chdir.2:46 build/C/man2/chmod.2:53 build/C/man2/chown.2:62 build/C/man2/chroot.2:44 build/C/man3/confstr.3:44 build/C/man3/daemon.3:47 build/C/man3/exec.3:68 build/C/man3/fexecve.3:38 build/C/man2/fsync.2:51 build/C/man3/getcwd.3:49 build/C/man2/getdomainname.2:42 build/C/man3/getdtablesize.3:38 build/C/man3/gethostid.3:42 build/C/man2/gethostname.2:45 build/C/man3/getlogin.3:45 build/C/man3/getopt.3:69 build/C/man2/getpagesize.2:36 build/C/man3/getusershell.3:47 build/C/man3/lockf.3:39 build/C/man2/mincore.2:47 build/C/man2/mkdir.2:31 build/C/man2/nice.2:42 build/C/man2/pread.2:40 build/C/man2/truncate.2:58 build/C/man3/ualarm.3:37 build/C/man3/usleep.3:46 build/C/man2/vfork.2:41 build/C/man2/vhangup.2:39
362 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
363 msgstr ""
364
365 #. type: Plain text
366 #: build/C/man2/access.2:65
367 msgid "B<faccessat>():"
368 msgstr ""
369
370 #. type: TP
371 #: build/C/man2/access.2:68 build/C/man2/chmod.2:71 build/C/man2/chown.2:79 build/C/man3/fexecve.3:44 build/C/man2/mkdir.2:37
372 #, no-wrap
373 msgid "Since glibc 2.10:"
374 msgstr ""
375
376 #. type: Plain text
377 #: build/C/man2/access.2:71 build/C/man2/chmod.2:74 build/C/man2/chown.2:82 build/C/man3/fexecve.3:47 build/C/man2/mkdir.2:40
378 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
379 msgstr ""
380
381 #. type: TP
382 #: build/C/man2/access.2:71 build/C/man2/chmod.2:74 build/C/man2/chown.2:82 build/C/man3/fexecve.3:47 build/C/man2/mkdir.2:40
383 #, no-wrap
384 msgid "Before glibc 2.10:"
385 msgstr ""
386
387 #. type: Plain text
388 #: build/C/man2/access.2:74 build/C/man2/chmod.2:77 build/C/man2/chown.2:85 build/C/man2/mkdir.2:43
389 msgid "_ATFILE_SOURCE"
390 msgstr ""
391
392 #. type: Plain text
393 #: build/C/man2/access.2:85
394 msgid ""
395 "B<access>()  checks whether the calling process can access the file "
396 "I<pathname>.  If I<pathname> is a symbolic link, it is dereferenced."
397 msgstr ""
398
399 #.  F_OK is defined as 0 on every system that I know of.
400 #. type: Plain text
401 #: build/C/man2/access.2:99
402 msgid ""
403 "The I<mode> specifies the accessibility check(s) to be performed, and is "
404 "either the value B<F_OK>, or a mask consisting of the bitwise OR of one or "
405 "more of B<R_OK>, B<W_OK>, and B<X_OK>.  B<F_OK> tests for the existence of "
406 "the file.  B<R_OK>, B<W_OK>, and B<X_OK> test whether the file exists and "
407 "grants read, write, and execute permissions, respectively."
408 msgstr ""
409
410 #. type: Plain text
411 #: build/C/man2/access.2:108
412 msgid ""
413 "The check is done using the calling process's I<real> UID and GID, rather "
414 "than the effective IDs as is done when actually attempting an operation "
415 "(e.g., B<open>(2))  on the file.  This allows set-user-ID programs to easily "
416 "determine the invoking user's authority."
417 msgstr ""
418
419 #. type: Plain text
420 #: build/C/man2/access.2:114
421 msgid ""
422 "If the calling process is privileged (i.e., its real UID is zero), then an "
423 "B<X_OK> check is successful for a regular file if execute permission is "
424 "enabled for any of the file owner, group, or other."
425 msgstr ""
426
427 #. type: SS
428 #: build/C/man2/access.2:114
429 #, no-wrap
430 msgid "faccessat()"
431 msgstr ""
432
433 #. type: Plain text
434 #: build/C/man2/access.2:120
435 msgid ""
436 "The B<faccessat>()  system call operates in exactly the same way as "
437 "B<access>(), except for the differences described here."
438 msgstr ""
439
440 #. type: Plain text
441 #: build/C/man2/access.2:130
442 msgid ""
443 "If the pathname given in I<pathname> is relative, then it is interpreted "
444 "relative to the directory referred to by the file descriptor I<dirfd> "
445 "(rather than relative to the current working directory of the calling "
446 "process, as is done by B<access>()  for a relative pathname)."
447 msgstr ""
448
449 #. type: Plain text
450 #: build/C/man2/access.2:142
451 msgid ""
452 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
453 "then I<pathname> is interpreted relative to the current working directory of "
454 "the calling process (like B<access>())."
455 msgstr ""
456
457 #. type: Plain text
458 #: build/C/man2/access.2:148 build/C/man2/chmod.2:216 build/C/man2/chown.2:179 build/C/man2/mkdir.2:110
459 msgid "If I<pathname> is absolute, then I<dirfd> is ignored."
460 msgstr ""
461
462 #. type: Plain text
463 #: build/C/man2/access.2:151
464 msgid ""
465 "I<flags> is constructed by ORing together zero or more of the following "
466 "values:"
467 msgstr ""
468
469 #. type: TP
470 #: build/C/man2/access.2:151
471 #, no-wrap
472 msgid "B<AT_EACCESS>"
473 msgstr ""
474
475 #. type: Plain text
476 #: build/C/man2/access.2:158
477 msgid ""
478 "Perform access checks using the effective user and group IDs.  By default, "
479 "B<faccessat>()  uses the real IDs (like B<access>())."
480 msgstr ""
481
482 #. type: TP
483 #: build/C/man2/access.2:158 build/C/man2/chmod.2:219 build/C/man2/chown.2:208
484 #, no-wrap
485 msgid "B<AT_SYMLINK_NOFOLLOW>"
486 msgstr ""
487
488 #. type: Plain text
489 #: build/C/man2/access.2:164
490 msgid ""
491 "If I<pathname> is a symbolic link, do not dereference it: instead return "
492 "information about the link itself."
493 msgstr ""
494
495 #. type: Plain text
496 #: build/C/man2/access.2:169
497 msgid "See B<openat>(2)  for an explanation of the need for B<faccessat>()."
498 msgstr ""
499
500 #. type: SH
501 #: build/C/man2/access.2:169 build/C/man2/alarm.2:54 build/C/man2/brk.2:93 build/C/man2/chdir.2:70 build/C/man2/chmod.2:231 build/C/man2/chown.2:224 build/C/man2/chroot.2:90 build/C/man2/close.2:64 build/C/man3/confstr.3:94 build/C/man3/crypt.3:120 build/C/man3/daemon.3:73 build/C/man3/des_crypt.3:106 build/C/man2/dup.2:120 build/C/man3/encrypt.3:113 build/C/man3/euidaccess.3:58 build/C/man3/exec.3:183 build/C/man2/execve.2:357 build/C/man2/exit_group.2:39 build/C/man2/fcntl.2:1082 build/C/man3/fexecve.3:67 build/C/man2/flock.2:112 build/C/man2/fork.2:173 build/C/man3/fpathconf.3:160 build/C/man2/fsync.2:108 build/C/man3/get_nprocs_conf.3:46 build/C/man2/get_thread_area.2:29 build/C/man3/getcwd.3:156 build/C/man2/getdomainname.2:75 build/C/man3/getdtablesize.3:61 build/C/man3/gethostid.3:71 build/C/man2/gethostname.2:89 build/C/man3/getlogin.3:95 build/C/man3/getopt.3:274 build/C/man2/gettid.2:50 build/C/man3/getusershell.3:85 build/C/man2/idle.2:52 build/C/man2/ioctl.2:85 build/C/man2/ioctl_list.2:107 build/C/man2/ioperm.2:82 build/C/man3/lockf.3:116 build/C/man2/mincore.2:94 build/C/man2/mkdir.2:115 build/C/man2/nice.2:56 build/C/man2/pread.2:79 build/C/man2/set_thread_area.2:44 build/C/man2/setup.2:53 build/C/man3/sleep.3:40 build/C/man3/swab.3:68 build/C/man2/swapon.2:106 build/C/man2/syscall.2:72 build/C/man3/sysconf.3:311 build/C/man2/sysctl.2:74 build/C/man2/sysinfo.2:74 build/C/man3/tcgetpgrp.3:64 build/C/man2/truncate.2:110 build/C/man3/ualarm.3:81 build/C/man2/umask.2:92 build/C/man2/uname.2:63 build/C/man2/uselib.2:48 build/C/man3/usleep.3:75 build/C/man2/vhangup.2:50
502 #, no-wrap
503 msgid "RETURN VALUE"
504 msgstr ""
505
506 #. type: Plain text
507 #: build/C/man2/access.2:185
508 msgid ""
509 "On success (all requested permissions granted, or I<mode> is B<F_OK> and the "
510 "file exists), zero is returned.  On error (at least one bit in I<mode> asked "
511 "for a permission that is denied, or I<mode> is B<F_OK> and the file does not "
512 "exist, or some other error occurred), -1 is returned, and I<errno> is set "
513 "appropriately."
514 msgstr ""
515
516 #. type: SH
517 #: build/C/man2/access.2:185 build/C/man2/chdir.2:75 build/C/man2/chmod.2:236 build/C/man2/chown.2:229 build/C/man2/chroot.2:95 build/C/man2/close.2:70 build/C/man3/confstr.3:121 build/C/man3/crypt.3:123 build/C/man2/dup.2:126 build/C/man3/encrypt.3:115 build/C/man3/euidaccess.3:66 build/C/man3/exec.3:190 build/C/man2/execve.2:363 build/C/man2/fcntl.2:1115 build/C/man3/fexecve.3:74 build/C/man2/flock.2:117 build/C/man2/fork.2:180 build/C/man2/fsync.2:113 build/C/man2/get_thread_area.2:35 build/C/man3/getcwd.3:172 build/C/man2/getdomainname.2:80 build/C/man3/getdtablesize.3:63 build/C/man3/gethostid.3:81 build/C/man2/gethostname.2:94 build/C/man3/getlogin.3:103 build/C/man2/gettid.2:52 build/C/man2/idle.2:55 build/C/man2/ioctl.2:94 build/C/man2/ioperm.2:87 build/C/man3/lockf.3:121 build/C/man2/mincore.2:101 build/C/man2/mkdir.2:122 build/C/man2/nice.2:61 build/C/man2/pread.2:89 build/C/man2/set_thread_area.2:49 build/C/man2/setup.2:56 build/C/man2/swapon.2:111 build/C/man2/sysctl.2:81 build/C/man2/sysinfo.2:79 build/C/man3/tcgetpgrp.3:86 build/C/man2/truncate.2:115 build/C/man3/ualarm.3:84 build/C/man2/uname.2:68 build/C/man2/uselib.2:53 build/C/man3/usleep.3:82 build/C/man2/vhangup.2:55
518 #, no-wrap
519 msgid "ERRORS"
520 msgstr ""
521
522 #. type: Plain text
523 #: build/C/man2/access.2:190
524 msgid "B<access>()  and B<faccessat>()  shall fail if:"
525 msgstr ""
526
527 #. type: TP
528 #: build/C/man2/access.2:190 build/C/man2/chdir.2:81 build/C/man2/chdir.2:117 build/C/man2/chmod.2:243 build/C/man2/chown.2:236 build/C/man2/chroot.2:98 build/C/man2/execve.2:371 build/C/man2/execve.2:378 build/C/man2/execve.2:381 build/C/man2/execve.2:384 build/C/man3/getcwd.3:173 build/C/man3/gethostid.3:84 build/C/man2/mkdir.2:123 build/C/man2/truncate.2:118 build/C/man2/uselib.2:59
529 #, no-wrap
530 msgid "B<EACCES>"
531 msgstr ""
532
533 #. type: Plain text
534 #: build/C/man2/access.2:197
535 msgid ""
536 "The requested access would be denied to the file, or search permission is "
537 "denied for one of the directories in the path prefix of I<pathname>.  (See "
538 "also B<path_resolution>(7).)"
539 msgstr ""
540
541 #. type: TP
542 #: build/C/man2/access.2:197 build/C/man2/chdir.2:94 build/C/man2/chmod.2:255 build/C/man2/chown.2:245 build/C/man2/chroot.2:112 build/C/man2/execve.2:409 build/C/man2/mkdir.2:145 build/C/man2/truncate.2:151
543 #, no-wrap
544 msgid "B<ELOOP>"
545 msgstr ""
546
547 #. type: Plain text
548 #: build/C/man2/access.2:201 build/C/man2/chmod.2:259 build/C/man2/chown.2:249 build/C/man2/mkdir.2:149
549 msgid "Too many symbolic links were encountered in resolving I<pathname>."
550 msgstr ""
551
552 #. type: TP
553 #: build/C/man2/access.2:201 build/C/man2/chdir.2:98 build/C/man2/chmod.2:259 build/C/man2/chown.2:249 build/C/man2/chroot.2:116 build/C/man2/execve.2:417 build/C/man2/gethostname.2:109 build/C/man2/mkdir.2:153 build/C/man2/truncate.2:154
554 #, no-wrap
555 msgid "B<ENAMETOOLONG>"
556 msgstr ""
557
558 #. type: Plain text
559 #: build/C/man2/access.2:205 build/C/man2/chmod.2:263 build/C/man2/chown.2:253
560 msgid "I<pathname> is too long."
561 msgstr ""
562
563 #. type: TP
564 #: build/C/man2/access.2:205 build/C/man2/chdir.2:102 build/C/man2/chmod.2:263 build/C/man2/chown.2:253 build/C/man2/chown.2:279 build/C/man2/chroot.2:120 build/C/man2/execve.2:424 build/C/man3/getcwd.3:198 build/C/man3/getlogin.3:122 build/C/man2/mkdir.2:156 build/C/man2/swapon.2:142 build/C/man2/truncate.2:158
565 #, no-wrap
566 msgid "B<ENOENT>"
567 msgstr ""
568
569 #. type: Plain text
570 #: build/C/man2/access.2:210
571 msgid "A component of I<pathname> does not exist or is a dangling symbolic link."
572 msgstr ""
573
574 #. type: TP
575 #: build/C/man2/access.2:210 build/C/man2/access.2:252 build/C/man2/chdir.2:108 build/C/man2/chmod.2:269 build/C/man2/chmod.2:314 build/C/man2/chown.2:259 build/C/man2/chown.2:303 build/C/man2/chroot.2:126 build/C/man2/execve.2:438 build/C/man2/mkdir.2:173 build/C/man2/mkdir.2:194 build/C/man2/sysctl.2:88 build/C/man2/truncate.2:161
576 #, no-wrap
577 msgid "B<ENOTDIR>"
578 msgstr ""
579
580 #. type: Plain text
581 #: build/C/man2/access.2:215 build/C/man2/mkdir.2:178
582 msgid "A component used as a directory in I<pathname> is not, in fact, a directory."
583 msgstr ""
584
585 #. type: TP
586 #: build/C/man2/access.2:215 build/C/man2/chmod.2:278 build/C/man2/chmod.2:296 build/C/man2/chown.2:266 build/C/man2/chown.2:285 build/C/man2/mkdir.2:183 build/C/man2/truncate.2:170
587 #, no-wrap
588 msgid "B<EROFS>"
589 msgstr ""
590
591 #. type: Plain text
592 #: build/C/man2/access.2:218
593 msgid "Write permission was requested for a file on a read-only filesystem."
594 msgstr ""
595
596 #. type: Plain text
597 #: build/C/man2/access.2:223
598 msgid "B<access>()  and B<faccessat>()  may fail if:"
599 msgstr ""
600
601 #. type: TP
602 #: build/C/man2/access.2:223 build/C/man2/chdir.2:87 build/C/man2/chmod.2:248 build/C/man2/chown.2:241 build/C/man2/chroot.2:105 build/C/man2/execve.2:388 build/C/man2/fcntl.2:1137 build/C/man2/get_thread_area.2:36 build/C/man3/getcwd.3:176 build/C/man2/getdomainname.2:83 build/C/man2/gethostname.2:95 build/C/man2/ioctl.2:99 build/C/man2/mincore.2:104 build/C/man2/mkdir.2:142 build/C/man2/set_thread_area.2:53 build/C/man2/sysctl.2:82 build/C/man2/sysinfo.2:80 build/C/man2/truncate.2:124 build/C/man2/uname.2:69
603 #, no-wrap
604 msgid "B<EFAULT>"
605 msgstr ""
606
607 #. type: Plain text
608 #: build/C/man2/access.2:227 build/C/man2/chmod.2:252 build/C/man2/chown.2:245 build/C/man2/mkdir.2:145
609 msgid "I<pathname> points outside your accessible address space."
610 msgstr ""
611
612 #. type: TP
613 #: build/C/man2/access.2:227 build/C/man2/access.2:248 build/C/man2/chmod.2:310 build/C/man2/chown.2:299 build/C/man3/confstr.3:122 build/C/man3/crypt.3:124 build/C/man2/dup.2:151 build/C/man2/execve.2:396 build/C/man2/fcntl.2:1153 build/C/man3/fexecve.3:78 build/C/man2/flock.2:127 build/C/man2/get_thread_area.2:39 build/C/man3/getcwd.3:180 build/C/man2/getdomainname.2:87 build/C/man2/getdomainname.2:99 build/C/man2/gethostname.2:99 build/C/man2/ioctl.2:103 build/C/man2/ioperm.2:88 build/C/man3/lockf.3:147 build/C/man2/mincore.2:108 build/C/man2/set_thread_area.2:50 build/C/man2/swapon.2:119 build/C/man2/swapon.2:124 build/C/man2/swapon.2:134 build/C/man3/tcgetpgrp.3:91 build/C/man2/truncate.2:140 build/C/man2/truncate.2:191 build/C/man3/ualarm.3:88 build/C/man3/usleep.3:87
614 #, no-wrap
615 msgid "B<EINVAL>"
616 msgstr ""
617
618 #. type: Plain text
619 #: build/C/man2/access.2:231
620 msgid "I<mode> was incorrectly specified."
621 msgstr ""
622
623 #. type: TP
624 #: build/C/man2/access.2:231 build/C/man2/chdir.2:91 build/C/man2/chmod.2:252 build/C/man2/chmod.2:290 build/C/man2/chown.2:276 build/C/man2/chroot.2:109 build/C/man2/close.2:81 build/C/man2/execve.2:400 build/C/man2/fsync.2:118 build/C/man2/ioperm.2:94 build/C/man2/truncate.2:145
625 #, no-wrap
626 msgid "B<EIO>"
627 msgstr ""
628
629 #. type: Plain text
630 #: build/C/man2/access.2:234 build/C/man2/chdir.2:94 build/C/man2/chmod.2:255 build/C/man2/chroot.2:112 build/C/man2/close.2:84 build/C/man2/execve.2:403
631 msgid "An I/O error occurred."
632 msgstr ""
633
634 #. type: TP
635 #: build/C/man2/access.2:234 build/C/man2/chdir.2:105 build/C/man2/chmod.2:266 build/C/man2/chown.2:256 build/C/man2/chroot.2:123 build/C/man2/execve.2:435 build/C/man2/fork.2:211 build/C/man3/getlogin.3:125 build/C/man2/ioperm.2:97 build/C/man2/mincore.2:112 build/C/man2/mincore.2:124 build/C/man2/mkdir.2:161 build/C/man2/swapon.2:147
636 #, no-wrap
637 msgid "B<ENOMEM>"
638 msgstr ""
639
640 #. type: Plain text
641 #: build/C/man2/access.2:237 build/C/man2/chdir.2:108 build/C/man2/chmod.2:269 build/C/man2/chown.2:259 build/C/man2/chroot.2:126 build/C/man2/execve.2:438 build/C/man2/mkdir.2:164
642 msgid "Insufficient kernel memory was available."
643 msgstr ""
644
645 #. type: TP
646 #: build/C/man2/access.2:237 build/C/man2/execve.2:453 build/C/man2/truncate.2:173
647 #, no-wrap
648 msgid "B<ETXTBSY>"
649 msgstr ""
650
651 #. type: Plain text
652 #: build/C/man2/access.2:241
653 msgid "Write access was requested to an executable which is being executed."
654 msgstr ""
655
656 #. type: Plain text
657 #: build/C/man2/access.2:244
658 msgid "The following additional errors can occur for B<faccessat>():"
659 msgstr ""
660
661 #. type: TP
662 #: build/C/man2/access.2:244 build/C/man2/chdir.2:121 build/C/man2/chmod.2:285 build/C/man2/chmod.2:306 build/C/man2/chown.2:273 build/C/man2/chown.2:295 build/C/man2/close.2:71 build/C/man2/dup.2:127 build/C/man2/fcntl.2:1123 build/C/man2/flock.2:118 build/C/man2/fsync.2:114 build/C/man2/ioctl.2:95 build/C/man3/lockf.3:130 build/C/man2/mkdir.2:190 build/C/man3/tcgetpgrp.3:87 build/C/man2/truncate.2:183
663 #, no-wrap
664 msgid "B<EBADF>"
665 msgstr ""
666
667 #. type: Plain text
668 #: build/C/man2/access.2:248 build/C/man2/chmod.2:310 build/C/man2/chown.2:299 build/C/man2/mkdir.2:194
669 msgid "I<dirfd> is not a valid file descriptor."
670 msgstr ""
671
672 #. type: Plain text
673 #: build/C/man2/access.2:252 build/C/man2/chmod.2:314 build/C/man2/chown.2:303
674 msgid "Invalid flag specified in I<flags>."
675 msgstr ""
676
677 #. type: Plain text
678 #: build/C/man2/access.2:258 build/C/man2/chmod.2:320 build/C/man2/chown.2:309 build/C/man2/mkdir.2:200
679 msgid ""
680 "I<pathname> is relative and I<dirfd> is a file descriptor referring to a "
681 "file other than a directory."
682 msgstr ""
683
684 #. type: SH
685 #: build/C/man2/access.2:258 build/C/man2/chmod.2:326 build/C/man2/chown.2:309 build/C/man3/des_crypt.3:131 build/C/man2/dup.2:165 build/C/man3/euidaccess.3:69 build/C/man3/exec.3:195 build/C/man2/exit_group.2:41 build/C/man3/fexecve.3:91 build/C/man2/get_thread_area.2:42 build/C/man2/gettid.2:54 build/C/man2/idle.2:59 build/C/man2/mincore.2:132 build/C/man2/mkdir.2:200 build/C/man2/pread.2:104 build/C/man2/set_thread_area.2:59 build/C/man2/setup.2:60
686 #, no-wrap
687 msgid "VERSIONS"
688 msgstr ""
689
690 #. type: Plain text
691 #: build/C/man2/access.2:262
692 msgid ""
693 "B<faccessat>()  was added to Linux in kernel 2.6.16; library support was "
694 "added to glibc in version 2.4."
695 msgstr ""
696
697 #. type: Plain text
698 #: build/C/man2/access.2:265
699 msgid "B<access>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
700 msgstr ""
701
702 #. type: Plain text
703 #: build/C/man2/access.2:268
704 msgid "B<faccessat>(): POSIX.1-2008."
705 msgstr ""
706
707 #. type: Plain text
708 #: build/C/man2/access.2:281
709 msgid ""
710 "B<Warning>: Using these calls to check if a user is authorized to, for "
711 "example, open a file before actually doing so using B<open>(2)  creates a "
712 "security hole, because the user might exploit the short time interval "
713 "between checking and opening the file to manipulate it.  B<For this reason, "
714 "the use of this system call should be avoided>.  (In the example just "
715 "described, a safer alternative would be to temporarily switch the process's "
716 "effective user ID to the real ID and then call B<open>(2).)"
717 msgstr ""
718
719 #. type: Plain text
720 #: build/C/man2/access.2:288
721 msgid ""
722 "B<access>()  always dereferences symbolic links.  If you need to check the "
723 "permissions on a symbolic link, use B<faccessat>(2)  with the flag "
724 "B<AT_SYMLINK_NOFOLLOW>."
725 msgstr ""
726
727 #. type: Plain text
728 #: build/C/man2/access.2:294
729 msgid ""
730 "These calls return an error if any of the access types in I<mode> is denied, "
731 "even if some of the other access types in I<mode> are permitted."
732 msgstr ""
733
734 #.  HPU-UX 11 and Tru64 5.1 do this.
735 #. type: Plain text
736 #: build/C/man2/access.2:301
737 msgid ""
738 "If the calling process has appropriate privileges (i.e., is superuser), "
739 "POSIX.1-2001 permits an implementation to indicate success for an B<X_OK> "
740 "check even if none of the execute file permission bits are set.  Linux does "
741 "not do this."
742 msgstr ""
743
744 #. type: Plain text
745 #: build/C/man2/access.2:309
746 msgid ""
747 "A file is accessible only if the permissions on each of the directories in "
748 "the path prefix of I<pathname> grant search (i.e., execute) access.  If any "
749 "directory is inaccessible, then the B<access>()  call will fail, regardless "
750 "of the permissions on the file itself."
751 msgstr ""
752
753 #. type: Plain text
754 #: build/C/man2/access.2:317
755 msgid ""
756 "Only access bits are checked, not the file type or contents.  Therefore, if "
757 "a directory is found to be writable, it probably means that files can be "
758 "created in the directory, and not that the directory can be written as a "
759 "file.  Similarly, a DOS file may be found to be \"executable,\" but the "
760 "B<execve>(2)  call will still fail."
761 msgstr ""
762
763 #. type: Plain text
764 #: build/C/man2/access.2:326
765 msgid ""
766 "These calls may not work correctly on NFSv2 filesystems with UID mapping "
767 "enabled, because UID mapping is done on the server and hidden from the "
768 "client, which checks permissions.  (NFS versions 3 and higher perform the "
769 "check on the server.)  Similar problems can occur to FUSE mounts."
770 msgstr ""
771
772 #. type: SS
773 #: build/C/man2/access.2:326
774 #, no-wrap
775 msgid "faccessat ()"
776 msgstr ""
777
778 #. type: Plain text
779 #: build/C/man2/access.2:339
780 msgid ""
781 "The raw B<faccessat>()  system call takes only the first three arguments.  "
782 "The B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW> flags are actually implemented "
783 "within the glibc wrapper function for B<faccessat>().  If either of these "
784 "flags is specified, then the wrapper function employs B<fstatat>(2)  to "
785 "determine access permissions."
786 msgstr ""
787
788 #. type: SH
789 #: build/C/man2/access.2:339 build/C/man7/environ.7:210 build/C/man2/fcntl.2:1271 build/C/man3/gethostid.3:122 build/C/man3/getlogin.3:177 build/C/man3/getopt.3:369 build/C/man2/mincore.2:144 build/C/man2/pread.2:146 build/C/man3/sleep.3:46 build/C/man3/sysconf.3:326 build/C/man2/sysctl.2:135 build/C/man2/truncate.2:248 build/C/man2/vfork.2:252
790 #, no-wrap
791 msgid "BUGS"
792 msgstr ""
793
794 #.  This behavior appears to have been an implementation accident.
795 #. type: Plain text
796 #: build/C/man2/access.2:362
797 msgid ""
798 "In kernel 2.4 (and earlier) there is some strangeness in the handling of "
799 "B<X_OK> tests for superuser.  If all categories of execute permission are "
800 "disabled for a nondirectory file, then the only B<access>()  test that "
801 "returns -1 is when I<mode> is specified as just B<X_OK>; if B<R_OK> or "
802 "B<W_OK> is also specified in I<mode>, then B<access>()  returns 0 for such "
803 "files.  Early 2.6 kernels (up to and including 2.6.3)  also behaved in the "
804 "same way as kernel 2.4."
805 msgstr ""
806
807 #. type: Plain text
808 #: build/C/man2/access.2:372
809 msgid ""
810 "In kernels before 2.6.20, these calls ignored the effect of the B<MS_NOEXEC> "
811 "flag if it was used to B<mount>(2)  the underlying filesystem.  Since kernel "
812 "2.6.20, the B<MS_NOEXEC> is honored"
813 msgstr ""
814
815 #. type: Plain text
816 #: build/C/man2/access.2:383
817 msgid ""
818 "B<chmod>(2), B<chown>(2), B<open>(2), B<setgid>(2), B<setuid>(2), "
819 "B<stat>(2), B<euidaccess>(3), B<credentials>(7), B<path_resolution>(7), "
820 "B<symlink>(7)"
821 msgstr ""
822
823 #. type: TH
824 #: build/C/man2/alarm.2:30
825 #, no-wrap
826 msgid "ALARM"
827 msgstr ""
828
829 #. type: TH
830 #: build/C/man2/alarm.2:30
831 #, no-wrap
832 msgid "2014-02-23"
833 msgstr ""
834
835 #. type: Plain text
836 #: build/C/man2/alarm.2:33
837 msgid "alarm - set an alarm clock for delivery of a signal"
838 msgstr ""
839
840 #. type: Plain text
841 #: build/C/man2/alarm.2:38
842 #, no-wrap
843 msgid "B<unsigned int alarm(unsigned int >I<seconds>B<);>\n"
844 msgstr ""
845
846 #. type: Plain text
847 #: build/C/man2/alarm.2:46
848 msgid ""
849 "B<alarm>()  arranges for a B<SIGALRM> signal to be delivered to the calling "
850 "process in I<seconds> seconds."
851 msgstr ""
852
853 #. type: Plain text
854 #: build/C/man2/alarm.2:50
855 msgid "If I<seconds> is zero, any pending alarm is canceled."
856 msgstr ""
857
858 #. type: Plain text
859 #: build/C/man2/alarm.2:54
860 msgid "In any event any previously set B<alarm>()  is canceled."
861 msgstr ""
862
863 #. type: Plain text
864 #: build/C/man2/alarm.2:59
865 msgid ""
866 "B<alarm>()  returns the number of seconds remaining until any previously "
867 "scheduled alarm was due to be delivered, or zero if there was no previously "
868 "scheduled alarm."
869 msgstr ""
870
871 #. type: Plain text
872 #: build/C/man2/alarm.2:61
873 msgid "SVr4, POSIX.1-2001, 4.3BSD."
874 msgstr ""
875
876 #. type: Plain text
877 #: build/C/man2/alarm.2:67
878 msgid ""
879 "B<alarm>()  and B<setitimer>(2)  share the same timer; calls to one will "
880 "interfere with use of the other."
881 msgstr ""
882
883 #. type: Plain text
884 #: build/C/man2/alarm.2:74
885 msgid ""
886 "Alarms created by B<alarm()> are preserved across B<execve>(2)  and are not "
887 "inherited by children created via B<fork>(2)."
888 msgstr ""
889
890 #. type: Plain text
891 #: build/C/man2/alarm.2:83
892 msgid ""
893 "B<sleep>(3)  may be implemented using B<SIGALRM>; mixing calls to B<alarm>()  "
894 "and B<sleep>(3)  is a bad idea."
895 msgstr ""
896
897 #. type: Plain text
898 #: build/C/man2/alarm.2:86
899 msgid ""
900 "Scheduling delays can, as ever, cause the execution of the process to be "
901 "delayed by an arbitrary amount of time."
902 msgstr ""
903
904 #. type: Plain text
905 #: build/C/man2/alarm.2:95
906 msgid ""
907 "B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
908 "B<sigaction>(2), B<signal>(2), B<sleep>(3), B<time>(7)"
909 msgstr ""
910
911 #. type: TH
912 #: build/C/man2/brk.2:29
913 #, no-wrap
914 msgid "BRK"
915 msgstr ""
916
917 #. type: TH
918 #: build/C/man2/brk.2:29 build/C/man2/chroot.2:33 build/C/man3/getcwd.3:32 build/C/man3/gethostid.3:29
919 #, no-wrap
920 msgid "2010-09-20"
921 msgstr ""
922
923 #. type: Plain text
924 #: build/C/man2/brk.2:32
925 msgid "brk, sbrk - change data segment size"
926 msgstr ""
927
928 #. type: Plain text
929 #: build/C/man2/brk.2:34 build/C/man2/chdir.2:38 build/C/man2/chroot.2:38 build/C/man3/daemon.3:41 build/C/man3/encrypt.3:37 build/C/man3/exec.3:46 build/C/man2/execve.2:42 build/C/man2/fork.2:44 build/C/man2/fsync.2:43 build/C/man2/getdomainname.2:34 build/C/man3/getdtablesize.3:32 build/C/man3/gethostid.3:34 build/C/man2/gethostname.2:37 build/C/man3/getlogin.3:33 build/C/man2/getpagesize.2:30 build/C/man2/idle.2:37 build/C/man3/lockf.3:33 build/C/man2/mincore.2:39 build/C/man2/nice.2:36 build/C/man2/pread.2:30 build/C/man2/setup.2:39 build/C/man2/swapon.2:42 build/C/man3/tcgetpgrp.3:30 build/C/man2/truncate.2:48 build/C/man2/uselib.2:36 build/C/man2/vfork.2:35 build/C/man2/vhangup.2:33
930 msgid "B<#include E<lt>unistd.hE<gt>>"
931 msgstr ""
932
933 #. type: Plain text
934 #: build/C/man2/brk.2:36
935 msgid "B<int brk(void *>I<addr>B<);>"
936 msgstr ""
937
938 #. type: Plain text
939 #: build/C/man2/brk.2:38
940 msgid "B<void *sbrk(intptr_t >I<increment>B<);>"
941 msgstr ""
942
943 #. type: Plain text
944 #: build/C/man2/brk.2:46
945 msgid "B<brk>(), B<sbrk>():"
946 msgstr ""
947
948 #. type: TP
949 #: build/C/man2/brk.2:49 build/C/man3/getcwd.3:60 build/C/man3/getdtablesize.3:44 build/C/man2/getpagesize.2:42 build/C/man3/ualarm.3:43 build/C/man3/usleep.3:52 build/C/man2/vfork.2:47
950 #, no-wrap
951 msgid "Since glibc 2.12:"
952 msgstr ""
953
954 #. type: Plain text
955 #: build/C/man2/brk.2:56
956 #, no-wrap
957 msgid ""
958 "_BSD_SOURCE || _SVID_SOURCE ||\n"
959 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
960 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
961 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
962 msgstr ""
963
964 #. type: Plain text
965 #: build/C/man2/brk.2:61
966 msgid ""
967 "Before glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ "
968 "500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
969 msgstr ""
970
971 #. type: Plain text
972 #: build/C/man2/brk.2:76
973 msgid ""
974 "B<brk>()  and B<sbrk>()  change the location of the I<program break>, which "
975 "defines the end of the process's data segment (i.e., the program break is "
976 "the first location after the end of the uninitialized data segment).  "
977 "Increasing the program break has the effect of allocating memory to the "
978 "process; decreasing the break deallocates memory."
979 msgstr ""
980
981 #. type: Plain text
982 #: build/C/man2/brk.2:83
983 msgid ""
984 "B<brk>()  sets the end of the data segment to the value specified by "
985 "I<addr>, when that value is reasonable, the system has enough memory, and "
986 "the process does not exceed its maximum data size (see B<setrlimit>(2))."
987 msgstr ""
988
989 #. type: Plain text
990 #: build/C/man2/brk.2:93
991 msgid ""
992 "B<sbrk>()  increments the program's data space by I<increment> bytes.  "
993 "Calling B<sbrk>()  with an I<increment> of 0 can be used to find the current "
994 "location of the program break."
995 msgstr ""
996
997 #. type: Plain text
998 #: build/C/man2/brk.2:102
999 msgid ""
1000 "On success, B<brk>()  returns zero.  On error, -1 is returned, and I<errno> "
1001 "is set to B<ENOMEM>.  (But see I<Linux Notes> below.)"
1002 msgstr ""
1003
1004 #. type: Plain text
1005 #: build/C/man2/brk.2:114
1006 msgid ""
1007 "On success, B<sbrk>()  returns the previous program break.  (If the break "
1008 "was increased, then this value is a pointer to the start of the newly "
1009 "allocated memory).  On error, I<(void\\ *)\\ -1> is returned, and I<errno> "
1010 "is set to B<ENOMEM>."
1011 msgstr ""
1012
1013 #
1014 #.  .BR brk ()
1015 #.  and
1016 #.  .BR sbrk ()
1017 #.  are not defined in the C Standard and are deliberately excluded from the
1018 #.  POSIX.1-1990 standard (see paragraphs B.1.1.1.3 and B.8.3.3).
1019 #. type: Plain text
1020 #: build/C/man2/brk.2:122
1021 msgid "4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001."
1022 msgstr ""
1023
1024 #. type: Plain text
1025 #: build/C/man2/brk.2:131
1026 msgid ""
1027 "Avoid using B<brk>()  and B<sbrk>(): the B<malloc>(3)  memory allocation "
1028 "package is the portable and comfortable way of allocating memory."
1029 msgstr ""
1030
1031 #.  One sees
1032 #.  \fIint\fP (e.g., XPGv4, DU 4.0, HP-UX 11, FreeBSD 4.0, OpenBSD 3.2),
1033 #.  \fIssize_t\fP (OSF1 2.0, Irix 5.3, 6.5),
1034 #.  \fIptrdiff_t\fP (libc4, libc5, ulibc, glibc 2.0, 2.1),
1035 #.  \fIintptr_t\fP (e.g., XPGv5, AIX, SunOS 5.8, 5.9, FreeBSD 4.7, NetBSD 1.6,
1036 #.  Tru64 5.1, glibc2.2).
1037 #. type: Plain text
1038 #: build/C/man2/brk.2:141
1039 msgid ""
1040 "Various systems use various types for the argument of B<sbrk>().  Common are "
1041 "I<int>, I<ssize_t>, I<ptrdiff_t>, I<intptr_t>."
1042 msgstr ""
1043
1044 #. type: SS
1045 #: build/C/man2/brk.2:141 build/C/man2/vfork.2:213
1046 #, no-wrap
1047 msgid "Linux notes"
1048 msgstr ""
1049
1050 #. type: Plain text
1051 #: build/C/man2/brk.2:157
1052 msgid ""
1053 "The return value described above for B<brk>()  is the behavior provided by "
1054 "the glibc wrapper function for the Linux B<brk>()  system call.  (On most "
1055 "other implementations, the return value from B<brk>()  is the same; this "
1056 "return value was also specified in SUSv2.)  However, the actual Linux system "
1057 "call returns the new program break on success.  On failure, the system call "
1058 "returns the current break.  The glibc wrapper function does some work (i.e., "
1059 "checks whether the new break is less than I<addr>)  to provide the 0 and -1 "
1060 "return values described above."
1061 msgstr ""
1062
1063 #. type: Plain text
1064 #: build/C/man2/brk.2:164
1065 msgid ""
1066 "On Linux, B<sbrk>()  is implemented as a library function that uses the "
1067 "B<brk>()  system call, and does some internal bookkeeping so that it can "
1068 "return the old break value."
1069 msgstr ""
1070
1071 #. type: Plain text
1072 #: build/C/man2/brk.2:169
1073 msgid "B<execve>(2), B<getrlimit>(2), B<end>(3), B<malloc>(3)"
1074 msgstr ""
1075
1076 #. type: TH
1077 #: build/C/man2/chdir.2:33
1078 #, no-wrap
1079 msgid "CHDIR"
1080 msgstr ""
1081
1082 #. type: TH
1083 #: build/C/man2/chdir.2:33
1084 #, no-wrap
1085 msgid "2010-11-25"
1086 msgstr ""
1087
1088 #. type: Plain text
1089 #: build/C/man2/chdir.2:36
1090 msgid "chdir, fchdir - change working directory"
1091 msgstr ""
1092
1093 #. type: Plain text
1094 #: build/C/man2/chdir.2:40
1095 msgid "B<int chdir(const char *>I<path>B<);>"
1096 msgstr ""
1097
1098 #. type: Plain text
1099 #: build/C/man2/chdir.2:42
1100 msgid "B<int fchdir(int >I<fd>B<);>"
1101 msgstr ""
1102
1103 #. type: Plain text
1104 #: build/C/man2/chdir.2:49
1105 msgid "B<fchdir>():"
1106 msgstr ""
1107
1108 #. type: Plain text
1109 #: build/C/man2/chdir.2:54 build/C/man2/chmod.2:62 build/C/man2/chown.2:71 build/C/man3/gethostid.3:50 build/C/man2/truncate.2:66 build/C/man2/truncate.2:74
1110 msgid ""
1111 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
1112 "_XOPEN_SOURCE_EXTENDED"
1113 msgstr ""
1114
1115 #. type: Plain text
1116 #: build/C/man2/chdir.2:56 build/C/man2/chmod.2:64 build/C/man2/chown.2:73 build/C/man2/pread.2:50 build/C/man2/truncate.2:68
1117 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
1118 msgstr ""
1119
1120 #. type: Plain text
1121 #: build/C/man2/chdir.2:64
1122 msgid ""
1123 "B<chdir>()  changes the current working directory of the calling process to "
1124 "the directory specified in I<path>."
1125 msgstr ""
1126
1127 #. type: Plain text
1128 #: build/C/man2/chdir.2:70
1129 msgid ""
1130 "B<fchdir>()  is identical to B<chdir>(); the only difference is that the "
1131 "directory is given as an open file descriptor."
1132 msgstr ""
1133
1134 #. type: Plain text
1135 #: build/C/man2/chdir.2:75 build/C/man2/chmod.2:236 build/C/man2/chown.2:229 build/C/man2/chroot.2:95 build/C/man2/flock.2:117 build/C/man2/getdomainname.2:80 build/C/man2/gethostname.2:94 build/C/man2/ioperm.2:87 build/C/man3/lockf.3:121 build/C/man2/swapon.2:111 build/C/man2/sysinfo.2:79 build/C/man2/truncate.2:115 build/C/man2/uname.2:68 build/C/man2/uselib.2:53 build/C/man2/vhangup.2:55
1136 msgid ""
1137 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
1138 "appropriately."
1139 msgstr ""
1140
1141 #. type: Plain text
1142 #: build/C/man2/chdir.2:81
1143 msgid ""
1144 "Depending on the filesystem, other errors can be returned.  The more general "
1145 "errors for B<chdir>()  are listed below:"
1146 msgstr ""
1147
1148 #. type: Plain text
1149 #: build/C/man2/chdir.2:87
1150 msgid ""
1151 "Search permission is denied for one of the components of I<path>.  (See also "
1152 "B<path_resolution>(7).)"
1153 msgstr ""
1154
1155 #. type: Plain text
1156 #: build/C/man2/chdir.2:91 build/C/man2/chroot.2:109
1157 msgid "I<path> points outside your accessible address space."
1158 msgstr ""
1159
1160 #. type: Plain text
1161 #: build/C/man2/chdir.2:98 build/C/man2/chroot.2:116
1162 msgid "Too many symbolic links were encountered in resolving I<path>."
1163 msgstr ""
1164
1165 #. type: Plain text
1166 #: build/C/man2/chdir.2:102 build/C/man2/chroot.2:120
1167 msgid "I<path> is too long."
1168 msgstr ""
1169
1170 #. type: Plain text
1171 #: build/C/man2/chdir.2:105 build/C/man2/chmod.2:266 build/C/man2/chown.2:256 build/C/man2/chroot.2:123
1172 msgid "The file does not exist."
1173 msgstr ""
1174
1175 #. type: Plain text
1176 #: build/C/man2/chdir.2:113 build/C/man2/chroot.2:131
1177 msgid "A component of I<path> is not a directory."
1178 msgstr ""
1179
1180 #. type: Plain text
1181 #: build/C/man2/chdir.2:117
1182 msgid "The general errors for B<fchdir>()  are listed below:"
1183 msgstr ""
1184
1185 #. type: Plain text
1186 #: build/C/man2/chdir.2:121
1187 msgid "Search permission was denied on the directory open on I<fd>."
1188 msgstr ""
1189
1190 #. type: Plain text
1191 #: build/C/man2/chdir.2:125 build/C/man3/tcgetpgrp.3:91
1192 msgid "I<fd> is not a valid file descriptor."
1193 msgstr ""
1194
1195 #. type: Plain text
1196 #: build/C/man2/chdir.2:127
1197 msgid "SVr4, 4.4BSD, POSIX.1-2001."
1198 msgstr ""
1199
1200 #. type: Plain text
1201 #: build/C/man2/chdir.2:130
1202 msgid ""
1203 "The current working directory is the starting point for interpreting "
1204 "relative pathnames (those not starting with \\(aq/\\(aq)."
1205 msgstr ""
1206
1207 #. type: Plain text
1208 #: build/C/man2/chdir.2:136
1209 msgid ""
1210 "A child process created via B<fork>(2)  inherits its parent's current "
1211 "working directory.  The current working directory is left unchanged by "
1212 "B<execve>(2)."
1213 msgstr ""
1214
1215 #. type: Plain text
1216 #: build/C/man2/chdir.2:140
1217 msgid "B<chroot>(2), B<getcwd>(3), B<path_resolution>(7)"
1218 msgstr ""
1219
1220 #. type: TH
1221 #: build/C/man2/chmod.2:32
1222 #, no-wrap
1223 msgid "CHMOD"
1224 msgstr ""
1225
1226 #. type: Plain text
1227 #: build/C/man2/chmod.2:35
1228 msgid "chmod, fchmod, fchmodat - change permissions of a file"
1229 msgstr ""
1230
1231 #. type: Plain text
1232 #: build/C/man2/chmod.2:38
1233 #, no-wrap
1234 msgid "B<#include E<lt>sys/stat.hE<gt>>\n"
1235 msgstr ""
1236
1237 #. type: Plain text
1238 #: build/C/man2/chmod.2:40
1239 #, no-wrap
1240 msgid "B<int chmod(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
1241 msgstr ""
1242
1243 #. type: Plain text
1244 #: build/C/man2/chmod.2:42
1245 #, no-wrap
1246 msgid "B<int fchmod(int >I<fd>B<, mode_t >I<mode>B<);>\n"
1247 msgstr ""
1248
1249 #. type: Plain text
1250 #: build/C/man2/chmod.2:45
1251 #, no-wrap
1252 msgid ""
1253 "B<#include E<lt>fcntl.hE<gt>>           /* Definition of AT_* constants */\n"
1254 "B<#include E<lt>sys/stat.hE<gt>>\n"
1255 msgstr ""
1256
1257 #. type: Plain text
1258 #: build/C/man2/chmod.2:48
1259 #, no-wrap
1260 msgid ""
1261 "B<int fchmodat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t "
1262 ">I<mode>B<, int >I<flags>B<);>\n"
1263 msgstr ""
1264
1265 #. type: Plain text
1266 #: build/C/man2/chmod.2:58
1267 msgid "B<fchmod>():"
1268 msgstr ""
1269
1270 #. type: Plain text
1271 #: build/C/man2/chmod.2:68
1272 msgid "B<fchmodat>():"
1273 msgstr ""
1274
1275 #. type: Plain text
1276 #: build/C/man2/chmod.2:88
1277 msgid ""
1278 "The B<chmod>()  and B<fchmod>()  system calls change the permissions of a "
1279 "file.  They differ only in how the file is specified:"
1280 msgstr ""
1281
1282 #. type: IP
1283 #: build/C/man2/chmod.2:88 build/C/man2/chmod.2:93 build/C/man2/chown.2:96 build/C/man2/chown.2:101 build/C/man2/chown.2:105 build/C/man2/chown.2:353 build/C/man2/chown.2:358 build/C/man2/chown.2:364 build/C/man2/dup.2:62 build/C/man2/dup.2:68 build/C/man2/dup.2:101 build/C/man2/dup.2:110 build/C/man2/execve.2:124 build/C/man2/execve.2:128 build/C/man2/execve.2:131 build/C/man2/execve.2:134 build/C/man2/execve.2:137 build/C/man2/execve.2:140 build/C/man2/execve.2:143 build/C/man2/execve.2:146 build/C/man2/execve.2:149 build/C/man2/execve.2:152 build/C/man2/execve.2:156 build/C/man2/execve.2:160 build/C/man2/execve.2:169 build/C/man2/execve.2:176 build/C/man2/execve.2:181 build/C/man2/execve.2:188 build/C/man2/execve.2:195 build/C/man2/execve.2:202 build/C/man2/execve.2:209 build/C/man2/execve.2:213 build/C/man2/execve.2:216 build/C/man2/execve.2:224 build/C/man2/execve.2:228 build/C/man2/execve.2:233 build/C/man2/fork.2:52 build/C/man2/fork.2:56 build/C/man2/fork.2:58 build/C/man2/fork.2:62 build/C/man2/fork.2:68 build/C/man2/fork.2:71 build/C/man2/fork.2:74 build/C/man2/fork.2:77 build/C/man2/fork.2:82 build/C/man2/fork.2:94 build/C/man2/fork.2:101 build/C/man2/fork.2:107 build/C/man2/fork.2:114 build/C/man2/fork.2:120 build/C/man2/fork.2:125 build/C/man2/fork.2:133 build/C/man2/fork.2:142 build/C/man2/fork.2:156 build/C/man2/fork.2:165 build/C/man2/syscalls.2:87 build/C/man2/syscalls.2:90 build/C/man2/syscalls.2:96 build/C/man2/syscalls.2:112 build/C/man2/syscalls.2:118 build/C/man2/syscalls.2:124 build/C/man2/syscalls.2:130 build/C/man2/syscalls.2:137 build/C/man2/syscalls.2:698 build/C/man2/syscalls.2:719 build/C/man2/syscalls.2:730 build/C/man2/syscalls.2:737 build/C/man2/syscalls.2:748 build/C/man2/syscalls.2:760 build/C/man2/syscalls.2:781 build/C/man2/syscalls.2:789 build/C/man2/vfork.2:193 build/C/man2/vfork.2:197
1284 #, no-wrap
1285 msgid "*"
1286 msgstr ""
1287
1288 #. type: Plain text
1289 #: build/C/man2/chmod.2:93
1290 msgid ""
1291 "B<chmod>()  changes the permissions of the file specified whose pathname is "
1292 "given in I<pathname>, which is dereferenced if it is a symbolic link."
1293 msgstr ""
1294
1295 #. type: Plain text
1296 #: build/C/man2/chmod.2:97
1297 msgid ""
1298 "B<fchmod>()  changes the permissions of the file referred to by the open "
1299 "file descriptor I<fd>."
1300 msgstr ""
1301
1302 #. type: Plain text
1303 #: build/C/man2/chmod.2:102
1304 msgid ""
1305 "The new file permissions are specified in I<mode>, which is a bit mask "
1306 "created by ORing together zero or more of the following:"
1307 msgstr ""
1308
1309 #. type: TP
1310 #: build/C/man2/chmod.2:102
1311 #, no-wrap
1312 msgid "B<S_ISUID>  (04000)"
1313 msgstr ""
1314
1315 #. type: Plain text
1316 #: build/C/man2/chmod.2:106
1317 msgid "set-user-ID (set process effective user ID on B<execve>(2))"
1318 msgstr ""
1319
1320 #. type: TP
1321 #: build/C/man2/chmod.2:106
1322 #, no-wrap
1323 msgid "B<S_ISGID>  (02000)"
1324 msgstr ""
1325
1326 #. type: Plain text
1327 #: build/C/man2/chmod.2:116
1328 msgid ""
1329 "set-group-ID (set process effective group ID on B<execve>(2); mandatory "
1330 "locking, as described in B<fcntl>(2); take a new file's group from parent "
1331 "directory, as described in B<chown>(2)  and B<mkdir>(2))"
1332 msgstr ""
1333
1334 #. type: TP
1335 #: build/C/man2/chmod.2:116
1336 #, no-wrap
1337 msgid "B<S_ISVTX>  (01000)"
1338 msgstr ""
1339
1340 #. type: Plain text
1341 #: build/C/man2/chmod.2:120
1342 msgid "sticky bit (restricted deletion flag, as described in B<unlink>(2))"
1343 msgstr ""
1344
1345 #. type: TP
1346 #: build/C/man2/chmod.2:120
1347 #, no-wrap
1348 msgid "B<S_IRUSR>  (00400)"
1349 msgstr ""
1350
1351 #. type: Plain text
1352 #: build/C/man2/chmod.2:123
1353 msgid "read by owner"
1354 msgstr ""
1355
1356 #. type: TP
1357 #: build/C/man2/chmod.2:123
1358 #, no-wrap
1359 msgid "B<S_IWUSR>  (00200)"
1360 msgstr ""
1361
1362 #. type: Plain text
1363 #: build/C/man2/chmod.2:126
1364 msgid "write by owner"
1365 msgstr ""
1366
1367 #. type: TP
1368 #: build/C/man2/chmod.2:126
1369 #, no-wrap
1370 msgid "B<S_IXUSR>  (00100)"
1371 msgstr ""
1372
1373 #. type: Plain text
1374 #: build/C/man2/chmod.2:130
1375 msgid ""
1376 "execute/search by owner (\"search\" applies for directories, and means that "
1377 "entries within the directory can be accessed)"
1378 msgstr ""
1379
1380 #. type: TP
1381 #: build/C/man2/chmod.2:130
1382 #, no-wrap
1383 msgid "B<S_IRGRP>  (00040)"
1384 msgstr ""
1385
1386 #. type: Plain text
1387 #: build/C/man2/chmod.2:133
1388 msgid "read by group"
1389 msgstr ""
1390
1391 #. type: TP
1392 #: build/C/man2/chmod.2:133
1393 #, no-wrap
1394 msgid "B<S_IWGRP>  (00020)"
1395 msgstr ""
1396
1397 #. type: Plain text
1398 #: build/C/man2/chmod.2:136
1399 msgid "write by group"
1400 msgstr ""
1401
1402 #. type: TP
1403 #: build/C/man2/chmod.2:136
1404 #, no-wrap
1405 msgid "B<S_IXGRP>  (00010)"
1406 msgstr ""
1407
1408 #. type: Plain text
1409 #: build/C/man2/chmod.2:139
1410 msgid "execute/search by group"
1411 msgstr ""
1412
1413 #. type: TP
1414 #: build/C/man2/chmod.2:139
1415 #, no-wrap
1416 msgid "B<S_IROTH>  (00004)"
1417 msgstr ""
1418
1419 #. type: Plain text
1420 #: build/C/man2/chmod.2:142
1421 msgid "read by others"
1422 msgstr ""
1423
1424 #. type: TP
1425 #: build/C/man2/chmod.2:142
1426 #, no-wrap
1427 msgid "B<S_IWOTH>  (00002)"
1428 msgstr ""
1429
1430 #. type: Plain text
1431 #: build/C/man2/chmod.2:145
1432 msgid "write by others"
1433 msgstr ""
1434
1435 #. type: TP
1436 #: build/C/man2/chmod.2:145
1437 #, no-wrap
1438 msgid "B<S_IXOTH>  (00001)"
1439 msgstr ""
1440
1441 #. type: Plain text
1442 #: build/C/man2/chmod.2:148
1443 msgid "execute/search by others"
1444 msgstr ""
1445
1446 #. type: Plain text
1447 #: build/C/man2/chmod.2:153
1448 msgid ""
1449 "The effective UID of the calling process must match the owner of the file, "
1450 "or the process must be privileged (Linux: it must have the B<CAP_FOWNER> "
1451 "capability)."
1452 msgstr ""
1453
1454 #. type: Plain text
1455 #: build/C/man2/chmod.2:162
1456 msgid ""
1457 "If the calling process is not privileged (Linux: does not have the "
1458 "B<CAP_FSETID> capability), and the group of the file does not match the "
1459 "effective group ID of the process or one of its supplementary group IDs, the "
1460 "B<S_ISGID> bit will be turned off, but this will not cause an error to be "
1461 "returned."
1462 msgstr ""
1463
1464 #. type: Plain text
1465 #: build/C/man2/chmod.2:174
1466 msgid ""
1467 "As a security measure, depending on the filesystem, the set-user-ID and "
1468 "set-group-ID execution bits may be turned off if a file is written.  (On "
1469 "Linux this occurs if the writing process does not have the B<CAP_FSETID> "
1470 "capability.)  On some filesystems, only the superuser can set the sticky "
1471 "bit, which may have a special meaning.  For the sticky bit, and for "
1472 "set-user-ID and set-group-ID bits on directories, see B<stat>(2)."
1473 msgstr ""
1474
1475 #. type: Plain text
1476 #: build/C/man2/chmod.2:182
1477 msgid ""
1478 "On NFS filesystems, restricting the permissions will immediately influence "
1479 "already open files, because the access control is done on the server, but "
1480 "open files are maintained by the client.  Widening the permissions may be "
1481 "delayed for other clients if attribute caching is enabled on them."
1482 msgstr ""
1483
1484 #. type: SS
1485 #: build/C/man2/chmod.2:182
1486 #, no-wrap
1487 msgid "fchmodat()"
1488 msgstr ""
1489
1490 #. type: Plain text
1491 #: build/C/man2/chmod.2:188
1492 msgid ""
1493 "The B<fchmodat>()  system call operates in exactly the same way as "
1494 "B<chmod>(), except for the differences described here."
1495 msgstr ""
1496
1497 #. type: Plain text
1498 #: build/C/man2/chmod.2:198
1499 msgid ""
1500 "If the pathname given in I<pathname> is relative, then it is interpreted "
1501 "relative to the directory referred to by the file descriptor I<dirfd> "
1502 "(rather than relative to the current working directory of the calling "
1503 "process, as is done by B<chmod>()  for a relative pathname)."
1504 msgstr ""
1505
1506 #. type: Plain text
1507 #: build/C/man2/chmod.2:210
1508 msgid ""
1509 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
1510 "then I<pathname> is interpreted relative to the current working directory of "
1511 "the calling process (like B<chmod>())."
1512 msgstr ""
1513
1514 #. type: Plain text
1515 #: build/C/man2/chmod.2:219
1516 msgid "I<flags> can either be 0, or include the following flag:"
1517 msgstr ""
1518
1519 #. type: Plain text
1520 #: build/C/man2/chmod.2:226
1521 msgid ""
1522 "If I<pathname> is a symbolic link, do not dereference it: instead operate on "
1523 "the link itself.  This flag is not currently implemented."
1524 msgstr ""
1525
1526 #. type: Plain text
1527 #: build/C/man2/chmod.2:231
1528 msgid "See B<openat>(2)  for an explanation of the need for B<fchmodat>()."
1529 msgstr ""
1530
1531 #. type: Plain text
1532 #: build/C/man2/chmod.2:239 build/C/man2/chown.2:232
1533 msgid ""
1534 "Depending on the filesystem, errors other than those listed below can be "
1535 "returned."
1536 msgstr ""
1537
1538 #. type: Plain text
1539 #: build/C/man2/chmod.2:243
1540 msgid "The more general errors for B<chmod>()  are listed below:"
1541 msgstr ""
1542
1543 #.  Also search permission is required on the final component,
1544 #.  maybe just to guarantee that it is a directory?
1545 #. type: Plain text
1546 #: build/C/man2/chmod.2:248 build/C/man2/chown.2:241 build/C/man2/chroot.2:105
1547 msgid ""
1548 "Search permission is denied on a component of the path prefix.  (See also "
1549 "B<path_resolution>(7).)"
1550 msgstr ""
1551
1552 #. type: Plain text
1553 #: build/C/man2/chmod.2:272 build/C/man2/chown.2:262 build/C/man2/truncate.2:164
1554 msgid "A component of the path prefix is not a directory."
1555 msgstr ""
1556
1557 #. type: TP
1558 #: build/C/man2/chmod.2:272 build/C/man2/chmod.2:293 build/C/man2/chown.2:262 build/C/man2/chown.2:282 build/C/man2/chroot.2:131 build/C/man3/crypt.3:169 build/C/man2/execve.2:443 build/C/man2/execve.2:449 build/C/man2/fcntl.2:1172 build/C/man2/getdomainname.2:91 build/C/man3/gethostid.3:88 build/C/man2/gethostname.2:117 build/C/man2/idle.2:56 build/C/man2/ioperm.2:101 build/C/man2/mkdir.2:178 build/C/man2/nice.2:62 build/C/man2/setup.2:57 build/C/man2/swapon.2:150 build/C/man3/tcgetpgrp.3:104 build/C/man2/truncate.2:164 build/C/man2/vhangup.2:56
1559 #, no-wrap
1560 msgid "B<EPERM>"
1561 msgstr ""
1562
1563 #. type: Plain text
1564 #: build/C/man2/chmod.2:278
1565 msgid ""
1566 "The effective UID does not match the owner of the file, and the process is "
1567 "not privileged (Linux: it does not have the B<CAP_FOWNER> capability)."
1568 msgstr ""
1569
1570 #. type: Plain text
1571 #: build/C/man2/chmod.2:281 build/C/man2/chown.2:269 build/C/man2/truncate.2:173
1572 msgid "The named file resides on a read-only filesystem."
1573 msgstr ""
1574
1575 #. type: Plain text
1576 #: build/C/man2/chmod.2:285
1577 msgid "The general errors for B<fchmod>()  are listed below:"
1578 msgstr ""
1579
1580 #. type: Plain text
1581 #: build/C/man2/chmod.2:290
1582 msgid "The file descriptor I<fd> is not valid."
1583 msgstr ""
1584
1585 #. type: Plain text
1586 #: build/C/man2/chmod.2:293 build/C/man2/chmod.2:296 build/C/man2/chmod.2:299 build/C/man2/chown.2:282 build/C/man2/chown.2:285 build/C/man2/chown.2:288
1587 msgid "See above."
1588 msgstr ""
1589
1590 #. type: Plain text
1591 #: build/C/man2/chmod.2:306
1592 msgid ""
1593 "The same errors that occur for B<chmod>()  can also occur for "
1594 "B<fchmodat>().  The following additional errors can occur for B<fchmodat>():"
1595 msgstr ""
1596
1597 #. type: TP
1598 #: build/C/man2/chmod.2:320
1599 #, no-wrap
1600 msgid "B<ENOTSUP>"
1601 msgstr ""
1602
1603 #. type: Plain text
1604 #: build/C/man2/chmod.2:326
1605 msgid "I<flags> specified B<AT_SYMLINK_NOFOLLOW>, which is not supported."
1606 msgstr ""
1607
1608 #. type: Plain text
1609 #: build/C/man2/chmod.2:330
1610 msgid ""
1611 "B<fchmodat>()  was added to Linux in kernel 2.6.16; library support was "
1612 "added to glibc in version 2.4."
1613 msgstr ""
1614
1615 #. type: Plain text
1616 #: build/C/man2/chmod.2:334
1617 msgid "B<chmod>(), B<fchmod>(): 4.4BSD, SVr4, POSIX.1-2001i, POSIX.1-2008."
1618 msgstr ""
1619
1620 #. type: Plain text
1621 #: build/C/man2/chmod.2:337
1622 msgid "B<fchmodat>(): POSIX.1-2008."
1623 msgstr ""
1624
1625 #. type: Plain text
1626 #: build/C/man2/chmod.2:347
1627 msgid ""
1628 "The GNU C library B<fchmodat>()  wrapper function implements the "
1629 "POSIX-specified interface described in this page.  This interface differs "
1630 "from the underlying Linux system call, which does I<not> have a I<flags> "
1631 "argument."
1632 msgstr ""
1633
1634 #. type: Plain text
1635 #: build/C/man2/chmod.2:354
1636 msgid ""
1637 "B<chown>(2), B<execve>(2), B<open>(2), B<stat>(2), B<path_resolution>(7), "
1638 "B<symlink>(7)"
1639 msgstr ""
1640
1641 #. type: TH
1642 #: build/C/man2/chown.2:38
1643 #, no-wrap
1644 msgid "CHOWN"
1645 msgstr ""
1646
1647 #. type: TH
1648 #: build/C/man2/chown.2:38 build/C/man2/fcntl.2:61
1649 #, no-wrap
1650 msgid "2014-05-21"
1651 msgstr ""
1652
1653 #. type: Plain text
1654 #: build/C/man2/chown.2:41
1655 msgid "chown, fchown, lchown, fchownat - change ownership of a file"
1656 msgstr ""
1657
1658 #. type: Plain text
1659 #: build/C/man2/chown.2:46
1660 #, no-wrap
1661 msgid ""
1662 "B<int chown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t "
1663 ">I<group>B<);>\n"
1664 msgstr ""
1665
1666 #. type: Plain text
1667 #: build/C/man2/chown.2:48
1668 #, no-wrap
1669 msgid "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>\n"
1670 msgstr ""
1671
1672 #. type: Plain text
1673 #: build/C/man2/chown.2:50
1674 #, no-wrap
1675 msgid ""
1676 "B<int lchown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t "
1677 ">I<group>B<);>\n"
1678 msgstr ""
1679
1680 #. type: Plain text
1681 #: build/C/man2/chown.2:56
1682 #, no-wrap
1683 msgid ""
1684 "B<int fchownat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
1685 "B<             uid_t >I<owner>B<, gid_t >I<group>B<, int >I<flags>B<);>\n"
1686 msgstr ""
1687
1688 #. type: Plain text
1689 #: build/C/man2/chown.2:66
1690 msgid "B<fchown>(), B<lchown>():"
1691 msgstr ""
1692
1693 #. type: Plain text
1694 #: build/C/man2/chown.2:76
1695 msgid "B<fchownat>():"
1696 msgstr ""
1697
1698 #. type: Plain text
1699 #: build/C/man2/chown.2:96
1700 msgid ""
1701 "These system calls change the owner and group of a file.  The B<chown>(), "
1702 "B<fchown>(), and B<lchown>()  system calls differ only in how the file is "
1703 "specified:"
1704 msgstr ""
1705
1706 #. type: Plain text
1707 #: build/C/man2/chown.2:101
1708 msgid ""
1709 "B<chown>()  changes the ownership of the file specified by I<pathname>, "
1710 "which is dereferenced if it is a symbolic link."
1711 msgstr ""
1712
1713 #. type: Plain text
1714 #: build/C/man2/chown.2:105
1715 msgid ""
1716 "B<fchown>()  changes the ownership of the file referred to by the open file "
1717 "descriptor I<fd>."
1718 msgstr ""
1719
1720 #. type: Plain text
1721 #: build/C/man2/chown.2:110
1722 msgid "B<lchown>()  is like B<chown>(), but does not dereference symbolic links."
1723 msgstr ""
1724
1725 #. type: Plain text
1726 #: build/C/man2/chown.2:119
1727 msgid ""
1728 "Only a privileged process (Linux: one with the B<CAP_CHOWN> capability) may "
1729 "change the owner of a file.  The owner of a file may change the group of the "
1730 "file to any group of which that owner is a member.  A privileged process "
1731 "(Linux: with B<CAP_CHOWN>)  may change the group arbitrarily."
1732 msgstr ""
1733
1734 #. type: Plain text
1735 #: build/C/man2/chown.2:125
1736 msgid "If the I<owner> or I<group> is specified as -1, then that ID is not changed."
1737 msgstr ""
1738
1739 #.  In Linux 2.0 kernels, superuser was like everyone else
1740 #.  In 2.2, up to 2.2.12, these bits were not cleared for superuser.
1741 #.  Since 2.2.13, superuser is once more like everyone else.
1742 #. type: Plain text
1743 #: build/C/man2/chown.2:145
1744 msgid ""
1745 "When the owner or group of an executable file are changed by an unprivileged "
1746 "user the B<S_ISUID> and B<S_ISGID> mode bits are cleared.  POSIX does not "
1747 "specify whether this also should happen when root does the B<chown>(); the "
1748 "Linux behavior depends on the kernel version.  In case of a "
1749 "non-group-executable file (i.e., one for which the B<S_IXGRP> bit is not "
1750 "set) the B<S_ISGID> bit indicates mandatory locking, and is not cleared by a "
1751 "B<chown>()."
1752 msgstr ""
1753
1754 #. type: SS
1755 #: build/C/man2/chown.2:145
1756 #, no-wrap
1757 msgid "fchownat()"
1758 msgstr ""
1759
1760 #. type: Plain text
1761 #: build/C/man2/chown.2:151
1762 msgid ""
1763 "The B<fchownat>()  system call operates in exactly the same way as "
1764 "B<chown>(), except for the differences described here."
1765 msgstr ""
1766
1767 #. type: Plain text
1768 #: build/C/man2/chown.2:161
1769 msgid ""
1770 "If the pathname given in I<pathname> is relative, then it is interpreted "
1771 "relative to the directory referred to by the file descriptor I<dirfd> "
1772 "(rather than relative to the current working directory of the calling "
1773 "process, as is done by B<chown>()  for a relative pathname)."
1774 msgstr ""
1775
1776 #. type: Plain text
1777 #: build/C/man2/chown.2:173
1778 msgid ""
1779 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
1780 "then I<pathname> is interpreted relative to the current working directory of "
1781 "the calling process (like B<chown>())."
1782 msgstr ""
1783
1784 #. type: Plain text
1785 #: build/C/man2/chown.2:184
1786 msgid ""
1787 "The I<flags> argument is a bit mask created by ORing together 0 or more of "
1788 "the following values;"
1789 msgstr ""
1790
1791 #. type: TP
1792 #: build/C/man2/chown.2:184
1793 #, no-wrap
1794 msgid "B<AT_EMPTY_PATH> (since Linux 2.6.39)"
1795 msgstr ""
1796
1797 #.  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
1798 #.  Before glibc 2.16, defining _ATFILE_SOURCE sufficed
1799 #. type: Plain text
1800 #: build/C/man2/chown.2:207
1801 msgid ""
1802 "If I<pathname> is an empty string, operate on the file referred to by "
1803 "I<dirfd> (which may have been obtained using the B<open>(2)  B<O_PATH> "
1804 "flag).  In this case, I<dirfd> can refer to any type of file, not just a "
1805 "directory.  If I<dirfd> is B<AT_FDCWD>, the call operates on the current "
1806 "working directory.  This flag is Linux-specific; define B<_GNU_SOURCE> to "
1807 "obtain its definition."
1808 msgstr ""
1809
1810 #. type: Plain text
1811 #: build/C/man2/chown.2:219
1812 msgid ""
1813 "If I<pathname> is a symbolic link, do not dereference it: instead operate on "
1814 "the link itself, like B<lchown>().  (By default, B<fchownat>()  dereferences "
1815 "symbolic links, like B<chown>().)"
1816 msgstr ""
1817
1818 #. type: Plain text
1819 #: build/C/man2/chown.2:224
1820 msgid "See B<openat>(2)  for an explanation of the need for B<fchownat>()."
1821 msgstr ""
1822
1823 #. type: Plain text
1824 #: build/C/man2/chown.2:236
1825 msgid "The more general errors for B<chown>()  are listed below."
1826 msgstr ""
1827
1828 #. type: Plain text
1829 #: build/C/man2/chown.2:266
1830 msgid ""
1831 "The calling process did not have the required permissions (see above) to "
1832 "change owner and/or group."
1833 msgstr ""
1834
1835 #. type: Plain text
1836 #: build/C/man2/chown.2:273
1837 msgid "The general errors for B<fchown>()  are listed below:"
1838 msgstr ""
1839
1840 #. type: Plain text
1841 #: build/C/man2/chown.2:276
1842 msgid "The descriptor is not valid."
1843 msgstr ""
1844
1845 #. type: Plain text
1846 #: build/C/man2/chown.2:279
1847 msgid "A low-level I/O error occurred while modifying the inode."
1848 msgstr ""
1849
1850 #. type: Plain text
1851 #: build/C/man2/chown.2:295
1852 msgid ""
1853 "The same errors that occur for B<chown>()  can also occur for "
1854 "B<fchownat>().  The following additional errors can occur for B<fchownat>():"
1855 msgstr ""
1856
1857 #. type: Plain text
1858 #: build/C/man2/chown.2:313
1859 msgid ""
1860 "B<fchownat>()  was added to Linux in kernel 2.6.16; library support was "
1861 "added to glibc in version 2.4."
1862 msgstr ""
1863
1864 #. type: Plain text
1865 #: build/C/man2/chown.2:318
1866 msgid ""
1867 "B<chown>(), B<fchown>(), B<lchown>(): 4.4BSD, SVr4, POSIX.1-2001, "
1868 "POSIX.1-2008."
1869 msgstr ""
1870
1871 #.  chown():
1872 #.  SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no
1873 #.  ENOMEM.  POSIX.1 does not document ENOMEM or ELOOP error conditions.
1874 #.  fchown():
1875 #.  SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
1876 #.  error conditions.
1877 #. type: Plain text
1878 #: build/C/man2/chown.2:327
1879 msgid ""
1880 "The 4.4BSD version can be used only by the superuser (that is, ordinary "
1881 "users cannot give away files)."
1882 msgstr ""
1883
1884 #. type: Plain text
1885 #: build/C/man2/chown.2:330
1886 msgid "B<fchownat>(): POSIX.1-2008."
1887 msgstr ""
1888
1889 #. type: SS
1890 #: build/C/man2/chown.2:331
1891 #, no-wrap
1892 msgid "Ownership of new files"
1893 msgstr ""
1894
1895 #. type: Plain text
1896 #: build/C/man2/chown.2:353
1897 msgid ""
1898 "When a new file is created (by, for example, B<open>(2)  or B<mkdir>(2)), "
1899 "its owner is made the same as the filesystem user ID of the creating "
1900 "process.  The group of the file depends on a range of factors, including the "
1901 "type of filesystem, the options used to mount the filesystem, and whether or "
1902 "not the set-group-ID permission bit is enabled on the parent directory.  If "
1903 "the filesystem supports the I<-o\\ grpid> (or, synonymously I<-o\\ "
1904 "bsdgroups>)  and I<-o\\ nogrpid> (or, synonymously I<-o\\ sysvgroups>)  "
1905 "B<mount>(8)  options, then the rules are as follows:"
1906 msgstr ""
1907
1908 #. type: Plain text
1909 #: build/C/man2/chown.2:358
1910 msgid ""
1911 "If the filesystem is mounted with I<-o\\ grpid>, then the group of a new "
1912 "file is made the same as that of the parent directory."
1913 msgstr ""
1914
1915 #. type: Plain text
1916 #: build/C/man2/chown.2:364
1917 msgid ""
1918 "If the filesystem is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1919 "is disabled on the parent directory, then the group of a new file is made "
1920 "the same as the process's filesystem GID."
1921 msgstr ""
1922
1923 #. type: Plain text
1924 #: build/C/man2/chown.2:370
1925 msgid ""
1926 "If the filesystem is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1927 "is enabled on the parent directory, then the group of a new file is made the "
1928 "same as that of the parent directory."
1929 msgstr ""
1930
1931 #. type: Plain text
1932 #: build/C/man2/chown.2:380
1933 msgid ""
1934 "As at Linux 2.6.25, the I<-o\\ grpid> and I<-o\\ nogrpid> mount options are "
1935 "supported by ext2, ext3, ext4, and XFS.  Filesystems that don't support "
1936 "these mount options follow the I<-o\\ nogrpid> rules."
1937 msgstr ""
1938
1939 #. type: SS
1940 #: build/C/man2/chown.2:380
1941 #, no-wrap
1942 msgid "NFS"
1943 msgstr ""
1944
1945 #. type: Plain text
1946 #: build/C/man2/chown.2:393
1947 msgid ""
1948 "The B<chown>()  semantics are deliberately violated on NFS filesystems which "
1949 "have UID mapping enabled.  Additionally, the semantics of all system calls "
1950 "which access the file contents are violated, because B<chown>()  may cause "
1951 "immediate access revocation on already open files.  Client side caching may "
1952 "lead to a delay between the time where ownership have been changed to allow "
1953 "access for a user and the time where the file can actually be accessed by "
1954 "the user on other clients."
1955 msgstr ""
1956
1957 #. type: SS
1958 #: build/C/man2/chown.2:393
1959 #, no-wrap
1960 msgid "Historical details"
1961 msgstr ""
1962
1963 #. type: Plain text
1964 #: build/C/man2/chown.2:412
1965 msgid ""
1966 "The original Linux B<chown>(), B<fchown>(), and B<lchown>()  system calls "
1967 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
1968 "B<chown32>(), B<fchown32>(), and B<lchown32>(), supporting 32-bit IDs.  The "
1969 "glibc B<chown>(), B<fchown>(), and B<lchown>()  wrapper functions "
1970 "transparently deal with the variations across kernel versions."
1971 msgstr ""
1972
1973 #. type: Plain text
1974 #: build/C/man2/chown.2:427
1975 msgid ""
1976 "In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), B<chown>()  "
1977 "did not follow symbolic links.  Since Linux 2.1.81, B<chown>()  does follow "
1978 "symbolic links, and there is a new system call B<lchown>()  that does not "
1979 "follow symbolic links.  Since Linux 2.1.86, this new call (that has the same "
1980 "semantics as the old B<chown>())  has got the same syscall number, and "
1981 "B<chown>()  got the newly introduced number."
1982 msgstr ""
1983
1984 #. type: Plain text
1985 #: build/C/man2/chown.2:436
1986 msgid ""
1987 "The following program changes the ownership of the file named in its second "
1988 "command-line argument to the value specified in its first command-line "
1989 "argument.  The new owner can be specified either as a numeric user ID, or as "
1990 "a username (which is converted to a user ID by using B<getpwnam>(3)  to "
1991 "perform a lookup in the system password file)."
1992 msgstr ""
1993
1994 #. type: SS
1995 #: build/C/man2/chown.2:436
1996 #, no-wrap
1997 msgid "Program source"
1998 msgstr ""
1999
2000 #. type: Plain text
2001 #: build/C/man2/chown.2:442
2002 #, no-wrap
2003 msgid ""
2004 "#include E<lt>pwd.hE<gt>\n"
2005 "#include E<lt>stdio.hE<gt>\n"
2006 "#include E<lt>stdlib.hE<gt>\n"
2007 "#include E<lt>unistd.hE<gt>\n"
2008 msgstr ""
2009
2010 #. type: Plain text
2011 #: build/C/man2/chown.2:449
2012 #, no-wrap
2013 msgid ""
2014 "int\n"
2015 "main(int argc, char *argv[])\n"
2016 "{\n"
2017 "    uid_t uid;\n"
2018 "    struct passwd *pwd;\n"
2019 "    char *endptr;\n"
2020 msgstr ""
2021
2022 #. type: Plain text
2023 #: build/C/man2/chown.2:454
2024 #, no-wrap
2025 msgid ""
2026 "    if (argc != 3 || argv[1][0] == \\(aq\\e0\\(aq) {\n"
2027 "        fprintf(stderr, \"%s E<lt>ownerE<gt> E<lt>fileE<gt>\\en\", "
2028 "argv[0]);\n"
2029 "        exit(EXIT_FAILURE);\n"
2030 "    }\n"
2031 msgstr ""
2032
2033 #. type: Plain text
2034 #: build/C/man2/chown.2:456
2035 #, no-wrap
2036 msgid "    uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */\n"
2037 msgstr ""
2038
2039 #. type: Plain text
2040 #: build/C/man2/chown.2:463
2041 #, no-wrap
2042 msgid ""
2043 "    if (*endptr != \\(aq\\e0\\(aq) {         /* Was not pure numeric string "
2044 "*/\n"
2045 "        pwd = getpwnam(argv[1]);   /* Try getting UID for username */\n"
2046 "        if (pwd == NULL) {\n"
2047 "            perror(\"getpwnam\");\n"
2048 "            exit(EXIT_FAILURE);\n"
2049 "        }\n"
2050 msgstr ""
2051
2052 #. type: Plain text
2053 #: build/C/man2/chown.2:466
2054 #, no-wrap
2055 msgid ""
2056 "        uid = pwd-E<gt>pw_uid;\n"
2057 "    }\n"
2058 msgstr ""
2059
2060 #. type: Plain text
2061 #: build/C/man2/chown.2:471
2062 #, no-wrap
2063 msgid ""
2064 "    if (chown(argv[2], uid, -1) == -1) {\n"
2065 "        perror(\"chown\");\n"
2066 "        exit(EXIT_FAILURE);\n"
2067 "    }\n"
2068 msgstr ""
2069
2070 #. type: Plain text
2071 #: build/C/man2/chown.2:474 build/C/man2/execve.2:586 build/C/man3/getopt.3:429 build/C/man3/getopt.3:514
2072 #, no-wrap
2073 msgid ""
2074 "    exit(EXIT_SUCCESS);\n"
2075 "}\n"
2076 msgstr ""
2077
2078 #. type: Plain text
2079 #: build/C/man2/chown.2:480
2080 msgid "B<chmod>(2), B<flock>(2), B<path_resolution>(7), B<symlink>(7)"
2081 msgstr ""
2082
2083 #. type: TH
2084 #: build/C/man2/chroot.2:33
2085 #, no-wrap
2086 msgid "CHROOT"
2087 msgstr ""
2088
2089 #. type: Plain text
2090 #: build/C/man2/chroot.2:36
2091 msgid "chroot - change root directory"
2092 msgstr ""
2093
2094 #. type: Plain text
2095 #: build/C/man2/chroot.2:40
2096 msgid "B<int chroot(const char *>I<path>B<);>"
2097 msgstr ""
2098
2099 #. type: Plain text
2100 #: build/C/man2/chroot.2:47
2101 msgid "B<chroot>():"
2102 msgstr ""
2103
2104 #. type: TP
2105 #: build/C/man2/chroot.2:50
2106 #, no-wrap
2107 msgid "Since glibc 2.2.2:"
2108 msgstr ""
2109
2110 #. type: Plain text
2111 #: build/C/man2/chroot.2:57
2112 #, no-wrap
2113 msgid ""
2114 "_BSD_SOURCE ||\n"
2115 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2116 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2117 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2118 msgstr ""
2119
2120 #. type: Plain text
2121 #: build/C/man2/chroot.2:60
2122 msgid "Before glibc 2.2.2: none"
2123 msgstr ""
2124
2125 #. type: Plain text
2126 #: build/C/man2/chroot.2:69
2127 msgid ""
2128 "B<chroot>()  changes the root directory of the calling process to that "
2129 "specified in I<path>.  This directory will be used for pathnames beginning "
2130 "with I</>.  The root directory is inherited by all children of the calling "
2131 "process."
2132 msgstr ""
2133
2134 #. type: Plain text
2135 #: build/C/man2/chroot.2:74
2136 msgid ""
2137 "Only a privileged process (Linux: one with the B<CAP_SYS_CHROOT> capability) "
2138 "may call B<chroot>()."
2139 msgstr ""
2140
2141 #. type: Plain text
2142 #: build/C/man2/chroot.2:77
2143 msgid ""
2144 "This call changes an ingredient in the pathname resolution process and does "
2145 "nothing else."
2146 msgstr ""
2147
2148 #. type: Plain text
2149 #: build/C/man2/chroot.2:83
2150 msgid ""
2151 "This call does not change the current working directory, so that after the "
2152 "call \\(aqI<.>\\(aq can be outside the tree rooted at \\(aqI</>\\(aq.  In "
2153 "particular, the superuser can escape from a \"chroot jail\" by doing:"
2154 msgstr ""
2155
2156 #. type: Plain text
2157 #: build/C/man2/chroot.2:86
2158 #, no-wrap
2159 msgid "    mkdir foo; chroot foo; cd ..\n"
2160 msgstr ""
2161
2162 #. type: Plain text
2163 #: build/C/man2/chroot.2:90
2164 msgid ""
2165 "This call does not close open file descriptors, and such file descriptors "
2166 "may allow access to files outside the chroot tree."
2167 msgstr ""
2168
2169 #. type: Plain text
2170 #: build/C/man2/chroot.2:98
2171 msgid ""
2172 "Depending on the filesystem, other errors can be returned.  The more general "
2173 "errors are listed below:"
2174 msgstr ""
2175
2176 #. type: Plain text
2177 #: build/C/man2/chroot.2:134
2178 msgid "The caller has insufficient privilege."
2179 msgstr ""
2180
2181 #.  SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions.
2182 #.  X/OPEN does not document EIO, ENOMEM or EFAULT error conditions.
2183 #. type: Plain text
2184 #: build/C/man2/chroot.2:139
2185 msgid ""
2186 "SVr4, 4.4BSD, SUSv2 (marked LEGACY).  This function is not part of "
2187 "POSIX.1-2001."
2188 msgstr ""
2189
2190 #. type: Plain text
2191 #: build/C/man2/chroot.2:145
2192 msgid ""
2193 "A child process created via B<fork>(2)  inherits its parent's root "
2194 "directory.  The root directory is left unchanged by B<execve>(2)."
2195 msgstr ""
2196
2197 #.  FIXME . eventually say something about containers,
2198 #.  virtual servers, etc.?
2199 #. type: Plain text
2200 #: build/C/man2/chroot.2:151
2201 msgid "FreeBSD has a stronger B<jail>()  system call."
2202 msgstr ""
2203
2204 #. type: Plain text
2205 #: build/C/man2/chroot.2:154
2206 msgid "B<chdir>(2), B<path_resolution>(7)"
2207 msgstr ""
2208
2209 #. type: TH
2210 #: build/C/man2/close.2:35
2211 #, no-wrap
2212 msgid "CLOSE"
2213 msgstr ""
2214
2215 #. type: TH
2216 #: build/C/man2/close.2:35
2217 #, no-wrap
2218 msgid "2013-12-30"
2219 msgstr ""
2220
2221 #. type: Plain text
2222 #: build/C/man2/close.2:38
2223 msgid "close - close a file descriptor"
2224 msgstr ""
2225
2226 #. type: Plain text
2227 #: build/C/man2/close.2:43
2228 #, no-wrap
2229 msgid "B<int close(int >I<fd>B<);>\n"
2230 msgstr ""
2231
2232 #. type: Plain text
2233 #: build/C/man2/close.2:53
2234 msgid ""
2235 "B<close>()  closes a file descriptor, so that it no longer refers to any "
2236 "file and may be reused.  Any record locks (see B<fcntl>(2))  held on the "
2237 "file it was associated with, and owned by the process, are removed "
2238 "(regardless of the file descriptor that was used to obtain the lock)."
2239 msgstr ""
2240
2241 #. type: Plain text
2242 #: build/C/man2/close.2:64
2243 msgid ""
2244 "If I<fd> is the last file descriptor referring to the underlying open file "
2245 "description (see B<open>(2)), the resources associated with the open file "
2246 "description are freed; if the descriptor was the last reference to a file "
2247 "which has been removed using B<unlink>(2), the file is deleted."
2248 msgstr ""
2249
2250 #. type: Plain text
2251 #: build/C/man2/close.2:70
2252 msgid ""
2253 "B<close>()  returns zero on success.  On error, -1 is returned, and I<errno> "
2254 "is set appropriately."
2255 msgstr ""
2256
2257 #. type: Plain text
2258 #: build/C/man2/close.2:75
2259 msgid "I<fd> isn't a valid open file descriptor."
2260 msgstr ""
2261
2262 #. type: TP
2263 #: build/C/man2/close.2:75 build/C/man2/dup.2:143 build/C/man2/fcntl.2:1141 build/C/man2/flock.2:122 build/C/man2/truncate.2:133 build/C/man3/ualarm.3:85 build/C/man3/usleep.3:83
2264 #, no-wrap
2265 msgid "B<EINTR>"
2266 msgstr ""
2267
2268 #. type: Plain text
2269 #: build/C/man2/close.2:81
2270 msgid "The B<close>()  call was interrupted by a signal; see B<signal>(7)."
2271 msgstr ""
2272
2273 #. type: Plain text
2274 #: build/C/man2/close.2:87 build/C/man2/fork.2:223 build/C/man3/swab.3:79 build/C/man2/umask.2:97
2275 msgid "SVr4, 4.3BSD, POSIX.1-2001."
2276 msgstr ""
2277
2278 #. type: Plain text
2279 #: build/C/man2/close.2:107
2280 msgid ""
2281 "Not checking the return value of B<close>()  is a common but nevertheless "
2282 "serious programming error.  It is quite possible that errors on a previous "
2283 "B<write>(2)  operation are first reported at the final B<close>().  Not "
2284 "checking the return value when closing the file may lead to silent loss of "
2285 "data.  This can especially be observed with NFS and with disk quota.  Note "
2286 "that the return value should only be used for diagnostics.  In particular "
2287 "B<close>()  should not be retried after an B<EINTR> since this may cause a "
2288 "reused descriptor from another thread to be closed."
2289 msgstr ""
2290
2291 #. type: Plain text
2292 #: build/C/man2/close.2:116
2293 msgid ""
2294 "A successful close does not guarantee that the data has been successfully "
2295 "saved to disk, as the kernel defers writes.  It is not common for a "
2296 "filesystem to flush the buffers when the stream is closed.  If you need to "
2297 "be sure that the data is physically stored, use B<fsync>(2).  (It will "
2298 "depend on the disk hardware at this point.)"
2299 msgstr ""
2300
2301 #.  Date: Tue, 4 Sep 2007 13:57:35 +0200
2302 #.  From: Fredrik Noring <noring@nocrew.org>
2303 #.  One such race involves signals and ERESTARTSYS. If a file descriptor
2304 #.  in use by a system call is closed and then reused by e.g. an
2305 #.  independent open() in some unrelated thread, before the original system
2306 #.  call has restarted after ERESTARTSYS, the original system call will
2307 #.  later restart with the reused file descriptor. This is most likely a
2308 #.  serious programming error.
2309 #. type: Plain text
2310 #: build/C/man2/close.2:131
2311 msgid ""
2312 "It is probably unwise to close file descriptors while they may be in use by "
2313 "system calls in other threads in the same process.  Since a file descriptor "
2314 "may be reused, there are some obscure race conditions that may cause "
2315 "unintended side effects."
2316 msgstr ""
2317
2318 #. type: Plain text
2319 #: build/C/man2/close.2:138
2320 msgid ""
2321 "B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), B<unlink>(2), "
2322 "B<fclose>(3)"
2323 msgstr ""
2324
2325 #. type: TH
2326 #: build/C/man3/confstr.3:31
2327 #, no-wrap
2328 msgid "CONFSTR"
2329 msgstr ""
2330
2331 #. type: TH
2332 #: build/C/man3/confstr.3:31 build/C/man3/sysconf.3:27
2333 #, no-wrap
2334 msgid "2014-03-20"
2335 msgstr ""
2336
2337 #. type: TH
2338 #: build/C/man3/confstr.3:31 build/C/man3/daemon.3:36 build/C/man3/exec.3:41 build/C/man3/fpathconf.3:41 build/C/man3/get_nprocs_conf.3:26 build/C/man3/getcwd.3:32 build/C/man3/getlogin.3:28 build/C/man3/getopt.3:41 build/C/man3/getumask.3:28 build/C/man3/getusershell.3:30 build/C/man3/lockf.3:28 build/C/man3/sleep.3:26 build/C/man3/sysconf.3:27 build/C/man3/tcgetpgrp.3:25
2339 #, no-wrap
2340 msgid "GNU"
2341 msgstr ""
2342
2343 #. type: Plain text
2344 #: build/C/man3/confstr.3:34
2345 msgid "confstr - get configuration dependent string variables"
2346 msgstr ""
2347
2348 #. type: Plain text
2349 #: build/C/man3/confstr.3:39
2350 #, no-wrap
2351 msgid "B<size_t confstr(int >I<name>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2352 msgstr ""
2353
2354 #. type: Plain text
2355 #: build/C/man3/confstr.3:48
2356 msgid "B<confstr>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
2357 msgstr ""
2358
2359 #. type: Plain text
2360 #: build/C/man3/confstr.3:51
2361 msgid "B<confstr>()  gets the value of configuration-dependent string variables."
2362 msgstr ""
2363
2364 #. type: Plain text
2365 #: build/C/man3/confstr.3:56
2366 msgid ""
2367 "The I<name> argument is the system variable to be queried.  The following "
2368 "variables are supported:"
2369 msgstr ""
2370
2371 #. type: TP
2372 #: build/C/man3/confstr.3:56
2373 #, no-wrap
2374 msgid "B<_CS_GNU_LIBC_VERSION> (GNU C library only; since glibc 2.3.2)"
2375 msgstr ""
2376
2377 #. type: Plain text
2378 #: build/C/man3/confstr.3:60
2379 msgid ""
2380 "A string which identifies the GNU C library version on this system (e.g, "
2381 "\"glibc 2.3.4\")."
2382 msgstr ""
2383
2384 #. type: TP
2385 #: build/C/man3/confstr.3:60
2386 #, no-wrap
2387 msgid "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library only; since glibc 2.3.2)"
2388 msgstr ""
2389
2390 #. type: Plain text
2391 #: build/C/man3/confstr.3:64
2392 msgid ""
2393 "A string which identifies the POSIX implementation supplied by this C "
2394 "library (e.g, \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
2395 msgstr ""
2396
2397 #. type: TP
2398 #: build/C/man3/confstr.3:64
2399 #, no-wrap
2400 msgid "B<_CS_PATH>"
2401 msgstr ""
2402
2403 #. type: Plain text
2404 #: build/C/man3/confstr.3:70
2405 msgid ""
2406 "A value for the B<PATH> variable which indicates where all the POSIX.2 "
2407 "standard utilities can be found."
2408 msgstr ""
2409
2410 #. type: Plain text
2411 #: build/C/man3/confstr.3:86
2412 msgid ""
2413 "If I<buf> is not NULL and I<len> is not zero, B<confstr>()  copies the value "
2414 "of the string to I<buf> truncated to I<len - 1> bytes if necessary, with a "
2415 "null byte (\\(aq\\e0\\(aq) as terminator.  This can be detected by comparing "
2416 "the return value of B<confstr>()  against I<len>."
2417 msgstr ""
2418
2419 #. type: Plain text
2420 #: build/C/man3/confstr.3:94
2421 msgid ""
2422 "If I<len> is zero and I<buf> is NULL, B<confstr>()  just returns the value "
2423 "as defined below."
2424 msgstr ""
2425
2426 #. type: Plain text
2427 #: build/C/man3/confstr.3:106
2428 msgid ""
2429 "If I<name> is a valid configuration variable, B<confstr>()  returns the "
2430 "number of bytes (including the terminating null byte)  that would be "
2431 "required to hold the entire value of that variable.  This value may be "
2432 "greater than I<len>, which means that the value in I<buf> is truncated."
2433 msgstr ""
2434
2435 #. type: Plain text
2436 #: build/C/man3/confstr.3:121
2437 msgid ""
2438 "If I<name> is a valid configuration variable, but that variable does not "
2439 "have a value, then B<confstr>()  returns 0.  If I<name> does not correspond "
2440 "to a valid configuration variable, B<confstr>()  returns 0, and I<errno> is "
2441 "set to B<EINVAL>."
2442 msgstr ""
2443
2444 #. type: Plain text
2445 #: build/C/man3/confstr.3:127
2446 msgid "The value of I<name> is invalid."
2447 msgstr ""
2448
2449 #. type: Plain text
2450 #: build/C/man3/confstr.3:129 build/C/man3/fpathconf.3:171 build/C/man2/pread.2:117 build/C/man3/sleep.3:46 build/C/man3/sysconf.3:326 build/C/man3/tcgetpgrp.3:118
2451 msgid "POSIX.1-2001."
2452 msgstr ""
2453
2454 #. type: Plain text
2455 #: build/C/man3/confstr.3:132
2456 msgid ""
2457 "The following code fragment determines the path where to find the POSIX.2 "
2458 "system utilities:"
2459 msgstr ""
2460
2461 #. type: Plain text
2462 #: build/C/man3/confstr.3:138
2463 #, no-wrap
2464 msgid ""
2465 "char *pathbuf;\n"
2466 "size_t n;\n"
2467 msgstr ""
2468
2469 #. type: Plain text
2470 #: build/C/man3/confstr.3:144
2471 #, no-wrap
2472 msgid ""
2473 "n = confstr(_CS_PATH, NULL, (size_t) 0);\n"
2474 "pathbuf = malloc(n);\n"
2475 "if (pathbuf == NULL)\n"
2476 "    abort();\n"
2477 "confstr(_CS_PATH, pathbuf, n);\n"
2478 msgstr ""
2479
2480 #. type: Plain text
2481 #: build/C/man3/confstr.3:154
2482 msgid ""
2483 "B<getconf>(1), B<sh>(1), B<exec>(3), B<fpathconf>(3)  B<sysconf>(3)  "
2484 "B<pathconf>(3)  B<system>(3)"
2485 msgstr ""
2486
2487 #. type: TH
2488 #: build/C/man3/crypt.3:36
2489 #, no-wrap
2490 msgid "CRYPT"
2491 msgstr ""
2492
2493 #. type: TH
2494 #: build/C/man3/crypt.3:36
2495 #, no-wrap
2496 msgid "2014-02-26"
2497 msgstr ""
2498
2499 #. type: Plain text
2500 #: build/C/man3/crypt.3:39
2501 msgid "crypt, crypt_r - password and data encryption"
2502 msgstr ""
2503
2504 #. type: Plain text
2505 #: build/C/man3/crypt.3:42
2506 #, no-wrap
2507 msgid "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
2508 msgstr ""
2509
2510 #. type: Plain text
2511 #: build/C/man3/crypt.3:46
2512 #, no-wrap
2513 msgid "B<char *crypt(const char *>I<key>B<, const char *>I<salt>B<);>\n"
2514 msgstr ""
2515
2516 #. type: Plain text
2517 #: build/C/man3/crypt.3:48
2518 #, no-wrap
2519 msgid "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
2520 msgstr ""
2521
2522 #. type: Plain text
2523 #: build/C/man3/crypt.3:50
2524 #, no-wrap
2525 msgid "B<#include E<lt>crypt.hE<gt>>\n"
2526 msgstr ""
2527
2528 #. type: Plain text
2529 #: build/C/man3/crypt.3:53
2530 #, no-wrap
2531 msgid ""
2532 "B<char *crypt_r(const char *>I<key>B<, const char *>I<salt>B<,>\n"
2533 "B<              struct crypt_data *>I<data>B<);>\n"
2534 msgstr ""
2535
2536 #. type: Plain text
2537 #: build/C/man3/crypt.3:56
2538 msgid "Link with I<-lcrypt>."
2539 msgstr ""
2540
2541 #. type: Plain text
2542 #: build/C/man3/crypt.3:62
2543 msgid ""
2544 "B<crypt>()  is the password encryption function.  It is based on the Data "
2545 "Encryption Standard algorithm with variations intended (among other things) "
2546 "to discourage use of hardware implementations of a key search."
2547 msgstr ""
2548
2549 #. type: Plain text
2550 #: build/C/man3/crypt.3:65
2551 msgid "I<key> is a user's typed password."
2552 msgstr ""
2553
2554 #. type: Plain text
2555 #: build/C/man3/crypt.3:71
2556 msgid ""
2557 "I<salt> is a two-character string chosen from the set [B<a-zA-Z0-9./>].  "
2558 "This string is used to perturb the algorithm in one of 4096 different ways."
2559 msgstr ""
2560
2561 #. type: Plain text
2562 #: build/C/man3/crypt.3:82
2563 msgid ""
2564 "By taking the lowest 7 bits of each of the first eight characters of the "
2565 "I<key>, a 56-bit key is obtained.  This 56-bit key is used to encrypt "
2566 "repeatedly a constant string (usually a string consisting of all zeros).  "
2567 "The returned value points to the encrypted password, a series of 13 "
2568 "printable ASCII characters (the first two characters represent the salt "
2569 "itself).  The return value points to static data whose content is "
2570 "overwritten by each call."
2571 msgstr ""
2572
2573 #. type: Plain text
2574 #: build/C/man3/crypt.3:84
2575 msgid "Warning: The key space consists of"
2576 msgstr ""
2577
2578 #. type: Plain text
2579 #: build/C/man3/crypt.3:99
2580 msgid ""
2581 "equal 7.2e16 possible values.  Exhaustive searches of this key space are "
2582 "possible using massively parallel computers.  Software, such as B<crack>(1), "
2583 "is available which will search the portion of this key space that is "
2584 "generally used by humans for passwords.  Hence, password selection should, "
2585 "at minimum, avoid common words and names.  The use of a B<passwd>(1)  "
2586 "program that checks for crackable passwords during the selection process is "
2587 "recommended."
2588 msgstr ""
2589
2590 #. type: Plain text
2591 #: build/C/man3/crypt.3:108
2592 msgid ""
2593 "The DES algorithm itself has a few quirks which make the use of the "
2594 "B<crypt>()  interface a very poor choice for anything other than password "
2595 "authentication.  If you are planning on using the B<crypt>()  interface for "
2596 "a cryptography project, don't do it: get a good book on encryption and one "
2597 "of the widely available DES libraries."
2598 msgstr ""
2599
2600 #. type: Plain text
2601 #: build/C/man3/crypt.3:120
2602 msgid ""
2603 "B<crypt_r>()  is a reentrant version of B<crypt>().  The structure pointed "
2604 "to by I<data> is used to store result data and bookkeeping information.  "
2605 "Other than allocating it, the only thing that the caller should do with this "
2606 "structure is to set I<data-E<gt>initialized> to zero before the first call "
2607 "to B<crypt_r>()."
2608 msgstr ""
2609
2610 #. type: Plain text
2611 #: build/C/man3/crypt.3:123
2612 msgid ""
2613 "On success, a pointer to the encrypted password is returned.  On error, NULL "
2614 "is returned."
2615 msgstr ""
2616
2617 #. type: Plain text
2618 #: build/C/man3/crypt.3:128
2619 msgid "I<salt> has the wrong format."
2620 msgstr ""
2621
2622 #. type: TP
2623 #: build/C/man3/crypt.3:130 build/C/man3/encrypt.3:120 build/C/man3/fexecve.3:86 build/C/man2/fork.2:215
2624 #, no-wrap
2625 msgid "B<ENOSYS>"
2626 msgstr ""
2627
2628 #.  This level of detail is not necessary in this man page. . .
2629 #.  .PP
2630 #.  When encrypting a plain text P using DES with the key K results in the
2631 #.  encrypted text C, then the complementary plain text P' being encrypted
2632 #.  using the complementary key K' will result in the complementary encrypted
2633 #.  text C'.
2634 #.  .PP
2635 #.  Weak keys are keys which stay invariant under the DES key transformation.
2636 #.  The four known weak keys 0101010101010101, fefefefefefefefe,
2637 #.  1f1f1f1f0e0e0e0e and e0e0e0e0f1f1f1f1 must be avoided.
2638 #.  .PP
2639 #.  There are six known half weak key pairs, which keys lead to the same
2640 #.  encrypted data.  Keys which are part of such key clusters should be
2641 #.  avoided.
2642 #.  Sorry, I could not find out what they are.
2643 #. "
2644 #.  .PP
2645 #.  Heavily redundant data causes trouble with DES encryption, when used in the
2646 #.  .I codebook
2647 #.  mode that
2648 #.  .BR crypt ()
2649 #.  implements.  The
2650 #.  .BR crypt ()
2651 #.  interface should be used only for its intended purpose of password
2652 #.  verification, and should not be used as part of a data encryption tool.
2653 #.  .PP
2654 #.  The first and last three output bits of the fourth S-box can be
2655 #.  represented as function of their input bits.  Empiric studies have
2656 #.  shown that S-boxes partially compute the same output for similar input.
2657 #.  It is suspected that this may contain a back door which could allow the
2658 #.  NSA to decrypt DES encrypted data.
2659 #.  .PP
2660 #.  Making encrypted data computed using crypt() publicly available has
2661 #.  to be considered insecure for the given reasons.
2662 #. type: Plain text
2663 #: build/C/man3/crypt.3:169
2664 msgid ""
2665 "The B<crypt>()  function was not implemented, probably because of "
2666 "U.S.A. export restrictions."
2667 msgstr ""
2668
2669 #. type: Plain text
2670 #: build/C/man3/crypt.3:174
2671 msgid ""
2672 "I</proc/sys/crypto/fips_enabled> has a nonzero value, and an attempt was "
2673 "made to use a weak encryption type, such as DES."
2674 msgstr ""
2675
2676 #. type: SH
2677 #: build/C/man3/crypt.3:174 build/C/man3/daemon.3:91 build/C/man3/des_crypt.3:134 build/C/man3/encrypt.3:124 build/C/man3/euidaccess.3:73 build/C/man3/getlogin.3:140 build/C/man3/getusershell.3:93 build/C/man3/swab.3:72 build/C/man3/tcgetpgrp.3:109 build/C/man3/ualarm.3:92 build/C/man3/usleep.3:91
2678 #, no-wrap
2679 msgid "ATTRIBUTES"
2680 msgstr ""
2681
2682 #. type: SS
2683 #: build/C/man3/crypt.3:175 build/C/man3/daemon.3:92 build/C/man3/des_crypt.3:135 build/C/man3/encrypt.3:125 build/C/man3/euidaccess.3:74 build/C/man3/getlogin.3:141 build/C/man3/getusershell.3:94 build/C/man3/swab.3:73 build/C/man3/tcgetpgrp.3:110 build/C/man3/ualarm.3:93 build/C/man3/usleep.3:92
2684 #, no-wrap
2685 msgid "Multithreading (see pthreads(7))"
2686 msgstr ""
2687
2688 #. type: Plain text
2689 #: build/C/man3/crypt.3:179
2690 msgid "The B<crypt>()  function is not thread-safe."
2691 msgstr ""
2692
2693 #. type: Plain text
2694 #: build/C/man3/crypt.3:183
2695 msgid "The B<crypt_r>()  function is thread-safe."
2696 msgstr ""
2697
2698 #. type: Plain text
2699 #: build/C/man3/crypt.3:188
2700 msgid "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
2701 msgstr ""
2702
2703 #. type: SS
2704 #: build/C/man3/crypt.3:189 build/C/man2/gethostname.2:140
2705 #, no-wrap
2706 msgid "Glibc notes"
2707 msgstr ""
2708
2709 #. type: Plain text
2710 #: build/C/man3/crypt.3:192
2711 msgid ""
2712 "The glibc2 version of this function supports additional encryption "
2713 "algorithms."
2714 msgstr ""
2715
2716 #. type: Plain text
2717 #: build/C/man3/crypt.3:197
2718 msgid ""
2719 "If I<salt> is a character string starting with the characters \"$I<id>$\" "
2720 "followed by a string terminated by \"$\":"
2721 msgstr ""
2722
2723 #. type: Plain text
2724 #: build/C/man3/crypt.3:200
2725 msgid "$I<id>$I<salt>$I<encrypted>"
2726 msgstr ""
2727
2728 #. type: Plain text
2729 #: build/C/man3/crypt.3:209
2730 msgid ""
2731 "then instead of using the DES machine, I<id> identifies the encryption "
2732 "method used and this then determines how the rest of the password string is "
2733 "interpreted.  The following values of I<id> are supported:"
2734 msgstr ""
2735
2736 #. type: tbl table
2737 #: build/C/man3/crypt.3:212
2738 #, no-wrap
2739 msgid "ID  | Method\n"
2740 msgstr ""
2741
2742 #. type: tbl table
2743 #: build/C/man3/crypt.3:213 build/C/man2/syscall.2:158 build/C/man2/syscall.2:190
2744 #, no-wrap
2745 msgid "_\n"
2746 msgstr ""
2747
2748 #. type: tbl table
2749 #: build/C/man3/crypt.3:214
2750 #, no-wrap
2751 msgid "1   | MD5\n"
2752 msgstr ""
2753
2754 #. type: tbl table
2755 #: build/C/man3/crypt.3:215
2756 #, no-wrap
2757 msgid "2a  | Blowfish (not in mainline glibc; added in some\n"
2758 msgstr ""
2759
2760 #. type: tbl table
2761 #: build/C/man3/crypt.3:216
2762 #, no-wrap
2763 msgid "    | Linux distributions)\n"
2764 msgstr ""
2765
2766 #.  openSUSE has Blowfish, but AFAICS, this option is not supported
2767 #.  natively by glibc -- mtk, Jul 08
2768 #
2769 #.  md5 | Sun MD5
2770 #.  glibc doesn't appear to natively support Sun MD5; I don't know
2771 #.  if any distros add the support.
2772 #. type: tbl table
2773 #: build/C/man3/crypt.3:223
2774 #, no-wrap
2775 msgid "5   | SHA-256 (since glibc 2.7)\n"
2776 msgstr ""
2777
2778 #. type: tbl table
2779 #: build/C/man3/crypt.3:224
2780 #, no-wrap
2781 msgid "6   | SHA-512 (since glibc 2.7)\n"
2782 msgstr ""
2783
2784 #. type: Plain text
2785 #: build/C/man3/crypt.3:231
2786 msgid ""
2787 "So $5$I<salt>$I<encrypted> is an SHA-256 encoded password and "
2788 "$6$I<salt>$I<encrypted> is an SHA-512 encoded one."
2789 msgstr ""
2790
2791 #. type: Plain text
2792 #: build/C/man3/crypt.3:236
2793 msgid ""
2794 "\"I<salt>\" stands for the up to 16 characters following \"$I<id>$\" in the "
2795 "salt.  The encrypted part of the password string is the actual computed "
2796 "password.  The size of this string is fixed:"
2797 msgstr ""
2798
2799 #. type: tbl table
2800 #: build/C/man3/crypt.3:238
2801 #, no-wrap
2802 msgid "MD5     | 22 characters\n"
2803 msgstr ""
2804
2805 #. type: tbl table
2806 #: build/C/man3/crypt.3:239
2807 #, no-wrap
2808 msgid "SHA-256 | 43 characters\n"
2809 msgstr ""
2810
2811 #. type: tbl table
2812 #: build/C/man3/crypt.3:240
2813 #, no-wrap
2814 msgid "SHA-512 | 86 characters\n"
2815 msgstr ""
2816
2817 #. type: Plain text
2818 #: build/C/man3/crypt.3:249
2819 msgid ""
2820 "The characters in \"I<salt>\" and \"I<encrypted>\" are drawn from the set "
2821 "[B<a-zA-Z0-9./>].  In the MD5 and SHA implementations the entire I<key> is "
2822 "significant (instead of only the first 8 bytes in DES)."
2823 msgstr ""
2824
2825 #. type: Plain text
2826 #: build/C/man3/crypt.3:255
2827 msgid "B<login>(1), B<passwd>(1), B<encrypt>(3), B<getpass>(3), B<passwd>(5)"
2828 msgstr ""
2829
2830 #. type: TH
2831 #: build/C/man3/daemon.3:36
2832 #, no-wrap
2833 msgid "DAEMON"
2834 msgstr ""
2835
2836 #. type: TH
2837 #: build/C/man3/daemon.3:36
2838 #, no-wrap
2839 msgid "2013-10-28"
2840 msgstr ""
2841
2842 #. type: Plain text
2843 #: build/C/man3/daemon.3:39
2844 msgid "daemon - run in the background"
2845 msgstr ""
2846
2847 #. type: Plain text
2848 #: build/C/man3/daemon.3:43
2849 msgid "B<int daemon(int >I<nochdir>B<, int >I<noclose>B<);>"
2850 msgstr ""
2851
2852 #. type: Plain text
2853 #: build/C/man3/daemon.3:51
2854 msgid "B<daemon>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2855 msgstr ""
2856
2857 #. type: Plain text
2858 #: build/C/man3/daemon.3:56
2859 msgid ""
2860 "The B<daemon>()  function is for programs wishing to detach themselves from "
2861 "the controlling terminal and run in the background as system daemons."
2862 msgstr ""
2863
2864 #. type: Plain text
2865 #: build/C/man3/daemon.3:64
2866 msgid ""
2867 "If I<nochdir> is zero, B<daemon>()  changes the calling process's current "
2868 "working directory to the root directory (\"/\"); otherwise, the current "
2869 "working directory is left unchanged."
2870 msgstr ""
2871
2872 #. type: Plain text
2873 #: build/C/man3/daemon.3:73
2874 msgid ""
2875 "If I<noclose> is zero, B<daemon>()  redirects standard input, standard "
2876 "output and standard error to I</dev/null>; otherwise, no changes are made to "
2877 "these file descriptors."
2878 msgstr ""
2879
2880 #.  not .IR in order not to underline _
2881 #. type: Plain text
2882 #: build/C/man3/daemon.3:91
2883 msgid ""
2884 "(This function forks, and if the B<fork>(2)  succeeds, the parent calls "
2885 "B<_exit>(2), so that further errors are seen by the child only.)  On success "
2886 "B<daemon>()  returns zero.  If an error occurs, B<daemon>()  returns -1 and "
2887 "sets I<errno> to any of the errors specified for the B<fork>(2)  and "
2888 "B<setsid>(2)."
2889 msgstr ""
2890
2891 #. type: Plain text
2892 #: build/C/man3/daemon.3:96
2893 msgid "The B<daemon>()  function is thread-safe."
2894 msgstr ""
2895
2896 #. type: Plain text
2897 #: build/C/man3/daemon.3:102
2898 msgid ""
2899 "Not in POSIX.1-2001.  A similar function appears on the BSDs.  The "
2900 "B<daemon>()  function first appeared in 4.4BSD."
2901 msgstr ""
2902
2903 #. type: Plain text
2904 #: build/C/man3/daemon.3:110
2905 msgid ""
2906 "The glibc implementation can also return -1 when I</dev/null> exists but is "
2907 "not a character device with the expected major and minor numbers.  In this "
2908 "case, I<errno> need not be set."
2909 msgstr ""
2910
2911 #. type: Plain text
2912 #: build/C/man3/daemon.3:113
2913 msgid "B<fork>(2), B<setsid>(2)"
2914 msgstr ""
2915
2916 #. type: TH
2917 #: build/C/man3/des_crypt.3:14
2918 #, no-wrap
2919 msgid "DES_CRYPT"
2920 msgstr ""
2921
2922 #. type: TH
2923 #: build/C/man3/des_crypt.3:14
2924 #, no-wrap
2925 msgid "2013-09-18"
2926 msgstr ""
2927
2928 #. type: Plain text
2929 #: build/C/man3/des_crypt.3:18
2930 msgid ""
2931 "des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast DES "
2932 "encryption"
2933 msgstr ""
2934
2935 #.  Sun version
2936 #.  .B #include <des_crypt.h>
2937 #. type: Plain text
2938 #: build/C/man3/des_crypt.3:23
2939 #, no-wrap
2940 msgid "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
2941 msgstr ""
2942
2943 #. type: Plain text
2944 #: build/C/man3/des_crypt.3:26
2945 #, no-wrap
2946 msgid ""
2947 "B<int ecb_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2948 ">I<datalen>B<,>\n"
2949 "B<              unsigned >I<mode>B<);>\n"
2950 msgstr ""
2951
2952 #. type: Plain text
2953 #: build/C/man3/des_crypt.3:29
2954 #, no-wrap
2955 msgid ""
2956 "B<int cbc_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2957 ">I<datalen>B<,>\n"
2958 "B<              unsigned >I<mode>B<, char *>I<ivec>B<);>\n"
2959 msgstr ""
2960
2961 #. type: Plain text
2962 #: build/C/man3/des_crypt.3:31
2963 #, no-wrap
2964 msgid "B<void des_setparity(char *>I<key>B<);>\n"
2965 msgstr ""
2966
2967 #. type: Plain text
2968 #: build/C/man3/des_crypt.3:33
2969 #, no-wrap
2970 msgid "B<int DES_FAILED(int >I<status>B<);>\n"
2971 msgstr ""
2972
2973 #. type: Plain text
2974 #: build/C/man3/des_crypt.3:63
2975 msgid ""
2976 "B<ecb_crypt>()  and B<cbc_crypt>()  implement the NBS DES (Data Encryption "
2977 "Standard).  These routines are faster and more general purpose than "
2978 "B<crypt>(3).  They also are able to utilize DES hardware if it is "
2979 "available.  B<ecb_crypt>()  encrypts in ECB (Electronic Code Book)  mode, "
2980 "which encrypts blocks of data independently.  B<cbc_crypt>()  encrypts in "
2981 "CBC (Cipher Block Chaining)  mode, which chains together successive blocks.  "
2982 "CBC mode protects against insertions, deletions and substitutions of "
2983 "blocks.  Also, regularities in the clear text will not appear in the cipher "
2984 "text."
2985 msgstr ""
2986
2987 #. type: Plain text
2988 #: build/C/man3/des_crypt.3:106
2989 msgid ""
2990 "Here is how to use these routines.  The first argument, I<key>, is the "
2991 "8-byte encryption key with parity.  To set the key's parity, which for DES "
2992 "is in the low bit of each byte, use B<des_setparity>().  The second "
2993 "argument, I<data>, contains the data to be encrypted or decrypted.  The "
2994 "third argument, I<datalen>, is the length in bytes of I<data>, which must be "
2995 "a multiple of 8.  The fourth argument, I<mode>, is formed by ORing together "
2996 "some things.  For the encryption direction OR in either B<DES_ENCRYPT> or "
2997 "B<DES_DECRYPT>.  For software versus hardware encryption, OR in either "
2998 "B<DES_HW> or B<DES_SW>.  If B<DES_HW> is specified, and there is no "
2999 "hardware, then the encryption is performed in software and the routine "
3000 "returns B<DESERR_NOHWDEVICE>.  For B<cbc_crypt>(), the argument I<ivec> is "
3001 "the 8-byte initialization vector for the chaining.  It is updated to the "
3002 "next initialization vector upon return."
3003 msgstr ""
3004
3005 #. type: TP
3006 #: build/C/man3/des_crypt.3:108
3007 #, no-wrap
3008 msgid "B<DESERR_NONE>"
3009 msgstr ""
3010
3011 #. type: Plain text
3012 #: build/C/man3/des_crypt.3:111
3013 msgid "No error."
3014 msgstr ""
3015
3016 #. type: TP
3017 #: build/C/man3/des_crypt.3:111
3018 #, no-wrap
3019 msgid "B<DESERR_NOHWDEVICE>"
3020 msgstr ""
3021
3022 #. type: Plain text
3023 #: build/C/man3/des_crypt.3:114
3024 msgid ""
3025 "Encryption succeeded, but done in software instead of the requested "
3026 "hardware."
3027 msgstr ""
3028
3029 #. type: TP
3030 #: build/C/man3/des_crypt.3:114
3031 #, no-wrap
3032 msgid "B<DESERR_HWERROR>"
3033 msgstr ""
3034
3035 #. type: Plain text
3036 #: build/C/man3/des_crypt.3:117
3037 msgid "An error occurred in the hardware or driver."
3038 msgstr ""
3039
3040 #. type: TP
3041 #: build/C/man3/des_crypt.3:117
3042 #, no-wrap
3043 msgid "B<DESERR_BADPARAM>"
3044 msgstr ""
3045
3046 #. type: Plain text
3047 #: build/C/man3/des_crypt.3:120
3048 msgid "Bad argument to routine."
3049 msgstr ""
3050
3051 #.  .BR DES_FAILED\c
3052 #.  .BR ( stat )
3053 #.  So far the Sun page
3054 #.  Some additions - aeb
3055 #. type: Plain text
3056 #: build/C/man3/des_crypt.3:131
3057 msgid ""
3058 "Given a result status I<stat>, the macro B<DES_FAILED(>I<stat>B<)> is false "
3059 "only for the first two statuses."
3060 msgstr ""
3061
3062 #. type: Plain text
3063 #: build/C/man3/des_crypt.3:134
3064 msgid ""
3065 "These routines are present in libc 4.6.27 and later, and in glibc 2.1 and "
3066 "later."
3067 msgstr ""
3068
3069 #. type: Plain text
3070 #: build/C/man3/des_crypt.3:142
3071 msgid ""
3072 "The B<ecb_crypt>(), B<cbc_crypt>(), and B<des_setparity>()  functions are "
3073 "thread-safe."
3074 msgstr ""
3075
3076 #. type: Plain text
3077 #: build/C/man3/des_crypt.3:145
3078 msgid "4.3BSD.  Not in POSIX.1-2001."
3079 msgstr ""
3080
3081 #. type: Plain text
3082 #: build/C/man3/des_crypt.3:149
3083 msgid "B<des>(1), B<crypt>(3), B<xcrypt>(3)"
3084 msgstr ""
3085
3086 #. type: TH
3087 #: build/C/man2/dup.2:36
3088 #, no-wrap
3089 msgid "DUP"
3090 msgstr ""
3091
3092 #. type: TH
3093 #: build/C/man2/dup.2:36
3094 #, no-wrap
3095 msgid "2012-02-14"
3096 msgstr ""
3097
3098 #. type: Plain text
3099 #: build/C/man2/dup.2:39
3100 msgid "dup, dup2, dup3 - duplicate a file descriptor"
3101 msgstr ""
3102
3103 #. type: Plain text
3104 #: build/C/man2/dup.2:45
3105 #, no-wrap
3106 msgid ""
3107 "B<int dup(int >I<oldfd>B<);>\n"
3108 "B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
3109 msgstr ""
3110
3111 #. type: Plain text
3112 #: build/C/man2/dup.2:49
3113 #, no-wrap
3114 msgid ""
3115 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3116 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant "
3117 "definitions */\n"
3118 "B<#include E<lt>unistd.hE<gt>>\n"
3119 msgstr ""
3120
3121 #. type: Plain text
3122 #: build/C/man2/dup.2:51
3123 #, no-wrap
3124 msgid "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
3125 msgstr ""
3126
3127 #. type: Plain text
3128 #: build/C/man2/dup.2:55
3129 msgid "These system calls create a copy of the file descriptor I<oldfd>."
3130 msgstr ""
3131
3132 #. type: Plain text
3133 #: build/C/man2/dup.2:58
3134 msgid "B<dup>()  uses the lowest-numbered unused descriptor for the new descriptor."
3135 msgstr ""
3136
3137 #. type: Plain text
3138 #: build/C/man2/dup.2:62
3139 msgid ""
3140 "B<dup2>()  makes I<newfd> be the copy of I<oldfd>, closing I<newfd> first if "
3141 "necessary, but note the following:"
3142 msgstr ""
3143
3144 #. type: Plain text
3145 #: build/C/man2/dup.2:68
3146 msgid ""
3147 "If I<oldfd> is not a valid file descriptor, then the call fails, and "
3148 "I<newfd> is not closed."
3149 msgstr ""
3150
3151 #. type: Plain text
3152 #: build/C/man2/dup.2:79
3153 msgid ""
3154 "If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as "
3155 "I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>."
3156 msgstr ""
3157
3158 #. type: Plain text
3159 #: build/C/man2/dup.2:88
3160 msgid ""
3161 "After a successful return from one of these system calls, the old and new "
3162 "file descriptors may be used interchangeably.  They refer to the same open "
3163 "file description (see B<open>(2))  and thus share file offset and file "
3164 "status flags; for example, if the file offset is modified by using "
3165 "B<lseek>(2)  on one of the descriptors, the offset is also changed for the "
3166 "other."
3167 msgstr ""
3168
3169 #. type: Plain text
3170 #: build/C/man2/dup.2:96
3171 msgid ""
3172 "The two descriptors do not share file descriptor flags (the close-on-exec "
3173 "flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for the "
3174 "duplicate descriptor is off."
3175 msgstr ""
3176
3177 #. type: Plain text
3178 #: build/C/man2/dup.2:101
3179 msgid "B<dup3>()  is the same as B<dup2>(), except that:"
3180 msgstr ""
3181
3182 #. type: Plain text
3183 #: build/C/man2/dup.2:110
3184 msgid ""
3185 "The caller can force the close-on-exec flag to be set for the new file "
3186 "descriptor by specifying B<O_CLOEXEC> in I<flags>.  See the description of "
3187 "the same flag in B<open>(2)  for reasons why this may be useful."
3188 msgstr ""
3189
3190 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
3191 #. type: Plain text
3192 #: build/C/man2/dup.2:120
3193 msgid "If I<oldfd> equals I<newfd>, then B<dup3>()  fails with the error B<EINVAL>."
3194 msgstr ""
3195
3196 #. type: Plain text
3197 #: build/C/man2/dup.2:126
3198 msgid ""
3199 "On success, these system calls return the new descriptor.  On error, -1 is "
3200 "returned, and I<errno> is set appropriately."
3201 msgstr ""
3202
3203 #. type: Plain text
3204 #: build/C/man2/dup.2:133
3205 msgid ""
3206 "I<oldfd> isn't an open file descriptor, or I<newfd> is out of the allowed "
3207 "range for file descriptors."
3208 msgstr ""
3209
3210 #. type: TP
3211 #: build/C/man2/dup.2:133 build/C/man2/swapon.2:112
3212 #, no-wrap
3213 msgid "B<EBUSY>"
3214 msgstr ""
3215
3216 #. type: Plain text
3217 #: build/C/man2/dup.2:143
3218 msgid ""
3219 "(Linux only) This may be returned by B<dup2>()  or B<dup3>()  during a race "
3220 "condition with B<open>(2)  and B<dup>()."
3221 msgstr ""
3222
3223 #. type: Plain text
3224 #: build/C/man2/dup.2:151
3225 msgid ""
3226 "The B<dup2>()  or B<dup3>()  call was interrupted by a signal; see "
3227 "B<signal>(7)."
3228 msgstr ""
3229
3230 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
3231 #. type: Plain text
3232 #: build/C/man2/dup.2:161
3233 msgid ""
3234 "(B<dup3>())  I<flags> contain an invalid value.  Or, I<oldfd> was equal to "
3235 "I<newfd>."
3236 msgstr ""
3237
3238 #. type: TP
3239 #: build/C/man2/dup.2:161 build/C/man2/execve.2:414 build/C/man2/fcntl.2:1163 build/C/man3/getlogin.3:105
3240 #, no-wrap
3241 msgid "B<EMFILE>"
3242 msgstr ""
3243
3244 #. type: Plain text
3245 #: build/C/man2/dup.2:165
3246 msgid ""
3247 "The process already has the maximum number of file descriptors open and "
3248 "tried to open a new one."
3249 msgstr ""
3250
3251 #. type: Plain text
3252 #: build/C/man2/dup.2:170
3253 msgid ""
3254 "B<dup3>()  was added to Linux in version 2.6.27; glibc support is available "
3255 "starting with version 2.9."
3256 msgstr ""
3257
3258 #. type: Plain text
3259 #: build/C/man2/dup.2:174
3260 msgid "B<dup>(), B<dup2>(): SVr4, 4.3BSD, POSIX.1-2001."
3261 msgstr ""
3262
3263 #.  SVr4 documents additional
3264 #.  EINTR and ENOLINK error conditions.  POSIX.1 adds EINTR.
3265 #.  The EBUSY return is Linux-specific.
3266 #. type: Plain text
3267 #: build/C/man2/dup.2:180
3268 msgid "B<dup3>()  is Linux-specific."
3269 msgstr ""
3270
3271 #. type: Plain text
3272 #: build/C/man2/dup.2:194
3273 msgid ""
3274 "The error returned by B<dup2>()  is different from that returned by "
3275 "B<fcntl(>..., B<F_DUPFD>, ...B<)> when I<newfd> is out of range.  On some "
3276 "systems, B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>."
3277 msgstr ""
3278
3279 #. type: Plain text
3280 #: build/C/man2/dup.2:207
3281 msgid ""
3282 "If I<newfd> was open, any errors that would have been reported at "
3283 "B<close>(2)  time are lost.  A careful programmer will not use B<dup2>()  or "
3284 "B<dup3>()  without closing I<newfd> first."
3285 msgstr ""
3286
3287 #. type: Plain text
3288 #: build/C/man2/dup.2:211
3289 msgid "B<close>(2), B<fcntl>(2), B<open>(2)"
3290 msgstr ""
3291
3292 #. type: TH
3293 #: build/C/man3/encrypt.3:30
3294 #, no-wrap
3295 msgid "ENCRYPT"
3296 msgstr ""
3297
3298 #. type: TH
3299 #: build/C/man3/encrypt.3:30
3300 #, no-wrap
3301 msgid "2013-07-22"
3302 msgstr ""
3303
3304 #. type: Plain text
3305 #: build/C/man3/encrypt.3:33
3306 msgid "encrypt, setkey, encrypt_r, setkey_r - encrypt 64-bit messages"
3307 msgstr ""
3308
3309 #. type: Plain text
3310 #: build/C/man3/encrypt.3:35 build/C/man3/encrypt.3:41
3311 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
3312 msgstr ""
3313
3314 #. type: Plain text
3315 #: build/C/man3/encrypt.3:39
3316 msgid "B<void encrypt(char >I<block>B<[64], int >I<edflag>B<);>"
3317 msgstr ""
3318
3319 #. type: Plain text
3320 #: build/C/man3/encrypt.3:43
3321 msgid "B<#include E<lt>stdlib.hE<gt>>"
3322 msgstr ""
3323
3324 #. type: Plain text
3325 #: build/C/man3/encrypt.3:45
3326 msgid "B<void setkey(const char *>I<key>B<);>"
3327 msgstr ""
3328
3329 #. type: Plain text
3330 #: build/C/man3/encrypt.3:47 build/C/man3/getumask.3:33
3331 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
3332 msgstr ""
3333
3334 #. type: Plain text
3335 #: build/C/man3/encrypt.3:49
3336 msgid "B<#include E<lt>crypt.hE<gt>>"
3337 msgstr ""
3338
3339 #. type: Plain text
3340 #: build/C/man3/encrypt.3:51
3341 msgid "B<void setkey_r(const char *>I<key>B<, struct crypt_data *>I<data>B<);>"
3342 msgstr ""
3343
3344 #. type: Plain text
3345 #: build/C/man3/encrypt.3:54
3346 msgid ""
3347 "B<void encrypt_r(char *>I<block>B<, int >I<edflag>B<, struct crypt_data "
3348 "*>I<data>B<);>"
3349 msgstr ""
3350
3351 #. type: Plain text
3352 #: build/C/man3/encrypt.3:56
3353 msgid "Each of these requires linking with I<-lcrypt>."
3354 msgstr ""
3355
3356 #. type: Plain text
3357 #: build/C/man3/encrypt.3:68
3358 msgid ""
3359 "These functions encrypt and decrypt 64-bit messages.  The B<setkey>()  "
3360 "function sets the key used by B<encrypt>().  The I<key> argument used here "
3361 "is an array of 64 bytes, each of which has numerical value 1 or 0.  The "
3362 "bytes key[n] where n=8*i-1 are ignored, so that the effective key length is "
3363 "56 bits."
3364 msgstr ""
3365
3366 #. type: Plain text
3367 #: build/C/man3/encrypt.3:80
3368 msgid ""
3369 "The B<encrypt>()  function modifies the passed buffer, encoding if I<edflag> "
3370 "is 0, and decoding if 1 is being passed.  Like the I<key> argument, also "
3371 "I<block> is a bit vector representation of the actual value that is "
3372 "encoded.  The result is returned in that same vector."
3373 msgstr ""
3374
3375 #. type: Plain text
3376 #: build/C/man3/encrypt.3:90
3377 msgid ""
3378 "These two functions are not reentrant, that is, the key data is kept in "
3379 "static storage.  The functions B<setkey_r>()  and B<encrypt_r>()  are the "
3380 "reentrant versions.  They use the following structure to hold the key data:"
3381 msgstr ""
3382
3383 #. type: Plain text
3384 #: build/C/man3/encrypt.3:105
3385 #, no-wrap
3386 msgid ""
3387 "struct crypt_data {\n"
3388 "    char     keysched[16 * 8];\n"
3389 "    char     sb0[32768];\n"
3390 "    char     sb1[32768];\n"
3391 "    char     sb2[32768];\n"
3392 "    char     sb3[32768];\n"
3393 "    char     crypt_3_buf[14];\n"
3394 "    char     current_salt[2];\n"
3395 "    long int current_saltbits;\n"
3396 "    int      direction;\n"
3397 "    int      initialized;\n"
3398 "};\n"
3399 msgstr ""
3400
3401 #. type: Plain text
3402 #: build/C/man3/encrypt.3:113
3403 msgid "Before calling B<setkey_r>()  set I<data-E<gt>initialized> to zero."
3404 msgstr ""
3405
3406 #. type: Plain text
3407 #: build/C/man3/encrypt.3:115
3408 msgid "These functions do not return any value."
3409 msgstr ""
3410
3411 #. type: Plain text
3412 #: build/C/man3/encrypt.3:120
3413 msgid ""
3414 "Set I<errno> to zero before calling the above functions.  On success, it is "
3415 "unchanged."
3416 msgstr ""
3417
3418 #. type: Plain text
3419 #: build/C/man3/encrypt.3:124
3420 msgid ""
3421 "The function is not provided.  (For example because of former USA export "
3422 "restrictions.)"
3423 msgstr ""
3424
3425 #. type: Plain text
3426 #: build/C/man3/encrypt.3:131
3427 msgid "The B<encrypt>()  and B<setkey>()  functions are not thread-safe."
3428 msgstr ""
3429
3430 #. type: Plain text
3431 #: build/C/man3/encrypt.3:137
3432 msgid "The B<encrypt_r>()  and B<setkey_r>()  functions are thread-safe."
3433 msgstr ""
3434
3435 #. type: Plain text
3436 #: build/C/man3/encrypt.3:148
3437 msgid ""
3438 "The functions B<encrypt>()  and B<setkey>()  conform to SVr4, SUSv2, and "
3439 "POSIX.1-2001.  The functions B<encrypt_r>()  and B<setkey_r>()  are GNU "
3440 "extensions."
3441 msgstr ""
3442
3443 #. type: Plain text
3444 #: build/C/man3/encrypt.3:150
3445 msgid "In glibc 2.2 these functions use the DES algorithm."
3446 msgstr ""
3447
3448 #. type: Plain text
3449 #: build/C/man3/encrypt.3:157
3450 msgid ""
3451 "You need to link with libcrypt to compile this example with glibc.  To do "
3452 "useful work the I<key[]> and I<txt[]> arrays must be filled with a useful "
3453 "bit pattern."
3454 msgstr ""
3455
3456 #. type: Plain text
3457 #: build/C/man3/encrypt.3:162
3458 #, no-wrap
3459 msgid ""
3460 "#define _XOPEN_SOURCE\n"
3461 "#include E<lt>unistd.hE<gt>\n"
3462 "#include E<lt>stdlib.hE<gt>\n"
3463 msgstr ""
3464
3465 #. type: Plain text
3466 #: build/C/man3/encrypt.3:168
3467 #, no-wrap
3468 msgid ""
3469 "int\n"
3470 "main(void)\n"
3471 "{\n"
3472 "    char key[64];      /* bit pattern for key */\n"
3473 "    char txt[64];      /* bit pattern for messages */\n"
3474 msgstr ""
3475
3476 #. type: Plain text
3477 #: build/C/man3/encrypt.3:173
3478 #, no-wrap
3479 msgid ""
3480 "    setkey(key);\n"
3481 "    encrypt(txt, 0);   /* encode */\n"
3482 "    encrypt(txt, 1);   /* decode */\n"
3483 "}\n"
3484 msgstr ""
3485
3486 #.  .BR fcrypt (3)
3487 #. type: Plain text
3488 #: build/C/man3/encrypt.3:179
3489 msgid "B<cbc_crypt>(3), B<crypt>(3), B<ecb_crypt>(3),"
3490 msgstr ""
3491
3492 #. type: TH
3493 #: build/C/man7/environ.7:34
3494 #, no-wrap
3495 msgid "ENVIRON"
3496 msgstr ""
3497
3498 #. type: TH
3499 #: build/C/man7/environ.7:34
3500 #, no-wrap
3501 msgid "2014-01-18"
3502 msgstr ""
3503
3504 #. type: Plain text
3505 #: build/C/man7/environ.7:37
3506 msgid "environ - user environment"
3507 msgstr ""
3508
3509 #. type: Plain text
3510 #: build/C/man7/environ.7:40
3511 #, no-wrap
3512 msgid "B<extern char **>I<environ>B<;>\n"
3513 msgstr ""
3514
3515 #. type: Plain text
3516 #: build/C/man7/environ.7:57
3517 msgid ""
3518 "The variable I<environ> points to an array of pointers to strings called the "
3519 "\"environment\".  The last pointer in this array has the value NULL.  (This "
3520 "variable must be declared in the user program, but is declared in the header "
3521 "file I<E<lt>unistd.hE<gt>> in case the header files came from libc4 or "
3522 "libc5, and in case they came from glibc and B<_GNU_SOURCE> was defined.)  "
3523 "This array of strings is made available to the process by the B<exec>(3)  "
3524 "call that started the process."
3525 msgstr ""
3526
3527 #. type: Plain text
3528 #: build/C/man7/environ.7:62
3529 msgid ""
3530 "By convention the strings in I<environ> have the form "
3531 "\"I<name>B<=>I<value>\".  Common examples are:"
3532 msgstr ""
3533
3534 #. type: TP
3535 #: build/C/man7/environ.7:62
3536 #, no-wrap
3537 msgid "B<USER>"
3538 msgstr ""
3539
3540 #. type: Plain text
3541 #: build/C/man7/environ.7:65
3542 msgid "The name of the logged-in user (used by some BSD-derived programs)."
3543 msgstr ""
3544
3545 #. type: TP
3546 #: build/C/man7/environ.7:65
3547 #, no-wrap
3548 msgid "B<LOGNAME>"
3549 msgstr ""
3550
3551 #. type: Plain text
3552 #: build/C/man7/environ.7:68
3553 msgid "The name of the logged-in user (used by some System-V derived programs)."
3554 msgstr ""
3555
3556 #. type: TP
3557 #: build/C/man7/environ.7:68
3558 #, no-wrap
3559 msgid "B<HOME>"
3560 msgstr ""
3561
3562 #. type: Plain text
3563 #: build/C/man7/environ.7:74
3564 msgid ""
3565 "A user's login directory, set by B<login>(1)  from the password file "
3566 "B<passwd>(5)."
3567 msgstr ""
3568
3569 #. type: TP
3570 #: build/C/man7/environ.7:74
3571 #, no-wrap
3572 msgid "B<LANG>"
3573 msgstr ""
3574
3575 #. type: Plain text
3576 #: build/C/man7/environ.7:92
3577 msgid ""
3578 "The name of a locale to use for locale categories when not overridden by "
3579 "B<LC_ALL> or more specific environment variables such as B<LC_COLLATE>, "
3580 "B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, and B<LC_TIME> "
3581 "(see B<locale>(7)  for further details of the B<LC_*> environment "
3582 "variables)."
3583 msgstr ""
3584
3585 #. type: TP
3586 #: build/C/man7/environ.7:92
3587 #, no-wrap
3588 msgid "B<PATH>"
3589 msgstr ""
3590
3591 #. type: Plain text
3592 #: build/C/man7/environ.7:107
3593 msgid ""
3594 "The sequence of directory prefixes that B<sh>(1)  and many other programs "
3595 "apply in searching for a file known by an incomplete pathname.  The prefixes "
3596 "are separated by \\(aqB<:>\\(aq.  (Similarly one has B<CDPATH> used by some "
3597 "shells to find the target of a change directory command, B<MANPATH> used by "
3598 "B<man>(1)  to find manual pages, and so on)"
3599 msgstr ""
3600
3601 #. type: TP
3602 #: build/C/man7/environ.7:107
3603 #, no-wrap
3604 msgid "B<PWD>"
3605 msgstr ""
3606
3607 #. type: Plain text
3608 #: build/C/man7/environ.7:111
3609 msgid "The current working directory.  Set by some shells."
3610 msgstr ""
3611
3612 #. type: TP
3613 #: build/C/man7/environ.7:111
3614 #, no-wrap
3615 msgid "B<SHELL>"
3616 msgstr ""
3617
3618 #. type: Plain text
3619 #: build/C/man7/environ.7:114
3620 msgid "The pathname of the user's login shell."
3621 msgstr ""
3622
3623 #. type: TP
3624 #: build/C/man7/environ.7:114
3625 #, no-wrap
3626 msgid "B<TERM>"
3627 msgstr ""
3628
3629 #. type: Plain text
3630 #: build/C/man7/environ.7:117
3631 msgid "The terminal type for which output is to be prepared."
3632 msgstr ""
3633
3634 #. type: TP
3635 #: build/C/man7/environ.7:117
3636 #, no-wrap
3637 msgid "B<PAGER>"
3638 msgstr ""
3639
3640 #. type: Plain text
3641 #: build/C/man7/environ.7:120
3642 msgid "The user's preferred utility to display text files."
3643 msgstr ""
3644
3645 #. type: TP
3646 #: build/C/man7/environ.7:120
3647 #, no-wrap
3648 msgid "B<EDITOR>/B<VISUAL>"
3649 msgstr ""
3650
3651 #.  .TP
3652 #.  .B BROWSER
3653 #.  The user's preferred utility to browse URLs. Sequence of colon-separated
3654 #.  browser commands. See http://www.catb.org/~esr/BROWSER/ .
3655 #. type: Plain text
3656 #: build/C/man7/environ.7:127
3657 msgid "The user's preferred utility to edit text files."
3658 msgstr ""
3659
3660 #. type: Plain text
3661 #: build/C/man7/environ.7:145
3662 msgid ""
3663 "Further names may be placed in the environment by the I<export> command and "
3664 "\"name=value\" in B<sh>(1), or by the I<setenv> command if you use "
3665 "B<csh>(1).  Arguments may also be placed in the environment at the point of "
3666 "an B<exec>(3).  A C program can manipulate its environment using the "
3667 "functions B<getenv>(3), B<putenv>(3), B<setenv>(3), and B<unsetenv>(3)."
3668 msgstr ""
3669
3670 #. type: Plain text
3671 #: build/C/man7/environ.7:149
3672 msgid ""
3673 "Note that the behavior of many programs and library routines is influenced "
3674 "by the presence or value of certain environment variables.  A random "
3675 "collection:"
3676 msgstr ""
3677
3678 #. type: Plain text
3679 #: build/C/man7/environ.7:158
3680 msgid ""
3681 "The variables B<LANG>, B<LANGUAGE>, B<NLSPATH>, B<LOCPATH>, B<LC_ALL>, "
3682 "B<LC_MESSAGES>, and so on influence locale handling; see B<catopen>(3), "
3683 "B<gettext>(3), and B<locale>(7)."
3684 msgstr ""
3685
3686 #. type: Plain text
3687 #: build/C/man7/environ.7:165
3688 msgid ""
3689 "B<TMPDIR> influences the path prefix of names created by B<tmpnam>(3)  and "
3690 "other routines, and the temporary directory used by B<sort>(1)  and other "
3691 "programs."
3692 msgstr ""
3693
3694 #. type: Plain text
3695 #: build/C/man7/environ.7:169
3696 msgid ""
3697 "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> and other LD_* variables influence the "
3698 "behavior of the dynamic loader/linker."
3699 msgstr ""
3700
3701 #. type: Plain text
3702 #: build/C/man7/environ.7:173
3703 msgid ""
3704 "B<POSIXLY_CORRECT> makes certain programs and library routines follow the "
3705 "prescriptions of POSIX."
3706 msgstr ""
3707
3708 #. type: Plain text
3709 #: build/C/man7/environ.7:179
3710 msgid "The behavior of B<malloc>(3)  is influenced by B<MALLOC_*> variables."
3711 msgstr ""
3712
3713 #. type: Plain text
3714 #: build/C/man7/environ.7:185
3715 msgid ""
3716 "The variable B<HOSTALIASES> gives the name of a file containing aliases to "
3717 "be used with B<gethostbyname>(3)."
3718 msgstr ""
3719
3720 #. type: Plain text
3721 #: build/C/man7/environ.7:196
3722 msgid ""
3723 "B<TZ> and B<TZDIR> give timezone information used by B<tzset>(3)  and "
3724 "through that by functions like B<ctime>(3), B<localtime>(3), B<mktime>(3), "
3725 "B<strftime>(3).  See also B<tzselect>(8)."
3726 msgstr ""
3727
3728 #. type: Plain text
3729 #: build/C/man7/environ.7:200
3730 msgid ""
3731 "B<TERMCAP> gives information on how to address a given terminal (or gives "
3732 "the name of a file containing such information)."
3733 msgstr ""
3734
3735 #. type: Plain text
3736 #: build/C/man7/environ.7:203
3737 msgid ""
3738 "B<COLUMNS> and B<LINES> tell applications about the window size, possibly "
3739 "overriding the actual size."
3740 msgstr ""
3741
3742 #. type: Plain text
3743 #: build/C/man7/environ.7:208
3744 msgid ""
3745 "B<PRINTER> or B<LPDEST> may specify the desired printer to use.  See "
3746 "B<lpr>(1)."
3747 msgstr ""
3748
3749 #. type: Plain text
3750 #: build/C/man7/environ.7:210
3751 msgid "Etc."
3752 msgstr ""
3753
3754 #. type: Plain text
3755 #: build/C/man7/environ.7:215
3756 msgid ""
3757 "Clearly there is a security risk here.  Many a system command has been "
3758 "tricked into mischief by a user who specified unusual values for B<IFS> or "
3759 "B<LD_LIBRARY_PATH>."
3760 msgstr ""
3761
3762 #. type: Plain text
3763 #: build/C/man7/environ.7:248
3764 msgid ""
3765 "There is also the risk of name space pollution.  Programs like I<make> and "
3766 "I<autoconf> allow overriding of default utility names from the environment "
3767 "with similarly named variables in all caps.  Thus one uses B<CC> to select "
3768 "the desired C compiler (and similarly B<MAKE>, B<AR>, B<AS>, B<FC>, B<LD>, "
3769 "B<LEX>, B<RM>, B<YACC>, etc.).  However, in some traditional uses such an "
3770 "environment variable gives options for the program instead of a pathname.  "
3771 "Thus, one has B<MORE>, B<LESS>, and B<GZIP>.  Such usage is considered "
3772 "mistaken, and to be avoided in new programs.  The authors of I<gzip> should "
3773 "consider renaming their option to B<GZIP_OPT>."
3774 msgstr ""
3775
3776 #. type: Plain text
3777 #: build/C/man7/environ.7:262
3778 msgid ""
3779 "B<bash>(1), B<csh>(1), B<login>(1), B<sh>(1), B<tcsh>(1), B<execve>(2), "
3780 "B<clearenv>(3), B<exec>(3), B<getenv>(3), B<putenv>(3), B<setenv>(3), "
3781 "B<unsetenv>(3), B<locale>(7)"
3782 msgstr ""
3783
3784 #. type: TH
3785 #: build/C/man3/euidaccess.3:25
3786 #, no-wrap
3787 msgid "EUIDACCESS"
3788 msgstr ""
3789
3790 #. type: TH
3791 #: build/C/man3/euidaccess.3:25
3792 #, no-wrap
3793 msgid "2013-09-25"
3794 msgstr ""
3795
3796 #. type: Plain text
3797 #: build/C/man3/euidaccess.3:28
3798 msgid "euidaccess, eaccess - check effective user's permissions for a file"
3799 msgstr ""
3800
3801 #. type: Plain text
3802 #: build/C/man3/euidaccess.3:32
3803 #, no-wrap
3804 msgid ""
3805 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3806 "B<#include E<lt>unistd.hE<gt>>\n"
3807 msgstr ""
3808
3809 #. type: Plain text
3810 #: build/C/man3/euidaccess.3:35
3811 #, no-wrap
3812 msgid ""
3813 "B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3814 "B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3815 msgstr ""
3816
3817 #. type: Plain text
3818 #: build/C/man3/euidaccess.3:47
3819 msgid ""
3820 "Like B<access>(2), B<euidaccess>()  checks permissions and existence of the "
3821 "file identified by its argument I<pathname>.  However, whereas B<access>(2), "
3822 "performs checks using the real user and group identifiers of the process, "
3823 "B<euidaccess>()  uses the effective identifiers."
3824 msgstr ""
3825
3826 #. type: Plain text
3827 #: build/C/man3/euidaccess.3:53
3828 msgid ""
3829 "I<mode> is a mask consisting of one or more of B<R_OK>, B<W_OK>, B<X_OK>, "
3830 "and B<F_OK>, with the same meanings as for B<access>(2)."
3831 msgstr ""
3832
3833 #. type: Plain text
3834 #: build/C/man3/euidaccess.3:58
3835 msgid ""
3836 "B<eaccess>()  is a synonym for B<euidaccess>(), provided for compatibility "
3837 "with some other systems."
3838 msgstr ""
3839
3840 #. type: Plain text
3841 #: build/C/man3/euidaccess.3:66
3842 msgid ""
3843 "On success (all requested permissions granted), zero is returned.  On error "
3844 "(at least one bit in I<mode> asked for a permission that is denied, or some "
3845 "other error occurred), -1 is returned, and I<errno> is set appropriately."
3846 msgstr ""
3847
3848 #. type: Plain text
3849 #: build/C/man3/euidaccess.3:69
3850 msgid "As for B<access>(2)."
3851 msgstr ""
3852
3853 #. type: Plain text
3854 #: build/C/man3/euidaccess.3:73
3855 msgid "The B<eaccess>()  function was added to glibc in version 2.4."
3856 msgstr ""
3857
3858 #. type: Plain text
3859 #: build/C/man3/euidaccess.3:80
3860 msgid "The B<euidaccess>()  and B<eaccess>()  functions are thread-safe."
3861 msgstr ""
3862
3863 #.  e.g., FreeBSD 6.1.
3864 #. type: Plain text
3865 #: build/C/man3/euidaccess.3:86
3866 msgid ""
3867 "These functions are nonstandard.  Some other systems have an B<eaccess>()  "
3868 "function."
3869 msgstr ""
3870
3871 #. type: Plain text
3872 #: build/C/man3/euidaccess.3:93
3873 msgid ""
3874 "I<Warning>: Using this function to check a process's permissions on a file "
3875 "before performing some operation based on that information leads to race "
3876 "conditions: the file permissions may change between the two steps.  "
3877 "Generally, it is safer just to attempt the desired operation and handle any "
3878 "permission error that occurs."
3879 msgstr ""
3880
3881 #. type: Plain text
3882 #: build/C/man3/euidaccess.3:101
3883 msgid ""
3884 "This function always dereferences symbolic links.  If you need to check the "
3885 "permissions on a symbolic link, use B<faccessat>(2)  with the flags "
3886 "B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW>."
3887 msgstr ""
3888
3889 #. type: Plain text
3890 #: build/C/man3/euidaccess.3:112
3891 msgid ""
3892 "B<access>(2), B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), "
3893 "B<setgid>(2), B<setuid>(2), B<stat>(2), B<credentials>(7), "
3894 "B<path_resolution>(7)"
3895 msgstr ""
3896
3897 #. type: TH
3898 #: build/C/man3/exec.3:41
3899 #, no-wrap
3900 msgid "EXEC"
3901 msgstr ""
3902
3903 #. type: TH
3904 #: build/C/man3/exec.3:41
3905 #, no-wrap
3906 msgid "2010-09-25"
3907 msgstr ""
3908
3909 #. type: Plain text
3910 #: build/C/man3/exec.3:44
3911 msgid "execl, execlp, execle, execv, execvp, execvpe - execute a file"
3912 msgstr ""
3913
3914 #. type: Plain text
3915 #: build/C/man3/exec.3:48
3916 msgid "B<extern char **environ;>"
3917 msgstr ""
3918
3919 #. type: Plain text
3920 #: build/C/man3/exec.3:50
3921 msgid "B<int execl(const char *>I<path>B<, const char *>I<arg>B<, ...);>"
3922 msgstr ""
3923
3924 #. type: Plain text
3925 #: build/C/man3/exec.3:52
3926 msgid "B<int execlp(const char *>I<file>B<, const char *>I<arg>B<, ...);>"
3927 msgstr ""
3928
3929 #. type: Plain text
3930 #: build/C/man3/exec.3:54
3931 msgid "B<int execle(const char *>I<path>B<, const char *>I<arg>B<,>"
3932 msgstr ""
3933
3934 #. type: Plain text
3935 #: build/C/man3/exec.3:56
3936 msgid "B< ..., char * const >I<envp>B<[]);>"
3937 msgstr ""
3938
3939 #. type: Plain text
3940 #: build/C/man3/exec.3:58
3941 msgid "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
3942 msgstr ""
3943
3944 #. type: Plain text
3945 #: build/C/man3/exec.3:60
3946 msgid "B<int execvp(const char *>I<file>B<, char *const >I<argv>B<[]);>"
3947 msgstr ""
3948
3949 #. type: Plain text
3950 #: build/C/man3/exec.3:62
3951 msgid "B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>"
3952 msgstr ""
3953
3954 #. type: Plain text
3955 #: build/C/man3/exec.3:64 build/C/man2/execve.2:46
3956 msgid "B< char *const >I<envp>B<[]);>"
3957 msgstr ""
3958
3959 #. type: Plain text
3960 #: build/C/man3/exec.3:72
3961 msgid "B<execvpe>(): _GNU_SOURCE"
3962 msgstr ""
3963
3964 #. type: Plain text
3965 #: build/C/man3/exec.3:82
3966 msgid ""
3967 "The B<exec>()  family of functions replaces the current process image with a "
3968 "new process image.  The functions described in this manual page are "
3969 "front-ends for B<execve>(2).  (See the manual page for B<execve>(2)  for "
3970 "further details about the replacement of the current process image.)"
3971 msgstr ""
3972
3973 #. type: Plain text
3974 #: build/C/man3/exec.3:85
3975 msgid ""
3976 "The initial argument for these functions is the name of a file that is to be "
3977 "executed."
3978 msgstr ""
3979
3980 #. type: Plain text
3981 #: build/C/man3/exec.3:107
3982 msgid ""
3983 "The I<const char\\ *arg> and subsequent ellipses in the B<execl>(), "
3984 "B<execlp>(), and B<execle>()  functions can be thought of as I<arg0>, "
3985 "I<arg1>, \\&..., I<argn>.  Together they describe a list of one or more "
3986 "pointers to null-terminated strings that represent the argument list "
3987 "available to the executed program.  The first argument, by convention, "
3988 "should point to the filename associated with the file being executed.  The "
3989 "list of arguments I<must> be terminated by a null pointer, and, since these "
3990 "are variadic functions, this pointer must be cast I<(char\\ *) NULL>."
3991 msgstr ""
3992
3993 #. type: Plain text
3994 #: build/C/man3/exec.3:120
3995 msgid ""
3996 "The B<execv>(), B<execvp>(), and B<execvpe>()  functions provide an array of "
3997 "pointers to null-terminated strings that represent the argument list "
3998 "available to the new program.  The first argument, by convention, should "
3999 "point to the filename associated with the file being executed.  The array of "
4000 "pointers I<must> be terminated by a null pointer."
4001 msgstr ""
4002
4003 #. type: Plain text
4004 #: build/C/man3/exec.3:137
4005 msgid ""
4006 "The B<execle>()  and B<execvpe>()  functions allow the caller to specify the "
4007 "environment of the executed program via the argument I<envp>.  The I<envp> "
4008 "argument is an array of pointers to null-terminated strings and I<must> be "
4009 "terminated by a null pointer.  The other functions take the environment for "
4010 "the new process image from the external variable I<environ> in the calling "
4011 "process."
4012 msgstr ""
4013
4014 #. type: SS
4015 #: build/C/man3/exec.3:137
4016 #, no-wrap
4017 msgid "Special semantics for execlp() and execvp()"
4018 msgstr ""
4019
4020 #. type: Plain text
4021 #: build/C/man3/exec.3:157
4022 msgid ""
4023 "The B<execlp>(), B<execvp>(), and B<execvpe>()  functions duplicate the "
4024 "actions of the shell in searching for an executable file if the specified "
4025 "filename does not contain a slash (/) character.  The file is sought in the "
4026 "colon-separated list of directory pathnames specified in the B<PATH> "
4027 "environment variable.  If this variable isn't defined, the path list "
4028 "defaults to the current directory followed by the list of directories "
4029 "returned by I<confstr(_CS_PATH)>.  (This B<confstr>(3)  call typically "
4030 "returns the value \"/bin:/usr/bin\".)"
4031 msgstr ""
4032
4033 #. type: Plain text
4034 #: build/C/man3/exec.3:161
4035 msgid ""
4036 "If the specified filename includes a slash character, then B<PATH> is "
4037 "ignored, and the file at the specified pathname is executed."
4038 msgstr ""
4039
4040 #. type: Plain text
4041 #: build/C/man3/exec.3:163
4042 msgid "In addition, certain errors are treated specially."
4043 msgstr ""
4044
4045 #. type: Plain text
4046 #: build/C/man3/exec.3:174
4047 msgid ""
4048 "If permission is denied for a file (the attempted B<execve>(2)  failed with "
4049 "the error B<EACCES>), these functions will continue searching the rest of "
4050 "the search path.  If no other file is found, however, they will return with "
4051 "I<errno> set to B<EACCES>."
4052 msgstr ""
4053
4054 #. type: Plain text
4055 #: build/C/man3/exec.3:183
4056 msgid ""
4057 "If the header of a file isn't recognized (the attempted B<execve>(2)  failed "
4058 "with the error B<ENOEXEC>), these functions will execute the shell "
4059 "(I</bin/sh>)  with the path of the file as its first argument.  (If this "
4060 "attempt fails, no further searching is done.)"
4061 msgstr ""
4062
4063 #. type: Plain text
4064 #: build/C/man3/exec.3:190
4065 msgid ""
4066 "The B<exec>()  functions return only if an error has occurred.  The return "
4067 "value is -1, and I<errno> is set to indicate the error."
4068 msgstr ""
4069
4070 #. type: Plain text
4071 #: build/C/man3/exec.3:195
4072 msgid ""
4073 "All of these functions may fail and set I<errno> for any of the errors "
4074 "specified for B<execve>(2)."
4075 msgstr ""
4076
4077 #. type: Plain text
4078 #: build/C/man3/exec.3:199
4079 msgid "The B<execvpe>()  function first appeared in glibc 2.11."
4080 msgstr ""
4081
4082 #. type: Plain text
4083 #: build/C/man3/exec.3:201
4084 msgid "POSIX.1-2001, POSIX.1-2008."
4085 msgstr ""
4086
4087 #. type: Plain text
4088 #: build/C/man3/exec.3:205
4089 msgid "The B<execvpe>()  function is a GNU extension."
4090 msgstr ""
4091
4092 #. type: Plain text
4093 #: build/C/man3/exec.3:215
4094 msgid ""
4095 "On some other systems, the default path (used when the environment does not "
4096 "contain the variable B<PATH>) has the current working directory listed after "
4097 "I</bin> and I</usr/bin>, as an anti-Trojan-horse measure.  Linux uses here "
4098 "the traditional \"current directory first\" default path."
4099 msgstr ""
4100
4101 #. type: Plain text
4102 #: build/C/man3/exec.3:229
4103 msgid ""
4104 "The behavior of B<execlp>()  and B<execvp>()  when errors occur while "
4105 "attempting to execute the file is historic practice, but has not "
4106 "traditionally been documented and is not specified by the POSIX standard.  "
4107 "BSD (and possibly other systems) do an automatic sleep and retry if "
4108 "B<ETXTBSY> is encountered.  Linux treats it as a hard error and returns "
4109 "immediately."
4110 msgstr ""
4111
4112 #. type: Plain text
4113 #: build/C/man3/exec.3:241
4114 msgid ""
4115 "Traditionally, the functions B<execlp>()  and B<execvp>()  ignored all "
4116 "errors except for the ones described above and B<ENOMEM> and B<E2BIG>, upon "
4117 "which they returned.  They now return if any error other than the ones "
4118 "described above occurs."
4119 msgstr ""
4120
4121 #. type: Plain text
4122 #: build/C/man3/exec.3:248
4123 msgid ""
4124 "B<sh>(1), B<execve>(2), B<fork>(2), B<ptrace>(2), B<fexecve>(3), "
4125 "B<environ>(7)"
4126 msgstr ""
4127
4128 #. type: TH
4129 #: build/C/man2/execve.2:37
4130 #, no-wrap
4131 msgid "EXECVE"
4132 msgstr ""
4133
4134 #. type: TH
4135 #: build/C/man2/execve.2:37 build/C/man2/syscall.2:40
4136 #, no-wrap
4137 msgid "2014-05-10"
4138 msgstr ""
4139
4140 #. type: Plain text
4141 #: build/C/man2/execve.2:40
4142 msgid "execve - execute program"
4143 msgstr ""
4144
4145 #. type: Plain text
4146 #: build/C/man2/execve.2:44
4147 msgid "B<int execve(const char *>I<filename>B<, char *const >I<argv>B<[], >"
4148 msgstr ""
4149
4150 #. type: Plain text
4151 #: build/C/man2/execve.2:51
4152 msgid ""
4153 "B<execve>()  executes the program pointed to by I<filename>.  I<filename> "
4154 "must be either a binary executable, or a script starting with a line of the "
4155 "form:"
4156 msgstr ""
4157
4158 #. type: Plain text
4159 #: build/C/man2/execve.2:55 build/C/man2/execve.2:267
4160 #, no-wrap
4161 msgid "B<#!> I<interpreter >[optional-arg]\n"
4162 msgstr ""
4163
4164 #. type: Plain text
4165 #: build/C/man2/execve.2:59
4166 msgid "For details of the latter case, see \"Interpreter scripts\" below."
4167 msgstr ""
4168
4169 #. type: Plain text
4170 #: build/C/man2/execve.2:68
4171 msgid ""
4172 "I<argv> is an array of argument strings passed to the new program.  By "
4173 "convention, the first of these strings should contain the filename "
4174 "associated with the file being executed.  I<envp> is an array of strings, "
4175 "conventionally of the form B<key=value>, which are passed as environment to "
4176 "the new program.  Both I<argv> and I<envp> must be terminated by a null "
4177 "pointer.  The argument vector and environment can be accessed by the called "
4178 "program's main function, when it is defined as:"
4179 msgstr ""
4180
4181 #. type: Plain text
4182 #: build/C/man2/execve.2:72
4183 #, no-wrap
4184 msgid "int main(int argc, char *argv[], char *envp[])\n"
4185 msgstr ""
4186
4187 #. type: Plain text
4188 #: build/C/man2/execve.2:79
4189 msgid ""
4190 "B<execve>()  does not return on success, and the text, data, bss, and stack "
4191 "of the calling process are overwritten by that of the program loaded."
4192 msgstr ""
4193
4194 #. type: Plain text
4195 #: build/C/man2/execve.2:83
4196 msgid ""
4197 "If the current program is being ptraced, a B<SIGTRAP> is sent to it after a "
4198 "successful B<execve>()."
4199 msgstr ""
4200
4201 #. type: Plain text
4202 #: build/C/man2/execve.2:98
4203 msgid ""
4204 "If the set-user-ID bit is set on the program file pointed to by I<filename>, "
4205 "and the underlying filesystem is not mounted I<nosuid> (the B<MS_NOSUID> "
4206 "flag for B<mount>(2)), and the calling process is not being ptraced, then "
4207 "the effective user ID of the calling process is changed to that of the owner "
4208 "of the program file.  Similarly, when the set-group-ID bit of the program "
4209 "file is set the effective group ID of the calling process is set to the "
4210 "group of the program file."
4211 msgstr ""
4212
4213 #. type: Plain text
4214 #: build/C/man2/execve.2:103
4215 msgid ""
4216 "The effective user ID of the process is copied to the saved set-user-ID; "
4217 "similarly, the effective group ID is copied to the saved set-group-ID.  This "
4218 "copying takes place after any effective ID changes that occur because of the "
4219 "set-user-ID and set-group-ID permission bits."
4220 msgstr ""
4221
4222 #. type: Plain text
4223 #: build/C/man2/execve.2:111
4224 msgid ""
4225 "If the executable is an a.out dynamically linked binary executable "
4226 "containing shared-library stubs, the Linux dynamic linker B<ld.so>(8)  is "
4227 "called at the start of execution to bring needed shared libraries into "
4228 "memory and link the executable with them."
4229 msgstr ""
4230
4231 #. type: Plain text
4232 #: build/C/man2/execve.2:120
4233 msgid ""
4234 "If the executable is a dynamically linked ELF executable, the interpreter "
4235 "named in the PT_INTERP segment is used to load the needed shared libraries.  "
4236 "This interpreter is typically I</lib/ld-linux.so.2> for binaries linked with "
4237 "glibc 2.  (For binaries linked with the old Linux libc5, the interpreter was "
4238 "typically I</lib/ld-linux.so.1>.)"
4239 msgstr ""
4240
4241 #. type: Plain text
4242 #: build/C/man2/execve.2:124
4243 msgid ""
4244 "All process attributes are preserved during an B<execve>(), except the "
4245 "following:"
4246 msgstr ""
4247
4248 #. type: Plain text
4249 #: build/C/man2/execve.2:128
4250 msgid ""
4251 "The dispositions of any signals that are being caught are reset to the "
4252 "default (B<signal>(7))."
4253 msgstr ""
4254
4255 #. type: Plain text
4256 #: build/C/man2/execve.2:131
4257 msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))."
4258 msgstr ""
4259
4260 #. type: Plain text
4261 #: build/C/man2/execve.2:134
4262 msgid "Memory mappings are not preserved (B<mmap>(2))."
4263 msgstr ""
4264
4265 #. type: Plain text
4266 #: build/C/man2/execve.2:137
4267 msgid "Attached System\\ V shared memory segments are detached (B<shmat>(2))."
4268 msgstr ""
4269
4270 #. type: Plain text
4271 #: build/C/man2/execve.2:140
4272 msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))."
4273 msgstr ""
4274
4275 #. type: Plain text
4276 #: build/C/man2/execve.2:143
4277 msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))."
4278 msgstr ""
4279
4280 #. type: Plain text
4281 #: build/C/man2/execve.2:146
4282 msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))."
4283 msgstr ""
4284
4285 #. type: Plain text
4286 #: build/C/man2/execve.2:149
4287 msgid "POSIX timers are not preserved (B<timer_create>(2))."
4288 msgstr ""
4289
4290 #. type: Plain text
4291 #: build/C/man2/execve.2:152
4292 msgid "Any open directory streams are closed (B<opendir>(3))."
4293 msgstr ""
4294
4295 #. type: Plain text
4296 #: build/C/man2/execve.2:156
4297 msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))."
4298 msgstr ""
4299
4300 #. type: Plain text
4301 #: build/C/man2/execve.2:160
4302 msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))."
4303 msgstr ""
4304
4305 #. type: Plain text
4306 #: build/C/man2/execve.2:163
4307 msgid "The floating-point environment is reset to the default (see B<fenv>(3))."
4308 msgstr ""
4309
4310 #. type: Plain text
4311 #: build/C/man2/execve.2:169
4312 msgid ""
4313 "The process attributes in the preceding list are all specified in "
4314 "POSIX.1-2001.  The following Linux-specific process attributes are also not "
4315 "preserved during an B<execve>():"
4316 msgstr ""
4317
4318 #. type: Plain text
4319 #: build/C/man2/execve.2:176
4320 msgid ""
4321 "The B<prctl>(2)  B<PR_SET_DUMPABLE> flag is set, unless a set-user-ID or "
4322 "set-group ID program is being executed, in which case it is cleared."
4323 msgstr ""
4324
4325 #. type: Plain text
4326 #: build/C/man2/execve.2:181
4327 msgid "The B<prctl>(2)  B<PR_SET_KEEPCAPS> flag is cleared."
4328 msgstr ""
4329
4330 #. type: Plain text
4331 #: build/C/man2/execve.2:188
4332 msgid ""
4333 "(Since Linux 2.4.36 / 2.6.23)  If a set-user-ID or set-group-ID program is "
4334 "being executed, then the parent death signal set by B<prctl>(2)  "
4335 "B<PR_SET_PDEATHSIG> flag is cleared."
4336 msgstr ""
4337
4338 #. type: Plain text
4339 #: build/C/man2/execve.2:195
4340 msgid ""
4341 "The process name, as set by B<prctl>(2)  B<PR_SET_NAME> (and displayed by "
4342 "I<ps\\ -o comm>), is reset to the name of the new executable file."
4343 msgstr ""
4344
4345 #. type: Plain text
4346 #: build/C/man2/execve.2:202
4347 msgid ""
4348 "The B<SECBIT_KEEP_CAPS> I<securebits> flag is cleared.  See "
4349 "B<capabilities>(7)."
4350 msgstr ""
4351
4352 #. type: Plain text
4353 #: build/C/man2/execve.2:207
4354 msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))."
4355 msgstr ""
4356
4357 #. type: Plain text
4358 #: build/C/man2/execve.2:209 build/C/man2/fork.2:133
4359 msgid "Note the following further points:"
4360 msgstr ""
4361
4362 #. type: Plain text
4363 #: build/C/man2/execve.2:213
4364 msgid ""
4365 "All threads other than the calling thread are destroyed during an "
4366 "B<execve>().  Mutexes, condition variables, and other pthreads objects are "
4367 "not preserved."
4368 msgstr ""
4369
4370 #. type: Plain text
4371 #: build/C/man2/execve.2:216
4372 msgid ""
4373 "The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program "
4374 "start-up."
4375 msgstr ""
4376
4377 #. type: Plain text
4378 #: build/C/man2/execve.2:224
4379 msgid ""
4380 "POSIX.1-2001 specifies that the dispositions of any signals that are ignored "
4381 "or set to the default are left unchanged.  POSIX.1-2001 specifies one "
4382 "exception: if B<SIGCHLD> is being ignored, then an implementation may leave "
4383 "the disposition unchanged or reset it to the default; Linux does the former."
4384 msgstr ""
4385
4386 #. type: Plain text
4387 #: build/C/man2/execve.2:228
4388 msgid ""
4389 "Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), "
4390 "B<aio_write>(3))."
4391 msgstr ""
4392
4393 #. type: Plain text
4394 #: build/C/man2/execve.2:233
4395 msgid "For the handling of capabilities during B<execve>(), see B<capabilities>(7)."
4396 msgstr ""
4397
4398 #.  On Linux it appears that these file descriptors are
4399 #.  always open after an execve(), and it looks like
4400 #.  Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
4401 #. type: Plain text
4402 #: build/C/man2/execve.2:260
4403 msgid ""
4404 "By default, file descriptors remain open across an B<execve>().  File "
4405 "descriptors that are marked close-on-exec are closed; see the description of "
4406 "B<FD_CLOEXEC> in B<fcntl>(2).  (If a file descriptor is closed, this will "
4407 "cause the release of all record locks obtained on the underlying file by "
4408 "this process.  See B<fcntl>(2)  for details.)  POSIX.1-2001 says that if "
4409 "file descriptors 0, 1, and 2 would otherwise be closed after a successful "
4410 "B<execve>(), and the process would gain privilege because the set-user_ID or "
4411 "set-group_ID permission bit was set on the executed file, then the system "
4412 "may open an unspecified file for each of these file descriptors.  As a "
4413 "general principle, no portable program, whether privileged or not, can "
4414 "assume that these three file descriptors will remain closed across an "
4415 "B<execve>()."
4416 msgstr ""
4417
4418 #. type: SS
4419 #: build/C/man2/execve.2:260 build/C/man2/execve.2:520
4420 #, no-wrap
4421 msgid "Interpreter scripts"
4422 msgstr ""
4423
4424 #. type: Plain text
4425 #: build/C/man2/execve.2:263
4426 msgid ""
4427 "An interpreter script is a text file that has execute permission enabled and "
4428 "whose first line is of the form:"
4429 msgstr ""
4430
4431 #. type: Plain text
4432 #: build/C/man2/execve.2:281
4433 msgid ""
4434 "The I<interpreter> must be a valid pathname for an executable which is not "
4435 "itself a script.  If the I<filename> argument of B<execve>()  specifies an "
4436 "interpreter script, then I<interpreter> will be invoked with the following "
4437 "arguments:"
4438 msgstr ""
4439
4440 #. type: Plain text
4441 #: build/C/man2/execve.2:285
4442 #, no-wrap
4443 msgid "I<interpreter> [optional-arg] I<filename> arg...\n"
4444 msgstr ""
4445
4446 #. type: Plain text
4447 #: build/C/man2/execve.2:296
4448 msgid ""
4449 "where I<arg...> is the series of words pointed to by the I<argv> argument of "
4450 "B<execve>(), starting at I<argv>[1]."
4451 msgstr ""
4452
4453 #. type: Plain text
4454 #: build/C/man2/execve.2:301
4455 msgid ""
4456 "For portable use, I<optional-arg> should either be absent, or be specified "
4457 "as a single word (i.e., it should not contain white space); see NOTES below."
4458 msgstr ""
4459
4460 #. type: SS
4461 #: build/C/man2/execve.2:301
4462 #, no-wrap
4463 msgid "Limits on size of arguments and environment"
4464 msgstr ""
4465
4466 #. type: Plain text
4467 #: build/C/man2/execve.2:314
4468 msgid ""
4469 "Most UNIX implementations impose some limit on the total size of the "
4470 "command-line argument (I<argv>)  and environment (I<envp>)  strings that may "
4471 "be passed to a new program.  POSIX.1 allows an implementation to advertise "
4472 "this limit using the B<ARG_MAX> constant (either defined in "
4473 "I<E<lt>limits.hE<gt>> or available at run time using the call "
4474 "I<sysconf(_SC_ARG_MAX)>)."
4475 msgstr ""
4476
4477 #. type: Plain text
4478 #: build/C/man2/execve.2:321
4479 msgid ""
4480 "On Linux prior to kernel 2.6.23, the memory used to store the environment "
4481 "and argument strings was limited to 32 pages (defined by the kernel constant "
4482 "B<MAX_ARG_PAGES>).  On architectures with a 4-kB page size, this yields a "
4483 "maximum size of 128 kB."
4484 msgstr ""
4485
4486 #.  For some background on the changes to ARG_MAX in kernels 2.6.23 and
4487 #.  2.6.25, see:
4488 #.      http://sourceware.org/bugzilla/show_bug.cgi?id=5786
4489 #.      http://bugzilla.kernel.org/show_bug.cgi?id=10095
4490 #.      http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
4491 #.      checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
4492 #.  Ollie: That doesn't include the lists of pointers, though,
4493 #.  so the actual usage is a bit higher (1 pointer per argument).
4494 #. type: Plain text
4495 #: build/C/man2/execve.2:357
4496 msgid ""
4497 "On kernel 2.6.23 and later, most architectures support a size limit derived "
4498 "from the soft B<RLIMIT_STACK> resource limit (see B<getrlimit>(2))  that is "
4499 "in force at the time of the B<execve>()  call.  (Architectures with no "
4500 "memory management unit are excepted: they maintain the limit that was in "
4501 "effect before kernel 2.6.23.)  This change allows programs to have a much "
4502 "larger argument and/or environment list.  For these architectures, the total "
4503 "size is limited to 1/4 of the allowed stack size.  (Imposing the 1/4-limit "
4504 "ensures that the new program always has some stack space.)  Since Linux "
4505 "2.6.25, the kernel places a floor of 32 pages on this size limit, so that, "
4506 "even when B<RLIMIT_STACK> is set very low, applications are guaranteed to "
4507 "have at least as much argument and environment space as was provided by "
4508 "Linux 2.6.23 and earlier.  (This guarantee was not provided in Linux 2.6.23 "
4509 "and 2.6.24.)  Additionally, the limit per string is 32 pages (the kernel "
4510 "constant B<MAX_ARG_STRLEN>), and the maximum number of strings is "
4511 "0x7FFFFFFF."
4512 msgstr ""
4513
4514 #. type: Plain text
4515 #: build/C/man2/execve.2:363
4516 msgid ""
4517 "On success, B<execve>()  does not return, on error -1 is returned, and "
4518 "I<errno> is set appropriately."
4519 msgstr ""
4520
4521 #. type: TP
4522 #: build/C/man2/execve.2:364
4523 #, no-wrap
4524 msgid "B<E2BIG>"
4525 msgstr ""
4526
4527 #. type: Plain text
4528 #: build/C/man2/execve.2:371
4529 msgid ""
4530 "The total number of bytes in the environment (I<envp>)  and argument list "
4531 "(I<argv>)  is too large."
4532 msgstr ""
4533
4534 #. type: Plain text
4535 #: build/C/man2/execve.2:378
4536 msgid ""
4537 "Search permission is denied on a component of the path prefix of I<filename> "
4538 "or the name of a script interpreter.  (See also B<path_resolution>(7).)"
4539 msgstr ""
4540
4541 #. type: Plain text
4542 #: build/C/man2/execve.2:381
4543 msgid "The file or a script interpreter is not a regular file."
4544 msgstr ""
4545
4546 #. type: Plain text
4547 #: build/C/man2/execve.2:384
4548 msgid "Execute permission is denied for the file or a script or ELF interpreter."
4549 msgstr ""
4550
4551 #. type: Plain text
4552 #: build/C/man2/execve.2:388
4553 msgid "The filesystem is mounted I<noexec>."
4554 msgstr ""
4555
4556 #. type: Plain text
4557 #: build/C/man2/execve.2:396
4558 msgid ""
4559 "I<filename> or one of the pointers in the vectors I<argv> or I<envp> points "
4560 "outside your accessible address space."
4561 msgstr ""
4562
4563 #. type: Plain text
4564 #: build/C/man2/execve.2:400
4565 msgid ""
4566 "An ELF executable had more than one PT_INTERP segment (i.e., tried to name "
4567 "more than one interpreter)."
4568 msgstr ""
4569
4570 #. type: TP
4571 #: build/C/man2/execve.2:403 build/C/man2/truncate.2:148
4572 #, no-wrap
4573 msgid "B<EISDIR>"
4574 msgstr ""
4575
4576 #. type: Plain text
4577 #: build/C/man2/execve.2:406
4578 msgid "An ELF interpreter was a directory."
4579 msgstr ""
4580
4581 #. type: TP
4582 #: build/C/man2/execve.2:406
4583 #, no-wrap
4584 msgid "B<ELIBBAD>"
4585 msgstr ""
4586
4587 #. type: Plain text
4588 #: build/C/man2/execve.2:409
4589 msgid "An ELF interpreter was not in a recognized format."
4590 msgstr ""
4591
4592 #. type: Plain text
4593 #: build/C/man2/execve.2:414
4594 msgid ""
4595 "Too many symbolic links were encountered in resolving I<filename> or the "
4596 "name of a script or ELF interpreter."
4597 msgstr ""
4598
4599 #. type: Plain text
4600 #: build/C/man2/execve.2:417
4601 msgid "The process has the maximum number of files open."
4602 msgstr ""
4603
4604 #. type: Plain text
4605 #: build/C/man2/execve.2:421
4606 msgid "I<filename> is too long."
4607 msgstr ""
4608
4609 #. type: TP
4610 #: build/C/man2/execve.2:421 build/C/man3/getlogin.3:108 build/C/man2/swapon.2:139 build/C/man2/uselib.2:67
4611 #, no-wrap
4612 msgid "B<ENFILE>"
4613 msgstr ""
4614
4615 #. type: Plain text
4616 #: build/C/man2/execve.2:424 build/C/man2/swapon.2:142 build/C/man2/uselib.2:70
4617 msgid "The system limit on the total number of open files has been reached."
4618 msgstr ""
4619
4620 #. type: Plain text
4621 #: build/C/man2/execve.2:430
4622 msgid ""
4623 "The file I<filename> or a script or ELF interpreter does not exist, or a "
4624 "shared library needed for file or interpreter cannot be found."
4625 msgstr ""
4626
4627 #. type: TP
4628 #: build/C/man2/execve.2:430 build/C/man2/uselib.2:70
4629 #, no-wrap
4630 msgid "B<ENOEXEC>"
4631 msgstr ""
4632
4633 #. type: Plain text
4634 #: build/C/man2/execve.2:435
4635 msgid ""
4636 "An executable is not in a recognized format, is for the wrong architecture, "
4637 "or has some other format error that means it cannot be executed."
4638 msgstr ""
4639
4640 #. type: Plain text
4641 #: build/C/man2/execve.2:443
4642 msgid ""
4643 "A component of the path prefix of I<filename> or a script or ELF interpreter "
4644 "is not a directory."
4645 msgstr ""
4646
4647 #. type: Plain text
4648 #: build/C/man2/execve.2:449
4649 msgid ""
4650 "The filesystem is mounted I<nosuid>, the user is not the superuser, and the "
4651 "file has the set-user-ID or set-group-ID bit set."
4652 msgstr ""
4653
4654 #. type: Plain text
4655 #: build/C/man2/execve.2:453
4656 msgid ""
4657 "The process is being traced, the user is not the superuser and the file has "
4658 "the set-user-ID or set-group-ID bit set."
4659 msgstr ""
4660
4661 #. type: Plain text
4662 #: build/C/man2/execve.2:456
4663 msgid "Executable was open for writing by one or more processes."
4664 msgstr ""
4665
4666 #.  SVr4 documents additional error
4667 #.  conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
4668 #.  document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
4669 #.  EISDIR or ELIBBAD error conditions.
4670 #. type: Plain text
4671 #: build/C/man2/execve.2:464
4672 msgid ""
4673 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 does not document the #! behavior "
4674 "but is otherwise compatible."
4675 msgstr ""
4676
4677 #. type: Plain text
4678 #: build/C/man2/execve.2:467
4679 msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d."
4680 msgstr ""
4681
4682 #.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
4683 #.  HP-UX 11 is like Linux -- mtk, Apr 2007
4684 #.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
4685 #.  Bug rejected (because fix would constitute an ABI change).
4686 #. type: Plain text
4687 #: build/C/man2/execve.2:494
4688 msgid ""
4689 "The result of mounting a filesystem I<nosuid> varies across Linux kernel "
4690 "versions: some will refuse execution of set-user-ID and set-group-ID "
4691 "executables when this would give the user powers she did not have already "
4692 "(and return B<EPERM>), some will just ignore the set-user-ID and "
4693 "set-group-ID bits and B<exec>()  successfully.  On Linux, I<argv> and "
4694 "I<envp> can be specified as NULL.  In both cases, this has the same effect "
4695 "as specifying the argument as a pointer to a list containing a single null "
4696 "pointer.  B<Do not take advantage of this misfeature!> It is nonstandard and "
4697 "nonportable: on most other UNIX systems doing this will result in an error "
4698 "(B<EFAULT>)."
4699 msgstr ""
4700
4701 #. type: Plain text
4702 #: build/C/man2/execve.2:505
4703 msgid ""
4704 "POSIX.1-2001 says that values returned by B<sysconf>(3)  should be invariant "
4705 "over the lifetime of a process.  However, since Linux 2.6.23, if the "
4706 "B<RLIMIT_STACK> resource limit changes, then the value reported by "
4707 "B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
4708 "for holding command-line arguments and environment variables has changed."
4709 msgstr ""
4710
4711 #. type: Plain text
4712 #: build/C/man2/execve.2:520
4713 msgid ""
4714 "In most cases where B<execve>()  fails, control returns to the original "
4715 "executable image, and the caller of B<execve>()  can then handle the error.  "
4716 "However, in (rare) cases (typically caused by resource exhaustion), failure "
4717 "may occur past the point of no return: the original executable image has "
4718 "been torn down, but the new image could not be completely built.  In such "
4719 "cases, the kernel kills the process with a B<SIGKILL> signal."
4720 msgstr ""
4721
4722 #. type: Plain text
4723 #: build/C/man2/execve.2:523
4724 msgid ""
4725 "A maximum line length of 127 characters is allowed for the first line in an "
4726 "interpreter scripts."
4727 msgstr ""
4728
4729 #.  e.g., Solaris 8
4730 #.  e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
4731 #. type: Plain text
4732 #: build/C/man2/execve.2:542
4733 msgid ""
4734 "The semantics of the I<optional-arg> argument of an interpreter script vary "
4735 "across implementations.  On Linux, the entire string following the "
4736 "I<interpreter> name is passed as a single argument to the interpreter, and "
4737 "this string can include white space.  However, behavior differs on some "
4738 "other systems.  Some systems use the first white space to terminate "
4739 "I<optional-arg>.  On some systems, an interpreter script can have multiple "
4740 "arguments, and white spaces in I<optional-arg> are used to delimit the "
4741 "arguments."
4742 msgstr ""
4743
4744 #. type: Plain text
4745 #: build/C/man2/execve.2:545
4746 msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
4747 msgstr ""
4748
4749 #. type: SS
4750 #: build/C/man2/execve.2:545
4751 #, no-wrap
4752 msgid "Historical"
4753 msgstr ""
4754
4755 #
4756 #.  .SH BUGS
4757 #.  Some Linux versions have failed to check permissions on ELF
4758 #.  interpreters.  This is a security hole, because it allows users to
4759 #.  open any file, such as a rewinding tape device, for reading.  Some
4760 #.  Linux versions have also had other security holes in
4761 #.  .BR execve ()
4762 #.  that could be exploited for denial of service by a suitably crafted
4763 #.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
4764 #. type: Plain text
4765 #: build/C/man2/execve.2:565
4766 msgid ""
4767 "With UNIX\\ V6, the argument list of an B<exec>()  call was ended by 0, "
4768 "while the argument list of I<main> was ended by -1.  Thus, this argument "
4769 "list was not directly usable in a further B<exec>()  call.  Since UNIX\\ V7, "
4770 "both are NULL."
4771 msgstr ""
4772
4773 #. type: Plain text
4774 #: build/C/man2/execve.2:568
4775 msgid ""
4776 "The following program is designed to be execed by the second program below.  "
4777 "It just echoes its command-line arguments, one per line."
4778 msgstr ""
4779
4780 #. type: Plain text
4781 #: build/C/man2/execve.2:572
4782 #, no-wrap
4783 msgid "/* myecho.c */\n"
4784 msgstr ""
4785
4786 #. type: Plain text
4787 #: build/C/man2/execve.2:575
4788 #, no-wrap
4789 msgid ""
4790 "#include E<lt>stdio.hE<gt>\n"
4791 "#include E<lt>stdlib.hE<gt>\n"
4792 msgstr ""
4793
4794 #. type: Plain text
4795 #: build/C/man2/execve.2:580
4796 #, no-wrap
4797 msgid ""
4798 "int\n"
4799 "main(int argc, char *argv[])\n"
4800 "{\n"
4801 "    int j;\n"
4802 msgstr ""
4803
4804 #. type: Plain text
4805 #: build/C/man2/execve.2:583
4806 #, no-wrap
4807 msgid ""
4808 "    for (j = 0; j E<lt> argc; j++)\n"
4809 "        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"
4810 msgstr ""
4811
4812 #. type: Plain text
4813 #: build/C/man2/execve.2:591
4814 msgid ""
4815 "This program can be used to exec the program named in its command-line "
4816 "argument:"
4817 msgstr ""
4818
4819 #. type: Plain text
4820 #: build/C/man2/execve.2:595
4821 #, no-wrap
4822 msgid "/* execve.c */\n"
4823 msgstr ""
4824
4825 #. type: Plain text
4826 #: build/C/man2/execve.2:599
4827 #, no-wrap
4828 msgid ""
4829 "#include E<lt>stdio.hE<gt>\n"
4830 "#include E<lt>stdlib.hE<gt>\n"
4831 "#include E<lt>unistd.hE<gt>\n"
4832 msgstr ""
4833
4834 #. type: Plain text
4835 #: build/C/man2/execve.2:605
4836 #, no-wrap
4837 msgid ""
4838 "int\n"
4839 "main(int argc, char *argv[])\n"
4840 "{\n"
4841 "    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
4842 "    char *newenviron[] = { NULL };\n"
4843 msgstr ""
4844
4845 #. type: Plain text
4846 #: build/C/man2/execve.2:610
4847 #, no-wrap
4848 msgid ""
4849 "    if (argc != 2) {\n"
4850 "        fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", "
4851 "argv[0]);\n"
4852 "        exit(EXIT_FAILURE);\n"
4853 "    }\n"
4854 msgstr ""
4855
4856 #. type: Plain text
4857 #: build/C/man2/execve.2:612
4858 #, no-wrap
4859 msgid "    newargv[0] = argv[1];\n"
4860 msgstr ""
4861
4862 #. type: Plain text
4863 #: build/C/man2/execve.2:617
4864 #, no-wrap
4865 msgid ""
4866 "    execve(argv[1], newargv, newenviron);\n"
4867 "    perror(\"execve\");   /* execve() only returns on error */\n"
4868 "    exit(EXIT_FAILURE);\n"
4869 "}\n"
4870 msgstr ""
4871
4872 #. type: Plain text
4873 #: build/C/man2/execve.2:621
4874 msgid "We can use the second program to exec the first as follows:"
4875 msgstr ""
4876
4877 #. type: Plain text
4878 #: build/C/man2/execve.2:630
4879 #, no-wrap
4880 msgid ""
4881 "$B< cc myecho.c -o myecho>\n"
4882 "$B< cc execve.c -o execve>\n"
4883 "$B< ./execve ./myecho>\n"
4884 "argv[0]: ./myecho\n"
4885 "argv[1]: hello\n"
4886 "argv[2]: world\n"
4887 msgstr ""
4888
4889 #. type: Plain text
4890 #: build/C/man2/execve.2:638
4891 msgid ""
4892 "We can also use these programs to demonstrate the use of a script "
4893 "interpreter.  To do this we create a script whose \"interpreter\" is our "
4894 "I<myecho> program:"
4895 msgstr ""
4896
4897 #. type: Plain text
4898 #: build/C/man2/execve.2:645
4899 #, no-wrap
4900 msgid ""
4901 "$B< cat E<gt> script.sh>\n"
4902 "B<#! ./myecho script-arg>\n"
4903 "B<^D>\n"
4904 "$B< chmod +x script.sh>\n"
4905 msgstr ""
4906
4907 #. type: Plain text
4908 #: build/C/man2/execve.2:649
4909 msgid "We can then use our program to exec the script:"
4910 msgstr ""
4911
4912 #. type: Plain text
4913 #: build/C/man2/execve.2:658
4914 #, no-wrap
4915 msgid ""
4916 "$B< ./execve ./script.sh>\n"
4917 "argv[0]: ./myecho\n"
4918 "argv[1]: script-arg\n"
4919 "argv[2]: ./script.sh\n"
4920 "argv[3]: hello\n"
4921 "argv[4]: world\n"
4922 msgstr ""
4923
4924 #. type: Plain text
4925 #: build/C/man2/execve.2:671
4926 msgid ""
4927 "B<chmod>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), B<fexecve>(3), "
4928 "B<getopt>(3), B<credentials>(7), B<environ>(7), B<path_resolution>(7), "
4929 "B<ld.so>(8)"
4930 msgstr ""
4931
4932 #. type: TH
4933 #: build/C/man2/exit_group.2:25
4934 #, no-wrap
4935 msgid "EXIT_GROUP"
4936 msgstr ""
4937
4938 #. type: TH
4939 #: build/C/man2/exit_group.2:25
4940 #, no-wrap
4941 msgid "2008-11-27"
4942 msgstr ""
4943
4944 #. type: Plain text
4945 #: build/C/man2/exit_group.2:28
4946 msgid "exit_group - exit all threads in a process"
4947 msgstr ""
4948
4949 #. type: Plain text
4950 #: build/C/man2/exit_group.2:31
4951 #, no-wrap
4952 msgid "B<#include E<lt>linux/unistd.hE<gt>>\n"
4953 msgstr ""
4954
4955 #. type: Plain text
4956 #: build/C/man2/exit_group.2:33
4957 #, no-wrap
4958 msgid "B<void exit_group(int >I<status>B<);>\n"
4959 msgstr ""
4960
4961 #. type: Plain text
4962 #: build/C/man2/exit_group.2:39
4963 msgid ""
4964 "This system call is equivalent to B<exit>(2)  except that it terminates not "
4965 "only the calling thread, but all threads in the calling process's thread "
4966 "group."
4967 msgstr ""
4968
4969 #. type: Plain text
4970 #: build/C/man2/exit_group.2:41
4971 msgid "This system call does not return."
4972 msgstr ""
4973
4974 #. type: Plain text
4975 #: build/C/man2/exit_group.2:43
4976 msgid "This call is present since Linux 2.5.35."
4977 msgstr ""
4978
4979 #. type: Plain text
4980 #: build/C/man2/exit_group.2:45
4981 msgid "This call is Linux-specific."
4982 msgstr ""
4983
4984 #. type: Plain text
4985 #: build/C/man2/exit_group.2:49
4986 msgid ""
4987 "Since glibc 2.3, this is the system call invoked when the B<exit>(2)  "
4988 "wrapper function is called."
4989 msgstr ""
4990
4991 #. type: Plain text
4992 #: build/C/man2/exit_group.2:51
4993 msgid "B<exit>(2)"
4994 msgstr ""
4995
4996 #. type: TH
4997 #: build/C/man2/fcntl.2:61
4998 #, no-wrap
4999 msgid "FCNTL"
5000 msgstr ""
5001
5002 #. type: Plain text
5003 #: build/C/man2/fcntl.2:64
5004 msgid "fcntl - manipulate file descriptor"
5005 msgstr ""
5006
5007 #. type: Plain text
5008 #: build/C/man2/fcntl.2:68
5009 #, no-wrap
5010 msgid ""
5011 "B<#include E<lt>unistd.hE<gt>>\n"
5012 "B<#include E<lt>fcntl.hE<gt>>\n"
5013 msgstr ""
5014
5015 #. type: Plain text
5016 #: build/C/man2/fcntl.2:70
5017 #, no-wrap
5018 msgid "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n"
5019 msgstr ""
5020
5021 #. type: Plain text
5022 #: build/C/man2/fcntl.2:77
5023 msgid ""
5024 "B<fcntl>()  performs one of the operations described below on the open file "
5025 "descriptor I<fd>.  The operation is determined by I<cmd>."
5026 msgstr ""
5027
5028 #. type: Plain text
5029 #: build/C/man2/fcntl.2:91
5030 msgid ""
5031 "B<fcntl>()  can take an optional third argument.  Whether or not this "
5032 "argument is required is determined by I<cmd>.  The required argument type is "
5033 "indicated in parentheses after each I<cmd> name (in most cases, the required "
5034 "type is I<int>, and we identify the argument using the name I<arg>), or "
5035 "I<void> is specified if the argument is not required."
5036 msgstr ""
5037
5038 #. type: SS
5039 #: build/C/man2/fcntl.2:91
5040 #, no-wrap
5041 msgid "Duplicating a file descriptor"
5042 msgstr ""
5043
5044 #. type: TP
5045 #: build/C/man2/fcntl.2:92
5046 #, no-wrap
5047 msgid "B<F_DUPFD> (I<int>)"
5048 msgstr ""
5049
5050 #. type: Plain text
5051 #: build/C/man2/fcntl.2:102
5052 msgid ""
5053 "Find the lowest numbered available file descriptor greater than or equal to "
5054 "I<arg> and make it be a copy of I<fd>.  This is different from B<dup2>(2), "
5055 "which uses exactly the descriptor specified."
5056 msgstr ""
5057
5058 #. type: Plain text
5059 #: build/C/man2/fcntl.2:104
5060 msgid "On success, the new descriptor is returned."
5061 msgstr ""
5062
5063 #. type: Plain text
5064 #: build/C/man2/fcntl.2:108
5065 msgid "See B<dup>(2)  for further details."
5066 msgstr ""
5067
5068 #. type: TP
5069 #: build/C/man2/fcntl.2:108
5070 #, no-wrap
5071 msgid "B<F_DUPFD_CLOEXEC> (I<int>; since Linux 2.6.24)"
5072 msgstr ""
5073
5074 #. type: Plain text
5075 #: build/C/man2/fcntl.2:125
5076 msgid ""
5077 "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the "
5078 "duplicate descriptor.  Specifying this flag permits a program to avoid an "
5079 "additional B<fcntl>()  B<F_SETFD> operation to set the B<FD_CLOEXEC> flag.  "
5080 "For an explanation of why this flag is useful, see the description of "
5081 "B<O_CLOEXEC> in B<open>(2)."
5082 msgstr ""
5083
5084 #. type: SS
5085 #: build/C/man2/fcntl.2:125
5086 #, no-wrap
5087 msgid "File descriptor flags"
5088 msgstr ""
5089
5090 #. type: Plain text
5091 #: build/C/man2/fcntl.2:136
5092 msgid ""
5093 "The following commands manipulate the flags associated with a file "
5094 "descriptor.  Currently, only one such flag is defined: B<FD_CLOEXEC>, the "
5095 "close-on-exec flag.  If the B<FD_CLOEXEC> bit is 0, the file descriptor will "
5096 "remain open across an B<execve>(2), otherwise it will be closed."
5097 msgstr ""
5098
5099 #. type: TP
5100 #: build/C/man2/fcntl.2:136
5101 #, no-wrap
5102 msgid "B<F_GETFD> (I<void>)"
5103 msgstr ""
5104
5105 #. type: Plain text
5106 #: build/C/man2/fcntl.2:141
5107 msgid "Read the file descriptor flags; I<arg> is ignored."
5108 msgstr ""
5109
5110 #. type: TP
5111 #: build/C/man2/fcntl.2:141
5112 #, no-wrap
5113 msgid "B<F_SETFD> (I<int>)"
5114 msgstr ""
5115
5116 #. type: Plain text
5117 #: build/C/man2/fcntl.2:145
5118 msgid "Set the file descriptor flags to the value specified by I<arg>."
5119 msgstr ""
5120
5121 #. type: Plain text
5122 #: build/C/man2/fcntl.2:160
5123 msgid ""
5124 "In multithreaded programs, using B<fcntl>()  B<F_SETFD> to set the "
5125 "close-on-exec flag at the same time as another thread performs a B<fork>(2)  "
5126 "plus B<execve>(2)  is vulnerable to a race condition that may "
5127 "unintentionally leak the file descriptor to the program executed in the "
5128 "child process.  See the discussion of the B<O_CLOEXEC> flag in B<open>(2)  "
5129 "for details and a remedy to the problem."
5130 msgstr ""
5131
5132 #. type: SS
5133 #: build/C/man2/fcntl.2:160
5134 #, no-wrap
5135 msgid "File status flags"
5136 msgstr ""
5137
5138 #.  or
5139 #.  .BR creat (2),
5140 #. type: Plain text
5141 #: build/C/man2/fcntl.2:175
5142 msgid ""
5143 "Each open file description has certain associated status flags, initialized "
5144 "by B<open>(2)  and possibly modified by B<fcntl>().  Duplicated file "
5145 "descriptors (made with B<dup>(2), B<fcntl>(F_DUPFD), B<fork>(2), etc.) refer "
5146 "to the same open file description, and thus share the same file status "
5147 "flags."
5148 msgstr ""
5149
5150 #. type: Plain text
5151 #: build/C/man2/fcntl.2:178
5152 msgid "The file status flags and their semantics are described in B<open>(2)."
5153 msgstr ""
5154
5155 #. type: TP
5156 #: build/C/man2/fcntl.2:178
5157 #, no-wrap
5158 msgid "B<F_GETFL> (I<void>)"
5159 msgstr ""
5160
5161 #. type: Plain text
5162 #: build/C/man2/fcntl.2:183
5163 msgid "Get the file access mode and the file status flags; I<arg> is ignored."
5164 msgstr ""
5165
5166 #. type: TP
5167 #: build/C/man2/fcntl.2:183
5168 #, no-wrap
5169 msgid "B<F_SETFL> (I<int>)"
5170 msgstr ""
5171
5172 #. type: Plain text
5173 #: build/C/man2/fcntl.2:208
5174 msgid ""
5175 "Set the file status flags to the value specified by I<arg>.  File access "
5176 "mode (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>)  and file creation flags (i.e., "
5177 "B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>)  in I<arg> are ignored.  On "
5178 "Linux this command can change only the B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, "
5179 "B<O_NOATIME>, and B<O_NONBLOCK> flags.  It is not possible to change the "
5180 "B<O_DSYNC> and B<O_SYNC> flags; see BUGS, below."
5181 msgstr ""
5182
5183 #. type: SS
5184 #: build/C/man2/fcntl.2:208
5185 #, no-wrap
5186 msgid "Advisory locking"
5187 msgstr ""
5188
5189 #. type: Plain text
5190 #: build/C/man2/fcntl.2:219
5191 msgid ""
5192 "B<F_SETLK>, B<F_SETLKW>, and B<F_GETLK> are used to acquire, release, and "
5193 "test for the existence of record locks (also known as file-segment or "
5194 "file-region locks).  The third argument, I<lock>, is a pointer to a "
5195 "structure that has at least the following fields (in unspecified order)."
5196 msgstr ""
5197
5198 #. type: Plain text
5199 #: build/C/man2/fcntl.2:234
5200 #, no-wrap
5201 msgid ""
5202 "struct flock {\n"
5203 "    ...\n"
5204 "    short l_type;    /* Type of lock: F_RDLCK,\n"
5205 "                        F_WRLCK, F_UNLCK */\n"
5206 "    short l_whence;  /* How to interpret l_start:\n"
5207 "                        SEEK_SET, SEEK_CUR, SEEK_END */\n"
5208 "    off_t l_start;   /* Starting offset for lock */\n"
5209 "    off_t l_len;     /* Number of bytes to lock */\n"
5210 "    pid_t l_pid;     /* PID of process blocking our lock\n"
5211 "                        (F_GETLK only) */\n"
5212 "    ...\n"
5213 "};\n"
5214 msgstr ""
5215
5216 #. type: Plain text
5217 #: build/C/man2/fcntl.2:242
5218 msgid ""
5219 "The I<l_whence>, I<l_start>, and I<l_len> fields of this structure specify "
5220 "the range of bytes we wish to lock.  Bytes past the end of the file may be "
5221 "locked, but not bytes before the start of the file."
5222 msgstr ""
5223
5224 #. type: Plain text
5225 #: build/C/man2/fcntl.2:262
5226 msgid ""
5227 "I<l_start> is the starting offset for the lock, and is interpreted relative "
5228 "to either: the start of the file (if I<l_whence> is B<SEEK_SET>); the "
5229 "current file offset (if I<l_whence> is B<SEEK_CUR>); or the end of the file "
5230 "(if I<l_whence> is B<SEEK_END>).  In the final two cases, I<l_start> can be "
5231 "a negative number provided the offset does not lie before the start of the "
5232 "file."
5233 msgstr ""
5234
5235 #. type: Plain text
5236 #: build/C/man2/fcntl.2:277
5237 msgid ""
5238 "I<l_len> specifies the number of bytes to be locked.  If I<l_len> is "
5239 "positive, then the range to be locked covers bytes I<l_start> up to and "
5240 "including I<l_start>+I<l_len>-1.  Specifying 0 for I<l_len> has the special "
5241 "meaning: lock all bytes starting at the location specified by I<l_whence> "
5242 "and I<l_start> through to the end of file, no matter how large the file "
5243 "grows."
5244 msgstr ""
5245
5246 #. type: Plain text
5247 #: build/C/man2/fcntl.2:290
5248 msgid ""
5249 "POSIX.1-2001 allows (but does not require)  an implementation to support a "
5250 "negative I<l_len> value; if I<l_len> is negative, the interval described by "
5251 "I<lock> covers bytes I<l_start>+I<l_len> up to and including I<l_start>-1.  "
5252 "This is supported by Linux since kernel versions 2.4.21 and 2.5.49."
5253 msgstr ""
5254
5255 #. type: Plain text
5256 #: build/C/man2/fcntl.2:309
5257 msgid ""
5258 "The I<l_type> field can be used to place a read (B<F_RDLCK>)  or a write "
5259 "(B<F_WRLCK>)  lock on a file.  Any number of processes may hold a read lock "
5260 "(shared lock)  on a file region, but only one process may hold a write lock "
5261 "(exclusive lock).  An exclusive lock excludes all other locks, both shared "
5262 "and exclusive.  A single process can hold only one type of lock on a file "
5263 "region; if a new lock is applied to an already-locked region, then the "
5264 "existing lock is converted to the new lock type.  (Such conversions may "
5265 "involve splitting, shrinking, or coalescing with an existing lock if the "
5266 "byte range specified by the new lock does not precisely coincide with the "
5267 "range of the existing lock.)"
5268 msgstr ""
5269
5270 #. type: TP
5271 #: build/C/man2/fcntl.2:309
5272 #, no-wrap
5273 msgid "B<F_SETLK> (I<struct flock *>)"
5274 msgstr ""
5275
5276 #. type: Plain text
5277 #: build/C/man2/fcntl.2:332
5278 msgid ""
5279 "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
5280 "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
5281 "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a conflicting "
5282 "lock is held by another process, this call returns -1 and sets I<errno> to "
5283 "B<EACCES> or B<EAGAIN>."
5284 msgstr ""
5285
5286 #. type: TP
5287 #: build/C/man2/fcntl.2:332
5288 #, no-wrap
5289 msgid "B<F_SETLKW> (I<struct flock *>)"
5290 msgstr ""
5291
5292 #. type: Plain text
5293 #: build/C/man2/fcntl.2:346
5294 msgid ""
5295 "As for B<F_SETLK>, but if a conflicting lock is held on the file, then wait "
5296 "for that lock to be released.  If a signal is caught while waiting, then the "
5297 "call is interrupted and (after the signal handler has returned)  returns "
5298 "immediately (with return value -1 and I<errno> set to B<EINTR>; see "
5299 "B<signal>(7))."
5300 msgstr ""
5301
5302 #. type: TP
5303 #: build/C/man2/fcntl.2:346
5304 #, no-wrap
5305 msgid "B<F_GETLK> (I<struct flock *>)"
5306 msgstr ""
5307
5308 #. type: Plain text
5309 #: build/C/man2/fcntl.2:373
5310 msgid ""
5311 "On input to this call, I<lock> describes a lock we would like to place on "
5312 "the file.  If the lock could be placed, B<fcntl>()  does not actually place "
5313 "it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the "
5314 "other fields of the structure unchanged.  If one or more incompatible locks "
5315 "would prevent this lock being placed, then B<fcntl>()  returns details about "
5316 "one of these locks in the I<l_type>, I<l_whence>, I<l_start>, and I<l_len> "
5317 "fields of I<lock> and sets I<l_pid> to be the PID of the process holding "
5318 "that lock.  Note that the information returned by B<F_GETLK> may already be "
5319 "out of date by the time the caller inspects it."
5320 msgstr ""
5321
5322 #. type: Plain text
5323 #: build/C/man2/fcntl.2:381
5324 msgid ""
5325 "In order to place a read lock, I<fd> must be open for reading.  In order to "
5326 "place a write lock, I<fd> must be open for writing.  To place both types of "
5327 "lock, open a file read-write."
5328 msgstr ""
5329
5330 #.  (Additional file descriptors referring to the same file
5331 #.  may have been obtained by calls to
5332 #.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
5333 #. type: Plain text
5334 #: build/C/man2/fcntl.2:398
5335 msgid ""
5336 "As well as being removed by an explicit B<F_UNLCK>, record locks are "
5337 "automatically released when the process terminates or if it closes I<any> "
5338 "file descriptor referring to a file on which locks are held.  This is bad: "
5339 "it means that a process can lose the locks on a file like I</etc/passwd> or "
5340 "I</etc/mtab> when for some reason a library function decides to open, read "
5341 "and close it."
5342 msgstr ""
5343
5344 #. type: Plain text
5345 #: build/C/man2/fcntl.2:403
5346 msgid ""
5347 "Record locks are not inherited by a child created via B<fork>(2), but are "
5348 "preserved across an B<execve>(2)."
5349 msgstr ""
5350
5351 #. type: Plain text
5352 #: build/C/man2/fcntl.2:412
5353 msgid ""
5354 "Because of the buffering performed by the B<stdio>(3)  library, the use of "
5355 "record locking with routines in that package should be avoided; use "
5356 "B<read>(2)  and B<write>(2)  instead."
5357 msgstr ""
5358
5359 #. type: SS
5360 #: build/C/man2/fcntl.2:412 build/C/man2/fcntl.2:1327
5361 #, no-wrap
5362 msgid "Mandatory locking"
5363 msgstr ""
5364
5365 #. type: Plain text
5366 #: build/C/man2/fcntl.2:416
5367 msgid ""
5368 "(Non-POSIX.)  The above record locks may be either advisory or mandatory, "
5369 "and are advisory by default."
5370 msgstr ""
5371
5372 #. type: Plain text
5373 #: build/C/man2/fcntl.2:419
5374 msgid ""
5375 "Advisory locks are not enforced and are useful only between cooperating "
5376 "processes."
5377 msgstr ""
5378
5379 #. type: Plain text
5380 #: build/C/man2/fcntl.2:438
5381 msgid ""
5382 "Mandatory locks are enforced for all processes.  If a process tries to "
5383 "perform an incompatible access (e.g., B<read>(2)  or B<write>(2))  on a file "
5384 "region that has an incompatible mandatory lock, then the result depends upon "
5385 "whether the B<O_NONBLOCK> flag is enabled for its open file description.  If "
5386 "the B<O_NONBLOCK> flag is not enabled, then system call is blocked until the "
5387 "lock is removed or converted to a mode that is compatible with the access.  "
5388 "If the B<O_NONBLOCK> flag is enabled, then the system call fails with the "
5389 "error B<EAGAIN>."
5390 msgstr ""
5391
5392 #. type: Plain text
5393 #: build/C/man2/fcntl.2:455
5394 msgid ""
5395 "To make use of mandatory locks, mandatory locking must be enabled both on "
5396 "the filesystem that contains the file to be locked, and on the file itself.  "
5397 "Mandatory locking is enabled on a filesystem using the \"-o mand\" option to "
5398 "B<mount>(8), or the B<MS_MANDLOCK> flag for B<mount>(2).  Mandatory locking "
5399 "is enabled on a file by disabling group execute permission on the file and "
5400 "enabling the set-group-ID permission bit (see B<chmod>(1)  and B<chmod>(2))."
5401 msgstr ""
5402
5403 #. type: Plain text
5404 #: build/C/man2/fcntl.2:458
5405 msgid ""
5406 "The Linux implementation of mandatory locking is unreliable.  See BUGS "
5407 "below."
5408 msgstr ""
5409
5410 #. type: SS
5411 #: build/C/man2/fcntl.2:458
5412 #, no-wrap
5413 msgid "Managing signals"
5414 msgstr ""
5415
5416 #. type: Plain text
5417 #: build/C/man2/fcntl.2:467
5418 msgid ""
5419 "B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG> and "
5420 "B<F_SETSIG> are used to manage I/O availability signals:"
5421 msgstr ""
5422
5423 #. type: TP
5424 #: build/C/man2/fcntl.2:467
5425 #, no-wrap
5426 msgid "B<F_GETOWN> (I<void>)"
5427 msgstr ""
5428
5429 #. type: Plain text
5430 #: build/C/man2/fcntl.2:480
5431 msgid ""
5432 "Return (as the function result)  the process ID or process group currently "
5433 "receiving B<SIGIO> and B<SIGURG> signals for events on file descriptor "
5434 "I<fd>.  Process IDs are returned as positive values; process group IDs are "
5435 "returned as negative values (but see BUGS below).  I<arg> is ignored."
5436 msgstr ""
5437
5438 #. type: TP
5439 #: build/C/man2/fcntl.2:480
5440 #, no-wrap
5441 msgid "B<F_SETOWN> (I<int>)"
5442 msgstr ""
5443
5444 #. type: Plain text
5445 #: build/C/man2/fcntl.2:497
5446 msgid ""
5447 "Set the process ID or process group ID that will receive B<SIGIO> and "
5448 "B<SIGURG> signals for events on file descriptor I<fd> to the ID given in "
5449 "I<arg>.  A process ID is specified as a positive value; a process group ID "
5450 "is specified as a negative value.  Most commonly, the calling process "
5451 "specifies itself as the owner (that is, I<arg> is specified as "
5452 "B<getpid>(2))."
5453 msgstr ""
5454
5455 #.  From glibc.info:
5456 #. type: Plain text
5457 #: build/C/man2/fcntl.2:514
5458 msgid ""
5459 "If you set the B<O_ASYNC> status flag on a file descriptor by using the "
5460 "B<F_SETFL> command of B<fcntl>(), a B<SIGIO> signal is sent whenever input "
5461 "or output becomes possible on that file descriptor.  B<F_SETSIG> can be used "
5462 "to obtain delivery of a signal other than B<SIGIO>.  If this permission "
5463 "check fails, then the signal is silently discarded."
5464 msgstr ""
5465
5466 #. type: Plain text
5467 #: build/C/man2/fcntl.2:522
5468 msgid ""
5469 "Sending a signal to the owner process (group) specified by B<F_SETOWN> is "
5470 "subject to the same permissions checks as are described for B<kill>(2), "
5471 "where the sending process is the one that employs B<F_SETOWN> (but see BUGS "
5472 "below)."
5473 msgstr ""
5474
5475 #.  The following appears to be rubbish.  It doesn't seem to
5476 #.  be true according to the kernel source, and I can write
5477 #.  a program that gets a terminal-generated SIGIO even though
5478 #.  it is not the foreground process group of the terminal.
5479 #.  -- MTK, 8 Apr 05
5480 #
5481 #.  If the file descriptor
5482 #.  .I fd
5483 #.  refers to a terminal device, then SIGIO
5484 #.  signals are sent to the foreground process group of the terminal.
5485 #. type: Plain text
5486 #: build/C/man2/fcntl.2:546
5487 msgid ""
5488 "If the file descriptor I<fd> refers to a socket, B<F_SETOWN> also selects "
5489 "the recipient of B<SIGURG> signals that are delivered when out-of-band data "
5490 "arrives on that socket.  (B<SIGURG> is sent in any situation where "
5491 "B<select>(2)  would report the socket as having an \"exceptional "
5492 "condition\".)"
5493 msgstr ""
5494
5495 #. type: Plain text
5496 #: build/C/man2/fcntl.2:549
5497 msgid "The following was true in 2.6.x kernels up to and including kernel 2.6.11:"
5498 msgstr ""
5499
5500 #.  The relevant place in the (2.6) kernel source is the
5501 #.  'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005
5502 #.  send_sigurg()/send_sigurg_to_task() bypasses
5503 #.  kill_fasync()/send_sigio()/send_sigio_to_task()
5504 #.  to directly call send_group_sig_info()
5505 #.      -- MTK, Apr 2005 (kernel 2.6.11)
5506 #. type: Plain text
5507 #: build/C/man2/fcntl.2:589
5508 msgid ""
5509 "If a nonzero value is given to B<F_SETSIG> in a multithreaded process "
5510 "running with a threading library that supports thread groups (e.g., NPTL), "
5511 "then a positive value given to B<F_SETOWN> has a different meaning: instead "
5512 "of being a process ID identifying a whole process, it is a thread ID "
5513 "identifying a specific thread within a process.  Consequently, it may be "
5514 "necessary to pass B<F_SETOWN> the result of B<gettid>(2)  instead of "
5515 "B<getpid>(2)  to get sensible results when B<F_SETSIG> is used.  (In current "
5516 "Linux threading implementations, a main thread's thread ID is the same as "
5517 "its process ID.  This means that a single-threaded program can equally use "
5518 "B<gettid>(2)  or B<getpid>(2)  in this scenario.)  Note, however, that the "
5519 "statements in this paragraph do not apply to the B<SIGURG> signal generated "
5520 "for out-of-band data on a socket: this signal is always sent to either a "
5521 "process or a process group, depending on the value given to B<F_SETOWN>."
5522 msgstr ""
5523
5524 #. type: Plain text
5525 #: build/C/man2/fcntl.2:600
5526 msgid ""
5527 "The above behavior was accidentally dropped in Linux 2.6.12, and won't be "
5528 "restored.  From Linux 2.6.32 onward, use B<F_SETOWN_EX> to target B<SIGIO> "
5529 "and B<SIGURG> signals at a particular thread."
5530 msgstr ""
5531
5532 #. type: TP
5533 #: build/C/man2/fcntl.2:600
5534 #, no-wrap
5535 msgid "B<F_GETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5536 msgstr ""
5537
5538 #. type: Plain text
5539 #: build/C/man2/fcntl.2:609
5540 msgid ""
5541 "Return the current file descriptor owner settings as defined by a previous "
5542 "B<F_SETOWN_EX> operation.  The information is returned in the structure "
5543 "pointed to by I<arg>, which has the following form:"
5544 msgstr ""
5545
5546 #. type: Plain text
5547 #: build/C/man2/fcntl.2:616
5548 #, no-wrap
5549 msgid ""
5550 "struct f_owner_ex {\n"
5551 "    int   type;\n"
5552 "    pid_t pid;\n"
5553 "};\n"
5554 msgstr ""
5555
5556 #. type: Plain text
5557 #: build/C/man2/fcntl.2:633
5558 msgid ""
5559 "The I<type> field will have one of the values B<F_OWNER_TID>, "
5560 "B<F_OWNER_PID>, or B<F_OWNER_PGRP>.  The I<pid> field is a positive integer "
5561 "representing a thread ID, process ID, or process group ID.  See "
5562 "B<F_SETOWN_EX> for more details."
5563 msgstr ""
5564
5565 #. type: TP
5566 #: build/C/man2/fcntl.2:633
5567 #, no-wrap
5568 msgid "B<F_SETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5569 msgstr ""
5570
5571 #. type: Plain text
5572 #: build/C/man2/fcntl.2:649
5573 msgid ""
5574 "This operation performs a similar task to B<F_SETOWN>.  It allows the caller "
5575 "to direct I/O availability signals to a specific thread, process, or process "
5576 "group.  The caller specifies the target of signals via I<arg>, which is a "
5577 "pointer to a I<f_owner_ex> structure.  The I<type> field has one of the "
5578 "following values, which define how I<pid> is interpreted:"
5579 msgstr ""
5580
5581 #. type: TP
5582 #: build/C/man2/fcntl.2:650
5583 #, no-wrap
5584 msgid "B<F_OWNER_TID>"
5585 msgstr ""
5586
5587 #. type: Plain text
5588 #: build/C/man2/fcntl.2:659
5589 msgid ""
5590 "Send the signal to the thread whose thread ID (the value returned by a call "
5591 "to B<clone>(2)  or B<gettid>(2))  is specified in I<pid>."
5592 msgstr ""
5593
5594 #. type: TP
5595 #: build/C/man2/fcntl.2:659
5596 #, no-wrap
5597 msgid "B<F_OWNER_PID>"
5598 msgstr ""
5599
5600 #. type: Plain text
5601 #: build/C/man2/fcntl.2:664
5602 msgid "Send the signal to the process whose ID is specified in I<pid>."
5603 msgstr ""
5604
5605 #. type: TP
5606 #: build/C/man2/fcntl.2:664
5607 #, no-wrap
5608 msgid "B<F_OWNER_PGRP>"
5609 msgstr ""
5610
5611 #. type: Plain text
5612 #: build/C/man2/fcntl.2:672
5613 msgid ""
5614 "Send the signal to the process group whose ID is specified in I<pid>.  (Note "
5615 "that, unlike with B<F_SETOWN>, a process group ID is specified as a positive "
5616 "value here.)"
5617 msgstr ""
5618
5619 #. type: TP
5620 #: build/C/man2/fcntl.2:673
5621 #, no-wrap
5622 msgid "B<F_GETSIG> (I<void>)"
5623 msgstr ""
5624
5625 #. type: Plain text
5626 #: build/C/man2/fcntl.2:688
5627 msgid ""
5628 "Return (as the function result)  the signal sent when input or output "
5629 "becomes possible.  A value of zero means B<SIGIO> is sent.  Any other value "
5630 "(including B<SIGIO>)  is the signal sent instead, and in this case "
5631 "additional info is available to the signal handler if installed with "
5632 "B<SA_SIGINFO>.  I<arg> is ignored."
5633 msgstr ""
5634
5635 #. type: TP
5636 #: build/C/man2/fcntl.2:688
5637 #, no-wrap
5638 msgid "B<F_SETSIG> (I<int>)"
5639 msgstr ""
5640
5641 #
5642 #.  The following was true only up until 2.6.11:
5643 #
5644 #.  Additionally, passing a nonzero value to
5645 #.  .B F_SETSIG
5646 #.  changes the signal recipient from a whole process to a specific thread
5647 #.  within a process.
5648 #.  See the description of
5649 #.  .B F_SETOWN
5650 #.  for more details.
5651 #. type: Plain text
5652 #: build/C/man2/fcntl.2:711
5653 msgid ""
5654 "Set the signal sent when input or output becomes possible to the value given "
5655 "in I<arg>.  A value of zero means to send the default B<SIGIO> signal.  Any "
5656 "other value (including B<SIGIO>)  is the signal to send instead, and in this "
5657 "case additional info is available to the signal handler if installed with "
5658 "B<SA_SIGINFO>."
5659 msgstr ""
5660
5661 #. type: Plain text
5662 #: build/C/man2/fcntl.2:739
5663 msgid ""
5664 "By using B<F_SETSIG> with a nonzero value, and setting B<SA_SIGINFO> for the "
5665 "signal handler (see B<sigaction>(2)), extra information about I/O events is "
5666 "passed to the handler in a I<siginfo_t> structure.  If the I<si_code> field "
5667 "indicates the source is B<SI_SIGIO>, the I<si_fd> field gives the file "
5668 "descriptor associated with the event.  Otherwise, there is no indication "
5669 "which file descriptors are pending, and you should use the usual mechanisms "
5670 "(B<select>(2), B<poll>(2), B<read>(2)  with B<O_NONBLOCK> set etc.) to "
5671 "determine which file descriptors are available for I/O."
5672 msgstr ""
5673
5674 #. type: Plain text
5675 #: build/C/man2/fcntl.2:748
5676 msgid ""
5677 "By selecting a real time signal (value E<gt>= B<SIGRTMIN>), multiple I/O "
5678 "events may be queued using the same signal numbers.  (Queuing is dependent "
5679 "on available memory).  Extra information is available if B<SA_SIGINFO> is "
5680 "set for the signal handler, as above."
5681 msgstr ""
5682
5683 #.  See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05
5684 #. type: Plain text
5685 #: build/C/man2/fcntl.2:761
5686 msgid ""
5687 "Note that Linux imposes a limit on the number of real-time signals that may "
5688 "be queued to a process (see B<getrlimit>(2)  and B<signal>(7))  and if this "
5689 "limit is reached, then the kernel reverts to delivering B<SIGIO>, and this "
5690 "signal is delivered to the entire process rather than to a specific thread."
5691 msgstr ""
5692
5693 #. type: Plain text
5694 #: build/C/man2/fcntl.2:768
5695 msgid ""
5696 "Using these mechanisms, a program can implement fully asynchronous I/O "
5697 "without using B<select>(2)  or B<poll>(2)  most of the time."
5698 msgstr ""
5699
5700 #. type: Plain text
5701 #: build/C/man2/fcntl.2:792
5702 msgid ""
5703 "The use of B<O_ASYNC> is specific to BSD and Linux.  The only use of "
5704 "B<F_GETOWN> and B<F_SETOWN> specified in POSIX.1 is in conjunction with the "
5705 "use of the B<SIGURG> signal on sockets.  (POSIX does not specify the "
5706 "B<SIGIO> signal.)  B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, and "
5707 "B<F_SETSIG> are Linux-specific.  POSIX has asynchronous I/O and the "
5708 "I<aio_sigevent> structure to achieve similar things; these are also "
5709 "available in Linux as part of the GNU C Library (Glibc)."
5710 msgstr ""
5711
5712 #. type: SS
5713 #: build/C/man2/fcntl.2:792
5714 #, no-wrap
5715 msgid "Leases"
5716 msgstr ""
5717
5718 #. type: Plain text
5719 #: build/C/man2/fcntl.2:807
5720 msgid ""
5721 "B<F_SETLEASE> and B<F_GETLEASE> (Linux 2.4 onward) are used (respectively) "
5722 "to establish a new lease, and retrieve the current lease, on the open file "
5723 "description referred to by the file descriptor I<fd>.  A file lease provides "
5724 "a mechanism whereby the process holding the lease (the \"lease holder\") is "
5725 "notified (via delivery of a signal)  when a process (the \"lease breaker\") "
5726 "tries to B<open>(2)  or B<truncate>(2)  the file referred to by that file "
5727 "descriptor."
5728 msgstr ""
5729
5730 #. type: TP
5731 #: build/C/man2/fcntl.2:807
5732 #, no-wrap
5733 msgid "B<F_SETLEASE> (I<int>)"
5734 msgstr ""
5735
5736 #. type: Plain text
5737 #: build/C/man2/fcntl.2:812
5738 msgid ""
5739 "Set or remove a file lease according to which of the following values is "
5740 "specified in the integer I<arg>:"
5741 msgstr ""
5742
5743 #. type: TP
5744 #: build/C/man2/fcntl.2:813
5745 #, no-wrap
5746 msgid "B<F_RDLCK>"
5747 msgstr ""
5748
5749 #.  The following became true in kernel 2.6.10:
5750 #.  See the man-pages-2.09 Changelog for further info.
5751 #. type: Plain text
5752 #: build/C/man2/fcntl.2:822
5753 msgid ""
5754 "Take out a read lease.  This will cause the calling process to be notified "
5755 "when the file is opened for writing or is truncated.  A read lease can be "
5756 "placed only on a file descriptor that is opened read-only."
5757 msgstr ""
5758
5759 #. type: TP
5760 #: build/C/man2/fcntl.2:822
5761 #, no-wrap
5762 msgid "B<F_WRLCK>"
5763 msgstr ""
5764
5765 #. type: Plain text
5766 #: build/C/man2/fcntl.2:829
5767 msgid ""
5768 "Take out a write lease.  This will cause the caller to be notified when the "
5769 "file is opened for reading or writing or is truncated.  A write lease may be "
5770 "placed on a file only if there are no other open file descriptors for the "
5771 "file."
5772 msgstr ""
5773
5774 #. type: TP
5775 #: build/C/man2/fcntl.2:829
5776 #, no-wrap
5777 msgid "B<F_UNLCK>"
5778 msgstr ""
5779
5780 #. type: Plain text
5781 #: build/C/man2/fcntl.2:832
5782 msgid "Remove our lease from the file."
5783 msgstr ""
5784
5785 #. type: Plain text
5786 #: build/C/man2/fcntl.2:846
5787 msgid ""
5788 "Leases are associated with an open file description (see B<open>(2)).  This "
5789 "means that duplicate file descriptors (created by, for example, B<fork>(2)  "
5790 "or B<dup>(2))  refer to the same lease, and this lease may be modified or "
5791 "released using any of these descriptors.  Furthermore, the lease is released "
5792 "by either an explicit B<F_UNLCK> operation on any of these duplicate "
5793 "descriptors, or when all such descriptors have been closed."
5794 msgstr ""
5795
5796 #. type: Plain text
5797 #: build/C/man2/fcntl.2:853
5798 msgid ""
5799 "Leases may be taken out only on regular files.  An unprivileged process may "
5800 "take out a lease only on a file whose UID (owner) matches the filesystem UID "
5801 "of the process.  A process with the B<CAP_LEASE> capability may take out "
5802 "leases on arbitrary files."
5803 msgstr ""
5804
5805 #. type: TP
5806 #: build/C/man2/fcntl.2:853
5807 #, no-wrap
5808 msgid "B<F_GETLEASE> (I<void>)"
5809 msgstr ""
5810
5811 #. type: Plain text
5812 #: build/C/man2/fcntl.2:862
5813 msgid ""
5814 "Indicates what type of lease is associated with the file descriptor I<fd> by "
5815 "returning either B<F_RDLCK>, B<F_WRLCK>, or B<F_UNLCK>, indicating, "
5816 "respectively, a read lease , a write lease, or no lease.  I<arg> is ignored."
5817 msgstr ""
5818
5819 #. type: Plain text
5820 #: build/C/man2/fcntl.2:893
5821 msgid ""
5822 "When a process (the \"lease breaker\") performs an B<open>(2)  or "
5823 "B<truncate>(2)  that conflicts with a lease established via B<F_SETLEASE>, "
5824 "the system call is blocked by the kernel and the kernel notifies the lease "
5825 "holder by sending it a signal (B<SIGIO> by default).  The lease holder "
5826 "should respond to receipt of this signal by doing whatever cleanup is "
5827 "required in preparation for the file to be accessed by another process "
5828 "(e.g., flushing cached buffers) and then either remove or downgrade its "
5829 "lease.  A lease is removed by performing an B<F_SETLEASE> command specifying "
5830 "I<arg> as B<F_UNLCK>.  If the lease holder currently holds a write lease on "
5831 "the file, and the lease breaker is opening the file for reading, then it is "
5832 "sufficient for the lease holder to downgrade the lease to a read lease.  "
5833 "This is done by performing an B<F_SETLEASE> command specifying I<arg> as "
5834 "B<F_RDLCK>."
5835 msgstr ""
5836
5837 #. type: Plain text
5838 #: build/C/man2/fcntl.2:898
5839 msgid ""
5840 "If the lease holder fails to downgrade or remove the lease within the number "
5841 "of seconds specified in I</proc/sys/fs/lease-break-time>, then the kernel "
5842 "forcibly removes or downgrades the lease holder's lease."
5843 msgstr ""
5844
5845 #. type: Plain text
5846 #: build/C/man2/fcntl.2:908
5847 msgid ""
5848 "Once a lease break has been initiated, B<F_GETLEASE> returns the target "
5849 "lease type (either B<F_RDLCK> or B<F_UNLCK>, depending on what would be "
5850 "compatible with the lease breaker)  until the lease holder voluntarily "
5851 "downgrades or removes the lease or the kernel forcibly does so after the "
5852 "lease break timer expires."
5853 msgstr ""
5854
5855 #. type: Plain text
5856 #: build/C/man2/fcntl.2:912
5857 msgid ""
5858 "Once the lease has been voluntarily or forcibly removed or downgraded, and "
5859 "assuming the lease breaker has not unblocked its system call, the kernel "
5860 "permits the lease breaker's system call to proceed."
5861 msgstr ""
5862
5863 #. type: Plain text
5864 #: build/C/man2/fcntl.2:933
5865 msgid ""
5866 "If the lease breaker's blocked B<open>(2)  or B<truncate>(2)  is interrupted "
5867 "by a signal handler, then the system call fails with the error B<EINTR>, but "
5868 "the other steps still occur as described above.  If the lease breaker is "
5869 "killed by a signal while blocked in B<open>(2)  or B<truncate>(2), then the "
5870 "other steps still occur as described above.  If the lease breaker specifies "
5871 "the B<O_NONBLOCK> flag when calling B<open>(2), then the call immediately "
5872 "fails with the error B<EWOULDBLOCK>, but the other steps still occur as "
5873 "described above."
5874 msgstr ""
5875
5876 #. type: Plain text
5877 #: build/C/man2/fcntl.2:954
5878 msgid ""
5879 "The default signal used to notify the lease holder is B<SIGIO>, but this can "
5880 "be changed using the B<F_SETSIG> command to B<fcntl>().  If a B<F_SETSIG> "
5881 "command is performed (even one specifying B<SIGIO>), and the signal handler "
5882 "is established using B<SA_SIGINFO>, then the handler will receive a "
5883 "I<siginfo_t> structure as its second argument, and the I<si_fd> field of "
5884 "this argument will hold the descriptor of the leased file that has been "
5885 "accessed by another process.  (This is useful if the caller holds leases "
5886 "against multiple files)."
5887 msgstr ""
5888
5889 #. type: SS
5890 #: build/C/man2/fcntl.2:954
5891 #, no-wrap
5892 msgid "File and directory change notification (dnotify)"
5893 msgstr ""
5894
5895 #. type: TP
5896 #: build/C/man2/fcntl.2:955
5897 #, no-wrap
5898 msgid "B<F_NOTIFY> (I<int>)"
5899 msgstr ""
5900
5901 #. type: Plain text
5902 #: build/C/man2/fcntl.2:965
5903 msgid ""
5904 "(Linux 2.4 onward)  Provide notification when the directory referred to by "
5905 "I<fd> or any of the files that it contains is changed.  The events to be "
5906 "notified are specified in I<arg>, which is a bit mask specified by ORing "
5907 "together zero or more of the following bits:"
5908 msgstr ""
5909
5910 #. type: TP
5911 #: build/C/man2/fcntl.2:968
5912 #, no-wrap
5913 msgid "B<DN_ACCESS>"
5914 msgstr ""
5915
5916 #. type: Plain text
5917 #: build/C/man2/fcntl.2:971
5918 msgid "A file was accessed (read, pread, readv)"
5919 msgstr ""
5920
5921 #. type: TP
5922 #: build/C/man2/fcntl.2:971
5923 #, no-wrap
5924 msgid "B<DN_MODIFY>"
5925 msgstr ""
5926
5927 #. type: Plain text
5928 #: build/C/man2/fcntl.2:974
5929 msgid "A file was modified (write, pwrite, writev, truncate, ftruncate)."
5930 msgstr ""
5931
5932 #. type: TP
5933 #: build/C/man2/fcntl.2:974
5934 #, no-wrap
5935 msgid "B<DN_CREATE>"
5936 msgstr ""
5937
5938 #. type: Plain text
5939 #: build/C/man2/fcntl.2:977
5940 msgid "A file was created (open, creat, mknod, mkdir, link, symlink, rename)."
5941 msgstr ""
5942
5943 #. type: TP
5944 #: build/C/man2/fcntl.2:977
5945 #, no-wrap
5946 msgid "B<DN_DELETE>"
5947 msgstr ""
5948
5949 #. type: Plain text
5950 #: build/C/man2/fcntl.2:980
5951 msgid "A file was unlinked (unlink, rename to another directory, rmdir)."
5952 msgstr ""
5953
5954 #. type: TP
5955 #: build/C/man2/fcntl.2:980
5956 #, no-wrap
5957 msgid "B<DN_RENAME>"
5958 msgstr ""
5959
5960 #. type: Plain text
5961 #: build/C/man2/fcntl.2:983
5962 msgid "A file was renamed within this directory (rename)."
5963 msgstr ""
5964
5965 #. type: TP
5966 #: build/C/man2/fcntl.2:983
5967 #, no-wrap
5968 msgid "B<DN_ATTRIB>"
5969 msgstr ""
5970
5971 #. type: Plain text
5972 #: build/C/man2/fcntl.2:986
5973 msgid "The attributes of a file were changed (chown, chmod, utime[s])."
5974 msgstr ""
5975
5976 #. type: Plain text
5977 #: build/C/man2/fcntl.2:994
5978 msgid ""
5979 "(In order to obtain these definitions, the B<_GNU_SOURCE> feature test macro "
5980 "must be defined before including I<any> header files.)"
5981 msgstr ""
5982
5983 #. type: Plain text
5984 #: build/C/man2/fcntl.2:1002
5985 msgid ""
5986 "Directory notifications are normally \"one-shot\", and the application must "
5987 "reregister to receive further notifications.  Alternatively, if "
5988 "B<DN_MULTISHOT> is included in I<arg>, then notification will remain in "
5989 "effect until explicitly removed."
5990 msgstr ""
5991
5992 #.  The following does seem a poor API-design choice...
5993 #. type: Plain text
5994 #: build/C/man2/fcntl.2:1014
5995 msgid ""
5996 "A series of B<F_NOTIFY> requests is cumulative, with the events in I<arg> "
5997 "being added to the set already monitored.  To disable notification of all "
5998 "events, make an B<F_NOTIFY> call specifying I<arg> as 0."
5999 msgstr ""
6000
6001 #. type: Plain text
6002 #: build/C/man2/fcntl.2:1032
6003 msgid ""
6004 "Notification occurs via delivery of a signal.  The default signal is "
6005 "B<SIGIO>, but this can be changed using the B<F_SETSIG> command to "
6006 "B<fcntl>().  In the latter case, the signal handler receives a I<siginfo_t> "
6007 "structure as its second argument (if the handler was established using "
6008 "B<SA_SIGINFO>)  and the I<si_fd> field of this structure contains the file "
6009 "descriptor which generated the notification (useful when establishing "
6010 "notification on multiple directories)."
6011 msgstr ""
6012
6013 #. type: Plain text
6014 #: build/C/man2/fcntl.2:1037
6015 msgid ""
6016 "Especially when using B<DN_MULTISHOT>, a real time signal should be used for "
6017 "notification, so that multiple notifications can be queued."
6018 msgstr ""
6019
6020 #. type: Plain text
6021 #: build/C/man2/fcntl.2:1046
6022 msgid ""
6023 "B<NOTE:> New applications should use the I<inotify> interface (available "
6024 "since kernel 2.6.13), which provides a much superior interface for obtaining "
6025 "notifications of filesystem events.  See B<inotify>(7)."
6026 msgstr ""
6027
6028 #. type: SS
6029 #: build/C/man2/fcntl.2:1046
6030 #, no-wrap
6031 msgid "Changing the capacity of a pipe"
6032 msgstr ""
6033
6034 #. type: TP
6035 #: build/C/man2/fcntl.2:1047
6036 #, no-wrap
6037 msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
6038 msgstr ""
6039
6040 #. type: Plain text
6041 #: build/C/man2/fcntl.2:1078
6042 msgid ""
6043 "Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
6044 "bytes.  An unprivileged process can adjust the pipe capacity to any value "
6045 "between the system page size and the limit defined in "
6046 "I</proc/sys/fs/pipe-max-size> (see B<proc>(5)).  Attempts to set the pipe "
6047 "capacity below the page size are silently rounded up to the page size.  "
6048 "Attempts by an unprivileged process to set the pipe capacity above the limit "
6049 "in I</proc/sys/fs/pipe-max-size> yield the error B<EPERM>; a privileged "
6050 "process (B<CAP_SYS_RESOURCE>)  can override the limit.  When allocating the "
6051 "buffer for the pipe, the kernel may use a capacity larger than I<arg>, if "
6052 "that is convenient for the implementation.  The B<F_GETPIPE_SZ> operation "
6053 "returns the actual size used.  Attempting to set the pipe capacity smaller "
6054 "than the amount of buffer space currently used to store data produces the "
6055 "error B<EBUSY>."
6056 msgstr ""
6057
6058 #. type: TP
6059 #: build/C/man2/fcntl.2:1078
6060 #, no-wrap
6061 msgid "B<F_GETPIPE_SZ> (I<void>; since Linux 2.6.35)"
6062 msgstr ""
6063
6064 #. type: Plain text
6065 #: build/C/man2/fcntl.2:1082
6066 msgid ""
6067 "Return (as the function result) the capacity of the pipe referred to by "
6068 "I<fd>."
6069 msgstr ""
6070
6071 #. type: Plain text
6072 #: build/C/man2/fcntl.2:1084
6073 msgid "For a successful call, the return value depends on the operation:"
6074 msgstr ""
6075
6076 #. type: TP
6077 #: build/C/man2/fcntl.2:1084
6078 #, no-wrap
6079 msgid "B<F_DUPFD>"
6080 msgstr ""
6081
6082 #. type: Plain text
6083 #: build/C/man2/fcntl.2:1087
6084 msgid "The new descriptor."
6085 msgstr ""
6086
6087 #. type: TP
6088 #: build/C/man2/fcntl.2:1087
6089 #, no-wrap
6090 msgid "B<F_GETFD>"
6091 msgstr ""
6092
6093 #. type: Plain text
6094 #: build/C/man2/fcntl.2:1090
6095 msgid "Value of file descriptor flags."
6096 msgstr ""
6097
6098 #. type: TP
6099 #: build/C/man2/fcntl.2:1090
6100 #, no-wrap
6101 msgid "B<F_GETFL>"
6102 msgstr ""
6103
6104 #. type: Plain text
6105 #: build/C/man2/fcntl.2:1093
6106 msgid "Value of file status flags."
6107 msgstr ""
6108
6109 #. type: TP
6110 #: build/C/man2/fcntl.2:1093
6111 #, no-wrap
6112 msgid "B<F_GETLEASE>"
6113 msgstr ""
6114
6115 #. type: Plain text
6116 #: build/C/man2/fcntl.2:1096
6117 msgid "Type of lease held on file descriptor."
6118 msgstr ""
6119
6120 #. type: TP
6121 #: build/C/man2/fcntl.2:1096
6122 #, no-wrap
6123 msgid "B<F_GETOWN>"
6124 msgstr ""
6125
6126 #. type: Plain text
6127 #: build/C/man2/fcntl.2:1099
6128 msgid "Value of descriptor owner."
6129 msgstr ""
6130
6131 #. type: TP
6132 #: build/C/man2/fcntl.2:1099
6133 #, no-wrap
6134 msgid "B<F_GETSIG>"
6135 msgstr ""
6136
6137 #. type: Plain text
6138 #: build/C/man2/fcntl.2:1105
6139 msgid ""
6140 "Value of signal sent when read or write becomes possible, or zero for "
6141 "traditional B<SIGIO> behavior."
6142 msgstr ""
6143
6144 #. type: TP
6145 #: build/C/man2/fcntl.2:1105
6146 #, no-wrap
6147 msgid "B<F_GETPIPE_SZ>"
6148 msgstr ""
6149
6150 #. type: Plain text
6151 #: build/C/man2/fcntl.2:1108
6152 msgid "The pipe capacity."
6153 msgstr ""
6154
6155 #. type: TP
6156 #: build/C/man2/fcntl.2:1108
6157 #, no-wrap
6158 msgid "All other commands"
6159 msgstr ""
6160
6161 #. type: Plain text
6162 #: build/C/man2/fcntl.2:1111
6163 msgid "Zero."
6164 msgstr ""
6165
6166 #. type: Plain text
6167 #: build/C/man2/fcntl.2:1115
6168 msgid "On error, -1 is returned, and I<errno> is set appropriately."
6169 msgstr ""
6170
6171 #. type: TP
6172 #: build/C/man2/fcntl.2:1116 build/C/man3/lockf.3:122
6173 #, no-wrap
6174 msgid "B<EACCES> or B<EAGAIN>"
6175 msgstr ""
6176
6177 #. type: Plain text
6178 #: build/C/man2/fcntl.2:1119
6179 msgid "Operation is prohibited by locks held by other processes."
6180 msgstr ""
6181
6182 #. type: TP
6183 #: build/C/man2/fcntl.2:1119 build/C/man2/fork.2:181 build/C/man2/fork.2:186 build/C/man2/fork.2:204
6184 #, no-wrap
6185 msgid "B<EAGAIN>"
6186 msgstr ""
6187
6188 #. type: Plain text
6189 #: build/C/man2/fcntl.2:1123
6190 msgid ""
6191 "The operation is prohibited because the file has been memory-mapped by "
6192 "another process."
6193 msgstr ""
6194
6195 #. type: Plain text
6196 #: build/C/man2/fcntl.2:1132
6197 msgid ""
6198 "I<fd> is not an open file descriptor, or the command was B<F_SETLK> or "
6199 "B<F_SETLKW> and the file descriptor open mode doesn't match with the type of "
6200 "lock requested."
6201 msgstr ""
6202
6203 #. type: TP
6204 #: build/C/man2/fcntl.2:1132 build/C/man3/lockf.3:142
6205 #, no-wrap
6206 msgid "B<EDEADLK>"
6207 msgstr ""
6208
6209 #. type: Plain text
6210 #: build/C/man2/fcntl.2:1137
6211 msgid ""
6212 "It was detected that the specified B<F_SETLKW> command would cause a "
6213 "deadlock."
6214 msgstr ""
6215
6216 #. type: Plain text
6217 #: build/C/man2/fcntl.2:1141
6218 msgid "I<lock> is outside your accessible address space."
6219 msgstr ""
6220
6221 #. type: Plain text
6222 #: build/C/man2/fcntl.2:1153
6223 msgid ""
6224 "For B<F_SETLKW>, the command was interrupted by a signal; see B<signal>(7).  "
6225 "For B<F_GETLK> and B<F_SETLK>, the command was interrupted by a signal "
6226 "before the lock was checked or acquired.  Most likely when locking a remote "
6227 "file (e.g., locking over NFS), but can sometimes happen locally."
6228 msgstr ""
6229
6230 #. type: Plain text
6231 #: build/C/man2/fcntl.2:1163
6232 msgid ""
6233 "For B<F_DUPFD>, I<arg> is negative or is greater than the maximum allowable "
6234 "value.  For B<F_SETSIG>, I<arg> is not an allowable signal number."
6235 msgstr ""
6236
6237 #. type: Plain text
6238 #: build/C/man2/fcntl.2:1168
6239 msgid ""
6240 "For B<F_DUPFD>, the process already has the maximum number of file "
6241 "descriptors open."
6242 msgstr ""
6243
6244 #. type: TP
6245 #: build/C/man2/fcntl.2:1168 build/C/man2/flock.2:131 build/C/man3/lockf.3:151
6246 #, no-wrap
6247 msgid "B<ENOLCK>"
6248 msgstr ""
6249
6250 #. type: Plain text
6251 #: build/C/man2/fcntl.2:1172
6252 msgid ""
6253 "Too many segment locks open, lock table is full, or a remote locking "
6254 "protocol failed (e.g., locking over NFS)."
6255 msgstr ""
6256
6257 #. type: Plain text
6258 #: build/C/man2/fcntl.2:1177
6259 msgid ""
6260 "Attempted to clear the B<O_APPEND> flag on a file that has the append-only "
6261 "attribute set."
6262 msgstr ""
6263
6264 #. type: Plain text
6265 #: build/C/man2/fcntl.2:1190
6266 msgid ""
6267 "SVr4, 4.3BSD, POSIX.1-2001.  Only the operations B<F_DUPFD>, B<F_GETFD>, "
6268 "B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, B<F_GETLK>, B<F_SETLK>, and B<F_SETLKW> "
6269 "are specified in POSIX.1-2001."
6270 msgstr ""
6271
6272 #. type: Plain text
6273 #: build/C/man2/fcntl.2:1202
6274 msgid ""
6275 "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
6276 "definitions, define B<_BSD_SOURCE>, or B<_XOPEN_SOURCE> with the value 500 "
6277 "or greater, or define B<_POSIX_C_SOURCE> with the value 200809L or greater.)"
6278 msgstr ""
6279
6280 #. type: Plain text
6281 #: build/C/man2/fcntl.2:1210
6282 msgid ""
6283 "B<F_DUPFD_CLOEXEC> is specified in POSIX.1-2008.  (To get this definition, "
6284 "define B<_POSIX_C_SOURCE> with the value 200809L or greater, or "
6285 "B<_XOPEN_SOURCE> with the value 700 or greater.)"
6286 msgstr ""
6287
6288 #.  .PP
6289 #.  SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
6290 #. type: Plain text
6291 #: build/C/man2/fcntl.2:1227
6292 msgid ""
6293 "B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_SETPIPE_SZ>, B<F_GETPIPE_SZ>, "
6294 "B<F_GETSIG>, B<F_SETSIG>, B<F_NOTIFY>, B<F_GETLEASE>, and B<F_SETLEASE> are "
6295 "Linux-specific.  (Define the B<_GNU_SOURCE> macro to obtain these "
6296 "definitions.)"
6297 msgstr ""
6298
6299 #. type: Plain text
6300 #: build/C/man2/fcntl.2:1233
6301 msgid ""
6302 "The errors returned by B<dup2>(2)  are different from those returned by "
6303 "B<F_DUPFD>."
6304 msgstr ""
6305
6306 #. type: SS
6307 #: build/C/man2/fcntl.2:1233
6308 #, no-wrap
6309 msgid "File locking"
6310 msgstr ""
6311
6312 #. type: Plain text
6313 #: build/C/man2/fcntl.2:1254
6314 msgid ""
6315 "The original Linux B<fcntl>()  system call was not designed to handle large "
6316 "file offsets (in the I<flock> structure).  Consequently, an B<fcntl64>()  "
6317 "system call was added in Linux 2.4.  The newer system call employs a "
6318 "different structure for file locking, I<flock64>, and corresponding "
6319 "commands, B<F_GETLK64>, B<F_SETLK64>, and B<F_SETLKW64>.  However, these "
6320 "details can be ignored by applications using glibc, whose B<fcntl>()  "
6321 "wrapper function transparently employs the more recent system call where it "
6322 "is available."
6323 msgstr ""
6324
6325 #. type: Plain text
6326 #: build/C/man2/fcntl.2:1260
6327 msgid ""
6328 "Since kernel 2.0, there is no interaction between the types of lock placed "
6329 "by B<flock>(2)  and B<fcntl>()."
6330 msgstr ""
6331
6332 #.  e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
6333 #.  documents it in fcntl(5).  mtk, May 2007
6334 #. type: Plain text
6335 #: build/C/man2/fcntl.2:1271
6336 msgid ""
6337 "Several systems have more fields in I<struct flock> such as, for example, "
6338 "I<l_sysid>.  Clearly, I<l_pid> alone is not going to be very useful if the "
6339 "process holding the lock may live on a different machine."
6340 msgstr ""
6341
6342 #. type: SS
6343 #: build/C/man2/fcntl.2:1272
6344 #, no-wrap
6345 msgid "F_SETFL"
6346 msgstr ""
6347
6348 #.  FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
6349 #.  via fcntl(2), but currently Linux does not permit this
6350 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5994
6351 #. type: Plain text
6352 #: build/C/man2/fcntl.2:1284
6353 msgid ""
6354 "It is not possible to use B<F_SETFL> to change the state of the B<O_DSYNC> "
6355 "and B<O_SYNC> flags.  Attempts to change the state of these flags are "
6356 "silently ignored."
6357 msgstr ""
6358
6359 #. type: SS
6360 #: build/C/man2/fcntl.2:1284
6361 #, no-wrap
6362 msgid "F_GETOWN"
6363 msgstr ""
6364
6365 #.  glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h
6366 #.  mtk, Dec 04: some limited testing on alpha and ia64 seems to
6367 #.  indicate that ANY negative PGID value will cause F_GETOWN
6368 #.  to misinterpret the return as an error. Some other architectures
6369 #.  seem to have the same range check as i386.
6370 #. type: Plain text
6371 #: build/C/man2/fcntl.2:1310
6372 msgid ""
6373 "A limitation of the Linux system call conventions on some architectures "
6374 "(notably i386) means that if a (negative)  process group ID to be returned "
6375 "by B<F_GETOWN> falls in the range -1 to -4095, then the return value is "
6376 "wrongly interpreted by glibc as an error in the system call; that is, the "
6377 "return value of B<fcntl>()  will be -1, and I<errno> will contain the "
6378 "(positive) process group ID.  The Linux-specific B<F_GETOWN_EX> operation "
6379 "avoids this problem.  Since glibc version 2.11, glibc makes the kernel "
6380 "B<F_GETOWN> problem invisible by implementing B<F_GETOWN> using "
6381 "B<F_GETOWN_EX>."
6382 msgstr ""
6383
6384 #. type: SS
6385 #: build/C/man2/fcntl.2:1310
6386 #, no-wrap
6387 msgid "F_SETOWN"
6388 msgstr ""
6389
6390 #. type: Plain text
6391 #: build/C/man2/fcntl.2:1327
6392 msgid ""
6393 "In Linux 2.4 and earlier, there is bug that can occur when an unprivileged "
6394 "process uses B<F_SETOWN> to specify the owner of a socket file descriptor as "
6395 "a process (group) other than the caller.  In this case, B<fcntl>()  can "
6396 "return -1 with I<errno> set to B<EPERM>, even when the owner process (group) "
6397 "is one that the caller has permission to send signals to.  Despite this "
6398 "error return, the file descriptor owner is set, and signals will be sent to "
6399 "the owner."
6400 msgstr ""
6401
6402 #.  http://marc.info/?l=linux-kernel&m=119013491707153&w=2
6403 #. type: Plain text
6404 #: build/C/man2/fcntl.2:1342
6405 msgid ""
6406 "The implementation of mandatory locking in all known versions of Linux is "
6407 "subject to race conditions which render it unreliable: a B<write>(2)  call "
6408 "that overlaps with a lock may modify data after the mandatory lock is "
6409 "acquired; a B<read>(2)  call that overlaps with a lock may detect changes to "
6410 "data that were made only after a write lock was acquired.  Similar races "
6411 "exist between mandatory locks and B<mmap>(2).  It is therefore inadvisable "
6412 "to rely on mandatory locking."
6413 msgstr ""
6414
6415 #. type: Plain text
6416 #: build/C/man2/fcntl.2:1350
6417 msgid ""
6418 "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
6419 "B<capabilities>(7), B<feature_test_macros>(7)"
6420 msgstr ""
6421
6422 #. type: Plain text
6423 #: build/C/man2/fcntl.2:1363
6424 msgid ""
6425 "I<locks.txt>, I<mandatory-locking.txt>, and I<dnotify.txt> in the Linux "
6426 "kernel source directory I<Documentation/filesystems/> (on older kernels, "
6427 "these files are directly under the I<Documentation/> directory, and "
6428 "I<mandatory-locking.txt> is called I<mandatory.txt>)"
6429 msgstr ""
6430
6431 #. type: TH
6432 #: build/C/man3/fexecve.3:25
6433 #, no-wrap
6434 msgid "FEXECVE"
6435 msgstr ""
6436
6437 #. type: TH
6438 #: build/C/man3/fexecve.3:25
6439 #, no-wrap
6440 msgid "2014-04-20"
6441 msgstr ""
6442
6443 #. type: Plain text
6444 #: build/C/man3/fexecve.3:28
6445 msgid "fexecve - execute program specified via file descriptor"
6446 msgstr ""
6447
6448 #. type: Plain text
6449 #: build/C/man3/fexecve.3:33
6450 #, no-wrap
6451 msgid ""
6452 "B<int fexecve(int >I<fd>B<, char *const >I<argv>B<[], char *const "
6453 ">I<envp>B<[]);>\n"
6454 msgstr ""
6455
6456 #. type: Plain text
6457 #: build/C/man3/fexecve.3:41
6458 msgid "B<fexecve>():"
6459 msgstr ""
6460
6461 #. type: Plain text
6462 #: build/C/man3/fexecve.3:50 build/C/man3/getcwd.3:54
6463 msgid "_GNU_SOURCE"
6464 msgstr ""
6465
6466 #.  POSIX.1-2008 specifies the O_EXEC flag for open as an alternative,
6467 #.  but Linux doesn't support this flag yet.
6468 #. type: Plain text
6469 #: build/C/man3/fexecve.3:67
6470 msgid ""
6471 "B<fexecve>()  performs the same task as B<execve>(2), with the difference "
6472 "that the file to be executed is specified via a file descriptor, I<fd>, "
6473 "rather than via a pathname.  The file descriptor I<fd> must be opened "
6474 "read-only, and the caller must have permission to execute the file that it "
6475 "refers to."
6476 msgstr ""
6477
6478 #. type: Plain text
6479 #: build/C/man3/fexecve.3:74
6480 msgid ""
6481 "A successful call to B<fexecve>()  never returns.  On error, the function "
6482 "does return, with a result value of -1, and I<errno> is set appropriately."
6483 msgstr ""
6484
6485 #. type: Plain text
6486 #: build/C/man3/fexecve.3:78
6487 msgid "Errors are as for B<execve>(2), with the following additions:"
6488 msgstr ""
6489
6490 #. type: Plain text
6491 #: build/C/man3/fexecve.3:86
6492 msgid ""
6493 "I<fd> is not a valid file descriptor, or I<argv> is NULL, or I<envp> is "
6494 "NULL."
6495 msgstr ""
6496
6497 #. type: Plain text
6498 #: build/C/man3/fexecve.3:91
6499 msgid "The I</proc> filesystem could not be accessed."
6500 msgstr ""
6501
6502 #. type: Plain text
6503 #: build/C/man3/fexecve.3:94
6504 msgid "B<fexecve>()  is implemented since glibc 2.3.2."
6505 msgstr ""
6506
6507 #. type: Plain text
6508 #: build/C/man3/fexecve.3:99
6509 msgid ""
6510 "POSIX.1-2008.  This function is not specified in POSIX.1-2001, and is not "
6511 "widely available on other systems.  It is specified in POSIX.1-2008."
6512 msgstr ""
6513
6514 #. type: Plain text
6515 #: build/C/man3/fexecve.3:107
6516 msgid ""
6517 "On Linux, B<fexecve>()  is implemented using the B<proc>(5)  filesystem, so "
6518 "I</proc> needs to be mounted and available at the time of the call."
6519 msgstr ""
6520
6521 #. type: Plain text
6522 #: build/C/man3/fexecve.3:120
6523 msgid ""
6524 "If I<fd> is a file descriptor that refers to an interpreter script and has "
6525 "been marked as close-on-exec (see the discussion of the B<FD_CLOEXEC> in "
6526 "B<fcntl>(2)), B<fexecve>()  will fail to execute the script, since, by the "
6527 "time the script interpreter tries to access the script file, I<fd> has "
6528 "already been closed."
6529 msgstr ""
6530
6531 #. type: Plain text
6532 #: build/C/man3/fexecve.3:137
6533 msgid ""
6534 "The idea behind B<fexecve>()  is to allow the caller to verify (checksum) "
6535 "the contents of an executable before executing it.  Simply opening the file, "
6536 "checksumming the contents, and then doing an B<execve>(2)  would not "
6537 "suffice, since, between the two steps, the filename, or a directory prefix "
6538 "of the pathname, could have been exchanged (by, for example, modifying the "
6539 "target of a symbolic link).  B<fexecve>()  does not mitigate the problem "
6540 "that the I<contents> of a file could be changed between the checksumming and "
6541 "the call to B<fexecve>(); for that, the solution is to ensure that the "
6542 "permissions on the file prevent it from being modified by malicious users."
6543 msgstr ""
6544
6545 #. type: Plain text
6546 #: build/C/man3/fexecve.3:139
6547 msgid "B<execve>(2)"
6548 msgstr ""
6549
6550 #. type: TH
6551 #: build/C/man2/flock.2:35
6552 #, no-wrap
6553 msgid "FLOCK"
6554 msgstr ""
6555
6556 #. type: TH
6557 #: build/C/man2/flock.2:35
6558 #, no-wrap
6559 msgid "2014-04-22"
6560 msgstr ""
6561
6562 #. type: Plain text
6563 #: build/C/man2/flock.2:38
6564 msgid "flock - apply or remove an advisory lock on an open file"
6565 msgstr ""
6566
6567 #. type: Plain text
6568 #: build/C/man2/flock.2:40
6569 msgid "B<#include E<lt>sys/file.hE<gt>>"
6570 msgstr ""
6571
6572 #. type: Plain text
6573 #: build/C/man2/flock.2:42
6574 msgid "B<int flock(int >I<fd>B<, int >I<operation>B<);>"
6575 msgstr ""
6576
6577 #. type: Plain text
6578 #: build/C/man2/flock.2:48
6579 msgid ""
6580 "Apply or remove an advisory lock on the open file specified by I<fd>.  The "
6581 "argument I<operation> is one of the following:"
6582 msgstr ""
6583
6584 #. type: TP
6585 #: build/C/man2/flock.2:49
6586 #, no-wrap
6587 msgid "B<LOCK_SH>"
6588 msgstr ""
6589
6590 #. type: Plain text
6591 #: build/C/man2/flock.2:54
6592 msgid ""
6593 "Place a shared lock.  More than one process may hold a shared lock for a "
6594 "given file at a given time."
6595 msgstr ""
6596
6597 #. type: TP
6598 #: build/C/man2/flock.2:54
6599 #, no-wrap
6600 msgid "B<LOCK_EX>"
6601 msgstr ""
6602
6603 #. type: Plain text
6604 #: build/C/man2/flock.2:59
6605 msgid ""
6606 "Place an exclusive lock.  Only one process may hold an exclusive lock for a "
6607 "given file at a given time."
6608 msgstr ""
6609
6610 #. type: TP
6611 #: build/C/man2/flock.2:59
6612 #, no-wrap
6613 msgid "B<LOCK_UN>"
6614 msgstr ""
6615
6616 #. type: Plain text
6617 #: build/C/man2/flock.2:62
6618 msgid "Remove an existing lock held by this process."
6619 msgstr ""
6620
6621 #. type: Plain text
6622 #: build/C/man2/flock.2:71
6623 msgid ""
6624 "A call to B<flock>()  may block if an incompatible lock is held by another "
6625 "process.  To make a nonblocking request, include B<LOCK_NB> (by ORing)  with "
6626 "any of the above operations."
6627 msgstr ""
6628
6629 #. type: Plain text
6630 #: build/C/man2/flock.2:73
6631 msgid "A single file may not simultaneously have both shared and exclusive locks."
6632 msgstr ""
6633
6634 #. type: Plain text
6635 #: build/C/man2/flock.2:88
6636 msgid ""
6637 "Locks created by B<flock>()  are associated with an open file description "
6638 "(see B<open>(2)).  This means that duplicate file descriptors (created by, "
6639 "for example, B<fork>(2)  or B<dup>(2))  refer to the same lock, and this "
6640 "lock may be modified or released using any of these descriptors.  "
6641 "Furthermore, the lock is released either by an explicit B<LOCK_UN> operation "
6642 "on any of these duplicate descriptors, or when all such descriptors have "
6643 "been closed."
6644 msgstr ""
6645
6646 #. type: Plain text
6647 #: build/C/man2/flock.2:97
6648 msgid ""
6649 "If a process uses B<open>(2)  (or similar) to obtain more than one "
6650 "descriptor for the same file, these descriptors are treated independently by "
6651 "B<flock>().  An attempt to lock the file using one of these file descriptors "
6652 "may be denied by a lock that the calling process has already placed via "
6653 "another descriptor."
6654 msgstr ""
6655
6656 #. type: Plain text
6657 #: build/C/man2/flock.2:104
6658 msgid ""
6659 "A process may hold only one type of lock (shared or exclusive)  on a file.  "
6660 "Subsequent B<flock>()  calls on an already locked file will convert an "
6661 "existing lock to the new lock mode."
6662 msgstr ""
6663
6664 #. type: Plain text
6665 #: build/C/man2/flock.2:109
6666 msgid "Locks created by B<flock>()  are preserved across an B<execve>(2)."
6667 msgstr ""
6668
6669 #. type: Plain text
6670 #: build/C/man2/flock.2:112
6671 msgid ""
6672 "A shared or exclusive lock can be placed on a file regardless of the mode in "
6673 "which the file was opened."
6674 msgstr ""
6675
6676 #. type: Plain text
6677 #: build/C/man2/flock.2:122
6678 msgid "I<fd> is not an open file descriptor."
6679 msgstr ""
6680
6681 #. type: Plain text
6682 #: build/C/man2/flock.2:127
6683 msgid ""
6684 "While waiting to acquire a lock, the call was interrupted by delivery of a "
6685 "signal caught by a handler; see B<signal>(7)."
6686 msgstr ""
6687
6688 #. type: Plain text
6689 #: build/C/man2/flock.2:131
6690 msgid "I<operation> is invalid."
6691 msgstr ""
6692
6693 #. type: Plain text
6694 #: build/C/man2/flock.2:134
6695 msgid "The kernel ran out of memory for allocating lock records."
6696 msgstr ""
6697
6698 #. type: TP
6699 #: build/C/man2/flock.2:134
6700 #, no-wrap
6701 msgid "B<EWOULDBLOCK>"
6702 msgstr ""
6703
6704 #. type: Plain text
6705 #: build/C/man2/flock.2:139
6706 msgid "The file is locked and the B<LOCK_NB> flag was selected."
6707 msgstr ""
6708
6709 #. type: Plain text
6710 #: build/C/man2/flock.2:148
6711 msgid ""
6712 "4.4BSD (the B<flock>()  call first appeared in 4.2BSD).  A version of "
6713 "B<flock>(), possibly implemented in terms of B<fcntl>(2), appears on most "
6714 "UNIX systems."
6715 msgstr ""
6716
6717 #. type: Plain text
6718 #: build/C/man2/flock.2:155
6719 msgid ""
6720 "B<flock>()  does not lock files over NFS.  Use B<fcntl>(2)  instead: that "
6721 "does work over NFS, given a sufficiently recent version of Linux and a "
6722 "server which supports locking."
6723 msgstr ""
6724
6725 #. type: Plain text
6726 #: build/C/man2/flock.2:170
6727 msgid ""
6728 "Since kernel 2.0, B<flock>()  is implemented as a system call in its own "
6729 "right rather than being emulated in the GNU C library as a call to "
6730 "B<fcntl>(2).  This yields true BSD semantics: there is no interaction "
6731 "between the types of lock placed by B<flock>()  and B<fcntl>(2), and "
6732 "B<flock>()  does not detect deadlock."
6733 msgstr ""
6734
6735 #. type: Plain text
6736 #: build/C/man2/flock.2:176
6737 msgid ""
6738 "B<flock>()  places advisory locks only; given suitable permissions on a "
6739 "file, a process is free to ignore the use of B<flock>()  and perform I/O on "
6740 "the file."
6741 msgstr ""
6742
6743 #. type: Plain text
6744 #: build/C/man2/flock.2:189
6745 msgid ""
6746 "B<flock>()  and B<fcntl>(2)  locks have different semantics with respect to "
6747 "forked processes and B<dup>(2).  On systems that implement B<flock>()  using "
6748 "B<fcntl>(2), the semantics of B<flock>()  will be different from those "
6749 "described in this manual page."
6750 msgstr ""
6751
6752 #.  Kernel 2.5.21 changed things a little: during lock conversion
6753 #.  it is now the highest priority process that will get the lock -- mtk
6754 #. type: Plain text
6755 #: build/C/man2/flock.2:202
6756 msgid ""
6757 "Converting a lock (shared to exclusive, or vice versa) is not guaranteed to "
6758 "be atomic: the existing lock is first removed, and then a new lock is "
6759 "established.  Between these two steps, a pending lock request by another "
6760 "process may be granted, with the result that the conversion either blocks, "
6761 "or fails if B<LOCK_NB> was specified.  (This is the original BSD behavior, "
6762 "and occurs on many other implementations.)"
6763 msgstr ""
6764
6765 #. type: Plain text
6766 #: build/C/man2/flock.2:211
6767 msgid ""
6768 "B<flock>(1), B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), "
6769 "B<open>(2), B<lockf>(3)"
6770 msgstr ""
6771
6772 #. type: Plain text
6773 #: build/C/man2/flock.2:216
6774 msgid ""
6775 "I<Documentation/filesystems/locks.txt> in the Linux kernel source tree "
6776 "(I<Documentation/locks.txt> in older kernels)"
6777 msgstr ""
6778
6779 #. type: TH
6780 #: build/C/man2/fork.2:39
6781 #, no-wrap
6782 msgid "FORK"
6783 msgstr ""
6784
6785 #. type: TH
6786 #: build/C/man2/fork.2:39 build/C/man3/fpathconf.3:41 build/C/man2/swapon.2:37
6787 #, no-wrap
6788 msgid "2014-05-28"
6789 msgstr ""
6790
6791 #. type: Plain text
6792 #: build/C/man2/fork.2:42
6793 msgid "fork - create a child process"
6794 msgstr ""
6795
6796 #. type: Plain text
6797 #: build/C/man2/fork.2:46
6798 msgid "B<pid_t fork(void);>"
6799 msgstr ""
6800
6801 #. type: Plain text
6802 #: build/C/man2/fork.2:52
6803 msgid ""
6804 "B<fork>()  creates a new process by duplicating the calling process.  The "
6805 "new process, referred to as the I<child>, is an exact duplicate of the "
6806 "calling process, referred to as the I<parent>, except for the following "
6807 "points:"
6808 msgstr ""
6809
6810 #. type: Plain text
6811 #: build/C/man2/fork.2:56
6812 msgid ""
6813 "The child has its own unique process ID, and this PID does not match the ID "
6814 "of any existing process group (B<setpgid>(2))."
6815 msgstr ""
6816
6817 #. type: Plain text
6818 #: build/C/man2/fork.2:58
6819 msgid "The child's parent process ID is the same as the parent's process ID."
6820 msgstr ""
6821
6822 #. type: Plain text
6823 #: build/C/man2/fork.2:62
6824 msgid ""
6825 "The child does not inherit its parent's memory locks (B<mlock>(2), "
6826 "B<mlockall>(2))."
6827 msgstr ""
6828
6829 #. type: Plain text
6830 #: build/C/man2/fork.2:68
6831 msgid ""
6832 "Process resource utilizations (B<getrusage>(2))  and CPU time counters "
6833 "(B<times>(2))  are reset to zero in the child."
6834 msgstr ""
6835
6836 #. type: Plain text
6837 #: build/C/man2/fork.2:71
6838 msgid "The child's set of pending signals is initially empty (B<sigpending>(2))."
6839 msgstr ""
6840
6841 #. type: Plain text
6842 #: build/C/man2/fork.2:74
6843 msgid ""
6844 "The child does not inherit semaphore adjustments from its parent "
6845 "(B<semop>(2))."
6846 msgstr ""
6847
6848 #. type: Plain text
6849 #: build/C/man2/fork.2:77
6850 msgid "The child does not inherit record locks from its parent (B<fcntl>(2))."
6851 msgstr ""
6852
6853 #. type: Plain text
6854 #: build/C/man2/fork.2:82
6855 msgid ""
6856 "The child does not inherit timers from its parent (B<setitimer>(2), "
6857 "B<alarm>(2), B<timer_create>(2))."
6858 msgstr ""
6859
6860 #. type: Plain text
6861 #: build/C/man2/fork.2:89
6862 msgid ""
6863 "The child does not inherit outstanding asynchronous I/O operations from its "
6864 "parent (B<aio_read>(3), B<aio_write>(3)), nor does it inherit any "
6865 "asynchronous I/O contexts from its parent (see B<io_setup>(2))."
6866 msgstr ""
6867
6868 #. type: Plain text
6869 #: build/C/man2/fork.2:94
6870 msgid ""
6871 "The process attributes in the preceding list are all specified in "
6872 "POSIX.1-2001.  The parent and child also differ with respect to the "
6873 "following Linux-specific process attributes:"
6874 msgstr ""
6875
6876 #. type: Plain text
6877 #: build/C/man2/fork.2:101
6878 msgid ""
6879 "The child does not inherit directory change notifications (dnotify)  from "
6880 "its parent (see the description of B<F_NOTIFY> in B<fcntl>(2))."
6881 msgstr ""
6882
6883 #. type: Plain text
6884 #: build/C/man2/fork.2:107
6885 msgid ""
6886 "The B<prctl>(2)  B<PR_SET_PDEATHSIG> setting is reset so that the child does "
6887 "not receive a signal when its parent terminates."
6888 msgstr ""
6889
6890 #. type: Plain text
6891 #: build/C/man2/fork.2:114
6892 msgid ""
6893 "The default timer slack value is set to the parent's current timer slack "
6894 "value.  See the description of B<PR_SET_TIMERSLACK> in B<prctl>(2)."
6895 msgstr ""
6896
6897 #. type: Plain text
6898 #: build/C/man2/fork.2:120
6899 msgid ""
6900 "Memory mappings that have been marked with the B<madvise>(2)  "
6901 "B<MADV_DONTFORK> flag are not inherited across a B<fork>()."
6902 msgstr ""
6903
6904 #. type: Plain text
6905 #: build/C/man2/fork.2:125
6906 msgid "The termination signal of the child is always B<SIGCHLD> (see B<clone>(2))."
6907 msgstr ""
6908
6909 #. type: Plain text
6910 #: build/C/man2/fork.2:131
6911 msgid ""
6912 "The port access permission bits set by B<ioperm>(2)  are not inherited by "
6913 "the child; the child must turn on any bits that it requires using "
6914 "B<ioperm>(2)."
6915 msgstr ""
6916
6917 #. type: Plain text
6918 #: build/C/man2/fork.2:142
6919 msgid ""
6920 "The child process is created with a single thread\\(emthe one that called "
6921 "B<fork>().  The entire virtual address space of the parent is replicated in "
6922 "the child, including the states of mutexes, condition variables, and other "
6923 "pthreads objects; the use of B<pthread_atfork>(3)  may be helpful for "
6924 "dealing with problems that this can cause."
6925 msgstr ""
6926
6927 #. type: Plain text
6928 #: build/C/man2/fork.2:156
6929 msgid ""
6930 "The child inherits copies of the parent's set of open file descriptors.  "
6931 "Each file descriptor in the child refers to the same open file description "
6932 "(see B<open>(2))  as the corresponding file descriptor in the parent.  This "
6933 "means that the two descriptors share open file status flags, current file "
6934 "offset, and signal-driven I/O attributes (see the description of B<F_SETOWN> "
6935 "and B<F_SETSIG> in B<fcntl>(2))."
6936 msgstr ""
6937
6938 #. type: Plain text
6939 #: build/C/man2/fork.2:165
6940 msgid ""
6941 "The child inherits copies of the parent's set of open message queue "
6942 "descriptors (see B<mq_overview>(7)).  Each descriptor in the child refers to "
6943 "the same open message queue description as the corresponding descriptor in "
6944 "the parent.  This means that the two descriptors share the same flags "
6945 "(I<mq_flags>)."
6946 msgstr ""
6947
6948 #. type: Plain text
6949 #: build/C/man2/fork.2:173
6950 msgid ""
6951 "The child inherits copies of the parent's set of open directory streams (see "
6952 "B<opendir>(3)).  POSIX.1-2001 says that the corresponding directory streams "
6953 "in the parent and child I<may> share the directory stream positioning; on "
6954 "Linux/glibc they do not."
6955 msgstr ""
6956
6957 #. type: Plain text
6958 #: build/C/man2/fork.2:180
6959 msgid ""
6960 "On success, the PID of the child process is returned in the parent, and 0 is "
6961 "returned in the child.  On failure, -1 is returned in the parent, no child "
6962 "process is created, and I<errno> is set appropriately."
6963 msgstr ""
6964
6965 #. type: Plain text
6966 #: build/C/man2/fork.2:186
6967 msgid ""
6968 "B<fork>()  cannot allocate sufficient memory to copy the parent's page "
6969 "tables and allocate a task structure for the child."
6970 msgstr ""
6971
6972 #.  NOTE! The following should match the description in pthread_create(3)
6973 #. type: Plain text
6974 #: build/C/man2/fork.2:204
6975 msgid ""
6976 "A system-imposed limit on the number of threads was encountered.  There are "
6977 "a number of limits that may trigger this error: the B<RLIMIT_NPROC> soft "
6978 "resource limit (set via B<setrlimit>(2)), which limits the number of "
6979 "processes and threads for a real user ID, was reached; the kernel's "
6980 "system-wide limit on the number of processes and threads, "
6981 "I</proc/sys/kernel/threads-max>, was reached (see B<proc>(5)); or the "
6982 "maximum number of PIDs, I</proc/sys/kernel/pid_max>, was reached (see "
6983 "B<proc>(5))."
6984 msgstr ""
6985
6986 #. type: Plain text
6987 #: build/C/man2/fork.2:211
6988 msgid ""
6989 "The caller is operating under the B<SCHED_DEADLINE> scheduling policy and "
6990 "does not have the reset-on-fork flag set.  See B<sched>(7)."
6991 msgstr ""
6992
6993 #. type: Plain text
6994 #: build/C/man2/fork.2:215
6995 msgid ""
6996 "B<fork>()  failed to allocate the necessary kernel structures because memory "
6997 "is tight."
6998 msgstr ""
6999
7000 #.  e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa
7001 #. type: Plain text
7002 #: build/C/man2/fork.2:221
7003 msgid ""
7004 "B<fork>()  is not supported on this platform (for example, hardware without "
7005 "a Memory-Management Unit)."
7006 msgstr ""
7007
7008 #. type: Plain text
7009 #: build/C/man2/fork.2:230
7010 msgid ""
7011 "Under Linux, B<fork>()  is implemented using copy-on-write pages, so the "
7012 "only penalty that it incurs is the time and memory required to duplicate the "
7013 "parent's page tables, and to create a unique task structure for the child."
7014 msgstr ""
7015
7016 #.  nptl/sysdeps/unix/sysv/linux/fork.c
7017 #.  and does some magic to ensure that getpid(2) returns the right value.
7018 #. type: Plain text
7019 #: build/C/man2/fork.2:254
7020 msgid ""
7021 "Since version 2.3.3, rather than invoking the kernel's B<fork>()  system "
7022 "call, the glibc B<fork>()  wrapper that is provided as part of the NPTL "
7023 "threading implementation invokes B<clone>(2)  with flags that provide the "
7024 "same effect as the traditional system call.  (A call to B<fork>()  is "
7025 "equivalent to a call to B<clone>(2)  specifying I<flags> as just "
7026 "B<SIGCHLD>.)  The glibc wrapper invokes any fork handlers that have been "
7027 "established using B<pthread_atfork>(3)."
7028 msgstr ""
7029
7030 #. type: Plain text
7031 #: build/C/man2/fork.2:259
7032 msgid "See B<pipe>(2)  and B<wait>(2)."
7033 msgstr ""
7034
7035 #. type: Plain text
7036 #: build/C/man2/fork.2:270
7037 msgid ""
7038 "B<clone>(2), B<execve>(2), B<exit>(2), B<setrlimit>(2), B<unshare>(2), "
7039 "B<vfork>(2), B<wait>(2), B<daemon>(3), B<capabilities>(7), B<credentials>(7)"
7040 msgstr ""
7041
7042 #. type: TH
7043 #: build/C/man3/fpathconf.3:41
7044 #, no-wrap
7045 msgid "FPATHCONF"
7046 msgstr ""
7047
7048 #. type: Plain text
7049 #: build/C/man3/fpathconf.3:44
7050 msgid "fpathconf, pathconf - get configuration values for files"
7051 msgstr ""
7052
7053 #. type: Plain text
7054 #: build/C/man3/fpathconf.3:49
7055 #, no-wrap
7056 msgid "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
7057 msgstr ""
7058
7059 #. type: Plain text
7060 #: build/C/man3/fpathconf.3:51
7061 #, no-wrap
7062 msgid "B<long pathconf(const char *>I<path>B<, int >I<name>B<);>\n"
7063 msgstr ""
7064
7065 #. type: Plain text
7066 #: build/C/man3/fpathconf.3:58
7067 msgid ""
7068 "B<fpathconf>()  gets a value for the configuration option I<name> for the "
7069 "open file descriptor I<fd>."
7070 msgstr ""
7071
7072 #. type: Plain text
7073 #: build/C/man3/fpathconf.3:64
7074 msgid ""
7075 "B<pathconf>()  gets a value for configuration option I<name> for the "
7076 "filename I<path>."
7077 msgstr ""
7078
7079 #. type: Plain text
7080 #: build/C/man3/fpathconf.3:73
7081 msgid ""
7082 "The corresponding macros defined in I<E<lt>unistd.hE<gt>> are minimum "
7083 "values; if an application wants to take advantage of values which may "
7084 "change, a call to B<fpathconf>()  or B<pathconf>()  can be made, which may "
7085 "yield more liberal results."
7086 msgstr ""
7087
7088 #. type: Plain text
7089 #: build/C/man3/fpathconf.3:78
7090 msgid ""
7091 "Setting I<name> equal to one of the following constants returns the "
7092 "following configuration options:"
7093 msgstr ""
7094
7095 #. type: TP
7096 #: build/C/man3/fpathconf.3:78
7097 #, no-wrap
7098 msgid "B<_PC_LINK_MAX>"
7099 msgstr ""
7100
7101 #. type: Plain text
7102 #: build/C/man3/fpathconf.3:88
7103 msgid ""
7104 "returns the maximum number of links to the file.  If I<fd> or I<path> refer "
7105 "to a directory, then the value applies to the whole directory.  The "
7106 "corresponding macro is B<_POSIX_LINK_MAX>."
7107 msgstr ""
7108
7109 #. type: TP
7110 #: build/C/man3/fpathconf.3:88
7111 #, no-wrap
7112 msgid "B<_PC_MAX_CANON>"
7113 msgstr ""
7114
7115 #. type: Plain text
7116 #: build/C/man3/fpathconf.3:97
7117 msgid ""
7118 "returns the maximum length of a formatted input line, where I<fd> or I<path> "
7119 "must refer to a terminal.  The corresponding macro is B<_POSIX_MAX_CANON>."
7120 msgstr ""
7121
7122 #. type: TP
7123 #: build/C/man3/fpathconf.3:97
7124 #, no-wrap
7125 msgid "B<_PC_MAX_INPUT>"
7126 msgstr ""
7127
7128 #. type: Plain text
7129 #: build/C/man3/fpathconf.3:106
7130 msgid ""
7131 "returns the maximum length of an input line, where I<fd> or I<path> must "
7132 "refer to a terminal.  The corresponding macro is B<_POSIX_MAX_INPUT>."
7133 msgstr ""
7134
7135 #. type: TP
7136 #: build/C/man3/fpathconf.3:106
7137 #, no-wrap
7138 msgid "B<_PC_NAME_MAX>"
7139 msgstr ""
7140
7141 #. type: Plain text
7142 #: build/C/man3/fpathconf.3:115
7143 msgid ""
7144 "returns the maximum length of a filename in the directory I<path> or I<fd> "
7145 "that the process is allowed to create.  The corresponding macro is "
7146 "B<_POSIX_NAME_MAX>."
7147 msgstr ""
7148
7149 #. type: TP
7150 #: build/C/man3/fpathconf.3:115
7151 #, no-wrap
7152 msgid "B<_PC_PATH_MAX>"
7153 msgstr ""
7154
7155 #. type: Plain text
7156 #: build/C/man3/fpathconf.3:124
7157 msgid ""
7158 "returns the maximum length of a relative pathname when I<path> or I<fd> is "
7159 "the current working directory.  The corresponding macro is "
7160 "B<_POSIX_PATH_MAX>."
7161 msgstr ""
7162
7163 #. type: TP
7164 #: build/C/man3/fpathconf.3:124
7165 #, no-wrap
7166 msgid "B<_PC_PIPE_BUF>"
7167 msgstr ""
7168
7169 #. type: Plain text
7170 #: build/C/man3/fpathconf.3:133
7171 msgid ""
7172 "returns the size of the pipe buffer, where I<fd> must refer to a pipe or "
7173 "FIFO and I<path> must refer to a FIFO.  The corresponding macro is "
7174 "B<_POSIX_PIPE_BUF>."
7175 msgstr ""
7176
7177 #. type: TP
7178 #: build/C/man3/fpathconf.3:133
7179 #, no-wrap
7180 msgid "B<_PC_CHOWN_RESTRICTED>"
7181 msgstr ""
7182
7183 #. type: Plain text
7184 #: build/C/man3/fpathconf.3:146
7185 msgid ""
7186 "returns nonzero if the B<chown>(2)  call may not be used on this file.  If "
7187 "I<fd> or I<path> refer to a directory, then this applies to all files in "
7188 "that directory.  The corresponding macro is B<_POSIX_CHOWN_RESTRICTED>."
7189 msgstr ""
7190
7191 #. type: TP
7192 #: build/C/man3/fpathconf.3:146
7193 #, no-wrap
7194 msgid "B<_PC_NO_TRUNC>"
7195 msgstr ""
7196
7197 #. type: Plain text
7198 #: build/C/man3/fpathconf.3:153
7199 msgid ""
7200 "returns nonzero if accessing filenames longer than B<_POSIX_NAME_MAX> "
7201 "generates an error.  The corresponding macro is B<_POSIX_NO_TRUNC>."
7202 msgstr ""
7203
7204 #. type: TP
7205 #: build/C/man3/fpathconf.3:153
7206 #, no-wrap
7207 msgid "B<_PC_VDISABLE>"
7208 msgstr ""
7209
7210 #. type: Plain text
7211 #: build/C/man3/fpathconf.3:160
7212 msgid ""
7213 "returns nonzero if special character processing can be disabled, where I<fd> "
7214 "or I<path> must refer to a terminal."
7215 msgstr ""
7216
7217 #. type: Plain text
7218 #: build/C/man3/fpathconf.3:169
7219 msgid ""
7220 "The limit is returned, if one exists.  If the system does not have a limit "
7221 "for the requested resource, -1 is returned, and I<errno> is unchanged.  If "
7222 "there is an error, -1 is returned, and I<errno> is set to reflect the nature "
7223 "of the error."
7224 msgstr ""
7225
7226 #. type: Plain text
7227 #: build/C/man3/fpathconf.3:177
7228 msgid ""
7229 "Files with name lengths longer than the value returned for I<name> equal to "
7230 "B<_PC_NAME_MAX> may exist in the given directory."
7231 msgstr ""
7232
7233 #. type: Plain text
7234 #: build/C/man3/fpathconf.3:180 build/C/man3/sysconf.3:335
7235 msgid ""
7236 "Some returned values may be huge; they are not suitable for allocating "
7237 "memory."
7238 msgstr ""
7239
7240 #. type: Plain text
7241 #: build/C/man3/fpathconf.3:186
7242 msgid "B<getconf>(1), B<open>(2), B<statfs>(2), B<confstr>(3), B<sysconf>(3)"
7243 msgstr ""
7244
7245 #. type: TH
7246 #: build/C/man2/fsync.2:38
7247 #, no-wrap
7248 msgid "FSYNC"
7249 msgstr ""
7250
7251 #. type: TH
7252 #: build/C/man2/fsync.2:38
7253 #, no-wrap
7254 msgid "2014-04-06"
7255 msgstr ""
7256
7257 #. type: Plain text
7258 #: build/C/man2/fsync.2:41
7259 msgid "fsync, fdatasync - synchronize a file's in-core state with storage device"
7260 msgstr ""
7261
7262 #. type: Plain text
7263 #: build/C/man2/fsync.2:45
7264 msgid "B<int fsync(int >I<fd>B<);>"
7265 msgstr ""
7266
7267 #. type: Plain text
7268 #: build/C/man2/fsync.2:47
7269 msgid "B<int fdatasync(int >I<fd>B<);>"
7270 msgstr ""
7271
7272 #. type: Plain text
7273 #: build/C/man2/fsync.2:55
7274 msgid "B<fsync>(): _BSD_SOURCE || _XOPEN_SOURCE"
7275 msgstr ""
7276
7277 #.  _POSIX_C_SOURCE\ >=\ 200112L only since glibc 2.8
7278 #. type: Plain text
7279 #: build/C/man2/fsync.2:58
7280 #, no-wrap
7281 msgid "         || /* since glibc 2.8: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
7282 msgstr ""
7283
7284 #. type: Plain text
7285 #: build/C/man2/fsync.2:61
7286 msgid ""
7287 "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ "
7288 "E<gt>=\\ 500"
7289 msgstr ""
7290
7291 #. type: Plain text
7292 #: build/C/man2/fsync.2:74
7293 msgid ""
7294 "B<fsync>()  transfers (\"flushes\") all modified in-core data of (i.e., "
7295 "modified buffer cache pages for) the file referred to by the file descriptor "
7296 "I<fd> to the disk device (or other permanent storage device) so that all "
7297 "changed information can be retrieved even after the system crashed or was "
7298 "rebooted.  This includes writing through or flushing a disk cache if "
7299 "present.  The call blocks until the device reports that the transfer has "
7300 "completed.  It also flushes metadata information associated with the file "
7301 "(see B<stat>(2))."
7302 msgstr ""
7303
7304 #. type: Plain text
7305 #: build/C/man2/fsync.2:82
7306 msgid ""
7307 "Calling B<fsync>()  does not necessarily ensure that the entry in the "
7308 "directory containing the file has also reached disk.  For that an explicit "
7309 "B<fsync>()  on a file descriptor for the directory is also needed."
7310 msgstr ""
7311
7312 #. type: Plain text
7313 #: build/C/man2/fsync.2:103
7314 msgid ""
7315 "B<fdatasync>()  is similar to B<fsync>(), but does not flush modified "
7316 "metadata unless that metadata is needed in order to allow a subsequent data "
7317 "retrieval to be correctly handled.  For example, changes to I<st_atime> or "
7318 "I<st_mtime> (respectively, time of last access and time of last "
7319 "modification; see B<stat>(2))  do not require flushing because they are not "
7320 "necessary for a subsequent data read to be handled correctly.  On the other "
7321 "hand, a change to the file size (I<st_size>, as made by say "
7322 "B<ftruncate>(2)), would require a metadata flush."
7323 msgstr ""
7324
7325 #. type: Plain text
7326 #: build/C/man2/fsync.2:108
7327 msgid ""
7328 "The aim of B<fdatasync>()  is to reduce disk activity for applications that "
7329 "do not require all metadata to be synchronized with the disk."
7330 msgstr ""
7331
7332 #. type: Plain text
7333 #: build/C/man2/fsync.2:113
7334 msgid ""
7335 "On success, these system calls return zero.  On error, -1 is returned, and "
7336 "I<errno> is set appropriately."
7337 msgstr ""
7338
7339 #. type: Plain text
7340 #: build/C/man2/fsync.2:118
7341 msgid "I<fd> is not a valid open file descriptor."
7342 msgstr ""
7343
7344 #. type: Plain text
7345 #: build/C/man2/fsync.2:121
7346 msgid "An error occurred during synchronization."
7347 msgstr ""
7348
7349 #. type: TP
7350 #: build/C/man2/fsync.2:121
7351 #, no-wrap
7352 msgid "B<EROFS>, B<EINVAL>"
7353 msgstr ""
7354
7355 #. type: Plain text
7356 #: build/C/man2/fsync.2:125
7357 msgid "I<fd> is bound to a special file which does not support synchronization."
7358 msgstr ""
7359
7360 #. type: Plain text
7361 #: build/C/man2/fsync.2:127
7362 msgid "4.3BSD, POSIX.1-2001."
7363 msgstr ""
7364
7365 #. type: SH
7366 #: build/C/man2/fsync.2:127
7367 #, no-wrap
7368 msgid "AVAILABILITY"
7369 msgstr ""
7370
7371 #.  POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
7372 #.  -1: unavailable, 0: ask using sysconf().
7373 #.  glibc defines them to 1.
7374 #. type: Plain text
7375 #: build/C/man2/fsync.2:140
7376 msgid ""
7377 "On POSIX systems on which B<fdatasync>()  is available, "
7378 "B<_POSIX_SYNCHRONIZED_IO> is defined in I<E<lt>unistd.hE<gt>> to a value "
7379 "greater than 0.  (See also B<sysconf>(3).)"
7380 msgstr ""
7381
7382 #. type: Plain text
7383 #: build/C/man2/fsync.2:146
7384 msgid ""
7385 "On some UNIX systems (but not Linux), I<fd> must be a I<writable> file "
7386 "descriptor."
7387 msgstr ""
7388
7389 #. type: Plain text
7390 #: build/C/man2/fsync.2:152
7391 msgid ""
7392 "In Linux 2.2 and earlier, B<fdatasync>()  is equivalent to B<fsync>(), and "
7393 "so has no performance advantage."
7394 msgstr ""
7395
7396 #. type: Plain text
7397 #: build/C/man2/fsync.2:162
7398 msgid ""
7399 "The B<fsync>()  implementations in older kernels and lesser used filesystems "
7400 "does not know how to flush disk caches.  In these cases disk caches need to "
7401 "be disabled using B<hdparm>(8)  or B<sdparm>(8)  to guarantee safe "
7402 "operation."
7403 msgstr ""
7404
7405 #. type: Plain text
7406 #: build/C/man2/fsync.2:170
7407 msgid ""
7408 "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), "
7409 "B<mount>(8), B<sync>(8)"
7410 msgstr ""
7411
7412 #. type: TH
7413 #: build/C/man3/get_nprocs_conf.3:26
7414 #, no-wrap
7415 msgid "GET_NPROCS"
7416 msgstr ""
7417
7418 #. type: TH
7419 #: build/C/man3/get_nprocs_conf.3:26
7420 #, no-wrap
7421 msgid "2012-03-20"
7422 msgstr ""
7423
7424 #. type: Plain text
7425 #: build/C/man3/get_nprocs_conf.3:29
7426 msgid "get_nprocs, get_nprocs_conf - get number of processors"
7427 msgstr ""
7428
7429 #. type: Plain text
7430 #: build/C/man3/get_nprocs_conf.3:31 build/C/man2/sysinfo.2:19
7431 msgid "B<#include E<lt>sys/sysinfo.hE<gt>>"
7432 msgstr ""
7433
7434 #. type: Plain text
7435 #: build/C/man3/get_nprocs_conf.3:33
7436 msgid "B<int get_nprocs(void);>"
7437 msgstr ""
7438
7439 #. type: Plain text
7440 #: build/C/man3/get_nprocs_conf.3:35
7441 msgid "B<int get_nprocs_conf(void);>"
7442 msgstr ""
7443
7444 #. type: Plain text
7445 #: build/C/man3/get_nprocs_conf.3:39
7446 msgid ""
7447 "The function B<get_nprocs_conf>()  returns the number of processors "
7448 "configured by the operating system."
7449 msgstr ""
7450
7451 #. type: Plain text
7452 #: build/C/man3/get_nprocs_conf.3:46
7453 msgid ""
7454 "The function B<get_nprocs>()  returns the number of processors currently "
7455 "available in the system.  This may be less than the number returned by "
7456 "B<get_nprocs_conf>()  because processors may be offline (e.g., on "
7457 "hotpluggable systems)."
7458 msgstr ""
7459
7460 #. type: Plain text
7461 #: build/C/man3/get_nprocs_conf.3:48
7462 msgid "As given in DESCRIPTION."
7463 msgstr ""
7464
7465 #. type: Plain text
7466 #: build/C/man3/get_nprocs_conf.3:50 build/C/man3/getopt.3:350
7467 msgid "These functions are GNU extensions."
7468 msgstr ""
7469
7470 #.  glibc 2.15
7471 #. type: Plain text
7472 #: build/C/man3/get_nprocs_conf.3:57
7473 msgid ""
7474 "The current implementation of these functions is rather expensive, since "
7475 "they open and parse files in the I</sys> filesystem each time they are "
7476 "called."
7477 msgstr ""
7478
7479 #. type: Plain text
7480 #: build/C/man3/get_nprocs_conf.3:62
7481 msgid ""
7482 "The following B<sysconf>(3)  calls make use of the functions documented on "
7483 "this page to return the same information."
7484 msgstr ""
7485
7486 #. type: Plain text
7487 #: build/C/man3/get_nprocs_conf.3:66
7488 #, no-wrap
7489 msgid ""
7490 "    np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
7491 "    np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
7492 msgstr ""
7493
7494 #. type: Plain text
7495 #: build/C/man3/get_nprocs_conf.3:73
7496 msgid ""
7497 "The following example shows how B<get_nprocs>()  and B<get_nprocs_conf>()  "
7498 "can be used."
7499 msgstr ""
7500
7501 #. type: Plain text
7502 #: build/C/man3/get_nprocs_conf.3:77
7503 #, no-wrap
7504 msgid ""
7505 "#include E<lt>stdio.hE<gt>\n"
7506 "#include E<lt>sys/sysinfo.hE<gt>\n"
7507 msgstr ""
7508
7509 #. type: Plain text
7510 #: build/C/man3/get_nprocs_conf.3:86
7511 #, no-wrap
7512 msgid ""
7513 "int\n"
7514 "main(int argc, char *argv[])\n"
7515 "{\n"
7516 "    printf(\"This system has %d processors configured and \"\n"
7517 "            \"%d processors available.\\en\",\n"
7518 "            get_nprocs_conf(), get_nprocs());\n"
7519 "    return 0;\n"
7520 "}\n"
7521 msgstr ""
7522
7523 #. type: TH
7524 #: build/C/man2/get_thread_area.2:8
7525 #, no-wrap
7526 msgid "GET_THREAD_AREA"
7527 msgstr ""
7528
7529 #. type: TH
7530 #: build/C/man2/get_thread_area.2:8 build/C/man2/set_thread_area.2:8
7531 #, no-wrap
7532 msgid "2012-07-13"
7533 msgstr ""
7534
7535 #. type: Plain text
7536 #: build/C/man2/get_thread_area.2:11
7537 msgid "get_thread_area - get a thread-local storage (TLS) area"
7538 msgstr ""
7539
7540 #. type: Plain text
7541 #: build/C/man2/get_thread_area.2:15 build/C/man2/set_thread_area.2:15
7542 msgid "B<#include E<lt>asm/ldt.hE<gt>>"
7543 msgstr ""
7544
7545 #. type: Plain text
7546 #: build/C/man2/get_thread_area.2:17
7547 msgid "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
7548 msgstr ""
7549
7550 #. type: Plain text
7551 #: build/C/man2/get_thread_area.2:20 build/C/man2/gettid.2:38 build/C/man2/set_thread_area.2:20 build/C/man2/sysctl.2:44
7552 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
7553 msgstr ""
7554
7555 #. type: Plain text
7556 #: build/C/man2/get_thread_area.2:29
7557 msgid ""
7558 "B<get_thread_area>()  returns an entry in the current thread's thread-local "
7559 "storage (TLS) array.  The index of the entry corresponds to the value of "
7560 "I<u_info-E<gt>entry_number>, passed in by the user.  If the value is in "
7561 "bounds, B<get_thread_area>()  copies the corresponding TLS entry into the "
7562 "area pointed to by I<u_info>."
7563 msgstr ""
7564
7565 #. type: Plain text
7566 #: build/C/man2/get_thread_area.2:35
7567 msgid ""
7568 "B<get_thread_area>()  returns 0 on success.  Otherwise, it returns -1 and "
7569 "sets I<errno> appropriately."
7570 msgstr ""
7571
7572 #. type: Plain text
7573 #: build/C/man2/get_thread_area.2:39 build/C/man2/set_thread_area.2:56
7574 msgid "I<u_info> is an invalid pointer."
7575 msgstr ""
7576
7577 #. type: Plain text
7578 #: build/C/man2/get_thread_area.2:42 build/C/man2/set_thread_area.2:53
7579 msgid "I<u_info-E<gt>entry_number> is out of bounds."
7580 msgstr ""
7581
7582 #. type: Plain text
7583 #: build/C/man2/get_thread_area.2:46
7584 msgid "A version of B<get_thread_area>()  first appeared in Linux 2.5.32."
7585 msgstr ""
7586
7587 #. type: Plain text
7588 #: build/C/man2/get_thread_area.2:50
7589 msgid ""
7590 "B<get_thread_area>()  is Linux-specific and should not be used in programs "
7591 "that are intended to be portable."
7592 msgstr ""
7593
7594 #. type: Plain text
7595 #: build/C/man2/get_thread_area.2:55
7596 msgid ""
7597 "Glibc does not provide a wrapper for this system call, since it is generally "
7598 "intended for use only by threading libraries.  In the unlikely event that "
7599 "you want to call it directly, use B<syscall>(2)."
7600 msgstr ""
7601
7602 #. type: Plain text
7603 #: build/C/man2/get_thread_area.2:58
7604 msgid "B<modify_ldt>(2), B<set_thread_area>(2)"
7605 msgstr ""
7606
7607 #. type: TH
7608 #: build/C/man3/getcwd.3:32
7609 #, no-wrap
7610 msgid "GETCWD"
7611 msgstr ""
7612
7613 #. type: Plain text
7614 #: build/C/man3/getcwd.3:35
7615 msgid "getcwd, getwd, get_current_dir_name - get current working directory"
7616 msgstr ""
7617
7618 #. type: Plain text
7619 #: build/C/man3/getcwd.3:40
7620 #, no-wrap
7621 msgid "B<char *getcwd(char *>I<buf>B<, size_t >I<size>B<);>\n"
7622 msgstr ""
7623
7624 #. type: Plain text
7625 #: build/C/man3/getcwd.3:42
7626 #, no-wrap
7627 msgid "B<char *getwd(char *>I<buf>B<);>\n"
7628 msgstr ""
7629
7630 #. type: Plain text
7631 #: build/C/man3/getcwd.3:44
7632 #, no-wrap
7633 msgid "B<char *get_current_dir_name(void);>\n"
7634 msgstr ""
7635
7636 #. type: Plain text
7637 #: build/C/man3/getcwd.3:52
7638 msgid "B<get_current_dir_name>():"
7639 msgstr ""
7640
7641 #. type: Plain text
7642 #: build/C/man3/getcwd.3:57
7643 msgid "B<getwd>():"
7644 msgstr ""
7645
7646 #. type: Plain text
7647 #: build/C/man3/getcwd.3:67 build/C/man3/ualarm.3:50 build/C/man3/usleep.3:59 build/C/man2/vfork.2:54
7648 #, no-wrap
7649 msgid ""
7650 "_BSD_SOURCE ||\n"
7651 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
7652 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
7653 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)\n"
7654 msgstr ""
7655
7656 #. type: Plain text
7657 #: build/C/man3/getcwd.3:72 build/C/man3/getdtablesize.3:54 build/C/man2/getpagesize.2:52 build/C/man3/ualarm.3:55 build/C/man3/usleep.3:64 build/C/man2/vfork.2:59
7658 msgid ""
7659 "Before glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
7660 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7661 msgstr ""
7662
7663 #. type: Plain text
7664 #: build/C/man3/getcwd.3:82
7665 msgid ""
7666 "These functions return a null-terminated string containing an absolute "
7667 "pathname that is the current working directory of the calling process.  The "
7668 "pathname is returned as the function result and via the argument I<buf>, if "
7669 "present."
7670 msgstr ""
7671
7672 #. type: Plain text
7673 #: build/C/man3/getcwd.3:90
7674 msgid ""
7675 "The B<getcwd>()  function copies an absolute pathname of the current working "
7676 "directory to the array pointed to by I<buf>, which is of length I<size>."
7677 msgstr ""
7678
7679 #. type: Plain text
7680 #: build/C/man3/getcwd.3:100
7681 msgid ""
7682 "If the length of the absolute pathname of the current working directory, "
7683 "including the terminating null byte, exceeds I<size> bytes, NULL is "
7684 "returned, and I<errno> is set to B<ERANGE>; an application should check for "
7685 "this error, and allocate a larger buffer if necessary."
7686 msgstr ""
7687
7688 #. type: Plain text
7689 #: build/C/man3/getcwd.3:118
7690 msgid ""
7691 "As an extension to the POSIX.1-2001 standard, Linux (libc4, libc5, glibc)  "
7692 "B<getcwd>()  allocates the buffer dynamically using B<malloc>(3)  if I<buf> "
7693 "is NULL.  In this case, the allocated buffer has the length I<size> unless "
7694 "I<size> is zero, when I<buf> is allocated as big as necessary.  The caller "
7695 "should B<free>(3)  the returned buffer."
7696 msgstr ""
7697
7698 #. type: Plain text
7699 #: build/C/man3/getcwd.3:131
7700 msgid ""
7701 "B<get_current_dir_name>()  will B<malloc>(3)  an array big enough to hold "
7702 "the absolute pathname of the current working directory.  If the environment "
7703 "variable B<PWD> is set, and its value is correct, then that value will be "
7704 "returned.  The caller should B<free>(3)  the returned buffer."
7705 msgstr ""
7706
7707 #. type: Plain text
7708 #: build/C/man3/getcwd.3:156
7709 msgid ""
7710 "B<getwd>()  does not B<malloc>(3)  any memory.  The I<buf> argument should "
7711 "be a pointer to an array at least B<PATH_MAX> bytes long.  If the length of "
7712 "the absolute pathname of the current working directory, including the "
7713 "terminating null byte, exceeds B<PATH_MAX> bytes, NULL is returned, and "
7714 "I<errno> is set to B<ENAMETOOLONG>.  (Note that on some systems, B<PATH_MAX> "
7715 "may not be a compile-time constant; furthermore, its value may depend on the "
7716 "filesystem, see B<pathconf>(3).)  For portability and security reasons, use "
7717 "of B<getwd>()  is deprecated."
7718 msgstr ""
7719
7720 #. type: Plain text
7721 #: build/C/man3/getcwd.3:165
7722 msgid ""
7723 "On success, these functions return a pointer to a string containing the "
7724 "pathname of the current working directory.  In the case B<getcwd>()  and "
7725 "B<getwd>()  this is the same value as I<buf>."
7726 msgstr ""
7727
7728 #. type: Plain text
7729 #: build/C/man3/getcwd.3:172
7730 msgid ""
7731 "On failure, these functions return NULL, and I<errno> is set to indicate the "
7732 "error.  The contents of the array pointed to by I<buf> are undefined on "
7733 "error."
7734 msgstr ""
7735
7736 #. type: Plain text
7737 #: build/C/man3/getcwd.3:176
7738 msgid "Permission to read or search a component of the filename was denied."
7739 msgstr ""
7740
7741 #. type: Plain text
7742 #: build/C/man3/getcwd.3:180
7743 msgid "I<buf> points to a bad address."
7744 msgstr ""
7745
7746 #. type: Plain text
7747 #: build/C/man3/getcwd.3:187
7748 msgid "The I<size> argument is zero and I<buf> is not a null pointer."
7749 msgstr ""
7750
7751 #. type: TP
7752 #: build/C/man3/getcwd.3:187
7753 #, no-wrap
7754 msgid "EINVAL"
7755 msgstr ""
7756
7757 #. type: Plain text
7758 #: build/C/man3/getcwd.3:192
7759 msgid "B<getwd>(): I<buf> is NULL."
7760 msgstr ""
7761
7762 #. type: TP
7763 #: build/C/man3/getcwd.3:192
7764 #, no-wrap
7765 msgid "ENAMETOOLONG"
7766 msgstr ""
7767
7768 #. type: Plain text
7769 #: build/C/man3/getcwd.3:198
7770 msgid ""
7771 "B<getwd>(): The size of the null-terminated absolute pathname string exceeds "
7772 "B<PATH_MAX> bytes."
7773 msgstr ""
7774
7775 #. type: Plain text
7776 #: build/C/man3/getcwd.3:201
7777 msgid "The current working directory has been unlinked."
7778 msgstr ""
7779
7780 #. type: TP
7781 #: build/C/man3/getcwd.3:201 build/C/man3/getlogin.3:114
7782 #, no-wrap
7783 msgid "B<ERANGE>"
7784 msgstr ""
7785
7786 #. type: Plain text
7787 #: build/C/man3/getcwd.3:208
7788 msgid ""
7789 "The I<size> argument is less than the length of the absolute pathname of the "
7790 "working directory, including the terminating null byte.  You need to "
7791 "allocate a bigger array and try again."
7792 msgstr ""
7793
7794 #. type: Plain text
7795 #: build/C/man3/getcwd.3:216
7796 msgid ""
7797 "B<getcwd>()  conforms to POSIX.1-2001.  Note however that POSIX.1-2001 "
7798 "leaves the behavior of B<getcwd>()  unspecified if I<buf> is NULL."
7799 msgstr ""
7800
7801 #. type: Plain text
7802 #: build/C/man3/getcwd.3:227
7803 msgid ""
7804 "B<getwd>()  is present in POSIX.1-2001, but marked LEGACY.  POSIX.1-2008 "
7805 "removes the specification of B<getwd>().  Use B<getcwd>()  instead.  "
7806 "POSIX.1-2001 does not define any errors for B<getwd>()."
7807 msgstr ""
7808
7809 #. type: Plain text
7810 #: build/C/man3/getcwd.3:230
7811 msgid "B<get_current_dir_name>()  is a GNU extension."
7812 msgstr ""
7813
7814 #. type: Plain text
7815 #: build/C/man3/getcwd.3:241
7816 msgid ""
7817 "Under Linux, the function B<getcwd>()  is a system call (since 2.1.92).  On "
7818 "older systems it would query I</proc/self/cwd>.  If both system call and "
7819 "proc filesystem are missing, a generic implementation is called.  Only in "
7820 "that case can these calls fail under Linux with B<EACCES>."
7821 msgstr ""
7822
7823 #. type: Plain text
7824 #: build/C/man3/getcwd.3:249
7825 msgid ""
7826 "These functions are often used to save the location of the current working "
7827 "directory for the purpose of returning to it later.  Opening the current "
7828 "directory (\".\") and calling B<fchdir>(2)  to return is usually a faster "
7829 "and more reliable alternative when sufficiently many file descriptors are "
7830 "available, especially on platforms other than Linux."
7831 msgstr ""
7832
7833 #. type: Plain text
7834 #: build/C/man3/getcwd.3:256
7835 msgid ""
7836 "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
7837 "B<malloc>(3)"
7838 msgstr ""
7839
7840 #. type: TH
7841 #: build/C/man2/getdomainname.2:29
7842 #, no-wrap
7843 msgid "GETDOMAINNAME"
7844 msgstr ""
7845
7846 #. type: TH
7847 #: build/C/man2/getdomainname.2:29
7848 #, no-wrap
7849 msgid "2012-10-25"
7850 msgstr ""
7851
7852 #. type: Plain text
7853 #: build/C/man2/getdomainname.2:32
7854 msgid "getdomainname, setdomainname - get/set NIS domain name"
7855 msgstr ""
7856
7857 #. type: Plain text
7858 #: build/C/man2/getdomainname.2:36
7859 msgid "B<int getdomainname(char *>I<name>B<, size_t >I<len>B<);>"
7860 msgstr ""
7861
7862 #. type: Plain text
7863 #: build/C/man2/getdomainname.2:38
7864 msgid "B<int setdomainname(const char *>I<name>B<, size_t >I<len>B<);>"
7865 msgstr ""
7866
7867 #. type: Plain text
7868 #: build/C/man2/getdomainname.2:47
7869 msgid "B<getdomainname>(), B<setdomainname>():"
7870 msgstr ""
7871
7872 #. type: Plain text
7873 #: build/C/man2/getdomainname.2:49 build/C/man3/gethostid.3:54 build/C/man2/gethostname.2:60 build/C/man3/getusershell.3:55
7874 msgid "_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
7875 msgstr ""
7876
7877 #. type: Plain text
7878 #: build/C/man2/getdomainname.2:54
7879 msgid ""
7880 "These functions are used to access or to change the NIS domain name of the "
7881 "host system."
7882 msgstr ""
7883
7884 #. type: Plain text
7885 #: build/C/man2/getdomainname.2:65
7886 msgid ""
7887 "B<setdomainname>()  sets the domain name to the value given in the character "
7888 "array I<name>.  The I<len> argument specifies the number of bytes in "
7889 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7890 msgstr ""
7891
7892 #. type: Plain text
7893 #: build/C/man2/getdomainname.2:75
7894 msgid ""
7895 "B<getdomainname>()  returns the null-terminated domain name in the character "
7896 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7897 "domain name requires more than I<len> bytes, B<getdomainname>()  returns the "
7898 "first I<len> bytes (glibc) or gives an error (libc)."
7899 msgstr ""
7900
7901 #. type: Plain text
7902 #: build/C/man2/getdomainname.2:83
7903 msgid "B<setdomainname>()  can fail with the following errors:"
7904 msgstr ""
7905
7906 #. type: Plain text
7907 #: build/C/man2/getdomainname.2:87
7908 msgid "I<name> pointed outside of user address space."
7909 msgstr ""
7910
7911 #. type: Plain text
7912 #: build/C/man2/getdomainname.2:91
7913 msgid "I<len> was negative or too large."
7914 msgstr ""
7915
7916 #. type: Plain text
7917 #: build/C/man2/getdomainname.2:96
7918 msgid ""
7919 "the caller is unprivileged (Linux: does not have the B<CAP_SYS_ADMIN> "
7920 "capability)."
7921 msgstr ""
7922
7923 #. type: Plain text
7924 #: build/C/man2/getdomainname.2:99
7925 msgid "B<getdomainname>()  can fail with the following errors:"
7926 msgstr ""
7927
7928 #. type: Plain text
7929 #: build/C/man2/getdomainname.2:110
7930 msgid ""
7931 "For B<getdomainname>()  under libc: I<name> is NULL or I<name> is longer "
7932 "than I<len> bytes."
7933 msgstr ""
7934
7935 #.  But they appear on most systems...
7936 #. type: Plain text
7937 #: build/C/man2/getdomainname.2:113
7938 msgid "POSIX does not specify these calls."
7939 msgstr ""
7940
7941 #. type: Plain text
7942 #: build/C/man2/getdomainname.2:117
7943 msgid ""
7944 "Since Linux 1.0, the limit on the length of a domain name, including the "
7945 "terminating null byte, is 64 bytes.  In older kernels, it was 8 bytes."
7946 msgstr ""
7947
7948 #. type: Plain text
7949 #: build/C/man2/getdomainname.2:127
7950 msgid ""
7951 "On most Linux architectures (including x86), there is no B<getdomainname>()  "
7952 "system call; instead, glibc implements B<getdomainname>()  as a library "
7953 "function that returns a copy of the I<domainname> field returned from a call "
7954 "to B<uname>(2)."
7955 msgstr ""
7956
7957 #. type: Plain text
7958 #: build/C/man2/getdomainname.2:131
7959 msgid "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
7960 msgstr ""
7961
7962 #. type: TH
7963 #: build/C/man3/getdtablesize.3:27
7964 #, no-wrap
7965 msgid "GETDTABLESIZE"
7966 msgstr ""
7967
7968 #. type: TH
7969 #: build/C/man3/getdtablesize.3:27
7970 #, no-wrap
7971 msgid "2013-02-05"
7972 msgstr ""
7973
7974 #. type: Plain text
7975 #: build/C/man3/getdtablesize.3:30
7976 msgid "getdtablesize - get descriptor table size"
7977 msgstr ""
7978
7979 #. type: Plain text
7980 #: build/C/man3/getdtablesize.3:34
7981 msgid "B<int getdtablesize(void);>"
7982 msgstr ""
7983
7984 #. type: Plain text
7985 #: build/C/man3/getdtablesize.3:41
7986 msgid "B<getdtablesize>():"
7987 msgstr ""
7988
7989 #. type: Plain text
7990 #: build/C/man3/getdtablesize.3:49 build/C/man2/getpagesize.2:47
7991 #, no-wrap
7992 msgid ""
7993 "_BSD_SOURCE ||\n"
7994 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
7995 msgstr ""
7996
7997 #. type: Plain text
7998 #: build/C/man3/getdtablesize.3:61
7999 msgid ""
8000 "B<getdtablesize>()  returns the maximum number of files a process can have "
8001 "open, one more than the largest possible value for a file descriptor."
8002 msgstr ""
8003
8004 #. type: Plain text
8005 #: build/C/man3/getdtablesize.3:63
8006 msgid "The current limit on the number of open files per process."
8007 msgstr ""
8008
8009 #. type: Plain text
8010 #: build/C/man3/getdtablesize.3:69
8011 msgid ""
8012 "On Linux, B<getdtablesize>()  can return any of the errors described for "
8013 "B<getrlimit>(2); see NOTES below."
8014 msgstr ""
8015
8016 #. type: Plain text
8017 #: build/C/man3/getdtablesize.3:77
8018 msgid ""
8019 "SVr4, 4.4BSD (the B<getdtablesize>()  function first appeared in 4.2BSD).  "
8020 "It is not specified in POSIX.1-2001; portable applications should employ "
8021 "I<sysconf(_SC_OPEN_MAX)> instead of this call."
8022 msgstr ""
8023
8024 #. type: Plain text
8025 #: build/C/man3/getdtablesize.3:90
8026 msgid ""
8027 "B<getdtablesize>()  is implemented as a libc library function.  The glibc "
8028 "version calls B<getrlimit>(2)  and returns the current B<RLIMIT_NOFILE> "
8029 "limit, or B<OPEN_MAX> when that fails.  The libc4 and libc5 versions return "
8030 "B<OPEN_MAX> (set to 256 since Linux 0.98.4)."
8031 msgstr ""
8032
8033 #. type: Plain text
8034 #: build/C/man3/getdtablesize.3:95
8035 msgid "B<close>(2), B<dup>(2), B<getrlimit>(2), B<open>(2)"
8036 msgstr ""
8037
8038 #. type: TH
8039 #: build/C/man3/gethostid.3:29
8040 #, no-wrap
8041 msgid "GETHOSTID"
8042 msgstr ""
8043
8044 #. type: Plain text
8045 #: build/C/man3/gethostid.3:32
8046 msgid "gethostid, sethostid - get or set the unique identifier of the current host"
8047 msgstr ""
8048
8049 #. type: Plain text
8050 #: build/C/man3/gethostid.3:36
8051 msgid "B<long gethostid(void);>"
8052 msgstr ""
8053
8054 #. type: Plain text
8055 #: build/C/man3/gethostid.3:38
8056 msgid "B<int sethostid(long >I<hostid>B<);>"
8057 msgstr ""
8058
8059 #. type: Plain text
8060 #: build/C/man3/gethostid.3:47
8061 msgid "B<gethostid>():"
8062 msgstr ""
8063
8064 #. type: Plain text
8065 #: build/C/man3/gethostid.3:52
8066 msgid "B<sethostid>():"
8067 msgstr ""
8068
8069 #. type: Plain text
8070 #: build/C/man3/gethostid.3:67
8071 msgid ""
8072 "B<gethostid>()  and B<sethostid>()  respectively get or set a unique 32-bit "
8073 "identifier for the current machine.  The 32-bit identifier is intended to be "
8074 "unique among all UNIX systems in existence.  This normally resembles the "
8075 "Internet address for the local machine, as returned by B<gethostbyname>(3), "
8076 "and thus usually never needs to be set."
8077 msgstr ""
8078
8079 #. type: Plain text
8080 #: build/C/man3/gethostid.3:71
8081 msgid "The B<sethostid>()  call is restricted to the superuser."
8082 msgstr ""
8083
8084 #. type: Plain text
8085 #: build/C/man3/gethostid.3:75
8086 msgid ""
8087 "B<gethostid>()  returns the 32-bit identifier for the current host as set by "
8088 "B<sethostid>()."
8089 msgstr ""
8090
8091 #. type: Plain text
8092 #: build/C/man3/gethostid.3:81
8093 msgid ""
8094 "On success, B<sethostid>()  returns 0; on error, -1 is returned, and "
8095 "I<errno> is set to indicate the error."
8096 msgstr ""
8097
8098 #. type: Plain text
8099 #: build/C/man3/gethostid.3:84
8100 msgid "B<sethostid>()  can fail with the following errors:"
8101 msgstr ""
8102
8103 #. type: Plain text
8104 #: build/C/man3/gethostid.3:88
8105 msgid ""
8106 "The caller did not have permission to write to the file used to store the "
8107 "host ID."
8108 msgstr ""
8109
8110 #. type: Plain text
8111 #: build/C/man3/gethostid.3:92
8112 msgid ""
8113 "The calling process's effective user or group ID is not the same as its "
8114 "corresponding real ID."
8115 msgstr ""
8116
8117 #. type: Plain text
8118 #: build/C/man3/gethostid.3:102
8119 msgid ""
8120 "4.2BSD; these functions were dropped in 4.4BSD.  SVr4 includes "
8121 "B<gethostid>()  but not B<sethostid>().  POSIX.1-2001 specifies "
8122 "B<gethostid>()  but not B<sethostid>()."
8123 msgstr ""
8124
8125 #.  libc5 used /etc/hostid; libc4 didn't have these functions
8126 #. type: Plain text
8127 #: build/C/man3/gethostid.3:111
8128 msgid ""
8129 "In the glibc implementation, the I<hostid> is stored in the file "
8130 "I</etc/hostid>.  (In glibc versions before 2.2, the file I</var/adm/hostid> "
8131 "was used.)"
8132 msgstr ""
8133
8134 #. type: Plain text
8135 #: build/C/man3/gethostid.3:122
8136 msgid ""
8137 "In the glibc implementation, if B<gethostid>()  cannot open the file "
8138 "containing the host ID, then it obtains the hostname using "
8139 "B<gethostname>(2), passes that hostname to B<gethostbyname_r>(3)  in order "
8140 "to obtain the host's IPv4 address, and returns a value obtained by "
8141 "bit-twiddling the IPv4 address.  (This value may not be unique.)"
8142 msgstr ""
8143
8144 #. type: Plain text
8145 #: build/C/man3/gethostid.3:124
8146 msgid "It is impossible to ensure that the identifier is globally unique."
8147 msgstr ""
8148
8149 #. type: Plain text
8150 #: build/C/man3/gethostid.3:127
8151 msgid "B<hostid>(1), B<gethostbyname>(3)"
8152 msgstr ""
8153
8154 #. type: TH
8155 #: build/C/man2/gethostname.2:32
8156 #, no-wrap
8157 msgid "GETHOSTNAME"
8158 msgstr ""
8159
8160 #. type: TH
8161 #: build/C/man2/gethostname.2:32
8162 #, no-wrap
8163 msgid "2010-09-26"
8164 msgstr ""
8165
8166 #. type: Plain text
8167 #: build/C/man2/gethostname.2:35
8168 msgid "gethostname, sethostname - get/set hostname"
8169 msgstr ""
8170
8171 #. type: Plain text
8172 #: build/C/man2/gethostname.2:39
8173 msgid "B<int gethostname(char *>I<name>B<, size_t >I<len>B<);>"
8174 msgstr ""
8175
8176 #. type: Plain text
8177 #: build/C/man2/gethostname.2:41
8178 msgid "B<int sethostname(const char *>I<name>B<, size_t >I<len>B<);>"
8179 msgstr ""
8180
8181 #. type: Plain text
8182 #: build/C/man2/gethostname.2:50
8183 msgid "B<gethostname>():"
8184 msgstr ""
8185
8186 #. type: Plain text
8187 #: build/C/man2/gethostname.2:53
8188 msgid "Since glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
8189 msgstr ""
8190
8191 #. type: Plain text
8192 #: build/C/man2/gethostname.2:55
8193 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
8194 msgstr ""
8195
8196 #. type: Plain text
8197 #: build/C/man2/gethostname.2:58
8198 msgid "B<sethostname>():"
8199 msgstr ""
8200
8201 #. type: Plain text
8202 #: build/C/man2/gethostname.2:66
8203 msgid ""
8204 "These system calls are used to access or to change the hostname of the "
8205 "current processor."
8206 msgstr ""
8207
8208 #. type: Plain text
8209 #: build/C/man2/gethostname.2:77
8210 msgid ""
8211 "B<sethostname>()  sets the hostname to the value given in the character "
8212 "array I<name>.  The I<len> argument specifies the number of bytes in "
8213 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
8214 msgstr ""
8215
8216 #. type: Plain text
8217 #: build/C/man2/gethostname.2:89
8218 msgid ""
8219 "B<gethostname>()  returns the null-terminated hostname in the character "
8220 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
8221 "hostname is too large to fit, then the name is truncated, and no error is "
8222 "returned (but see NOTES below).  POSIX.1-2001 says that if such truncation "
8223 "occurs, then it is unspecified whether the returned buffer includes a "
8224 "terminating null byte."
8225 msgstr ""
8226
8227 #. type: Plain text
8228 #: build/C/man2/gethostname.2:99
8229 msgid "I<name> is an invalid address."
8230 msgstr ""
8231
8232 #.  Can't occur for gethostbyname() wrapper, since 'len' has an
8233 #.  unsigned type; can occur for the underlying system call.
8234 #. type: Plain text
8235 #: build/C/man2/gethostname.2:109
8236 msgid ""
8237 "I<len> is negative or, for B<sethostname>(), I<len> is larger than the "
8238 "maximum allowed size."
8239 msgstr ""
8240
8241 #. type: Plain text
8242 #: build/C/man2/gethostname.2:117
8243 msgid ""
8244 "(glibc B<gethostname>())  I<len> is smaller than the actual size.  (Before "
8245 "version 2.1, glibc uses B<EINVAL> for this case.)"
8246 msgstr ""
8247
8248 #. type: Plain text
8249 #: build/C/man2/gethostname.2:124
8250 msgid ""
8251 "For B<sethostname>(), the caller did not have the B<CAP_SYS_ADMIN> "
8252 "capability."
8253 msgstr ""
8254
8255 #. type: Plain text
8256 #: build/C/man2/gethostname.2:130
8257 msgid ""
8258 "SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1-2001 "
8259 "specifies B<gethostname>()  but not B<sethostname>()."
8260 msgstr ""
8261
8262 #. type: Plain text
8263 #: build/C/man2/gethostname.2:140
8264 msgid ""
8265 "SUSv2 guarantees that \"Host names are limited to 255 bytes\".  POSIX.1-2001 "
8266 "guarantees that \"Host names (not including the terminating null byte) are "
8267 "limited to B<HOST_NAME_MAX> bytes\".  On Linux, B<HOST_NAME_MAX> is defined "
8268 "with the value 64, which has been the limit since Linux 1.0 (earlier kernels "
8269 "imposed a limit of 8 bytes)."
8270 msgstr ""
8271
8272 #. type: Plain text
8273 #: build/C/man2/gethostname.2:163
8274 msgid ""
8275 "The GNU C library does not employ the B<gethostname>()  system call; "
8276 "instead, it implements B<gethostname>()  as a library function that calls "
8277 "B<uname>(2)  and copies up to I<len> bytes from the returned I<nodename> "
8278 "field into I<name>.  Having performed the copy, the function then checks if "
8279 "the length of the I<nodename> was greater than or equal to I<len>, and if it "
8280 "is, then the function returns -1 with I<errno> set to B<ENAMETOOLONG>; in "
8281 "this case, a terminating null byte is not included in the returned I<name>."
8282 msgstr ""
8283
8284 #.  At least glibc 2.0 and 2.1, older versions not checked
8285 #. type: Plain text
8286 #: build/C/man2/gethostname.2:176
8287 msgid ""
8288 "Versions of glibc before 2.2 handle the case where the length of the "
8289 "I<nodename> was greater than or equal to I<len> differently: nothing is "
8290 "copied into I<name> and the function returns -1 with I<errno> set to "
8291 "B<ENAMETOOLONG>."
8292 msgstr ""
8293
8294 #. type: Plain text
8295 #: build/C/man2/gethostname.2:180
8296 msgid "B<getdomainname>(2), B<setdomainname>(2), B<uname>(2)"
8297 msgstr ""
8298
8299 #. type: TH
8300 #: build/C/man3/getlogin.3:28
8301 #, no-wrap
8302 msgid "GETLOGIN"
8303 msgstr ""
8304
8305 #. type: TH
8306 #: build/C/man3/getlogin.3:28
8307 #, no-wrap
8308 msgid "2013-04-19"
8309 msgstr ""
8310
8311 #. type: Plain text
8312 #: build/C/man3/getlogin.3:31
8313 msgid "getlogin, getlogin_r, cuserid - get username"
8314 msgstr ""
8315
8316 #. type: Plain text
8317 #: build/C/man3/getlogin.3:35
8318 msgid "B<char *getlogin(void);>"
8319 msgstr ""
8320
8321 #. type: Plain text
8322 #: build/C/man3/getlogin.3:37
8323 msgid "B<int getlogin_r(char *>I<buf>B<, size_t >I<bufsize>B<);>"
8324 msgstr ""
8325
8326 #. type: Plain text
8327 #: build/C/man3/getlogin.3:39
8328 msgid "B<#include E<lt>stdio.hE<gt>>"
8329 msgstr ""
8330
8331 #. type: Plain text
8332 #: build/C/man3/getlogin.3:41
8333 msgid "B<char *cuserid(char *>I<string>B<);>"
8334 msgstr ""
8335
8336 #. type: Plain text
8337 #: build/C/man3/getlogin.3:49
8338 msgid "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
8339 msgstr ""
8340
8341 #. type: Plain text
8342 #: build/C/man3/getlogin.3:52
8343 msgid "B<cuserid>(): _XOPEN_SOURCE"
8344 msgstr ""
8345
8346 #. type: Plain text
8347 #: build/C/man3/getlogin.3:61
8348 msgid ""
8349 "B<getlogin>()  returns a pointer to a string containing the name of the user "
8350 "logged in on the controlling terminal of the process, or a null pointer if "
8351 "this information cannot be determined.  The string is statically allocated "
8352 "and might be overwritten on subsequent calls to this function or to "
8353 "B<cuserid>()."
8354 msgstr ""
8355
8356 #. type: Plain text
8357 #: build/C/man3/getlogin.3:67
8358 msgid ""
8359 "B<getlogin_r>()  returns this same username in the array I<buf> of size "
8360 "I<bufsize>."
8361 msgstr ""
8362
8363 #. type: Plain text
8364 #: build/C/man3/getlogin.3:79
8365 msgid ""
8366 "B<cuserid>()  returns a pointer to a string containing a username associated "
8367 "with the effective user ID of the process.  If I<string> is not a null "
8368 "pointer, it should be an array that can hold at least B<L_cuserid> "
8369 "characters; the string is returned in this array.  Otherwise, a pointer to a "
8370 "string in a static area is returned.  This string is statically allocated "
8371 "and might be overwritten on subsequent calls to this function or to "
8372 "B<getlogin>()."
8373 msgstr ""
8374
8375 #. type: Plain text
8376 #: build/C/man3/getlogin.3:83
8377 msgid ""
8378 "The macro B<L_cuserid> is an integer constant that indicates how long an "
8379 "array you might need to store a username.  B<L_cuserid> is declared in "
8380 "I<E<lt>stdio.hE<gt>>."
8381 msgstr ""
8382
8383 #. type: Plain text
8384 #: build/C/man3/getlogin.3:90
8385 msgid ""
8386 "These functions let your program identify positively the user who is running "
8387 "(B<cuserid>())  or the user who logged in this session (B<getlogin>()).  "
8388 "(These can differ when set-user-ID programs are involved.)"
8389 msgstr ""
8390
8391 #. type: Plain text
8392 #: build/C/man3/getlogin.3:95
8393 msgid ""
8394 "For most purposes, it is more useful to use the environment variable "
8395 "B<LOGNAME> to find out who the user is.  This is more flexible precisely "
8396 "because the user can set B<LOGNAME> arbitrarily."
8397 msgstr ""
8398
8399 #. type: Plain text
8400 #: build/C/man3/getlogin.3:103
8401 msgid ""
8402 "B<getlogin>()  returns a pointer to the username when successful, and NULL "
8403 "on failure, with I<errno> set to indicate the cause of the error.  "
8404 "B<getlogin_r>()  returns 0 when successful, and nonzero on failure."
8405 msgstr ""
8406
8407 #. type: Plain text
8408 #: build/C/man3/getlogin.3:105
8409 msgid "POSIX specifies"
8410 msgstr ""
8411
8412 #. type: Plain text
8413 #: build/C/man3/getlogin.3:108
8414 msgid "The calling process already has the maximum allowed number of open files."
8415 msgstr ""
8416
8417 #. type: Plain text
8418 #: build/C/man3/getlogin.3:111
8419 msgid "The system already has the maximum allowed number of open files."
8420 msgstr ""
8421
8422 #. type: TP
8423 #: build/C/man3/getlogin.3:111
8424 #, no-wrap
8425 msgid "B<ENXIO>"
8426 msgstr ""
8427
8428 #. type: Plain text
8429 #: build/C/man3/getlogin.3:114
8430 msgid "The calling process has no controlling terminal."
8431 msgstr ""
8432
8433 #. type: Plain text
8434 #: build/C/man3/getlogin.3:120
8435 msgid ""
8436 "(getlogin_r)  The length of the username, including the terminating null "
8437 "byte (\\(aq\\e0\\(aq), is larger than I<bufsize>."
8438 msgstr ""
8439
8440 #. type: Plain text
8441 #: build/C/man3/getlogin.3:122
8442 msgid "Linux/glibc also has"
8443 msgstr ""
8444
8445 #. type: Plain text
8446 #: build/C/man3/getlogin.3:125
8447 msgid "There was no corresponding entry in the utmp-file."
8448 msgstr ""
8449
8450 #. type: Plain text
8451 #: build/C/man3/getlogin.3:128
8452 msgid "Insufficient memory to allocate passwd structure."
8453 msgstr ""
8454
8455 #. type: TP
8456 #: build/C/man3/getlogin.3:128 build/C/man2/ioctl.2:109 build/C/man2/ioctl.2:113 build/C/man3/tcgetpgrp.3:95
8457 #, no-wrap
8458 msgid "B<ENOTTY>"
8459 msgstr ""
8460
8461 #. type: Plain text
8462 #: build/C/man3/getlogin.3:132
8463 msgid "Standard input didn't refer to a terminal.  (See BUGS.)"
8464 msgstr ""
8465
8466 #. type: TP
8467 #: build/C/man3/getlogin.3:133
8468 #, no-wrap
8469 msgid "I</etc/passwd>"
8470 msgstr ""
8471
8472 #. type: Plain text
8473 #: build/C/man3/getlogin.3:136
8474 msgid "password database file"
8475 msgstr ""
8476
8477 #. type: TP
8478 #: build/C/man3/getlogin.3:136
8479 #, no-wrap
8480 msgid "I</var/run/utmp>"
8481 msgstr ""
8482
8483 #. type: Plain text
8484 #: build/C/man3/getlogin.3:140
8485 msgid "(traditionally I</etc/utmp>; some libc versions used I</var/adm/utmp>)"
8486 msgstr ""
8487
8488 #. type: Plain text
8489 #: build/C/man3/getlogin.3:145
8490 msgid "The B<getlogin>()  function is not thread-safe."
8491 msgstr ""
8492
8493 #. type: Plain text
8494 #: build/C/man3/getlogin.3:149
8495 msgid "The B<getlogin_r>()  function is thread-safe."
8496 msgstr ""
8497
8498 #. type: Plain text
8499 #: build/C/man3/getlogin.3:154
8500 msgid ""
8501 "The B<cuserid>()  function is thread-safe with exceptions.  It is not "
8502 "thread-safe if called with a NULL parameter."
8503 msgstr ""
8504
8505 #. type: Plain text
8506 #: build/C/man3/getlogin.3:159
8507 msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
8508 msgstr ""
8509
8510 #. type: Plain text
8511 #: build/C/man3/getlogin.3:170
8512 msgid ""
8513 "System V has a B<cuserid>()  function which uses the real user ID rather "
8514 "than the effective user ID.  The B<cuserid>()  function was included in the "
8515 "1988 version of POSIX, but removed from the 1990 version.  It was present in "
8516 "SUSv2, but removed in POSIX.1-2001."
8517 msgstr ""
8518
8519 #. type: Plain text
8520 #: build/C/man3/getlogin.3:177
8521 msgid ""
8522 "OpenBSD has B<getlogin>()  and B<setlogin>(), and a username associated with "
8523 "a session, even if it has no controlling terminal."
8524 msgstr ""
8525
8526 #. type: Plain text
8527 #: build/C/man3/getlogin.3:189
8528 msgid ""
8529 "Unfortunately, it is often rather easy to fool B<getlogin>().  Sometimes it "
8530 "does not work at all, because some program messed up the utmp file.  Often, "
8531 "it gives only the first 8 characters of the login name.  The user currently "
8532 "logged in on the controlling terminal of our program need not be the user "
8533 "who started it.  Avoid B<getlogin>()  for security-related purposes."
8534 msgstr ""
8535
8536 #. type: Plain text
8537 #: build/C/man3/getlogin.3:199
8538 msgid ""
8539 "Note that glibc does not follow the POSIX specification and uses I<stdin> "
8540 "instead of I</dev/tty>.  A bug.  (Other recent systems, like SunOS 5.8 and "
8541 "HP-UX 11.11 and FreeBSD 4.8 all return the login name also when I<stdin> is "
8542 "redirected.)"
8543 msgstr ""
8544
8545 #. type: Plain text
8546 #: build/C/man3/getlogin.3:209
8547 msgid ""
8548 "Nobody knows precisely what B<cuserid>()  does; avoid it in portable "
8549 "programs.  Or avoid it altogether: use I<getpwuid(geteuid())> instead, if "
8550 "that is what you meant.  B<Do not use> B<cuserid>()."
8551 msgstr ""
8552
8553 #. type: Plain text
8554 #: build/C/man3/getlogin.3:213
8555 msgid "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
8556 msgstr ""
8557
8558 #. type: TH
8559 #: build/C/man3/getopt.3:41
8560 #, no-wrap
8561 msgid "GETOPT"
8562 msgstr ""
8563
8564 #. type: TH
8565 #: build/C/man3/getopt.3:41
8566 #, no-wrap
8567 msgid "2014-05-09"
8568 msgstr ""
8569
8570 #. type: Plain text
8571 #: build/C/man3/getopt.3:45
8572 msgid ""
8573 "getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - "
8574 "Parse command-line options"
8575 msgstr ""
8576
8577 #. type: Plain text
8578 #: build/C/man3/getopt.3:51
8579 #, no-wrap
8580 msgid ""
8581 "B<int getopt(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8582 "B<           const char *>I<optstring>B<);>\n"
8583 msgstr ""
8584
8585 #. type: Plain text
8586 #: build/C/man3/getopt.3:54
8587 #, no-wrap
8588 msgid ""
8589 "B<extern char *>I<optarg>B<;>\n"
8590 "B<extern int >I<optind>B<, >I<opterr>B<, >I<optopt>B<;>\n"
8591 msgstr ""
8592
8593 #. type: Plain text
8594 #: build/C/man3/getopt.3:56
8595 #, no-wrap
8596 msgid "B<#include E<lt>getopt.hE<gt>>\n"
8597 msgstr ""
8598
8599 #. type: Plain text
8600 #: build/C/man3/getopt.3:60
8601 #, no-wrap
8602 msgid ""
8603 "B<int getopt_long(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8604 "B<           const char *>I<optstring>B<,>\n"
8605 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8606 msgstr ""
8607
8608 #. type: Plain text
8609 #: build/C/man3/getopt.3:64
8610 #, no-wrap
8611 msgid ""
8612 "B<int getopt_long_only(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8613 "B<           const char *>I<optstring>B<,>\n"
8614 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8615 msgstr ""
8616
8617 #. type: Plain text
8618 #: build/C/man3/getopt.3:74
8619 msgid "B<getopt>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
8620 msgstr ""
8621
8622 #. type: Plain text
8623 #: build/C/man3/getopt.3:78
8624 msgid "B<getopt_long>(), B<getopt_long_only>(): _GNU_SOURCE"
8625 msgstr ""
8626
8627 #. type: Plain text
8628 #: build/C/man3/getopt.3:99
8629 msgid ""
8630 "The B<getopt>()  function parses the command-line arguments.  Its arguments "
8631 "I<argc> and I<argv> are the argument count and array as passed to the "
8632 "I<main>()  function on program invocation.  An element of I<argv> that "
8633 "starts with \\(aq-\\(aq (and is not exactly \"-\" or \"--\")  is an option "
8634 "element.  The characters of this element (aside from the initial "
8635 "\\(aq-\\(aq) are option characters.  If B<getopt>()  is called repeatedly, "
8636 "it returns successively each of the option characters from each of the "
8637 "option elements."
8638 msgstr ""
8639
8640 #. type: Plain text
8641 #: build/C/man3/getopt.3:108
8642 msgid ""
8643 "The variable I<optind> is the index of the next element to be processed in "
8644 "I<argv>.  The system initializes this value to 1.  The caller can reset it "
8645 "to 1 to restart scanning of the same I<argv>, or when scanning a new "
8646 "argument vector."
8647 msgstr ""
8648
8649 #. type: Plain text
8650 #: build/C/man3/getopt.3:118
8651 msgid ""
8652 "If B<getopt>()  finds another option character, it returns that character, "
8653 "updating the external variable I<optind> and a static variable I<nextchar> "
8654 "so that the next call to B<getopt>()  can resume the scan with the following "
8655 "option character or I<argv>-element."
8656 msgstr ""
8657
8658 #. type: Plain text
8659 #: build/C/man3/getopt.3:124
8660 msgid ""
8661 "If there are no more option characters, B<getopt>()  returns -1.  Then "
8662 "I<optind> is the index in I<argv> of the first I<argv>-element that is not "
8663 "an option."
8664 msgstr ""
8665
8666 #. type: Plain text
8667 #: build/C/man3/getopt.3:151
8668 msgid ""
8669 "I<optstring> is a string containing the legitimate option characters.  If "
8670 "such a character is followed by a colon, the option requires an argument, so "
8671 "B<getopt>()  places a pointer to the following text in the same "
8672 "I<argv>-element, or the text of the following I<argv>-element, in "
8673 "I<optarg>.  Two colons mean an option takes an optional arg; if there is "
8674 "text in the current I<argv>-element (i.e., in the same word as the option "
8675 "name itself, for example, \"-oarg\"), then it is returned in I<optarg>, "
8676 "otherwise I<optarg> is set to zero.  This is a GNU extension.  If "
8677 "I<optstring> contains B<W> followed by a semicolon, then B<-W foo> is "
8678 "treated as the long option B<--foo>.  (The B<-W> option is reserved by "
8679 "POSIX.2 for implementation extensions.)  This behavior is a GNU extension, "
8680 "not available with libraries before glibc 2."
8681 msgstr ""
8682
8683 #. type: Plain text
8684 #: build/C/man3/getopt.3:169
8685 msgid ""
8686 "By default, B<getopt>()  permutes the contents of I<argv> as it scans, so "
8687 "that eventually all the nonoptions are at the end.  Two other modes are also "
8688 "implemented.  If the first character of I<optstring> is \\(aq+\\(aq or the "
8689 "environment variable B<POSIXLY_CORRECT> is set, then option processing stops "
8690 "as soon as a nonoption argument is encountered.  If the first character of "
8691 "I<optstring> is \\(aq-\\(aq, then each nonoption I<argv>-element is handled "
8692 "as if it were the argument of an option with character code 1.  (This is "
8693 "used by programs that were written to expect options and other "
8694 "I<argv>-elements in any order and that care about the ordering of the two.)  "
8695 "The special argument \"--\" forces an end of option-scanning regardless of "
8696 "the scanning mode."
8697 msgstr ""
8698
8699 #. type: Plain text
8700 #: build/C/man3/getopt.3:177
8701 msgid ""
8702 "If B<getopt>()  does not recognize an option character, it prints an error "
8703 "message to I<stderr>, stores the character in I<optopt>, and returns "
8704 "\\(aq?\\(aq.  The calling program may prevent the error message by setting "
8705 "I<opterr> to 0."
8706 msgstr ""
8707
8708 #. type: Plain text
8709 #: build/C/man3/getopt.3:196
8710 msgid ""
8711 "If B<getopt>()  finds an option character in I<argv> that was not included "
8712 "in I<optstring>, or if it detects a missing option argument, it returns "
8713 "\\(aq?\\(aq and sets the external variable I<optopt> to the actual option "
8714 "character.  If the first character (following any optional \\(aq+\\(aq or "
8715 "\\(aq-\\(aq described above)  of I<optstring> is a colon (\\(aq:\\(aq), then "
8716 "B<getopt>()  returns \\(aq:\\(aq instead of \\(aq?\\(aq to indicate a "
8717 "missing option argument.  If an error was detected, and the first character "
8718 "of I<optstring> is not a colon, and the external variable I<opterr> is "
8719 "nonzero (which is the default), B<getopt>()  prints an error message."
8720 msgstr ""
8721
8722 #. type: SS
8723 #: build/C/man3/getopt.3:196
8724 #, no-wrap
8725 msgid "getopt_long() and getopt_long_only()"
8726 msgstr ""
8727
8728 #. type: Plain text
8729 #: build/C/man3/getopt.3:212
8730 msgid ""
8731 "The B<getopt_long>()  function works like B<getopt>()  except that it also "
8732 "accepts long options, started with two dashes.  (If the program accepts only "
8733 "long options, then I<optstring> should be specified as an empty string "
8734 "(\"\"), not NULL.)  Long option names may be abbreviated if the abbreviation "
8735 "is unique or is an exact match for some defined option.  A long option may "
8736 "take a parameter, of the form B<--arg=param> or B<--arg param>."
8737 msgstr ""
8738
8739 #. type: Plain text
8740 #: build/C/man3/getopt.3:219
8741 msgid ""
8742 "I<longopts> is a pointer to the first element of an array of I<struct "
8743 "option> declared in I<E<lt>getopt.hE<gt>> as"
8744 msgstr ""
8745
8746 #. type: Plain text
8747 #: build/C/man3/getopt.3:228
8748 #, no-wrap
8749 msgid ""
8750 "struct option {\n"
8751 "    const char *name;\n"
8752 "    int         has_arg;\n"
8753 "    int        *flag;\n"
8754 "    int         val;\n"
8755 "};\n"
8756 msgstr ""
8757
8758 #. type: Plain text
8759 #: build/C/man3/getopt.3:232
8760 msgid "The meanings of the different fields are:"
8761 msgstr ""
8762
8763 #. type: TP
8764 #: build/C/man3/getopt.3:232
8765 #, no-wrap
8766 msgid "I<name>"
8767 msgstr ""
8768
8769 #. type: Plain text
8770 #: build/C/man3/getopt.3:235
8771 msgid "is the name of the long option."
8772 msgstr ""
8773
8774 #. type: TP
8775 #: build/C/man3/getopt.3:235
8776 #, no-wrap
8777 msgid "I<has_arg>"
8778 msgstr ""
8779
8780 #. type: Plain text
8781 #: build/C/man3/getopt.3:241
8782 msgid ""
8783 "is: B<no_argument> (or 0) if the option does not take an argument; "
8784 "B<required_argument> (or 1) if the option requires an argument; or "
8785 "B<optional_argument> (or 2) if the option takes an optional argument."
8786 msgstr ""
8787
8788 #. type: TP
8789 #: build/C/man3/getopt.3:241
8790 #, no-wrap
8791 msgid "I<flag>"
8792 msgstr ""
8793
8794 #. type: Plain text
8795 #: build/C/man3/getopt.3:255
8796 msgid ""
8797 "specifies how results are returned for a long option.  If I<flag> is NULL, "
8798 "then B<getopt_long>()  returns I<val>.  (For example, the calling program "
8799 "may set I<val> to the equivalent short option character.)  Otherwise, "
8800 "B<getopt_long>()  returns 0, and I<flag> points to a variable which is set "
8801 "to I<val> if the option is found, but left unchanged if the option is not "
8802 "found."
8803 msgstr ""
8804
8805 #. type: TP
8806 #: build/C/man3/getopt.3:255
8807 #, no-wrap
8808 msgid "I<val>"
8809 msgstr ""
8810
8811 #. type: Plain text
8812 #: build/C/man3/getopt.3:259
8813 msgid "is the value to return, or to load into the variable pointed to by I<flag>."
8814 msgstr ""
8815
8816 #. type: Plain text
8817 #: build/C/man3/getopt.3:261
8818 msgid "The last element of the array has to be filled with zeros."
8819 msgstr ""
8820
8821 #. type: Plain text
8822 #: build/C/man3/getopt.3:265
8823 msgid ""
8824 "If I<longindex> is not NULL, it points to a variable which is set to the "
8825 "index of the long option relative to I<longopts>."
8826 msgstr ""
8827
8828 #. type: Plain text
8829 #: build/C/man3/getopt.3:274
8830 msgid ""
8831 "B<getopt_long_only>()  is like B<getopt_long>(), but \\(aq-\\(aq as well as "
8832 "\"--\" can indicate a long option.  If an option that starts with "
8833 "\\(aq-\\(aq (not \"--\") doesn't match a long option, but does match a short "
8834 "option, it is parsed as a short option instead."
8835 msgstr ""
8836
8837 #. type: Plain text
8838 #: build/C/man3/getopt.3:292
8839 msgid ""
8840 "If an option was successfully found, then B<getopt>()  returns the option "
8841 "character.  If all command-line options have been parsed, then B<getopt>()  "
8842 "returns -1.  If B<getopt>()  encounters an option character that was not in "
8843 "I<optstring>, then \\(aq?\\(aq is returned.  If B<getopt>()  encounters an "
8844 "option with a missing argument, then the return value depends on the first "
8845 "character in I<optstring>: if it is \\(aq:\\(aq, then \\(aq:\\(aq is "
8846 "returned; otherwise \\(aq?\\(aq is returned."
8847 msgstr ""
8848
8849 #. type: Plain text
8850 #: build/C/man3/getopt.3:304
8851 msgid ""
8852 "B<getopt_long>()  and B<getopt_long_only>()  also return the option "
8853 "character when a short option is recognized.  For a long option, they return "
8854 "I<val> if I<flag> is NULL, and 0 otherwise.  Error and -1 returns are the "
8855 "same as for B<getopt>(), plus \\(aq?\\(aq for an ambiguous match or an "
8856 "extraneous parameter."
8857 msgstr ""
8858
8859 #. type: SH
8860 #: build/C/man3/getopt.3:304
8861 #, no-wrap
8862 msgid "ENVIRONMENT"
8863 msgstr ""
8864
8865 #. type: TP
8866 #: build/C/man3/getopt.3:305
8867 #, no-wrap
8868 msgid "B<POSIXLY_CORRECT>"
8869 msgstr ""
8870
8871 #. type: Plain text
8872 #: build/C/man3/getopt.3:309
8873 msgid ""
8874 "If this is set, then option processing stops as soon as a nonoption argument "
8875 "is encountered."
8876 msgstr ""
8877
8878 #. type: TP
8879 #: build/C/man3/getopt.3:309
8880 #, no-wrap
8881 msgid "B<_E<lt>PIDE<gt>_GNU_nonoption_argv_flags_>"
8882 msgstr ""
8883
8884 #. type: Plain text
8885 #: build/C/man3/getopt.3:318
8886 msgid ""
8887 "This variable was used by B<bash>(1)  2.0 to communicate to glibc which "
8888 "arguments are the results of wildcard expansion and so should not be "
8889 "considered as options.  This behavior was removed in B<bash>(1)  version "
8890 "2.01, but the support remains in glibc."
8891 msgstr ""
8892
8893 #. type: TP
8894 #: build/C/man3/getopt.3:319
8895 #, no-wrap
8896 msgid "B<getopt>():"
8897 msgstr ""
8898
8899 #. type: Plain text
8900 #: build/C/man3/getopt.3:329
8901 msgid ""
8902 "POSIX.2 and POSIX.1-2001, provided the environment variable "
8903 "B<POSIXLY_CORRECT> is set.  Otherwise, the elements of I<argv> aren't really "
8904 "const, because we permute them.  We pretend they're const in the prototype "
8905 "to be compatible with other systems."
8906 msgstr ""
8907
8908 #. type: Plain text
8909 #: build/C/man3/getopt.3:333
8910 msgid "The use of \\(aq+\\(aq and \\(aq-\\(aq in I<optstring> is a GNU extension."
8911 msgstr ""
8912
8913 #. type: Plain text
8914 #: build/C/man3/getopt.3:347
8915 msgid ""
8916 "On some older implementations, B<getopt>()  was declared in "
8917 "I<E<lt>stdio.hE<gt>>.  SUSv1 permitted the declaration to appear in either "
8918 "I<E<lt>unistd.hE<gt>> or I<E<lt>stdio.hE<gt>>.  POSIX.1-2001 marked the use "
8919 "of I<E<lt>stdio.hE<gt>> for this purpose as LEGACY.  POSIX.1-2001 does not "
8920 "allow the declaration to appear in I<E<lt>stdio.hE<gt>>."
8921 msgstr ""
8922
8923 #. type: TP
8924 #: build/C/man3/getopt.3:347
8925 #, no-wrap
8926 msgid "B<getopt_long>() and B<getopt_long_only>():"
8927 msgstr ""
8928
8929 #. type: Plain text
8930 #: build/C/man3/getopt.3:369
8931 msgid ""
8932 "A program that scans multiple argument vectors, or rescans the same vector "
8933 "more than once, and wants to make use of GNU extensions such as \\(aq+\\(aq "
8934 "and \\(aq-\\(aq at the start of I<optstring>, or changes the value of "
8935 "B<POSIXLY_CORRECT> between scans, must reinitialize B<getopt>()  by "
8936 "resetting I<optind> to 0, rather than the traditional value of 1.  "
8937 "(Resetting to 0 forces the invocation of an internal initialization routine "
8938 "that rechecks B<POSIXLY_CORRECT> and checks for GNU extensions in "
8939 "I<optstring>.)"
8940 msgstr ""
8941
8942 #. type: Plain text
8943 #: build/C/man3/getopt.3:376
8944 msgid ""
8945 "The POSIX.2 specification of B<getopt>()  has a technical error described in "
8946 "POSIX.2 Interpretation 150.  The GNU implementation (and probably all other "
8947 "implementations) implements the correct behavior rather than that specified."
8948 msgstr ""
8949
8950 #. type: SS
8951 #: build/C/man3/getopt.3:377
8952 #, no-wrap
8953 msgid "getopt()"
8954 msgstr ""
8955
8956 #. type: Plain text
8957 #: build/C/man3/getopt.3:385
8958 msgid ""
8959 "The following trivial example program uses B<getopt>()  to handle two "
8960 "program options: I<-n>, with no associated value; and I<-t val>, which "
8961 "expects an associated value."
8962 msgstr ""
8963
8964 #. type: Plain text
8965 #: build/C/man3/getopt.3:390
8966 #, no-wrap
8967 msgid ""
8968 "#include E<lt>unistd.hE<gt>\n"
8969 "#include E<lt>stdlib.hE<gt>\n"
8970 "#include E<lt>stdio.hE<gt>\n"
8971 msgstr ""
8972
8973 #. type: Plain text
8974 #: build/C/man3/getopt.3:396
8975 #, no-wrap
8976 msgid ""
8977 "int\n"
8978 "main(int argc, char *argv[])\n"
8979 "{\n"
8980 "    int flags, opt;\n"
8981 "    int nsecs, tfnd;\n"
8982 msgstr ""
8983
8984 #. type: Plain text
8985 #: build/C/man3/getopt.3:415
8986 #, no-wrap
8987 msgid ""
8988 "    nsecs = 0;\n"
8989 "    tfnd = 0;\n"
8990 "    flags = 0;\n"
8991 "    while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n"
8992 "        switch (opt) {\n"
8993 "        case \\(aqn\\(aq:\n"
8994 "            flags = 1;\n"
8995 "            break;\n"
8996 "        case \\(aqt\\(aq:\n"
8997 "            nsecs = atoi(optarg);\n"
8998 "            tfnd = 1;\n"
8999 "            break;\n"
9000 "        default: /* \\(aq?\\(aq */\n"
9001 "            fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n"
9002 "                    argv[0]);\n"
9003 "            exit(EXIT_FAILURE);\n"
9004 "        }\n"
9005 "    }\n"
9006 msgstr ""
9007
9008 #. type: Plain text
9009 #: build/C/man3/getopt.3:417
9010 #, no-wrap
9011 msgid "    printf(\"flags=%d; tfnd=%d; optind=%d\\en\", flags, tfnd, optind);\n"
9012 msgstr ""
9013
9014 #. type: Plain text
9015 #: build/C/man3/getopt.3:422
9016 #, no-wrap
9017 msgid ""
9018 "    if (optind E<gt>= argc) {\n"
9019 "        fprintf(stderr, \"Expected argument after options\\en\");\n"
9020 "        exit(EXIT_FAILURE);\n"
9021 "    }\n"
9022 msgstr ""
9023
9024 #. type: Plain text
9025 #: build/C/man3/getopt.3:424
9026 #, no-wrap
9027 msgid "    printf(\"name argument = %s\\en\", argv[optind]);\n"
9028 msgstr ""
9029
9030 #. type: Plain text
9031 #: build/C/man3/getopt.3:426
9032 #, no-wrap
9033 msgid "    /* Other code omitted */\n"
9034 msgstr ""
9035
9036 #. type: SS
9037 #: build/C/man3/getopt.3:430
9038 #, no-wrap
9039 msgid "getopt_long()"
9040 msgstr ""
9041
9042 #. type: Plain text
9043 #: build/C/man3/getopt.3:434
9044 msgid ""
9045 "The following example program illustrates the use of B<getopt_long>()  with "
9046 "most of its features."
9047 msgstr ""
9048
9049 #. type: Plain text
9050 #: build/C/man3/getopt.3:439
9051 #, no-wrap
9052 msgid ""
9053 "#include E<lt>stdio.hE<gt>     /* for printf */\n"
9054 "#include E<lt>stdlib.hE<gt>    /* for exit */\n"
9055 "#include E<lt>getopt.hE<gt>\n"
9056 msgstr ""
9057
9058 #. type: Plain text
9059 #: build/C/man3/getopt.3:445
9060 #, no-wrap
9061 msgid ""
9062 "int\n"
9063 "main(int argc, char **argv)\n"
9064 "{\n"
9065 "    int c;\n"
9066 "    int digit_optind = 0;\n"
9067 msgstr ""
9068
9069 #. type: Plain text
9070 #: build/C/man3/getopt.3:458
9071 #, no-wrap
9072 msgid ""
9073 "    while (1) {\n"
9074 "        int this_option_optind = optind ? optind : 1;\n"
9075 "        int option_index = 0;\n"
9076 "        static struct option long_options[] = {\n"
9077 "            {\"add\",     required_argument, 0,  0 },\n"
9078 "            {\"append\",  no_argument,       0,  0 },\n"
9079 "            {\"delete\",  required_argument, 0,  0 },\n"
9080 "            {\"verbose\", no_argument,       0,  0 },\n"
9081 "            {\"create\",  required_argument, 0, \\(aqc\\(aq},\n"
9082 "            {\"file\",    required_argument, 0,  0 },\n"
9083 "            {0,         0,                 0,  0 }\n"
9084 "        };\n"
9085 msgstr ""
9086
9087 #. type: Plain text
9088 #: build/C/man3/getopt.3:463
9089 #, no-wrap
9090 msgid ""
9091 "        c = getopt_long(argc, argv, \"abc:d:012\",\n"
9092 "                 long_options, &option_index);\n"
9093 "        if (c == -1)\n"
9094 "            break;\n"
9095 msgstr ""
9096
9097 #. type: Plain text
9098 #: build/C/man3/getopt.3:471
9099 #, no-wrap
9100 msgid ""
9101 "        switch (c) {\n"
9102 "        case 0:\n"
9103 "            printf(\"option %s\", long_options[option_index].name);\n"
9104 "            if (optarg)\n"
9105 "                printf(\" with arg %s\", optarg);\n"
9106 "            printf(\"\\en\");\n"
9107 "            break;\n"
9108 msgstr ""
9109
9110 #. type: Plain text
9111 #: build/C/man3/getopt.3:480
9112 #, no-wrap
9113 msgid ""
9114 "        case \\(aq0\\(aq:\n"
9115 "        case \\(aq1\\(aq:\n"
9116 "        case \\(aq2\\(aq:\n"
9117 "            if (digit_optind != 0 && digit_optind != this_option_optind)\n"
9118 "              printf(\"digits occur in two different "
9119 "argv-elements.\\en\");\n"
9120 "            digit_optind = this_option_optind;\n"
9121 "            printf(\"option %c\\en\", c);\n"
9122 "            break;\n"
9123 msgstr ""
9124
9125 #. type: Plain text
9126 #: build/C/man3/getopt.3:484
9127 #, no-wrap
9128 msgid ""
9129 "        case \\(aqa\\(aq:\n"
9130 "            printf(\"option a\\en\");\n"
9131 "            break;\n"
9132 msgstr ""
9133
9134 #. type: Plain text
9135 #: build/C/man3/getopt.3:488
9136 #, no-wrap
9137 msgid ""
9138 "        case \\(aqb\\(aq:\n"
9139 "            printf(\"option b\\en\");\n"
9140 "            break;\n"
9141 msgstr ""
9142
9143 #. type: Plain text
9144 #: build/C/man3/getopt.3:492
9145 #, no-wrap
9146 msgid ""
9147 "        case \\(aqc\\(aq:\n"
9148 "            printf(\"option c with value \\(aq%s\\(aq\\en\", optarg);\n"
9149 "            break;\n"
9150 msgstr ""
9151
9152 #. type: Plain text
9153 #: build/C/man3/getopt.3:496
9154 #, no-wrap
9155 msgid ""
9156 "        case \\(aqd\\(aq:\n"
9157 "            printf(\"option d with value \\(aq%s\\(aq\\en\", optarg);\n"
9158 "            break;\n"
9159 msgstr ""
9160
9161 #. type: Plain text
9162 #: build/C/man3/getopt.3:499
9163 #, no-wrap
9164 msgid ""
9165 "        case \\(aq?\\(aq:\n"
9166 "            break;\n"
9167 msgstr ""
9168
9169 #. type: Plain text
9170 #: build/C/man3/getopt.3:504
9171 #, no-wrap
9172 msgid ""
9173 "        default:\n"
9174 "            printf(\"?? getopt returned character code 0%o ??\\en\", c);\n"
9175 "        }\n"
9176 "    }\n"
9177 msgstr ""
9178
9179 #. type: Plain text
9180 #: build/C/man3/getopt.3:511
9181 #, no-wrap
9182 msgid ""
9183 "    if (optind E<lt> argc) {\n"
9184 "        printf(\"non-option ARGV-elements: \");\n"
9185 "        while (optind E<lt> argc)\n"
9186 "            printf(\"%s \", argv[optind++]);\n"
9187 "        printf(\"\\en\");\n"
9188 "    }\n"
9189 msgstr ""
9190
9191 #. type: Plain text
9192 #: build/C/man3/getopt.3:517
9193 msgid "B<getsubopt>(3)"
9194 msgstr ""
9195
9196 #. type: TH
9197 #: build/C/man2/getpagesize.2:25
9198 #, no-wrap
9199 msgid "GETPAGESIZE"
9200 msgstr ""
9201
9202 #. type: TH
9203 #: build/C/man2/getpagesize.2:25
9204 #, no-wrap
9205 msgid "2010-11-16"
9206 msgstr ""
9207
9208 #. type: Plain text
9209 #: build/C/man2/getpagesize.2:28
9210 msgid "getpagesize - get memory page size"
9211 msgstr ""
9212
9213 #. type: Plain text
9214 #: build/C/man2/getpagesize.2:32
9215 msgid "B<int getpagesize(void);>"
9216 msgstr ""
9217
9218 #. type: Plain text
9219 #: build/C/man2/getpagesize.2:39
9220 msgid "B<getpagesize>():"
9221 msgstr ""
9222
9223 #.  .SH HISTORY
9224 #.  This call first appeared in 4.2BSD.
9225 #. type: Plain text
9226 #: build/C/man2/getpagesize.2:64
9227 msgid ""
9228 "The function B<getpagesize>()  returns the number of bytes in a memory page, "
9229 "where \"page\" is a fixed-length block, the unit for memory allocation and "
9230 "file mapping performed by B<mmap>(2)."
9231 msgstr ""
9232
9233 #. type: Plain text
9234 #: build/C/man2/getpagesize.2:71
9235 msgid ""
9236 "SVr4, 4.4BSD, SUSv2.  In SUSv2 the B<getpagesize>()  call is labeled LEGACY, "
9237 "and in POSIX.1-2001 it has been dropped; HP-UX does not have this call."
9238 msgstr ""
9239
9240 #. type: Plain text
9241 #: build/C/man2/getpagesize.2:76
9242 msgid ""
9243 "Portable applications should employ I<sysconf(_SC_PAGESIZE)> instead of "
9244 "B<getpagesize>():"
9245 msgstr ""
9246
9247 #. type: Plain text
9248 #: build/C/man2/getpagesize.2:81
9249 #, no-wrap
9250 msgid ""
9251 "#include E<lt>unistd.hE<gt>\n"
9252 "long sz = sysconf(_SC_PAGESIZE);\n"
9253 msgstr ""
9254
9255 #. type: Plain text
9256 #: build/C/man2/getpagesize.2:88
9257 msgid "(Most systems allow the synonym B<_SC_PAGE_SIZE> for B<_SC_PAGESIZE>.)"
9258 msgstr ""
9259
9260 #. type: Plain text
9261 #: build/C/man2/getpagesize.2:108
9262 msgid ""
9263 "Whether B<getpagesize>()  is present as a Linux system call depends on the "
9264 "architecture.  If it is, it returns the kernel symbol B<PAGE_SIZE>, whose "
9265 "value depends on the architecture and machine model.  Generally, one uses "
9266 "binaries that are dependent on the architecture but not on the machine "
9267 "model, in order to have a single binary distribution per architecture.  This "
9268 "means that a user program should not find B<PAGE_SIZE> at compile time from "
9269 "a header file, but use an actual system call, at least for those "
9270 "architectures (like sun4) where this dependency exists.  Here libc4, libc5, "
9271 "glibc 2.0 fail because their B<getpagesize>()  returns a statically derived "
9272 "value, and does not use a system call.  Things are OK in glibc 2.1."
9273 msgstr ""
9274
9275 #. type: Plain text
9276 #: build/C/man2/getpagesize.2:111
9277 msgid "B<mmap>(2), B<sysconf>(3)"
9278 msgstr ""
9279
9280 #. type: TH
9281 #: build/C/man2/gettid.2:26
9282 #, no-wrap
9283 msgid "GETTID"
9284 msgstr ""
9285
9286 #. type: TH
9287 #: build/C/man2/gettid.2:26 build/C/man3/lockf.3:28
9288 #, no-wrap
9289 msgid "2014-02-11"
9290 msgstr ""
9291
9292 #. type: Plain text
9293 #: build/C/man2/gettid.2:29
9294 msgid "gettid - get thread identification"
9295 msgstr ""
9296
9297 #. type: Plain text
9298 #: build/C/man2/gettid.2:32
9299 #, no-wrap
9300 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
9301 msgstr ""
9302
9303 #. type: Plain text
9304 #: build/C/man2/gettid.2:34
9305 #, no-wrap
9306 msgid "B<pid_t gettid(void);>\n"
9307 msgstr ""
9308
9309 #. type: Plain text
9310 #: build/C/man2/gettid.2:50
9311 msgid ""
9312 "B<gettid>()  returns the caller's thread ID (TID).  In a single-threaded "
9313 "process, the thread ID is equal to the process ID (PID, as returned by "
9314 "B<getpid>(2)).  In a multithreaded process, all threads have the same PID, "
9315 "but each one has a unique TID.  For further details, see the discussion of "
9316 "B<CLONE_THREAD> in B<clone>(2)."
9317 msgstr ""
9318
9319 #. type: Plain text
9320 #: build/C/man2/gettid.2:52
9321 msgid "On success, returns the thread ID of the calling process."
9322 msgstr ""
9323
9324 #. type: Plain text
9325 #: build/C/man2/gettid.2:54
9326 msgid "This call is always successful."
9327 msgstr ""
9328
9329 #. type: Plain text
9330 #: build/C/man2/gettid.2:58
9331 msgid "The B<gettid>()  system call first appeared on Linux in kernel 2.4.11."
9332 msgstr ""
9333
9334 #. type: Plain text
9335 #: build/C/man2/gettid.2:62
9336 msgid ""
9337 "B<gettid>()  is Linux-specific and should not be used in programs that are "
9338 "intended to be portable."
9339 msgstr ""
9340
9341 #.  FIXME See http://sourceware.org/bugzilla/show_bug.cgi?id=6399
9342 #.  "gettid() should have a wrapper"
9343 #. type: Plain text
9344 #: build/C/man2/gettid.2:67
9345 msgid ""
9346 "Glibc does not provide a wrapper for this system call; call it using "
9347 "B<syscall>(2)."
9348 msgstr ""
9349
9350 #. type: Plain text
9351 #: build/C/man2/gettid.2:71
9352 msgid ""
9353 "The thread ID returned by this call is not the same thing as a POSIX thread "
9354 "ID (i.e., the opaque value returned by B<pthread_self>(3))."
9355 msgstr ""
9356
9357 #.  .BR kcmp (2),
9358 #.  .BR move_pages (2),
9359 #.  .BR migrate_pages (2),
9360 #.  .BR process_vm_readv (2),
9361 #.  .BR ptrace (2),
9362 #. type: Plain text
9363 #: build/C/man2/gettid.2:90
9364 msgid ""
9365 "B<capget>(2), B<clone>(2), B<fcntl>(2), B<fork>(2), B<get_robust_list>(2), "
9366 "B<getpid>(2), B<ioprio_set>(2), B<perf_event_open>(2), "
9367 "B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), "
9368 "B<tgkill>(2), B<timer_create>(2)"
9369 msgstr ""
9370
9371 #. type: TH
9372 #: build/C/man3/getumask.3:28
9373 #, no-wrap
9374 msgid "GETUMASK"
9375 msgstr ""
9376
9377 #. type: TH
9378 #: build/C/man3/getumask.3:28
9379 #, no-wrap
9380 msgid "2010-09-10"
9381 msgstr ""
9382
9383 #. type: Plain text
9384 #: build/C/man3/getumask.3:31
9385 msgid "getumask - get file creation mask"
9386 msgstr ""
9387
9388 #. type: Plain text
9389 #: build/C/man3/getumask.3:35 build/C/man2/truncate.2:50 build/C/man2/umask.2:39 build/C/man2/vfork.2:33
9390 msgid "B<#include E<lt>sys/types.hE<gt>>"
9391 msgstr ""
9392
9393 #. type: Plain text
9394 #: build/C/man3/getumask.3:37 build/C/man2/umask.2:41
9395 msgid "B<#include E<lt>sys/stat.hE<gt>>"
9396 msgstr ""
9397
9398 #. type: Plain text
9399 #: build/C/man3/getumask.3:39
9400 msgid "B<mode_t getumask(void);>"
9401 msgstr ""
9402
9403 #. type: Plain text
9404 #: build/C/man3/getumask.3:42
9405 msgid "This function returns the current file creation mask.  It is equivalent to"
9406 msgstr ""
9407
9408 #. type: Plain text
9409 #: build/C/man3/getumask.3:51
9410 #, no-wrap
9411 msgid ""
9412 "mode_t getumask(void)\n"
9413 "{\n"
9414 "    mode_t mask = umask( 0 );\n"
9415 "    umask(mask);\n"
9416 "    return mask;\n"
9417 "}\n"
9418 msgstr ""
9419
9420 #. type: Plain text
9421 #: build/C/man3/getumask.3:58
9422 msgid ""
9423 "except that it is documented to be thread-safe (that is, shares a lock with "
9424 "the B<umask>(2)  library call)."
9425 msgstr ""
9426
9427 #. type: Plain text
9428 #: build/C/man3/getumask.3:60
9429 msgid "This is a vaporware GNU extension."
9430 msgstr ""
9431
9432 #. type: Plain text
9433 #: build/C/man3/getumask.3:63
9434 msgid ""
9435 "This function is documented but not implemented yet in glibc, as at version "
9436 "2.9."
9437 msgstr ""
9438
9439 #. type: Plain text
9440 #: build/C/man3/getumask.3:65
9441 msgid "B<umask>(2)"
9442 msgstr ""
9443
9444 #. type: TH
9445 #: build/C/man3/getusershell.3:30
9446 #, no-wrap
9447 msgid "GETUSERSHELL"
9448 msgstr ""
9449
9450 #. type: TH
9451 #: build/C/man3/getusershell.3:30 build/C/man2/pread.2:25
9452 #, no-wrap
9453 msgid "2013-06-21"
9454 msgstr ""
9455
9456 #. type: Plain text
9457 #: build/C/man3/getusershell.3:33
9458 msgid "getusershell, setusershell, endusershell - get permitted user shells"
9459 msgstr ""
9460
9461 #. type: Plain text
9462 #: build/C/man3/getusershell.3:38
9463 #, no-wrap
9464 msgid "B<char *getusershell(void);>\n"
9465 msgstr ""
9466
9467 #. type: Plain text
9468 #: build/C/man3/getusershell.3:40
9469 #, no-wrap
9470 msgid "B<void setusershell(void);>\n"
9471 msgstr ""
9472
9473 #. type: Plain text
9474 #: build/C/man3/getusershell.3:42
9475 #, no-wrap
9476 msgid "B<void endusershell(void);>\n"
9477 msgstr ""
9478
9479 #. type: Plain text
9480 #: build/C/man3/getusershell.3:53
9481 msgid "B<getusershell>(), B<setusershell>(), B<endusershell>():"
9482 msgstr ""
9483
9484 #. type: Plain text
9485 #: build/C/man3/getusershell.3:75
9486 msgid ""
9487 "The B<getusershell>()  function returns the next line from the file "
9488 "I</etc/shells>, opening the file if necessary.  The line should contain the "
9489 "pathname of a valid user shell.  If I</etc/shells> does not exist or is "
9490 "unreadable, B<getusershell>()  behaves as if I</bin/sh> and I</bin/csh> were "
9491 "listed in the file."
9492 msgstr ""
9493
9494 #. type: Plain text
9495 #: build/C/man3/getusershell.3:80
9496 msgid "The B<setusershell>()  function rewinds I</etc/shells>."
9497 msgstr ""
9498
9499 #. type: Plain text
9500 #: build/C/man3/getusershell.3:85
9501 msgid "The B<endusershell>()  function closes I</etc/shells>."
9502 msgstr ""
9503
9504 #. type: Plain text
9505 #: build/C/man3/getusershell.3:89
9506 msgid "The B<getusershell>()  function returns NULL on end-of-file."
9507 msgstr ""
9508
9509 #. type: Plain text
9510 #: build/C/man3/getusershell.3:92
9511 #, no-wrap
9512 msgid "/etc/shells\n"
9513 msgstr ""
9514
9515 #. type: Plain text
9516 #: build/C/man3/getusershell.3:101
9517 msgid ""
9518 "The B<getusershell>(), B<setusershell>()  and B<endusershell>()  functions "
9519 "are not thread-safe."
9520 msgstr ""
9521
9522 #. type: Plain text
9523 #: build/C/man3/getusershell.3:103
9524 msgid "4.3BSD."
9525 msgstr ""
9526
9527 #. type: Plain text
9528 #: build/C/man3/getusershell.3:105
9529 msgid "B<shells>(5)"
9530 msgstr ""
9531
9532 #. type: TH
9533 #: build/C/man2/idle.2:32
9534 #, no-wrap
9535 msgid "IDLE"
9536 msgstr ""
9537
9538 #. type: TH
9539 #: build/C/man2/idle.2:32 build/C/man5/shells.5:28
9540 #, no-wrap
9541 msgid "2012-12-31"
9542 msgstr ""
9543
9544 #. type: Plain text
9545 #: build/C/man2/idle.2:35
9546 msgid "idle - make process 0 idle"
9547 msgstr ""
9548
9549 #. type: Plain text
9550 #: build/C/man2/idle.2:39
9551 msgid "B<int idle(void);>"
9552 msgstr ""
9553
9554 #. type: Plain text
9555 #: build/C/man2/idle.2:46
9556 msgid ""
9557 "B<idle>()  is an internal system call used during bootstrap.  It marks the "
9558 "process's pages as swappable, lowers its priority, and enters the main "
9559 "scheduling loop.  B<idle>()  never returns."
9560 msgstr ""
9561
9562 #. type: Plain text
9563 #: build/C/man2/idle.2:52
9564 msgid ""
9565 "Only process 0 may call B<idle>().  Any user process, even a process with "
9566 "superuser permission, will receive B<EPERM>."
9567 msgstr ""
9568
9569 #. type: Plain text
9570 #: build/C/man2/idle.2:55
9571 msgid ""
9572 "B<idle>()  never returns for process 0, and always returns -1 for a user "
9573 "process."
9574 msgstr ""
9575
9576 #. type: Plain text
9577 #: build/C/man2/idle.2:59 build/C/man2/setup.2:60
9578 msgid "Always, for a user process."
9579 msgstr ""
9580
9581 #. type: Plain text
9582 #: build/C/man2/idle.2:61
9583 msgid "Since Linux 2.3.13, this system call does not exist anymore."
9584 msgstr ""
9585
9586 #. type: Plain text
9587 #: build/C/man2/idle.2:64 build/C/man2/sysinfo.2:86
9588 msgid ""
9589 "This function is Linux-specific, and should not be used in programs intended "
9590 "to be portable."
9591 msgstr ""
9592
9593 #. type: TH
9594 #: build/C/man2/ioctl.2:41
9595 #, no-wrap
9596 msgid "IOCTL"
9597 msgstr ""
9598
9599 #. type: TH
9600 #: build/C/man2/ioctl.2:41
9601 #, no-wrap
9602 msgid "2013-11-08"
9603 msgstr ""
9604
9605 #. type: Plain text
9606 #: build/C/man2/ioctl.2:44
9607 msgid "ioctl - control device"
9608 msgstr ""
9609
9610 #. type: Plain text
9611 #: build/C/man2/ioctl.2:46
9612 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
9613 msgstr ""
9614
9615 #.  POSIX says 'request' is int, but glibc has the above
9616 #.  See https://bugzilla.kernel.org/show_bug.cgi?id=42705
9617 #. type: Plain text
9618 #: build/C/man2/ioctl.2:50
9619 msgid "B<int ioctl(int >I<d>B<, unsigned long >I<request>B<, ...);>"
9620 msgstr ""
9621
9622 #. type: Plain text
9623 #: build/C/man2/ioctl.2:61
9624 msgid ""
9625 "The B<ioctl>()  function manipulates the underlying device parameters of "
9626 "special files.  In particular, many operating characteristics of character "
9627 "special files (e.g., terminals) may be controlled with B<ioctl>()  "
9628 "requests.  The argument I<d> must be an open file descriptor."
9629 msgstr ""
9630
9631 #. type: Plain text
9632 #: build/C/man2/ioctl.2:69
9633 msgid ""
9634 "The second argument is a device-dependent request code.  The third argument "
9635 "is an untyped pointer to memory.  It's traditionally B<char *>I<argp> (from "
9636 "the days before B<void *> was valid C), and will be so named for this "
9637 "discussion."
9638 msgstr ""
9639
9640 #. type: Plain text
9641 #: build/C/man2/ioctl.2:85
9642 msgid ""
9643 "An B<ioctl>()  I<request> has encoded in it whether the argument is an I<in> "
9644 "parameter or I<out> parameter, and the size of the argument I<argp> in "
9645 "bytes.  Macros and defines used in specifying an B<ioctl>()  I<request> are "
9646 "located in the file I<E<lt>sys/ioctl.hE<gt>>."
9647 msgstr ""
9648
9649 #. type: Plain text
9650 #: build/C/man2/ioctl.2:94
9651 msgid ""
9652 "Usually, on success zero is returned.  A few B<ioctl>()  requests use the "
9653 "return value as an output parameter and return a nonnegative value on "
9654 "success.  On error, -1 is returned, and I<errno> is set appropriately."
9655 msgstr ""
9656
9657 #. type: Plain text
9658 #: build/C/man2/ioctl.2:99
9659 msgid "I<d> is not a valid descriptor."
9660 msgstr ""
9661
9662 #. type: Plain text
9663 #: build/C/man2/ioctl.2:103
9664 msgid "I<argp> references an inaccessible memory area."
9665 msgstr ""
9666
9667 #. type: Plain text
9668 #: build/C/man2/ioctl.2:109
9669 msgid "I<request> or I<argp> is not valid."
9670 msgstr ""
9671
9672 #. type: Plain text
9673 #: build/C/man2/ioctl.2:113
9674 msgid "I<d> is not associated with a character special device."
9675 msgstr ""
9676
9677 #. type: Plain text
9678 #: build/C/man2/ioctl.2:119
9679 msgid ""
9680 "The specified request does not apply to the kind of object that the "
9681 "descriptor I<d> references."
9682 msgstr ""
9683
9684 #. type: Plain text
9685 #: build/C/man2/ioctl.2:134
9686 msgid ""
9687 "No single standard.  Arguments, returns, and semantics of B<ioctl>()  vary "
9688 "according to the device driver in question (the call is used as a catch-all "
9689 "for operations that don't cleanly fit the UNIX stream I/O model).  See "
9690 "B<ioctl_list>(2)  for a list of many of the known B<ioctl>()  calls.  The "
9691 "B<ioctl>()  function call appeared in Version 7 AT&T UNIX."
9692 msgstr ""
9693
9694 #. type: Plain text
9695 #: build/C/man2/ioctl.2:142
9696 msgid ""
9697 "In order to use this call, one needs an open file descriptor.  Often the "
9698 "B<open>(2)  call has unwanted side effects, that can be avoided under Linux "
9699 "by giving it the B<O_NONBLOCK> flag."
9700 msgstr ""
9701
9702 #.  .BR mt (4),
9703 #. type: Plain text
9704 #: build/C/man2/ioctl.2:150
9705 msgid "B<execve>(2), B<fcntl>(2), B<ioctl_list>(2), B<open>(2), B<sd>(4), B<tty>(4)"
9706 msgstr ""
9707
9708 #. type: TH
9709 #: build/C/man2/ioctl_list.2:30
9710 #, no-wrap
9711 msgid "IOCTL_LIST"
9712 msgstr ""
9713
9714 #. type: TH
9715 #: build/C/man2/ioctl_list.2:30
9716 #, no-wrap
9717 msgid "2013-09-17"
9718 msgstr ""
9719
9720 #. type: Plain text
9721 #: build/C/man2/ioctl_list.2:33
9722 msgid "ioctl_list - list of ioctl calls in Linux/i386 kernel"
9723 msgstr ""
9724
9725 #. type: Plain text
9726 #: build/C/man2/ioctl_list.2:40
9727 msgid ""
9728 "This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel "
9729 "1.3.27.  It contains 421 ioctls from "
9730 "I<E<lt>/usr/include/{asm,linux}/*.hE<gt>>.  For each ioctl, its numerical "
9731 "value, its name, and its argument type are given."
9732 msgstr ""
9733
9734 #. type: Plain text
9735 #: build/C/man2/ioctl_list.2:48
9736 msgid ""
9737 "An argument type of I<const struct foo\\ *> means the argument is input to "
9738 "the kernel.  I<struct foo\\ *> means the kernel outputs the argument.  If "
9739 "the kernel uses the argument for both input and output, this is marked with "
9740 "I<//\\ I-O>."
9741 msgstr ""
9742
9743 #. type: Plain text
9744 #: build/C/man2/ioctl_list.2:53
9745 msgid ""
9746 "Some ioctls take more arguments or return more values than a single "
9747 "structure.  These are marked I<//\\ MORE> and documented further in a "
9748 "separate section."
9749 msgstr ""
9750
9751 #. type: Plain text
9752 #: build/C/man2/ioctl_list.2:55
9753 msgid "This list is very incomplete."
9754 msgstr ""
9755
9756 #. type: SS
9757 #: build/C/man2/ioctl_list.2:55
9758 #, no-wrap
9759 msgid "ioctl structure"
9760 msgstr ""
9761
9762 #.  added two sections - aeb
9763 #. type: Plain text
9764 #: build/C/man2/ioctl_list.2:60
9765 msgid ""
9766 "Ioctl command values are 32-bit constants.  In principle these constants are "
9767 "completely arbitrary, but people have tried to build some structure into "
9768 "them."
9769 msgstr ""
9770
9771 #. type: Plain text
9772 #: build/C/man2/ioctl_list.2:79
9773 msgid ""
9774 "The old Linux situation was that of mostly 16-bit constants, where the last "
9775 "byte is a serial number, and the preceding byte(s) give a type indicating "
9776 "the driver.  Sometimes the major number was used: 0x03 for the B<HDIO_*> "
9777 "ioctls, 0x06 for the B<LP*> ioctls.  And sometimes one or more ASCII letters "
9778 "were used.  For example, B<TCGETS> has value 0x00005401, with 0x54 = "
9779 "\\(aqT\\(aq indicating the terminal driver, and B<CYGETTIMEOUT> has value "
9780 "0x00435906, with 0x43 0x59 = \\(aqC\\(aq \\(aqY\\(aq indicating the cyclades "
9781 "driver."
9782 msgstr ""
9783
9784 #. type: Plain text
9785 #: build/C/man2/ioctl_list.2:87
9786 msgid ""
9787 "Later (0.98p5) some more information was built into the number.  One has 2 "
9788 "direction bits (00: none, 01: write, 10: read, 11: read/write)  followed by "
9789 "14 size bits (giving the size of the argument), followed by an 8-bit type "
9790 "(collecting the ioctls in groups for a common purpose or a common driver), "
9791 "and an 8-bit serial number."
9792 msgstr ""
9793
9794 #. type: Plain text
9795 #: build/C/man2/ioctl_list.2:98
9796 msgid ""
9797 "The macros describing this structure live in I<E<lt>asm/ioctl.hE<gt>> and "
9798 "are B<_IO(type,nr)> and B<{_IOR,_IOW,_IOWR}(type,nr,size)>.  They use "
9799 "I<sizeof(size)> so that size is a misnomer here: this third argument is a "
9800 "data type."
9801 msgstr ""
9802
9803 #. type: Plain text
9804 #: build/C/man2/ioctl_list.2:103
9805 msgid ""
9806 "Note that the size bits are very unreliable: in lots of cases they are "
9807 "wrong, either because of buggy macros using I<sizeof(sizeof(struct))>, or "
9808 "because of legacy values."
9809 msgstr ""
9810
9811 #. type: Plain text
9812 #: build/C/man2/ioctl_list.2:107
9813 msgid ""
9814 "Thus, it seems that the new structure only gave disadvantages: it does not "
9815 "help in checking, but it causes varying values for the various "
9816 "architectures."
9817 msgstr ""
9818
9819 #. type: Plain text
9820 #: build/C/man2/ioctl_list.2:113
9821 msgid ""
9822 "Decent ioctls return 0 on success and -1 on error, while any output value is "
9823 "stored via the argument.  However, quite a few ioctls in fact return an "
9824 "output value.  This is not yet indicated below."
9825 msgstr ""
9826
9827 #. type: Plain text
9828 #: build/C/man2/ioctl_list.2:115
9829 msgid "// Main table."
9830 msgstr ""
9831
9832 #. type: Plain text
9833 #: build/C/man2/ioctl_list.2:117
9834 msgid "// E<lt>include/asm-i386/socket.hE<gt>"
9835 msgstr ""
9836
9837 #. type: tbl table
9838 #: build/C/man2/ioctl_list.2:119
9839 #, no-wrap
9840 msgid "0x00008901\tFIOSETOWN\tconst int *\n"
9841 msgstr ""
9842
9843 #. type: tbl table
9844 #: build/C/man2/ioctl_list.2:120
9845 #, no-wrap
9846 msgid "0x00008902\tSIOCSPGRP\tconst int *\n"
9847 msgstr ""
9848
9849 #. type: tbl table
9850 #: build/C/man2/ioctl_list.2:121
9851 #, no-wrap
9852 msgid "0x00008903\tFIOGETOWN\tint *\n"
9853 msgstr ""
9854
9855 #. type: tbl table
9856 #: build/C/man2/ioctl_list.2:122
9857 #, no-wrap
9858 msgid "0x00008904\tSIOCGPGRP\tint *\n"
9859 msgstr ""
9860
9861 #. type: tbl table
9862 #: build/C/man2/ioctl_list.2:123
9863 #, no-wrap
9864 msgid "0x00008905\tSIOCATMAR\tint *\n"
9865 msgstr ""
9866
9867 #. type: tbl table
9868 #: build/C/man2/ioctl_list.2:124
9869 #, no-wrap
9870 msgid "0x00008906\tSIOCGSTAMP\ttimeval *\n"
9871 msgstr ""
9872
9873 #. type: Plain text
9874 #: build/C/man2/ioctl_list.2:128
9875 msgid "// E<lt>include/asm-i386/termios.hE<gt>"
9876 msgstr ""
9877
9878 #. type: tbl table
9879 #: build/C/man2/ioctl_list.2:130
9880 #, no-wrap
9881 msgid "0x00005401\tTCGETS\tstruct termios *\n"
9882 msgstr ""
9883
9884 #. type: tbl table
9885 #: build/C/man2/ioctl_list.2:131
9886 #, no-wrap
9887 msgid "0x00005402\tTCSETS\tconst struct termios *\n"
9888 msgstr ""
9889
9890 #. type: tbl table
9891 #: build/C/man2/ioctl_list.2:132
9892 #, no-wrap
9893 msgid "0x00005403\tTCSETSW\tconst struct termios *\n"
9894 msgstr ""
9895
9896 #. type: tbl table
9897 #: build/C/man2/ioctl_list.2:133
9898 #, no-wrap
9899 msgid "0x00005404\tTCSETSF\tconst struct termios *\n"
9900 msgstr ""
9901
9902 #. type: tbl table
9903 #: build/C/man2/ioctl_list.2:134
9904 #, no-wrap
9905 msgid "0x00005405\tTCGETA\tstruct termio *\n"
9906 msgstr ""
9907
9908 #. type: tbl table
9909 #: build/C/man2/ioctl_list.2:135
9910 #, no-wrap
9911 msgid "0x00005406\tTCSETA\tconst struct termio *\n"
9912 msgstr ""
9913
9914 #. type: tbl table
9915 #: build/C/man2/ioctl_list.2:136
9916 #, no-wrap
9917 msgid "0x00005407\tTCSETAW\tconst struct termio *\n"
9918 msgstr ""
9919
9920 #. type: tbl table
9921 #: build/C/man2/ioctl_list.2:137
9922 #, no-wrap
9923 msgid "0x00005408\tTCSETAF\tconst struct termio *\n"
9924 msgstr ""
9925
9926 #. type: tbl table
9927 #: build/C/man2/ioctl_list.2:138
9928 #, no-wrap
9929 msgid "0x00005409\tTCSBRK\tint\n"
9930 msgstr ""
9931
9932 #. type: tbl table
9933 #: build/C/man2/ioctl_list.2:139
9934 #, no-wrap
9935 msgid "0x0000540A\tTCXONC\tint\n"
9936 msgstr ""
9937
9938 #. type: tbl table
9939 #: build/C/man2/ioctl_list.2:140
9940 #, no-wrap
9941 msgid "0x0000540B\tTCFLSH\tint\n"
9942 msgstr ""
9943
9944 #. type: tbl table
9945 #: build/C/man2/ioctl_list.2:141
9946 #, no-wrap
9947 msgid "0x0000540C\tTIOCEXCL\tvoid\n"
9948 msgstr ""
9949
9950 #. type: tbl table
9951 #: build/C/man2/ioctl_list.2:142
9952 #, no-wrap
9953 msgid "0x0000540D\tTIOCNXCL\tvoid\n"
9954 msgstr ""
9955
9956 #. type: tbl table
9957 #: build/C/man2/ioctl_list.2:143
9958 #, no-wrap
9959 msgid "0x0000540E\tTIOCSCTTY\tint\n"
9960 msgstr ""
9961
9962 #. type: tbl table
9963 #: build/C/man2/ioctl_list.2:144
9964 #, no-wrap
9965 msgid "0x0000540F\tTIOCGPGRP\tpid_t *\n"
9966 msgstr ""
9967
9968 #. type: tbl table
9969 #: build/C/man2/ioctl_list.2:145
9970 #, no-wrap
9971 msgid "0x00005410\tTIOCSPGRP\tconst pid_t *\n"
9972 msgstr ""
9973
9974 #. type: tbl table
9975 #: build/C/man2/ioctl_list.2:146
9976 #, no-wrap
9977 msgid "0x00005411\tTIOCOUTQ\tint *\n"
9978 msgstr ""
9979
9980 #. type: tbl table
9981 #: build/C/man2/ioctl_list.2:147
9982 #, no-wrap
9983 msgid "0x00005412\tTIOCSTI\tconst char *\n"
9984 msgstr ""
9985
9986 #. type: tbl table
9987 #: build/C/man2/ioctl_list.2:148
9988 #, no-wrap
9989 msgid "0x00005413\tTIOCGWINSZ\tstruct winsize *\n"
9990 msgstr ""
9991
9992 #. type: tbl table
9993 #: build/C/man2/ioctl_list.2:149
9994 #, no-wrap
9995 msgid "0x00005414\tTIOCSWINSZ\tconst struct winsize *\n"
9996 msgstr ""
9997
9998 #. type: tbl table
9999 #: build/C/man2/ioctl_list.2:150
10000 #, no-wrap
10001 msgid "0x00005415\tTIOCMGET\tint *\n"
10002 msgstr ""
10003
10004 #. type: tbl table
10005 #: build/C/man2/ioctl_list.2:151
10006 #, no-wrap
10007 msgid "0x00005416\tTIOCMBIS\tconst int *\n"
10008 msgstr ""
10009
10010 #. type: tbl table
10011 #: build/C/man2/ioctl_list.2:152
10012 #, no-wrap
10013 msgid "0x00005417\tTIOCMBIC\tconst int *\n"
10014 msgstr ""
10015
10016 #. type: tbl table
10017 #: build/C/man2/ioctl_list.2:153
10018 #, no-wrap
10019 msgid "0x00005418\tTIOCMSET\tconst int *\n"
10020 msgstr ""
10021
10022 #. type: tbl table
10023 #: build/C/man2/ioctl_list.2:154
10024 #, no-wrap
10025 msgid "0x00005419\tTIOCGSOFTCAR\tint *\n"
10026 msgstr ""
10027
10028 #. type: tbl table
10029 #: build/C/man2/ioctl_list.2:155
10030 #, no-wrap
10031 msgid "0x0000541A\tTIOCSSOFTCAR\tconst int *\n"
10032 msgstr ""
10033
10034 #. type: tbl table
10035 #: build/C/man2/ioctl_list.2:156
10036 #, no-wrap
10037 msgid "0x0000541B\tFIONREAD\tint *\n"
10038 msgstr ""
10039
10040 #. type: tbl table
10041 #: build/C/man2/ioctl_list.2:157
10042 #, no-wrap
10043 msgid "0x0000541B\tTIOCINQ\tint *\n"
10044 msgstr ""
10045
10046 #. type: tbl table
10047 #: build/C/man2/ioctl_list.2:158
10048 #, no-wrap
10049 msgid "0x0000541C\tTIOCLINUX\tconst char *\t// MORE\n"
10050 msgstr ""
10051
10052 #. type: tbl table
10053 #: build/C/man2/ioctl_list.2:159
10054 #, no-wrap
10055 msgid "0x0000541D\tTIOCCONS\tvoid\n"
10056 msgstr ""
10057
10058 #. type: tbl table
10059 #: build/C/man2/ioctl_list.2:160
10060 #, no-wrap
10061 msgid "0x0000541E\tTIOCGSERIAL\tstruct serial_struct *\n"
10062 msgstr ""
10063
10064 #. type: tbl table
10065 #: build/C/man2/ioctl_list.2:161
10066 #, no-wrap
10067 msgid "0x0000541F\tTIOCSSERIAL\tconst struct serial_struct *\n"
10068 msgstr ""
10069
10070 #. type: tbl table
10071 #: build/C/man2/ioctl_list.2:162
10072 #, no-wrap
10073 msgid "0x00005420\tTIOCPKT\tconst int *\n"
10074 msgstr ""
10075
10076 #. type: tbl table
10077 #: build/C/man2/ioctl_list.2:163
10078 #, no-wrap
10079 msgid "0x00005421\tFIONBIO\tconst int *\n"
10080 msgstr ""
10081
10082 #. type: tbl table
10083 #: build/C/man2/ioctl_list.2:164
10084 #, no-wrap
10085 msgid "0x00005422\tTIOCNOTTY\tvoid\n"
10086 msgstr ""
10087
10088 #. type: tbl table
10089 #: build/C/man2/ioctl_list.2:165
10090 #, no-wrap
10091 msgid "0x00005423\tTIOCSETD\tconst int *\n"
10092 msgstr ""
10093
10094 #. type: tbl table
10095 #: build/C/man2/ioctl_list.2:166
10096 #, no-wrap
10097 msgid "0x00005424\tTIOCGETD\tint *\n"
10098 msgstr ""
10099
10100 #. type: tbl table
10101 #: build/C/man2/ioctl_list.2:167
10102 #, no-wrap
10103 msgid "0x00005425\tTCSBRKP\tint\n"
10104 msgstr ""
10105
10106 #. type: tbl table
10107 #: build/C/man2/ioctl_list.2:168
10108 #, no-wrap
10109 msgid "0x00005426\tTIOCTTYGSTRUCT\tstruct tty_struct *\n"
10110 msgstr ""
10111
10112 #. type: tbl table
10113 #: build/C/man2/ioctl_list.2:169
10114 #, no-wrap
10115 msgid "0x00005450\tFIONCLEX\tvoid\n"
10116 msgstr ""
10117
10118 #. type: tbl table
10119 #: build/C/man2/ioctl_list.2:170
10120 #, no-wrap
10121 msgid "0x00005451\tFIOCLEX\tvoid\n"
10122 msgstr ""
10123
10124 #. type: tbl table
10125 #: build/C/man2/ioctl_list.2:171
10126 #, no-wrap
10127 msgid "0x00005452\tFIOASYNC\tconst int *\n"
10128 msgstr ""
10129
10130 #. type: tbl table
10131 #: build/C/man2/ioctl_list.2:172
10132 #, no-wrap
10133 msgid "0x00005453\tTIOCSERCONFIG\tvoid\n"
10134 msgstr ""
10135
10136 #. type: tbl table
10137 #: build/C/man2/ioctl_list.2:173
10138 #, no-wrap
10139 msgid "0x00005454\tTIOCSERGWILD\tint *\n"
10140 msgstr ""
10141
10142 #. type: tbl table
10143 #: build/C/man2/ioctl_list.2:174
10144 #, no-wrap
10145 msgid "0x00005455\tTIOCSERSWILD\tconst int *\n"
10146 msgstr ""
10147
10148 #. type: tbl table
10149 #: build/C/man2/ioctl_list.2:175
10150 #, no-wrap
10151 msgid "0x00005456\tTIOCGLCKTRMIOS\tstruct termios *\n"
10152 msgstr ""
10153
10154 #. type: tbl table
10155 #: build/C/man2/ioctl_list.2:176
10156 #, no-wrap
10157 msgid "0x00005457\tTIOCSLCKTRMIOS\tconst struct termios *\n"
10158 msgstr ""
10159
10160 #. type: tbl table
10161 #: build/C/man2/ioctl_list.2:177
10162 #, no-wrap
10163 msgid "0x00005458\tTIOCSERGSTRUCT\tstruct async_struct *\n"
10164 msgstr ""
10165
10166 #. type: tbl table
10167 #: build/C/man2/ioctl_list.2:178
10168 #, no-wrap
10169 msgid "0x00005459\tTIOCSERGETLSR\tint *\n"
10170 msgstr ""
10171
10172 #. type: tbl table
10173 #: build/C/man2/ioctl_list.2:185
10174 #, no-wrap
10175 msgid "0x0000545A\tTIOCSERGETMULTI\tstruct serial_multiport_struct *\n"
10176 msgstr ""
10177
10178 #. type: tbl table
10179 #: build/C/man2/ioctl_list.2:186
10180 #, no-wrap
10181 msgid "0x0000545B\tTIOCSERSETMULTI\tconst struct serial_multiport_struct *\n"
10182 msgstr ""
10183
10184 #. type: Plain text
10185 #: build/C/man2/ioctl_list.2:190
10186 msgid "// E<lt>include/linux/ax25.hE<gt>"
10187 msgstr ""
10188
10189 #. type: tbl table
10190 #: build/C/man2/ioctl_list.2:192
10191 #, no-wrap
10192 msgid "0x000089E0\tSIOCAX25GETUID\tconst struct sockaddr_ax25 *\n"
10193 msgstr ""
10194
10195 #. type: tbl table
10196 #: build/C/man2/ioctl_list.2:193
10197 #, no-wrap
10198 msgid "0x000089E1\tSIOCAX25ADDUID\tconst struct sockaddr_ax25 *\n"
10199 msgstr ""
10200
10201 #. type: tbl table
10202 #: build/C/man2/ioctl_list.2:194
10203 #, no-wrap
10204 msgid "0x000089E2\tSIOCAX25DELUID\tconst struct sockaddr_ax25 *\n"
10205 msgstr ""
10206
10207 #. type: tbl table
10208 #: build/C/man2/ioctl_list.2:195
10209 #, no-wrap
10210 msgid "0x000089E3\tSIOCAX25NOUID\tconst int *\n"
10211 msgstr ""
10212
10213 #. type: tbl table
10214 #: build/C/man2/ioctl_list.2:196
10215 #, no-wrap
10216 msgid "0x000089E4\tSIOCAX25DIGCTL\tconst int *\n"
10217 msgstr ""
10218
10219 #. type: tbl table
10220 #: build/C/man2/ioctl_list.2:197
10221 #, no-wrap
10222 msgid "0x000089E5\tSIOCAX25GETPARMS\tstruct ax25_parms_struct *\t// I-O\n"
10223 msgstr ""
10224
10225 #. type: tbl table
10226 #: build/C/man2/ioctl_list.2:201
10227 #, no-wrap
10228 msgid "0x000089E6\tSIOCAX25SETPARMS\tconst struct ax25_parms_struct *\n"
10229 msgstr ""
10230
10231 #. type: Plain text
10232 #: build/C/man2/ioctl_list.2:205
10233 msgid "// E<lt>include/linux/cdk.hE<gt>"
10234 msgstr ""
10235
10236 #. type: tbl table
10237 #: build/C/man2/ioctl_list.2:207
10238 #, no-wrap
10239 msgid "0x00007314\tSTL_BINTR\tvoid\n"
10240 msgstr ""
10241
10242 #. type: tbl table
10243 #: build/C/man2/ioctl_list.2:208
10244 #, no-wrap
10245 msgid "0x00007315\tSTL_BSTART\tvoid\n"
10246 msgstr ""
10247
10248 #. type: tbl table
10249 #: build/C/man2/ioctl_list.2:209
10250 #, no-wrap
10251 msgid "0x00007316\tSTL_BSTOP\tvoid\n"
10252 msgstr ""
10253
10254 #. type: tbl table
10255 #: build/C/man2/ioctl_list.2:210
10256 #, no-wrap
10257 msgid "0x00007317\tSTL_BRESET\tvoid\n"
10258 msgstr ""
10259
10260 #. type: Plain text
10261 #: build/C/man2/ioctl_list.2:214
10262 msgid "// E<lt>include/linux/cdrom.hE<gt>"
10263 msgstr ""
10264
10265 #. type: tbl table
10266 #: build/C/man2/ioctl_list.2:216
10267 #, no-wrap
10268 msgid "0x00005301\tCDROMPAUSE\tvoid\n"
10269 msgstr ""
10270
10271 #. type: tbl table
10272 #: build/C/man2/ioctl_list.2:217
10273 #, no-wrap
10274 msgid "0x00005302\tCDROMRESUME\tvoid\n"
10275 msgstr ""
10276
10277 #. type: tbl table
10278 #: build/C/man2/ioctl_list.2:218
10279 #, no-wrap
10280 msgid "0x00005303\tCDROMPLAYMSF\tconst struct cdrom_msf *\n"
10281 msgstr ""
10282
10283 #. type: tbl table
10284 #: build/C/man2/ioctl_list.2:219
10285 #, no-wrap
10286 msgid "0x00005304\tCDROMPLAYTRKIND\tconst struct cdrom_ti *\n"
10287 msgstr ""
10288
10289 #. type: tbl table
10290 #: build/C/man2/ioctl_list.2:220
10291 #, no-wrap
10292 msgid "0x00005305\tCDROMREADTOCHDR\tstruct cdrom_tochdr *\n"
10293 msgstr ""
10294
10295 #. type: tbl table
10296 #: build/C/man2/ioctl_list.2:224
10297 #, no-wrap
10298 msgid "0x00005306\tCDROMREADTOCENTRY\tstruct cdrom_tocentry *\t// I-O\n"
10299 msgstr ""
10300
10301 #. type: tbl table
10302 #: build/C/man2/ioctl_list.2:228
10303 #, no-wrap
10304 msgid "0x00005307\tCDROMSTOP\tvoid\n"
10305 msgstr ""
10306
10307 #. type: tbl table
10308 #: build/C/man2/ioctl_list.2:229
10309 #, no-wrap
10310 msgid "0x00005308\tCDROMSTART\tvoid\n"
10311 msgstr ""
10312
10313 #. type: tbl table
10314 #: build/C/man2/ioctl_list.2:230
10315 #, no-wrap
10316 msgid "0x00005309\tCDROMEJECT\tvoid\n"
10317 msgstr ""
10318
10319 #. type: tbl table
10320 #: build/C/man2/ioctl_list.2:231
10321 #, no-wrap
10322 msgid "0x0000530A\tCDROMVOLCTRL\tconst struct cdrom_volctrl *\n"
10323 msgstr ""
10324
10325 #. type: tbl table
10326 #: build/C/man2/ioctl_list.2:232
10327 #, no-wrap
10328 msgid "0x0000530B\tCDROMSUBCHNL\tstruct cdrom_subchnl *\t// I-O\n"
10329 msgstr ""
10330
10331 #. type: tbl table
10332 #: build/C/man2/ioctl_list.2:233
10333 #, no-wrap
10334 msgid "0x0000530C\tCDROMREADMODE2\tconst struct cdrom_msf *\t// MORE\n"
10335 msgstr ""
10336
10337 #. type: tbl table
10338 #: build/C/man2/ioctl_list.2:234
10339 #, no-wrap
10340 msgid "0x0000530D\tCDROMREADMODE1\tconst struct cdrom_msf *\t// MORE\n"
10341 msgstr ""
10342
10343 #. type: tbl table
10344 #: build/C/man2/ioctl_list.2:235
10345 #, no-wrap
10346 msgid "0x0000530E\tCDROMREADAUDIO\tconst struct cdrom_read_audio *\t// MORE\n"
10347 msgstr ""
10348
10349 #. type: tbl table
10350 #: build/C/man2/ioctl_list.2:236
10351 #, no-wrap
10352 msgid "0x0000530F\tCDROMEJECT_SW\tint\n"
10353 msgstr ""
10354
10355 #. type: tbl table
10356 #: build/C/man2/ioctl_list.2:240
10357 #, no-wrap
10358 msgid "0x00005310\tCDROMMULTISESSION\tstruct cdrom_multisession *\t// I-O\n"
10359 msgstr ""
10360
10361 #. type: tbl table
10362 #: build/C/man2/ioctl_list.2:244
10363 #, no-wrap
10364 msgid "0x00005311\tCDROM_GET_UPC\tstruct { char [8]; } *\n"
10365 msgstr ""
10366
10367 #. type: tbl table
10368 #: build/C/man2/ioctl_list.2:245
10369 #, no-wrap
10370 msgid "0x00005312\tCDROMRESET\tvoid\n"
10371 msgstr ""
10372
10373 #. type: tbl table
10374 #: build/C/man2/ioctl_list.2:246
10375 #, no-wrap
10376 msgid "0x00005313\tCDROMVOLREAD\tstruct cdrom_volctrl *\n"
10377 msgstr ""
10378
10379 #. type: tbl table
10380 #: build/C/man2/ioctl_list.2:247
10381 #, no-wrap
10382 msgid "0x00005314\tCDROMREADRAW\tconst struct cdrom_msf *\t// MORE\n"
10383 msgstr ""
10384
10385 #. type: tbl table
10386 #: build/C/man2/ioctl_list.2:248
10387 #, no-wrap
10388 msgid "0x00005315\tCDROMREADCOOKED\tconst struct cdrom_msf *\t// MORE\n"
10389 msgstr ""
10390
10391 #. type: tbl table
10392 #: build/C/man2/ioctl_list.2:249
10393 #, no-wrap
10394 msgid "0x00005316\tCDROMSEEK\tconst struct cdrom_msf *\n"
10395 msgstr ""
10396
10397 #. type: Plain text
10398 #: build/C/man2/ioctl_list.2:253
10399 msgid "// E<lt>include/linux/cm206.hE<gt>"
10400 msgstr ""
10401
10402 #. type: tbl table
10403 #: build/C/man2/ioctl_list.2:255
10404 #, no-wrap
10405 msgid "0x00002000\tCM206CTL_GET_STAT\tint\n"
10406 msgstr ""
10407
10408 #. type: tbl table
10409 #: build/C/man2/ioctl_list.2:256
10410 #, no-wrap
10411 msgid "0x00002001\tCM206CTL_GET_LAST_STAT\tint\n"
10412 msgstr ""
10413
10414 #. type: Plain text
10415 #: build/C/man2/ioctl_list.2:260
10416 msgid "// E<lt>include/linux/cyclades.hE<gt>"
10417 msgstr ""
10418
10419 #. type: tbl table
10420 #: build/C/man2/ioctl_list.2:262
10421 #, no-wrap
10422 msgid "0x00435901\tCYGETMON\tstruct cyclades_monitor *\n"
10423 msgstr ""
10424
10425 #. type: tbl table
10426 #: build/C/man2/ioctl_list.2:263
10427 #, no-wrap
10428 msgid "0x00435902\tCYGETTHRESH\tint *\n"
10429 msgstr ""
10430
10431 #. type: tbl table
10432 #: build/C/man2/ioctl_list.2:264
10433 #, no-wrap
10434 msgid "0x00435903\tCYSETTHRESH\tint\n"
10435 msgstr ""
10436
10437 #. type: tbl table
10438 #: build/C/man2/ioctl_list.2:265
10439 #, no-wrap
10440 msgid "0x00435904\tCYGETDEFTHRESH\tint *\n"
10441 msgstr ""
10442
10443 #. type: tbl table
10444 #: build/C/man2/ioctl_list.2:266
10445 #, no-wrap
10446 msgid "0x00435905\tCYSETDEFTHRESH\tint\n"
10447 msgstr ""
10448
10449 #. type: tbl table
10450 #: build/C/man2/ioctl_list.2:267
10451 #, no-wrap
10452 msgid "0x00435906\tCYGETTIMEOUT\tint *\n"
10453 msgstr ""
10454
10455 #. type: tbl table
10456 #: build/C/man2/ioctl_list.2:268
10457 #, no-wrap
10458 msgid "0x00435907\tCYSETTIMEOUT\tint\n"
10459 msgstr ""
10460
10461 #. type: tbl table
10462 #: build/C/man2/ioctl_list.2:269
10463 #, no-wrap
10464 msgid "0x00435908\tCYGETDEFTIMEOUT\tint *\n"
10465 msgstr ""
10466
10467 #. type: tbl table
10468 #: build/C/man2/ioctl_list.2:270
10469 #, no-wrap
10470 msgid "0x00435909\tCYSETDEFTIMEOUT\tint\n"
10471 msgstr ""
10472
10473 #. type: Plain text
10474 #: build/C/man2/ioctl_list.2:274
10475 msgid "// E<lt>include/linux/ext2_fs.hE<gt>"
10476 msgstr ""
10477
10478 #. type: tbl table
10479 #: build/C/man2/ioctl_list.2:276
10480 #, no-wrap
10481 msgid "0x80046601\tEXT2_IOC_GETFLAGS\tint *\n"
10482 msgstr ""
10483
10484 #. type: tbl table
10485 #: build/C/man2/ioctl_list.2:277
10486 #, no-wrap
10487 msgid "0x40046602\tEXT2_IOC_SETFLAGS\tconst int *\n"
10488 msgstr ""
10489
10490 #. type: tbl table
10491 #: build/C/man2/ioctl_list.2:278
10492 #, no-wrap
10493 msgid "0x80047601\tEXT2_IOC_GETVERSION\tint *\n"
10494 msgstr ""
10495
10496 #. type: tbl table
10497 #: build/C/man2/ioctl_list.2:279
10498 #, no-wrap
10499 msgid "0x40047602\tEXT2_IOC_SETVERSION\tconst int *\n"
10500 msgstr ""
10501
10502 #. type: Plain text
10503 #: build/C/man2/ioctl_list.2:283
10504 msgid "// E<lt>include/linux/fd.hE<gt>"
10505 msgstr ""
10506
10507 #. type: tbl table
10508 #: build/C/man2/ioctl_list.2:285
10509 #, no-wrap
10510 msgid "0x00000000\tFDCLRPRM\tvoid\n"
10511 msgstr ""
10512
10513 #. type: tbl table
10514 #: build/C/man2/ioctl_list.2:286
10515 #, no-wrap
10516 msgid "0x00000001\tFDSETPRM\tconst struct floppy_struct *\n"
10517 msgstr ""
10518
10519 #. type: tbl table
10520 #: build/C/man2/ioctl_list.2:287
10521 #, no-wrap
10522 msgid "0x00000002\tFDDEFPRM\tconst struct floppy_struct *\n"
10523 msgstr ""
10524
10525 #. type: tbl table
10526 #: build/C/man2/ioctl_list.2:288
10527 #, no-wrap
10528 msgid "0x00000003\tFDGETPRM\tstruct floppy_struct *\n"
10529 msgstr ""
10530
10531 #. type: tbl table
10532 #: build/C/man2/ioctl_list.2:289
10533 #, no-wrap
10534 msgid "0x00000004\tFDMSGON\tvoid\n"
10535 msgstr ""
10536
10537 #. type: tbl table
10538 #: build/C/man2/ioctl_list.2:290
10539 #, no-wrap
10540 msgid "0x00000005\tFDMSGOFF\tvoid\n"
10541 msgstr ""
10542
10543 #. type: tbl table
10544 #: build/C/man2/ioctl_list.2:291
10545 #, no-wrap
10546 msgid "0x00000006\tFDFMTBEG\tvoid\n"
10547 msgstr ""
10548
10549 #. type: tbl table
10550 #: build/C/man2/ioctl_list.2:292
10551 #, no-wrap
10552 msgid "0x00000007\tFDFMTTRK\tconst struct format_descr *\n"
10553 msgstr ""
10554
10555 #. type: tbl table
10556 #: build/C/man2/ioctl_list.2:293
10557 #, no-wrap
10558 msgid "0x00000008\tFDFMTEND\tvoid\n"
10559 msgstr ""
10560
10561 #. type: tbl table
10562 #: build/C/man2/ioctl_list.2:294
10563 #, no-wrap
10564 msgid "0x0000000A\tFDSETEMSGTRESH\tint\n"
10565 msgstr ""
10566
10567 #. type: tbl table
10568 #: build/C/man2/ioctl_list.2:295
10569 #, no-wrap
10570 msgid "0x0000000B\tFDFLUSH\tvoid\n"
10571 msgstr ""
10572
10573 #. type: tbl table
10574 #: build/C/man2/ioctl_list.2:296
10575 #, no-wrap
10576 msgid "0x0000000C\tFDSETMAXERRS\tconst struct floppy_max_errors *\n"
10577 msgstr ""
10578
10579 #. type: tbl table
10580 #: build/C/man2/ioctl_list.2:297
10581 #, no-wrap
10582 msgid "0x0000000E\tFDGETMAXERRS\tstruct floppy_max_errors *\n"
10583 msgstr ""
10584
10585 #. type: tbl table
10586 #: build/C/man2/ioctl_list.2:298
10587 #, no-wrap
10588 msgid "0x00000010\tFDGETDRVTYP\tstruct { char [16]; } *\n"
10589 msgstr ""
10590
10591 #. type: tbl table
10592 #: build/C/man2/ioctl_list.2:299
10593 #, no-wrap
10594 msgid "0x00000014\tFDSETDRVPRM\tconst struct floppy_drive_params *\n"
10595 msgstr ""
10596
10597 #. type: tbl table
10598 #: build/C/man2/ioctl_list.2:300
10599 #, no-wrap
10600 msgid "0x00000015\tFDGETDRVPRM\tstruct floppy_drive_params *\n"
10601 msgstr ""
10602
10603 #. type: tbl table
10604 #: build/C/man2/ioctl_list.2:301
10605 #, no-wrap
10606 msgid "0x00000016\tFDGETDRVSTAT\tstruct floppy_drive_struct *\n"
10607 msgstr ""
10608
10609 #. type: tbl table
10610 #: build/C/man2/ioctl_list.2:302
10611 #, no-wrap
10612 msgid "0x00000017\tFDPOLLDRVSTAT\tstruct floppy_drive_struct *\n"
10613 msgstr ""
10614
10615 #. type: tbl table
10616 #: build/C/man2/ioctl_list.2:303
10617 #, no-wrap
10618 msgid "0x00000018\tFDRESET\tint\n"
10619 msgstr ""
10620
10621 #. type: tbl table
10622 #: build/C/man2/ioctl_list.2:304
10623 #, no-wrap
10624 msgid "0x00000019\tFDGETFDCSTAT\tstruct floppy_fdc_state *\n"
10625 msgstr ""
10626
10627 #. type: tbl table
10628 #: build/C/man2/ioctl_list.2:305
10629 #, no-wrap
10630 msgid "0x0000001B\tFDWERRORCLR\tvoid\n"
10631 msgstr ""
10632
10633 #. type: tbl table
10634 #: build/C/man2/ioctl_list.2:306
10635 #, no-wrap
10636 msgid "0x0000001C\tFDWERRORGET\tstruct floppy_write_errors *\n"
10637 msgstr ""
10638
10639 #. type: tbl table
10640 #: build/C/man2/ioctl_list.2:310
10641 #, no-wrap
10642 msgid "0x0000001E\tFDRAWCMD\tstruct floppy_raw_cmd *\t// MORE // I-O\n"
10643 msgstr ""
10644
10645 #. type: tbl table
10646 #: build/C/man2/ioctl_list.2:311
10647 #, no-wrap
10648 msgid "0x00000028\tFDTWADDLE\tvoid\n"
10649 msgstr ""
10650
10651 #. type: Plain text
10652 #: build/C/man2/ioctl_list.2:315
10653 msgid "// E<lt>include/linux/fs.hE<gt>"
10654 msgstr ""
10655
10656 #. type: tbl table
10657 #: build/C/man2/ioctl_list.2:317
10658 #, no-wrap
10659 msgid "0x0000125D\tBLKROSET\tconst int *\n"
10660 msgstr ""
10661
10662 #. type: tbl table
10663 #: build/C/man2/ioctl_list.2:318
10664 #, no-wrap
10665 msgid "0x0000125E\tBLKROGET\tint *\n"
10666 msgstr ""
10667
10668 #. type: tbl table
10669 #: build/C/man2/ioctl_list.2:319
10670 #, no-wrap
10671 msgid "0x0000125F\tBLKRRPART\tvoid\n"
10672 msgstr ""
10673
10674 #. type: tbl table
10675 #: build/C/man2/ioctl_list.2:320
10676 #, no-wrap
10677 msgid "0x00001260\tBLKGETSIZE\tunsigned long *\n"
10678 msgstr ""
10679
10680 #. type: tbl table
10681 #: build/C/man2/ioctl_list.2:321
10682 #, no-wrap
10683 msgid "0x00001261\tBLKFLSBUF\tvoid\n"
10684 msgstr ""
10685
10686 #. type: tbl table
10687 #: build/C/man2/ioctl_list.2:322
10688 #, no-wrap
10689 msgid "0x00001262\tBLKRASET\tint\n"
10690 msgstr ""
10691
10692 #. type: tbl table
10693 #: build/C/man2/ioctl_list.2:323
10694 #, no-wrap
10695 msgid "0x00001263\tBLKRAGET\tint *\n"
10696 msgstr ""
10697
10698 #. type: tbl table
10699 #: build/C/man2/ioctl_list.2:324
10700 #, no-wrap
10701 msgid "0x00000001\tFIBMAP\tint *\t// I-O\n"
10702 msgstr ""
10703
10704 #. type: tbl table
10705 #: build/C/man2/ioctl_list.2:325
10706 #, no-wrap
10707 msgid "0x00000002\tFIGETBSZ\tint *\n"
10708 msgstr ""
10709
10710 #. type: Plain text
10711 #: build/C/man2/ioctl_list.2:329
10712 msgid "// E<lt>include/linux/hdreg.hE<gt>"
10713 msgstr ""
10714
10715 #. type: tbl table
10716 #: build/C/man2/ioctl_list.2:331
10717 #, no-wrap
10718 msgid "0x00000301\tHDIO_GETGEO\tstruct hd_geometry *\n"
10719 msgstr ""
10720
10721 #. type: tbl table
10722 #: build/C/man2/ioctl_list.2:332
10723 #, no-wrap
10724 msgid "0x00000302\tHDIO_GET_UNMASKINTR\tint *\n"
10725 msgstr ""
10726
10727 #. type: tbl table
10728 #: build/C/man2/ioctl_list.2:333
10729 #, no-wrap
10730 msgid "0x00000304\tHDIO_GET_MULTCOUNT\tint *\n"
10731 msgstr ""
10732
10733 #. type: tbl table
10734 #: build/C/man2/ioctl_list.2:334
10735 #, no-wrap
10736 msgid "0x00000307\tHDIO_GET_IDENTITY\tstruct hd_driveid *\n"
10737 msgstr ""
10738
10739 #. type: tbl table
10740 #: build/C/man2/ioctl_list.2:335
10741 #, no-wrap
10742 msgid "0x00000308\tHDIO_GET_KEEPSETTINGS\tint *\n"
10743 msgstr ""
10744
10745 #. type: tbl table
10746 #: build/C/man2/ioctl_list.2:336
10747 #, no-wrap
10748 msgid "0x00000309\tHDIO_GET_CHIPSET\tint *\n"
10749 msgstr ""
10750
10751 #. type: tbl table
10752 #: build/C/man2/ioctl_list.2:337
10753 #, no-wrap
10754 msgid "0x0000030A\tHDIO_GET_NOWERR\tint *\n"
10755 msgstr ""
10756
10757 #. type: tbl table
10758 #: build/C/man2/ioctl_list.2:338
10759 #, no-wrap
10760 msgid "0x0000030B\tHDIO_GET_DMA\tint *\n"
10761 msgstr ""
10762
10763 #. type: tbl table
10764 #: build/C/man2/ioctl_list.2:339
10765 #, no-wrap
10766 msgid "0x0000031F\tHDIO_DRIVE_CMD\tint *\t// I-O\n"
10767 msgstr ""
10768
10769 #. type: tbl table
10770 #: build/C/man2/ioctl_list.2:340
10771 #, no-wrap
10772 msgid "0x00000321\tHDIO_SET_MULTCOUNT\tint\n"
10773 msgstr ""
10774
10775 #. type: tbl table
10776 #: build/C/man2/ioctl_list.2:341
10777 #, no-wrap
10778 msgid "0x00000322\tHDIO_SET_UNMASKINTR\tint\n"
10779 msgstr ""
10780
10781 #. type: tbl table
10782 #: build/C/man2/ioctl_list.2:342
10783 #, no-wrap
10784 msgid "0x00000323\tHDIO_SET_KEEPSETTINGS\tint\n"
10785 msgstr ""
10786
10787 #. type: tbl table
10788 #: build/C/man2/ioctl_list.2:343
10789 #, no-wrap
10790 msgid "0x00000324\tHDIO_SET_CHIPSET\tint\n"
10791 msgstr ""
10792
10793 #. type: tbl table
10794 #: build/C/man2/ioctl_list.2:344
10795 #, no-wrap
10796 msgid "0x00000325\tHDIO_SET_NOWERR\tint\n"
10797 msgstr ""
10798
10799 #. type: tbl table
10800 #: build/C/man2/ioctl_list.2:345
10801 #, no-wrap
10802 msgid "0x00000326\tHDIO_SET_DMA\tint\n"
10803 msgstr ""
10804
10805 #. type: Plain text
10806 #: build/C/man2/ioctl_list.2:349
10807 msgid "// E<lt>include/linux/if_eql.hE<gt>"
10808 msgstr ""
10809
10810 #. type: tbl table
10811 #: build/C/man2/ioctl_list.2:351
10812 #, no-wrap
10813 msgid "0x000089F0\tEQL_ENSLAVE\tstruct ifreq *\t// MORE // I-O\n"
10814 msgstr ""
10815
10816 #. type: tbl table
10817 #: build/C/man2/ioctl_list.2:352
10818 #, no-wrap
10819 msgid "0x000089F1\tEQL_EMANCIPATE\tstruct ifreq *\t// MORE // I-O\n"
10820 msgstr ""
10821
10822 #. type: tbl table
10823 #: build/C/man2/ioctl_list.2:353
10824 #, no-wrap
10825 msgid "0x000089F2\tEQL_GETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10826 msgstr ""
10827
10828 #. type: tbl table
10829 #: build/C/man2/ioctl_list.2:354
10830 #, no-wrap
10831 msgid "0x000089F3\tEQL_SETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10832 msgstr ""
10833
10834 #. type: tbl table
10835 #: build/C/man2/ioctl_list.2:355
10836 #, no-wrap
10837 msgid "0x000089F4\tEQL_GETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10838 msgstr ""
10839
10840 #. type: tbl table
10841 #: build/C/man2/ioctl_list.2:356
10842 #, no-wrap
10843 msgid "0x000089F5\tEQL_SETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10844 msgstr ""
10845
10846 #. type: Plain text
10847 #: build/C/man2/ioctl_list.2:360
10848 msgid "// E<lt>include/linux/if_plip.hE<gt>"
10849 msgstr ""
10850
10851 #. type: tbl table
10852 #: build/C/man2/ioctl_list.2:362
10853 #, no-wrap
10854 msgid "0x000089F0\tSIOCDEVPLIP\tstruct ifreq *\t// I-O\n"
10855 msgstr ""
10856
10857 #. type: Plain text
10858 #: build/C/man2/ioctl_list.2:366
10859 msgid "// E<lt>include/linux/if_ppp.hE<gt>"
10860 msgstr ""
10861
10862 #. type: tbl table
10863 #: build/C/man2/ioctl_list.2:368
10864 #, no-wrap
10865 msgid "0x00005490\tPPPIOCGFLAGS\tint *\n"
10866 msgstr ""
10867
10868 #. type: tbl table
10869 #: build/C/man2/ioctl_list.2:369
10870 #, no-wrap
10871 msgid "0x00005491\tPPPIOCSFLAGS\tconst int *\n"
10872 msgstr ""
10873
10874 #. type: tbl table
10875 #: build/C/man2/ioctl_list.2:370
10876 #, no-wrap
10877 msgid "0x00005492\tPPPIOCGASYNCMAP\tint *\n"
10878 msgstr ""
10879
10880 #. type: tbl table
10881 #: build/C/man2/ioctl_list.2:371
10882 #, no-wrap
10883 msgid "0x00005493\tPPPIOCSASYNCMAP\tconst int *\n"
10884 msgstr ""
10885
10886 #. type: tbl table
10887 #: build/C/man2/ioctl_list.2:372
10888 #, no-wrap
10889 msgid "0x00005494\tPPPIOCGUNIT\tint *\n"
10890 msgstr ""
10891
10892 #. type: tbl table
10893 #: build/C/man2/ioctl_list.2:373
10894 #, no-wrap
10895 msgid "0x00005495\tPPPIOCSINPSIG\tconst int *\n"
10896 msgstr ""
10897
10898 #. type: tbl table
10899 #: build/C/man2/ioctl_list.2:374
10900 #, no-wrap
10901 msgid "0x00005497\tPPPIOCSDEBUG\tconst int *\n"
10902 msgstr ""
10903
10904 #. type: tbl table
10905 #: build/C/man2/ioctl_list.2:375
10906 #, no-wrap
10907 msgid "0x00005498\tPPPIOCGDEBUG\tint *\n"
10908 msgstr ""
10909
10910 #. type: tbl table
10911 #: build/C/man2/ioctl_list.2:376
10912 #, no-wrap
10913 msgid "0x00005499\tPPPIOCGSTAT\tstruct ppp_stats *\n"
10914 msgstr ""
10915
10916 #. type: tbl table
10917 #: build/C/man2/ioctl_list.2:377
10918 #, no-wrap
10919 msgid "0x0000549A\tPPPIOCGTIME\tstruct ppp_ddinfo *\n"
10920 msgstr ""
10921
10922 #. type: tbl table
10923 #: build/C/man2/ioctl_list.2:378
10924 #, no-wrap
10925 msgid "0x0000549B\tPPPIOCGXASYNCMAP\tstruct { int [8]; } *\n"
10926 msgstr ""
10927
10928 #. type: tbl table
10929 #: build/C/man2/ioctl_list.2:379
10930 #, no-wrap
10931 msgid "0x0000549C\tPPPIOCSXASYNCMAP\tconst struct { int [8]; } *\n"
10932 msgstr ""
10933
10934 #. type: tbl table
10935 #: build/C/man2/ioctl_list.2:380
10936 #, no-wrap
10937 msgid "0x0000549D\tPPPIOCSMRU\tconst int *\n"
10938 msgstr ""
10939
10940 #. type: tbl table
10941 #: build/C/man2/ioctl_list.2:381
10942 #, no-wrap
10943 msgid "0x0000549E\tPPPIOCRASYNCMAP\tconst int *\n"
10944 msgstr ""
10945
10946 #. type: tbl table
10947 #: build/C/man2/ioctl_list.2:382
10948 #, no-wrap
10949 msgid "0x0000549F\tPPPIOCSMAXCID\tconst int *\n"
10950 msgstr ""
10951
10952 #. type: Plain text
10953 #: build/C/man2/ioctl_list.2:386
10954 msgid "// E<lt>include/linux/ipx.hE<gt>"
10955 msgstr ""
10956
10957 #. type: tbl table
10958 #: build/C/man2/ioctl_list.2:388
10959 #, no-wrap
10960 msgid "0x000089E0\tSIOCAIPXITFCRT\tconst char *\n"
10961 msgstr ""
10962
10963 #. type: tbl table
10964 #: build/C/man2/ioctl_list.2:389
10965 #, no-wrap
10966 msgid "0x000089E1\tSIOCAIPXPRISLT\tconst char *\n"
10967 msgstr ""
10968
10969 #. type: tbl table
10970 #: build/C/man2/ioctl_list.2:390
10971 #, no-wrap
10972 msgid "0x000089E2\tSIOCIPXCFGDATA\tstruct ipx_config_data *\n"
10973 msgstr ""
10974
10975 #. type: Plain text
10976 #: build/C/man2/ioctl_list.2:394
10977 msgid "// E<lt>include/linux/kd.hE<gt>"
10978 msgstr ""
10979
10980 #. type: tbl table
10981 #: build/C/man2/ioctl_list.2:396
10982 #, no-wrap
10983 msgid "0x00004B60\tGIO_FONT\tstruct { char [8192]; } *\n"
10984 msgstr ""
10985
10986 #. type: tbl table
10987 #: build/C/man2/ioctl_list.2:397
10988 #, no-wrap
10989 msgid "0x00004B61\tPIO_FONT\tconst struct { char [8192]; } *\n"
10990 msgstr ""
10991
10992 #. type: tbl table
10993 #: build/C/man2/ioctl_list.2:401
10994 #, no-wrap
10995 msgid "0x00004B6B\tGIO_FONTX\tstruct console_font_desc *\t// MORE // I-O\n"
10996 msgstr ""
10997
10998 #. type: tbl table
10999 #: build/C/man2/ioctl_list.2:402
11000 #, no-wrap
11001 msgid "0x00004B6C\tPIO_FONTX\tconst struct console_font_desc *\t//MORE\n"
11002 msgstr ""
11003
11004 #. type: tbl table
11005 #: build/C/man2/ioctl_list.2:406
11006 #, no-wrap
11007 msgid "0x00004B70\tGIO_CMAP\tstruct { char [48]; } *\n"
11008 msgstr ""
11009
11010 #. type: tbl table
11011 #: build/C/man2/ioctl_list.2:407
11012 #, no-wrap
11013 msgid "0x00004B71\tPIO_CMAP\tconst struct { char [48]; }\n"
11014 msgstr ""
11015
11016 #. type: tbl table
11017 #: build/C/man2/ioctl_list.2:411
11018 #, no-wrap
11019 msgid "0x00004B2F\tKIOCSOUND\tint\n"
11020 msgstr ""
11021
11022 #. type: tbl table
11023 #: build/C/man2/ioctl_list.2:412
11024 #, no-wrap
11025 msgid "0x00004B30\tKDMKTONE\tint\n"
11026 msgstr ""
11027
11028 #. type: tbl table
11029 #: build/C/man2/ioctl_list.2:413
11030 #, no-wrap
11031 msgid "0x00004B31\tKDGETLED\tchar *\n"
11032 msgstr ""
11033
11034 #. type: tbl table
11035 #: build/C/man2/ioctl_list.2:414
11036 #, no-wrap
11037 msgid "0x00004B32\tKDSETLED\tint\n"
11038 msgstr ""
11039
11040 #. type: tbl table
11041 #: build/C/man2/ioctl_list.2:415
11042 #, no-wrap
11043 msgid "0x00004B33\tKDGKBTYPE\tchar *\n"
11044 msgstr ""
11045
11046 #. type: tbl table
11047 #: build/C/man2/ioctl_list.2:416
11048 #, no-wrap
11049 msgid "0x00004B34\tKDADDIO\tint\t// MORE\n"
11050 msgstr ""
11051
11052 #. type: tbl table
11053 #: build/C/man2/ioctl_list.2:417
11054 #, no-wrap
11055 msgid "0x00004B35\tKDDELIO\tint\t// MORE\n"
11056 msgstr ""
11057
11058 #. type: tbl table
11059 #: build/C/man2/ioctl_list.2:418
11060 #, no-wrap
11061 msgid "0x00004B36\tKDENABIO\tvoid\t// MORE\n"
11062 msgstr ""
11063
11064 #. type: tbl table
11065 #: build/C/man2/ioctl_list.2:419
11066 #, no-wrap
11067 msgid "0x00004B37\tKDDISABIO\tvoid\t// MORE\n"
11068 msgstr ""
11069
11070 #. type: tbl table
11071 #: build/C/man2/ioctl_list.2:420
11072 #, no-wrap
11073 msgid "0x00004B3A\tKDSETMODE\tint\n"
11074 msgstr ""
11075
11076 #. type: tbl table
11077 #: build/C/man2/ioctl_list.2:421
11078 #, no-wrap
11079 msgid "0x00004B3B\tKDGETMODE\tint *\n"
11080 msgstr ""
11081
11082 #. type: tbl table
11083 #: build/C/man2/ioctl_list.2:422
11084 #, no-wrap
11085 msgid "0x00004B3C\tKDMAPDISP\tvoid\t// MORE\n"
11086 msgstr ""
11087
11088 #. type: tbl table
11089 #: build/C/man2/ioctl_list.2:423
11090 #, no-wrap
11091 msgid "0x00004B3D\tKDUNMAPDISP\tvoid\t// MORE\n"
11092 msgstr ""
11093
11094 #. type: tbl table
11095 #: build/C/man2/ioctl_list.2:424
11096 #, no-wrap
11097 msgid "0x00004B40\tGIO_SCRNMAP\tstruct { char [E_TABSZ]; } *\n"
11098 msgstr ""
11099
11100 #. type: tbl table
11101 #: build/C/man2/ioctl_list.2:428
11102 #, no-wrap
11103 msgid "0x00004B41\tPIO_SCRNMAP\tconst struct { char [E_TABSZ]; } *\n"
11104 msgstr ""
11105
11106 #. type: tbl table
11107 #: build/C/man2/ioctl_list.2:429
11108 #, no-wrap
11109 msgid "0x00004B69\tGIO_UNISCRNMAP\tstruct { short [E_TABSZ]; } *\n"
11110 msgstr ""
11111
11112 #. type: tbl table
11113 #: build/C/man2/ioctl_list.2:430
11114 #, no-wrap
11115 msgid "0x00004B6A\tPIO_UNISCRNMAP\tconst struct { short [E_TABSZ]; } *\n"
11116 msgstr ""
11117
11118 #. type: tbl table
11119 #: build/C/man2/ioctl_list.2:434
11120 #, no-wrap
11121 msgid "0x00004B66\tGIO_UNIMAP\tstruct unimapdesc *\t// MORE // I-O\n"
11122 msgstr ""
11123
11124 #. type: tbl table
11125 #: build/C/man2/ioctl_list.2:435
11126 #, no-wrap
11127 msgid "0x00004B67\tPIO_UNIMAP\tconst struct unimapdesc *\t// MORE\n"
11128 msgstr ""
11129
11130 #. type: tbl table
11131 #: build/C/man2/ioctl_list.2:436
11132 #, no-wrap
11133 msgid "0x00004B68\tPIO_UNIMAPCLR\tconst struct unimapinit *\n"
11134 msgstr ""
11135
11136 #. type: tbl table
11137 #: build/C/man2/ioctl_list.2:437
11138 #, no-wrap
11139 msgid "0x00004B44\tKDGKBMODE\tint *\n"
11140 msgstr ""
11141
11142 #. type: tbl table
11143 #: build/C/man2/ioctl_list.2:438
11144 #, no-wrap
11145 msgid "0x00004B45\tKDSKBMODE\tint\n"
11146 msgstr ""
11147
11148 #. type: tbl table
11149 #: build/C/man2/ioctl_list.2:439
11150 #, no-wrap
11151 msgid "0x00004B62\tKDGKBMETA\tint *\n"
11152 msgstr ""
11153
11154 #. type: tbl table
11155 #: build/C/man2/ioctl_list.2:440
11156 #, no-wrap
11157 msgid "0x00004B63\tKDSKBMETA\tint\n"
11158 msgstr ""
11159
11160 #. type: tbl table
11161 #: build/C/man2/ioctl_list.2:441
11162 #, no-wrap
11163 msgid "0x00004B64\tKDGKBLED\tint *\n"
11164 msgstr ""
11165
11166 #. type: tbl table
11167 #: build/C/man2/ioctl_list.2:442
11168 #, no-wrap
11169 msgid "0x00004B65\tKDSKBLED\tint\n"
11170 msgstr ""
11171
11172 #. type: tbl table
11173 #: build/C/man2/ioctl_list.2:443
11174 #, no-wrap
11175 msgid "0x00004B46\tKDGKBENT\tstruct kbentry *\t// I-O\n"
11176 msgstr ""
11177
11178 #. type: tbl table
11179 #: build/C/man2/ioctl_list.2:444
11180 #, no-wrap
11181 msgid "0x00004B47\tKDSKBENT\tconst struct kbentry *\n"
11182 msgstr ""
11183
11184 #. type: tbl table
11185 #: build/C/man2/ioctl_list.2:445
11186 #, no-wrap
11187 msgid "0x00004B48\tKDGKBSENT\tstruct kbsentry *\t// I-O\n"
11188 msgstr ""
11189
11190 #. type: tbl table
11191 #: build/C/man2/ioctl_list.2:446
11192 #, no-wrap
11193 msgid "0x00004B49\tKDSKBSENT\tconst struct kbsentry *\n"
11194 msgstr ""
11195
11196 #. type: tbl table
11197 #: build/C/man2/ioctl_list.2:447
11198 #, no-wrap
11199 msgid "0x00004B4A\tKDGKBDIACR\tstruct kbdiacrs *\n"
11200 msgstr ""
11201
11202 #. type: tbl table
11203 #: build/C/man2/ioctl_list.2:448
11204 #, no-wrap
11205 msgid "0x00004B4B\tKDSKBDIACR\tconst struct kbdiacrs *\n"
11206 msgstr ""
11207
11208 #. type: tbl table
11209 #: build/C/man2/ioctl_list.2:449
11210 #, no-wrap
11211 msgid "0x00004B4C\tKDGETKEYCODE\tstruct kbkeycode *\t// I-O\n"
11212 msgstr ""
11213
11214 #. type: tbl table
11215 #: build/C/man2/ioctl_list.2:450
11216 #, no-wrap
11217 msgid "0x00004B4D\tKDSETKEYCODE\tconst struct kbkeycode *\n"
11218 msgstr ""
11219
11220 #. type: tbl table
11221 #: build/C/man2/ioctl_list.2:451
11222 #, no-wrap
11223 msgid "0x00004B4E\tKDSIGACCEPT\tint\n"
11224 msgstr ""
11225
11226 #. type: Plain text
11227 #: build/C/man2/ioctl_list.2:455
11228 msgid "// E<lt>include/linux/lp.hE<gt>"
11229 msgstr ""
11230
11231 #. type: tbl table
11232 #: build/C/man2/ioctl_list.2:457
11233 #, no-wrap
11234 msgid "0x00000601\tLPCHAR\tint\n"
11235 msgstr ""
11236
11237 #. type: tbl table
11238 #: build/C/man2/ioctl_list.2:458
11239 #, no-wrap
11240 msgid "0x00000602\tLPTIME\tint\n"
11241 msgstr ""
11242
11243 #. type: tbl table
11244 #: build/C/man2/ioctl_list.2:459
11245 #, no-wrap
11246 msgid "0x00000604\tLPABORT\tint\n"
11247 msgstr ""
11248
11249 #. type: tbl table
11250 #: build/C/man2/ioctl_list.2:460
11251 #, no-wrap
11252 msgid "0x00000605\tLPSETIRQ\tint\n"
11253 msgstr ""
11254
11255 #. type: tbl table
11256 #: build/C/man2/ioctl_list.2:461
11257 #, no-wrap
11258 msgid "0x00000606\tLPGETIRQ\tint *\n"
11259 msgstr ""
11260
11261 #. type: tbl table
11262 #: build/C/man2/ioctl_list.2:462
11263 #, no-wrap
11264 msgid "0x00000608\tLPWAIT\tint\n"
11265 msgstr ""
11266
11267 #. type: tbl table
11268 #: build/C/man2/ioctl_list.2:463
11269 #, no-wrap
11270 msgid "0x00000609\tLPCAREFUL\tint\n"
11271 msgstr ""
11272
11273 #. type: tbl table
11274 #: build/C/man2/ioctl_list.2:464
11275 #, no-wrap
11276 msgid "0x0000060A\tLPABORTOPEN\tint\n"
11277 msgstr ""
11278
11279 #. type: tbl table
11280 #: build/C/man2/ioctl_list.2:465
11281 #, no-wrap
11282 msgid "0x0000060B\tLPGETSTATUS\tint *\n"
11283 msgstr ""
11284
11285 #. type: tbl table
11286 #: build/C/man2/ioctl_list.2:466
11287 #, no-wrap
11288 msgid "0x0000060C\tLPRESET\tvoid\n"
11289 msgstr ""
11290
11291 #. type: tbl table
11292 #: build/C/man2/ioctl_list.2:467
11293 #, no-wrap
11294 msgid "0x0000060D\tLPGETSTATS\tstruct lp_stats *\n"
11295 msgstr ""
11296
11297 #. type: Plain text
11298 #: build/C/man2/ioctl_list.2:471
11299 msgid "// E<lt>include/linux/mroute.hE<gt>"
11300 msgstr ""
11301
11302 #. type: tbl table
11303 #: build/C/man2/ioctl_list.2:473
11304 #, no-wrap
11305 msgid "0x000089E0\tSIOCGETVIFCNT\tstruct sioc_vif_req *\t// I-O\n"
11306 msgstr ""
11307
11308 #. type: tbl table
11309 #: build/C/man2/ioctl_list.2:474
11310 #, no-wrap
11311 msgid "0x000089E1\tSIOCGETSGCNT\tstruct sioc_sg_req *\t// I-O\n"
11312 msgstr ""
11313
11314 #. type: Plain text
11315 #: build/C/man2/ioctl_list.2:478
11316 msgid "// E<lt>include/linux/msdos_fs.hE<gt>"
11317 msgstr ""
11318
11319 #. type: tbl table
11320 #: build/C/man2/ioctl_list.2:480
11321 #, no-wrap
11322 msgid "0x82307201\tVFAT_IOCTL_READDIR_BOTH\tstruct dirent [2]\n"
11323 msgstr ""
11324
11325 #. type: tbl table
11326 #: build/C/man2/ioctl_list.2:481
11327 #, no-wrap
11328 msgid "0x82307202\tVFAT_IOCTL_READDIR_SHORT\tstruct dirent [2]\n"
11329 msgstr ""
11330
11331 #. type: tbl table
11332 #: build/C/man2/ioctl_list.2:482
11333 #, no-wrap
11334 msgid "0x80047210\tFAT_IOCTL_GET_ATTRIBUTES\t__u32 *\n"
11335 msgstr ""
11336
11337 #. type: tbl table
11338 #: build/C/man2/ioctl_list.2:483
11339 #, no-wrap
11340 msgid "0x40047211\tFAT_IOCTL_SET_ATTRIBUTES\tconst __u32 *\n"
11341 msgstr ""
11342
11343 #. type: Plain text
11344 #: build/C/man2/ioctl_list.2:487
11345 msgid "// E<lt>include/linux/mtio.hE<gt>"
11346 msgstr ""
11347
11348 #. type: tbl table
11349 #: build/C/man2/ioctl_list.2:489
11350 #, no-wrap
11351 msgid "0x40086D01\tMTIOCTOP\tconst struct mtop *\n"
11352 msgstr ""
11353
11354 #. type: tbl table
11355 #: build/C/man2/ioctl_list.2:490
11356 #, no-wrap
11357 msgid "0x801C6D02\tMTIOCGET\tstruct mtget *\n"
11358 msgstr ""
11359
11360 #. type: tbl table
11361 #: build/C/man2/ioctl_list.2:491
11362 #, no-wrap
11363 msgid "0x80046D03\tMTIOCPOS\tstruct mtpos *\n"
11364 msgstr ""
11365
11366 #. type: tbl table
11367 #: build/C/man2/ioctl_list.2:492
11368 #, no-wrap
11369 msgid "0x80206D04\tMTIOCGETCONFIG\tstruct mtconfiginfo *\n"
11370 msgstr ""
11371
11372 #. type: tbl table
11373 #: build/C/man2/ioctl_list.2:493
11374 #, no-wrap
11375 msgid "0x40206D05\tMTIOCSETCONFIG\tconst struct mtconfiginfo *\n"
11376 msgstr ""
11377
11378 #. type: Plain text
11379 #: build/C/man2/ioctl_list.2:497
11380 msgid "// E<lt>include/linux/netrom.hE<gt>"
11381 msgstr ""
11382
11383 #. type: tbl table
11384 #: build/C/man2/ioctl_list.2:499
11385 #, no-wrap
11386 msgid "0x000089E0\tSIOCNRGETPARMS\tstruct nr_parms_struct *\t// I-O\n"
11387 msgstr ""
11388
11389 #. type: tbl table
11390 #: build/C/man2/ioctl_list.2:500
11391 #, no-wrap
11392 msgid "0x000089E1\tSIOCNRSETPARMS\tconst struct nr_parms_struct *\n"
11393 msgstr ""
11394
11395 #. type: tbl table
11396 #: build/C/man2/ioctl_list.2:501
11397 #, no-wrap
11398 msgid "0x000089E2\tSIOCNRDECOBS\tvoid\n"
11399 msgstr ""
11400
11401 #. type: tbl table
11402 #: build/C/man2/ioctl_list.2:502
11403 #, no-wrap
11404 msgid "0x000089E3\tSIOCNRRTCTL\tconst int *\n"
11405 msgstr ""
11406
11407 #. type: Plain text
11408 #: build/C/man2/ioctl_list.2:506
11409 msgid "// E<lt>include/linux/sbpcd.hE<gt>"
11410 msgstr ""
11411
11412 #. type: tbl table
11413 #: build/C/man2/ioctl_list.2:508
11414 #, no-wrap
11415 msgid "0x00009000\tDDIOCSDBG\tconst int *\n"
11416 msgstr ""
11417
11418 #. type: tbl table
11419 #: build/C/man2/ioctl_list.2:509
11420 #, no-wrap
11421 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tint\n"
11422 msgstr ""
11423
11424 #. type: Plain text
11425 #: build/C/man2/ioctl_list.2:513
11426 msgid "// E<lt>include/linux/scc.hE<gt>"
11427 msgstr ""
11428
11429 #. type: tbl table
11430 #: build/C/man2/ioctl_list.2:515
11431 #, no-wrap
11432 msgid "0x00005470\tTIOCSCCINI\tvoid\n"
11433 msgstr ""
11434
11435 #. type: tbl table
11436 #: build/C/man2/ioctl_list.2:516
11437 #, no-wrap
11438 msgid "0x00005471\tTIOCCHANINI\tconst struct scc_modem *\n"
11439 msgstr ""
11440
11441 #. type: tbl table
11442 #: build/C/man2/ioctl_list.2:517
11443 #, no-wrap
11444 msgid "0x00005472\tTIOCGKISS\tstruct ioctl_command *\t// I-O\n"
11445 msgstr ""
11446
11447 #. type: tbl table
11448 #: build/C/man2/ioctl_list.2:518
11449 #, no-wrap
11450 msgid "0x00005473\tTIOCSKISS\tconst struct ioctl_command *\n"
11451 msgstr ""
11452
11453 #. type: tbl table
11454 #: build/C/man2/ioctl_list.2:519
11455 #, no-wrap
11456 msgid "0x00005474\tTIOCSCCSTAT\tstruct scc_stat *\n"
11457 msgstr ""
11458
11459 #. type: Plain text
11460 #: build/C/man2/ioctl_list.2:523
11461 msgid "// E<lt>include/linux/scsi.hE<gt>"
11462 msgstr ""
11463
11464 #. type: tbl table
11465 #: build/C/man2/ioctl_list.2:525
11466 #, no-wrap
11467 msgid "0x00005382\tSCSI_IOCTL_GET_IDLUN\tstruct { int [2]; } *\n"
11468 msgstr ""
11469
11470 #. type: tbl table
11471 #: build/C/man2/ioctl_list.2:526
11472 #, no-wrap
11473 msgid "0x00005383\tSCSI_IOCTL_TAGGED_ENABLE\tvoid\n"
11474 msgstr ""
11475
11476 #. type: tbl table
11477 #: build/C/man2/ioctl_list.2:527
11478 #, no-wrap
11479 msgid "0x00005384\tSCSI_IOCTL_TAGGED_DISABLE\tvoid\n"
11480 msgstr ""
11481
11482 #. type: tbl table
11483 #: build/C/man2/ioctl_list.2:531
11484 #, no-wrap
11485 msgid "0x00005385\tSCSI_IOCTL_PROBE_HOST\tconst int *\t// MORE\n"
11486 msgstr ""
11487
11488 #. type: Plain text
11489 #: build/C/man2/ioctl_list.2:535
11490 msgid "// E<lt>include/linux/smb_fs.hE<gt>"
11491 msgstr ""
11492
11493 #. type: tbl table
11494 #: build/C/man2/ioctl_list.2:537
11495 #, no-wrap
11496 msgid "0x80027501\tSMB_IOC_GETMOUNTUID\tuid_t *\n"
11497 msgstr ""
11498
11499 #. type: Plain text
11500 #: build/C/man2/ioctl_list.2:541
11501 msgid "// E<lt>include/linux/sockios.hE<gt>"
11502 msgstr ""
11503
11504 #. type: tbl table
11505 #: build/C/man2/ioctl_list.2:543
11506 #, no-wrap
11507 msgid "0x0000890B\tSIOCADDRT\tconst struct rtentry *\t// MORE\n"
11508 msgstr ""
11509
11510 #. type: tbl table
11511 #: build/C/man2/ioctl_list.2:544
11512 #, no-wrap
11513 msgid "0x0000890C\tSIOCDELRT\tconst struct rtentry *\t// MORE\n"
11514 msgstr ""
11515
11516 #. type: tbl table
11517 #: build/C/man2/ioctl_list.2:545
11518 #, no-wrap
11519 msgid "0x00008910\tSIOCGIFNAME\tchar []\n"
11520 msgstr ""
11521
11522 #. type: tbl table
11523 #: build/C/man2/ioctl_list.2:546
11524 #, no-wrap
11525 msgid "0x00008911\tSIOCSIFLINK\tvoid\n"
11526 msgstr ""
11527
11528 #. type: tbl table
11529 #: build/C/man2/ioctl_list.2:547
11530 #, no-wrap
11531 msgid "0x00008912\tSIOCGIFCONF\tstruct ifconf *\t// MORE // I-O\n"
11532 msgstr ""
11533
11534 #. type: tbl table
11535 #: build/C/man2/ioctl_list.2:548
11536 #, no-wrap
11537 msgid "0x00008913\tSIOCGIFFLAGS\tstruct ifreq *\t// I-O\n"
11538 msgstr ""
11539
11540 #. type: tbl table
11541 #: build/C/man2/ioctl_list.2:549
11542 #, no-wrap
11543 msgid "0x00008914\tSIOCSIFFLAGS\tconst struct ifreq *\n"
11544 msgstr ""
11545
11546 #. type: tbl table
11547 #: build/C/man2/ioctl_list.2:550
11548 #, no-wrap
11549 msgid "0x00008915\tSIOCGIFADDR\tstruct ifreq *\t// I-O\n"
11550 msgstr ""
11551
11552 #. type: tbl table
11553 #: build/C/man2/ioctl_list.2:551
11554 #, no-wrap
11555 msgid "0x00008916\tSIOCSIFADDR\tconst struct ifreq *\n"
11556 msgstr ""
11557
11558 #. type: tbl table
11559 #: build/C/man2/ioctl_list.2:552
11560 #, no-wrap
11561 msgid "0x00008917\tSIOCGIFDSTADDR\tstruct ifreq *\t// I-O\n"
11562 msgstr ""
11563
11564 #. type: tbl table
11565 #: build/C/man2/ioctl_list.2:553
11566 #, no-wrap
11567 msgid "0x00008918\tSIOCSIFDSTADDR\tconst struct ifreq *\n"
11568 msgstr ""
11569
11570 #. type: tbl table
11571 #: build/C/man2/ioctl_list.2:554
11572 #, no-wrap
11573 msgid "0x00008919\tSIOCGIFBRDADDR\tstruct ifreq *\t// I-O\n"
11574 msgstr ""
11575
11576 #. type: tbl table
11577 #: build/C/man2/ioctl_list.2:555
11578 #, no-wrap
11579 msgid "0x0000891A\tSIOCSIFBRDADDR\tconst struct ifreq *\n"
11580 msgstr ""
11581
11582 #. type: tbl table
11583 #: build/C/man2/ioctl_list.2:556
11584 #, no-wrap
11585 msgid "0x0000891B\tSIOCGIFNETMASK\tstruct ifreq *\t// I-O\n"
11586 msgstr ""
11587
11588 #. type: tbl table
11589 #: build/C/man2/ioctl_list.2:557
11590 #, no-wrap
11591 msgid "0x0000891C\tSIOCSIFNETMASK\tconst struct ifreq *\n"
11592 msgstr ""
11593
11594 #. type: tbl table
11595 #: build/C/man2/ioctl_list.2:558
11596 #, no-wrap
11597 msgid "0x0000891D\tSIOCGIFMETRIC\tstruct ifreq *\t// I-O\n"
11598 msgstr ""
11599
11600 #. type: tbl table
11601 #: build/C/man2/ioctl_list.2:559
11602 #, no-wrap
11603 msgid "0x0000891E\tSIOCSIFMETRIC\tconst struct ifreq *\n"
11604 msgstr ""
11605
11606 #. type: tbl table
11607 #: build/C/man2/ioctl_list.2:560
11608 #, no-wrap
11609 msgid "0x0000891F\tSIOCGIFMEM\tstruct ifreq *\t// I-O\n"
11610 msgstr ""
11611
11612 #. type: tbl table
11613 #: build/C/man2/ioctl_list.2:561
11614 #, no-wrap
11615 msgid "0x00008920\tSIOCSIFMEM\tconst struct ifreq *\n"
11616 msgstr ""
11617
11618 #. type: tbl table
11619 #: build/C/man2/ioctl_list.2:562
11620 #, no-wrap
11621 msgid "0x00008921\tSIOCGIFMTU\tstruct ifreq *\t// I-O\n"
11622 msgstr ""
11623
11624 #. type: tbl table
11625 #: build/C/man2/ioctl_list.2:563
11626 #, no-wrap
11627 msgid "0x00008922\tSIOCSIFMTU\tconst struct ifreq *\n"
11628 msgstr ""
11629
11630 #. type: tbl table
11631 #: build/C/man2/ioctl_list.2:567
11632 #, no-wrap
11633 msgid "0x00008923\tOLD_SIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11634 msgstr ""
11635
11636 #. type: tbl table
11637 #: build/C/man2/ioctl_list.2:568
11638 #, no-wrap
11639 msgid "0x00008924\tSIOCSIFHWADDR\tconst struct ifreq *\t// MORE\n"
11640 msgstr ""
11641
11642 #. type: tbl table
11643 #: build/C/man2/ioctl_list.2:569
11644 #, no-wrap
11645 msgid "0x00008925\tSIOCGIFENCAP\tint *\n"
11646 msgstr ""
11647
11648 #. type: tbl table
11649 #: build/C/man2/ioctl_list.2:570
11650 #, no-wrap
11651 msgid "0x00008926\tSIOCSIFENCAP\tconst int *\n"
11652 msgstr ""
11653
11654 #. type: tbl table
11655 #: build/C/man2/ioctl_list.2:571
11656 #, no-wrap
11657 msgid "0x00008927\tSIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11658 msgstr ""
11659
11660 #. type: tbl table
11661 #: build/C/man2/ioctl_list.2:572
11662 #, no-wrap
11663 msgid "0x00008929\tSIOCGIFSLAVE\tvoid\n"
11664 msgstr ""
11665
11666 #. type: tbl table
11667 #: build/C/man2/ioctl_list.2:573
11668 #, no-wrap
11669 msgid "0x00008930\tSIOCSIFSLAVE\tvoid\n"
11670 msgstr ""
11671
11672 #. type: tbl table
11673 #: build/C/man2/ioctl_list.2:574
11674 #, no-wrap
11675 msgid "0x00008931\tSIOCADDMULTI\tconst struct ifreq *\n"
11676 msgstr ""
11677
11678 #. type: tbl table
11679 #: build/C/man2/ioctl_list.2:575
11680 #, no-wrap
11681 msgid "0x00008932\tSIOCDELMULTI\tconst struct ifreq *\n"
11682 msgstr ""
11683
11684 #. type: tbl table
11685 #: build/C/man2/ioctl_list.2:576
11686 #, no-wrap
11687 msgid "0x00008940\tSIOCADDRTOLD\tvoid\n"
11688 msgstr ""
11689
11690 #. type: tbl table
11691 #: build/C/man2/ioctl_list.2:577
11692 #, no-wrap
11693 msgid "0x00008941\tSIOCDELRTOLD\tvoid\n"
11694 msgstr ""
11695
11696 #. type: tbl table
11697 #: build/C/man2/ioctl_list.2:578
11698 #, no-wrap
11699 msgid "0x00008950\tSIOCDARP\tconst struct arpreq *\n"
11700 msgstr ""
11701
11702 #. type: tbl table
11703 #: build/C/man2/ioctl_list.2:579
11704 #, no-wrap
11705 msgid "0x00008951\tSIOCGARP\tstruct arpreq *\t// I-O\n"
11706 msgstr ""
11707
11708 #. type: tbl table
11709 #: build/C/man2/ioctl_list.2:580
11710 #, no-wrap
11711 msgid "0x00008952\tSIOCSARP\tconst struct arpreq *\n"
11712 msgstr ""
11713
11714 #. type: tbl table
11715 #: build/C/man2/ioctl_list.2:581
11716 #, no-wrap
11717 msgid "0x00008960\tSIOCDRARP\tconst struct arpreq *\n"
11718 msgstr ""
11719
11720 #. type: tbl table
11721 #: build/C/man2/ioctl_list.2:582
11722 #, no-wrap
11723 msgid "0x00008961\tSIOCGRARP\tstruct arpreq *\t// I-O\n"
11724 msgstr ""
11725
11726 #. type: tbl table
11727 #: build/C/man2/ioctl_list.2:583
11728 #, no-wrap
11729 msgid "0x00008962\tSIOCSRARP\tconst struct arpreq *\n"
11730 msgstr ""
11731
11732 #. type: tbl table
11733 #: build/C/man2/ioctl_list.2:584
11734 #, no-wrap
11735 msgid "0x00008970\tSIOCGIFMAP\tstruct ifreq *\t// I-O\n"
11736 msgstr ""
11737
11738 #. type: tbl table
11739 #: build/C/man2/ioctl_list.2:585
11740 #, no-wrap
11741 msgid "0x00008971\tSIOCSIFMAP\tconst struct ifreq *\n"
11742 msgstr ""
11743
11744 #. type: Plain text
11745 #: build/C/man2/ioctl_list.2:589
11746 msgid "// E<lt>include/linux/soundcard.hE<gt>"
11747 msgstr ""
11748
11749 #. type: tbl table
11750 #: build/C/man2/ioctl_list.2:591
11751 #, no-wrap
11752 msgid "0x00005100\tSNDCTL_SEQ_RESET\tvoid\n"
11753 msgstr ""
11754
11755 #. type: tbl table
11756 #: build/C/man2/ioctl_list.2:592
11757 #, no-wrap
11758 msgid "0x00005101\tSNDCTL_SEQ_SYNC\tvoid\n"
11759 msgstr ""
11760
11761 #. type: tbl table
11762 #: build/C/man2/ioctl_list.2:596
11763 #, no-wrap
11764 msgid "0xC08C5102\tSNDCTL_SYNTH_INFO\tstruct synth_info *\t// I-O\n"
11765 msgstr ""
11766
11767 #. type: tbl table
11768 #: build/C/man2/ioctl_list.2:597
11769 #, no-wrap
11770 msgid "0xC0045103\tSNDCTL_SEQ_CTRLRATE\tint *\t// I-O\n"
11771 msgstr ""
11772
11773 #. type: tbl table
11774 #: build/C/man2/ioctl_list.2:598
11775 #, no-wrap
11776 msgid "0x80045104\tSNDCTL_SEQ_GETOUTCOUNT\tint *\n"
11777 msgstr ""
11778
11779 #. type: tbl table
11780 #: build/C/man2/ioctl_list.2:599
11781 #, no-wrap
11782 msgid "0x80045105\tSNDCTL_SEQ_GETINCOUNT\tint *\n"
11783 msgstr ""
11784
11785 #. type: tbl table
11786 #: build/C/man2/ioctl_list.2:600
11787 #, no-wrap
11788 msgid "0x40045106\tSNDCTL_SEQ_PERCMODE\tvoid\n"
11789 msgstr ""
11790
11791 #. type: tbl table
11792 #: build/C/man2/ioctl_list.2:604
11793 #, no-wrap
11794 msgid "0x40285107\tSNDCTL_FM_LOAD_INSTR\tconst struct sbi_instrument *\n"
11795 msgstr ""
11796
11797 #. type: tbl table
11798 #: build/C/man2/ioctl_list.2:608
11799 #, no-wrap
11800 msgid "0x40045108\tSNDCTL_SEQ_TESTMIDI\tconst int *\n"
11801 msgstr ""
11802
11803 #. type: tbl table
11804 #: build/C/man2/ioctl_list.2:609
11805 #, no-wrap
11806 msgid "0x40045109\tSNDCTL_SEQ_RESETSAMPLES\tconst int *\n"
11807 msgstr ""
11808
11809 #. type: tbl table
11810 #: build/C/man2/ioctl_list.2:610
11811 #, no-wrap
11812 msgid "0x8004510A\tSNDCTL_SEQ_NRSYNTHS\tint *\n"
11813 msgstr ""
11814
11815 #. type: tbl table
11816 #: build/C/man2/ioctl_list.2:611
11817 #, no-wrap
11818 msgid "0x8004510B\tSNDCTL_SEQ_NRMIDIS\tint *\n"
11819 msgstr ""
11820
11821 #. type: tbl table
11822 #: build/C/man2/ioctl_list.2:612
11823 #, no-wrap
11824 msgid "0xC074510C\tSNDCTL_MIDI_INFO\tstruct midi_info *\t// I-O\n"
11825 msgstr ""
11826
11827 #. type: tbl table
11828 #: build/C/man2/ioctl_list.2:613
11829 #, no-wrap
11830 msgid "0x4004510D\tSNDCTL_SEQ_THRESHOLD\tconst int *\n"
11831 msgstr ""
11832
11833 #. type: tbl table
11834 #: build/C/man2/ioctl_list.2:614
11835 #, no-wrap
11836 msgid "0xC004510E\tSNDCTL_SYNTH_MEMAVL\tint *\t// I-O\n"
11837 msgstr ""
11838
11839 #. type: tbl table
11840 #: build/C/man2/ioctl_list.2:615
11841 #, no-wrap
11842 msgid "0x4004510F\tSNDCTL_FM_4OP_ENABLE\tconst int *\n"
11843 msgstr ""
11844
11845 #. type: tbl table
11846 #: build/C/man2/ioctl_list.2:616
11847 #, no-wrap
11848 msgid "0xCFB85110\tSNDCTL_PMGR_ACCESS\tstruct patmgr_info *\t// I-O\n"
11849 msgstr ""
11850
11851 #. type: tbl table
11852 #: build/C/man2/ioctl_list.2:617
11853 #, no-wrap
11854 msgid "0x00005111\tSNDCTL_SEQ_PANIC\tvoid\n"
11855 msgstr ""
11856
11857 #. type: tbl table
11858 #: build/C/man2/ioctl_list.2:621
11859 #, no-wrap
11860 msgid "0x40085112\tSNDCTL_SEQ_OUTOFBAND\tconst struct seq_event_rec *\n"
11861 msgstr ""
11862
11863 #. type: tbl table
11864 #: build/C/man2/ioctl_list.2:625
11865 #, no-wrap
11866 msgid "0xC0045401\tSNDCTL_TMR_TIMEBASE\tint *\t// I-O\n"
11867 msgstr ""
11868
11869 #. type: tbl table
11870 #: build/C/man2/ioctl_list.2:626
11871 #, no-wrap
11872 msgid "0x00005402\tSNDCTL_TMR_START\tvoid\n"
11873 msgstr ""
11874
11875 #. type: tbl table
11876 #: build/C/man2/ioctl_list.2:627
11877 #, no-wrap
11878 msgid "0x00005403\tSNDCTL_TMR_STOP\tvoid\n"
11879 msgstr ""
11880
11881 #. type: tbl table
11882 #: build/C/man2/ioctl_list.2:628
11883 #, no-wrap
11884 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tvoid\n"
11885 msgstr ""
11886
11887 #. type: tbl table
11888 #: build/C/man2/ioctl_list.2:629
11889 #, no-wrap
11890 msgid "0xC0045405\tSNDCTL_TMR_TEMPO\tint *\t// I-O\n"
11891 msgstr ""
11892
11893 #. type: tbl table
11894 #: build/C/man2/ioctl_list.2:630
11895 #, no-wrap
11896 msgid "0xC0045406\tSNDCTL_TMR_SOURCE\tint *\t// I-O\n"
11897 msgstr ""
11898
11899 #. type: tbl table
11900 #: build/C/man2/ioctl_list.2:631
11901 #, no-wrap
11902 msgid "0x40045407\tSNDCTL_TMR_METRONOME\tconst int *\n"
11903 msgstr ""
11904
11905 #. type: tbl table
11906 #: build/C/man2/ioctl_list.2:632
11907 #, no-wrap
11908 msgid "0x40045408\tSNDCTL_TMR_SELECT\tint *\t// I-O\n"
11909 msgstr ""
11910
11911 #. type: tbl table
11912 #: build/C/man2/ioctl_list.2:633
11913 #, no-wrap
11914 msgid "0xCFB85001\tSNDCTL_PMGR_IFACE\tstruct patmgr_info *\t// I-O\n"
11915 msgstr ""
11916
11917 #. type: tbl table
11918 #: build/C/man2/ioctl_list.2:634
11919 #, no-wrap
11920 msgid "0xC0046D00\tSNDCTL_MIDI_PRETIME\tint *\t// I-O\n"
11921 msgstr ""
11922
11923 #. type: tbl table
11924 #: build/C/man2/ioctl_list.2:635
11925 #, no-wrap
11926 msgid "0xC0046D01\tSNDCTL_MIDI_MPUMODE\tconst int *\n"
11927 msgstr ""
11928
11929 #. type: tbl table
11930 #: build/C/man2/ioctl_list.2:639
11931 #, no-wrap
11932 msgid "0xC0216D02\tSNDCTL_MIDI_MPUCMD\tstruct mpu_command_rec *\t// I-O\n"
11933 msgstr ""
11934
11935 #. type: tbl table
11936 #: build/C/man2/ioctl_list.2:643
11937 #, no-wrap
11938 msgid "0x00005000\tSNDCTL_DSP_RESET\tvoid\n"
11939 msgstr ""
11940
11941 #. type: tbl table
11942 #: build/C/man2/ioctl_list.2:644
11943 #, no-wrap
11944 msgid "0x00005001\tSNDCTL_DSP_SYNC\tvoid\n"
11945 msgstr ""
11946
11947 #. type: tbl table
11948 #: build/C/man2/ioctl_list.2:645
11949 #, no-wrap
11950 msgid "0xC0045002\tSNDCTL_DSP_SPEED\tint *\t// I-O\n"
11951 msgstr ""
11952
11953 #. type: tbl table
11954 #: build/C/man2/ioctl_list.2:646
11955 #, no-wrap
11956 msgid "0xC0045003\tSNDCTL_DSP_STEREO\tint *\t// I-O\n"
11957 msgstr ""
11958
11959 #. type: tbl table
11960 #: build/C/man2/ioctl_list.2:647
11961 #, no-wrap
11962 msgid "0xC0045004\tSNDCTL_DSP_GETBLKSIZE\tint *\t// I-O\n"
11963 msgstr ""
11964
11965 #. type: tbl table
11966 #: build/C/man2/ioctl_list.2:648
11967 #, no-wrap
11968 msgid "0xC0045006\tSOUND_PCM_WRITE_CHANNELS\tint *\t// I-O\n"
11969 msgstr ""
11970
11971 #. type: tbl table
11972 #: build/C/man2/ioctl_list.2:649
11973 #, no-wrap
11974 msgid "0xC0045007\tSOUND_PCM_WRITE_FILTER\tint *\t// I-O\n"
11975 msgstr ""
11976
11977 #. type: tbl table
11978 #: build/C/man2/ioctl_list.2:650
11979 #, no-wrap
11980 msgid "0x00005008\tSNDCTL_DSP_POST\tvoid\n"
11981 msgstr ""
11982
11983 #. type: tbl table
11984 #: build/C/man2/ioctl_list.2:651
11985 #, no-wrap
11986 msgid "0xC0045009\tSNDCTL_DSP_SUBDIVIDE\tint *\t// I-O\n"
11987 msgstr ""
11988
11989 #. type: tbl table
11990 #: build/C/man2/ioctl_list.2:652
11991 #, no-wrap
11992 msgid "0xC004500A\tSNDCTL_DSP_SETFRAGMENT\tint *\t// I-O\n"
11993 msgstr ""
11994
11995 #. type: tbl table
11996 #: build/C/man2/ioctl_list.2:653
11997 #, no-wrap
11998 msgid "0x8004500B\tSNDCTL_DSP_GETFMTS\tint *\n"
11999 msgstr ""
12000
12001 #. type: tbl table
12002 #: build/C/man2/ioctl_list.2:654
12003 #, no-wrap
12004 msgid "0xC0045005\tSNDCTL_DSP_SETFMT\tint *\t// I-O\n"
12005 msgstr ""
12006
12007 #. type: tbl table
12008 #: build/C/man2/ioctl_list.2:658
12009 #, no-wrap
12010 msgid "0x800C500C\tSNDCTL_DSP_GETOSPACE\tstruct audio_buf_info *\n"
12011 msgstr ""
12012
12013 #. type: tbl table
12014 #: build/C/man2/ioctl_list.2:659
12015 #, no-wrap
12016 msgid "0x800C500D\tSNDCTL_DSP_GETISPACE\tstruct audio_buf_info *\n"
12017 msgstr ""
12018
12019 #. type: tbl table
12020 #: build/C/man2/ioctl_list.2:660
12021 #, no-wrap
12022 msgid "0x0000500E\tSNDCTL_DSP_NONBLOCK\tvoid\n"
12023 msgstr ""
12024
12025 #. type: tbl table
12026 #: build/C/man2/ioctl_list.2:661
12027 #, no-wrap
12028 msgid "0x80045002\tSOUND_PCM_READ_RATE\tint *\n"
12029 msgstr ""
12030
12031 #. type: tbl table
12032 #: build/C/man2/ioctl_list.2:662
12033 #, no-wrap
12034 msgid "0x80045006\tSOUND_PCM_READ_CHANNELS\tint *\n"
12035 msgstr ""
12036
12037 #. type: tbl table
12038 #: build/C/man2/ioctl_list.2:663
12039 #, no-wrap
12040 msgid "0x80045005\tSOUND_PCM_READ_BITS\tint *\n"
12041 msgstr ""
12042
12043 #. type: tbl table
12044 #: build/C/man2/ioctl_list.2:664
12045 #, no-wrap
12046 msgid "0x80045007\tSOUND_PCM_READ_FILTER\tint *\n"
12047 msgstr ""
12048
12049 #. type: tbl table
12050 #: build/C/man2/ioctl_list.2:665
12051 #, no-wrap
12052 msgid "0x00004300\tSNDCTL_COPR_RESET\tvoid\n"
12053 msgstr ""
12054
12055 #. type: tbl table
12056 #: build/C/man2/ioctl_list.2:666
12057 #, no-wrap
12058 msgid "0xCFB04301\tSNDCTL_COPR_LOAD\tconst struct copr_buffer *\n"
12059 msgstr ""
12060
12061 #. type: tbl table
12062 #: build/C/man2/ioctl_list.2:670
12063 #, no-wrap
12064 msgid "0xC0144302\tSNDCTL_COPR_RDATA\tstruct copr_debug_buf *\t// I-O\n"
12065 msgstr ""
12066
12067 #. type: tbl table
12068 #: build/C/man2/ioctl_list.2:671
12069 #, no-wrap
12070 msgid "0xC0144303\tSNDCTL_COPR_RCODE\tstruct copr_debug_buf *\t// I-O\n"
12071 msgstr ""
12072
12073 #. type: tbl table
12074 #: build/C/man2/ioctl_list.2:675
12075 #, no-wrap
12076 msgid "0x40144304\tSNDCTL_COPR_WDATA\tconst struct copr_debug_buf *\n"
12077 msgstr ""
12078
12079 #. type: tbl table
12080 #: build/C/man2/ioctl_list.2:676
12081 #, no-wrap
12082 msgid "0x40144305\tSNDCTL_COPR_WCODE\tconst struct copr_debug_buf *\n"
12083 msgstr ""
12084
12085 #. type: tbl table
12086 #: build/C/man2/ioctl_list.2:680
12087 #, no-wrap
12088 msgid "0xC0144306\tSNDCTL_COPR_RUN\tstruct copr_debug_buf *\t// I-O\n"
12089 msgstr ""
12090
12091 #. type: tbl table
12092 #: build/C/man2/ioctl_list.2:681
12093 #, no-wrap
12094 msgid "0xC0144307\tSNDCTL_COPR_HALT\tstruct copr_debug_buf *\t// I-O\n"
12095 msgstr ""
12096
12097 #. type: tbl table
12098 #: build/C/man2/ioctl_list.2:685
12099 #, no-wrap
12100 msgid "0x4FA44308\tSNDCTL_COPR_SENDMSG\tconst struct copr_msg *\n"
12101 msgstr ""
12102
12103 #. type: tbl table
12104 #: build/C/man2/ioctl_list.2:686
12105 #, no-wrap
12106 msgid "0x8FA44309\tSNDCTL_COPR_RCVMSG\tstruct copr_msg *\n"
12107 msgstr ""
12108
12109 #. type: tbl table
12110 #: build/C/man2/ioctl_list.2:687
12111 #, no-wrap
12112 msgid "0x80044D00\tSOUND_MIXER_READ_VOLUME\tint *\n"
12113 msgstr ""
12114
12115 #. type: tbl table
12116 #: build/C/man2/ioctl_list.2:688
12117 #, no-wrap
12118 msgid "0x80044D01\tSOUND_MIXER_READ_BASS\tint *\n"
12119 msgstr ""
12120
12121 #. type: tbl table
12122 #: build/C/man2/ioctl_list.2:689
12123 #, no-wrap
12124 msgid "0x80044D02\tSOUND_MIXER_READ_TREBLE\tint *\n"
12125 msgstr ""
12126
12127 #. type: tbl table
12128 #: build/C/man2/ioctl_list.2:690
12129 #, no-wrap
12130 msgid "0x80044D03\tSOUND_MIXER_READ_SYNTH\tint *\n"
12131 msgstr ""
12132
12133 #. type: tbl table
12134 #: build/C/man2/ioctl_list.2:691
12135 #, no-wrap
12136 msgid "0x80044D04\tSOUND_MIXER_READ_PCM\tint *\n"
12137 msgstr ""
12138
12139 #. type: tbl table
12140 #: build/C/man2/ioctl_list.2:692
12141 #, no-wrap
12142 msgid "0x80044D05\tSOUND_MIXER_READ_SPEAKER\tint *\n"
12143 msgstr ""
12144
12145 #. type: tbl table
12146 #: build/C/man2/ioctl_list.2:693
12147 #, no-wrap
12148 msgid "0x80044D06\tSOUND_MIXER_READ_LINE\tint *\n"
12149 msgstr ""
12150
12151 #. type: tbl table
12152 #: build/C/man2/ioctl_list.2:694
12153 #, no-wrap
12154 msgid "0x80044D07\tSOUND_MIXER_READ_MIC\tint *\n"
12155 msgstr ""
12156
12157 #. type: tbl table
12158 #: build/C/man2/ioctl_list.2:695
12159 #, no-wrap
12160 msgid "0x80044D08\tSOUND_MIXER_READ_CD\tint *\n"
12161 msgstr ""
12162
12163 #. type: tbl table
12164 #: build/C/man2/ioctl_list.2:696
12165 #, no-wrap
12166 msgid "0x80044D09\tSOUND_MIXER_READ_IMIX\tint *\n"
12167 msgstr ""
12168
12169 #. type: tbl table
12170 #: build/C/man2/ioctl_list.2:697
12171 #, no-wrap
12172 msgid "0x80044D0A\tSOUND_MIXER_READ_ALTPCM\tint *\n"
12173 msgstr ""
12174
12175 #. type: tbl table
12176 #: build/C/man2/ioctl_list.2:698
12177 #, no-wrap
12178 msgid "0x80044D0B\tSOUND_MIXER_READ_RECLEV\tint *\n"
12179 msgstr ""
12180
12181 #. type: tbl table
12182 #: build/C/man2/ioctl_list.2:699
12183 #, no-wrap
12184 msgid "0x80044D0C\tSOUND_MIXER_READ_IGAIN\tint *\n"
12185 msgstr ""
12186
12187 #. type: tbl table
12188 #: build/C/man2/ioctl_list.2:700
12189 #, no-wrap
12190 msgid "0x80044D0D\tSOUND_MIXER_READ_OGAIN\tint *\n"
12191 msgstr ""
12192
12193 #. type: tbl table
12194 #: build/C/man2/ioctl_list.2:701
12195 #, no-wrap
12196 msgid "0x80044D0E\tSOUND_MIXER_READ_LINE1\tint *\n"
12197 msgstr ""
12198
12199 #. type: tbl table
12200 #: build/C/man2/ioctl_list.2:702
12201 #, no-wrap
12202 msgid "0x80044D0F\tSOUND_MIXER_READ_LINE2\tint *\n"
12203 msgstr ""
12204
12205 #. type: tbl table
12206 #: build/C/man2/ioctl_list.2:703
12207 #, no-wrap
12208 msgid "0x80044D10\tSOUND_MIXER_READ_LINE3\tint *\n"
12209 msgstr ""
12210
12211 #. type: tbl table
12212 #: build/C/man2/ioctl_list.2:704
12213 #, no-wrap
12214 msgid "0x80044D1C\tSOUND_MIXER_READ_MUTE\tint *\n"
12215 msgstr ""
12216
12217 #. type: tbl table
12218 #: build/C/man2/ioctl_list.2:705
12219 #, no-wrap
12220 msgid "0x80044D1D\tSOUND_MIXER_READ_ENHANCE\tint *\n"
12221 msgstr ""
12222
12223 #. type: tbl table
12224 #: build/C/man2/ioctl_list.2:706
12225 #, no-wrap
12226 msgid "0x80044D1E\tSOUND_MIXER_READ_LOUD\tint *\n"
12227 msgstr ""
12228
12229 #. type: tbl table
12230 #: build/C/man2/ioctl_list.2:707
12231 #, no-wrap
12232 msgid "0x80044DFF\tSOUND_MIXER_READ_RECSRC\tint *\n"
12233 msgstr ""
12234
12235 #. type: tbl table
12236 #: build/C/man2/ioctl_list.2:708
12237 #, no-wrap
12238 msgid "0x80044DFE\tSOUND_MIXER_READ_DEVMASK\tint *\n"
12239 msgstr ""
12240
12241 #. type: tbl table
12242 #: build/C/man2/ioctl_list.2:709
12243 #, no-wrap
12244 msgid "0x80044DFD\tSOUND_MIXER_READ_RECMASK\tint *\n"
12245 msgstr ""
12246
12247 #. type: tbl table
12248 #: build/C/man2/ioctl_list.2:710
12249 #, no-wrap
12250 msgid "0x80044DFB\tSOUND_MIXER_READ_STEREODEVS\tint *\n"
12251 msgstr ""
12252
12253 #. type: tbl table
12254 #: build/C/man2/ioctl_list.2:711
12255 #, no-wrap
12256 msgid "0x80044DFC\tSOUND_MIXER_READ_CAPS\tint *\n"
12257 msgstr ""
12258
12259 #. type: tbl table
12260 #: build/C/man2/ioctl_list.2:715
12261 #, no-wrap
12262 msgid "0xC0044D00\tSOUND_MIXER_WRITE_VOLUME\tint *\t// I-O\n"
12263 msgstr ""
12264
12265 #. type: tbl table
12266 #: build/C/man2/ioctl_list.2:716
12267 #, no-wrap
12268 msgid "0xC0044D01\tSOUND_MIXER_WRITE_BASS\tint *\t// I-O\n"
12269 msgstr ""
12270
12271 #. type: tbl table
12272 #: build/C/man2/ioctl_list.2:717
12273 #, no-wrap
12274 msgid "0xC0044D02\tSOUND_MIXER_WRITE_TREBLE\tint *\t// I-O\n"
12275 msgstr ""
12276
12277 #. type: tbl table
12278 #: build/C/man2/ioctl_list.2:718
12279 #, no-wrap
12280 msgid "0xC0044D03\tSOUND_MIXER_WRITE_SYNTH\tint *\t// I-O\n"
12281 msgstr ""
12282
12283 #. type: tbl table
12284 #: build/C/man2/ioctl_list.2:719
12285 #, no-wrap
12286 msgid "0xC0044D04\tSOUND_MIXER_WRITE_PCM\tint *\t// I-O\n"
12287 msgstr ""
12288
12289 #. type: tbl table
12290 #: build/C/man2/ioctl_list.2:720
12291 #, no-wrap
12292 msgid "0xC0044D05\tSOUND_MIXER_WRITE_SPEAKER\tint *\t// I-O\n"
12293 msgstr ""
12294
12295 #. type: tbl table
12296 #: build/C/man2/ioctl_list.2:721
12297 #, no-wrap
12298 msgid "0xC0044D06\tSOUND_MIXER_WRITE_LINE\tint *\t// I-O\n"
12299 msgstr ""
12300
12301 #. type: tbl table
12302 #: build/C/man2/ioctl_list.2:722
12303 #, no-wrap
12304 msgid "0xC0044D07\tSOUND_MIXER_WRITE_MIC\tint *\t// I-O\n"
12305 msgstr ""
12306
12307 #. type: tbl table
12308 #: build/C/man2/ioctl_list.2:723
12309 #, no-wrap
12310 msgid "0xC0044D08\tSOUND_MIXER_WRITE_CD\tint *\t// I-O\n"
12311 msgstr ""
12312
12313 #. type: tbl table
12314 #: build/C/man2/ioctl_list.2:724
12315 #, no-wrap
12316 msgid "0xC0044D09\tSOUND_MIXER_WRITE_IMIX\tint *\t// I-O\n"
12317 msgstr ""
12318
12319 #. type: tbl table
12320 #: build/C/man2/ioctl_list.2:725
12321 #, no-wrap
12322 msgid "0xC0044D0A\tSOUND_MIXER_WRITE_ALTPCM\tint *\t// I-O\n"
12323 msgstr ""
12324
12325 #. type: tbl table
12326 #: build/C/man2/ioctl_list.2:726
12327 #, no-wrap
12328 msgid "0xC0044D0B\tSOUND_MIXER_WRITE_RECLEV\tint *\t// I-O\n"
12329 msgstr ""
12330
12331 #. type: tbl table
12332 #: build/C/man2/ioctl_list.2:727
12333 #, no-wrap
12334 msgid "0xC0044D0C\tSOUND_MIXER_WRITE_IGAIN\tint *\t// I-O\n"
12335 msgstr ""
12336
12337 #. type: tbl table
12338 #: build/C/man2/ioctl_list.2:728
12339 #, no-wrap
12340 msgid "0xC0044D0D\tSOUND_MIXER_WRITE_OGAIN\tint *\t// I-O\n"
12341 msgstr ""
12342
12343 #. type: tbl table
12344 #: build/C/man2/ioctl_list.2:729
12345 #, no-wrap
12346 msgid "0xC0044D0E\tSOUND_MIXER_WRITE_LINE1\tint *\t// I-O\n"
12347 msgstr ""
12348
12349 #. type: tbl table
12350 #: build/C/man2/ioctl_list.2:730
12351 #, no-wrap
12352 msgid "0xC0044D0F\tSOUND_MIXER_WRITE_LINE2\tint *\t// I-O\n"
12353 msgstr ""
12354
12355 #. type: tbl table
12356 #: build/C/man2/ioctl_list.2:731
12357 #, no-wrap
12358 msgid "0xC0044D10\tSOUND_MIXER_WRITE_LINE3\tint *\t// I-O\n"
12359 msgstr ""
12360
12361 #. type: tbl table
12362 #: build/C/man2/ioctl_list.2:732
12363 #, no-wrap
12364 msgid "0xC0044D1C\tSOUND_MIXER_WRITE_MUTE\tint *\t// I-O\n"
12365 msgstr ""
12366
12367 #. type: tbl table
12368 #: build/C/man2/ioctl_list.2:733
12369 #, no-wrap
12370 msgid "0xC0044D1D\tSOUND_MIXER_WRITE_ENHANCE\tint *\t// I-O\n"
12371 msgstr ""
12372
12373 #. type: tbl table
12374 #: build/C/man2/ioctl_list.2:734
12375 #, no-wrap
12376 msgid "0xC0044D1E\tSOUND_MIXER_WRITE_LOUD\tint *\t// I-O\n"
12377 msgstr ""
12378
12379 #. type: tbl table
12380 #: build/C/man2/ioctl_list.2:735
12381 #, no-wrap
12382 msgid "0xC0044DFF\tSOUND_MIXER_WRITE_RECSRC\tint *\t// I-O\n"
12383 msgstr ""
12384
12385 #. type: Plain text
12386 #: build/C/man2/ioctl_list.2:739
12387 msgid "// E<lt>include/linux/umsdos_fs.hE<gt>"
12388 msgstr ""
12389
12390 #. type: tbl table
12391 #: build/C/man2/ioctl_list.2:741
12392 #, no-wrap
12393 msgid "0x000004D2\tUMSDOS_READDIR_DOS\tstruct umsdos_ioctl *\t// I-O\n"
12394 msgstr ""
12395
12396 #. type: tbl table
12397 #: build/C/man2/ioctl_list.2:742
12398 #, no-wrap
12399 msgid "0x000004D3\tUMSDOS_UNLINK_DOS\tconst struct umsdos_ioctl *\n"
12400 msgstr ""
12401
12402 #. type: tbl table
12403 #: build/C/man2/ioctl_list.2:743
12404 #, no-wrap
12405 msgid "0x000004D4\tUMSDOS_RMDIR_DOS\tconst struct umsdos_ioctl *\n"
12406 msgstr ""
12407
12408 #. type: tbl table
12409 #: build/C/man2/ioctl_list.2:744
12410 #, no-wrap
12411 msgid "0x000004D5\tUMSDOS_STAT_DOS\tstruct umsdos_ioctl *\t// I-O\n"
12412 msgstr ""
12413
12414 #. type: tbl table
12415 #: build/C/man2/ioctl_list.2:745
12416 #, no-wrap
12417 msgid "0x000004D6\tUMSDOS_CREAT_EMD\tconst struct umsdos_ioctl *\n"
12418 msgstr ""
12419
12420 #. type: tbl table
12421 #: build/C/man2/ioctl_list.2:746
12422 #, no-wrap
12423 msgid "0x000004D7\tUMSDOS_UNLINK_EMD\tconst struct umsdos_ioctl *\n"
12424 msgstr ""
12425
12426 #. type: tbl table
12427 #: build/C/man2/ioctl_list.2:747
12428 #, no-wrap
12429 msgid "0x000004D8\tUMSDOS_READDIR_EMD\tstruct umsdos_ioctl *\t// I-O\n"
12430 msgstr ""
12431
12432 #. type: tbl table
12433 #: build/C/man2/ioctl_list.2:748
12434 #, no-wrap
12435 msgid "0x000004D9\tUMSDOS_GETVERSION\tstruct umsdos_ioctl *\n"
12436 msgstr ""
12437
12438 #. type: tbl table
12439 #: build/C/man2/ioctl_list.2:749
12440 #, no-wrap
12441 msgid "0x000004DA\tUMSDOS_INIT_EMD\tvoid\n"
12442 msgstr ""
12443
12444 #. type: tbl table
12445 #: build/C/man2/ioctl_list.2:750
12446 #, no-wrap
12447 msgid "0x000004DB\tUMSDOS_DOS_SETUP\tconst struct umsdos_ioctl *\n"
12448 msgstr ""
12449
12450 #. type: tbl table
12451 #: build/C/man2/ioctl_list.2:751
12452 #, no-wrap
12453 msgid "0x000004DC\tUMSDOS_RENAME_DOS\tconst struct umsdos_ioctl *\n"
12454 msgstr ""
12455
12456 #. type: Plain text
12457 #: build/C/man2/ioctl_list.2:755
12458 msgid "// E<lt>include/linux/vt.hE<gt>"
12459 msgstr ""
12460
12461 #. type: tbl table
12462 #: build/C/man2/ioctl_list.2:757
12463 #, no-wrap
12464 msgid "0x00005600\tVT_OPENQRY\tint *\n"
12465 msgstr ""
12466
12467 #. type: tbl table
12468 #: build/C/man2/ioctl_list.2:758
12469 #, no-wrap
12470 msgid "0x00005601\tVT_GETMODE\tstruct vt_mode *\n"
12471 msgstr ""
12472
12473 #. type: tbl table
12474 #: build/C/man2/ioctl_list.2:759
12475 #, no-wrap
12476 msgid "0x00005602\tVT_SETMODE\tconst struct vt_mode *\n"
12477 msgstr ""
12478
12479 #. type: tbl table
12480 #: build/C/man2/ioctl_list.2:760
12481 #, no-wrap
12482 msgid "0x00005603\tVT_GETSTATE\tstruct vt_stat *\n"
12483 msgstr ""
12484
12485 #. type: tbl table
12486 #: build/C/man2/ioctl_list.2:761
12487 #, no-wrap
12488 msgid "0x00005604\tVT_SENDSIG\tvoid\n"
12489 msgstr ""
12490
12491 #. type: tbl table
12492 #: build/C/man2/ioctl_list.2:762
12493 #, no-wrap
12494 msgid "0x00005605\tVT_RELDISP\tint\n"
12495 msgstr ""
12496
12497 #. type: tbl table
12498 #: build/C/man2/ioctl_list.2:763
12499 #, no-wrap
12500 msgid "0x00005606\tVT_ACTIVATE\tint\n"
12501 msgstr ""
12502
12503 #. type: tbl table
12504 #: build/C/man2/ioctl_list.2:764
12505 #, no-wrap
12506 msgid "0x00005607\tVT_WAITACTIVE\tint\n"
12507 msgstr ""
12508
12509 #. type: tbl table
12510 #: build/C/man2/ioctl_list.2:765
12511 #, no-wrap
12512 msgid "0x00005608\tVT_DISALLOCATE\tint\n"
12513 msgstr ""
12514
12515 #. type: tbl table
12516 #: build/C/man2/ioctl_list.2:766
12517 #, no-wrap
12518 msgid "0x00005609\tVT_RESIZE\tconst struct vt_sizes *\n"
12519 msgstr ""
12520
12521 #. type: tbl table
12522 #: build/C/man2/ioctl_list.2:767
12523 #, no-wrap
12524 msgid "0x0000560A\tVT_RESIZEX\tconst struct vt_consize *\n"
12525 msgstr ""
12526
12527 #. type: Plain text
12528 #: build/C/man2/ioctl_list.2:774
12529 msgid ""
12530 "// More arguments.  Some ioctl's take a pointer to a structure which "
12531 "contains additional pointers.  These are documented here in alphabetical "
12532 "order."
12533 msgstr ""
12534
12535 #. type: Plain text
12536 #: build/C/man2/ioctl_list.2:782
12537 msgid ""
12538 "B<CDROMREADAUDIO> takes an input pointer I<const struct cdrom_read_audio\\ "
12539 "*>.  The I<buf> field points to an output buffer of length I<nframes\\ * "
12540 "CD_FRAMESIZE_RAW>."
12541 msgstr ""
12542
12543 #. type: Plain text
12544 #: build/C/man2/ioctl_list.2:798
12545 msgid ""
12546 "B<CDROMREADCOOKED>, B<CDROMREADMODE1>, B<CDROMREADMODE2>, and "
12547 "B<CDROMREADRAW> take an input pointer I<const struct cdrom_msf\\ *>.  They "
12548 "use the same pointer as an output pointer to I<char []>.  The length varies "
12549 "by request.  For B<CDROMREADMODE1>, most drivers use CD_FRAMESIZE, but the "
12550 "Optics Storage driver uses OPT_BLOCKSIZE instead (both have the numerical "
12551 "value 2048)."
12552 msgstr ""
12553
12554 #. type: Plain text
12555 #: build/C/man2/ioctl_list.2:804
12556 #, no-wrap
12557 msgid ""
12558 "    CDROMREADCOOKED    char [CD_FRAMESIZE]\n"
12559 "    CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]\n"
12560 "    CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]\n"
12561 "    CDROMREADRAW       char [CD_FRAMESIZE_RAW]\n"
12562 msgstr ""
12563
12564 #. type: Plain text
12565 #: build/C/man2/ioctl_list.2:818
12566 msgid ""
12567 "B<EQL_ENSLAVE>, B<EQL_EMANCIPATE>, B<EQL_GETSLAVECFG>, B<EQL_SETSLAVECFG>, "
12568 "B<EQL_GETMASTERCFG>, and B<EQL_SETMASTERCFG> take a I<struct ifreq\\ *>.  "
12569 "The I<ifr_data> field is a pointer to another structure as follows:"
12570 msgstr ""
12571
12572 #. type: Plain text
12573 #: build/C/man2/ioctl_list.2:826
12574 #, no-wrap
12575 msgid ""
12576 "    EQL_ENSLAVE         const struct slaving_request *\n"
12577 "    EQL_EMANCIPATE      const struct slaving_request *\n"
12578 "    EQL_GETSLAVECFG     struct slave_config *           // I-O\n"
12579 "    EQL_SETSLAVECFG     const struct slave_config *\n"
12580 "    EQL_GETMASTERCFG    struct master_config *\n"
12581 "    EQL_SETMASTERCFG    const struct master_config *\n"
12582 msgstr ""
12583
12584 #. type: Plain text
12585 #: build/C/man2/ioctl_list.2:843
12586 msgid ""
12587 "B<FDRAWCMD> takes a I<struct floppy raw_cmd\\ *>.  If I<flags & "
12588 "FD_RAW_WRITE> is nonzero, then I<data> points to an input buffer of length "
12589 "I<length>.  If I<flags & FD_RAW_READ> is nonzero, then I<data> points to an "
12590 "output buffer of length I<length>."
12591 msgstr ""
12592
12593 #. type: Plain text
12594 #: build/C/man2/ioctl_list.2:859
12595 msgid ""
12596 "B<GIO_FONTX> and B<PIO_FONTX> take a I<struct console_font_desc\\ *> or a "
12597 "I<const struct console_font_desc\\ *>, respectively.  I<chardata> points to "
12598 "a buffer of I<char [charcount]>.  This is an output buffer for B<GIO_FONTX> "
12599 "and an input buffer for B<PIO_FONTX>."
12600 msgstr ""
12601
12602 #. type: Plain text
12603 #: build/C/man2/ioctl_list.2:875
12604 msgid ""
12605 "B<GIO_UNIMAP> and B<PIO_UNIMAP> take a I<struct unimapdesc\\ *> or a I<const "
12606 "struct unimapdesc\\ *>, respectively.  I<entries> points to a buffer of "
12607 "I<struct unipair [entry_ct]>.  This is an output buffer for B<GIO_UNIMAP> "
12608 "and an input buffer for B<PIO_UNIMAP>."
12609 msgstr ""
12610
12611 #. type: Plain text
12612 #: build/C/man2/ioctl_list.2:879
12613 msgid ""
12614 "KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to I/O "
12615 "ports.  They are essentially alternate interfaces to 'ioperm'."
12616 msgstr ""
12617
12618 #. type: Plain text
12619 #: build/C/man2/ioctl_list.2:885
12620 msgid ""
12621 "B<KDMAPDISP> and B<KDUNMAPDISP> enable or disable memory mappings or I/O "
12622 "port access.  They are not implemented in the kernel."
12623 msgstr ""
12624
12625 #. type: Plain text
12626 #: build/C/man2/ioctl_list.2:893
12627 msgid ""
12628 "B<SCSI_IOCTL_PROBE_HOST> takes an input pointer I<const int\\ *>, which is a "
12629 "length.  It uses the same pointer as an output pointer to a I<char []> "
12630 "buffer of this length."
12631 msgstr ""
12632
12633 #. type: Plain text
12634 #: build/C/man2/ioctl_list.2:899
12635 msgid ""
12636 "B<SIOCADDRT> and B<SIOCDELRT> take an input pointer whose type depends on "
12637 "the protocol:"
12638 msgstr ""
12639
12640 #. type: Plain text
12641 #: build/C/man2/ioctl_list.2:904
12642 #, no-wrap
12643 msgid ""
12644 "    Most protocols      const struct rtentry *\n"
12645 "    AX.25               const struct ax25_route *\n"
12646 "    NET/ROM             const struct nr_route_struct *\n"
12647 msgstr ""
12648
12649 #. type: Plain text
12650 #: build/C/man2/ioctl_list.2:915
12651 msgid ""
12652 "B<SIOCGIFCONF> takes a I<struct ifconf\\ *>.  The I<ifc_buf> field points to "
12653 "a buffer of length I<ifc_len> bytes, into which the kernel writes a list of "
12654 "type I<struct ifreq []>."
12655 msgstr ""
12656
12657 #. type: Plain text
12658 #: build/C/man2/ioctl_list.2:918
12659 msgid "B<SIOCSIFHWADDR> takes an input pointer whose type depends on the protocol:"
12660 msgstr ""
12661
12662 #. type: Plain text
12663 #: build/C/man2/ioctl_list.2:922
12664 #, no-wrap
12665 msgid ""
12666 "    Most protocols      const struct ifreq *\n"
12667 "    AX.25               const char [AX25_ADDR_LEN]\n"
12668 msgstr ""
12669
12670 #. type: Plain text
12671 #: build/C/man2/ioctl_list.2:937
12672 msgid ""
12673 "B<TIOCLINUX> takes a I<const char\\ *>.  It uses this to distinguish several "
12674 "independent subcases.  In the table below, I<N + foo> means I<foo> after an "
12675 "N-byte pad.  I<struct selection> is implicitly defined in "
12676 "I<drivers/char/selection.c>"
12677 msgstr ""
12678
12679 #. type: Plain text
12680 #: build/C/man2/ioctl_list.2:946
12681 #, no-wrap
12682 msgid ""
12683 "    TIOCLINUX-2         1 + const struct selection *\n"
12684 "    TIOCLINUX-3         void\n"
12685 "    TIOCLINUX-4         void\n"
12686 "    TIOCLINUX-5         4 + const struct { long [8]; } *\n"
12687 "    TIOCLINUX-6         char *\n"
12688 "    TIOCLINUX-7         char *\n"
12689 "    TIOCLINUX-10        1 + const char *\n"
12690 msgstr ""
12691
12692 #. type: Plain text
12693 #: build/C/man2/ioctl_list.2:949
12694 msgid "// Duplicate ioctls"
12695 msgstr ""
12696
12697 #. type: Plain text
12698 #: build/C/man2/ioctl_list.2:954
12699 msgid ""
12700 "This list does not include ioctls in the range B<SIOCDEVPRIVATE> and "
12701 "B<SIOCPROTOPRIVATE>."
12702 msgstr ""
12703
12704 #. type: tbl table
12705 #: build/C/man2/ioctl_list.2:956
12706 #, no-wrap
12707 msgid "0x00000001\tFDSETPRM\tFIBMAP\n"
12708 msgstr ""
12709
12710 #. type: tbl table
12711 #: build/C/man2/ioctl_list.2:957
12712 #, no-wrap
12713 msgid "0x00000002\tFDDEFPRM\tFIGETBSZ\n"
12714 msgstr ""
12715
12716 #. type: tbl table
12717 #: build/C/man2/ioctl_list.2:958
12718 #, no-wrap
12719 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tSCSI_IOCTL_GET_IDLUN\n"
12720 msgstr ""
12721
12722 #. type: tbl table
12723 #: build/C/man2/ioctl_list.2:959
12724 #, no-wrap
12725 msgid "0x00005402\tSNDCTL_TMR_START\tTCSETS\n"
12726 msgstr ""
12727
12728 #. type: tbl table
12729 #: build/C/man2/ioctl_list.2:960
12730 #, no-wrap
12731 msgid "0x00005403\tSNDCTL_TMR_STOP\tTCSETSW\n"
12732 msgstr ""
12733
12734 #. type: tbl table
12735 #: build/C/man2/ioctl_list.2:961
12736 #, no-wrap
12737 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tTCSETSF\n"
12738 msgstr ""
12739
12740 #. type: Plain text
12741 #: build/C/man2/ioctl_list.2:965
12742 msgid "B<ioctl>(2)"
12743 msgstr ""
12744
12745 #. type: TH
12746 #: build/C/man2/ioperm.2:34
12747 #, no-wrap
12748 msgid "IOPERM"
12749 msgstr ""
12750
12751 #. type: TH
12752 #: build/C/man2/ioperm.2:34
12753 #, no-wrap
12754 msgid "2013-03-12"
12755 msgstr ""
12756
12757 #. type: Plain text
12758 #: build/C/man2/ioperm.2:37
12759 msgid "ioperm - set port input/output permissions"
12760 msgstr ""
12761
12762 #. type: Plain text
12763 #: build/C/man2/ioperm.2:40
12764 msgid "B<#include E<lt>unistd.hE<gt>> /* for libc5 */"
12765 msgstr ""
12766
12767 #. type: Plain text
12768 #: build/C/man2/ioperm.2:43
12769 msgid "B<#include E<lt>sys/io.hE<gt>> /* for glibc */"
12770 msgstr ""
12771
12772 #. type: Plain text
12773 #: build/C/man2/ioperm.2:45
12774 msgid ""
12775 "B<int ioperm(unsigned long >I<from>B<, unsigned long >I<num>B<, int "
12776 ">I<turn_on>B<);>"
12777 msgstr ""
12778
12779 #. type: Plain text
12780 #: build/C/man2/ioperm.2:59
12781 msgid ""
12782 "B<ioperm>()  sets the port access permission bits for the calling thread for "
12783 "I<num> bits starting from port address I<from>.  If I<turn_on> is nonzero, "
12784 "then permission for the specified bits is enabled; otherwise it is "
12785 "disabled.  If I<turn_on> is nonzero, the calling thread must be privileged "
12786 "(B<CAP_SYS_RAWIO>)."
12787 msgstr ""
12788
12789 #. type: Plain text
12790 #: build/C/man2/ioperm.2:68
12791 msgid ""
12792 "Before Linux 2.6.8, only the first 0x3ff I/O ports could be specified in "
12793 "this manner.  For more ports, the B<iopl>(2)  system call had to be used "
12794 "(with a I<level> argument of 3).  Since Linux 2.6.8, 65,536 I/O ports can be "
12795 "specified."
12796 msgstr ""
12797
12798 #. type: Plain text
12799 #: build/C/man2/ioperm.2:78
12800 msgid ""
12801 "Permissions are not inherited by the child created by B<fork>(2); following "
12802 "a B<fork>(2)  the child must turn on those permissions that it needs.  "
12803 "Permissions are preserved across B<execve>(2); this is useful for giving "
12804 "port access permissions to unprivileged programs."
12805 msgstr ""
12806
12807 #. type: Plain text
12808 #: build/C/man2/ioperm.2:82
12809 msgid ""
12810 "This call is mostly for the i386 architecture.  On many other architectures "
12811 "it does not exist or will always return an error."
12812 msgstr ""
12813
12814 #. type: Plain text
12815 #: build/C/man2/ioperm.2:94
12816 msgid "Invalid values for I<from> or I<num>."
12817 msgstr ""
12818
12819 #. type: Plain text
12820 #: build/C/man2/ioperm.2:97
12821 msgid "(on PowerPC) This call is not supported."
12822 msgstr ""
12823
12824 #.  Could not allocate I/O bitmap.
12825 #. type: Plain text
12826 #: build/C/man2/ioperm.2:101
12827 msgid "Out of memory."
12828 msgstr ""
12829
12830 #. type: Plain text
12831 #: build/C/man2/ioperm.2:104
12832 msgid "The calling thread has insufficient privilege."
12833 msgstr ""
12834
12835 #. type: Plain text
12836 #: build/C/man2/ioperm.2:108
12837 msgid ""
12838 "B<ioperm>()  is Linux-specific and should not be used in programs intended "
12839 "to be portable."
12840 msgstr ""
12841
12842 #. type: Plain text
12843 #: build/C/man2/ioperm.2:112
12844 msgid ""
12845 "The I</proc/ioports> file shows the I/O ports that are currently allocated "
12846 "on the system."
12847 msgstr ""
12848
12849 #. type: Plain text
12850 #: build/C/man2/ioperm.2:121
12851 msgid ""
12852 "Libc5 treats it as a system call and has a prototype in "
12853 "I<E<lt>unistd.hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a "
12854 "prototype both in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  "
12855 "Avoid the latter, it is available on i386 only."
12856 msgstr ""
12857
12858 #. type: Plain text
12859 #: build/C/man2/ioperm.2:125
12860 msgid "B<iopl>(2), B<outb>(2), B<capabilities>(7)"
12861 msgstr ""
12862
12863 #. type: TH
12864 #: build/C/man3/lockf.3:28
12865 #, no-wrap
12866 msgid "LOCKF"
12867 msgstr ""
12868
12869 #. type: Plain text
12870 #: build/C/man3/lockf.3:31
12871 msgid "lockf - apply, test or remove a POSIX lock on an open file"
12872 msgstr ""
12873
12874 #. type: Plain text
12875 #: build/C/man3/lockf.3:35
12876 msgid "B<int lockf(int >I<fd>B<, int >I<cmd>B<, off_t >I<len>B<);>"
12877 msgstr ""
12878
12879 #. type: Plain text
12880 #: build/C/man3/lockf.3:42
12881 msgid "B<lockf>():"
12882 msgstr ""
12883
12884 #. type: Plain text
12885 #: build/C/man3/lockf.3:46
12886 msgid ""
12887 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
12888 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
12889 msgstr ""
12890
12891 #. type: Plain text
12892 #: build/C/man3/lockf.3:69
12893 msgid ""
12894 "Apply, test or remove a POSIX lock on a section of an open file.  The file "
12895 "is specified by I<fd>, a file descriptor open for writing, the action by "
12896 "I<cmd>, and the section consists of byte positions I<pos>..I<pos>+I<len>-1 "
12897 "if I<len> is positive, and I<pos>-I<len>..I<pos>-1 if I<len> is negative, "
12898 "where I<pos> is the current file position, and if I<len> is zero, the "
12899 "section extends from the current file position to infinity, encompassing the "
12900 "present and future end-of-file positions.  In all cases, the section may "
12901 "extend past current end-of-file."
12902 msgstr ""
12903
12904 #. type: Plain text
12905 #: build/C/man3/lockf.3:84
12906 msgid ""
12907 "On Linux, B<lockf>()  is just an interface on top of B<fcntl>(2)  locking.  "
12908 "Many other systems implement B<lockf>()  in this way, but note that "
12909 "POSIX.1-2001 leaves the relationship between B<lockf>()  and B<fcntl>(2)  "
12910 "locks unspecified.  A portable application should probably avoid mixing "
12911 "calls to these interfaces."
12912 msgstr ""
12913
12914 #. type: Plain text
12915 #: build/C/man3/lockf.3:86
12916 msgid "Valid operations are given below:"
12917 msgstr ""
12918
12919 #. type: TP
12920 #: build/C/man3/lockf.3:86
12921 #, no-wrap
12922 msgid "B<F_LOCK>"
12923 msgstr ""
12924
12925 #. type: Plain text
12926 #: build/C/man3/lockf.3:96
12927 msgid ""
12928 "Set an exclusive lock on the specified section of the file.  If (part of) "
12929 "this section is already locked, the call blocks until the previous lock is "
12930 "released.  If this section overlaps an earlier locked section, both are "
12931 "merged.  File locks are released as soon as the process holding the locks "
12932 "closes some file descriptor for the file.  A child process does not inherit "
12933 "these locks."
12934 msgstr ""
12935
12936 #. type: TP
12937 #: build/C/man3/lockf.3:96
12938 #, no-wrap
12939 msgid "B<F_TLOCK>"
12940 msgstr ""
12941
12942 #. type: Plain text
12943 #: build/C/man3/lockf.3:102
12944 msgid ""
12945 "Same as B<F_LOCK> but the call never blocks and returns an error instead if "
12946 "the file is already locked."
12947 msgstr ""
12948
12949 #. type: TP
12950 #: build/C/man3/lockf.3:102
12951 #, no-wrap
12952 msgid "B<F_ULOCK>"
12953 msgstr ""
12954
12955 #. type: Plain text
12956 #: build/C/man3/lockf.3:106
12957 msgid ""
12958 "Unlock the indicated section of the file.  This may cause a locked section "
12959 "to be split into two locked sections."
12960 msgstr ""
12961
12962 #. type: TP
12963 #: build/C/man3/lockf.3:106
12964 #, no-wrap
12965 msgid "B<F_TEST>"
12966 msgstr ""
12967
12968 #. type: Plain text
12969 #: build/C/man3/lockf.3:116
12970 msgid ""
12971 "Test the lock: return 0 if the specified section is unlocked or locked by "
12972 "this process; return -1, set I<errno> to B<EAGAIN> (B<EACCES> on some other "
12973 "systems), if another process holds a lock."
12974 msgstr ""
12975
12976 #. type: Plain text
12977 #: build/C/man3/lockf.3:130
12978 msgid ""
12979 "The file is locked and B<F_TLOCK> or B<F_TEST> was specified, or the "
12980 "operation is prohibited because the file has been memory-mapped by another "
12981 "process."
12982 msgstr ""
12983
12984 #. type: Plain text
12985 #: build/C/man3/lockf.3:142
12986 msgid ""
12987 "I<fd> is not an open file descriptor; or I<cmd> is B<F_LOCK> or B<F_TLOCK> "
12988 "and I<fd> is not a writable file descriptor."
12989 msgstr ""
12990
12991 #. type: Plain text
12992 #: build/C/man3/lockf.3:147
12993 msgid "The command was B<F_LOCK> and this lock operation would cause a deadlock."
12994 msgstr ""
12995
12996 #. type: Plain text
12997 #: build/C/man3/lockf.3:151
12998 msgid "An invalid operation was specified in I<cmd>."
12999 msgstr ""
13000
13001 #. type: Plain text
13002 #: build/C/man3/lockf.3:154
13003 msgid "Too many segment locks open, lock table is full."
13004 msgstr ""
13005
13006 #. type: Plain text
13007 #: build/C/man3/lockf.3:156
13008 msgid "SVr4, POSIX.1-2001."
13009 msgstr ""
13010
13011 #. type: Plain text
13012 #: build/C/man3/lockf.3:159
13013 msgid "B<fcntl>(2), B<flock>(2)"
13014 msgstr ""
13015
13016 #. type: Plain text
13017 #: build/C/man3/lockf.3:171
13018 msgid ""
13019 "I<locks.txt> and I<mandatory-locking.txt> in the Linux kernel source "
13020 "directory I<Documentation/filesystems> (on older kernels, these files are "
13021 "directly under the I<Documentation> directory, and I<mandatory-locking.txt> "
13022 "is called I<mandatory.txt>)"
13023 msgstr ""
13024
13025 #. type: TH
13026 #: build/C/man2/mincore.2:34
13027 #, no-wrap
13028 msgid "MINCORE"
13029 msgstr ""
13030
13031 #. type: TH
13032 #: build/C/man2/mincore.2:34
13033 #, no-wrap
13034 msgid "2008-04-22"
13035 msgstr ""
13036
13037 #. type: Plain text
13038 #: build/C/man2/mincore.2:37
13039 msgid "mincore - determine whether pages are resident in memory"
13040 msgstr ""
13041
13042 #. type: Plain text
13043 #: build/C/man2/mincore.2:41
13044 msgid "B<#include E<lt>sys/mman.hE<gt>>"
13045 msgstr ""
13046
13047 #. type: Plain text
13048 #: build/C/man2/mincore.2:43
13049 msgid ""
13050 "B<int mincore(void *>I<addr>B<, size_t >I<length>B<, unsigned char "
13051 "*>I<vec>B<);>"
13052 msgstr ""
13053
13054 #. type: Plain text
13055 #: build/C/man2/mincore.2:51
13056 msgid "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
13057 msgstr ""
13058
13059 #. type: Plain text
13060 #: build/C/man2/mincore.2:62
13061 msgid ""
13062 "B<mincore>()  returns a vector that indicates whether pages of the calling "
13063 "process's virtual memory are resident in core (RAM), and so will not cause a "
13064 "disk access (page fault) if referenced.  The kernel returns residency "
13065 "information about the pages starting at the address I<addr>, and continuing "
13066 "for I<length> bytes."
13067 msgstr ""
13068
13069 #. type: Plain text
13070 #: build/C/man2/mincore.2:76
13071 msgid ""
13072 "The I<addr> argument must be a multiple of the system page size.  The "
13073 "I<length> argument need not be a multiple of the page size, but since "
13074 "residency information is returned for whole pages, I<length> is effectively "
13075 "rounded up to the next multiple of the page size.  One may obtain the page "
13076 "size (B<PAGE_SIZE>)  using I<sysconf(_SC_PAGESIZE)>."
13077 msgstr ""
13078
13079 #. type: Plain text
13080 #: build/C/man2/mincore.2:94
13081 msgid ""
13082 "The I<vec> argument must point to an array containing at least "
13083 "I<(length+PAGE_SIZE-1) / PAGE_SIZE> bytes.  On return, the least significant "
13084 "bit of each byte will be set if the corresponding page is currently resident "
13085 "in memory, and be clear otherwise.  (The settings of the other bits in each "
13086 "byte are undefined; these bits are reserved for possible later use.)  Of "
13087 "course the information returned in I<vec> is only a snapshot: pages that are "
13088 "not locked in memory can come and go at any moment, and the contents of "
13089 "I<vec> may already be stale by the time this call returns."
13090 msgstr ""
13091
13092 #. type: Plain text
13093 #: build/C/man2/mincore.2:101
13094 msgid ""
13095 "On success, B<mincore>()  returns zero.  On error, -1 is returned, and "
13096 "I<errno> is set appropriately."
13097 msgstr ""
13098
13099 #. type: Plain text
13100 #: build/C/man2/mincore.2:104
13101 msgid "B<EAGAIN> kernel is temporarily out of resources."
13102 msgstr ""
13103
13104 #. type: Plain text
13105 #: build/C/man2/mincore.2:108
13106 msgid "I<vec> points to an invalid address."
13107 msgstr ""
13108
13109 #. type: Plain text
13110 #: build/C/man2/mincore.2:112
13111 msgid "I<addr> is not a multiple of the page size."
13112 msgstr ""
13113
13114 #. type: Plain text
13115 #: build/C/man2/mincore.2:124
13116 msgid ""
13117 "I<length> is greater than (I<TASK_SIZE> - I<addr>).  (This could occur if a "
13118 "negative value is specified for I<length>, since that value will be "
13119 "interpreted as a large unsigned integer.)  In Linux 2.6.11 and earlier, the "
13120 "error B<EINVAL> was returned for this condition."
13121 msgstr ""
13122
13123 #. type: Plain text
13124 #: build/C/man2/mincore.2:132
13125 msgid "I<addr> to I<addr> + I<length> contained unmapped memory."
13126 msgstr ""
13127
13128 #. type: Plain text
13129 #: build/C/man2/mincore.2:134
13130 msgid "Available since Linux 2.3.99pre1 and glibc 2.2."
13131 msgstr ""
13132
13133 #.  It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8,
13134 #.  AIX 5.1, SunOS 4.1
13135 #.  .SH HISTORY
13136 #.  The
13137 #.  .BR mincore ()
13138 #.  function first appeared in 4.4BSD.
13139 #. type: Plain text
13140 #: build/C/man2/mincore.2:144
13141 msgid ""
13142 "B<mincore>()  is not specified in POSIX.1-2001, and it is not available on "
13143 "all UNIX implementations."
13144 msgstr ""
13145
13146 #.  Linux (up to now, 2.6.5),
13147 #.  .B mincore
13148 #.  does not return correct information for MAP_PRIVATE mappings:
13149 #.  for a MAP_PRIVATE file mapping,
13150 #.  .B mincore
13151 #.  returns the residency of the file pages, rather than any
13152 #.  modified process-private pages that have been copied on write;
13153 #.  for a MAP_PRIVATE mapping of
13154 #.  .IR /dev/zero ,
13155 #.  .B mincore
13156 #.  always reports pages as nonresident;
13157 #.  and for a MAP_PRIVATE, MAP_ANONYMOUS mapping,
13158 #.  .B mincore
13159 #.  always fails with the error
13160 #.  .BR ENOMEM .
13161 #. type: Plain text
13162 #: build/C/man2/mincore.2:166
13163 msgid ""
13164 "Before kernel 2.6.21, B<mincore>()  did not return correct information for "
13165 "B<MAP_PRIVATE> mappings, or for nonlinear mappings (established using "
13166 "B<remap_file_pages>(2))."
13167 msgstr ""
13168
13169 #. type: Plain text
13170 #: build/C/man2/mincore.2:169
13171 msgid "B<mlock>(2), B<mmap>(2)"
13172 msgstr ""
13173
13174 #. type: TH
13175 #: build/C/man2/mkdir.2:11
13176 #, no-wrap
13177 msgid "MKDIR"
13178 msgstr ""
13179
13180 #. type: Plain text
13181 #: build/C/man2/mkdir.2:14
13182 msgid "mkdir, mkdirat - create a directory"
13183 msgstr ""
13184
13185 #.  .B #include <unistd.h>
13186 #. type: Plain text
13187 #: build/C/man2/mkdir.2:19
13188 #, no-wrap
13189 msgid ""
13190 "B<#include E<lt>sys/stat.hE<gt>>\n"
13191 "B<#include E<lt>sys/types.hE<gt>>\n"
13192 msgstr ""
13193
13194 #. type: Plain text
13195 #: build/C/man2/mkdir.2:21
13196 #, no-wrap
13197 msgid "B<int mkdir(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
13198 msgstr ""
13199
13200 #. type: Plain text
13201 #: build/C/man2/mkdir.2:24
13202 #, no-wrap
13203 msgid ""
13204 "B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
13205 "B<#include E<lt>sys/stat.hE<gt>>\n"
13206 msgstr ""
13207
13208 #. type: Plain text
13209 #: build/C/man2/mkdir.2:26
13210 #, no-wrap
13211 msgid ""
13212 "B<int mkdirat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t "
13213 ">I<mode>B<);>\n"
13214 msgstr ""
13215
13216 #. type: Plain text
13217 #: build/C/man2/mkdir.2:34
13218 msgid "B<mkdirat>():"
13219 msgstr ""
13220
13221 #. type: Plain text
13222 #: build/C/man2/mkdir.2:51
13223 msgid "B<mkdir>()  attempts to create a directory named I<pathname>."
13224 msgstr ""
13225
13226 #. type: Plain text
13227 #: build/C/man2/mkdir.2:61
13228 msgid ""
13229 "The argument I<mode> specifies the permissions to use.  It is modified by "
13230 "the process's I<umask> in the usual way: the permissions of the created "
13231 "directory are (I<mode> & ~I<umask> & 0777).  Other mode bits of the created "
13232 "directory depend on the operating system.  For Linux, see below."
13233 msgstr ""
13234
13235 #. type: Plain text
13236 #: build/C/man2/mkdir.2:71
13237 msgid ""
13238 "The newly created directory will be owned by the effective user ID of the "
13239 "process.  If the directory containing the file has the set-group-ID bit set, "
13240 "or if the filesystem is mounted with BSD group semantics (I<mount -o "
13241 "bsdgroups> or, synonymously I<mount -o grpid>), the new directory will "
13242 "inherit the group ownership from its parent; otherwise it will be owned by "
13243 "the effective group ID of the process."
13244 msgstr ""
13245
13246 #. type: Plain text
13247 #: build/C/man2/mkdir.2:76
13248 msgid ""
13249 "If the parent directory has the set-group-ID bit set, then so will the newly "
13250 "created directory."
13251 msgstr ""
13252
13253 #. type: SS
13254 #: build/C/man2/mkdir.2:76
13255 #, no-wrap
13256 msgid "mkdirat()"
13257 msgstr ""
13258
13259 #. type: Plain text
13260 #: build/C/man2/mkdir.2:82
13261 msgid ""
13262 "The B<mkdirat>()  system call operates in exactly the same way as "
13263 "B<mkdir>(), except for the differences described here."
13264 msgstr ""
13265
13266 #. type: Plain text
13267 #: build/C/man2/mkdir.2:92
13268 msgid ""
13269 "If the pathname given in I<pathname> is relative, then it is interpreted "
13270 "relative to the directory referred to by the file descriptor I<dirfd> "
13271 "(rather than relative to the current working directory of the calling "
13272 "process, as is done by B<mkdir>()  for a relative pathname)."
13273 msgstr ""
13274
13275 #. type: Plain text
13276 #: build/C/man2/mkdir.2:104
13277 msgid ""
13278 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
13279 "then I<pathname> is interpreted relative to the current working directory of "
13280 "the calling process (like B<mkdir>())."
13281 msgstr ""
13282
13283 #. type: Plain text
13284 #: build/C/man2/mkdir.2:115
13285 msgid "See B<openat>(2)  for an explanation of the need for B<mkdirat>()."
13286 msgstr ""
13287
13288 #. type: Plain text
13289 #: build/C/man2/mkdir.2:122
13290 msgid ""
13291 "B<mkdir>()  and B<mkdirat>()  return zero on success, or -1 if an error "
13292 "occurred (in which case, I<errno> is set appropriately)."
13293 msgstr ""
13294
13295 #. type: Plain text
13296 #: build/C/man2/mkdir.2:131
13297 msgid ""
13298 "The parent directory does not allow write permission to the process, or one "
13299 "of the directories in I<pathname> did not allow search permission.  (See "
13300 "also B<path_resolution>(7).)"
13301 msgstr ""
13302
13303 #. type: TP
13304 #: build/C/man2/mkdir.2:131
13305 #, no-wrap
13306 msgid "B<EDQUOT>"
13307 msgstr ""
13308
13309 #. type: Plain text
13310 #: build/C/man2/mkdir.2:135
13311 msgid ""
13312 "The user's quota of disk blocks or inodes on the filesystem has been "
13313 "exhausted."
13314 msgstr ""
13315
13316 #. type: TP
13317 #: build/C/man2/mkdir.2:135
13318 #, no-wrap
13319 msgid "B<EEXIST>"
13320 msgstr ""
13321
13322 #. type: Plain text
13323 #: build/C/man2/mkdir.2:142
13324 msgid ""
13325 "I<pathname> already exists (not necessarily as a directory).  This includes "
13326 "the case where I<pathname> is a symbolic link, dangling or not."
13327 msgstr ""
13328
13329 #. type: TP
13330 #: build/C/man2/mkdir.2:149
13331 #, no-wrap
13332 msgid "B<EMLINK>"
13333 msgstr ""
13334
13335 #. type: Plain text
13336 #: build/C/man2/mkdir.2:153
13337 msgid "The number of links to the parent directory would exceed B<LINK_MAX>."
13338 msgstr ""
13339
13340 #. type: Plain text
13341 #: build/C/man2/mkdir.2:156
13342 msgid "I<pathname> was too long."
13343 msgstr ""
13344
13345 #. type: Plain text
13346 #: build/C/man2/mkdir.2:161
13347 msgid ""
13348 "A directory component in I<pathname> does not exist or is a dangling "
13349 "symbolic link."
13350 msgstr ""
13351
13352 #. type: TP
13353 #: build/C/man2/mkdir.2:164 build/C/man2/mkdir.2:169
13354 #, no-wrap
13355 msgid "B<ENOSPC>"
13356 msgstr ""
13357
13358 #. type: Plain text
13359 #: build/C/man2/mkdir.2:169
13360 msgid "The device containing I<pathname> has no room for the new directory."
13361 msgstr ""
13362
13363 #. type: Plain text
13364 #: build/C/man2/mkdir.2:173
13365 msgid ""
13366 "The new directory cannot be created because the user's disk quota is "
13367 "exhausted."
13368 msgstr ""
13369
13370 #. type: Plain text
13371 #: build/C/man2/mkdir.2:183
13372 msgid ""
13373 "The filesystem containing I<pathname> does not support the creation of "
13374 "directories."
13375 msgstr ""
13376
13377 #. type: Plain text
13378 #: build/C/man2/mkdir.2:187
13379 msgid "I<pathname> refers to a file on a read-only filesystem."
13380 msgstr ""
13381
13382 #. type: Plain text
13383 #: build/C/man2/mkdir.2:190
13384 msgid "The following additional errors can occur for B<mkdirat>():"
13385 msgstr ""
13386
13387 #. type: Plain text
13388 #: build/C/man2/mkdir.2:204
13389 msgid ""
13390 "B<mkdirat>()  was added to Linux in kernel 2.6.16; library support was added "
13391 "to glibc in version 2.4."
13392 msgstr ""
13393
13394 #.  SVr4 documents additional EIO, EMULTIHOP
13395 #. type: Plain text
13396 #: build/C/man2/mkdir.2:208
13397 msgid "B<mkdir>(): SVr4, BSD, POSIX.1-2001, POSIX.1-2008."
13398 msgstr ""
13399
13400 #. type: Plain text
13401 #: build/C/man2/mkdir.2:211
13402 msgid "B<mkdirat>(): POSIX.1-2008."
13403 msgstr ""
13404
13405 #. type: Plain text
13406 #: build/C/man2/mkdir.2:219
13407 msgid ""
13408 "Under Linux apart from the permission bits, only the B<S_ISVTX> mode bit is "
13409 "honored.  That is, under Linux the created directory actually gets mode "
13410 "(I<mode> & ~I<umask> & 01777).  See also B<stat>(2)."
13411 msgstr ""
13412
13413 #. type: Plain text
13414 #: build/C/man2/mkdir.2:223
13415 msgid ""
13416 "There are many infelicities in the protocol underlying NFS.  Some of these "
13417 "affect B<mkdir>()."
13418 msgstr ""
13419
13420 #. type: Plain text
13421 #: build/C/man2/mkdir.2:234
13422 msgid ""
13423 "B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mknod>(2), B<mount>(2), "
13424 "B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<path_resolution>(7)"
13425 msgstr ""
13426
13427 #. type: TH
13428 #: build/C/man2/nice.2:31
13429 #, no-wrap
13430 msgid "NICE"
13431 msgstr ""
13432
13433 #. type: TH
13434 #: build/C/man2/nice.2:31
13435 #, no-wrap
13436 msgid "2014-04-28"
13437 msgstr ""
13438
13439 #. type: Plain text
13440 #: build/C/man2/nice.2:34
13441 msgid "nice - change process priority"
13442 msgstr ""
13443
13444 #. type: Plain text
13445 #: build/C/man2/nice.2:38
13446 msgid "B<int nice(int >I<inc>B<);>"
13447 msgstr ""
13448
13449 #. type: Plain text
13450 #: build/C/man2/nice.2:46
13451 msgid "B<nice>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
13452 msgstr ""
13453
13454 #. type: Plain text
13455 #: build/C/man2/nice.2:56
13456 msgid ""
13457 "B<nice>()  adds I<inc> to the nice value for the calling process.  (A higher "
13458 "nice value means a low priority.)  Only the super\\%user may specify a "
13459 "negative increment, or priority increase.  The range for nice values is "
13460 "described in B<getpriority>(2)."
13461 msgstr ""
13462
13463 #. type: Plain text
13464 #: build/C/man2/nice.2:61
13465 msgid ""
13466 "On success, the new nice value is returned (but see NOTES below).  On error, "
13467 "-1 is returned, and I<errno> is set appropriately."
13468 msgstr ""
13469
13470 #. type: Plain text
13471 #: build/C/man2/nice.2:75
13472 msgid ""
13473 "The calling process attempted to increase its priority by supplying a "
13474 "negative I<inc> but has insufficient privileges.  Under Linux the "
13475 "B<CAP_SYS_NICE> capability is required.  (But see the discussion of the "
13476 "B<RLIMIT_NICE> resource limit in B<setrlimit>(2).)"
13477 msgstr ""
13478
13479 #. type: Plain text
13480 #: build/C/man2/nice.2:82
13481 msgid ""
13482 "SVr4, 4.3BSD, POSIX.1-2001.  However, the Linux and (g)libc (earlier than "
13483 "glibc 2.2.4) return value is nonstandard, see below.  SVr4 documents an "
13484 "additional B<EINVAL> error code."
13485 msgstr ""
13486
13487 #. type: Plain text
13488 #: build/C/man2/nice.2:92
13489 msgid ""
13490 "SUSv2 and POSIX.1-2001 specify that B<nice>()  should return the new nice "
13491 "value.  However, the Linux syscall and the B<nice>()  library function "
13492 "provided in older versions of (g)libc (earlier than glibc 2.2.4) return 0 on "
13493 "success.  The new nice value can be found using B<getpriority>(2)."
13494 msgstr ""
13495
13496 #. type: Plain text
13497 #: build/C/man2/nice.2:105
13498 msgid ""
13499 "Since glibc 2.2.4, B<nice>()  is implemented as a library function that "
13500 "calls B<getpriority>(2)  to obtain the new nice value to be returned to the "
13501 "caller.  With this implementation, a successful call can legitimately return "
13502 "-1.  To reliably detect an error, set I<errno> to 0 before the call, and "
13503 "check its value when B<nice>()  returns -1."
13504 msgstr ""
13505
13506 #. type: Plain text
13507 #: build/C/man2/nice.2:113
13508 msgid ""
13509 "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), "
13510 "B<capabilities>(7), B<sched>(7)"
13511 msgstr ""
13512
13513 #. type: TH
13514 #: build/C/man2/pread.2:25
13515 #, no-wrap
13516 msgid "PREAD"
13517 msgstr ""
13518
13519 #. type: Plain text
13520 #: build/C/man2/pread.2:28
13521 msgid "pread, pwrite - read from or write to a file descriptor at a given offset"
13522 msgstr ""
13523
13524 #. type: Plain text
13525 #: build/C/man2/pread.2:33
13526 msgid ""
13527 "B<ssize_t pread(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<, off_t "
13528 ">I<offset>B<);>"
13529 msgstr ""
13530
13531 #. type: Plain text
13532 #: build/C/man2/pread.2:36
13533 msgid ""
13534 "B<ssize_t pwrite(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<, "
13535 "off_t >I<offset>B<);>"
13536 msgstr ""
13537
13538 #. type: Plain text
13539 #: build/C/man2/pread.2:46
13540 msgid "B<pread>(), B<pwrite>():"
13541 msgstr ""
13542
13543 #. type: Plain text
13544 #: build/C/man2/pread.2:48
13545 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500"
13546 msgstr ""
13547
13548 #. type: Plain text
13549 #: build/C/man2/pread.2:64
13550 msgid ""
13551 "B<pread>()  reads up to I<count> bytes from file descriptor I<fd> at offset "
13552 "I<offset> (from the start of the file) into the buffer starting at I<buf>.  "
13553 "The file offset is not changed."
13554 msgstr ""
13555
13556 #. type: Plain text
13557 #: build/C/man2/pread.2:75
13558 msgid ""
13559 "B<pwrite>()  writes up to I<count> bytes from the buffer starting at I<buf> "
13560 "to the file descriptor I<fd> at offset I<offset>.  The file offset is not "
13561 "changed."
13562 msgstr ""
13563
13564 #. type: Plain text
13565 #: build/C/man2/pread.2:79
13566 msgid "The file referenced by I<fd> must be capable of seeking."
13567 msgstr ""
13568
13569 #. type: Plain text
13570 #: build/C/man2/pread.2:89
13571 msgid ""
13572 "On success, the number of bytes read or written is returned (zero indicates "
13573 "that nothing was written, in the case of B<pwrite>(), or end of file, in the "
13574 "case of B<pread>()), or -1 on error, in which case I<errno> is set to "
13575 "indicate the error."
13576 msgstr ""
13577
13578 #. type: Plain text
13579 #: build/C/man2/pread.2:104
13580 msgid ""
13581 "B<pread>()  can fail and set I<errno> to any error specified for B<read>(2)  "
13582 "or B<lseek>(2).  B<pwrite>()  can fail and set I<errno> to any error "
13583 "specified for B<write>(2)  or B<lseek>(2)."
13584 msgstr ""
13585
13586 #. type: Plain text
13587 #: build/C/man2/pread.2:115
13588 msgid ""
13589 "The B<pread>()  and B<pwrite>()  system calls were added to Linux in version "
13590 "2.1.60; the entries in the i386 system call table were added in 2.1.69.  C "
13591 "library support (including emulation using B<lseek>(2)  on older kernels "
13592 "without the system calls) was added in glibc 2.1."
13593 msgstr ""
13594
13595 #. type: Plain text
13596 #: build/C/man2/pread.2:125
13597 msgid ""
13598 "The B<pread>()  and B<pwrite>()  system calls are especially useful in "
13599 "multithreaded applications.  They allow multiple threads to perform I/O on "
13600 "the same file descriptor without being affected by changes to the file "
13601 "offset by other threads."
13602 msgstr ""
13603
13604 #. type: Plain text
13605 #: build/C/man2/pread.2:141
13606 msgid ""
13607 "On Linux, the underlying system calls were renamed in kernel 2.6: B<pread>()  "
13608 "became B<pread64>(), and B<pwrite>()  became B<pwrite64>().  The system call "
13609 "numbers remained the same.  The glibc B<pread>()  and B<pwrite>()  wrapper "
13610 "functions transparently deal with the change."
13611 msgstr ""
13612
13613 #. type: Plain text
13614 #: build/C/man2/pread.2:146 build/C/man2/truncate.2:248
13615 msgid ""
13616 "On some 32-bit architectures, the calling signature for these system calls "
13617 "differ, for the reasons described in B<syscall>(2)."
13618 msgstr ""
13619
13620 #.  FIXME https://bugzilla.kernel.org/show_bug.cgi?id=43178
13621 #. type: Plain text
13622 #: build/C/man2/pread.2:158
13623 msgid ""
13624 "POSIX requires that opening a file with the B<O_APPEND> flag should have no "
13625 "affect on the location at which B<pwrite>()  writes data.  However, on "
13626 "Linux, if a file is opened with B<O_APPEND>, B<pwrite>()  appends data to "
13627 "the end of the file, regardless of the value of I<offset>."
13628 msgstr ""
13629
13630 #. type: Plain text
13631 #: build/C/man2/pread.2:163
13632 msgid "B<lseek>(2), B<read>(2), B<readv>(2), B<write>(2)"
13633 msgstr ""
13634
13635 #. type: TH
13636 #: build/C/man2/set_thread_area.2:8
13637 #, no-wrap
13638 msgid "SET_THREAD_AREA"
13639 msgstr ""
13640
13641 #. type: Plain text
13642 #: build/C/man2/set_thread_area.2:11
13643 msgid "set_thread_area - set a thread local storage (TLS) area"
13644 msgstr ""
13645
13646 #. type: Plain text
13647 #: build/C/man2/set_thread_area.2:17
13648 msgid "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
13649 msgstr ""
13650
13651 #. type: Plain text
13652 #: build/C/man2/set_thread_area.2:33
13653 msgid ""
13654 "B<set_thread_area>()  sets an entry in the current thread's thread-local "
13655 "storage (TLS) array.  The TLS array entry set by B<set_thread_area>()  "
13656 "corresponds to the value of I<u_info-E<gt>entry_number> passed in by the "
13657 "user.  If this value is in bounds, B<set_thread_area>()  copies the TLS "
13658 "descriptor pointed to by I<u_info> into the thread's TLS array."
13659 msgstr ""
13660
13661 #. type: Plain text
13662 #: build/C/man2/set_thread_area.2:44
13663 msgid ""
13664 "When B<set_thread_area>()  is passed an I<entry_number> of -1, it uses a "
13665 "free TLS entry.  If B<set_thread_area>()  finds a free TLS entry, the value "
13666 "of I<u_info-E<gt>entry_number> is set upon return to show which entry was "
13667 "changed."
13668 msgstr ""
13669
13670 #. type: Plain text
13671 #: build/C/man2/set_thread_area.2:49
13672 msgid ""
13673 "B<set_thread_area>()  returns 0 on success, and -1 on failure, with I<errno> "
13674 "set appropriately."
13675 msgstr ""
13676
13677 #. type: TP
13678 #: build/C/man2/set_thread_area.2:56
13679 #, no-wrap
13680 msgid "B<ESRCH>"
13681 msgstr ""
13682
13683 #. type: Plain text
13684 #: build/C/man2/set_thread_area.2:59
13685 msgid "A free TLS entry could not be located."
13686 msgstr ""
13687
13688 #. type: Plain text
13689 #: build/C/man2/set_thread_area.2:63
13690 msgid "A version of B<set_thread_area>()  first appeared in Linux 2.5.29."
13691 msgstr ""
13692
13693 #. type: Plain text
13694 #: build/C/man2/set_thread_area.2:67
13695 msgid ""
13696 "B<set_thread_area>()  is Linux-specific and should not be used in programs "
13697 "that are intended to be portable."
13698 msgstr ""
13699
13700 #. type: Plain text
13701 #: build/C/man2/set_thread_area.2:72
13702 msgid ""
13703 "Glibc does not provide a wrapper for this system call, since it is generally "
13704 "intended only for use by threading libraries.  In the unlikely event that "
13705 "you want to call it directly, use B<syscall>(2)."
13706 msgstr ""
13707
13708 #. type: Plain text
13709 #: build/C/man2/set_thread_area.2:74
13710 msgid "B<get_thread_area>(2)"
13711 msgstr ""
13712
13713 #. type: TH
13714 #: build/C/man2/setup.2:34
13715 #, no-wrap
13716 msgid "SETUP"
13717 msgstr ""
13718
13719 #. type: TH
13720 #: build/C/man2/setup.2:34 build/C/man2/uname.2:27
13721 #, no-wrap
13722 msgid "2008-12-03"
13723 msgstr ""
13724
13725 #. type: Plain text
13726 #: build/C/man2/setup.2:37
13727 msgid "setup - setup devices and filesystems, mount root filesystem"
13728 msgstr ""
13729
13730 #. type: Plain text
13731 #: build/C/man2/setup.2:41
13732 msgid "B<int setup(void);>"
13733 msgstr ""
13734
13735 #. type: Plain text
13736 #: build/C/man2/setup.2:47
13737 msgid ""
13738 "B<setup>()  is called once from within I<linux/init/main.c>.  It calls "
13739 "initialization functions for devices and filesystems configured into the "
13740 "kernel and then mounts the root filesystem."
13741 msgstr ""
13742
13743 #. type: Plain text
13744 #: build/C/man2/setup.2:53
13745 msgid ""
13746 "No user process may call B<setup>().  Any user process, even a process with "
13747 "superuser permission, will receive B<EPERM>."
13748 msgstr ""
13749
13750 #. type: Plain text
13751 #: build/C/man2/setup.2:56
13752 msgid "B<setup>()  always returns -1 for a user process."
13753 msgstr ""
13754
13755 #. type: Plain text
13756 #: build/C/man2/setup.2:62
13757 msgid "Since Linux 2.1.121, no such function exists anymore."
13758 msgstr ""
13759
13760 #. type: Plain text
13761 #: build/C/man2/setup.2:65
13762 msgid ""
13763 "This function is Linux-specific, and should not be used in programs intended "
13764 "to be portable, or indeed in any programs at all."
13765 msgstr ""
13766
13767 #. type: Plain text
13768 #: build/C/man2/setup.2:72
13769 msgid ""
13770 "The calling sequence varied: at some times I<setup ()> has had a single "
13771 "argument I<void\\ *BIOS> and at other times a single argument I<int magic>."
13772 msgstr ""
13773
13774 #. type: TH
13775 #: build/C/man5/shells.5:28
13776 #, no-wrap
13777 msgid "SHELLS"
13778 msgstr ""
13779
13780 #. type: Plain text
13781 #: build/C/man5/shells.5:31
13782 msgid "shells - pathnames of valid login shells"
13783 msgstr ""
13784
13785 #. type: Plain text
13786 #: build/C/man5/shells.5:37
13787 msgid ""
13788 "I</etc/shells> is a text file which contains the full pathnames of valid "
13789 "login shells.  This file is consulted by B<chsh>(1)  and available to be "
13790 "queried by other programs."
13791 msgstr ""
13792
13793 #. type: Plain text
13794 #: build/C/man5/shells.5:43
13795 msgid ""
13796 "Be aware that there are programs which consult this file to find out if a "
13797 "user is a normal user; for example, FTP daemons traditionally disallow "
13798 "access to users with shells not included in this file."
13799 msgstr ""
13800
13801 #. type: Plain text
13802 #: build/C/man5/shells.5:45
13803 msgid "I</etc/shells>"
13804 msgstr ""
13805
13806 #. type: Plain text
13807 #: build/C/man5/shells.5:48
13808 msgid "I</etc/shells> may contain the following paths:"
13809 msgstr ""
13810
13811 #. type: Plain text
13812 #: build/C/man5/shells.5:51
13813 msgid "I</bin/sh>"
13814 msgstr ""
13815
13816 #. type: Plain text
13817 #: build/C/man5/shells.5:53
13818 msgid "I</bin/bash>"
13819 msgstr ""
13820
13821 #. type: Plain text
13822 #: build/C/man5/shells.5:55
13823 msgid "I</bin/csh>"
13824 msgstr ""
13825
13826 #. type: Plain text
13827 #: build/C/man5/shells.5:59
13828 msgid "B<chsh>(1), B<getusershell>(3)"
13829 msgstr ""
13830
13831 #. type: TH
13832 #: build/C/man3/sleep.3:26
13833 #, no-wrap
13834 msgid "SLEEP"
13835 msgstr ""
13836
13837 #. type: TH
13838 #: build/C/man3/sleep.3:26
13839 #, no-wrap
13840 msgid "2010-02-03"
13841 msgstr ""
13842
13843 #. type: Plain text
13844 #: build/C/man3/sleep.3:29
13845 msgid "sleep - sleep for the specified number of seconds"
13846 msgstr ""
13847
13848 #. type: Plain text
13849 #: build/C/man3/sleep.3:34
13850 #, no-wrap
13851 msgid "B<unsigned int sleep(unsigned int >I<seconds>B<);>\n"
13852 msgstr ""
13853
13854 #. type: Plain text
13855 #: build/C/man3/sleep.3:40
13856 msgid ""
13857 "B<sleep>()  makes the calling thread sleep until I<seconds> seconds have "
13858 "elapsed or a signal arrives which is not ignored."
13859 msgstr ""
13860
13861 #. type: Plain text
13862 #: build/C/man3/sleep.3:44
13863 msgid ""
13864 "Zero if the requested time has elapsed, or the number of seconds left to "
13865 "sleep, if the call was interrupted by a signal handler."
13866 msgstr ""
13867
13868 #. type: Plain text
13869 #: build/C/man3/sleep.3:55
13870 msgid ""
13871 "B<sleep>()  may be implemented using B<SIGALRM>; mixing calls to B<alarm>(2)  "
13872 "and B<sleep>()  is a bad idea."
13873 msgstr ""
13874
13875 #. type: Plain text
13876 #: build/C/man3/sleep.3:61
13877 msgid ""
13878 "Using B<longjmp>(3)  from a signal handler or modifying the handling of "
13879 "B<SIGALRM> while sleeping will cause undefined results."
13880 msgstr ""
13881
13882 #. type: Plain text
13883 #: build/C/man3/sleep.3:66
13884 msgid "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
13885 msgstr ""
13886
13887 #. type: TH
13888 #: build/C/man3/swab.3:31
13889 #, no-wrap
13890 msgid "SWAB"
13891 msgstr ""
13892
13893 #. type: TH
13894 #: build/C/man3/swab.3:31
13895 #, no-wrap
13896 msgid "2014-02-25"
13897 msgstr ""
13898
13899 #. type: Plain text
13900 #: build/C/man3/swab.3:34
13901 msgid "swab - swap adjacent bytes"
13902 msgstr ""
13903
13904 #. type: Plain text
13905 #: build/C/man3/swab.3:38
13906 #, no-wrap
13907 msgid ""
13908 "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
13909 "B<#include E<lt>unistd.hE<gt>>\n"
13910 msgstr ""
13911
13912 #. type: Plain text
13913 #: build/C/man3/swab.3:40
13914 #, no-wrap
13915 msgid "B<void swab(const void *>I<from>B<, void *>I<to>B<, ssize_t >I<n>B<);>\n"
13916 msgstr ""
13917
13918 #. type: Plain text
13919 #: build/C/man3/swab.3:55
13920 msgid ""
13921 "The B<swab>()  function copies I<n> bytes from the array pointed to by "
13922 "I<from> to the array pointed to by I<to>, exchanging adjacent even and odd "
13923 "bytes.  This function is used to exchange data between machines that have "
13924 "different low/high byte ordering."
13925 msgstr ""
13926
13927 #. type: Plain text
13928 #: build/C/man3/swab.3:68
13929 msgid ""
13930 "This function does nothing when I<n> is negative.  When I<n> is positive and "
13931 "odd, it handles I<n-1> bytes as above, and does something unspecified with "
13932 "the last byte.  (In other words, I<n> should be even.)"
13933 msgstr ""
13934
13935 #. type: Plain text
13936 #: build/C/man3/swab.3:72
13937 msgid "The B<swab>()  function returns no value."
13938 msgstr ""
13939
13940 #. type: Plain text
13941 #: build/C/man3/swab.3:77
13942 msgid "The B<swab>()  function is thread-safe."
13943 msgstr ""
13944
13945 #. type: Plain text
13946 #: build/C/man3/swab.3:81
13947 msgid "B<bstring>(3)"
13948 msgstr ""
13949
13950 #. type: TH
13951 #: build/C/man2/swapon.2:37
13952 #, no-wrap
13953 msgid "SWAPON"
13954 msgstr ""
13955
13956 #. type: Plain text
13957 #: build/C/man2/swapon.2:40
13958 msgid "swapon, swapoff - start/stop swapping to file/device"
13959 msgstr ""
13960
13961 #. type: Plain text
13962 #: build/C/man2/swapon.2:44
13963 msgid "B<#include E<lt>sys/swap.hE<gt>>"
13964 msgstr ""
13965
13966 #. type: Plain text
13967 #: build/C/man2/swapon.2:46
13968 msgid "B<int swapon(const char *>I<path>B<, int >I<swapflags>B<);>"
13969 msgstr ""
13970
13971 #. type: Plain text
13972 #: build/C/man2/swapon.2:48
13973 msgid "B<int swapoff(const char *>I<path>B<);>"
13974 msgstr ""
13975
13976 #. type: Plain text
13977 #: build/C/man2/swapon.2:55
13978 msgid ""
13979 "B<swapon>()  sets the swap area to the file or block device specified by "
13980 "I<path>.  B<swapoff>()  stops swapping to the file or block device specified "
13981 "by I<path>."
13982 msgstr ""
13983
13984 #. type: Plain text
13985 #: build/C/man2/swapon.2:65
13986 msgid ""
13987 "If the B<SWAP_FLAG_PREFER> flag is specified in the B<swapon>()  "
13988 "I<swapflags> argument, the new swap area will have a higher priority than "
13989 "default.  The priority is encoded within I<swapflags> as:"
13990 msgstr ""
13991
13992 #. type: Plain text
13993 #: build/C/man2/swapon.2:68
13994 msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
13995 msgstr ""
13996
13997 #. type: Plain text
13998 #: build/C/man2/swapon.2:80
13999 msgid ""
14000 "If the B<SWAP_FLAG_DISCARD> flag is specified in the B<swapon>()  "
14001 "I<swapflags> argument, freed swap pages will be discarded before they are "
14002 "reused, if the swap device supports the discard or trim operation.  (This "
14003 "may improve performance on some Solid State Devices, but often it does not.)  "
14004 "See also NOTES."
14005 msgstr ""
14006
14007 #. type: Plain text
14008 #: build/C/man2/swapon.2:84
14009 msgid ""
14010 "These functions may be used only by a privileged process (one having the "
14011 "B<CAP_SYS_ADMIN> capability)."
14012 msgstr ""
14013
14014 #. type: SS
14015 #: build/C/man2/swapon.2:84
14016 #, no-wrap
14017 msgid "Priority"
14018 msgstr ""
14019
14020 #. type: Plain text
14021 #: build/C/man2/swapon.2:89
14022 msgid ""
14023 "Each swap area has a priority, either high or low.  The default priority is "
14024 "low.  Within the low-priority areas, newer areas are even lower priority "
14025 "than older areas."
14026 msgstr ""
14027
14028 #. type: Plain text
14029 #: build/C/man2/swapon.2:95
14030 msgid ""
14031 "All priorities set with I<swapflags> are high-priority, higher than "
14032 "default.  They may have any nonnegative value chosen by the caller.  Higher "
14033 "numbers mean higher priority."
14034 msgstr ""
14035
14036 #. type: Plain text
14037 #: build/C/man2/swapon.2:103
14038 msgid ""
14039 "Swap pages are allocated from areas in priority order, highest priority "
14040 "first.  For areas with different priorities, a higher-priority area is "
14041 "exhausted before using a lower-priority area.  If two or more areas have the "
14042 "same priority, and it is the highest priority available, pages are allocated "
14043 "on a round-robin basis between them."
14044 msgstr ""
14045
14046 #. type: Plain text
14047 #: build/C/man2/swapon.2:106
14048 msgid ""
14049 "As of Linux 1.3.6, the kernel usually follows these rules, but there are "
14050 "exceptions."
14051 msgstr ""
14052
14053 #. type: Plain text
14054 #: build/C/man2/swapon.2:119
14055 msgid ""
14056 "(for B<swapon>())  The specified I<path> is already being used as a swap "
14057 "area."
14058 msgstr ""
14059
14060 #. type: Plain text
14061 #: build/C/man2/swapon.2:124
14062 msgid ""
14063 "The file I<path> exists, but refers neither to a regular file nor to a block "
14064 "device;"
14065 msgstr ""
14066
14067 #. type: Plain text
14068 #: build/C/man2/swapon.2:129
14069 msgid ""
14070 "(B<swapon>())  The indicated path does not contain a valid swap signature or "
14071 "resides on an in-memory filesystem such as tmpfs."
14072 msgstr ""
14073
14074 #. type: TP
14075 #: build/C/man2/swapon.2:129
14076 #, no-wrap
14077 msgid "B<EINVAL> (since Linux 3.4)"
14078 msgstr ""
14079
14080 #. type: Plain text
14081 #: build/C/man2/swapon.2:134
14082 msgid "(B<swapon>())  An invalid flag value was specified in I<flags>."
14083 msgstr ""
14084
14085 #. type: Plain text
14086 #: build/C/man2/swapon.2:139
14087 msgid "(B<swapoff>())  I<path> is not currently a swap area."
14088 msgstr ""
14089
14090 #. type: Plain text
14091 #: build/C/man2/swapon.2:147
14092 msgid "The file I<path> does not exist."
14093 msgstr ""
14094
14095 #. type: Plain text
14096 #: build/C/man2/swapon.2:150
14097 msgid "The system has insufficient memory to start swapping."
14098 msgstr ""
14099
14100 #. type: Plain text
14101 #: build/C/man2/swapon.2:157
14102 msgid ""
14103 "The caller does not have the B<CAP_SYS_ADMIN> capability.  Alternatively, "
14104 "the maximum number of swap files are already in use; see NOTES below."
14105 msgstr ""
14106
14107 #. type: Plain text
14108 #: build/C/man2/swapon.2:163
14109 msgid ""
14110 "These functions are Linux-specific and should not be used in programs "
14111 "intended to be portable.  The second I<swapflags> argument was introduced in "
14112 "Linux 1.3.2."
14113 msgstr ""
14114
14115 #. type: Plain text
14116 #: build/C/man2/swapon.2:166
14117 msgid "The partition or path must be prepared with B<mkswap>(8)."
14118 msgstr ""
14119
14120 #. type: Plain text
14121 #: build/C/man2/swapon.2:186
14122 msgid ""
14123 "There is an upper limit on the number of swap files that may be used, "
14124 "defined by the kernel constant B<MAX_SWAPFILES>.  Before kernel 2.4.10, "
14125 "B<MAX_SWAPFILES> has the value 8; since kernel 2.4.10, it has the value 32.  "
14126 "Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)  if the kernel "
14127 "is built with the B<CONFIG_MIGRATION> option (which reserves two swap table "
14128 "entries for the page migration features of B<mbind>(2)  and "
14129 "B<migrate_pages>(2)).  Since kernel 2.6.32, the limit is further decreased "
14130 "by 1 if the kernel is built with the B<CONFIG_MEMORY_FAILURE> option."
14131 msgstr ""
14132
14133 #.  To be precise: 2.6.35.5
14134 #. type: Plain text
14135 #: build/C/man2/swapon.2:197
14136 msgid ""
14137 "Discard of swap pages was introduced in kernel 2.6.29, then made conditional "
14138 "on the B<SWAP_FLAG_DISCARD> flag in kernel 2.6.36, which still discards the "
14139 "entire swap area when B<swapon>()  is called, even if that flag bit is not "
14140 "set."
14141 msgstr ""
14142
14143 #. type: Plain text
14144 #: build/C/man2/swapon.2:201
14145 msgid "B<mkswap>(8), B<swapoff>(8), B<swapon>(8)"
14146 msgstr ""
14147
14148 #. type: TH
14149 #: build/C/man2/syscall.2:40
14150 #, no-wrap
14151 msgid "SYSCALL"
14152 msgstr ""
14153
14154 #. type: Plain text
14155 #: build/C/man2/syscall.2:43
14156 msgid "syscall - indirect system call"
14157 msgstr ""
14158
14159 #. type: Plain text
14160 #: build/C/man2/syscall.2:48
14161 #, no-wrap
14162 msgid ""
14163 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
14164 "B<#include E<lt>unistd.hE<gt>>\n"
14165 "B<#include E<lt>sys/syscall.hE<gt>   >/* For SYS_xxx definitions */\n"
14166 msgstr ""
14167
14168 #. type: Plain text
14169 #: build/C/man2/syscall.2:50
14170 #, no-wrap
14171 msgid "B<long syscall(long >I<number>B<, ...);>\n"
14172 msgstr ""
14173
14174 #. type: Plain text
14175 #: build/C/man2/syscall.2:62
14176 msgid ""
14177 "B<syscall>()  is a small library function that invokes the system call whose "
14178 "assembly language interface has the specified I<number> with the specified "
14179 "arguments.  Employing B<syscall>()  is useful, for example, when invoking a "
14180 "system call that has no wrapper function in the C library."
14181 msgstr ""
14182
14183 #. type: Plain text
14184 #: build/C/man2/syscall.2:69
14185 msgid ""
14186 "B<syscall>()  saves CPU registers before making the system call, restores "
14187 "the registers upon return from the system call, and stores any error code "
14188 "returned by the system call in B<errno>(3)  if an error occurs."
14189 msgstr ""
14190
14191 #. type: Plain text
14192 #: build/C/man2/syscall.2:72
14193 msgid ""
14194 "Symbolic constants for system call numbers can be found in the header file "
14195 "I<E<lt>sys/syscall.hE<gt>>."
14196 msgstr ""
14197
14198 #. type: Plain text
14199 #: build/C/man2/syscall.2:78
14200 msgid ""
14201 "The return value is defined by the system call being invoked.  In general, a "
14202 "0 return value indicates success.  A -1 return value indicates an error, and "
14203 "an error code is stored in I<errno>."
14204 msgstr ""
14205
14206 #. type: Plain text
14207 #: build/C/man2/syscall.2:82
14208 msgid "B<syscall>()  first appeared in 4BSD."
14209 msgstr ""
14210
14211 #. type: SS
14212 #: build/C/man2/syscall.2:82
14213 #, no-wrap
14214 msgid "Architecture-specific requirements"
14215 msgstr ""
14216
14217 #. type: Plain text
14218 #: build/C/man2/syscall.2:93
14219 msgid ""
14220 "Each architecture ABI has its own requirements on how system call arguments "
14221 "are passed to the kernel.  For system calls that have a glibc wrapper (e.g., "
14222 "most system calls), glibc handles the details of copying arguments to the "
14223 "right registers in a manner suitable for the architecture.  However, when "
14224 "using B<syscall>()  to make a system call, the caller might need to handle "
14225 "architecture-dependent details; this requirement is most commonly "
14226 "encountered on certain 32-bit architectures."
14227 msgstr ""
14228
14229 #. type: Plain text
14230 #: build/C/man2/syscall.2:104
14231 msgid ""
14232 "For example, on the ARM architecture Embedded ABI (EABI), a 64-bit value "
14233 "(e.g., I<long long>)  must be aligned to an even register pair.  Thus, using "
14234 "B<syscall>()  instead of the wrapper provided by glibc, the B<readahead>()  "
14235 "system call would be invoked as follows on the ARM architecture with the "
14236 "EABI:"
14237 msgstr ""
14238
14239 #. type: Plain text
14240 #: build/C/man2/syscall.2:111
14241 #, no-wrap
14242 msgid ""
14243 "syscall(SYS_readahead, fd, 0,\n"
14244 "        (unsigned int) (offset E<gt>E<gt> 32),\n"
14245 "        (unsigned int) (offset & 0xFFFFFFFF),\n"
14246 "        count);\n"
14247 msgstr ""
14248
14249 #. type: Plain text
14250 #: build/C/man2/syscall.2:125
14251 msgid ""
14252 "Since the offset argument is 64 bits, and the first argument (I<fd>)  is "
14253 "passed in I<r0>, the caller must manually split and align the 64-bit value "
14254 "so that it is passed in the I<r2>/I<r3> register pair.  That means inserting "
14255 "a dummy value into I<r1> (the second argument of 0)."
14256 msgstr ""
14257
14258 #.  Mike Frysinger: this issue ends up forcing MIPS
14259 #.  O32 to take 7 arguments to syscall()
14260 #. type: Plain text
14261 #: build/C/man2/syscall.2:130
14262 msgid ""
14263 "Similar issues can occur on MIPS with the O32 ABI, on PowerPC with the "
14264 "32-bit ABI, and on Xtensa."
14265 msgstr ""
14266
14267 #. type: Plain text
14268 #: build/C/man2/syscall.2:141
14269 msgid ""
14270 "The affected system calls are B<fadvise64_64>(2), B<ftruncate64>(2), "
14271 "B<posix_fadvise>(2), B<pread64>(2), B<pwrite64>(2), B<readahead>(2), "
14272 "B<sync_file_range>(2), and B<truncate64>(2)."
14273 msgstr ""
14274
14275 #. type: SS
14276 #: build/C/man2/syscall.2:141
14277 #, no-wrap
14278 msgid "Architecture calling conventions"
14279 msgstr ""
14280
14281 #. type: Plain text
14282 #: build/C/man2/syscall.2:145
14283 msgid ""
14284 "Every architecture has its own way of invoking and passing arguments to the "
14285 "kernel.  The details for various architectures are listed in the two tables "
14286 "below."
14287 msgstr ""
14288
14289 #. type: Plain text
14290 #: build/C/man2/syscall.2:152
14291 msgid ""
14292 "The first table lists the instruction used to transition to kernel mode, "
14293 "(which might not be the fastest or best way to transition to the kernel, so "
14294 "you might have to refer to B<vdso>(7)), the register used to indicate the "
14295 "system call number, and the register used to return the system call result."
14296 msgstr ""
14297
14298 #. type: tbl table
14299 #: build/C/man2/syscall.2:157
14300 #, no-wrap
14301 msgid "arch/ABI\tinstruction\tsyscall #\tretval\tNotes\n"
14302 msgstr ""
14303
14304 #. type: tbl table
14305 #: build/C/man2/syscall.2:159
14306 #, no-wrap
14307 msgid "arm/OABI\tswi NR\t-\ta1\tNR is syscall #\n"
14308 msgstr ""
14309
14310 #. type: tbl table
14311 #: build/C/man2/syscall.2:160
14312 #, no-wrap
14313 msgid "arm/EABI\tswi 0x0\tr7\tr0\n"
14314 msgstr ""
14315
14316 #. type: tbl table
14317 #: build/C/man2/syscall.2:161
14318 #, no-wrap
14319 msgid "blackfin\texcpt 0x0\tP0\tR0\n"
14320 msgstr ""
14321
14322 #. type: tbl table
14323 #: build/C/man2/syscall.2:162
14324 #, no-wrap
14325 msgid "i386\tint $0x80\teax\teax\n"
14326 msgstr ""
14327
14328 #. type: tbl table
14329 #: build/C/man2/syscall.2:163
14330 #, no-wrap
14331 msgid "ia64\tbreak 0x100000\tr15\tr10/r8\tT{\n"
14332 msgstr ""
14333
14334 #. type: tbl table
14335 #: build/C/man2/syscall.2:164
14336 #, no-wrap
14337 msgid "bool error/\n"
14338 msgstr ""
14339
14340 #. type: tbl table
14341 #: build/C/man2/syscall.2:165 build/C/man2/syscalls.2:172 build/C/man2/syscalls.2:184 build/C/man2/syscalls.2:316 build/C/man2/syscalls.2:388 build/C/man2/syscalls.2:404 build/C/man2/syscalls.2:416
14342 #, no-wrap
14343 msgid ".br\n"
14344 msgstr ""
14345
14346 #. type: tbl table
14347 #: build/C/man2/syscall.2:166
14348 #, no-wrap
14349 msgid "errno value\n"
14350 msgstr ""
14351
14352 #. type: tbl table
14353 #: build/C/man2/syscall.2:167 build/C/man2/syscalls.2:174 build/C/man2/syscalls.2:186 build/C/man2/syscalls.2:318 build/C/man2/syscalls.2:390 build/C/man2/syscalls.2:406 build/C/man2/syscalls.2:418 build/C/man2/syscalls.2:549 build/C/man2/syscalls.2:596
14354 #, no-wrap
14355 msgid "T}\n"
14356 msgstr ""
14357
14358 #. type: tbl table
14359 #: build/C/man2/syscall.2:168
14360 #, no-wrap
14361 msgid "parisc\tble 0x100(%sr2, %r0)\tr20\tr28\n"
14362 msgstr ""
14363
14364 #. type: tbl table
14365 #: build/C/man2/syscall.2:169
14366 #, no-wrap
14367 msgid "s390\tsvc 0\tr1\tr2\tSee below\n"
14368 msgstr ""
14369
14370 #. type: tbl table
14371 #: build/C/man2/syscall.2:170
14372 #, no-wrap
14373 msgid "s390x\tsvc 0\tr1\tr2\tSee below\n"
14374 msgstr ""
14375
14376 #. type: tbl table
14377 #: build/C/man2/syscall.2:171
14378 #, no-wrap
14379 msgid "sparc/32\tt 0x10\tg1\to0\n"
14380 msgstr ""
14381
14382 #. type: tbl table
14383 #: build/C/man2/syscall.2:172
14384 #, no-wrap
14385 msgid "sparc/64\tt 0x6d\tg1\to0\n"
14386 msgstr ""
14387
14388 #. type: tbl table
14389 #: build/C/man2/syscall.2:173
14390 #, no-wrap
14391 msgid "x86_64\tsyscall\trax\trax\n"
14392 msgstr ""
14393
14394 #. type: Plain text
14395 #: build/C/man2/syscall.2:178
14396 msgid ""
14397 "For s390 and s390x, NR (the system call number)  may be passed directly with "
14398 "\"svc NR\" if it is less than 256."
14399 msgstr ""
14400
14401 #. type: Plain text
14402 #: build/C/man2/syscall.2:184
14403 msgid "The second table shows the registers used to pass the system call arguments."
14404 msgstr ""
14405
14406 #. type: tbl table
14407 #: build/C/man2/syscall.2:189
14408 #, no-wrap
14409 msgid "arch/ABI\targ1\targ2\targ3\targ4\targ5\targ6\targ7\n"
14410 msgstr ""
14411
14412 #. type: tbl table
14413 #: build/C/man2/syscall.2:191
14414 #, no-wrap
14415 msgid "arm/OABI\ta1\ta2\ta3\ta4\tv1\tv2\tv3\n"
14416 msgstr ""
14417
14418 #. type: tbl table
14419 #: build/C/man2/syscall.2:192
14420 #, no-wrap
14421 msgid "arm/EABI\tr0\tr1\tr2\tr3\tr4\tr5\tr6\n"
14422 msgstr ""
14423
14424 #. type: tbl table
14425 #: build/C/man2/syscall.2:193
14426 #, no-wrap
14427 msgid "blackfin\tR0\tR1\tR2\tR3\tR4\tR5\t-\n"
14428 msgstr ""
14429
14430 #. type: tbl table
14431 #: build/C/man2/syscall.2:194
14432 #, no-wrap
14433 msgid "i386\tebx\tecx\tedx\tesi\tedi\tebp\t-\n"
14434 msgstr ""
14435
14436 #. type: tbl table
14437 #: build/C/man2/syscall.2:195
14438 #, no-wrap
14439 msgid "ia64\tout0\tout1\tout2\tout3\tout4\tout5\t-\n"
14440 msgstr ""
14441
14442 #. type: tbl table
14443 #: build/C/man2/syscall.2:196
14444 #, no-wrap
14445 msgid "parisc\tr26\tr25\tr24\tr23\tr22\tr21\t-\n"
14446 msgstr ""
14447
14448 #. type: tbl table
14449 #: build/C/man2/syscall.2:197
14450 #, no-wrap
14451 msgid "s390\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
14452 msgstr ""
14453
14454 #. type: tbl table
14455 #: build/C/man2/syscall.2:198
14456 #, no-wrap
14457 msgid "s390x\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
14458 msgstr ""
14459
14460 #. type: tbl table
14461 #: build/C/man2/syscall.2:199
14462 #, no-wrap
14463 msgid "sparc/32\to0\to1\to2\to3\to4\to5\t-\n"
14464 msgstr ""
14465
14466 #. type: tbl table
14467 #: build/C/man2/syscall.2:200
14468 #, no-wrap
14469 msgid "sparc/64\to0\to1\to2\to3\to4\to5\t-\n"
14470 msgstr ""
14471
14472 #. type: tbl table
14473 #: build/C/man2/syscall.2:201
14474 #, no-wrap
14475 msgid "x86_64\trdi\trsi\trdx\tr10\tr8\tr9\t-\n"
14476 msgstr ""
14477
14478 #. type: Plain text
14479 #: build/C/man2/syscall.2:210
14480 msgid ""
14481 "Note that these tables don't cover the entire calling convention\\(emsome "
14482 "architectures may indiscriminately clobber other registers not listed here."
14483 msgstr ""
14484
14485 #. type: Plain text
14486 #: build/C/man2/syscall.2:217
14487 #, no-wrap
14488 msgid ""
14489 "#define _GNU_SOURCE\n"
14490 "#include E<lt>unistd.hE<gt>\n"
14491 "#include E<lt>sys/syscall.hE<gt>\n"
14492 "#include E<lt>sys/types.hE<gt>\n"
14493 "#include E<lt>signal.hE<gt>\n"
14494 msgstr ""
14495
14496 #. type: Plain text
14497 #: build/C/man2/syscall.2:222
14498 #, no-wrap
14499 msgid ""
14500 "int\n"
14501 "main(int argc, char *argv[])\n"
14502 "{\n"
14503 "    pid_t tid;\n"
14504 msgstr ""
14505
14506 #. type: Plain text
14507 #: build/C/man2/syscall.2:226
14508 #, no-wrap
14509 msgid ""
14510 "    tid = syscall(SYS_gettid);\n"
14511 "    tid = syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
14512 "}\n"
14513 msgstr ""
14514
14515 #. type: Plain text
14516 #: build/C/man2/syscall.2:232
14517 msgid "B<_syscall>(2), B<intro>(2), B<syscalls>(2), B<vdso>(7)"
14518 msgstr ""
14519
14520 #. type: TH
14521 #: build/C/man2/syscalls.2:31
14522 #, no-wrap
14523 msgid "SYSCALLS"
14524 msgstr ""
14525
14526 #. type: TH
14527 #: build/C/man2/syscalls.2:31
14528 #, no-wrap
14529 msgid "2014-05-08"
14530 msgstr ""
14531
14532 #. type: Plain text
14533 #: build/C/man2/syscalls.2:34
14534 msgid "syscalls - Linux system calls"
14535 msgstr ""
14536
14537 #. type: Plain text
14538 #: build/C/man2/syscalls.2:36
14539 msgid "Linux system calls."
14540 msgstr ""
14541
14542 #. type: Plain text
14543 #: build/C/man2/syscalls.2:39
14544 msgid ""
14545 "The system call is the fundamental interface between an application and the "
14546 "Linux kernel."
14547 msgstr ""
14548
14549 #. type: SS
14550 #: build/C/man2/syscalls.2:39
14551 #, no-wrap
14552 msgid "System calls and library wrapper functions"
14553 msgstr ""
14554
14555 #. type: Plain text
14556 #: build/C/man2/syscalls.2:49
14557 msgid ""
14558 "System calls are generally not invoked directly, but rather via wrapper "
14559 "functions in glibc (or perhaps some other library).  For details of direct "
14560 "invocation of a system call, see B<intro>(2).  Often, but not always, the "
14561 "name of the wrapper function is the same as the name of the system call that "
14562 "it invokes.  For example, glibc contains a function B<truncate>()  which "
14563 "invokes the underlying \"truncate\" system call."
14564 msgstr ""
14565
14566 #. type: Plain text
14567 #: build/C/man2/syscalls.2:67
14568 msgid ""
14569 "Often the glibc wrapper function is quite thin, doing little work other than "
14570 "copying arguments to the right registers before invoking the system call, "
14571 "and then setting I<errno> appropriately after the system call has returned.  "
14572 "(These are the same steps that are performed by B<syscall>(2), which can be "
14573 "used to invoke system calls for which no wrapper function is provided.)  "
14574 "Note: system calls indicate a failure by returning a negative error number "
14575 "to the caller; when this happens, the wrapper function negates the returned "
14576 "error number (to make it positive), copies it to I<errno>, and returns -1 to "
14577 "the caller of the wrapper."
14578 msgstr ""
14579
14580 #. type: Plain text
14581 #: build/C/man2/syscalls.2:79
14582 msgid ""
14583 "Sometimes, however, the wrapper function does some extra work before "
14584 "invoking the system call.  For example, nowadays there are (for reasons "
14585 "described below) two related system calls, B<truncate>(2)  and "
14586 "B<truncate64>(2), and the glibc B<truncate>()  wrapper function checks which "
14587 "of those system calls are provided by the kernel and determines which should "
14588 "be employed."
14589 msgstr ""
14590
14591 #. type: SS
14592 #: build/C/man2/syscalls.2:79
14593 #, no-wrap
14594 msgid "System call list"
14595 msgstr ""
14596
14597 #. type: Plain text
14598 #: build/C/man2/syscalls.2:87
14599 msgid ""
14600 "Below is a list of the Linux system calls.  In the list, the I<Kernel> "
14601 "column indicates the kernel version for those system calls that were new in "
14602 "Linux 2.2, or have appeared since that kernel version.  Note the following "
14603 "points:"
14604 msgstr ""
14605
14606 #. type: Plain text
14607 #: build/C/man2/syscalls.2:90
14608 msgid ""
14609 "Where no kernel version is indicated, the system call appeared in kernel 1.0 "
14610 "or earlier."
14611 msgstr ""
14612
14613 #. type: Plain text
14614 #: build/C/man2/syscalls.2:96
14615 msgid ""
14616 "Where a system call is marked \"1.2\" this means the system call probably "
14617 "appeared in a 1.1.x kernel version, and first appeared in a stable kernel "
14618 "with 1.2.  (Development of the 1.2 kernel was initiated from a branch of "
14619 "kernel 1.0.6 via the 1.1.x unstable kernel series.)"
14620 msgstr ""
14621
14622 #.  Was kernel 2.0 started from a branch of 1.2.10?
14623 #.  At least from the timestamps of the tarballs of
14624 #.  of 1.2.10 and 1.3.0, that's how it looks, but in
14625 #.  fact the diff doesn't seem very clear, the
14626 #.  1.3.0 .tar.bz is much bigger (2.0 MB) than the
14627 #.  1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
14628 #.  timestamps of some files in 1.3.0 seem to be older
14629 #.  than those in 1.2.10.  All of this suggests
14630 #.  that there might not have been a clean branch point.
14631 #. type: Plain text
14632 #: build/C/man2/syscalls.2:112
14633 msgid ""
14634 "Where a system call is marked \"2.0\" this means the system call probably "
14635 "appeared in a 1.3.x kernel version, and first appeared in a stable kernel "
14636 "with 2.0.  (Development of the 2.0 kernel was initiated from a branch of "
14637 "kernel 1.2.x, somewhere around 1.2.10, via the 1.3.x unstable kernel "
14638 "series.)"
14639 msgstr ""
14640
14641 #. type: Plain text
14642 #: build/C/man2/syscalls.2:118
14643 msgid ""
14644 "Where a system call is marked \"2.2\" this means the system call probably "
14645 "appeared in a 2.1.x kernel version, and first appeared in a stable kernel "
14646 "with 2.2.0.  (Development of the 2.2 kernel was initiated from a branch of "
14647 "kernel 2.0.21 via the 2.1.x unstable kernel series.)"
14648 msgstr ""
14649
14650 #. type: Plain text
14651 #: build/C/man2/syscalls.2:124
14652 msgid ""
14653 "Where a system call is marked \"2.4\" this means the system call probably "
14654 "appeared in a 2.3.x kernel version, and first appeared in a stable kernel "
14655 "with 2.4.0.  (Development of the 2.4 kernel was initiated from a branch of "
14656 "kernel 2.2.8 via the 2.3.x unstable kernel series.)"
14657 msgstr ""
14658
14659 #. type: Plain text
14660 #: build/C/man2/syscalls.2:130
14661 msgid ""
14662 "Where a system call is marked \"2.6\" this means the system call probably "
14663 "appeared in a 2.5.x kernel version, and first appeared in a stable kernel "
14664 "with 2.6.0.  (Development of kernel 2.6 was initiated from a branch of "
14665 "kernel 2.4.15 via the 2.5.x unstable kernel series.)"
14666 msgstr ""
14667
14668 #. type: Plain text
14669 #: build/C/man2/syscalls.2:137
14670 msgid ""
14671 "Starting with kernel 2.6.0, the development model changed, and new system "
14672 "calls may appear in each 2.6.x release.  In this case, the exact version "
14673 "number where the system call appeared is shown.  This convention continues "
14674 "with the 3.x kernel series, which followed on from kernel 2.6.39."
14675 msgstr ""
14676
14677 #. type: Plain text
14678 #: build/C/man2/syscalls.2:145
14679 msgid ""
14680 "In some cases, a system call was added to a stable kernel series after it "
14681 "branched from the previous stable kernel series, and then backported into "
14682 "the earlier stable kernel series.  For example some system calls that "
14683 "appeared in 2.6.x were also backported into a 2.4.x release after 2.4.15.  "
14684 "When this is so, the version where the system call appeared in both of the "
14685 "major kernel series is listed."
14686 msgstr ""
14687
14688 #
14689 #.  Looking at scripts/checksyscalls.sh in the kernel source is
14690 #.  instructive about x86 specifics.
14691 #. type: Plain text
14692 #: build/C/man2/syscalls.2:152
14693 msgid ""
14694 "The list of system calls that are available as at kernel 3.15 (or in a few "
14695 "cases only on older kernels) is as follows:"
14696 msgstr ""
14697
14698 #. type: tbl table
14699 #: build/C/man2/syscalls.2:157
14700 #, no-wrap
14701 msgid "B<System call>\tB<Kernel>\tB<Notes>\n"
14702 msgstr ""
14703
14704 #. type: tbl table
14705 #: build/C/man2/syscalls.2:159
14706 #, no-wrap
14707 msgid "B<_llseek>(2)\t1.2\n"
14708 msgstr ""
14709
14710 #. type: tbl table
14711 #: build/C/man2/syscalls.2:160
14712 #, no-wrap
14713 msgid "B<_newselect>(2)\t2.0\n"
14714 msgstr ""
14715
14716 #. type: tbl table
14717 #: build/C/man2/syscalls.2:161
14718 #, no-wrap
14719 msgid "B<_sysctl>(2)\t2.0\n"
14720 msgstr ""
14721
14722 #. type: tbl table
14723 #: build/C/man2/syscalls.2:162
14724 #, no-wrap
14725 msgid "B<accept>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14726 msgstr ""
14727
14728 #. type: tbl table
14729 #: build/C/man2/syscalls.2:163
14730 #, no-wrap
14731 msgid "B<accept4>(2)\t2.6.28\n"
14732 msgstr ""
14733
14734 #. type: tbl table
14735 #: build/C/man2/syscalls.2:164
14736 #, no-wrap
14737 msgid "B<access>(2)\t1.0\n"
14738 msgstr ""
14739
14740 #. type: tbl table
14741 #: build/C/man2/syscalls.2:165
14742 #, no-wrap
14743 msgid "B<acct>(2)\t1.0\n"
14744 msgstr ""
14745
14746 #. type: tbl table
14747 #: build/C/man2/syscalls.2:166
14748 #, no-wrap
14749 msgid "B<add_key>(2)\t2.6.11\n"
14750 msgstr ""
14751
14752 #. type: tbl table
14753 #: build/C/man2/syscalls.2:167
14754 #, no-wrap
14755 msgid "B<adjtimex>(2)\t1.0\n"
14756 msgstr ""
14757
14758 #. type: tbl table
14759 #: build/C/man2/syscalls.2:168
14760 #, no-wrap
14761 msgid "B<alarm>(2)\t1.0\n"
14762 msgstr ""
14763
14764 #. type: tbl table
14765 #: build/C/man2/syscalls.2:169
14766 #, no-wrap
14767 msgid "B<alloc_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
14768 msgstr ""
14769
14770 #. type: tbl table
14771 #: build/C/man2/syscalls.2:170
14772 #, no-wrap
14773 msgid "B<bdflush>(2)\t1.2\tT{\n"
14774 msgstr ""
14775
14776 #. type: tbl table
14777 #: build/C/man2/syscalls.2:171
14778 #, no-wrap
14779 msgid "Deprecated (does nothing)\n"
14780 msgstr ""
14781
14782 #. type: tbl table
14783 #: build/C/man2/syscalls.2:173
14784 #, no-wrap
14785 msgid "since 2.6\n"
14786 msgstr ""
14787
14788 #. type: tbl table
14789 #: build/C/man2/syscalls.2:175
14790 #, no-wrap
14791 msgid "B<bind>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14792 msgstr ""
14793
14794 #. type: tbl table
14795 #: build/C/man2/syscalls.2:176
14796 #, no-wrap
14797 msgid "B<brk>(2)\t1.0\n"
14798 msgstr ""
14799
14800 #. type: tbl table
14801 #: build/C/man2/syscalls.2:177
14802 #, no-wrap
14803 msgid "B<cacheflush>(2)\t1.2\tNot on x86\n"
14804 msgstr ""
14805
14806 #. type: tbl table
14807 #: build/C/man2/syscalls.2:178
14808 #, no-wrap
14809 msgid "B<capget>(2)\t2.2\n"
14810 msgstr ""
14811
14812 #. type: tbl table
14813 #: build/C/man2/syscalls.2:179
14814 #, no-wrap
14815 msgid "B<capset>(2)\t2.2\n"
14816 msgstr ""
14817
14818 #. type: tbl table
14819 #: build/C/man2/syscalls.2:180
14820 #, no-wrap
14821 msgid "B<chdir>(2)\t1.0\n"
14822 msgstr ""
14823
14824 #. type: tbl table
14825 #: build/C/man2/syscalls.2:181
14826 #, no-wrap
14827 msgid "B<chmod>(2)\t1.0\n"
14828 msgstr ""
14829
14830 #. type: tbl table
14831 #: build/C/man2/syscalls.2:182
14832 #, no-wrap
14833 msgid "B<chown>(2)\t2.2\tT{\n"
14834 msgstr ""
14835
14836 #. type: tbl table
14837 #: build/C/man2/syscalls.2:183 build/C/man2/syscalls.2:315
14838 #, no-wrap
14839 msgid "See B<chown>(2) for\n"
14840 msgstr ""
14841
14842 #. type: tbl table
14843 #: build/C/man2/syscalls.2:185 build/C/man2/syscalls.2:317
14844 #, no-wrap
14845 msgid "version details\n"
14846 msgstr ""
14847
14848 #. type: tbl table
14849 #: build/C/man2/syscalls.2:187
14850 #, no-wrap
14851 msgid "B<chown32>(2)\t2.4\n"
14852 msgstr ""
14853
14854 #. type: tbl table
14855 #: build/C/man2/syscalls.2:188
14856 #, no-wrap
14857 msgid "B<chroot>(2)\t1.0\n"
14858 msgstr ""
14859
14860 #. type: tbl table
14861 #: build/C/man2/syscalls.2:189
14862 #, no-wrap
14863 msgid "B<clock_adjtime>(2)\t2.6.39\n"
14864 msgstr ""
14865
14866 #. type: tbl table
14867 #: build/C/man2/syscalls.2:190
14868 #, no-wrap
14869 msgid "B<clock_getres>(2)\t2.6\n"
14870 msgstr ""
14871
14872 #. type: tbl table
14873 #: build/C/man2/syscalls.2:191
14874 #, no-wrap
14875 msgid "B<clock_gettime>(2)\t2.6\n"
14876 msgstr ""
14877
14878 #. type: tbl table
14879 #: build/C/man2/syscalls.2:192
14880 #, no-wrap
14881 msgid "B<clock_nanosleep>(2)\t2.6\n"
14882 msgstr ""
14883
14884 #. type: tbl table
14885 #: build/C/man2/syscalls.2:193
14886 #, no-wrap
14887 msgid "B<clock_settime>(2)\t2.6\n"
14888 msgstr ""
14889
14890 #. type: tbl table
14891 #: build/C/man2/syscalls.2:194
14892 #, no-wrap
14893 msgid "B<clone>(2)\t1.0\n"
14894 msgstr ""
14895
14896 #. type: tbl table
14897 #: build/C/man2/syscalls.2:195
14898 #, no-wrap
14899 msgid "B<close>(2)\t1.0\n"
14900 msgstr ""
14901
14902 #. type: tbl table
14903 #: build/C/man2/syscalls.2:196
14904 #, no-wrap
14905 msgid "B<connect>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14906 msgstr ""
14907
14908 #. type: tbl table
14909 #: build/C/man2/syscalls.2:197
14910 #, no-wrap
14911 msgid "B<creat>(2)\t1.0\n"
14912 msgstr ""
14913
14914 #. type: tbl table
14915 #: build/C/man2/syscalls.2:198
14916 #, no-wrap
14917 msgid "B<create_module>(2)\t\tRemoved in 2.6\n"
14918 msgstr ""
14919
14920 #. type: tbl table
14921 #: build/C/man2/syscalls.2:199
14922 #, no-wrap
14923 msgid "B<delete_module>(2)\t1.0\n"
14924 msgstr ""
14925
14926 #. type: tbl table
14927 #: build/C/man2/syscalls.2:200
14928 #, no-wrap
14929 msgid "B<dup>(2)\t1.0\n"
14930 msgstr ""
14931
14932 #. type: tbl table
14933 #: build/C/man2/syscalls.2:201
14934 #, no-wrap
14935 msgid "B<dup2>(2)\t1.0\n"
14936 msgstr ""
14937
14938 #. type: tbl table
14939 #: build/C/man2/syscalls.2:202
14940 #, no-wrap
14941 msgid "B<dup3>(2)\t2.6.27\n"
14942 msgstr ""
14943
14944 #. type: tbl table
14945 #: build/C/man2/syscalls.2:203
14946 #, no-wrap
14947 msgid "B<epoll_create>(2)\t2.6\n"
14948 msgstr ""
14949
14950 #. type: tbl table
14951 #: build/C/man2/syscalls.2:204
14952 #, no-wrap
14953 msgid "B<epoll_create1>(2)\t2.6.27\n"
14954 msgstr ""
14955
14956 #. type: tbl table
14957 #: build/C/man2/syscalls.2:205
14958 #, no-wrap
14959 msgid "B<epoll_ctl>(2)\t2.6\n"
14960 msgstr ""
14961
14962 #. type: tbl table
14963 #: build/C/man2/syscalls.2:206
14964 #, no-wrap
14965 msgid "B<epoll_pwait>(2)\t2.6.19\n"
14966 msgstr ""
14967
14968 #. type: tbl table
14969 #: build/C/man2/syscalls.2:207
14970 #, no-wrap
14971 msgid "B<epoll_wait>(2)\t2.6\n"
14972 msgstr ""
14973
14974 #. type: tbl table
14975 #: build/C/man2/syscalls.2:208
14976 #, no-wrap
14977 msgid "B<eventfd>(2)\t2.6.22\n"
14978 msgstr ""
14979
14980 #. type: tbl table
14981 #: build/C/man2/syscalls.2:209
14982 #, no-wrap
14983 msgid "B<eventfd2>(2)\t2.6.27\n"
14984 msgstr ""
14985
14986 #. type: tbl table
14987 #: build/C/man2/syscalls.2:210
14988 #, no-wrap
14989 msgid "B<execve>(2)\t1.0\n"
14990 msgstr ""
14991
14992 #. type: tbl table
14993 #: build/C/man2/syscalls.2:211
14994 #, no-wrap
14995 msgid "B<exit>(2)\t1.0\n"
14996 msgstr ""
14997
14998 #. type: tbl table
14999 #: build/C/man2/syscalls.2:212
15000 #, no-wrap
15001 msgid "B<exit_group>(2)\t2.6\n"
15002 msgstr ""
15003
15004 #. type: tbl table
15005 #: build/C/man2/syscalls.2:213
15006 #, no-wrap
15007 msgid "B<faccessat>(2)\t2.6.16\n"
15008 msgstr ""
15009
15010 #. type: tbl table
15011 #: build/C/man2/syscalls.2:214
15012 #, no-wrap
15013 msgid "B<fadvise64>(2)\t2.6\n"
15014 msgstr ""
15015
15016 #.  Implements \fBposix_fadvise\fP(2)
15017 #. type: tbl table
15018 #: build/C/man2/syscalls.2:216
15019 #, no-wrap
15020 msgid "B<fadvise64_64>(2)\t2.6\n"
15021 msgstr ""
15022
15023 #. type: tbl table
15024 #: build/C/man2/syscalls.2:217
15025 #, no-wrap
15026 msgid "B<fallocate>(2)\t2.6.23\n"
15027 msgstr ""
15028
15029 #. type: tbl table
15030 #: build/C/man2/syscalls.2:218
15031 #, no-wrap
15032 msgid "B<fanotify_init>(2)\t2.6.37\n"
15033 msgstr ""
15034
15035 #. type: tbl table
15036 #: build/C/man2/syscalls.2:219
15037 #, no-wrap
15038 msgid "B<fanotify_mark>(2)\t2.6.37\n"
15039 msgstr ""
15040
15041 #.  The fanotify calls were added in Linux 2.6.36,
15042 #.  but disabled while the API was finalized.
15043 #. type: tbl table
15044 #: build/C/man2/syscalls.2:222
15045 #, no-wrap
15046 msgid "B<fchdir>(2)\t1.0\n"
15047 msgstr ""
15048
15049 #. type: tbl table
15050 #: build/C/man2/syscalls.2:223
15051 #, no-wrap
15052 msgid "B<fchmod>(2)\t1.0\n"
15053 msgstr ""
15054
15055 #. type: tbl table
15056 #: build/C/man2/syscalls.2:224
15057 #, no-wrap
15058 msgid "B<fchmodat>(2)\t2.6.16\n"
15059 msgstr ""
15060
15061 #. type: tbl table
15062 #: build/C/man2/syscalls.2:225
15063 #, no-wrap
15064 msgid "B<fchown>(2)\t1.0\n"
15065 msgstr ""
15066
15067 #. type: tbl table
15068 #: build/C/man2/syscalls.2:226
15069 #, no-wrap
15070 msgid "B<fchown32>(2)\t2.4\n"
15071 msgstr ""
15072
15073 #. type: tbl table
15074 #: build/C/man2/syscalls.2:227
15075 #, no-wrap
15076 msgid "B<fchownat>(2)\t2.6.16\n"
15077 msgstr ""
15078
15079 #. type: tbl table
15080 #: build/C/man2/syscalls.2:228
15081 #, no-wrap
15082 msgid "B<fcntl>(2)\t1.0\n"
15083 msgstr ""
15084
15085 #. type: tbl table
15086 #: build/C/man2/syscalls.2:229
15087 #, no-wrap
15088 msgid "B<fcntl64>(2)\t2.4\n"
15089 msgstr ""
15090
15091 #. type: tbl table
15092 #: build/C/man2/syscalls.2:230
15093 #, no-wrap
15094 msgid "B<fdatasync>(2)\t2.0\n"
15095 msgstr ""
15096
15097 #. type: tbl table
15098 #: build/C/man2/syscalls.2:231
15099 #, no-wrap
15100 msgid "B<fgetxattr>(2)\t2.6; 2.4.18\n"
15101 msgstr ""
15102
15103 #. type: tbl table
15104 #: build/C/man2/syscalls.2:232
15105 #, no-wrap
15106 msgid "B<finit_module>(2)\t3.8\n"
15107 msgstr ""
15108
15109 #. type: tbl table
15110 #: build/C/man2/syscalls.2:233
15111 #, no-wrap
15112 msgid "B<flistxattr>(2)\t2.6; 2.4.18\n"
15113 msgstr ""
15114
15115 #. type: tbl table
15116 #: build/C/man2/syscalls.2:234
15117 #, no-wrap
15118 msgid "B<flock>(2)\t2.0\n"
15119 msgstr ""
15120
15121 #. type: tbl table
15122 #: build/C/man2/syscalls.2:235
15123 #, no-wrap
15124 msgid "B<fork>(2)\t1.0\n"
15125 msgstr ""
15126
15127 #. type: tbl table
15128 #: build/C/man2/syscalls.2:236
15129 #, no-wrap
15130 msgid "B<free_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
15131 msgstr ""
15132
15133 #. type: tbl table
15134 #: build/C/man2/syscalls.2:237
15135 #, no-wrap
15136 msgid "B<fremovexattr>(2)\t2.6; 2.4.18\n"
15137 msgstr ""
15138
15139 #. type: tbl table
15140 #: build/C/man2/syscalls.2:238
15141 #, no-wrap
15142 msgid "B<fsetxattr>(2)\t2.6; 2.4.18\n"
15143 msgstr ""
15144
15145 #. type: tbl table
15146 #: build/C/man2/syscalls.2:239
15147 #, no-wrap
15148 msgid "B<fstat>(2)\t1.0\n"
15149 msgstr ""
15150
15151 #. type: tbl table
15152 #: build/C/man2/syscalls.2:240
15153 #, no-wrap
15154 msgid "B<fstat64>(2)\t2.4\n"
15155 msgstr ""
15156
15157 #. type: tbl table
15158 #: build/C/man2/syscalls.2:241
15159 #, no-wrap
15160 msgid "B<fstatat64>(2)\t2.6.16\n"
15161 msgstr ""
15162
15163 #. type: tbl table
15164 #: build/C/man2/syscalls.2:242
15165 #, no-wrap
15166 msgid "B<fstatfs>(2)\t1.0\n"
15167 msgstr ""
15168
15169 #. type: tbl table
15170 #: build/C/man2/syscalls.2:243
15171 #, no-wrap
15172 msgid "B<fstatfs64>(2)\t2.6\n"
15173 msgstr ""
15174
15175 #. type: tbl table
15176 #: build/C/man2/syscalls.2:244
15177 #, no-wrap
15178 msgid "B<fsync>(2)\t1.0\t1.0\n"
15179 msgstr ""
15180
15181 #. type: tbl table
15182 #: build/C/man2/syscalls.2:245
15183 #, no-wrap
15184 msgid "B<ftruncate>(2)\t1.0\n"
15185 msgstr ""
15186
15187 #. type: tbl table
15188 #: build/C/man2/syscalls.2:246
15189 #, no-wrap
15190 msgid "B<ftruncate64>(2)\t2.4\n"
15191 msgstr ""
15192
15193 #. type: tbl table
15194 #: build/C/man2/syscalls.2:247
15195 #, no-wrap
15196 msgid "B<futex>(2)\t2.6\n"
15197 msgstr ""
15198
15199 #. type: tbl table
15200 #: build/C/man2/syscalls.2:248
15201 #, no-wrap
15202 msgid "B<futimesat>(2)\t2.6.16\n"
15203 msgstr ""
15204
15205 #. type: tbl table
15206 #: build/C/man2/syscalls.2:249
15207 #, no-wrap
15208 msgid "B<get_kernel_syms>(2)\t\tRemoved in 2.6\n"
15209 msgstr ""
15210
15211 #. type: tbl table
15212 #: build/C/man2/syscalls.2:250
15213 #, no-wrap
15214 msgid "B<get_mempolicy>(2)\t2.6.6\n"
15215 msgstr ""
15216
15217 #. type: tbl table
15218 #: build/C/man2/syscalls.2:251
15219 #, no-wrap
15220 msgid "B<get_robust_list>(2)\t2.6.17\n"
15221 msgstr ""
15222
15223 #. type: tbl table
15224 #: build/C/man2/syscalls.2:252
15225 #, no-wrap
15226 msgid "B<get_thread_area>(2)\t2.6\n"
15227 msgstr ""
15228
15229 #. type: tbl table
15230 #: build/C/man2/syscalls.2:253
15231 #, no-wrap
15232 msgid "B<getcpu>(2)\t2.6.19\n"
15233 msgstr ""
15234
15235 #. type: tbl table
15236 #: build/C/man2/syscalls.2:254
15237 #, no-wrap
15238 msgid "B<getcwd>(2)\t2.2\n"
15239 msgstr ""
15240
15241 #. type: tbl table
15242 #: build/C/man2/syscalls.2:255
15243 #, no-wrap
15244 msgid "B<getdents>(2)\t2.0\n"
15245 msgstr ""
15246
15247 #. type: tbl table
15248 #: build/C/man2/syscalls.2:256
15249 #, no-wrap
15250 msgid "B<getdents64>(2)\t2.4\n"
15251 msgstr ""
15252
15253 #. type: tbl table
15254 #: build/C/man2/syscalls.2:257
15255 #, no-wrap
15256 msgid "B<getegid>(2)\t1.0\n"
15257 msgstr ""
15258
15259 #. type: tbl table
15260 #: build/C/man2/syscalls.2:258
15261 #, no-wrap
15262 msgid "B<getegid32>(2)\t2.4\n"
15263 msgstr ""
15264
15265 #. type: tbl table
15266 #: build/C/man2/syscalls.2:259
15267 #, no-wrap
15268 msgid "B<geteuid>(2)\t1.0\n"
15269 msgstr ""
15270
15271 #. type: tbl table
15272 #: build/C/man2/syscalls.2:260
15273 #, no-wrap
15274 msgid "B<geteuid32>(2)\t2.4\n"
15275 msgstr ""
15276
15277 #. type: tbl table
15278 #: build/C/man2/syscalls.2:261
15279 #, no-wrap
15280 msgid "B<getgid>(2)\t1.0\n"
15281 msgstr ""
15282
15283 #. type: tbl table
15284 #: build/C/man2/syscalls.2:262
15285 #, no-wrap
15286 msgid "B<getgid32>(2)\t2.4\n"
15287 msgstr ""
15288
15289 #. type: tbl table
15290 #: build/C/man2/syscalls.2:263
15291 #, no-wrap
15292 msgid "B<getgroups>(2)\t1.0\n"
15293 msgstr ""
15294
15295 #. type: tbl table
15296 #: build/C/man2/syscalls.2:264
15297 #, no-wrap
15298 msgid "B<getgroups32>(2)\t2.4\n"
15299 msgstr ""
15300
15301 #. type: tbl table
15302 #: build/C/man2/syscalls.2:265
15303 #, no-wrap
15304 msgid "B<getitimer>(2)\t1.0\n"
15305 msgstr ""
15306
15307 #. type: tbl table
15308 #: build/C/man2/syscalls.2:266
15309 #, no-wrap
15310 msgid "B<getpeername>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15311 msgstr ""
15312
15313 #. type: tbl table
15314 #: build/C/man2/syscalls.2:267
15315 #, no-wrap
15316 msgid "B<getpagesize>(2)\t2.0\tNot on x86\n"
15317 msgstr ""
15318
15319 #. type: tbl table
15320 #: build/C/man2/syscalls.2:268
15321 #, no-wrap
15322 msgid "B<getpgid>(2)\t1.0\n"
15323 msgstr ""
15324
15325 #. type: tbl table
15326 #: build/C/man2/syscalls.2:269
15327 #, no-wrap
15328 msgid "B<getpgrp>(2)\t1.0\n"
15329 msgstr ""
15330
15331 #. type: tbl table
15332 #: build/C/man2/syscalls.2:270
15333 #, no-wrap
15334 msgid "B<getpid>(2)\t1.0\n"
15335 msgstr ""
15336
15337 #. type: tbl table
15338 #: build/C/man2/syscalls.2:271
15339 #, no-wrap
15340 msgid "B<getppid>(2)\t1.0\n"
15341 msgstr ""
15342
15343 #. type: tbl table
15344 #: build/C/man2/syscalls.2:272
15345 #, no-wrap
15346 msgid "B<getpriority>(2)\t1.0\n"
15347 msgstr ""
15348
15349 #. type: tbl table
15350 #: build/C/man2/syscalls.2:273
15351 #, no-wrap
15352 msgid "B<getresgid>(2)\t2.2\n"
15353 msgstr ""
15354
15355 #. type: tbl table
15356 #: build/C/man2/syscalls.2:274
15357 #, no-wrap
15358 msgid "B<getresgid32>(2)\t2.4\n"
15359 msgstr ""
15360
15361 #. type: tbl table
15362 #: build/C/man2/syscalls.2:275
15363 #, no-wrap
15364 msgid "B<getresuid>(2)\t2.2\n"
15365 msgstr ""
15366
15367 #. type: tbl table
15368 #: build/C/man2/syscalls.2:276
15369 #, no-wrap
15370 msgid "B<getresuid32>(2)\t2.4\n"
15371 msgstr ""
15372
15373 #. type: tbl table
15374 #: build/C/man2/syscalls.2:277
15375 #, no-wrap
15376 msgid "B<getrlimit>(2)\t1.0\n"
15377 msgstr ""
15378
15379 #. type: tbl table
15380 #: build/C/man2/syscalls.2:278
15381 #, no-wrap
15382 msgid "B<getrusage>(2)\t1.0\n"
15383 msgstr ""
15384
15385 #. type: tbl table
15386 #: build/C/man2/syscalls.2:279
15387 #, no-wrap
15388 msgid "B<getsid>(2)\t2.0\n"
15389 msgstr ""
15390
15391 #. type: tbl table
15392 #: build/C/man2/syscalls.2:280
15393 #, no-wrap
15394 msgid "B<getsockname>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15395 msgstr ""
15396
15397 #. type: tbl table
15398 #: build/C/man2/syscalls.2:281
15399 #, no-wrap
15400 msgid "B<getsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15401 msgstr ""
15402
15403 #. type: tbl table
15404 #: build/C/man2/syscalls.2:282
15405 #, no-wrap
15406 msgid "B<gettid>(2)\t2.4.11\n"
15407 msgstr ""
15408
15409 #. type: tbl table
15410 #: build/C/man2/syscalls.2:283
15411 #, no-wrap
15412 msgid "B<gettimeofday>(2)\t1.0\n"
15413 msgstr ""
15414
15415 #. type: tbl table
15416 #: build/C/man2/syscalls.2:284
15417 #, no-wrap
15418 msgid "B<getuid>(2)\t1.0\n"
15419 msgstr ""
15420
15421 #. type: tbl table
15422 #: build/C/man2/syscalls.2:285
15423 #, no-wrap
15424 msgid "B<getuid32>(2)\t2.4\n"
15425 msgstr ""
15426
15427 #.  \fBgetunwind\fP(2)  2.4.8   ia64; DEPRECATED
15428 #. type: tbl table
15429 #: build/C/man2/syscalls.2:287
15430 #, no-wrap
15431 msgid "B<getxattr>(2)\t2.6; 2.4.18\n"
15432 msgstr ""
15433
15434 #. type: tbl table
15435 #: build/C/man2/syscalls.2:288
15436 #, no-wrap
15437 msgid "B<init_module>(2)\t1.0\n"
15438 msgstr ""
15439
15440 #. type: tbl table
15441 #: build/C/man2/syscalls.2:289
15442 #, no-wrap
15443 msgid "B<inotify_add_watch>(2)\t2.6.13\n"
15444 msgstr ""
15445
15446 #. type: tbl table
15447 #: build/C/man2/syscalls.2:290
15448 #, no-wrap
15449 msgid "B<inotify_init>(2)\t2.6.13\n"
15450 msgstr ""
15451
15452 #. type: tbl table
15453 #: build/C/man2/syscalls.2:291
15454 #, no-wrap
15455 msgid "B<inotify_init1>(2)\t2.6.27\n"
15456 msgstr ""
15457
15458 #. type: tbl table
15459 #: build/C/man2/syscalls.2:292
15460 #, no-wrap
15461 msgid "B<inotify_rm_watch>(2)\t2.6.13\n"
15462 msgstr ""
15463
15464 #. type: tbl table
15465 #: build/C/man2/syscalls.2:293
15466 #, no-wrap
15467 msgid "B<io_cancel>(2)\t2.6\n"
15468 msgstr ""
15469
15470 #. type: tbl table
15471 #: build/C/man2/syscalls.2:294
15472 #, no-wrap
15473 msgid "B<io_destroy>(2)\t2.6\n"
15474 msgstr ""
15475
15476 #. type: tbl table
15477 #: build/C/man2/syscalls.2:295
15478 #, no-wrap
15479 msgid "B<io_getevents>(2)\t2.6\n"
15480 msgstr ""
15481
15482 #. type: tbl table
15483 #: build/C/man2/syscalls.2:296
15484 #, no-wrap
15485 msgid "B<io_setup>(2)\t2.6\n"
15486 msgstr ""
15487
15488 #. type: tbl table
15489 #: build/C/man2/syscalls.2:297
15490 #, no-wrap
15491 msgid "B<io_submit>(2)\t2.6\n"
15492 msgstr ""
15493
15494 #. type: tbl table
15495 #: build/C/man2/syscalls.2:298
15496 #, no-wrap
15497 msgid "B<ioctl>(2)\t1.0\n"
15498 msgstr ""
15499
15500 #. type: tbl table
15501 #: build/C/man2/syscalls.2:299
15502 #, no-wrap
15503 msgid "B<ioperm>(2)\t1.0\n"
15504 msgstr ""
15505
15506 #. type: tbl table
15507 #: build/C/man2/syscalls.2:300
15508 #, no-wrap
15509 msgid "B<iopl>(2)\t1.0\n"
15510 msgstr ""
15511
15512 #. type: tbl table
15513 #: build/C/man2/syscalls.2:301
15514 #, no-wrap
15515 msgid "B<ioprio_get>(2)\t2.6.13\n"
15516 msgstr ""
15517
15518 #. type: tbl table
15519 #: build/C/man2/syscalls.2:302
15520 #, no-wrap
15521 msgid "B<ioprio_set>(2)\t2.6.13\n"
15522 msgstr ""
15523
15524 #. type: tbl table
15525 #: build/C/man2/syscalls.2:303
15526 #, no-wrap
15527 msgid "B<ipc>(2)\t1.0\n"
15528 msgstr ""
15529
15530 #.  Implements System V IPC calls
15531 #. type: tbl table
15532 #: build/C/man2/syscalls.2:305
15533 #, no-wrap
15534 msgid "B<kcmp>(2)\t3.5\n"
15535 msgstr ""
15536
15537 #. type: tbl table
15538 #: build/C/man2/syscalls.2:306
15539 #, no-wrap
15540 msgid "B<kern_features>(2)\t3.7\tSparc64\n"
15541 msgstr ""
15542
15543 #.  FIXME: document kern_features():
15544 #.  commit 517ffce4e1a03aea979fe3a18a3dd1761a24fafb
15545 #. type: tbl table
15546 #: build/C/man2/syscalls.2:309
15547 #, no-wrap
15548 msgid "B<kexec_load>(2)\t2.6.13\n"
15549 msgstr ""
15550
15551 #.  The entry in the syscall table was reserved starting in 2.6.7
15552 #.  Was named sys_kexec_load() from 2.6.7 to 2.6.16
15553 #. type: tbl table
15554 #: build/C/man2/syscalls.2:312
15555 #, no-wrap
15556 msgid "B<keyctl>(2)\t2.6.11\n"
15557 msgstr ""
15558
15559 #. type: tbl table
15560 #: build/C/man2/syscalls.2:313
15561 #, no-wrap
15562 msgid "B<kill>(2)\t1.0\n"
15563 msgstr ""
15564
15565 #. type: tbl table
15566 #: build/C/man2/syscalls.2:314
15567 #, no-wrap
15568 msgid "B<lchown>(2)\t1.0\tT{\n"
15569 msgstr ""
15570
15571 #. type: tbl table
15572 #: build/C/man2/syscalls.2:319
15573 #, no-wrap
15574 msgid "B<lchown32>(2)\t2.4\n"
15575 msgstr ""
15576
15577 #. type: tbl table
15578 #: build/C/man2/syscalls.2:320
15579 #, no-wrap
15580 msgid "B<lgetxattr>(2)\t2.6; 2.4.18\n"
15581 msgstr ""
15582
15583 #. type: tbl table
15584 #: build/C/man2/syscalls.2:321
15585 #, no-wrap
15586 msgid "B<link>(2)\t1.0\n"
15587 msgstr ""
15588
15589 #. type: tbl table
15590 #: build/C/man2/syscalls.2:322
15591 #, no-wrap
15592 msgid "B<linkat>(2)\t2.6.16\n"
15593 msgstr ""
15594
15595 #. type: tbl table
15596 #: build/C/man2/syscalls.2:323
15597 #, no-wrap
15598 msgid "B<listen>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15599 msgstr ""
15600
15601 #. type: tbl table
15602 #: build/C/man2/syscalls.2:324
15603 #, no-wrap
15604 msgid "B<listxattr>(2)\t2.6; 2.4.18\n"
15605 msgstr ""
15606
15607 #. type: tbl table
15608 #: build/C/man2/syscalls.2:325
15609 #, no-wrap
15610 msgid "B<llistxattr>(2)\t2.6; 2.4.18\n"
15611 msgstr ""
15612
15613 #. type: tbl table
15614 #: build/C/man2/syscalls.2:326
15615 #, no-wrap
15616 msgid "B<lookup_dcookie>(2)\t2.6\n"
15617 msgstr ""
15618
15619 #. type: tbl table
15620 #: build/C/man2/syscalls.2:327
15621 #, no-wrap
15622 msgid "B<lremovexattr>(2)\t2.6; 2.4.18\n"
15623 msgstr ""
15624
15625 #. type: tbl table
15626 #: build/C/man2/syscalls.2:328
15627 #, no-wrap
15628 msgid "B<lseek>(2)\t1.0\n"
15629 msgstr ""
15630
15631 #. type: tbl table
15632 #: build/C/man2/syscalls.2:329
15633 #, no-wrap
15634 msgid "B<lsetxattr>(2)\t2.6; 2.4.18\n"
15635 msgstr ""
15636
15637 #. type: tbl table
15638 #: build/C/man2/syscalls.2:330
15639 #, no-wrap
15640 msgid "B<lstat>(2)\t1.0\n"
15641 msgstr ""
15642
15643 #. type: tbl table
15644 #: build/C/man2/syscalls.2:331
15645 #, no-wrap
15646 msgid "B<lstat64>(2)\t2.4\n"
15647 msgstr ""
15648
15649 #. type: tbl table
15650 #: build/C/man2/syscalls.2:332
15651 #, no-wrap
15652 msgid "B<madvise>(2)\t2.4\n"
15653 msgstr ""
15654
15655 #. type: tbl table
15656 #: build/C/man2/syscalls.2:333
15657 #, no-wrap
15658 msgid "B<mbind>(2)\t2.6.6\n"
15659 msgstr ""
15660
15661 #.  \fBmemory_ordering\fP(2)    ???     Sparc64
15662 #. type: tbl table
15663 #: build/C/man2/syscalls.2:335
15664 #, no-wrap
15665 msgid "B<migrate_pages>(2)\t2.6.16\n"
15666 msgstr ""
15667
15668 #. type: tbl table
15669 #: build/C/man2/syscalls.2:336
15670 #, no-wrap
15671 msgid "B<mincore>(2)\t2.4\n"
15672 msgstr ""
15673
15674 #. type: tbl table
15675 #: build/C/man2/syscalls.2:337
15676 #, no-wrap
15677 msgid "B<mkdir>(2)\t1.0\n"
15678 msgstr ""
15679
15680 #. type: tbl table
15681 #: build/C/man2/syscalls.2:338
15682 #, no-wrap
15683 msgid "B<mkdirat>(2)\t2.6.16\n"
15684 msgstr ""
15685
15686 #. type: tbl table
15687 #: build/C/man2/syscalls.2:339
15688 #, no-wrap
15689 msgid "B<mknod>(2)\t1.0\n"
15690 msgstr ""
15691
15692 #. type: tbl table
15693 #: build/C/man2/syscalls.2:340
15694 #, no-wrap
15695 msgid "B<mknodat>(2)\t2.6.16\n"
15696 msgstr ""
15697
15698 #. type: tbl table
15699 #: build/C/man2/syscalls.2:341
15700 #, no-wrap
15701 msgid "B<mlock>(2)\t2.0\n"
15702 msgstr ""
15703
15704 #. type: tbl table
15705 #: build/C/man2/syscalls.2:342
15706 #, no-wrap
15707 msgid "B<mlockall>(2)\t2.0\n"
15708 msgstr ""
15709
15710 #. type: tbl table
15711 #: build/C/man2/syscalls.2:343
15712 #, no-wrap
15713 msgid "B<mmap>(2)\t1.0\n"
15714 msgstr ""
15715
15716 #. type: tbl table
15717 #: build/C/man2/syscalls.2:344
15718 #, no-wrap
15719 msgid "B<mmap2>(2)\t2.4\n"
15720 msgstr ""
15721
15722 #. type: tbl table
15723 #: build/C/man2/syscalls.2:345
15724 #, no-wrap
15725 msgid "B<modify_ldt>(2)\t1.0\n"
15726 msgstr ""
15727
15728 #. type: tbl table
15729 #: build/C/man2/syscalls.2:346
15730 #, no-wrap
15731 msgid "B<mount>(2)\t1.0\n"
15732 msgstr ""
15733
15734 #. type: tbl table
15735 #: build/C/man2/syscalls.2:347
15736 #, no-wrap
15737 msgid "B<move_pages>(2)\t2.6.18\n"
15738 msgstr ""
15739
15740 #. type: tbl table
15741 #: build/C/man2/syscalls.2:348
15742 #, no-wrap
15743 msgid "B<mprotect>(2)\t1.0\n"
15744 msgstr ""
15745
15746 #. type: tbl table
15747 #: build/C/man2/syscalls.2:349
15748 #, no-wrap
15749 msgid "B<mq_getsetattr>(2)\t2.6.6\n"
15750 msgstr ""
15751
15752 #.  Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
15753 #. type: tbl table
15754 #: build/C/man2/syscalls.2:351
15755 #, no-wrap
15756 msgid "B<mq_notify>(2)\t2.6.6\n"
15757 msgstr ""
15758
15759 #. type: tbl table
15760 #: build/C/man2/syscalls.2:352
15761 #, no-wrap
15762 msgid "B<mq_open>(2)\t2.6.6\n"
15763 msgstr ""
15764
15765 #. type: tbl table
15766 #: build/C/man2/syscalls.2:353
15767 #, no-wrap
15768 msgid "B<mq_timedreceive>(2)\t2.6.6\n"
15769 msgstr ""
15770
15771 #. type: tbl table
15772 #: build/C/man2/syscalls.2:354
15773 #, no-wrap
15774 msgid "B<mq_timedsend>(2)\t2.6.6\n"
15775 msgstr ""
15776
15777 #. type: tbl table
15778 #: build/C/man2/syscalls.2:355
15779 #, no-wrap
15780 msgid "B<mq_unlink>(2)\t2.6.6\n"
15781 msgstr ""
15782
15783 #. type: tbl table
15784 #: build/C/man2/syscalls.2:356
15785 #, no-wrap
15786 msgid "B<mremap>(2)\t2.0\n"
15787 msgstr ""
15788
15789 #. type: tbl table
15790 #: build/C/man2/syscalls.2:357
15791 #, no-wrap
15792 msgid "B<msgctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15793 msgstr ""
15794
15795 #. type: tbl table
15796 #: build/C/man2/syscalls.2:358
15797 #, no-wrap
15798 msgid "B<msgget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15799 msgstr ""
15800
15801 #. type: tbl table
15802 #: build/C/man2/syscalls.2:359
15803 #, no-wrap
15804 msgid "B<msgrcv>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15805 msgstr ""
15806
15807 #. type: tbl table
15808 #: build/C/man2/syscalls.2:360
15809 #, no-wrap
15810 msgid "B<msgsnd>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15811 msgstr ""
15812
15813 #. type: tbl table
15814 #: build/C/man2/syscalls.2:361
15815 #, no-wrap
15816 msgid "B<msync>(2)\t2.0\n"
15817 msgstr ""
15818
15819 #.  \fBmultiplexer\fP(2)        ??      __NR_multiplexer reserved on
15820 #.              PowerPC, but unimplemented?
15821 #. type: tbl table
15822 #: build/C/man2/syscalls.2:364
15823 #, no-wrap
15824 msgid "B<munlock>(2)\t2.0\n"
15825 msgstr ""
15826
15827 #. type: tbl table
15828 #: build/C/man2/syscalls.2:365
15829 #, no-wrap
15830 msgid "B<munlockall>(2)\t2.0\n"
15831 msgstr ""
15832
15833 #. type: tbl table
15834 #: build/C/man2/syscalls.2:366
15835 #, no-wrap
15836 msgid "B<munmap>(2)\t1.0\n"
15837 msgstr ""
15838
15839 #. type: tbl table
15840 #: build/C/man2/syscalls.2:367
15841 #, no-wrap
15842 msgid "B<name_to_handle_at>(2)\t2.6.39\n"
15843 msgstr ""
15844
15845 #. type: tbl table
15846 #: build/C/man2/syscalls.2:368
15847 #, no-wrap
15848 msgid "B<nanosleep>(2)\t2.0\n"
15849 msgstr ""
15850
15851 #. type: tbl table
15852 #: build/C/man2/syscalls.2:369
15853 #, no-wrap
15854 msgid "B<nfsservctl>(2)\t2.2\tRemoved in 3.1\n"
15855 msgstr ""
15856
15857 #. type: tbl table
15858 #: build/C/man2/syscalls.2:370
15859 #, no-wrap
15860 msgid "B<nice>(2)\t1.0\n"
15861 msgstr ""
15862
15863 #. type: tbl table
15864 #: build/C/man2/syscalls.2:371
15865 #, no-wrap
15866 msgid "B<oldfstat>(2)\t1.0\n"
15867 msgstr ""
15868
15869 #. type: tbl table
15870 #: build/C/man2/syscalls.2:372
15871 #, no-wrap
15872 msgid "B<oldlstat>(2)\t1.0\n"
15873 msgstr ""
15874
15875 #. type: tbl table
15876 #: build/C/man2/syscalls.2:373
15877 #, no-wrap
15878 msgid "B<oldolduname>(2)\t1.0\n"
15879 msgstr ""
15880
15881 #. type: tbl table
15882 #: build/C/man2/syscalls.2:374
15883 #, no-wrap
15884 msgid "B<oldstat>(2)\t1.0\n"
15885 msgstr ""
15886
15887 #. type: tbl table
15888 #: build/C/man2/syscalls.2:375
15889 #, no-wrap
15890 msgid "B<olduname>(2)\t1.0\n"
15891 msgstr ""
15892
15893 #. type: tbl table
15894 #: build/C/man2/syscalls.2:376
15895 #, no-wrap
15896 msgid "B<open>(2)\t1.0\n"
15897 msgstr ""
15898
15899 #. type: tbl table
15900 #: build/C/man2/syscalls.2:377
15901 #, no-wrap
15902 msgid "B<open_by_handle_at>(2)\t2.6.39\n"
15903 msgstr ""
15904
15905 #. type: tbl table
15906 #: build/C/man2/syscalls.2:378
15907 #, no-wrap
15908 msgid "B<openat>(2)\t2.6.16\n"
15909 msgstr ""
15910
15911 #. type: tbl table
15912 #: build/C/man2/syscalls.2:379
15913 #, no-wrap
15914 msgid "B<pause>(2)\t1.0\n"
15915 msgstr ""
15916
15917 #. type: tbl table
15918 #: build/C/man2/syscalls.2:380
15919 #, no-wrap
15920 msgid "B<pciconfig_iobase>(2)\t2.2.15; 2.4\tNot on x86\n"
15921 msgstr ""
15922
15923 #.  Alpha, PowerPC, ARM; not x86
15924 #. type: tbl table
15925 #: build/C/man2/syscalls.2:382
15926 #, no-wrap
15927 msgid "B<pciconfig_read>(2)\t2.0.26; 2.2\tNot on x86\n"
15928 msgstr ""
15929
15930 #.  , PowerPC, ARM; not x86
15931 #. type: tbl table
15932 #: build/C/man2/syscalls.2:384
15933 #, no-wrap
15934 msgid "B<pciconfig_write>(2)\t2.0.26; 2.2\tNot on x86\n"
15935 msgstr ""
15936
15937 #.  , PowerPC, ARM; not x86
15938 #. type: tbl table
15939 #: build/C/man2/syscalls.2:386
15940 #, no-wrap
15941 msgid "B<perf_event_open>(2)\t2.6.31\tT{\n"
15942 msgstr ""
15943
15944 #. type: tbl table
15945 #: build/C/man2/syscalls.2:387
15946 #, no-wrap
15947 msgid "Was called perf_counter_open()\n"
15948 msgstr ""
15949
15950 #. type: tbl table
15951 #: build/C/man2/syscalls.2:389
15952 #, no-wrap
15953 msgid "in 2.6.31; renamed in 2.6.32\n"
15954 msgstr ""
15955
15956 #. type: tbl table
15957 #: build/C/man2/syscalls.2:391
15958 #, no-wrap
15959 msgid "B<personality>(2)\t1.2\n"
15960 msgstr ""
15961
15962 #. type: tbl table
15963 #: build/C/man2/syscalls.2:392
15964 #, no-wrap
15965 msgid "B<perfctr>(2)\t2.2\tSparc; removed in 2.6.34\n"
15966 msgstr ""
15967
15968 #.      commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
15969 #. type: tbl table
15970 #: build/C/man2/syscalls.2:394
15971 #, no-wrap
15972 msgid "B<perfmonctl>(2)\t2.4\tia64\n"
15973 msgstr ""
15974
15975 #. type: tbl table
15976 #: build/C/man2/syscalls.2:395
15977 #, no-wrap
15978 msgid "B<pipe>(2)\t1.0\n"
15979 msgstr ""
15980
15981 #. type: tbl table
15982 #: build/C/man2/syscalls.2:396
15983 #, no-wrap
15984 msgid "B<pipe2>(2)\t2.6.27\n"
15985 msgstr ""
15986
15987 #. type: tbl table
15988 #: build/C/man2/syscalls.2:397
15989 #, no-wrap
15990 msgid "B<pivot_root>(2)\t2.4\n"
15991 msgstr ""
15992
15993 #. type: tbl table
15994 #: build/C/man2/syscalls.2:398
15995 #, no-wrap
15996 msgid "B<poll>(2)\t2.0.36; 2.2\n"
15997 msgstr ""
15998
15999 #. type: tbl table
16000 #: build/C/man2/syscalls.2:399
16001 #, no-wrap
16002 msgid "B<ppc_rtas>(2)\t\tPowerPC only\n"
16003 msgstr ""
16004
16005 #. type: tbl table
16006 #: build/C/man2/syscalls.2:400
16007 #, no-wrap
16008 msgid "B<ppoll>(2)\t2.6.16\n"
16009 msgstr ""
16010
16011 #. type: tbl table
16012 #: build/C/man2/syscalls.2:401
16013 #, no-wrap
16014 msgid "B<prctl>(2)\t2.2\n"
16015 msgstr ""
16016
16017 #. type: tbl table
16018 #: build/C/man2/syscalls.2:402
16019 #, no-wrap
16020 msgid "B<pread64>(2)\t\tT{\n"
16021 msgstr ""
16022
16023 #. type: tbl table
16024 #: build/C/man2/syscalls.2:403
16025 #, no-wrap
16026 msgid "Added as \"pread\" in 2.2;\n"
16027 msgstr ""
16028
16029 #. type: tbl table
16030 #: build/C/man2/syscalls.2:405
16031 #, no-wrap
16032 msgid "renamed \"pread64\" in 2.6\n"
16033 msgstr ""
16034
16035 #. type: tbl table
16036 #: build/C/man2/syscalls.2:407
16037 #, no-wrap
16038 msgid "B<preadv>(2)\t2.6.30\n"
16039 msgstr ""
16040
16041 #. type: tbl table
16042 #: build/C/man2/syscalls.2:408
16043 #, no-wrap
16044 msgid "B<prlimit>(2)\t2.6.36\n"
16045 msgstr ""
16046
16047 #. type: tbl table
16048 #: build/C/man2/syscalls.2:409
16049 #, no-wrap
16050 msgid "B<process_vm_readv>(2)\t3.2\n"
16051 msgstr ""
16052
16053 #. type: tbl table
16054 #: build/C/man2/syscalls.2:410
16055 #, no-wrap
16056 msgid "B<process_vm_writev>(2)\t3.2\n"
16057 msgstr ""
16058
16059 #. type: tbl table
16060 #: build/C/man2/syscalls.2:411
16061 #, no-wrap
16062 msgid "B<pselect6>(2)\t2.6.16\n"
16063 msgstr ""
16064
16065 #.  Implements \fBpselect\fP(2)
16066 #. type: tbl table
16067 #: build/C/man2/syscalls.2:413
16068 #, no-wrap
16069 msgid "B<ptrace>(2)\t1.0\n"
16070 msgstr ""
16071
16072 #. type: tbl table
16073 #: build/C/man2/syscalls.2:414
16074 #, no-wrap
16075 msgid "B<pwrite64>(2)\t\tT{\n"
16076 msgstr ""
16077
16078 #. type: tbl table
16079 #: build/C/man2/syscalls.2:415
16080 #, no-wrap
16081 msgid "Added as \"pwrite\" in 2.2;\n"
16082 msgstr ""
16083
16084 #. type: tbl table
16085 #: build/C/man2/syscalls.2:417
16086 #, no-wrap
16087 msgid "renamed \"pwrite64\" in 2.6\n"
16088 msgstr ""
16089
16090 #. type: tbl table
16091 #: build/C/man2/syscalls.2:419
16092 #, no-wrap
16093 msgid "B<pwritev>(2)\t2.6.30\n"
16094 msgstr ""
16095
16096 #. type: tbl table
16097 #: build/C/man2/syscalls.2:420
16098 #, no-wrap
16099 msgid "B<query_module>(2)\t2.2\tRemoved in 2.6\n"
16100 msgstr ""
16101
16102 #. type: tbl table
16103 #: build/C/man2/syscalls.2:421
16104 #, no-wrap
16105 msgid "B<quotactl>(2)\t1.0\n"
16106 msgstr ""
16107
16108 #. type: tbl table
16109 #: build/C/man2/syscalls.2:422
16110 #, no-wrap
16111 msgid "B<read>(2)\t1.0\n"
16112 msgstr ""
16113
16114 #. type: tbl table
16115 #: build/C/man2/syscalls.2:423
16116 #, no-wrap
16117 msgid "B<readahead>(2)\t2.4.13\n"
16118 msgstr ""
16119
16120 #. type: tbl table
16121 #: build/C/man2/syscalls.2:424
16122 #, no-wrap
16123 msgid "B<readdir>(2)\t1.0\n"
16124 msgstr ""
16125
16126 #.  Supersedes \fBgetdents\fP(2)
16127 #. type: tbl table
16128 #: build/C/man2/syscalls.2:426
16129 #, no-wrap
16130 msgid "B<readlink>(2)\t1.0\n"
16131 msgstr ""
16132
16133 #. type: tbl table
16134 #: build/C/man2/syscalls.2:427
16135 #, no-wrap
16136 msgid "B<readlinkat>(2)\t2.6.16\n"
16137 msgstr ""
16138
16139 #. type: tbl table
16140 #: build/C/man2/syscalls.2:428
16141 #, no-wrap
16142 msgid "B<readv>(2)\t2.0\n"
16143 msgstr ""
16144
16145 #. type: tbl table
16146 #: build/C/man2/syscalls.2:429
16147 #, no-wrap
16148 msgid "B<reboot>(2)\t1.0\n"
16149 msgstr ""
16150
16151 #. type: tbl table
16152 #: build/C/man2/syscalls.2:430
16153 #, no-wrap
16154 msgid "B<recv>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16155 msgstr ""
16156
16157 #. type: tbl table
16158 #: build/C/man2/syscalls.2:431
16159 #, no-wrap
16160 msgid "B<recvfrom>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16161 msgstr ""
16162
16163 #. type: tbl table
16164 #: build/C/man2/syscalls.2:432
16165 #, no-wrap
16166 msgid "B<recvmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16167 msgstr ""
16168
16169 #. type: tbl table
16170 #: build/C/man2/syscalls.2:433
16171 #, no-wrap
16172 msgid "B<recvmmsg>(2)\t2.6.33\n"
16173 msgstr ""
16174
16175 #. type: tbl table
16176 #: build/C/man2/syscalls.2:434
16177 #, no-wrap
16178 msgid "B<remap_file_pages>(2)\t2.6\n"
16179 msgstr ""
16180
16181 #. type: tbl table
16182 #: build/C/man2/syscalls.2:435
16183 #, no-wrap
16184 msgid "B<removexattr>(2)\t2.6; 2.4.18\n"
16185 msgstr ""
16186
16187 #. type: tbl table
16188 #: build/C/man2/syscalls.2:436
16189 #, no-wrap
16190 msgid "B<rename>(2)\t1.0\n"
16191 msgstr ""
16192
16193 #. type: tbl table
16194 #: build/C/man2/syscalls.2:437
16195 #, no-wrap
16196 msgid "B<renameat>(2)\t2.6.16\n"
16197 msgstr ""
16198
16199 #. type: tbl table
16200 #: build/C/man2/syscalls.2:438
16201 #, no-wrap
16202 msgid "B<renameat2>(2)\t3.15\n"
16203 msgstr ""
16204
16205 #. type: tbl table
16206 #: build/C/man2/syscalls.2:439
16207 #, no-wrap
16208 msgid "B<request_key>(2)\t2.6.11\n"
16209 msgstr ""
16210
16211 #. type: tbl table
16212 #: build/C/man2/syscalls.2:440
16213 #, no-wrap
16214 msgid "B<restart_syscall>(2)\t2.6\n"
16215 msgstr ""
16216
16217 #. type: tbl table
16218 #: build/C/man2/syscalls.2:441
16219 #, no-wrap
16220 msgid "B<rmdir>(2)\t1.0\n"
16221 msgstr ""
16222
16223 #. type: tbl table
16224 #: build/C/man2/syscalls.2:442
16225 #, no-wrap
16226 msgid "B<rt_sigaction>(2)\t2.2\n"
16227 msgstr ""
16228
16229 #. type: tbl table
16230 #: build/C/man2/syscalls.2:443
16231 #, no-wrap
16232 msgid "B<rt_sigpending>(2)\t2.2\n"
16233 msgstr ""
16234
16235 #. type: tbl table
16236 #: build/C/man2/syscalls.2:444
16237 #, no-wrap
16238 msgid "B<rt_sigprocmask>(2)\t2.2\n"
16239 msgstr ""
16240
16241 #. type: tbl table
16242 #: build/C/man2/syscalls.2:445
16243 #, no-wrap
16244 msgid "B<rt_sigqueueinfo>(2)\t2.2\n"
16245 msgstr ""
16246
16247 #. type: tbl table
16248 #: build/C/man2/syscalls.2:446
16249 #, no-wrap
16250 msgid "B<rt_sigreturn>(2)\t2.2\n"
16251 msgstr ""
16252
16253 #. type: tbl table
16254 #: build/C/man2/syscalls.2:447
16255 #, no-wrap
16256 msgid "B<rt_sigsuspend>(2)\t2.2\n"
16257 msgstr ""
16258
16259 #. type: tbl table
16260 #: build/C/man2/syscalls.2:448
16261 #, no-wrap
16262 msgid "B<rt_sigtimedwait>(2)\t2.2\n"
16263 msgstr ""
16264
16265 #. type: tbl table
16266 #: build/C/man2/syscalls.2:449
16267 #, no-wrap
16268 msgid "B<rt_tgsigqueueinfo>(2)\t2.6.31\n"
16269 msgstr ""
16270
16271 #. type: tbl table
16272 #: build/C/man2/syscalls.2:450
16273 #, no-wrap
16274 msgid "B<s390_runtime_instr>(2)\t3.7\ts390 only\n"
16275 msgstr ""
16276
16277 #. type: tbl table
16278 #: build/C/man2/syscalls.2:451
16279 #, no-wrap
16280 msgid "B<sched_get_priority_max>(2)\t2.0\n"
16281 msgstr ""
16282
16283 #. type: tbl table
16284 #: build/C/man2/syscalls.2:452
16285 #, no-wrap
16286 msgid "B<sched_get_priority_min>(2)\t2.0\n"
16287 msgstr ""
16288
16289 #. type: tbl table
16290 #: build/C/man2/syscalls.2:453
16291 #, no-wrap
16292 msgid "B<sched_getaffinity>(2)\t2.6\n"
16293 msgstr ""
16294
16295 #. type: tbl table
16296 #: build/C/man2/syscalls.2:454
16297 #, no-wrap
16298 msgid "B<sched_getattr>(2)\t3.14\n"
16299 msgstr ""
16300
16301 #. type: tbl table
16302 #: build/C/man2/syscalls.2:455
16303 #, no-wrap
16304 msgid "B<sched_getparam>(2)\t2.0\n"
16305 msgstr ""
16306
16307 #. type: tbl table
16308 #: build/C/man2/syscalls.2:456
16309 #, no-wrap
16310 msgid "B<sched_getscheduler>(2)\t2.0\n"
16311 msgstr ""
16312
16313 #. type: tbl table
16314 #: build/C/man2/syscalls.2:457
16315 #, no-wrap
16316 msgid "B<sched_rr_get_interval>(2)\t2.0\n"
16317 msgstr ""
16318
16319 #. type: tbl table
16320 #: build/C/man2/syscalls.2:458
16321 #, no-wrap
16322 msgid "B<sched_setaffinity>(2)\t2.6\n"
16323 msgstr ""
16324
16325 #. type: tbl table
16326 #: build/C/man2/syscalls.2:459
16327 #, no-wrap
16328 msgid "B<sched_setattr>(2)\t3.14\n"
16329 msgstr ""
16330
16331 #. type: tbl table
16332 #: build/C/man2/syscalls.2:460
16333 #, no-wrap
16334 msgid "B<sched_setparam>(2)\t2.0\n"
16335 msgstr ""
16336
16337 #. type: tbl table
16338 #: build/C/man2/syscalls.2:461
16339 #, no-wrap
16340 msgid "B<sched_setscheduler>(2)\t2.0\n"
16341 msgstr ""
16342
16343 #. type: tbl table
16344 #: build/C/man2/syscalls.2:462
16345 #, no-wrap
16346 msgid "B<sched_yield>(2)\t2.0\n"
16347 msgstr ""
16348
16349 #. type: tbl table
16350 #: build/C/man2/syscalls.2:463
16351 #, no-wrap
16352 msgid "B<select>(2)\t1.0\n"
16353 msgstr ""
16354
16355 #. type: tbl table
16356 #: build/C/man2/syscalls.2:464
16357 #, no-wrap
16358 msgid "B<semctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16359 msgstr ""
16360
16361 #. type: tbl table
16362 #: build/C/man2/syscalls.2:465
16363 #, no-wrap
16364 msgid "B<semget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16365 msgstr ""
16366
16367 #. type: tbl table
16368 #: build/C/man2/syscalls.2:466
16369 #, no-wrap
16370 msgid "B<semop>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16371 msgstr ""
16372
16373 #. type: tbl table
16374 #: build/C/man2/syscalls.2:467
16375 #, no-wrap
16376 msgid "B<semtimedop>(2)\t2.6; 2.4.22\n"
16377 msgstr ""
16378
16379 #. type: tbl table
16380 #: build/C/man2/syscalls.2:468
16381 #, no-wrap
16382 msgid "B<send>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16383 msgstr ""
16384
16385 #. type: tbl table
16386 #: build/C/man2/syscalls.2:469
16387 #, no-wrap
16388 msgid "B<sendfile>(2)\t2.2\n"
16389 msgstr ""
16390
16391 #. type: tbl table
16392 #: build/C/man2/syscalls.2:470
16393 #, no-wrap
16394 msgid "B<sendfile64>(2)\t2.6; 2.4.19\n"
16395 msgstr ""
16396
16397 #. type: tbl table
16398 #: build/C/man2/syscalls.2:471
16399 #, no-wrap
16400 msgid "B<sendmmsg>(2)\t3.0\n"
16401 msgstr ""
16402
16403 #. type: tbl table
16404 #: build/C/man2/syscalls.2:472
16405 #, no-wrap
16406 msgid "B<sendmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16407 msgstr ""
16408
16409 #. type: tbl table
16410 #: build/C/man2/syscalls.2:473
16411 #, no-wrap
16412 msgid "B<sendto>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16413 msgstr ""
16414
16415 #. type: tbl table
16416 #: build/C/man2/syscalls.2:474
16417 #, no-wrap
16418 msgid "B<set_mempolicy>(2)\t2.6.6\n"
16419 msgstr ""
16420
16421 #. type: tbl table
16422 #: build/C/man2/syscalls.2:475
16423 #, no-wrap
16424 msgid "B<set_robust_list>(2)\t2.6.17\n"
16425 msgstr ""
16426
16427 #. type: tbl table
16428 #: build/C/man2/syscalls.2:476
16429 #, no-wrap
16430 msgid "B<set_thread_area>(2)\t2.6\n"
16431 msgstr ""
16432
16433 #. type: tbl table
16434 #: build/C/man2/syscalls.2:477
16435 #, no-wrap
16436 msgid "B<set_tid_address>(2)\t2.6\n"
16437 msgstr ""
16438
16439 #.  See http://lkml.org/lkml/2005/8/1/83
16440 #.  "[PATCH] remove sys_set_zone_reclaim()"
16441 #. type: tbl table
16442 #: build/C/man2/syscalls.2:480
16443 #, no-wrap
16444 msgid "B<setdomainname>(2)\t1.0\n"
16445 msgstr ""
16446
16447 #. type: tbl table
16448 #: build/C/man2/syscalls.2:481
16449 #, no-wrap
16450 msgid "B<setfsgid>(2)\t1.2\n"
16451 msgstr ""
16452
16453 #. type: tbl table
16454 #: build/C/man2/syscalls.2:482
16455 #, no-wrap
16456 msgid "B<setfsgid32>(2)\t2.4\n"
16457 msgstr ""
16458
16459 #. type: tbl table
16460 #: build/C/man2/syscalls.2:483
16461 #, no-wrap
16462 msgid "B<setfsuid>(2)\t1.2\n"
16463 msgstr ""
16464
16465 #. type: tbl table
16466 #: build/C/man2/syscalls.2:484
16467 #, no-wrap
16468 msgid "B<setfsuid32>(2)\t2.4\n"
16469 msgstr ""
16470
16471 #. type: tbl table
16472 #: build/C/man2/syscalls.2:485
16473 #, no-wrap
16474 msgid "B<setgid>(2)\t1.0\n"
16475 msgstr ""
16476
16477 #. type: tbl table
16478 #: build/C/man2/syscalls.2:486
16479 #, no-wrap
16480 msgid "B<setgid32>(2)\t2.4\n"
16481 msgstr ""
16482
16483 #. type: tbl table
16484 #: build/C/man2/syscalls.2:487
16485 #, no-wrap
16486 msgid "B<setgroups>(2)\t1.0\n"
16487 msgstr ""
16488
16489 #. type: tbl table
16490 #: build/C/man2/syscalls.2:488
16491 #, no-wrap
16492 msgid "B<setgroups32>(2)\t2.4\n"
16493 msgstr ""
16494
16495 #. type: tbl table
16496 #: build/C/man2/syscalls.2:489
16497 #, no-wrap
16498 msgid "B<sethostname>(2)\t1.0\n"
16499 msgstr ""
16500
16501 #. type: tbl table
16502 #: build/C/man2/syscalls.2:490
16503 #, no-wrap
16504 msgid "B<setitimer>(2)\t1.0\n"
16505 msgstr ""
16506
16507 #. type: tbl table
16508 #: build/C/man2/syscalls.2:491
16509 #, no-wrap
16510 msgid "B<setns>(2)\t3.0\n"
16511 msgstr ""
16512
16513 #. type: tbl table
16514 #: build/C/man2/syscalls.2:492
16515 #, no-wrap
16516 msgid "B<setpgid>(2)\t1.0\n"
16517 msgstr ""
16518
16519 #. type: tbl table
16520 #: build/C/man2/syscalls.2:493
16521 #, no-wrap
16522 msgid "B<setpriority>(2)\t1.0\n"
16523 msgstr ""
16524
16525 #. type: tbl table
16526 #: build/C/man2/syscalls.2:494
16527 #, no-wrap
16528 msgid "B<setregid>(2)\t1.0\n"
16529 msgstr ""
16530
16531 #. type: tbl table
16532 #: build/C/man2/syscalls.2:495
16533 #, no-wrap
16534 msgid "B<setregid32>(2)\t2.4\n"
16535 msgstr ""
16536
16537 #. type: tbl table
16538 #: build/C/man2/syscalls.2:496
16539 #, no-wrap
16540 msgid "B<setresgid>(2)\t2.2\n"
16541 msgstr ""
16542
16543 #. type: tbl table
16544 #: build/C/man2/syscalls.2:497
16545 #, no-wrap
16546 msgid "B<setresgid32>(2)\t2.4\n"
16547 msgstr ""
16548
16549 #. type: tbl table
16550 #: build/C/man2/syscalls.2:498
16551 #, no-wrap
16552 msgid "B<setresuid>(2)\t2.2\n"
16553 msgstr ""
16554
16555 #. type: tbl table
16556 #: build/C/man2/syscalls.2:499
16557 #, no-wrap
16558 msgid "B<setresuid32>(2)\t2.4\n"
16559 msgstr ""
16560
16561 #. type: tbl table
16562 #: build/C/man2/syscalls.2:500
16563 #, no-wrap
16564 msgid "B<setreuid>(2)\t1.0\n"
16565 msgstr ""
16566
16567 #. type: tbl table
16568 #: build/C/man2/syscalls.2:501
16569 #, no-wrap
16570 msgid "B<setreuid32>(2)\t2.4\n"
16571 msgstr ""
16572
16573 #. type: tbl table
16574 #: build/C/man2/syscalls.2:502
16575 #, no-wrap
16576 msgid "B<setrlimit>(2)\t1.0\n"
16577 msgstr ""
16578
16579 #. type: tbl table
16580 #: build/C/man2/syscalls.2:503
16581 #, no-wrap
16582 msgid "B<setsid>(2)\t1.0\n"
16583 msgstr ""
16584
16585 #. type: tbl table
16586 #: build/C/man2/syscalls.2:504
16587 #, no-wrap
16588 msgid "B<setsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16589 msgstr ""
16590
16591 #. type: tbl table
16592 #: build/C/man2/syscalls.2:505
16593 #, no-wrap
16594 msgid "B<settimeofday>(2)\t1.0\n"
16595 msgstr ""
16596
16597 #. type: tbl table
16598 #: build/C/man2/syscalls.2:506
16599 #, no-wrap
16600 msgid "B<setuid>(2)\t1.0\n"
16601 msgstr ""
16602
16603 #. type: tbl table
16604 #: build/C/man2/syscalls.2:507
16605 #, no-wrap
16606 msgid "B<setuid32>(2)\t2.4\n"
16607 msgstr ""
16608
16609 #. type: tbl table
16610 #: build/C/man2/syscalls.2:508
16611 #, no-wrap
16612 msgid "B<setup>(2)\t\tRemoved in 2.2\n"
16613 msgstr ""
16614
16615 #. type: tbl table
16616 #: build/C/man2/syscalls.2:509
16617 #, no-wrap
16618 msgid "B<setxattr>(2)\t2.6; 2.4.18\n"
16619 msgstr ""
16620
16621 #. type: tbl table
16622 #: build/C/man2/syscalls.2:510
16623 #, no-wrap
16624 msgid "B<sgetmask>(2)\t1.0\n"
16625 msgstr ""
16626
16627 #. type: tbl table
16628 #: build/C/man2/syscalls.2:511
16629 #, no-wrap
16630 msgid "B<shmat>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16631 msgstr ""
16632
16633 #. type: tbl table
16634 #: build/C/man2/syscalls.2:512
16635 #, no-wrap
16636 msgid "B<shmctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16637 msgstr ""
16638
16639 #. type: tbl table
16640 #: build/C/man2/syscalls.2:513
16641 #, no-wrap
16642 msgid "B<shmdt>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16643 msgstr ""
16644
16645 #. type: tbl table
16646 #: build/C/man2/syscalls.2:514
16647 #, no-wrap
16648 msgid "B<shmget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16649 msgstr ""
16650
16651 #. type: tbl table
16652 #: build/C/man2/syscalls.2:515
16653 #, no-wrap
16654 msgid "B<shutdown>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16655 msgstr ""
16656
16657 #. type: tbl table
16658 #: build/C/man2/syscalls.2:516
16659 #, no-wrap
16660 msgid "B<sigaction>(2)\t1.0\n"
16661 msgstr ""
16662
16663 #. type: tbl table
16664 #: build/C/man2/syscalls.2:517
16665 #, no-wrap
16666 msgid "B<sigaltstack>(2)\t2.2\n"
16667 msgstr ""
16668
16669 #. type: tbl table
16670 #: build/C/man2/syscalls.2:518
16671 #, no-wrap
16672 msgid "B<signal>(2)\t1.0\n"
16673 msgstr ""
16674
16675 #. type: tbl table
16676 #: build/C/man2/syscalls.2:519
16677 #, no-wrap
16678 msgid "B<signalfd>(2)\t2.6.22\n"
16679 msgstr ""
16680
16681 #. type: tbl table
16682 #: build/C/man2/syscalls.2:520
16683 #, no-wrap
16684 msgid "B<signalfd4>(2)\t2.6.27\n"
16685 msgstr ""
16686
16687 #. type: tbl table
16688 #: build/C/man2/syscalls.2:521
16689 #, no-wrap
16690 msgid "B<sigpending>(2)\t1.0\n"
16691 msgstr ""
16692
16693 #. type: tbl table
16694 #: build/C/man2/syscalls.2:522
16695 #, no-wrap
16696 msgid "B<sigprocmask>(2)\t1.0\n"
16697 msgstr ""
16698
16699 #. type: tbl table
16700 #: build/C/man2/syscalls.2:523
16701 #, no-wrap
16702 msgid "B<sigreturn>(2)\t1.0\n"
16703 msgstr ""
16704
16705 #. type: tbl table
16706 #: build/C/man2/syscalls.2:524
16707 #, no-wrap
16708 msgid "B<sigsuspend>(2)\t1.0\n"
16709 msgstr ""
16710
16711 #. type: tbl table
16712 #: build/C/man2/syscalls.2:525
16713 #, no-wrap
16714 msgid "B<socket>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16715 msgstr ""
16716
16717 #. type: tbl table
16718 #: build/C/man2/syscalls.2:526
16719 #, no-wrap
16720 msgid "B<socketcall>(2)\t1.0\n"
16721 msgstr ""
16722
16723 #.  Implements BSD socket calls
16724 #. type: tbl table
16725 #: build/C/man2/syscalls.2:528
16726 #, no-wrap
16727 msgid "B<socketpair>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16728 msgstr ""
16729
16730 #. type: tbl table
16731 #: build/C/man2/syscalls.2:529
16732 #, no-wrap
16733 msgid "B<splice>(2)\t2.6.17\n"
16734 msgstr ""
16735
16736 #. type: tbl table
16737 #: build/C/man2/syscalls.2:530
16738 #, no-wrap
16739 msgid "B<spu_create>(2)\t2.6.16\tPowerPC only\n"
16740 msgstr ""
16741
16742 #. type: tbl table
16743 #: build/C/man2/syscalls.2:531
16744 #, no-wrap
16745 msgid "B<spu_run>(2)\t2.6.16\tPowerPC only\n"
16746 msgstr ""
16747
16748 #. type: tbl table
16749 #: build/C/man2/syscalls.2:532
16750 #, no-wrap
16751 msgid "B<ssetmask>(2)\t1.0\n"
16752 msgstr ""
16753
16754 #. type: tbl table
16755 #: build/C/man2/syscalls.2:533
16756 #, no-wrap
16757 msgid "B<stat>(2)\t1.0\n"
16758 msgstr ""
16759
16760 #. type: tbl table
16761 #: build/C/man2/syscalls.2:534
16762 #, no-wrap
16763 msgid "B<stat64>(2)\t2.4\n"
16764 msgstr ""
16765
16766 #. type: tbl table
16767 #: build/C/man2/syscalls.2:535
16768 #, no-wrap
16769 msgid "B<statfs>(2)\t1.0\n"
16770 msgstr ""
16771
16772 #. type: tbl table
16773 #: build/C/man2/syscalls.2:536
16774 #, no-wrap
16775 msgid "B<statfs64>(2)\t2.6\n"
16776 msgstr ""
16777
16778 #. type: tbl table
16779 #: build/C/man2/syscalls.2:537
16780 #, no-wrap
16781 msgid "B<stime>(2)\t1.0\n"
16782 msgstr ""
16783
16784 #. type: tbl table
16785 #: build/C/man2/syscalls.2:538
16786 #, no-wrap
16787 msgid "B<subpage_prot>(2)\t2.6.25\tPowerPC if\n"
16788 msgstr ""
16789
16790 #. type: tbl table
16791 #: build/C/man2/syscalls.2:539
16792 #, no-wrap
16793 msgid "\t\tCONFIG_PPC_64K_PAGES\n"
16794 msgstr ""
16795
16796 #. type: tbl table
16797 #: build/C/man2/syscalls.2:540
16798 #, no-wrap
16799 msgid "B<swapoff>(2)\t1.0\n"
16800 msgstr ""
16801
16802 #. type: tbl table
16803 #: build/C/man2/syscalls.2:541
16804 #, no-wrap
16805 msgid "B<swapon>(2)\t1.0\n"
16806 msgstr ""
16807
16808 #. type: tbl table
16809 #: build/C/man2/syscalls.2:542
16810 #, no-wrap
16811 msgid "B<symlink>(2)\t1.0\n"
16812 msgstr ""
16813
16814 #. type: tbl table
16815 #: build/C/man2/syscalls.2:543
16816 #, no-wrap
16817 msgid "B<symlinkat>(2)\t2.6.16\n"
16818 msgstr ""
16819
16820 #. type: tbl table
16821 #: build/C/man2/syscalls.2:544
16822 #, no-wrap
16823 msgid "B<sync>(2)\t1.0\n"
16824 msgstr ""
16825
16826 #. type: tbl table
16827 #: build/C/man2/syscalls.2:545
16828 #, no-wrap
16829 msgid "B<sync_file_range>(2)\t2.6.17\n"
16830 msgstr ""
16831
16832 #. type: tbl table
16833 #: build/C/man2/syscalls.2:546
16834 #, no-wrap
16835 msgid "B<sync_file_range2>(2)\t2.6.22\tT{\n"
16836 msgstr ""
16837
16838 #. type: tbl table
16839 #: build/C/man2/syscalls.2:547
16840 #, no-wrap
16841 msgid "Architecture-specific\n"
16842 msgstr ""
16843
16844 #. type: tbl table
16845 #: build/C/man2/syscalls.2:548
16846 #, no-wrap
16847 msgid "variant of B<sync_file_range>(2)\n"
16848 msgstr ""
16849
16850 #.  PowerPC, ARM, tile
16851 #.  First appeared on ARM, as arm_sync_file_range(), but later renamed
16852 #.  \fBsys_debug_setcontext\fP(2)       ???     PowerPC if CONFIG_PPC32
16853 #. type: tbl table
16854 #: build/C/man2/syscalls.2:553
16855 #, no-wrap
16856 msgid "B<syncfs>(2)\t2.6.39\n"
16857 msgstr ""
16858
16859 #. type: tbl table
16860 #: build/C/man2/syscalls.2:554
16861 #, no-wrap
16862 msgid "B<sysfs>(2)\t1.2\n"
16863 msgstr ""
16864
16865 #. type: tbl table
16866 #: build/C/man2/syscalls.2:555
16867 #, no-wrap
16868 msgid "B<sysinfo>(2)\t1.0\n"
16869 msgstr ""
16870
16871 #. type: tbl table
16872 #: build/C/man2/syscalls.2:556
16873 #, no-wrap
16874 msgid "B<syslog>(2)\t1.0\n"
16875 msgstr ""
16876
16877 #.  glibc interface is \fBklogctl\fP(3)
16878 #. type: tbl table
16879 #: build/C/man2/syscalls.2:558
16880 #, no-wrap
16881 msgid "B<tee>(2)\t2.6.17\n"
16882 msgstr ""
16883
16884 #. type: tbl table
16885 #: build/C/man2/syscalls.2:559
16886 #, no-wrap
16887 msgid "B<tgkill>(2)\t2.6\n"
16888 msgstr ""
16889
16890 #. type: tbl table
16891 #: build/C/man2/syscalls.2:560
16892 #, no-wrap
16893 msgid "B<time>(2)\t1.0\n"
16894 msgstr ""
16895
16896 #. type: tbl table
16897 #: build/C/man2/syscalls.2:561
16898 #, no-wrap
16899 msgid "B<timer_create>(2)\t2.6\n"
16900 msgstr ""
16901
16902 #. type: tbl table
16903 #: build/C/man2/syscalls.2:562
16904 #, no-wrap
16905 msgid "B<timer_delete>(2)\t2.6\n"
16906 msgstr ""
16907
16908 #. type: tbl table
16909 #: build/C/man2/syscalls.2:563
16910 #, no-wrap
16911 msgid "B<timer_getoverrun>(2)\t2.6\n"
16912 msgstr ""
16913
16914 #. type: tbl table
16915 #: build/C/man2/syscalls.2:564
16916 #, no-wrap
16917 msgid "B<timer_gettime>(2)\t2.6\n"
16918 msgstr ""
16919
16920 #. type: tbl table
16921 #: build/C/man2/syscalls.2:565
16922 #, no-wrap
16923 msgid "B<timer_settime>(2)\t2.6\n"
16924 msgstr ""
16925
16926 #. type: tbl table
16927 #: build/C/man2/syscalls.2:566
16928 #, no-wrap
16929 msgid "B<timerfd_create>(2)\t2.6.25\n"
16930 msgstr ""
16931
16932 #. type: tbl table
16933 #: build/C/man2/syscalls.2:567
16934 #, no-wrap
16935 msgid "B<timerfd_gettime>(2)\t2.6.25\n"
16936 msgstr ""
16937
16938 #. type: tbl table
16939 #: build/C/man2/syscalls.2:568
16940 #, no-wrap
16941 msgid "B<timerfd_settime>(2)\t2.6.25\n"
16942 msgstr ""
16943
16944 #. type: tbl table
16945 #: build/C/man2/syscalls.2:569
16946 #, no-wrap
16947 msgid "B<times>(2)\t1.0\n"
16948 msgstr ""
16949
16950 #. type: tbl table
16951 #: build/C/man2/syscalls.2:570
16952 #, no-wrap
16953 msgid "B<tkill>(2)\t2.6; 2.4.22\n"
16954 msgstr ""
16955
16956 #. type: tbl table
16957 #: build/C/man2/syscalls.2:571
16958 #, no-wrap
16959 msgid "B<truncate>(2)\t1.0\n"
16960 msgstr ""
16961
16962 #. type: tbl table
16963 #: build/C/man2/syscalls.2:572
16964 #, no-wrap
16965 msgid "B<truncate64>(2)\t2.4\n"
16966 msgstr ""
16967
16968 #. type: tbl table
16969 #: build/C/man2/syscalls.2:573
16970 #, no-wrap
16971 msgid "B<ugetrlimit>(2)\t2.4\n"
16972 msgstr ""
16973
16974 #. type: tbl table
16975 #: build/C/man2/syscalls.2:574
16976 #, no-wrap
16977 msgid "B<umask>(2)\t1.0\n"
16978 msgstr ""
16979
16980 #. type: tbl table
16981 #: build/C/man2/syscalls.2:575
16982 #, no-wrap
16983 msgid "B<umount>(2)\t1.0\n"
16984 msgstr ""
16985
16986 #.  sys_oldumount() -- __NR_umount
16987 #. type: tbl table
16988 #: build/C/man2/syscalls.2:577
16989 #, no-wrap
16990 msgid "B<umount2>(2)\t2.2\n"
16991 msgstr ""
16992
16993 #.  sys_umount() -- __NR_umount2
16994 #. type: tbl table
16995 #: build/C/man2/syscalls.2:579
16996 #, no-wrap
16997 msgid "B<uname>(2)\t1.0\n"
16998 msgstr ""
16999
17000 #. type: tbl table
17001 #: build/C/man2/syscalls.2:580
17002 #, no-wrap
17003 msgid "B<unlink>(2)\t1.0\n"
17004 msgstr ""
17005
17006 #. type: tbl table
17007 #: build/C/man2/syscalls.2:581
17008 #, no-wrap
17009 msgid "B<unlinkat>(2)\t2.6.16\n"
17010 msgstr ""
17011
17012 #. type: tbl table
17013 #: build/C/man2/syscalls.2:582
17014 #, no-wrap
17015 msgid "B<unshare>(2)\t2.6.16\n"
17016 msgstr ""
17017
17018 #. type: tbl table
17019 #: build/C/man2/syscalls.2:583
17020 #, no-wrap
17021 msgid "B<uselib>(2)\t1.0\n"
17022 msgstr ""
17023
17024 #. type: tbl table
17025 #: build/C/man2/syscalls.2:584
17026 #, no-wrap
17027 msgid "B<ustat>(2)\t1.0\n"
17028 msgstr ""
17029
17030 #. type: tbl table
17031 #: build/C/man2/syscalls.2:585
17032 #, no-wrap
17033 msgid "B<utime>(2)\t1.0\n"
17034 msgstr ""
17035
17036 #. type: tbl table
17037 #: build/C/man2/syscalls.2:586
17038 #, no-wrap
17039 msgid "B<utimensat>(2)\t2.6.22\n"
17040 msgstr ""
17041
17042 #. type: tbl table
17043 #: build/C/man2/syscalls.2:587
17044 #, no-wrap
17045 msgid "B<utimes>(2)\t2.2\n"
17046 msgstr ""
17047
17048 #. type: tbl table
17049 #: build/C/man2/syscalls.2:588
17050 #, no-wrap
17051 msgid "B<utrap_install>(2)\t2.2\tSparc\n"
17052 msgstr ""
17053
17054 #.  FIXME: document utrap_install()
17055 #.  There's a man page for Solaris 5.11
17056 #. type: tbl table
17057 #: build/C/man2/syscalls.2:591
17058 #, no-wrap
17059 msgid "B<vfork>(2)\t2.2\n"
17060 msgstr ""
17061
17062 #. type: tbl table
17063 #: build/C/man2/syscalls.2:592
17064 #, no-wrap
17065 msgid "B<vhangup>(2)\t1.0\n"
17066 msgstr ""
17067
17068 #. type: tbl table
17069 #: build/C/man2/syscalls.2:593
17070 #, no-wrap
17071 msgid "B<vm86old>(2)\t1.0\tT{\n"
17072 msgstr ""
17073
17074 #. type: tbl table
17075 #: build/C/man2/syscalls.2:594
17076 #, no-wrap
17077 msgid "Was \"vm86\"; renamed in\n"
17078 msgstr ""
17079
17080 #. type: tbl table
17081 #: build/C/man2/syscalls.2:595
17082 #, no-wrap
17083 msgid "2.0.28/2.2\n"
17084 msgstr ""
17085
17086 #. type: tbl table
17087 #: build/C/man2/syscalls.2:597
17088 #, no-wrap
17089 msgid "B<vm86>(2)\t2.0.28; 2.2\n"
17090 msgstr ""
17091
17092 #. type: tbl table
17093 #: build/C/man2/syscalls.2:598
17094 #, no-wrap
17095 msgid "B<vmsplice>(2)\t2.6.17\n"
17096 msgstr ""
17097
17098 #. type: tbl table
17099 #: build/C/man2/syscalls.2:599
17100 #, no-wrap
17101 msgid "B<wait4>(2)\t1.0\n"
17102 msgstr ""
17103
17104 #. type: tbl table
17105 #: build/C/man2/syscalls.2:600
17106 #, no-wrap
17107 msgid "B<waitid>(2)\t2.6.10\n"
17108 msgstr ""
17109
17110 #. type: tbl table
17111 #: build/C/man2/syscalls.2:601
17112 #, no-wrap
17113 msgid "B<waitpid>(2)\t1.0\n"
17114 msgstr ""
17115
17116 #. type: tbl table
17117 #: build/C/man2/syscalls.2:602
17118 #, no-wrap
17119 msgid "B<write>(2)\t1.0\n"
17120 msgstr ""
17121
17122 #. type: tbl table
17123 #: build/C/man2/syscalls.2:603
17124 #, no-wrap
17125 msgid "B<writev>(2)\t2.0\n"
17126 msgstr ""
17127
17128 #. type: Plain text
17129 #: build/C/man2/syscalls.2:612
17130 msgid ""
17131 "On many platforms, including x86-32, socket calls are all multiplexed (via "
17132 "glibc wrapper functions) through B<socketcall>(2)  and similarly System\\ V "
17133 "IPC calls are multiplexed through B<ipc>(2)."
17134 msgstr ""
17135
17136 #.  __NR_afs_syscall is 53 on Linux 2.6.22/i386
17137 #.  __NR_break is 17 on Linux 2.6.22/i386
17138 #.  __NR_ftime is 35 on Linux 2.6.22/i386
17139 #.  __NR_getpmsg is 188 on Linux 2.6.22/i386
17140 #.  __NR_gtty is 32 on Linux 2.6.22/i386
17141 #.  __NR_idle is 112 on Linux 2.6.22/i386
17142 #.  __NR_lock is 53 on Linux 2.6.22/i386
17143 #.  __NR_madvise1 is 219 on Linux 2.6.22/i386
17144 #.  __NR_mpx is 66 on Linux 2.6.22/i386
17145 #.  Slot has been reused
17146 #.  __NR_prof is 44 on Linux 2.6.22/i386
17147 #.  __NR_profil is 98 on Linux 2.6.22/i386
17148 #.  __NR_putpmsg is 189 on Linux 2.6.22/i386
17149 #.  __NR_security is 223 on Linux 2.4/i386
17150 #.  __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present
17151 #.  on a couple of 2.6 architectures
17152 #.  __NR_stty is 31 on Linux 2.6.22/i386
17153 #.  The security call is for future use.
17154 #.  __NR_tuxcall is 184 on x86_64, also on PPC and alpha
17155 #.  __NR_ulimit is 58 on Linux 2.6.22/i386
17156 #.  __NR_vserver is 273 on Linux 2.6.22/i386
17157 #. type: Plain text
17158 #: build/C/man2/syscalls.2:657
17159 msgid ""
17160 "Although slots are reserved for them in the system call table, the following "
17161 "system calls are not implemented in the standard kernel: B<afs_syscall>(2), "
17162 "B<break>(2), B<ftime>(2), B<getpmsg>(2), B<gtty>(2), B<idle>(2), B<lock>(2), "
17163 "B<madvise1>(2), B<mpx>(2), B<phys>(2), B<prof>(2), B<profil>(2), "
17164 "B<putpmsg>(2), B<security>(2), B<stty>(2), B<tuxcall>(2), B<ulimit>(2), and "
17165 "B<vserver>(2)  (see also B<unimplemented>(2)).  However, B<ftime>(3), "
17166 "B<profil>(3)  and B<ulimit>(3)  exist as library routines.  The slot for "
17167 "B<phys>(2)  is in use since kernel 2.1.116 for B<umount>(2); B<phys>(2)  "
17168 "will never be implemented.  The B<getpmsg>(2)  and B<putpmsg>(2)  calls are "
17169 "for kernels patched to support STREAMS, and may never be in the standard "
17170 "kernel."
17171 msgstr ""
17172
17173 #. type: Plain text
17174 #: build/C/man2/syscalls.2:662
17175 msgid ""
17176 "There was briefly B<set_zone_reclaim>(2), added in Linux 2.6.13, and removed "
17177 "in 2.6.16; this system call was never available to user space."
17178 msgstr ""
17179
17180 #. type: Plain text
17181 #: build/C/man2/syscalls.2:679
17182 msgid ""
17183 "Roughly speaking, the code belonging to the system call with number __NR_xxx "
17184 "defined in I</usr/include/asm/unistd.h> can be found in the Linux kernel "
17185 "source in the routine I<sys_xxx>().  (The dispatch table for i386 can be "
17186 "found in I</usr/src/linux/arch/i386/kernel/entry.S>.)  There are many "
17187 "exceptions, however, mostly because older system calls were superseded by "
17188 "newer ones, and this has been treated somewhat unsystematically.  On "
17189 "platforms with proprietary operating-system emulation, such as parisc, "
17190 "sparc, sparc64, and alpha, there are many additional system calls; mips64 "
17191 "also contains a full set of 32-bit system calls."
17192 msgstr ""
17193
17194 #. type: Plain text
17195 #: build/C/man2/syscalls.2:698
17196 msgid ""
17197 "Over time, changes to the interfaces of some system calls have been "
17198 "necessary.  One reason for such changes was the need to increase the size of "
17199 "structures or scalar values passed to the system call.  Because of these "
17200 "changes, there are now various groups of related system calls (e.g., "
17201 "B<truncate>(2)  and B<truncate64>(2))  which perform similar tasks, but "
17202 "which vary in details such as the size of their arguments.  (As noted "
17203 "earlier, applications are generally unaware of this: the glibc wrapper "
17204 "functions do some work to ensure that the right system call is invoked, and "
17205 "that ABI compatibility is preserved for old binaries.)  Examples of systems "
17206 "calls that exist in multiple versions are the following:"
17207 msgstr ""
17208
17209 #.  e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
17210 #.  The stat system calls deal with three different data structures,
17211 #.  defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
17212 #. type: Plain text
17213 #: build/C/man2/syscalls.2:719
17214 msgid ""
17215 "By now there are three different versions of B<stat>(2): I<sys_stat>()  "
17216 "(slot I<__NR_oldstat>), I<sys_newstat>()  (slot I<__NR_stat>), and "
17217 "I<sys_stat64>()  (slot I<__NR_stat64>), with the last being the most "
17218 "current.  A similar story applies for B<lstat>(2)  and B<fstat>(2)."
17219 msgstr ""
17220
17221 #. type: Plain text
17222 #: build/C/man2/syscalls.2:730
17223 msgid ""
17224 "Similarly, the defines I<__NR_oldolduname>, I<__NR_olduname>, and "
17225 "I<__NR_uname> refer to the routines I<sys_olduname>(), I<sys_uname>()  and "
17226 "I<sys_newuname>()."
17227 msgstr ""
17228
17229 #. type: Plain text
17230 #: build/C/man2/syscalls.2:737
17231 msgid ""
17232 "In Linux 2.0, a new version of B<vm86>(2)  appeared, with the old and the "
17233 "new kernel routines being named I<sys_vm86old>()  and I<sys_vm86>()."
17234 msgstr ""
17235
17236 #. type: Plain text
17237 #: build/C/man2/syscalls.2:748
17238 msgid ""
17239 "In Linux 2.4, a new version of B<getrlimit>(2)  appeared, with the old and "
17240 "the new kernel routines being named I<sys_old_getrlimit>()  (slot "
17241 "I<__NR_getrlimit>)  and I<sys_getrlimit>()  (slot I<__NR_ugetrlimit>)."
17242 msgstr ""
17243
17244 #.  64-bit off_t changes: ftruncate64, *stat64,
17245 #.  fcntl64 (because of the flock structure), getdents64, *statfs64
17246 #. type: Plain text
17247 #: build/C/man2/syscalls.2:760
17248 msgid ""
17249 "Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.  To "
17250 "support this change, a range of system calls were added (e.g., "
17251 "B<chown32>(2), B<getuid32>(2), B<getgroups32>(2), B<setresuid32>(2)), "
17252 "superseding earlier calls of the same name without the \"32\" suffix."
17253 msgstr ""
17254
17255 #. type: Plain text
17256 #: build/C/man2/syscalls.2:777
17257 msgid ""
17258 "Linux 2.4 added support for applications on 32-bit architectures to access "
17259 "large files (i.e., files for which the sizes and file offsets can't be "
17260 "represented in 32 bits.)  To support this change, replacements were required "
17261 "for system calls that deal with file offsets and sizes.  Thus the following "
17262 "system calls were added: B<fcntl64>(2), B<ftruncate64>(2), B<getdents64>(2), "
17263 "B<stat64>(2), B<statfs64>(2), and their analogs that work with file "
17264 "descriptors or symbolic links.  These system calls supersede the older "
17265 "system calls which, except in the case of the \"stat\" calls, have the same "
17266 "name without the \"64\" suffix."
17267 msgstr ""
17268
17269 #. type: Plain text
17270 #: build/C/man2/syscalls.2:781
17271 msgid ""
17272 "On newer platforms that only have 64-bit file access and 32-bit uids (e.g., "
17273 "alpha, ia64, s390x) there are no *64 or *32 calls.  Where the *64 and *32 "
17274 "calls exist, the other versions are obsolete."
17275 msgstr ""
17276
17277 #. type: Plain text
17278 #: build/C/man2/syscalls.2:789
17279 msgid ""
17280 "The I<rt_sig*> calls were added in kernel 2.2 to support the addition of "
17281 "real-time signals (see B<signal>(7)).  These system calls supersede the "
17282 "older system calls of the same name without the \"rt_\" prefix."
17283 msgstr ""
17284
17285 #.  (used by libc 6)
17286 #.  .PP
17287 #.  Two system call numbers,
17288 #.  .IR __NR__llseek
17289 #.  and
17290 #.  .IR __NR__sysctl
17291 #.  have an additional underscore absent in
17292 #.  .IR sys_llseek ()
17293 #.  and
17294 #.  .IR sys_sysctl ().
17295 #
17296 #.  In kernel 2.1.81,
17297 #.  .BR lchown (2)
17298 #.  and
17299 #.  .BR chown (2)
17300 #.  were swapped; that is,
17301 #.  .BR lchown (2)
17302 #.  was added with the semantics that were then current for
17303 #.  .BR chown (2),
17304 #.  and the semantics of the latter call were changed to what
17305 #.  they are today.
17306 #. type: Plain text
17307 #: build/C/man2/syscalls.2:839
17308 msgid ""
17309 "The B<select>(2)  and B<mmap>(2)  system calls use five or more arguments, "
17310 "which caused problems in the way argument passing on the i386 used to be set "
17311 "up.  Thus, while other architectures have I<sys_select>()  and I<sys_mmap>()  "
17312 "corresponding to I<__NR_select> and I<__NR_mmap>, on i386 one finds "
17313 "I<old_select>()  and I<old_mmap>()  (routines that use a pointer to a "
17314 "argument block) instead.  These days passing five arguments is not a problem "
17315 "any more, and there is a I<__NR__newselect> that corresponds directly to "
17316 "I<sys_select>()  and similarly I<__NR_mmap2>."
17317 msgstr ""
17318
17319 #. type: Plain text
17320 #: build/C/man2/syscalls.2:845
17321 msgid "B<intro>(2), B<syscall>(2), B<unimplemented>(2), B<libc>(7), B<vdso>(7)"
17322 msgstr ""
17323
17324 #. type: TH
17325 #: build/C/man3/sysconf.3:27
17326 #, no-wrap
17327 msgid "SYSCONF"
17328 msgstr ""
17329
17330 #. type: Plain text
17331 #: build/C/man3/sysconf.3:30
17332 msgid "sysconf - get configuration information at run time"
17333 msgstr ""
17334
17335 #. type: Plain text
17336 #: build/C/man3/sysconf.3:35
17337 #, no-wrap
17338 msgid "B<long sysconf(int >I<name>B<);>\n"
17339 msgstr ""
17340
17341 #. type: Plain text
17342 #: build/C/man3/sysconf.3:40
17343 msgid ""
17344 "POSIX allows an application to test at compile or run time whether certain "
17345 "options are supported, or what the value is of certain configurable "
17346 "constants or limits."
17347 msgstr ""
17348
17349 #. type: Plain text
17350 #: build/C/man3/sysconf.3:46
17351 msgid ""
17352 "At compile time this is done by including I<E<lt>unistd.hE<gt>> and/or "
17353 "I<E<lt>limits.hE<gt>> and testing the value of certain macros."
17354 msgstr ""
17355
17356 #. type: Plain text
17357 #: build/C/man3/sysconf.3:56
17358 msgid ""
17359 "At run time, one can ask for numerical values using the present function "
17360 "B<sysconf>().  One can ask for numerical values that may depend on the "
17361 "filesystem a file is in using the calls B<fpathconf>(3)  and "
17362 "B<pathconf>(3).  One can ask for string values using B<confstr>(3)."
17363 msgstr ""
17364
17365 #.  except that sysconf(_SC_OPEN_MAX) may change answer after a call
17366 #.  to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
17367 #. type: Plain text
17368 #: build/C/man3/sysconf.3:61
17369 msgid ""
17370 "The values obtained from these functions are system configuration "
17371 "constants.  They do not change during the lifetime of a process."
17372 msgstr ""
17373
17374 #.  and 999 to indicate support for options no longer present in the latest
17375 #.  standard. (?)
17376 #. type: Plain text
17377 #: build/C/man3/sysconf.3:84
17378 msgid ""
17379 "For options, typically, there is a constant B<_POSIX_FOO> that may be "
17380 "defined in I<E<lt>unistd.hE<gt>>.  If it is undefined, one should ask at run "
17381 "time.  If it is defined to -1, then the option is not supported.  If it is "
17382 "defined to 0, then relevant functions and headers exist, but one has to ask "
17383 "at run time what degree of support is available.  If it is defined to a "
17384 "value other than -1 or 0, then the option is supported.  Usually the value "
17385 "(such as 200112L) indicates the year and month of the POSIX revision "
17386 "describing the option.  Glibc uses the value 1 to indicate support as long "
17387 "as the POSIX revision has not been published yet.  The B<sysconf>()  "
17388 "argument will be B<_SC_FOO>.  For a list of options, see B<posixoptions>(7)."
17389 msgstr ""
17390
17391 #. type: Plain text
17392 #: build/C/man3/sysconf.3:104
17393 msgid ""
17394 "For variables or limits, typically, there is a constant B<_FOO>, maybe "
17395 "defined in I<E<lt>limits.hE<gt>>, or B<_POSIX_FOO>, maybe defined in "
17396 "I<E<lt>unistd.hE<gt>>.  The constant will not be defined if the limit is "
17397 "unspecified.  If the constant is defined, it gives a guaranteed value, and a "
17398 "greater value might actually be supported.  If an application wants to take "
17399 "advantage of values which may change between systems, a call to B<sysconf>()  "
17400 "can be made.  The B<sysconf>()  argument will be B<_SC_FOO>."
17401 msgstr ""
17402
17403 #. type: SS
17404 #: build/C/man3/sysconf.3:104
17405 #, no-wrap
17406 msgid "POSIX.1 variables"
17407 msgstr ""
17408
17409 #. type: Plain text
17410 #: build/C/man3/sysconf.3:109
17411 msgid ""
17412 "We give the name of the variable, the name of the B<sysconf>()  argument "
17413 "used to inquire about its value, and a short description."
17414 msgstr ""
17415
17416 #.  [for the moment: only the things that are unconditionally present]
17417 #.  .TP
17418 #.  .BR AIO_LISTIO_MAX " - " _SC_AIO_LISTIO_MAX
17419 #.  (if _POSIX_ASYNCHRONOUS_IO)
17420 #.  Maximum number of I/O operations in a single list I/O call.
17421 #.  Must not be less than _POSIX_AIO_LISTIO_MAX.
17422 #.  .TP
17423 #.  .BR AIO_MAX " - " _SC_AIO_MAX
17424 #.  (if _POSIX_ASYNCHRONOUS_IO)
17425 #.  Maximum number of outstanding asynchronous I/O operations.
17426 #.  Must not be less than _POSIX_AIO_MAX.
17427 #.  .TP
17428 #.  .BR AIO_PRIO_DELTA_MAX " - " _SC_AIO_PRIO_DELTA_MAX
17429 #.  (if _POSIX_ASYNCHRONOUS_IO)
17430 #.  The maximum amount by which a process can decrease its
17431 #.  asynchronous I/O priority level from its own scheduling priority.
17432 #.  Must be nonnegative.
17433 #. type: Plain text
17434 #: build/C/man3/sysconf.3:128
17435 msgid "First, the POSIX.1 compatible values."
17436 msgstr ""
17437
17438 #. type: TP
17439 #: build/C/man3/sysconf.3:128
17440 #, no-wrap
17441 msgid "B<ARG_MAX> - B<_SC_ARG_MAX>"
17442 msgstr ""
17443
17444 #. type: Plain text
17445 #: build/C/man3/sysconf.3:136
17446 msgid ""
17447 "The maximum length of the arguments to the B<exec>(3)  family of functions.  "
17448 "Must not be less than B<_POSIX_ARG_MAX> (4096)."
17449 msgstr ""
17450
17451 #. type: TP
17452 #: build/C/man3/sysconf.3:136
17453 #, no-wrap
17454 msgid "B<CHILD_MAX> - B<_SC_CHILD_MAX>"
17455 msgstr ""
17456
17457 #. type: Plain text
17458 #: build/C/man3/sysconf.3:142
17459 msgid ""
17460 "The maximum number of simultaneous processes per user ID.  Must not be less "
17461 "than B<_POSIX_CHILD_MAX> (25)."
17462 msgstr ""
17463
17464 #. type: TP
17465 #: build/C/man3/sysconf.3:142
17466 #, no-wrap
17467 msgid "B<HOST_NAME_MAX> - B<_SC_HOST_NAME_MAX>"
17468 msgstr ""
17469
17470 #. type: Plain text
17471 #: build/C/man3/sysconf.3:150
17472 msgid ""
17473 "Maximum length of a hostname, not including the terminating null byte, as "
17474 "returned by B<gethostname>(2).  Must not be less than "
17475 "B<_POSIX_HOST_NAME_MAX> (255)."
17476 msgstr ""
17477
17478 #. type: TP
17479 #: build/C/man3/sysconf.3:150
17480 #, no-wrap
17481 msgid "B<LOGIN_NAME_MAX> - B<_SC_LOGIN_NAME_MAX>"
17482 msgstr ""
17483
17484 #. type: Plain text
17485 #: build/C/man3/sysconf.3:156
17486 msgid ""
17487 "Maximum length of a login name, including the terminating null byte.  Must "
17488 "not be less than B<_POSIX_LOGIN_NAME_MAX> (9)."
17489 msgstr ""
17490
17491 #. type: TP
17492 #: build/C/man3/sysconf.3:156
17493 #, no-wrap
17494 msgid "clock ticks - B<_SC_CLK_TCK>"
17495 msgstr ""
17496
17497 #. type: Plain text
17498 #: build/C/man3/sysconf.3:165
17499 msgid ""
17500 "The number of clock ticks per second.  The corresponding variable is "
17501 "obsolete.  It was of course called B<CLK_TCK>.  (Note: the macro "
17502 "B<CLOCKS_PER_SEC> does not give information: it must equal 1000000.)"
17503 msgstr ""
17504
17505 #. type: TP
17506 #: build/C/man3/sysconf.3:165
17507 #, no-wrap
17508 msgid "B<OPEN_MAX> - B<_SC_OPEN_MAX>"
17509 msgstr ""
17510
17511 #. type: Plain text
17512 #: build/C/man3/sysconf.3:171
17513 msgid ""
17514 "The maximum number of files that a process can have open at any time.  Must "
17515 "not be less than B<_POSIX_OPEN_MAX> (20)."
17516 msgstr ""
17517
17518 #. type: TP
17519 #: build/C/man3/sysconf.3:171
17520 #, no-wrap
17521 msgid "B<PAGESIZE> - B<_SC_PAGESIZE>"
17522 msgstr ""
17523
17524 #. type: Plain text
17525 #: build/C/man3/sysconf.3:176
17526 msgid ""
17527 "Size of a page in bytes.  Must not be less than 1.  (Some systems use "
17528 "PAGE_SIZE instead.)"
17529 msgstr ""
17530
17531 #. type: TP
17532 #: build/C/man3/sysconf.3:176 build/C/man3/sysconf.3:263
17533 #, no-wrap
17534 msgid "B<RE_DUP_MAX> - B<_SC_RE_DUP_MAX>"
17535 msgstr ""
17536
17537 #. type: Plain text
17538 #: build/C/man3/sysconf.3:185
17539 msgid ""
17540 "The number of repeated occurrences of a BRE permitted by B<regexec>(3)  and "
17541 "B<regcomp>(3).  Must not be less than B<_POSIX2_RE_DUP_MAX> (255)."
17542 msgstr ""
17543
17544 #. type: TP
17545 #: build/C/man3/sysconf.3:185
17546 #, no-wrap
17547 msgid "B<STREAM_MAX> - B<_SC_STREAM_MAX>"
17548 msgstr ""
17549
17550 #. type: Plain text
17551 #: build/C/man3/sysconf.3:194
17552 msgid ""
17553 "The maximum number of streams that a process can have open at any time.  If "
17554 "defined, it has the same value as the standard C macro B<FOPEN_MAX>.  Must "
17555 "not be less than B<_POSIX_STREAM_MAX> (8)."
17556 msgstr ""
17557
17558 #. type: TP
17559 #: build/C/man3/sysconf.3:194
17560 #, no-wrap
17561 msgid "B<SYMLOOP_MAX> - B<_SC_SYMLOOP_MAX>"
17562 msgstr ""
17563
17564 #. type: Plain text
17565 #: build/C/man3/sysconf.3:202
17566 msgid ""
17567 "The maximum number of symbolic links seen in a pathname before resolution "
17568 "returns B<ELOOP>.  Must not be less than B<_POSIX_SYMLOOP_MAX> (8)."
17569 msgstr ""
17570
17571 #. type: TP
17572 #: build/C/man3/sysconf.3:202
17573 #, no-wrap
17574 msgid "B<TTY_NAME_MAX> - B<_SC_TTY_NAME_MAX>"
17575 msgstr ""
17576
17577 #. type: Plain text
17578 #: build/C/man3/sysconf.3:209
17579 msgid ""
17580 "The maximum length of terminal device name, including the terminating null "
17581 "byte.  Must not be less than B<_POSIX_TTY_NAME_MAX> (9)."
17582 msgstr ""
17583
17584 #. type: TP
17585 #: build/C/man3/sysconf.3:209
17586 #, no-wrap
17587 msgid "B<TZNAME_MAX> - B<_SC_TZNAME_MAX>"
17588 msgstr ""
17589
17590 #. type: Plain text
17591 #: build/C/man3/sysconf.3:215
17592 msgid ""
17593 "The maximum number of bytes in a timezone name.  Must not be less than "
17594 "B<_POSIX_TZNAME_MAX> (6)."
17595 msgstr ""
17596
17597 #. type: TP
17598 #: build/C/man3/sysconf.3:215
17599 #, no-wrap
17600 msgid "B<_POSIX_VERSION> - B<_SC_VERSION>"
17601 msgstr ""
17602
17603 #. type: Plain text
17604 #: build/C/man3/sysconf.3:223
17605 msgid ""
17606 "indicates the year and month the POSIX.1 standard was approved in the format "
17607 "B<YYYYMML>; the value B<199009L> indicates the Sept. 1990 revision."
17608 msgstr ""
17609
17610 #. type: SS
17611 #: build/C/man3/sysconf.3:223
17612 #, no-wrap
17613 msgid "POSIX.2 variables"
17614 msgstr ""
17615
17616 #. type: Plain text
17617 #: build/C/man3/sysconf.3:225
17618 msgid "Next, the POSIX.2 values, giving limits for utilities."
17619 msgstr ""
17620
17621 #. type: TP
17622 #: build/C/man3/sysconf.3:225
17623 #, no-wrap
17624 msgid "B<BC_BASE_MAX> - B<_SC_BC_BASE_MAX>"
17625 msgstr ""
17626
17627 #. type: Plain text
17628 #: build/C/man3/sysconf.3:232
17629 msgid "indicates the maximum I<obase> value accepted by the B<bc>(1)  utility."
17630 msgstr ""
17631
17632 #. type: TP
17633 #: build/C/man3/sysconf.3:232
17634 #, no-wrap
17635 msgid "B<BC_DIM_MAX> - B<_SC_BC_DIM_MAX>"
17636 msgstr ""
17637
17638 #. type: Plain text
17639 #: build/C/man3/sysconf.3:236
17640 msgid "indicates the maximum value of elements permitted in an array by B<bc>(1)."
17641 msgstr ""
17642
17643 #. type: TP
17644 #: build/C/man3/sysconf.3:236
17645 #, no-wrap
17646 msgid "B<BC_SCALE_MAX> - B<_SC_BC_SCALE_MAX>"
17647 msgstr ""
17648
17649 #. type: Plain text
17650 #: build/C/man3/sysconf.3:242
17651 msgid "indicates the maximum I<scale> value allowed by B<bc>(1)."
17652 msgstr ""
17653
17654 #. type: TP
17655 #: build/C/man3/sysconf.3:242
17656 #, no-wrap
17657 msgid "B<BC_STRING_MAX> - B<_SC_BC_STRING_MAX>"
17658 msgstr ""
17659
17660 #. type: Plain text
17661 #: build/C/man3/sysconf.3:246
17662 msgid "indicates the maximum length of a string accepted by B<bc>(1)."
17663 msgstr ""
17664
17665 #. type: TP
17666 #: build/C/man3/sysconf.3:246
17667 #, no-wrap
17668 msgid "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
17669 msgstr ""
17670
17671 #. type: Plain text
17672 #: build/C/man3/sysconf.3:252
17673 msgid ""
17674 "indicates the maximum numbers of weights that can be assigned to an entry of "
17675 "the B<LC_COLLATE order> keyword in the locale definition file,"
17676 msgstr ""
17677
17678 #. type: TP
17679 #: build/C/man3/sysconf.3:252
17680 #, no-wrap
17681 msgid "B<EXPR_NEST_MAX> - B<_SC_EXPR_NEST_MAX>"
17682 msgstr ""
17683
17684 #. type: Plain text
17685 #: build/C/man3/sysconf.3:257
17686 msgid ""
17687 "is the maximum number of expressions which can be nested within parentheses "
17688 "by B<expr>(1)."
17689 msgstr ""
17690
17691 #. type: TP
17692 #: build/C/man3/sysconf.3:257
17693 #, no-wrap
17694 msgid "B<LINE_MAX> - B<_SC_LINE_MAX>"
17695 msgstr ""
17696
17697 #. type: Plain text
17698 #: build/C/man3/sysconf.3:263
17699 msgid ""
17700 "The maximum length of a utility's input line, either from standard input or "
17701 "from a file.  This includes space for a trailing newline."
17702 msgstr ""
17703
17704 #. type: Plain text
17705 #: build/C/man3/sysconf.3:269
17706 msgid ""
17707 "The maximum number of repeated occurrences of a regular expression when the "
17708 "interval notation B<\\e{m,n\\e}> is used."
17709 msgstr ""
17710
17711 #. type: TP
17712 #: build/C/man3/sysconf.3:269
17713 #, no-wrap
17714 msgid "B<POSIX2_VERSION> - B<_SC_2_VERSION>"
17715 msgstr ""
17716
17717 #. type: Plain text
17718 #: build/C/man3/sysconf.3:273
17719 msgid "indicates the version of the POSIX.2 standard in the format of YYYYMML."
17720 msgstr ""
17721
17722 #. type: TP
17723 #: build/C/man3/sysconf.3:273
17724 #, no-wrap
17725 msgid "B<POSIX2_C_DEV> - B<_SC_2_C_DEV>"
17726 msgstr ""
17727
17728 #. type: Plain text
17729 #: build/C/man3/sysconf.3:277
17730 msgid ""
17731 "indicates whether the POSIX.2 C language development facilities are "
17732 "supported."
17733 msgstr ""
17734
17735 #. type: TP
17736 #: build/C/man3/sysconf.3:277
17737 #, no-wrap
17738 msgid "B<POSIX2_FORT_DEV> - B<_SC_2_FORT_DEV>"
17739 msgstr ""
17740
17741 #. type: Plain text
17742 #: build/C/man3/sysconf.3:281
17743 msgid "indicates whether the POSIX.2 FORTRAN development utilities are supported."
17744 msgstr ""
17745
17746 #. type: TP
17747 #: build/C/man3/sysconf.3:281
17748 #, no-wrap
17749 msgid "B<POSIX2_FORT_RUN> - B<_SC_2_FORT_RUN>"
17750 msgstr ""
17751
17752 #. type: Plain text
17753 #: build/C/man3/sysconf.3:284
17754 msgid "indicates whether the POSIX.2 FORTRAN run-time utilities are supported."
17755 msgstr ""
17756
17757 #. type: TP
17758 #: build/C/man3/sysconf.3:284
17759 #, no-wrap
17760 msgid "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
17761 msgstr ""
17762
17763 #. type: Plain text
17764 #: build/C/man3/sysconf.3:289
17765 msgid ""
17766 "indicates whether the POSIX.2 creation of locates via B<localedef>(1)  is "
17767 "supported."
17768 msgstr ""
17769
17770 #. type: TP
17771 #: build/C/man3/sysconf.3:289
17772 #, no-wrap
17773 msgid "B<POSIX2_SW_DEV> - B<_SC_2_SW_DEV>"
17774 msgstr ""
17775
17776 #. type: Plain text
17777 #: build/C/man3/sysconf.3:293
17778 msgid ""
17779 "indicates whether the POSIX.2 software development utilities option is "
17780 "supported."
17781 msgstr ""
17782
17783 #. type: Plain text
17784 #: build/C/man3/sysconf.3:295
17785 msgid "These values also exist, but may not be standard."
17786 msgstr ""
17787
17788 #. type: TP
17789 #: build/C/man3/sysconf.3:295
17790 #, no-wrap
17791 msgid " - B<_SC_PHYS_PAGES>"
17792 msgstr ""
17793
17794 #. type: Plain text
17795 #: build/C/man3/sysconf.3:302
17796 msgid ""
17797 "The number of pages of physical memory.  Note that it is possible for the "
17798 "product of this value and the value of B<_SC_PAGESIZE> to overflow."
17799 msgstr ""
17800
17801 #. type: TP
17802 #: build/C/man3/sysconf.3:302
17803 #, no-wrap
17804 msgid " - B<_SC_AVPHYS_PAGES>"
17805 msgstr ""
17806
17807 #. type: Plain text
17808 #: build/C/man3/sysconf.3:305
17809 msgid "The number of currently available pages of physical memory."
17810 msgstr ""
17811
17812 #. type: TP
17813 #: build/C/man3/sysconf.3:305
17814 #, no-wrap
17815 msgid " - B<_SC_NPROCESSORS_CONF>"
17816 msgstr ""
17817
17818 #. type: Plain text
17819 #: build/C/man3/sysconf.3:308
17820 msgid "The number of processors configured."
17821 msgstr ""
17822
17823 #. type: TP
17824 #: build/C/man3/sysconf.3:308
17825 #, no-wrap
17826 msgid " - B<_SC_NPROCESSORS_ONLN>"
17827 msgstr ""
17828
17829 #. type: Plain text
17830 #: build/C/man3/sysconf.3:311
17831 msgid "The number of processors currently online (available)."
17832 msgstr ""
17833
17834 #. type: Plain text
17835 #: build/C/man3/sysconf.3:324
17836 msgid ""
17837 "If I<name> is invalid, -1 is returned, and I<errno> is set to B<EINVAL>.  "
17838 "Otherwise, the value returned is the value of the system resource and "
17839 "I<errno> is not changed.  In the case of options, a positive value is "
17840 "returned if a queried option is available, and -1 if it is not.  In the case "
17841 "of limits, -1 means that there is no definite limit."
17842 msgstr ""
17843
17844 #. type: Plain text
17845 #: build/C/man3/sysconf.3:332
17846 msgid ""
17847 "It is difficult to use B<ARG_MAX> because it is not specified how much of "
17848 "the argument space for B<exec>(3)  is consumed by the user's environment "
17849 "variables."
17850 msgstr ""
17851
17852 #. type: Plain text
17853 #: build/C/man3/sysconf.3:344
17854 msgid ""
17855 "B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<confstr>(3), "
17856 "B<fpathconf>(3), B<pathconf>(3), B<posixoptions>(7)"
17857 msgstr ""
17858
17859 #. type: TH
17860 #: build/C/man2/sysctl.2:30
17861 #, no-wrap
17862 msgid "SYSCTL"
17863 msgstr ""
17864
17865 #. type: TH
17866 #: build/C/man2/sysctl.2:30
17867 #, no-wrap
17868 msgid "2012-12-22"
17869 msgstr ""
17870
17871 #. type: Plain text
17872 #: build/C/man2/sysctl.2:33
17873 msgid "sysctl - read/write system parameters"
17874 msgstr ""
17875
17876 #. type: Plain text
17877 #: build/C/man2/sysctl.2:38
17878 #, no-wrap
17879 msgid "B<#include E<lt>linux/sysctl.hE<gt>>\n"
17880 msgstr ""
17881
17882 #. type: Plain text
17883 #: build/C/man2/sysctl.2:40
17884 #, no-wrap
17885 msgid "B<int _sysctl(struct __sysctl_args *>I<args>B<);>\n"
17886 msgstr ""
17887
17888 #. type: Plain text
17889 #: build/C/man2/sysctl.2:47
17890 msgid "B<Do not use this system call!> See NOTES."
17891 msgstr ""
17892
17893 #. type: Plain text
17894 #: build/C/man2/sysctl.2:54
17895 msgid ""
17896 "The B<_sysctl>()  call reads and/or writes kernel parameters.  For example, "
17897 "the hostname, or the maximum number of open files.  The argument has the "
17898 "form"
17899 msgstr ""
17900
17901 #. type: Plain text
17902 #: build/C/man2/sysctl.2:66
17903 #, no-wrap
17904 msgid ""
17905 "struct __sysctl_args {\n"
17906 "    int    *name;    /* integer vector describing variable */\n"
17907 "    int     nlen;    /* length of this vector */\n"
17908 "    void   *oldval;  /* 0 or address where to store old value */\n"
17909 "    size_t *oldlenp; /* available room for old value,\n"
17910 "                        overwritten by actual size of old value */\n"
17911 "    void   *newval;  /* 0 or address of new value */\n"
17912 "    size_t  newlen;  /* size of new value */\n"
17913 "};\n"
17914 msgstr ""
17915
17916 #. type: Plain text
17917 #: build/C/man2/sysctl.2:74
17918 msgid ""
17919 "This call does a search in a tree structure, possibly resembling a directory "
17920 "tree under I</proc/sys>, and if the requested item is found calls some "
17921 "appropriate routine to read or modify the value."
17922 msgstr ""
17923
17924 #. type: Plain text
17925 #: build/C/man2/sysctl.2:81
17926 msgid ""
17927 "Upon successful completion, B<_sysctl>()  returns 0.  Otherwise, a value of "
17928 "-1 is returned and I<errno> is set to indicate the error."
17929 msgstr ""
17930
17931 #. type: Plain text
17932 #: build/C/man2/sysctl.2:88
17933 msgid ""
17934 "The invocation asked for the previous value by setting I<oldval> non-NULL, "
17935 "but allowed zero room in I<oldlenp>."
17936 msgstr ""
17937
17938 #. type: Plain text
17939 #: build/C/man2/sysctl.2:92
17940 msgid "I<name> was not found."
17941 msgstr ""
17942
17943 #. type: TP
17944 #: build/C/man2/sysctl.2:92
17945 #, no-wrap
17946 msgid "B<EACCES>, B<EPERM>"
17947 msgstr ""
17948
17949 #. type: Plain text
17950 #: build/C/man2/sysctl.2:100
17951 msgid ""
17952 "No search permission for one of the encountered \"directories\", or no read "
17953 "permission where I<oldval> was nonzero, or no write permission where "
17954 "I<newval> was nonzero."
17955 msgstr ""
17956
17957 #. type: Plain text
17958 #: build/C/man2/sysctl.2:114
17959 msgid ""
17960 "This call is Linux-specific, and should not be used in programs intended to "
17961 "be portable.  A B<sysctl>()  call has been present in Linux since version "
17962 "1.3.57.  It originated in 4.4BSD.  Only Linux has the I</proc/sys> mirror, "
17963 "and the object naming schemes differ between Linux and 4.4BSD, but the "
17964 "declaration of the B<sysctl>()  function is the same in both."
17965 msgstr ""
17966
17967 #.  See http://lwn.net/Articles/247243/
17968 #.  Though comments in suggest that it is needed by old glibc binaries,
17969 #.  so maybe it's not going away.
17970 #. type: Plain text
17971 #: build/C/man2/sysctl.2:131
17972 msgid ""
17973 "Glibc does not provide a wrapper for this system call; call it using "
17974 "B<syscall>(2).  Or rather...  I<don't> call it: use of this system call has "
17975 "long been discouraged, and it is so unloved that B<it is likely to disappear "
17976 "in a future kernel version>.  Since Linux 2.6.24, uses of this system call "
17977 "result in warnings in the kernel log.  Remove it from your programs now; use "
17978 "the I</proc/sys> interface instead."
17979 msgstr ""
17980
17981 #. type: Plain text
17982 #: build/C/man2/sysctl.2:135
17983 msgid ""
17984 "This system call is available only if the kernel was configured with the "
17985 "B<CONFIG_SYSCTL_SYSCALL> option."
17986 msgstr ""
17987
17988 #. type: Plain text
17989 #: build/C/man2/sysctl.2:138
17990 msgid ""
17991 "The object names vary between kernel versions, making this system call "
17992 "worthless for applications."
17993 msgstr ""
17994
17995 #. type: Plain text
17996 #: build/C/man2/sysctl.2:140
17997 msgid "Not all available objects are properly documented."
17998 msgstr ""
17999
18000 #. type: Plain text
18001 #: build/C/man2/sysctl.2:143
18002 msgid ""
18003 "It is not yet possible to change operating system by writing to "
18004 "I</proc/sys/kernel/ostype>."
18005 msgstr ""
18006
18007 #. type: Plain text
18008 #: build/C/man2/sysctl.2:152
18009 #, no-wrap
18010 msgid ""
18011 "#define _GNU_SOURCE\n"
18012 "#include E<lt>unistd.hE<gt>\n"
18013 "#include E<lt>sys/syscall.hE<gt>\n"
18014 "#include E<lt>string.hE<gt>\n"
18015 "#include E<lt>stdio.hE<gt>\n"
18016 "#include E<lt>stdlib.hE<gt>\n"
18017 "#include E<lt>linux/sysctl.hE<gt>\n"
18018 msgstr ""
18019
18020 #. type: Plain text
18021 #: build/C/man2/sysctl.2:154
18022 #, no-wrap
18023 msgid "int _sysctl(struct __sysctl_args *args );\n"
18024 msgstr ""
18025
18026 #. type: Plain text
18027 #: build/C/man2/sysctl.2:156
18028 #, no-wrap
18029 msgid "#define OSNAMESZ 100\n"
18030 msgstr ""
18031
18032 #. type: Plain text
18033 #: build/C/man2/sysctl.2:164
18034 #, no-wrap
18035 msgid ""
18036 "int\n"
18037 "main(void)\n"
18038 "{\n"
18039 "    struct __sysctl_args args;\n"
18040 "    char osname[OSNAMESZ];\n"
18041 "    size_t osnamelth;\n"
18042 "    int name[] = { CTL_KERN, KERN_OSTYPE };\n"
18043 msgstr ""
18044
18045 #. type: Plain text
18046 #: build/C/man2/sysctl.2:170
18047 #, no-wrap
18048 msgid ""
18049 "    memset(&args, 0, sizeof(struct __sysctl_args));\n"
18050 "    args.name = name;\n"
18051 "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
18052 "    args.oldval = osname;\n"
18053 "    args.oldlenp = &osnamelth;\n"
18054 msgstr ""
18055
18056 #. type: Plain text
18057 #: build/C/man2/sysctl.2:172
18058 #, no-wrap
18059 msgid "    osnamelth = sizeof(osname);\n"
18060 msgstr ""
18061
18062 #. type: Plain text
18063 #: build/C/man2/sysctl.2:180
18064 #, no-wrap
18065 msgid ""
18066 "    if (syscall(SYS__sysctl, &args) == -1) {\n"
18067 "        perror(\"_sysctl\");\n"
18068 "        exit(EXIT_FAILURE);\n"
18069 "    }\n"
18070 "    printf(\"This machine is running %*s\\en\", osnamelth, osname);\n"
18071 "    exit(EXIT_SUCCESS);\n"
18072 "}\n"
18073 msgstr ""
18074
18075 #. type: Plain text
18076 #: build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96
18077 msgid "B<proc>(5)"
18078 msgstr ""
18079
18080 #. type: TH
18081 #: build/C/man2/sysinfo.2:14
18082 #, no-wrap
18083 msgid "SYSINFO"
18084 msgstr ""
18085
18086 #. type: TH
18087 #: build/C/man2/sysinfo.2:14
18088 #, no-wrap
18089 msgid "2012-05-05"
18090 msgstr ""
18091
18092 #. type: Plain text
18093 #: build/C/man2/sysinfo.2:17
18094 msgid "sysinfo - returns information on overall system statistics"
18095 msgstr ""
18096
18097 #. type: Plain text
18098 #: build/C/man2/sysinfo.2:21
18099 msgid "B<int sysinfo(struct sysinfo *>I<info>B<);>"
18100 msgstr ""
18101
18102 #. type: Plain text
18103 #: build/C/man2/sysinfo.2:25
18104 msgid ""
18105 "Until Linux 2.3.16, B<sysinfo>()  used to return information in the "
18106 "following structure:"
18107 msgstr ""
18108
18109 #. type: Plain text
18110 #: build/C/man2/sysinfo.2:40
18111 #, no-wrap
18112 msgid ""
18113 "struct sysinfo {\n"
18114 "    long uptime;             /* Seconds since boot */\n"
18115 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
18116 "    unsigned long totalram;  /* Total usable main memory size */\n"
18117 "    unsigned long freeram;   /* Available memory size */\n"
18118 "    unsigned long sharedram; /* Amount of shared memory */\n"
18119 "    unsigned long bufferram; /* Memory used by buffers */\n"
18120 "    unsigned long totalswap; /* Total swap space size */\n"
18121 "    unsigned long freeswap;  /* swap space still available */\n"
18122 "    unsigned short procs;    /* Number of current processes */\n"
18123 "    char _f[22];             /* Pads structure to 64 bytes */\n"
18124 "};\n"
18125 msgstr ""
18126
18127 #. type: Plain text
18128 #: build/C/man2/sysinfo.2:44
18129 msgid "and the sizes were given in bytes."
18130 msgstr ""
18131
18132 #. type: Plain text
18133 #: build/C/man2/sysinfo.2:47
18134 msgid "Since Linux 2.3.23 (i386), 2.3.48 (all architectures) the structure is:"
18135 msgstr ""
18136
18137 #. type: Plain text
18138 #: build/C/man2/sysinfo.2:65
18139 #, no-wrap
18140 msgid ""
18141 "struct sysinfo {\n"
18142 "    long uptime;             /* Seconds since boot */\n"
18143 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
18144 "    unsigned long totalram;  /* Total usable main memory size */\n"
18145 "    unsigned long freeram;   /* Available memory size */\n"
18146 "    unsigned long sharedram; /* Amount of shared memory */\n"
18147 "    unsigned long bufferram; /* Memory used by buffers */\n"
18148 "    unsigned long totalswap; /* Total swap space size */\n"
18149 "    unsigned long freeswap;  /* swap space still available */\n"
18150 "    unsigned short procs;    /* Number of current processes */\n"
18151 "    unsigned long totalhigh; /* Total high memory size */\n"
18152 "    unsigned long freehigh;  /* Available high memory size */\n"
18153 "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
18154 "    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */\n"
18155 "};\n"
18156 msgstr ""
18157
18158 #. type: Plain text
18159 #: build/C/man2/sysinfo.2:69
18160 msgid "and the sizes are given as multiples of I<mem_unit> bytes."
18161 msgstr ""
18162
18163 #. type: Plain text
18164 #: build/C/man2/sysinfo.2:74
18165 msgid ""
18166 "B<sysinfo>()  provides a simple way of getting overall system statistics.  "
18167 "This is more portable than reading I</dev/kmem>."
18168 msgstr ""
18169
18170 #. type: Plain text
18171 #: build/C/man2/sysinfo.2:83
18172 msgid "pointer to I<struct\\ sysinfo> is invalid"
18173 msgstr ""
18174
18175 #. type: Plain text
18176 #: build/C/man2/sysinfo.2:94
18177 msgid ""
18178 "The Linux kernel has a B<sysinfo>()  system call since 0.98.pl6.  Linux libc "
18179 "contains a B<sysinfo>()  routine since 5.3.5, and glibc has one since 1.90."
18180 msgstr ""
18181
18182 #. type: TH
18183 #: build/C/man3/tcgetpgrp.3:25
18184 #, no-wrap
18185 msgid "TCGETPGRP"
18186 msgstr ""
18187
18188 #. type: TH
18189 #: build/C/man3/tcgetpgrp.3:25
18190 #, no-wrap
18191 msgid "2014-01-13"
18192 msgstr ""
18193
18194 #. type: Plain text
18195 #: build/C/man3/tcgetpgrp.3:28
18196 msgid "tcgetpgrp, tcsetpgrp - get and set terminal foreground process group"
18197 msgstr ""
18198
18199 #. type: Plain text
18200 #: build/C/man3/tcgetpgrp.3:32
18201 msgid "B<pid_t tcgetpgrp(int >I<fd>B<);>"
18202 msgstr ""
18203
18204 #. type: Plain text
18205 #: build/C/man3/tcgetpgrp.3:34
18206 msgid "B<int tcsetpgrp(int >I<fd>B<, pid_t >I<pgrp>B<);>"
18207 msgstr ""
18208
18209 #.  The process itself may be a background process.
18210 #. type: Plain text
18211 #: build/C/man3/tcgetpgrp.3:42
18212 msgid ""
18213 "The function B<tcgetpgrp>()  returns the process group ID of the foreground "
18214 "process group on the terminal associated to I<fd>, which must be the "
18215 "controlling terminal of the calling process."
18216 msgstr ""
18217
18218 #. type: Plain text
18219 #: build/C/man3/tcgetpgrp.3:55
18220 msgid ""
18221 "The function B<tcsetpgrp>()  makes the process group with process group ID "
18222 "I<pgrp> the foreground process group on the terminal associated to I<fd>, "
18223 "which must be the controlling terminal of the calling process, and still be "
18224 "associated with its session.  Moreover, I<pgrp> must be a (nonempty) process "
18225 "group belonging to the same session as the calling process."
18226 msgstr ""
18227
18228 #. type: Plain text
18229 #: build/C/man3/tcgetpgrp.3:64
18230 msgid ""
18231 "If B<tcsetpgrp>()  is called by a member of a background process group in "
18232 "its session, and the calling process is not blocking or ignoring B<SIGTTOU>, "
18233 "a B<SIGTTOU> signal is sent to all members of this background process group."
18234 msgstr ""
18235
18236 #. type: Plain text
18237 #: build/C/man3/tcgetpgrp.3:79
18238 msgid ""
18239 "When I<fd> refers to the controlling terminal of the calling process, the "
18240 "function B<tcgetpgrp>()  will return the foreground process group ID of that "
18241 "terminal if there is one, and some value larger than 1 that is not presently "
18242 "a process group ID otherwise.  When I<fd> does not refer to the controlling "
18243 "terminal of the calling process, -1 is returned, and I<errno> is set "
18244 "appropriately."
18245 msgstr ""
18246
18247 #. type: Plain text
18248 #: build/C/man3/tcgetpgrp.3:86
18249 msgid ""
18250 "When successful, B<tcsetpgrp>()  returns 0.  Otherwise, it returns -1, and "
18251 "I<errno> is set appropriately."
18252 msgstr ""
18253
18254 #. type: Plain text
18255 #: build/C/man3/tcgetpgrp.3:95
18256 msgid "I<pgrp> has an unsupported value."
18257 msgstr ""
18258
18259 #. type: Plain text
18260 #: build/C/man3/tcgetpgrp.3:104
18261 msgid ""
18262 "The calling process does not have a controlling terminal, or it has one but "
18263 "it is not described by I<fd>, or, for B<tcsetpgrp>(), this controlling "
18264 "terminal is no longer associated with the session of the calling process."
18265 msgstr ""
18266
18267 #. type: Plain text
18268 #: build/C/man3/tcgetpgrp.3:109
18269 msgid ""
18270 "I<pgrp> has a supported value, but is not the process group ID of a process "
18271 "in the same session as the calling process."
18272 msgstr ""
18273
18274 #. type: Plain text
18275 #: build/C/man3/tcgetpgrp.3:116
18276 msgid "The B<tcgetpgrp>()  and B<tcsetpgrp>()  functions are thread-safe."
18277 msgstr ""
18278
18279 #. type: Plain text
18280 #: build/C/man3/tcgetpgrp.3:124
18281 msgid ""
18282 "These functions are implemented via the B<TIOCGPGRP> and B<TIOCSPGRP> "
18283 "ioctls."
18284 msgstr ""
18285
18286 #. type: SS
18287 #: build/C/man3/tcgetpgrp.3:124 build/C/man2/vfork.2:234
18288 #, no-wrap
18289 msgid "History"
18290 msgstr ""
18291
18292 #. type: Plain text
18293 #: build/C/man3/tcgetpgrp.3:127
18294 msgid "The ioctls appeared in 4.2BSD.  The functions are POSIX inventions."
18295 msgstr ""
18296
18297 #. type: Plain text
18298 #: build/C/man3/tcgetpgrp.3:131
18299 msgid "B<setpgid>(2), B<setsid>(2), B<credentials>(7)"
18300 msgstr ""
18301
18302 #. type: TH
18303 #: build/C/man2/truncate.2:43
18304 #, no-wrap
18305 msgid "TRUNCATE"
18306 msgstr ""
18307
18308 #. type: TH
18309 #: build/C/man2/truncate.2:43
18310 #, no-wrap
18311 msgid "2013-04-01"
18312 msgstr ""
18313
18314 #. type: Plain text
18315 #: build/C/man2/truncate.2:46
18316 msgid "truncate, ftruncate - truncate a file to a specified length"
18317 msgstr ""
18318
18319 #. type: Plain text
18320 #: build/C/man2/truncate.2:52
18321 msgid "B<int truncate(const char *>I<path>B<, off_t >I<length>B<);>"
18322 msgstr ""
18323
18324 #. type: Plain text
18325 #: build/C/man2/truncate.2:54
18326 msgid "B<int ftruncate(int >I<fd>B<, off_t >I<length>B<);>"
18327 msgstr ""
18328
18329 #. type: Plain text
18330 #: build/C/man2/truncate.2:63
18331 msgid "B<truncate>():"
18332 msgstr ""
18333
18334 #. type: Plain text
18335 #: build/C/man2/truncate.2:71
18336 msgid "B<ftruncate>():"
18337 msgstr ""
18338
18339 #. type: Plain text
18340 #: build/C/man2/truncate.2:76
18341 msgid "|| /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
18342 msgstr ""
18343
18344 #. type: Plain text
18345 #: build/C/man2/truncate.2:91
18346 msgid ""
18347 "The B<truncate>()  and B<ftruncate>()  functions cause the regular file "
18348 "named by I<path> or referenced by I<fd> to be truncated to a size of "
18349 "precisely I<length> bytes."
18350 msgstr ""
18351
18352 #. type: Plain text
18353 #: build/C/man2/truncate.2:95
18354 msgid ""
18355 "If the file previously was larger than this size, the extra data is lost.  "
18356 "If the file previously was shorter, it is extended, and the extended part "
18357 "reads as null bytes (\\(aq\\e0\\(aq)."
18358 msgstr ""
18359
18360 #. type: Plain text
18361 #: build/C/man2/truncate.2:97
18362 msgid "The file offset is not changed."
18363 msgstr ""
18364
18365 #. type: Plain text
18366 #: build/C/man2/truncate.2:104
18367 msgid ""
18368 "If the size changed, then the st_ctime and st_mtime fields (respectively, "
18369 "time of last status change and time of last modification; see B<stat>(2))  "
18370 "for the file are updated, and the set-user-ID and set-group-ID permission "
18371 "bits may be cleared."
18372 msgstr ""
18373
18374 #. type: Plain text
18375 #: build/C/man2/truncate.2:110
18376 msgid ""
18377 "With B<ftruncate>(), the file must be open for writing; with B<truncate>(), "
18378 "the file must be writable."
18379 msgstr ""
18380
18381 #. type: Plain text
18382 #: build/C/man2/truncate.2:118
18383 msgid "For B<truncate>():"
18384 msgstr ""
18385
18386 #. type: Plain text
18387 #: build/C/man2/truncate.2:124
18388 msgid ""
18389 "Search permission is denied for a component of the path prefix, or the named "
18390 "file is not writable by the user.  (See also B<path_resolution>(7).)"
18391 msgstr ""
18392
18393 #. type: Plain text
18394 #: build/C/man2/truncate.2:128
18395 msgid "I<Path> points outside the process's allocated address space."
18396 msgstr ""
18397
18398 #. type: TP
18399 #: build/C/man2/truncate.2:128
18400 #, no-wrap
18401 msgid "B<EFBIG>"
18402 msgstr ""
18403
18404 #. type: Plain text
18405 #: build/C/man2/truncate.2:133
18406 msgid "The argument I<length> is larger than the maximum file size. (XSI)"
18407 msgstr ""
18408
18409 #. type: Plain text
18410 #: build/C/man2/truncate.2:140
18411 msgid ""
18412 "While blocked waiting to complete, the call was interrupted by a signal "
18413 "handler; see B<fcntl>(2)  and B<signal>(7)."
18414 msgstr ""
18415
18416 #. type: Plain text
18417 #: build/C/man2/truncate.2:145
18418 msgid "The argument I<length> is negative or larger than the maximum file size."
18419 msgstr ""
18420
18421 #. type: Plain text
18422 #: build/C/man2/truncate.2:148
18423 msgid "An I/O error occurred updating the inode."
18424 msgstr ""
18425
18426 #. type: Plain text
18427 #: build/C/man2/truncate.2:151
18428 msgid "The named file is a directory."
18429 msgstr ""
18430
18431 #. type: Plain text
18432 #: build/C/man2/truncate.2:154
18433 msgid "Too many symbolic links were encountered in translating the pathname."
18434 msgstr ""
18435
18436 #. type: Plain text
18437 #: build/C/man2/truncate.2:158
18438 msgid ""
18439 "A component of a pathname exceeded 255 characters, or an entire pathname "
18440 "exceeded 1023 characters."
18441 msgstr ""
18442
18443 #. type: Plain text
18444 #: build/C/man2/truncate.2:161
18445 msgid "The named file does not exist."
18446 msgstr ""
18447
18448 #.  This happens for at least MSDOS and VFAT filesystems
18449 #.  on kernel 2.6.13
18450 #. type: Plain text
18451 #: build/C/man2/truncate.2:170
18452 msgid ""
18453 "The underlying filesystem does not support extending a file beyond its "
18454 "current size."
18455 msgstr ""
18456
18457 #. type: Plain text
18458 #: build/C/man2/truncate.2:176
18459 msgid "The file is a pure procedure (shared text) file that is being executed."
18460 msgstr ""
18461
18462 #. type: Plain text
18463 #: build/C/man2/truncate.2:183
18464 msgid ""
18465 "For B<ftruncate>()  the same errors apply, but instead of things that can be "
18466 "wrong with I<path>, we now have things that can be wrong with the file "
18467 "descriptor, I<fd>:"
18468 msgstr ""
18469
18470 #. type: Plain text
18471 #: build/C/man2/truncate.2:187
18472 msgid "I<fd> is not a valid descriptor."
18473 msgstr ""
18474
18475 #. type: TP
18476 #: build/C/man2/truncate.2:187
18477 #, no-wrap
18478 msgid "B<EBADF> or B<EINVAL>"
18479 msgstr ""
18480
18481 #. type: Plain text
18482 #: build/C/man2/truncate.2:191
18483 msgid "I<fd> is not open for writing."
18484 msgstr ""
18485
18486 #. type: Plain text
18487 #: build/C/man2/truncate.2:195
18488 msgid "I<fd> does not reference a regular file."
18489 msgstr ""
18490
18491 #.  POSIX.1-1996 has
18492 #.  .BR ftruncate ().
18493 #.  POSIX.1-2001 also has
18494 #.  .BR truncate (),
18495 #.  as an XSI extension.
18496 #.  .LP
18497 #.  SVr4 documents additional
18498 #.  .BR truncate ()
18499 #.  error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
18500 #.  .BR ftruncate ()
18501 #.  an additional EAGAIN error condition.
18502 #. type: Plain text
18503 #: build/C/man2/truncate.2:208
18504 msgid "4.4BSD, SVr4, POSIX.1-2001 (these calls first appeared in 4.2BSD)."
18505 msgstr ""
18506
18507 #.  At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
18508 #. type: Plain text
18509 #: build/C/man2/truncate.2:229
18510 msgid ""
18511 "The details in DESCRIPTION are for XSI-compliant systems.  For "
18512 "non-XSI-compliant systems, the POSIX standard allows two behaviors for "
18513 "B<ftruncate>()  when I<length> exceeds the file length (note that "
18514 "B<truncate>()  is not specified at all in such an environment): either "
18515 "returning an error, or extending the file.  Like most UNIX implementations, "
18516 "Linux follows the XSI requirement when dealing with native filesystems.  "
18517 "However, some nonnative filesystems do not permit B<truncate>()  and "
18518 "B<ftruncate>()  to be used to extend a file beyond its current length: a "
18519 "notable example on Linux is VFAT."
18520 msgstr ""
18521
18522 #. type: Plain text
18523 #: build/C/man2/truncate.2:243
18524 msgid ""
18525 "The original Linux B<truncate>()  and B<ftruncate>()  system calls were not "
18526 "designed to handle large file offsets.  Consequently, Linux 2.4 added "
18527 "B<truncate64>()  and B<ftruncate64>()  system calls that handle large "
18528 "files.  However, these details can be ignored by applications using glibc, "
18529 "whose wrapper functions transparently employ the more recent system calls "
18530 "where they are available."
18531 msgstr ""
18532
18533 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=12037
18534 #. type: Plain text
18535 #: build/C/man2/truncate.2:256
18536 msgid ""
18537 "A header file bug in glibc 2.12 meant that the minimum value of "
18538 "B<_POSIX_C_SOURCE> required to expose the declaration of B<ftruncate>()  was "
18539 "200809L instead of 200112L.  This has been fixed in later glibc versions."
18540 msgstr ""
18541
18542 #. type: Plain text
18543 #: build/C/man2/truncate.2:260
18544 msgid "B<open>(2), B<stat>(2), B<path_resolution>(7)"
18545 msgstr ""
18546
18547 #. type: TH
18548 #: build/C/man3/ualarm.3:24
18549 #, no-wrap
18550 msgid "UALARM"
18551 msgstr ""
18552
18553 #. type: TH
18554 #: build/C/man3/ualarm.3:24
18555 #, no-wrap
18556 msgid "2013-12-23"
18557 msgstr ""
18558
18559 #. type: Plain text
18560 #: build/C/man3/ualarm.3:27
18561 msgid "ualarm - schedule signal after given number of microseconds"
18562 msgstr ""
18563
18564 #. type: Plain text
18565 #: build/C/man3/ualarm.3:32
18566 #, no-wrap
18567 msgid "B<useconds_t ualarm(useconds_t >I<usecs>B<, useconds_t >I<interval>B<);>\n"
18568 msgstr ""
18569
18570 #. type: Plain text
18571 #: build/C/man3/ualarm.3:40
18572 msgid "B<ualarm>():"
18573 msgstr ""
18574
18575 #. type: Plain text
18576 #: build/C/man3/ualarm.3:69
18577 msgid ""
18578 "The B<ualarm>()  function causes the signal B<SIGALRM> to be sent to the "
18579 "invoking process after (not less than)  I<usecs> microseconds.  The delay "
18580 "may be lengthened slightly by any system activity or by the time spent "
18581 "processing the call or by the granularity of system timers."
18582 msgstr ""
18583
18584 #. type: Plain text
18585 #: build/C/man3/ualarm.3:73
18586 msgid "Unless caught or ignored, the B<SIGALRM> signal will terminate the process."
18587 msgstr ""
18588
18589 #. type: Plain text
18590 #: build/C/man3/ualarm.3:81
18591 msgid ""
18592 "If the I<interval> argument is nonzero, further B<SIGALRM> signals will be "
18593 "sent every I<interval> microseconds after the first."
18594 msgstr ""
18595
18596 #. type: Plain text
18597 #: build/C/man3/ualarm.3:84
18598 msgid ""
18599 "This function returns the number of microseconds remaining for any alarm "
18600 "that was previously set, or 0 if no alarm was pending."
18601 msgstr ""
18602
18603 #. type: Plain text
18604 #: build/C/man3/ualarm.3:88
18605 msgid "Interrupted by a signal."
18606 msgstr ""
18607
18608 #. type: Plain text
18609 #: build/C/man3/ualarm.3:92
18610 msgid ""
18611 "I<usecs> or I<interval> is not smaller than 1000000.  (On systems where that "
18612 "is considered an error.)"
18613 msgstr ""
18614
18615 #. type: Plain text
18616 #: build/C/man3/ualarm.3:97
18617 msgid "The B<ualarm>()  function is thread-safe."
18618 msgstr ""
18619
18620 #. type: Plain text
18621 #: build/C/man3/ualarm.3:105
18622 msgid ""
18623 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 marks B<ualarm>()  as obsolete.  "
18624 "POSIX.1-2008 removes the specification of B<ualarm>().  4.3BSD, SUSv2, and "
18625 "POSIX do not define any errors."
18626 msgstr ""
18627
18628 #.  This case is not documented in HP-US, Solar, FreeBSD, NetBSD, or OpenBSD!
18629 #. type: Plain text
18630 #: build/C/man3/ualarm.3:112
18631 msgid ""
18632 "POSIX.1-2001 does not specify what happens if the I<usecs> argument is 0.  "
18633 "On Linux (and probably most other systems), the effect is to cancel any "
18634 "pending alarm."
18635 msgstr ""
18636
18637 #. type: Plain text
18638 #: build/C/man3/ualarm.3:125
18639 msgid ""
18640 "The type I<useconds_t> is an unsigned integer type capable of holding "
18641 "integers in the range [0,1000000].  On the original BSD implementation, and "
18642 "in glibc before version 2.1, the arguments to B<ualarm>()  were instead "
18643 "typed as I<unsigned int>.  Programs will be more portable if they never "
18644 "mention I<useconds_t> explicitly."
18645 msgstr ""
18646
18647 #. type: Plain text
18648 #: build/C/man3/ualarm.3:139
18649 msgid ""
18650 "The interaction of this function with other timer functions such as "
18651 "B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), "
18652 "B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), "
18653 "B<timer_gettime>(2), B<timer_settime>(2), B<usleep>(3)  is unspecified."
18654 msgstr ""
18655
18656 #. type: Plain text
18657 #: build/C/man3/ualarm.3:147
18658 msgid ""
18659 "This function is obsolete.  Use B<setitimer>(2)  or POSIX interval timers "
18660 "(B<timer_create>(2), etc.)  instead."
18661 msgstr ""
18662
18663 #. type: Plain text
18664 #: build/C/man3/ualarm.3:155
18665 msgid ""
18666 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
18667 "B<setitimer>(2), B<usleep>(3), B<time>(7)"
18668 msgstr ""
18669
18670 #. type: TH
18671 #: build/C/man2/umask.2:34
18672 #, no-wrap
18673 msgid "UMASK"
18674 msgstr ""
18675
18676 #. type: TH
18677 #: build/C/man2/umask.2:34
18678 #, no-wrap
18679 msgid "2008-01-09"
18680 msgstr ""
18681
18682 #. type: Plain text
18683 #: build/C/man2/umask.2:37
18684 msgid "umask - set file mode creation mask"
18685 msgstr ""
18686
18687 #. type: Plain text
18688 #: build/C/man2/umask.2:43
18689 msgid "B<mode_t umask(mode_t >I<mask>B<);>"
18690 msgstr ""
18691
18692 #. type: Plain text
18693 #: build/C/man2/umask.2:50
18694 msgid ""
18695 "B<umask>()  sets the calling process's file mode creation mask (umask) to "
18696 "I<mask> & 0777 (i.e., only the file permission bits of I<mask> are used), "
18697 "and returns the previous value of the mask."
18698 msgstr ""
18699
18700 #.  e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
18701 #.  but NOT the System V IPC *get() calls
18702 #. type: Plain text
18703 #: build/C/man2/umask.2:65
18704 msgid ""
18705 "The umask is used by B<open>(2), B<mkdir>(2), and other system calls that "
18706 "create files to modify the permissions placed on newly created files or "
18707 "directories.  Specifically, permissions in the umask are turned off from the "
18708 "I<mode> argument to B<open>(2)  and B<mkdir>(2)."
18709 msgstr ""
18710
18711 #. type: Plain text
18712 #: build/C/man2/umask.2:70
18713 msgid ""
18714 "The constants that should be used to specify I<mask> are described under "
18715 "B<stat>(2)."
18716 msgstr ""
18717
18718 #. type: Plain text
18719 #: build/C/man2/umask.2:79
18720 msgid ""
18721 "The typical default value for the process umask is I<S_IWGRP\\ |\\ S_IWOTH> "
18722 "(octal 022).  In the usual case where the I<mode> argument to B<open>(2)  is "
18723 "specified as:"
18724 msgstr ""
18725
18726 #. type: Plain text
18727 #: build/C/man2/umask.2:82
18728 #, no-wrap
18729 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
18730 msgstr ""
18731
18732 #. type: Plain text
18733 #: build/C/man2/umask.2:86
18734 msgid ""
18735 "(octal 0666) when creating a new file, the permissions on the resulting file "
18736 "will be:"
18737 msgstr ""
18738
18739 #. type: Plain text
18740 #: build/C/man2/umask.2:89
18741 #, no-wrap
18742 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
18743 msgstr ""
18744
18745 #. type: Plain text
18746 #: build/C/man2/umask.2:92
18747 msgid "(because 0666 & ~022 = 0644; i.e., rw-r--r--)."
18748 msgstr ""
18749
18750 #. type: Plain text
18751 #: build/C/man2/umask.2:95
18752 msgid ""
18753 "This system call always succeeds and the previous value of the mask is "
18754 "returned."
18755 msgstr ""
18756
18757 #. type: Plain text
18758 #: build/C/man2/umask.2:103
18759 msgid ""
18760 "A child process created via B<fork>(2)  inherits its parent's umask.  The "
18761 "umask is left unchanged by B<execve>(2)."
18762 msgstr ""
18763
18764 #. type: Plain text
18765 #: build/C/man2/umask.2:118
18766 msgid ""
18767 "The umask setting also affects the permissions assigned to POSIX IPC objects "
18768 "(B<mq_open>(3), B<sem_open>(3), B<shm_open>(3)), FIFOs (B<mkfifo>(3)), and "
18769 "UNIX domain sockets (B<unix>(7))  created by the process.  The umask does "
18770 "not affect the permissions assigned to System\\ V IPC objects created by the "
18771 "process (using B<msgget>(2), B<semget>(2), B<shmget>(2))."
18772 msgstr ""
18773
18774 #. type: Plain text
18775 #: build/C/man2/umask.2:124
18776 msgid "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2), B<acl>(5)"
18777 msgstr ""
18778
18779 #. type: TH
18780 #: build/C/man2/uname.2:27
18781 #, no-wrap
18782 msgid "UNAME"
18783 msgstr ""
18784
18785 #. type: Plain text
18786 #: build/C/man2/uname.2:30
18787 msgid "uname - get name and information about current kernel"
18788 msgstr ""
18789
18790 #. type: Plain text
18791 #: build/C/man2/uname.2:32
18792 msgid "B<#include E<lt>sys/utsname.hE<gt>>"
18793 msgstr ""
18794
18795 #. type: Plain text
18796 #: build/C/man2/uname.2:34
18797 msgid "B<int uname(struct utsname *>I<buf>B<);>"
18798 msgstr ""
18799
18800 #. type: Plain text
18801 #: build/C/man2/uname.2:42
18802 msgid ""
18803 "B<uname>()  returns system information in the structure pointed to by "
18804 "I<buf>.  The I<utsname> struct is defined in I<E<lt>sys/utsname.hE<gt>>:"
18805 msgstr ""
18806
18807 #. type: Plain text
18808 #: build/C/man2/uname.2:56
18809 #, no-wrap
18810 msgid ""
18811 "struct utsname {\n"
18812 "    char sysname[];    /* Operating system name (e.g., \"Linux\") */\n"
18813 "    char nodename[];   /* Name within \"some implementation-defined\n"
18814 "                          network\" */\n"
18815 "    char release[];    /* Operating system release (e.g., \"2.6.28\") */\n"
18816 "    char version[];    /* Operating system version */\n"
18817 "    char machine[];    /* Hardware identifier */\n"
18818 "#ifdef _GNU_SOURCE\n"
18819 "    char domainname[]; /* NIS or YP domain name */\n"
18820 "#endif\n"
18821 "};\n"
18822 msgstr ""
18823
18824 #. type: Plain text
18825 #: build/C/man2/uname.2:63
18826 msgid ""
18827 "The length of the arrays in a I<struct utsname> is unspecified (see NOTES); "
18828 "the fields are terminated by a null byte (\\(aq\\e0\\(aq)."
18829 msgstr ""
18830
18831 #. type: Plain text
18832 #: build/C/man2/uname.2:73
18833 msgid "I<buf> is not valid."
18834 msgstr ""
18835
18836 #. type: Plain text
18837 #: build/C/man2/uname.2:78
18838 msgid "SVr4, POSIX.1-2001.  There is no B<uname>()  call in 4.3BSD."
18839 msgstr ""
18840
18841 #. type: Plain text
18842 #: build/C/man2/uname.2:82
18843 msgid "The I<domainname> member (the NIS or YP domain name) is a GNU extension."
18844 msgstr ""
18845
18846 #. type: Plain text
18847 #: build/C/man2/uname.2:98
18848 msgid ""
18849 "This is a system call, and the operating system presumably knows its name, "
18850 "release and version.  It also knows what hardware it runs on.  So, four of "
18851 "the fields of the struct are meaningful.  On the other hand, the field "
18852 "I<nodename> is meaningless: it gives the name of the present machine in some "
18853 "undefined network, but typically machines are in more than one network and "
18854 "have several names.  Moreover, the kernel has no way of knowing about such "
18855 "things, so it has to be told what to answer here.  The same holds for the "
18856 "additional I<domainname> field."
18857 msgstr ""
18858
18859 #. type: Plain text
18860 #: build/C/man2/uname.2:116
18861 msgid ""
18862 "To this end, Linux uses the system calls B<sethostname>(2)  and "
18863 "B<setdomainname>(2).  Note that there is no standard that says that the "
18864 "hostname set by B<sethostname>(2)  is the same string as the I<nodename> "
18865 "field of the struct returned by B<uname>()  (indeed, some systems allow a "
18866 "256-byte hostname and an 8-byte nodename), but this is true on Linux.  The "
18867 "same holds for B<setdomainname>(2)  and the I<domainname> field."
18868 msgstr ""
18869
18870 #. type: Plain text
18871 #: build/C/man2/uname.2:131
18872 msgid ""
18873 "The length of the fields in the struct varies.  Some operating systems or "
18874 "libraries use a hardcoded 9 or 33 or 65 or 257.  Other systems use "
18875 "B<SYS_NMLN> or B<_SYS_NMLN> or B<UTSLEN> or B<_UTSNAME_LENGTH>.  Clearly, it "
18876 "is a bad idea to use any of these constants; just use sizeof(...).  Often "
18877 "257 is chosen in order to have room for an internet hostname."
18878 msgstr ""
18879
18880 #. type: Plain text
18881 #: build/C/man2/uname.2:138
18882 msgid ""
18883 "Part of the utsname information is also accessible via "
18884 "I</proc/sys/kernel/>{I<ostype>, I<hostname>, I<osrelease>, I<version>, "
18885 "I<domainname>}."
18886 msgstr ""
18887
18888 #. type: SS
18889 #: build/C/man2/uname.2:138
18890 #, no-wrap
18891 msgid "Underlying kernel interface"
18892 msgstr ""
18893
18894 #.  That was back before Linux 1.0
18895 #.  That was also back before Linux 1.0
18896 #. type: Plain text
18897 #: build/C/man2/uname.2:167
18898 msgid ""
18899 "Over time, increases in the size of the I<utsname> structure have led to "
18900 "three successive versions of B<uname>(): I<sys_olduname>()  (slot "
18901 "I<__NR_oldolduname>), I<sys_uname>()  (slot I<__NR_olduname>), and "
18902 "I<sys_newuname>()  (slot I<__NR_uname)>.  The first one used length 9 for "
18903 "all fields; the second used 65; the third also uses 65 but adds the "
18904 "I<domainname> field.  The glibc B<uname>()  wrapper function hides these "
18905 "details from applications, invoking the most recent version of the system "
18906 "call provided by the kernel."
18907 msgstr ""
18908
18909 #. type: Plain text
18910 #: build/C/man2/uname.2:171
18911 msgid "B<uname>(1), B<getdomainname>(2), B<gethostname>(2)"
18912 msgstr ""
18913
18914 #. type: TH
18915 #: build/C/man2/uselib.2:31
18916 #, no-wrap
18917 msgid "USELIB"
18918 msgstr ""
18919
18920 #. type: TH
18921 #: build/C/man2/uselib.2:31
18922 #, no-wrap
18923 msgid "2005-01-09"
18924 msgstr ""
18925
18926 #. type: Plain text
18927 #: build/C/man2/uselib.2:34
18928 msgid "uselib - load shared library"
18929 msgstr ""
18930
18931 #. type: Plain text
18932 #: build/C/man2/uselib.2:38
18933 msgid "B<int uselib(const char *>I<library>B<);>"
18934 msgstr ""
18935
18936 #. type: Plain text
18937 #: build/C/man2/uselib.2:48
18938 msgid ""
18939 "The system call B<uselib>()  serves to load a shared library to be used by "
18940 "the calling process.  It is given a pathname.  The address where to load is "
18941 "found in the library itself.  The library can have any recognized binary "
18942 "format."
18943 msgstr ""
18944
18945 #. type: Plain text
18946 #: build/C/man2/uselib.2:59
18947 msgid ""
18948 "In addition to all of the error codes returned by B<open>(2)  and "
18949 "B<mmap>(2), the following may also be returned:"
18950 msgstr ""
18951
18952 #. type: Plain text
18953 #: build/C/man2/uselib.2:67
18954 msgid ""
18955 "The library specified by I<library> does not have read or execute "
18956 "permission, or the caller does not have search permission for one of the "
18957 "directories in the path prefix.  (See also B<path_resolution>(7).)"
18958 msgstr ""
18959
18960 #. type: Plain text
18961 #: build/C/man2/uselib.2:76
18962 msgid ""
18963 "The file specified by I<library> is not an executable of a known type; for "
18964 "example, it does not have the correct magic numbers."
18965 msgstr ""
18966
18967 #. type: Plain text
18968 #: build/C/man2/uselib.2:80
18969 msgid ""
18970 "B<uselib>()  is Linux-specific, and should not be used in programs intended "
18971 "to be portable."
18972 msgstr ""
18973
18974 #. type: Plain text
18975 #: build/C/man2/uselib.2:85
18976 msgid ""
18977 "B<uselib>()  was used by early libc startup code to load the shared "
18978 "libraries with names found in an array of names in the binary."
18979 msgstr ""
18980
18981 #.  libc 4.3.1f - changelog 1993-03-02
18982 #.  libc 4.3.4 - changelog 1993-04-21
18983 #. type: Plain text
18984 #: build/C/man2/uselib.2:95
18985 msgid ""
18986 "Since libc 4.3.2, startup code tries to prefix these names with "
18987 "\"/usr/lib\", \"/lib\" and \"\" before giving up.  In libc 4.3.4 and later "
18988 "these names are looked for in the directories found in B<LD_LIBRARY_PATH>, "
18989 "and if not found there, prefixes \"/usr/lib\", \"/lib\" and \"/\" are tried."
18990 msgstr ""
18991
18992 #. type: Plain text
18993 #: build/C/man2/uselib.2:100
18994 msgid ""
18995 "From libc 4.4.4 on only the library \"/lib/ld.so\" is loaded, so that this "
18996 "dynamic library can load the remaining libraries needed (again using this "
18997 "call).  This is also the state of affairs in libc5."
18998 msgstr ""
18999
19000 #. type: Plain text
19001 #: build/C/man2/uselib.2:102
19002 msgid "glibc2 does not use this call."
19003 msgstr ""
19004
19005 #. type: Plain text
19006 #: build/C/man2/uselib.2:112
19007 msgid ""
19008 "B<ar>(1), B<gcc>(1), B<ld>(1), B<ldd>(1), B<mmap>(2), B<open>(2), "
19009 "B<dlopen>(3), B<capabilities>(7), B<ld.so>(8)"
19010 msgstr ""
19011
19012 #. type: TH
19013 #: build/C/man3/usleep.3:33
19014 #, no-wrap
19015 msgid "USLEEP"
19016 msgstr ""
19017
19018 #. type: TH
19019 #: build/C/man3/usleep.3:33
19020 #, no-wrap
19021 msgid "2013-12-10"
19022 msgstr ""
19023
19024 #. type: Plain text
19025 #: build/C/man3/usleep.3:36
19026 msgid "usleep - suspend execution for microsecond intervals"
19027 msgstr ""
19028
19029 #. type: Plain text
19030 #: build/C/man3/usleep.3:41
19031 #, no-wrap
19032 msgid "B<int usleep(useconds_t >I<usec>B<);>\n"
19033 msgstr ""
19034
19035 #. type: Plain text
19036 #: build/C/man3/usleep.3:49
19037 msgid "B<usleep>():"
19038 msgstr ""
19039
19040 #. type: Plain text
19041 #: build/C/man3/usleep.3:75
19042 msgid ""
19043 "The B<usleep>()  function suspends execution of the calling thread for (at "
19044 "least) I<usec> microseconds.  The sleep may be lengthened slightly by any "
19045 "system activity or by the time spent processing the call or by the "
19046 "granularity of system timers."
19047 msgstr ""
19048
19049 #. type: Plain text
19050 #: build/C/man3/usleep.3:82
19051 msgid ""
19052 "The B<usleep>()  function returns 0 on success.  On error, -1 is returned, "
19053 "with I<errno> set to indicate the cause of the error."
19054 msgstr ""
19055
19056 #. type: Plain text
19057 #: build/C/man3/usleep.3:87
19058 msgid "Interrupted by a signal; see B<signal>(7)."
19059 msgstr ""
19060
19061 #. type: Plain text
19062 #: build/C/man3/usleep.3:91
19063 msgid ""
19064 "I<usec> is not smaller than 1000000.  (On systems where that is considered "
19065 "an error.)"
19066 msgstr ""
19067
19068 #. type: Plain text
19069 #: build/C/man3/usleep.3:96
19070 msgid "The B<usleep>()  function is thread-safe."
19071 msgstr ""
19072
19073 #. type: Plain text
19074 #: build/C/man3/usleep.3:103
19075 msgid ""
19076 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 declares this function obsolete; use "
19077 "B<nanosleep>(2)  instead.  POSIX.1-2008 removes the specification of "
19078 "B<usleep>()."
19079 msgstr ""
19080
19081 #. type: Plain text
19082 #: build/C/man3/usleep.3:110
19083 msgid ""
19084 "On the original BSD implementation, and in glibc before version 2.2.2, the "
19085 "return type of this function is I<void>.  The POSIX version returns I<int>, "
19086 "and this is also the prototype used since glibc 2.2.2."
19087 msgstr ""
19088
19089 #. type: Plain text
19090 #: build/C/man3/usleep.3:114
19091 msgid "Only the B<EINVAL> error return is documented by SUSv2 and POSIX.1-2001."
19092 msgstr ""
19093
19094 #. type: Plain text
19095 #: build/C/man3/usleep.3:122
19096 msgid ""
19097 "The type I<useconds_t> is an unsigned integer type capable of holding "
19098 "integers in the range [0,1000000].  Programs will be more portable if they "
19099 "never mention this type explicitly.  Use"
19100 msgstr ""
19101
19102 #. type: Plain text
19103 #: build/C/man3/usleep.3:130
19104 #, no-wrap
19105 msgid ""
19106 "#include E<lt>unistd.hE<gt>\n"
19107 "\\&...\n"
19108 "    unsigned int usecs;\n"
19109 "\\&...\n"
19110 "    usleep(usecs);\n"
19111 msgstr ""
19112
19113 #. type: Plain text
19114 #: build/C/man3/usleep.3:147
19115 msgid ""
19116 "The interaction of this function with the B<SIGALRM> signal, and with other "
19117 "timer functions such as B<alarm>(2), B<sleep>(3), B<nanosleep>(2), "
19118 "B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), "
19119 "B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), "
19120 "B<ualarm>(3)  is unspecified."
19121 msgstr ""
19122
19123 #. type: Plain text
19124 #: build/C/man3/usleep.3:156
19125 msgid ""
19126 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
19127 "B<setitimer>(2), B<sleep>(3), B<ualarm>(3), B<time>(7)"
19128 msgstr ""
19129
19130 #. type: TH
19131 #: build/C/man2/vfork.2:28
19132 #, no-wrap
19133 msgid "VFORK"
19134 msgstr ""
19135
19136 #. type: TH
19137 #: build/C/man2/vfork.2:28
19138 #, no-wrap
19139 msgid "2012-08-05"
19140 msgstr ""
19141
19142 #. type: Plain text
19143 #: build/C/man2/vfork.2:31
19144 msgid "vfork - create a child process and block parent"
19145 msgstr ""
19146
19147 #. type: Plain text
19148 #: build/C/man2/vfork.2:37
19149 msgid "B<pid_t vfork(void);>"
19150 msgstr ""
19151
19152 #. type: Plain text
19153 #: build/C/man2/vfork.2:44
19154 msgid "B<vfork>():"
19155 msgstr ""
19156
19157 #. type: SS
19158 #: build/C/man2/vfork.2:63
19159 #, no-wrap
19160 msgid "Standard description"
19161 msgstr ""
19162
19163 #. type: Plain text
19164 #: build/C/man2/vfork.2:82
19165 msgid ""
19166 "(From POSIX.1)  The B<vfork>()  function has the same effect as B<fork>(2), "
19167 "except that the behavior is undefined if the process created by B<vfork>()  "
19168 "either modifies any data other than a variable of type I<pid_t> used to "
19169 "store the return value from B<vfork>(), or returns from the function in "
19170 "which B<vfork>()  was called, or calls any other function before "
19171 "successfully calling B<_exit>(2)  or one of the B<exec>(3)  family of "
19172 "functions."
19173 msgstr ""
19174
19175 #. type: SS
19176 #: build/C/man2/vfork.2:82
19177 #, no-wrap
19178 msgid "Linux description"
19179 msgstr ""
19180
19181 #. type: Plain text
19182 #: build/C/man2/vfork.2:89
19183 msgid ""
19184 "B<vfork>(), just like B<fork>(2), creates a child process of the calling "
19185 "process.  For details and return value and errors, see B<fork>(2)."
19186 msgstr ""
19187
19188 #. type: Plain text
19189 #: build/C/man2/vfork.2:98
19190 msgid ""
19191 "B<vfork>()  is a special case of B<clone>(2).  It is used to create new "
19192 "processes without copying the page tables of the parent process.  It may be "
19193 "useful in performance-sensitive applications where a child is created which "
19194 "then immediately issues an B<execve>(2)."
19195 msgstr ""
19196
19197 #. type: Plain text
19198 #: build/C/man2/vfork.2:115
19199 msgid ""
19200 "B<vfork>()  differs from B<fork>(2)  in that the calling thread is suspended "
19201 "until the child terminates (either normally, by calling B<_exit>(2), or "
19202 "abnormally, after delivery of a fatal signal), or it makes a call to "
19203 "B<execve>(2).  Until that point, the child shares all memory with its "
19204 "parent, including the stack.  The child must not return from the current "
19205 "function or call B<exit>(3), but may call B<_exit>(2)."
19206 msgstr ""
19207
19208 #. type: Plain text
19209 #: build/C/man2/vfork.2:126
19210 msgid ""
19211 "As with B<fork>(2), the child process created by B<vfork>()  inherits copies "
19212 "of various of the caller's process attributes (e.g., file descriptors, "
19213 "signal dispositions, and current working directory); the B<vfork>()  call "
19214 "differs only in the treatment of the virtual address space, as described "
19215 "above."
19216 msgstr ""
19217
19218 #. type: Plain text
19219 #: build/C/man2/vfork.2:132
19220 msgid ""
19221 "Signals sent to the parent arrive after the child releases the parent's "
19222 "memory (i.e., after the child terminates or calls B<execve>(2))."
19223 msgstr ""
19224
19225 #. type: SS
19226 #: build/C/man2/vfork.2:132
19227 #, no-wrap
19228 msgid "Historic description"
19229 msgstr ""
19230
19231 #. type: Plain text
19232 #: build/C/man2/vfork.2:159
19233 msgid ""
19234 "Under Linux, B<fork>(2)  is implemented using copy-on-write pages, so the "
19235 "only penalty incurred by B<fork>(2)  is the time and memory required to "
19236 "duplicate the parent's page tables, and to create a unique task structure "
19237 "for the child.  However, in the bad old days a B<fork>(2)  would require "
19238 "making a complete copy of the caller's data space, often needlessly, since "
19239 "usually immediately afterward an B<exec>(3)  is done.  Thus, for greater "
19240 "efficiency, BSD introduced the B<vfork>()  system call, which did not fully "
19241 "copy the address space of the parent process, but borrowed the parent's "
19242 "memory and thread of control until a call to B<execve>(2)  or an exit "
19243 "occurred.  The parent process was suspended while the child was using its "
19244 "resources.  The use of B<vfork>()  was tricky: for example, not modifying "
19245 "data in the parent process depended on knowing which variables were held in "
19246 "a register."
19247 msgstr ""
19248
19249 #. type: Plain text
19250 #: build/C/man2/vfork.2:163
19251 msgid ""
19252 "4.3BSD; POSIX.1-2001 (but marked OBSOLETE).  POSIX.1-2008 removes the "
19253 "specification of B<vfork>()."
19254 msgstr ""
19255
19256 #.  In AIXv3.1 vfork is equivalent to fork.
19257 #. type: Plain text
19258 #: build/C/man2/vfork.2:174
19259 msgid ""
19260 "The requirements put on B<vfork>()  by the standards are weaker than those "
19261 "put on B<fork>(2), so an implementation where the two are synonymous is "
19262 "compliant.  In particular, the programmer cannot rely on the parent "
19263 "remaining blocked until the child either terminates or calls B<execve>(2), "
19264 "and cannot rely on any specific behavior with respect to shared memory."
19265 msgstr ""
19266
19267 #. type: Plain text
19268 #: build/C/man2/vfork.2:193
19269 msgid ""
19270 "Some consider the semantics of B<vfork>()  to be an architectural blemish, "
19271 "and the 4.2BSD man page stated: \"This system call will be eliminated when "
19272 "proper system sharing mechanisms are implemented.  Users should not depend "
19273 "on the memory sharing semantics of B<vfork>()  as it will, in that case, be "
19274 "made synonymous to B<fork>(2).\" However, even though modern memory "
19275 "management hardware has decreased the performance difference between "
19276 "B<fork>(2)  and B<vfork>(), there are various reasons why Linux and other "
19277 "systems have retained B<vfork>():"
19278 msgstr ""
19279
19280 #. type: Plain text
19281 #: build/C/man2/vfork.2:197
19282 msgid ""
19283 "Some performance-critical applications require the small performance "
19284 "advantage conferred by B<vfork>()."
19285 msgstr ""
19286
19287 #.  http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork
19288 #.  http://developers.sun.com/solaris/articles/subprocess/subprocess.html
19289 #.  http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html
19290 #. type: Plain text
19291 #: build/C/man2/vfork.2:213
19292 msgid ""
19293 "B<vfork>()  can be implemented on systems that lack a memory-management unit "
19294 "(MMU), but B<fork>(2)  can't be implemented on such systems.  (POSIX.1-2008 "
19295 "removed B<vfork>()  from the standard; the POSIX rationale for the "
19296 "B<posix_spawn>(3)  function notes that that function, which provides "
19297 "functionality equivalent to B<fork>(2)+B<exec>(3), is designed to be "
19298 "implementable on systems that lack an MMU.)"
19299 msgstr ""
19300
19301 #. type: Plain text
19302 #: build/C/man2/vfork.2:224
19303 msgid ""
19304 "Fork handlers established using B<pthread_atfork>(3)  are not called when a "
19305 "multithreaded program employing the NPTL threading library calls "
19306 "B<vfork>().  Fork handlers are called in this case in a program using the "
19307 "LinuxThreads threading library.  (See B<pthreads>(7)  for a description of "
19308 "Linux threading libraries.)"
19309 msgstr ""
19310
19311 #. type: Plain text
19312 #: build/C/man2/vfork.2:232
19313 msgid ""
19314 "A call to B<vfork>()  is equivalent to calling B<clone>(2)  with I<flags> "
19315 "specified as:"
19316 msgstr ""
19317
19318 #. type: Plain text
19319 #: build/C/man2/vfork.2:234
19320 #, no-wrap
19321 msgid "     CLONE_VM | CLONE_VFORK | SIGCHLD\n"
19322 msgstr ""
19323
19324 #.  In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still
19325 #.  present, but definitely on its way out'.
19326 #. type: Plain text
19327 #: build/C/man2/vfork.2:252
19328 msgid ""
19329 "The B<vfork>()  system call appeared in 3.0BSD.  In 4.4BSD it was made "
19330 "synonymous to B<fork>(2)  but NetBSD introduced it again, cf.  E<.UR "
19331 "http://www.netbsd.org\\:/Documentation\\:/kernel\\:/vfork.html> E<.UE .> In "
19332 "Linux, it has been equivalent to B<fork>(2)  until 2.2.0-pre6 or so.  Since "
19333 "2.2.0-pre9 (on i386, somewhat later on other architectures) it is an "
19334 "independent system call.  Support was added in glibc 2.0.112."
19335 msgstr ""
19336
19337 #
19338 #.  As far as I can tell, the following is not true in 2.6.19:
19339 #.  Currently (Linux 2.3.25),
19340 #.  .BR strace (1)
19341 #.  cannot follow
19342 #.  .BR vfork ()
19343 #.  and requires a kernel patch.
19344 #. type: Plain text
19345 #: build/C/man2/vfork.2:273
19346 msgid ""
19347 "Details of the signal handling are obscure and differ between systems.  The "
19348 "BSD man page states: \"To avoid a possible deadlock situation, processes "
19349 "that are children in the middle of a B<vfork>()  are never sent B<SIGTTOU> "
19350 "or B<SIGTTIN> signals; rather, output or I<ioctl>s are allowed and input "
19351 "attempts result in an end-of-file indication.\""
19352 msgstr ""
19353
19354 #. type: Plain text
19355 #: build/C/man2/vfork.2:279
19356 msgid "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
19357 msgstr ""
19358
19359 #. type: TH
19360 #: build/C/man2/vhangup.2:28
19361 #, no-wrap
19362 msgid "VHANGUP"
19363 msgstr ""
19364
19365 #. type: TH
19366 #: build/C/man2/vhangup.2:28
19367 #, no-wrap
19368 msgid "2007-07-26"
19369 msgstr ""
19370
19371 #. type: Plain text
19372 #: build/C/man2/vhangup.2:31
19373 msgid "vhangup - virtually hangup the current terminal"
19374 msgstr ""
19375
19376 #. type: Plain text
19377 #: build/C/man2/vhangup.2:35
19378 msgid "B<int vhangup(void);>"
19379 msgstr ""
19380
19381 #. type: Plain text
19382 #: build/C/man2/vhangup.2:44
19383 msgid "B<vhangup>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
19384 msgstr ""
19385
19386 #. type: Plain text
19387 #: build/C/man2/vhangup.2:50
19388 msgid ""
19389 "B<vhangup>()  simulates a hangup on the current terminal.  This call "
19390 "arranges for other users to have a ``clean'' terminal at login time."
19391 msgstr ""
19392
19393 #. type: Plain text
19394 #: build/C/man2/vhangup.2:63
19395 msgid ""
19396 "The calling process has insufficient privilege to call B<vhangup>(); the "
19397 "B<CAP_SYS_TTY_CONFIG> capability is required."
19398 msgstr ""
19399
19400 #. type: Plain text
19401 #: build/C/man2/vhangup.2:66
19402 msgid ""
19403 "This call is Linux-specific, and should not be used in programs intended to "
19404 "be portable."
19405 msgstr ""
19406
19407 #. type: Plain text
19408 #: build/C/man2/vhangup.2:69
19409 msgid "B<capabilities>(7), B<init>(8)"
19410 msgstr ""