OSDN Git Service

LDP: Update POT and ja.po to LDP v3.79
[linuxjm/LDP_man-pages.git] / po4a / unistd / po / unistd.pot
index 7c22a32..3bc3b2c 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2013-03-22 01:07+0900\n"
+"POT-Creation-Date: 2015-02-04 23:33+0900\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -29,19 +29,19 @@ msgid "2007-12-19"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30 build/C/man2/brk.2:29 build/C/man2/chdir.2:33 build/C/man2/chmod.2:31 build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35 build/C/man2/dup.2:36 build/C/man7/environ.7:34 build/C/man2/execve.2:37 build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:35 build/C/man2/fork.2:39 build/C/man2/fsync.2:38 build/C/man2/get_thread_area.2:8 build/C/man2/getdomainname.2:29 build/C/man3/getdtablesize.3:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man2/getpagesize.2:25 build/C/man2/gettid.2:26 build/C/man2/idle.2:32 build/C/man2/ioctl.2:41 build/C/man2/ioctl_list.2:30 build/C/man2/ioperm.2:34 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:10 build/C/man2/nice.2:31 build/C/man2/pread.2:25 build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:34 build/C/man2/swapon.2:37 build/C/man2/syscall.2:40 build/C/man2/syscalls.2:31 build/C/man2/sysctl.2:30 build/C/man2/sysinfo.2:14 build/C/man2/truncate.2:43 build/C/man2/umask.2:34 build/C/man2/uname.2:27 build/C/man2/uselib.2:31 build/C/man2/vfork.2:28 build/C/man2/vhangup.2:28
+#: 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:37 build/C/man7/environ.7:34 build/C/man2/execve.2:37 build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:65 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:42 build/C/man2/syscall.2:42 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 build/C/man2/execveat.2:26
 #, no-wrap
 msgid "Linux"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30 build/C/man2/brk.2:29 build/C/man2/chdir.2:33 build/C/man2/chmod.2:31 build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35 build/C/man3/confstr.3:31 build/C/man3/crypt.3:36 build/C/man3/daemon.3:36 build/C/man3/des_crypt.3:14 build/C/man2/dup.2:36 build/C/man3/encrypt.3:30 build/C/man7/environ.7:34 build/C/man3/euidaccess.3:25 build/C/man3/exec.3:41 build/C/man2/execve.2:37 build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:35 build/C/man2/fork.2:39 build/C/man3/fpathconf.3:41 build/C/man2/fsync.2:38 build/C/man3/get_nprocs_conf.3:26 build/C/man2/get_thread_area.2:8 build/C/man3/getcwd.3:32 build/C/man2/getdomainname.2:29 build/C/man3/getdtablesize.3:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man3/getlogin.3:28 build/C/man3/getopt.3:41 build/C/man2/getpagesize.2:25 build/C/man2/gettid.2:26 build/C/man3/getumask.3:28 build/C/man3/getusershell.3:30 build/C/man2/idle.2:32 build/C/man2/ioctl.2:41 build/C/man2/ioctl_list.2:30 build/C/man2/ioperm.2:34 build/C/man3/lockf.3:28 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:10 build/C/man2/nice.2:31 build/C/man2/pread.2:25 build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:34 build/C/man5/shells.5:28 build/C/man3/sleep.3:26 build/C/man3/swab.3:31 build/C/man2/swapon.2:37 build/C/man2/syscall.2:40 build/C/man2/syscalls.2:31 build/C/man3/sysconf.3:27 build/C/man2/sysctl.2:30 build/C/man2/sysinfo.2:14 build/C/man3/tcgetpgrp.3:25 build/C/man2/truncate.2:43 build/C/man3/ualarm.3:24 build/C/man2/umask.2:34 build/C/man2/uname.2:27 build/C/man2/uselib.2:31 build/C/man3/usleep.3:33 build/C/man2/vfork.2:28 build/C/man2/vhangup.2:28
+#: 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:32 build/C/man3/crypt.3:36 build/C/man3/daemon.3:36 build/C/man3/des_crypt.3:14 build/C/man2/dup.2:37 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:65 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:42 build/C/man2/syscall.2:42 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 build/C/man2/execveat.2:26
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr ""
 
 #. type: SH
-#: build/C/man2/_syscall.2:39 build/C/man2/access.2:44 build/C/man2/alarm.2:31 build/C/man2/brk.2:30 build/C/man2/chdir.2:34 build/C/man2/chmod.2:32 build/C/man2/chown.2:39 build/C/man2/chroot.2:34 build/C/man2/close.2:36 build/C/man3/confstr.3:32 build/C/man3/crypt.3:37 build/C/man3/daemon.3:37 build/C/man3/des_crypt.3:15 build/C/man2/dup.2:37 build/C/man3/encrypt.3:31 build/C/man7/environ.7:35 build/C/man3/euidaccess.3:26 build/C/man3/exec.3:42 build/C/man2/execve.2:38 build/C/man2/exit_group.2:26 build/C/man2/fcntl.2:62 build/C/man3/fexecve.3:26 build/C/man2/flock.2:36 build/C/man2/fork.2:40 build/C/man3/fpathconf.3:42 build/C/man2/fsync.2:39 build/C/man3/get_nprocs_conf.3:27 build/C/man2/get_thread_area.2:9 build/C/man3/getcwd.3:33 build/C/man2/getdomainname.2:30 build/C/man3/getdtablesize.3:28 build/C/man3/gethostid.3:30 build/C/man2/gethostname.2:33 build/C/man3/getlogin.3:29 build/C/man3/getopt.3:42 build/C/man2/getpagesize.2:26 build/C/man2/gettid.2:27 build/C/man3/getumask.3:29 build/C/man3/getusershell.3:31 build/C/man2/idle.2:33 build/C/man2/ioctl.2:42 build/C/man2/ioctl_list.2:31 build/C/man2/ioperm.2:35 build/C/man3/lockf.3:29 build/C/man2/mincore.2:35 build/C/man2/mkdir.2:11 build/C/man2/nice.2:32 build/C/man2/pread.2:26 build/C/man2/set_thread_area.2:9 build/C/man2/setup.2:35 build/C/man5/shells.5:29 build/C/man3/sleep.3:27 build/C/man3/swab.3:32 build/C/man2/swapon.2:38 build/C/man2/syscall.2:41 build/C/man2/syscalls.2:32 build/C/man3/sysconf.3:28 build/C/man2/sysctl.2:31 build/C/man2/sysinfo.2:15 build/C/man3/tcgetpgrp.3:26 build/C/man2/truncate.2:44 build/C/man3/ualarm.3:25 build/C/man2/umask.2:35 build/C/man2/uname.2:28 build/C/man2/uselib.2:32 build/C/man3/usleep.3:34 build/C/man2/vfork.2:29 build/C/man2/vhangup.2:29
+#: 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:33 build/C/man3/crypt.3:37 build/C/man3/daemon.3:37 build/C/man3/des_crypt.3:15 build/C/man2/dup.2:38 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:66 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:43 build/C/man2/syscall.2:43 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 build/C/man2/execveat.2:27
 #, no-wrap
 msgid "NAME"
 msgstr ""
@@ -52,7 +52,7 @@ msgid "_syscall - invoking a system call without library support (OBSOLETE)"
 msgstr ""
 
 #. type: SH
-#: build/C/man2/_syscall.2:41 build/C/man2/access.2:46 build/C/man2/alarm.2:33 build/C/man2/brk.2:32 build/C/man2/chdir.2:36 build/C/man2/chmod.2:34 build/C/man2/chown.2:41 build/C/man2/chroot.2:36 build/C/man2/close.2:38 build/C/man3/confstr.3:34 build/C/man3/crypt.3:39 build/C/man3/daemon.3:39 build/C/man3/des_crypt.3:18 build/C/man2/dup.2:39 build/C/man3/encrypt.3:33 build/C/man7/environ.7:37 build/C/man3/euidaccess.3:28 build/C/man3/exec.3:44 build/C/man2/execve.2:40 build/C/man2/exit_group.2:28 build/C/man2/fcntl.2:64 build/C/man3/fexecve.3:28 build/C/man2/flock.2:38 build/C/man2/fork.2:42 build/C/man3/fpathconf.3:44 build/C/man2/fsync.2:41 build/C/man3/get_nprocs_conf.3:29 build/C/man2/get_thread_area.2:11 build/C/man3/getcwd.3:35 build/C/man2/getdomainname.2:32 build/C/man3/getdtablesize.3:30 build/C/man3/gethostid.3:32 build/C/man2/gethostname.2:35 build/C/man3/getlogin.3:31 build/C/man3/getopt.3:45 build/C/man2/getpagesize.2:28 build/C/man2/gettid.2:29 build/C/man3/getumask.3:31 build/C/man3/getusershell.3:33 build/C/man2/idle.2:35 build/C/man2/ioctl.2:44 build/C/man2/ioperm.2:37 build/C/man3/lockf.3:31 build/C/man2/mincore.2:37 build/C/man2/mkdir.2:13 build/C/man2/nice.2:34 build/C/man2/pread.2:28 build/C/man2/set_thread_area.2:11 build/C/man2/setup.2:37 build/C/man3/sleep.3:29 build/C/man3/swab.3:34 build/C/man2/swapon.2:40 build/C/man2/syscall.2:43 build/C/man2/syscalls.2:34 build/C/man3/sysconf.3:30 build/C/man2/sysctl.2:33 build/C/man2/sysinfo.2:17 build/C/man3/tcgetpgrp.3:28 build/C/man2/truncate.2:46 build/C/man3/ualarm.3:27 build/C/man2/umask.2:37 build/C/man2/uname.2:30 build/C/man2/uselib.2:34 build/C/man3/usleep.3:36 build/C/man2/vfork.2:31 build/C/man2/vhangup.2:31
+#: 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:35 build/C/man3/crypt.3:39 build/C/man3/daemon.3:39 build/C/man3/des_crypt.3:18 build/C/man2/dup.2:40 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:68 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:45 build/C/man2/syscall.2:45 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 build/C/man2/execveat.2:29
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr ""
@@ -73,7 +73,7 @@ msgid "desired system call"
 msgstr ""
 
 #. type: SH
-#: build/C/man2/_syscall.2:47 build/C/man2/access.2:52 build/C/man2/alarm.2:39 build/C/man2/brk.2:64 build/C/man2/chdir.2:59 build/C/man2/chmod.2:58 build/C/man2/chown.2:67 build/C/man2/chroot.2:63 build/C/man2/close.2:44 build/C/man3/confstr.3:48 build/C/man3/crypt.3:56 build/C/man3/daemon.3:51 build/C/man3/des_crypt.3:34 build/C/man2/dup.2:52 build/C/man3/encrypt.3:56 build/C/man7/environ.7:42 build/C/man3/euidaccess.3:36 build/C/man3/exec.3:72 build/C/man2/execve.2:46 build/C/man2/exit_group.2:34 build/C/man2/fcntl.2:71 build/C/man3/fexecve.3:53 build/C/man2/flock.2:42 build/C/man2/fork.2:46 build/C/man3/fpathconf.3:52 build/C/man2/fsync.2:61 build/C/man3/get_nprocs_conf.3:35 build/C/man2/get_thread_area.2:20 build/C/man3/getcwd.3:75 build/C/man2/getdomainname.2:51 build/C/man3/getdtablesize.3:57 build/C/man3/gethostid.3:56 build/C/man2/gethostname.2:63 build/C/man3/getlogin.3:52 build/C/man3/getopt.3:79 build/C/man2/getpagesize.2:55 build/C/man2/gettid.2:38 build/C/man3/getumask.3:39 build/C/man3/getusershell.3:57 build/C/man2/idle.2:39 build/C/man2/ioctl.2:48 build/C/man2/ioctl_list.2:33 build/C/man2/ioperm.2:45 build/C/man3/lockf.3:48 build/C/man2/mincore.2:51 build/C/man2/mkdir.2:21 build/C/man2/nice.2:46 build/C/man2/pread.2:53 build/C/man2/set_thread_area.2:20 build/C/man2/setup.2:41 build/C/man5/shells.5:31 build/C/man3/sleep.3:35 build/C/man3/swab.3:41 build/C/man2/swapon.2:50 build/C/man2/syscall.2:51 build/C/man2/syscalls.2:36 build/C/man3/sysconf.3:36 build/C/man2/sysctl.2:44 build/C/man2/sysinfo.2:21 build/C/man3/tcgetpgrp.3:34 build/C/man2/truncate.2:79 build/C/man3/ualarm.3:58 build/C/man2/umask.2:43 build/C/man2/uname.2:34 build/C/man2/uselib.2:38 build/C/man3/usleep.3:67 build/C/man2/vfork.2:62 build/C/man2/vhangup.2:45
+#: 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:49 build/C/man3/crypt.3:56 build/C/man3/daemon.3:51 build/C/man3/des_crypt.3:34 build/C/man2/dup.2:53 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:75 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:42 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:53 build/C/man2/syscall.2:53 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 build/C/man2/execveat.2:37
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr ""
@@ -98,32 +98,32 @@ msgid "where"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:62
+#: build/C/man2/_syscall.2:63
 msgid "I<X> is 0\\(en6, which are the number of arguments taken by the system call"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:64
+#: build/C/man2/_syscall.2:66
 msgid "I<type> is the return type of the system call"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:66
+#: build/C/man2/_syscall.2:69
 msgid "I<name> is the name of the system call"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:68
+#: build/C/man2/_syscall.2:72
 msgid "I<typeN> is the Nth argument's type"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:70
+#: build/C/man2/_syscall.2:75
 msgid "I<argN> is the name of the Nth argument"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:75
+#: build/C/man2/_syscall.2:83
 msgid ""
 "These macros create a function called I<name> with the arguments you "
 "specify.  Once you include the _syscall() in your source file, you call the "
@@ -131,35 +131,35 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man2/_syscall.2:75 build/C/man3/getlogin.3:130 build/C/man3/getusershell.3:81 build/C/man5/shells.5:43
+#: build/C/man2/_syscall.2:83 build/C/man3/getlogin.3:132 build/C/man3/getusershell.3:89 build/C/man5/shells.5:43
 #, no-wrap
 msgid "FILES"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:77
+#: build/C/man2/_syscall.2:85
 msgid "I</usr/include/linux/unistd.h>"
 msgstr ""
 
 #. type: SH
-#: build/C/man2/_syscall.2:77 build/C/man2/access.2:148 build/C/man2/alarm.2:61 build/C/man2/brk.2:114 build/C/man2/chdir.2:125 build/C/man2/chmod.2:219 build/C/man2/chown.2:181 build/C/man2/chroot.2:134 build/C/man2/close.2:84 build/C/man3/confstr.3:127 build/C/man3/crypt.3:163 build/C/man3/daemon.3:90 build/C/man3/des_crypt.3:134 build/C/man2/dup.2:170 build/C/man3/encrypt.3:124 build/C/man3/euidaccess.3:73 build/C/man3/exec.3:199 build/C/man2/execve.2:450 build/C/man2/exit_group.2:43 build/C/man2/fcntl.2:1146 build/C/man3/fexecve.3:94 build/C/man2/flock.2:138 build/C/man2/fork.2:206 build/C/man3/fpathconf.3:169 build/C/man2/fsync.2:125 build/C/man3/get_nprocs_conf.3:48 build/C/man2/get_thread_area.2:46 build/C/man3/getcwd.3:208 build/C/man2/getdomainname.2:110 build/C/man3/getdtablesize.3:69 build/C/man3/gethostid.3:92 build/C/man2/gethostname.2:124 build/C/man3/getlogin.3:138 build/C/man3/getopt.3:318 build/C/man2/getpagesize.2:64 build/C/man2/gettid.2:58 build/C/man3/getumask.3:58 build/C/man3/getusershell.3:85 build/C/man2/idle.2:61 build/C/man2/ioctl.2:117 build/C/man2/ioperm.2:104 build/C/man3/lockf.3:154 build/C/man2/mincore.2:134 build/C/man2/mkdir.2:118 build/C/man2/nice.2:75 build/C/man2/pread.2:115 build/C/man2/set_thread_area.2:63 build/C/man2/setup.2:62 build/C/man3/sleep.3:44 build/C/man3/swab.3:58 build/C/man2/swapon.2:151 build/C/man3/sysconf.3:324 build/C/man2/sysctl.2:100 build/C/man2/sysinfo.2:83 build/C/man3/tcgetpgrp.3:106 build/C/man2/truncate.2:195 build/C/man3/ualarm.3:92 build/C/man2/umask.2:93 build/C/man2/uname.2:73 build/C/man2/uselib.2:76 build/C/man3/usleep.3:86 build/C/man2/vfork.2:159 build/C/man2/vhangup.2:63
+#: build/C/man2/_syscall.2:85 build/C/man2/access.2:262 build/C/man2/alarm.2:59 build/C/man2/brk.2:113 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:128 build/C/man3/crypt.3:183 build/C/man3/daemon.3:96 build/C/man3/des_crypt.3:142 build/C/man2/dup.2:208 build/C/man3/encrypt.3:137 build/C/man3/euidaccess.3:80 build/C/man3/exec.3:199 build/C/man2/execve.2:464 build/C/man2/exit_group.2:43 build/C/man2/fcntl.2:1640 build/C/man3/fexecve.3:94 build/C/man2/flock.2:139 build/C/man2/fork.2:226 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:74 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:101 build/C/man3/lockf.3:159 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:162 build/C/man3/sysconf.3:327 build/C/man2/sysctl.2:100 build/C/man2/sysinfo.2:87 build/C/man3/tcgetpgrp.3:116 build/C/man2/truncate.2:200 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 build/C/man2/execveat.2:165
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:79
+#: build/C/man2/_syscall.2:87
 msgid "The use of these macros is Linux-specific, and deprecated."
 msgstr ""
 
 #. type: SH
-#: build/C/man2/_syscall.2:79 build/C/man2/access.2:150 build/C/man2/alarm.2:63 build/C/man2/brk.2:122 build/C/man2/chdir.2:127 build/C/man2/chown.2:192 build/C/man2/chroot.2:139 build/C/man2/close.2:87 build/C/man3/crypt.3:168 build/C/man3/daemon.3:96 build/C/man2/dup.2:180 build/C/man3/encrypt.3:135 build/C/man3/euidaccess.3:79 build/C/man3/exec.3:205 build/C/man2/execve.2:458 build/C/man2/exit_group.2:45 build/C/man2/fcntl.2:1196 build/C/man3/fexecve.3:98 build/C/man2/flock.2:147 build/C/man2/fork.2:208 build/C/man3/fpathconf.3:171 build/C/man2/fsync.2:140 build/C/man3/get_nprocs_conf.3:50 build/C/man2/get_thread_area.2:50 build/C/man3/getcwd.3:230 build/C/man2/getdomainname.2:113 build/C/man3/getdtablesize.3:77 build/C/man3/gethostid.3:102 build/C/man2/gethostname.2:130 build/C/man3/getopt.3:350 build/C/man2/getpagesize.2:71 build/C/man2/gettid.2:62 build/C/man3/getumask.3:60 build/C/man2/ioctl.2:132 build/C/man2/ioperm.2:108 build/C/man2/mkdir.2:121 build/C/man2/nice.2:82 build/C/man2/pread.2:117 build/C/man2/set_thread_area.2:67 build/C/man2/setup.2:65 build/C/man2/swapon.2:157 build/C/man2/syscall.2:78 build/C/man2/syscalls.2:640 build/C/man2/sysctl.2:114 build/C/man3/tcgetpgrp.3:108 build/C/man2/truncate.2:208 build/C/man3/ualarm.3:100 build/C/man2/umask.2:95 build/C/man2/uname.2:82 build/C/man2/uselib.2:80 build/C/man3/usleep.3:104 build/C/man2/vfork.2:174
+#: build/C/man2/_syscall.2:87 build/C/man2/access.2:268 build/C/man2/alarm.2:61 build/C/man2/brk.2:121 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:218 build/C/man3/encrypt.3:148 build/C/man3/euidaccess.3:86 build/C/man3/exec.3:205 build/C/man2/execve.2:472 build/C/man2/exit_group.2:45 build/C/man2/fcntl.2:1705 build/C/man3/fexecve.3:99 build/C/man2/flock.2:148 build/C/man2/fork.2:228 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:82 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:105 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:168 build/C/man2/syscall.2:80 build/C/man2/syscalls.2:667 build/C/man2/sysctl.2:114 build/C/man3/tcgetpgrp.3:118 build/C/man2/truncate.2:213 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 build/C/man2/execveat.2:169
 #, no-wrap
 msgid "NOTES"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:89
+#: build/C/man2/_syscall.2:97
 msgid ""
 "Starting around kernel 2.6.18, the _syscall macros were removed from header "
 "files supplied to user space.  Use B<syscall>(2)  instead.  (Some "
@@ -168,19 +168,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:93
+#: build/C/man2/_syscall.2:103
 msgid ""
 "The _syscall() macros I<do not> produce a prototype.  You may have to create "
 "one, especially for C++ users."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:105
+#: build/C/man2/_syscall.2:124
 msgid ""
 "System calls are not required to return only positive or negative error "
 "codes.  You need to read the source to be sure how it will return errors.  "
 "Usually, it is the negative of a standard error code, for example, "
-"-B<EPERM>.  The _syscall() macros will return the result I<r> of the system "
+"-I<EPERM>.  The _syscall() macros will return the result I<r> of the system "
 "call when I<r> is nonnegative, but will return -1 and set the variable "
 "I<errno> to -I<r> when I<r> is negative.  For the error codes, see "
 "B<errno>(3)."
@@ -189,7 +189,7 @@ msgstr ""
 #.  The preferred way to invoke system calls that glibc does not know
 #.  about yet is via
 #.  .BR syscall (2).
-#.  However, this mechanism can only be used if using a libc
+#.  However, this mechanism can be used only if using a libc
 #.  (such as glibc) that supports
 #.  .BR syscall (2),
 #.  and if the
@@ -197,20 +197,20 @@ msgstr ""
 #.  header file contains the required SYS_foo definition.
 #.  Otherwise, the use of a _syscall macro is required.
 #. type: Plain text
-#: build/C/man2/_syscall.2:119
+#: build/C/man2/_syscall.2:140
 msgid ""
 "When defining a system call, the argument types I<must> be passed by-value "
 "or by-pointer (for aggregates like structs)."
 msgstr ""
 
 #. type: SH
-#: build/C/man2/_syscall.2:119 build/C/man2/chown.2:288 build/C/man3/confstr.3:129 build/C/man3/encrypt.3:137 build/C/man2/execve.2:542 build/C/man2/fork.2:239 build/C/man3/get_nprocs_conf.3:67 build/C/man3/getopt.3:376 build/C/man5/shells.5:45 build/C/man2/syscall.2:82 build/C/man2/sysctl.2:143
+#: build/C/man2/_syscall.2:140 build/C/man2/chown.2:442 build/C/man3/confstr.3:130 build/C/man3/encrypt.3:150 build/C/man2/execve.2:656 build/C/man2/fork.2:259 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:224 build/C/man2/sysctl.2:143
 #, no-wrap
 msgid "EXAMPLE"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:126
+#: build/C/man2/_syscall.2:147
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
@@ -222,13 +222,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:128
+#: build/C/man2/_syscall.2:149
 #, no-wrap
 msgid "_syscall1(int, sysinfo, struct sysinfo *, info);\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:131
+#: build/C/man2/_syscall.2:152
 #, no-wrap
 msgid ""
 "/* Note: if you copy directly from the nroff source, remember to\n"
@@ -236,7 +236,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:137
+#: build/C/man2/_syscall.2:158
 #, no-wrap
 msgid ""
 "int\n"
@@ -247,7 +247,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:152
+#: build/C/man2/_syscall.2:173
 #, no-wrap
 msgid ""
 "    error = sysinfo(&s_info);\n"
@@ -268,13 +268,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/_syscall.2:153
+#: build/C/man2/_syscall.2:174
 #, no-wrap
 msgid "Sample output"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:162
+#: build/C/man2/_syscall.2:183
 #, no-wrap
 msgid ""
 "code error = 0\n"
@@ -287,28 +287,29 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man2/_syscall.2:163 build/C/man2/access.2:242 build/C/man2/alarm.2:81 build/C/man2/brk.2:164 build/C/man2/chdir.2:136 build/C/man2/chmod.2:221 build/C/man2/chown.2:336 build/C/man2/chroot.2:151 build/C/man2/close.2:125 build/C/man3/confstr.3:146 build/C/man3/crypt.3:229 build/C/man3/daemon.3:104 build/C/man3/des_crypt.3:137 build/C/man2/dup.2:207 build/C/man3/encrypt.3:161 build/C/man7/environ.7:227 build/C/man3/euidaccess.3:94 build/C/man3/exec.3:241 build/C/man2/execve.2:637 build/C/man2/exit_group.2:49 build/C/man2/fcntl.2:1297 build/C/man3/fexecve.3:106 build/C/man2/flock.2:201 build/C/man2/fork.2:244 build/C/man3/fpathconf.3:180 build/C/man2/fsync.2:162 build/C/man2/get_thread_area.2:55 build/C/man3/getcwd.3:249 build/C/man2/getdomainname.2:127 build/C/man3/getdtablesize.3:90 build/C/man3/gethostid.3:124 build/C/man2/gethostname.2:176 build/C/man3/getlogin.3:193 build/C/man3/getopt.3:514 build/C/man2/getpagesize.2:108 build/C/man2/gettid.2:71 build/C/man3/getumask.3:63 build/C/man3/getusershell.3:87 build/C/man2/ioctl.2:140 build/C/man2/ioctl_list.2:953 build/C/man2/ioperm.2:121 build/C/man3/lockf.3:156 build/C/man2/mincore.2:166 build/C/man2/mkdir.2:133 build/C/man2/nice.2:105 build/C/man2/pread.2:145 build/C/man2/set_thread_area.2:72 build/C/man5/shells.5:56 build/C/man3/sleep.3:61 build/C/man3/swab.3:60 build/C/man2/swapon.2:191 build/C/man2/syscall.2:98 build/C/man2/syscalls.2:817 build/C/man3/sysconf.3:335 build/C/man2/sysctl.2:181 build/C/man2/sysinfo.2:94 build/C/man3/tcgetpgrp.3:117 build/C/man2/truncate.2:251 build/C/man3/ualarm.3:135 build/C/man2/umask.2:116 build/C/man2/uname.2:157 build/C/man2/uselib.2:102 build/C/man3/usleep.3:137 build/C/man2/vfork.2:273 build/C/man2/vhangup.2:66
+#: build/C/man2/_syscall.2:184 build/C/man2/access.2:390 build/C/man2/alarm.2:86 build/C/man2/brk.2:163 build/C/man2/chdir.2:136 build/C/man2/chmod.2:361 build/C/man2/chown.2:490 build/C/man2/chroot.2:151 build/C/man2/close.2:131 build/C/man3/confstr.3:147 build/C/man3/crypt.3:249 build/C/man3/daemon.3:110 build/C/man3/des_crypt.3:145 build/C/man2/dup.2:274 build/C/man3/encrypt.3:174 build/C/man7/environ.7:247 build/C/man3/euidaccess.3:101 build/C/man3/exec.3:241 build/C/man2/execve.2:751 build/C/man2/exit_group.2:49 build/C/man2/fcntl.2:1916 build/C/man3/fexecve.3:165 build/C/man2/flock.2:234 build/C/man2/fork.2:264 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:95 build/C/man3/gethostid.3:124 build/C/man2/gethostname.2:176 build/C/man3/getlogin.3:209 build/C/man3/getopt.3:516 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:117 build/C/man3/lockf.3:161 build/C/man2/mincore.2:166 build/C/man2/mkdir.2:236 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:202 build/C/man2/syscall.2:241 build/C/man2/syscalls.2:844 build/C/man3/sysconf.3:338 build/C/man2/sysctl.2:181 build/C/man2/sysinfo.2:90 build/C/man3/tcgetpgrp.3:127 build/C/man2/truncate.2:261 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 build/C/man2/execveat.2:229
 #, no-wrap
 msgid "SEE ALSO"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:167
+#: build/C/man2/_syscall.2:188
 msgid "B<intro>(2), B<syscall>(2), B<errno>(3)"
 msgstr ""
 
 #. type: SH
-#: build/C/man2/_syscall.2:167 build/C/man2/access.2:253 build/C/man2/alarm.2:90 build/C/man2/brk.2:169 build/C/man2/chdir.2:140 build/C/man2/chmod.2:228 build/C/man2/chown.2:342 build/C/man2/chroot.2:154 build/C/man2/close.2:132 build/C/man3/confstr.3:150 build/C/man3/crypt.3:235 build/C/man3/daemon.3:107 build/C/man3/des_crypt.3:141 build/C/man2/dup.2:211 build/C/man3/encrypt.3:166 build/C/man7/environ.7:241 build/C/man3/euidaccess.3:105 build/C/man3/exec.3:248 build/C/man2/execve.2:648 build/C/man2/exit_group.2:51 build/C/man2/fcntl.2:1318 build/C/man3/fexecve.3:108 build/C/man2/flock.2:215 build/C/man2/fork.2:255 build/C/man3/fpathconf.3:185 build/C/man2/fsync.2:171 build/C/man3/get_nprocs_conf.3:88 build/C/man2/get_thread_area.2:58 build/C/man3/getcwd.3:256 build/C/man2/getdomainname.2:131 build/C/man3/getdtablesize.3:95 build/C/man3/gethostid.3:127 build/C/man2/gethostname.2:180 build/C/man3/getlogin.3:197 build/C/man3/getopt.3:516 build/C/man2/getpagesize.2:111 build/C/man2/gettid.2:90 build/C/man3/getumask.3:65 build/C/man3/getusershell.3:89 build/C/man2/idle.2:64 build/C/man2/ioctl.2:148 build/C/man2/ioctl_list.2:955 build/C/man2/ioperm.2:125 build/C/man3/lockf.3:171 build/C/man2/mincore.2:169 build/C/man2/mkdir.2:145 build/C/man2/nice.2:112 build/C/man2/pread.2:150 build/C/man2/set_thread_area.2:74 build/C/man2/setup.2:72 build/C/man5/shells.5:59 build/C/man3/sleep.3:66 build/C/man3/swab.3:62 build/C/man2/swapon.2:195 build/C/man2/syscall.2:102 build/C/man2/syscalls.2:821 build/C/man3/sysconf.3:343 build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96 build/C/man3/tcgetpgrp.3:121 build/C/man2/truncate.2:255 build/C/man3/ualarm.3:143 build/C/man2/umask.2:122 build/C/man2/uname.2:161 build/C/man2/uselib.2:112 build/C/man3/usleep.3:146 build/C/man2/vfork.2:279 build/C/man2/vhangup.2:69
+#: build/C/man2/_syscall.2:188 build/C/man2/access.2:401 build/C/man2/alarm.2:95 build/C/man2/brk.2:168 build/C/man2/chdir.2:140 build/C/man2/chmod.2:368 build/C/man2/chown.2:495 build/C/man2/chroot.2:154 build/C/man2/close.2:138 build/C/man3/confstr.3:155 build/C/man3/crypt.3:255 build/C/man3/daemon.3:113 build/C/man3/des_crypt.3:149 build/C/man2/dup.2:278 build/C/man3/encrypt.3:179 build/C/man7/environ.7:264 build/C/man3/euidaccess.3:112 build/C/man3/exec.3:249 build/C/man2/execve.2:763 build/C/man2/exit_group.2:51 build/C/man2/fcntl.2:1937 build/C/man3/fexecve.3:168 build/C/man2/flock.2:248 build/C/man2/fork.2:275 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:100 build/C/man3/gethostid.3:127 build/C/man2/gethostname.2:180 build/C/man3/getlogin.3:213 build/C/man3/getopt.3:519 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:121 build/C/man3/lockf.3:176 build/C/man2/mincore.2:169 build/C/man2/mkdir.2:247 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:206 build/C/man2/syscall.2:247 build/C/man2/syscalls.2:851 build/C/man3/sysconf.3:347 build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:92 build/C/man3/tcgetpgrp.3:131 build/C/man2/truncate.2:265 build/C/man3/ualarm.3:155 build/C/man2/umask.2:124 build/C/man2/uname.2:172 build/C/man2/uselib.2:112 build/C/man3/usleep.3:156 build/C/man2/vfork.2:279 build/C/man2/vhangup.2:69 build/C/man2/execveat.2:233
 #, no-wrap
 msgid "COLOPHON"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/_syscall.2:174 build/C/man2/access.2:260 build/C/man2/alarm.2:97 build/C/man2/brk.2:176 build/C/man2/chdir.2:147 build/C/man2/chmod.2:235 build/C/man2/chown.2:349 build/C/man2/chroot.2:161 build/C/man2/close.2:139 build/C/man3/confstr.3:157 build/C/man3/crypt.3:242 build/C/man3/daemon.3:114 build/C/man3/des_crypt.3:148 build/C/man2/dup.2:218 build/C/man3/encrypt.3:173 build/C/man7/environ.7:248 build/C/man3/euidaccess.3:112 build/C/man3/exec.3:255 build/C/man2/execve.2:655 build/C/man2/exit_group.2:58 build/C/man2/fcntl.2:1325 build/C/man3/fexecve.3:115 build/C/man2/flock.2:222 build/C/man2/fork.2:262 build/C/man3/fpathconf.3:192 build/C/man2/fsync.2:178 build/C/man3/get_nprocs_conf.3:95 build/C/man2/get_thread_area.2:65 build/C/man3/getcwd.3:263 build/C/man2/getdomainname.2:138 build/C/man3/getdtablesize.3:102 build/C/man3/gethostid.3:134 build/C/man2/gethostname.2:187 build/C/man3/getlogin.3:204 build/C/man3/getopt.3:523 build/C/man2/getpagesize.2:118 build/C/man2/gettid.2:97 build/C/man3/getumask.3:72 build/C/man3/getusershell.3:96 build/C/man2/idle.2:71 build/C/man2/ioctl.2:155 build/C/man2/ioctl_list.2:962 build/C/man2/ioperm.2:132 build/C/man3/lockf.3:178 build/C/man2/mincore.2:176 build/C/man2/mkdir.2:152 build/C/man2/nice.2:119 build/C/man2/pread.2:157 build/C/man2/set_thread_area.2:81 build/C/man2/setup.2:79 build/C/man5/shells.5:66 build/C/man3/sleep.3:73 build/C/man3/swab.3:69 build/C/man2/swapon.2:202 build/C/man2/syscall.2:109 build/C/man2/syscalls.2:828 build/C/man3/sysconf.3:350 build/C/man2/sysctl.2:190 build/C/man2/sysinfo.2:103 build/C/man3/tcgetpgrp.3:128 build/C/man2/truncate.2:262 build/C/man3/ualarm.3:150 build/C/man2/umask.2:129 build/C/man2/uname.2:168 build/C/man2/uselib.2:119 build/C/man3/usleep.3:153 build/C/man2/vfork.2:286 build/C/man2/vhangup.2:76
+#: build/C/man2/_syscall.2:196 build/C/man2/access.2:409 build/C/man2/alarm.2:103 build/C/man2/brk.2:176 build/C/man2/chdir.2:148 build/C/man2/chmod.2:376 build/C/man2/chown.2:503 build/C/man2/chroot.2:162 build/C/man2/close.2:146 build/C/man3/confstr.3:163 build/C/man3/crypt.3:263 build/C/man3/daemon.3:121 build/C/man3/des_crypt.3:157 build/C/man2/dup.2:286 build/C/man3/encrypt.3:187 build/C/man7/environ.7:272 build/C/man3/euidaccess.3:120 build/C/man3/exec.3:257 build/C/man2/execve.2:771 build/C/man2/exit_group.2:59 build/C/man2/fcntl.2:1945 build/C/man3/fexecve.3:176 build/C/man2/flock.2:256 build/C/man2/fork.2:283 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:108 build/C/man3/gethostid.3:135 build/C/man2/gethostname.2:188 build/C/man3/getlogin.3:221 build/C/man3/getopt.3:527 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:129 build/C/man3/lockf.3:184 build/C/man2/mincore.2:177 build/C/man2/mkdir.2:255 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:214 build/C/man2/syscall.2:255 build/C/man2/syscalls.2:859 build/C/man3/sysconf.3:355 build/C/man2/sysctl.2:191 build/C/man2/sysinfo.2:100 build/C/man3/tcgetpgrp.3:139 build/C/man2/truncate.2:273 build/C/man3/ualarm.3:163 build/C/man2/umask.2:132 build/C/man2/uname.2:180 build/C/man2/uselib.2:120 build/C/man3/usleep.3:164 build/C/man2/vfork.2:287 build/C/man2/vhangup.2:77 build/C/man2/execveat.2:241
 msgid ""
-"This page is part of release 3.50 of the Linux I<man-pages> project.  A "
-"description of the project, and information about reporting bugs, can be "
-"found at http://www.kernel.org/doc/man-pages/."
+"This page is part of release 3.79 of the Linux I<man-pages> project.  A "
+"description of the project, information about reporting bugs, and the latest "
+"version of this page, can be found at "
+"\\%http://www.kernel.org/doc/man-pages/."
 msgstr ""
 
 #. type: TH
@@ -318,18 +319,18 @@ msgid "ACCESS"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/access.2:43
+#: build/C/man2/access.2:43 build/C/man2/brk.2:29 build/C/man2/chmod.2:32 build/C/man2/chown.2:38 build/C/man3/des_crypt.3:14 build/C/man7/environ.7:34 build/C/man2/fsync.2:38 build/C/man3/getcwd.3:32 build/C/man3/getdtablesize.3:27 build/C/man2/gethostname.2:32 build/C/man2/getpagesize.2:25 build/C/man2/ioperm.2:34 build/C/man2/mkdir.2:11 build/C/man2/sysinfo.2:14
 #, no-wrap
-msgid "2013-02-28"
+msgid "2014-08-19"
 msgstr ""
 
 #. type: Plain text
 #: build/C/man2/access.2:46
-msgid "access - check real user's permissions for a file"
+msgid "access, faccessat - check user's permissions for a file"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:49 build/C/man2/alarm.2:36 build/C/man2/close.2:41 build/C/man3/confstr.3:37 build/C/man3/crypt.3:44 build/C/man2/dup.2:42 build/C/man3/fexecve.3:31 build/C/man3/fpathconf.3:47 build/C/man3/getcwd.3:38 build/C/man3/getopt.3:48 build/C/man3/getusershell.3:36 build/C/man3/sleep.3:32 build/C/man3/sysconf.3:33 build/C/man2/sysctl.2:36 build/C/man3/ualarm.3:30 build/C/man3/usleep.3:39
+#: 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:38 build/C/man3/crypt.3:44 build/C/man2/dup.2:43 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
 #, no-wrap
 msgid "B<#include E<lt>unistd.hE<gt>>\n"
 msgstr ""
@@ -341,7 +342,55 @@ msgid "B<int access(const char *>I<pathname>B<, int >I<mode>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:59
+#: build/C/man2/access.2:54 build/C/man2/chown.2:53
+#, no-wrap
+msgid ""
+"B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
+"B<#include E<lt>unistd.hE<gt>>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:57
+#, no-wrap
+msgid ""
+"B<int faccessat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<mode>B<, "
+"int >I<flags>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: 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:45 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
+msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:65
+msgid "B<faccessat>():"
+msgstr ""
+
+#. type: TP
+#: 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
+#, no-wrap
+msgid "Since glibc 2.10:"
+msgstr ""
+
+#. type: Plain text
+#: 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
+msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+msgstr ""
+
+#. type: TP
+#: 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
+#, no-wrap
+msgid "Before glibc 2.10:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:74 build/C/man2/chmod.2:77 build/C/man2/chown.2:85 build/C/man2/mkdir.2:43
+msgid "_ATFILE_SOURCE"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:85
 msgid ""
 "B<access>()  checks whether the calling process can access the file "
 "I<pathname>.  If I<pathname> is a symbolic link, it is dereferenced."
@@ -349,7 +398,7 @@ msgstr ""
 
 #.  F_OK is defined as 0 on every system that I know of.
 #. type: Plain text
-#: build/C/man2/access.2:73
+#: build/C/man2/access.2:99
 msgid ""
 "The I<mode> specifies the accessibility check(s) to be performed, and is "
 "either the value B<F_OK>, or a mask consisting of the bitwise OR of one or "
@@ -359,7 +408,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:82
+#: build/C/man2/access.2:108
 msgid ""
 "The check is done using the calling process's I<real> UID and GID, rather "
 "than the effective IDs as is done when actually attempting an operation "
@@ -368,46 +417,121 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:88
+#: build/C/man2/access.2:114
 msgid ""
 "If the calling process is privileged (i.e., its real UID is zero), then an "
 "B<X_OK> check is successful for a regular file if execute permission is "
 "enabled for any of the file owner, group, or other."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/access.2:114
+#, no-wrap
+msgid "faccessat()"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:120
+msgid ""
+"The B<faccessat>()  system call operates in exactly the same way as "
+"B<access>(), except for the differences described here."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:130
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<access>()  for a relative pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:142
+msgid ""
+"If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
+"then I<pathname> is interpreted relative to the current working directory of "
+"the calling process (like B<access>())."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:148 build/C/man2/chmod.2:216 build/C/man2/chown.2:179 build/C/man2/mkdir.2:110 build/C/man2/execveat.2:76
+msgid "If I<pathname> is absolute, then I<dirfd> is ignored."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:151
+msgid ""
+"I<flags> is constructed by ORing together zero or more of the following "
+"values:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/access.2:151
+#, no-wrap
+msgid "B<AT_EACCESS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:158
+msgid ""
+"Perform access checks using the effective user and group IDs.  By default, "
+"B<faccessat>()  uses the real IDs (like B<access>())."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/access.2:158 build/C/man2/chmod.2:219 build/C/man2/chown.2:208 build/C/man2/execveat.2:100
+#, no-wrap
+msgid "B<AT_SYMLINK_NOFOLLOW>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:164
+msgid ""
+"If I<pathname> is a symbolic link, do not dereference it: instead return "
+"information about the link itself."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:169
+msgid "See B<openat>(2)  for an explanation of the need for B<faccessat>()."
+msgstr ""
+
 #. type: SH
-#: build/C/man2/access.2:88 build/C/man2/alarm.2:56 build/C/man2/brk.2:93 build/C/man2/chdir.2:70 build/C/man2/chmod.2:153 build/C/man2/chown.2:119 build/C/man2/chroot.2:90 build/C/man2/close.2:64 build/C/man3/confstr.3:94 build/C/man3/crypt.3:120 build/C/man3/daemon.3:72 build/C/man3/des_crypt.3:106 build/C/man2/dup.2:120 build/C/man3/encrypt.3:113 build/C/man3/euidaccess.3:58 build/C/man3/exec.3:183 build/C/man2/execve.2:355 build/C/man2/exit_group.2:39 build/C/man2/fcntl.2:1051 build/C/man3/fexecve.3:67 build/C/man2/flock.2:111 build/C/man2/fork.2:173 build/C/man3/fpathconf.3:160 build/C/man2/fsync.2:108 build/C/man3/get_nprocs_conf.3:46 build/C/man2/get_thread_area.2:29 build/C/man3/getcwd.3:156 build/C/man2/getdomainname.2:75 build/C/man3/getdtablesize.3:61 build/C/man3/gethostid.3:71 build/C/man2/gethostname.2:89 build/C/man3/getlogin.3:95 build/C/man3/getopt.3:274 build/C/man2/gettid.2:50 build/C/man3/getusershell.3:77 build/C/man2/idle.2:52 build/C/man2/ioctl.2:83 build/C/man2/ioctl_list.2:106 build/C/man2/ioperm.2:82 build/C/man3/lockf.3:116 build/C/man2/mincore.2:94 build/C/man2/mkdir.2:48 build/C/man2/nice.2:56 build/C/man2/pread.2:79 build/C/man2/set_thread_area.2:44 build/C/man2/setup.2:53 build/C/man3/sleep.3:40 build/C/man3/swab.3:54 build/C/man2/swapon.2:108 build/C/man2/syscall.2:72 build/C/man3/sysconf.3:311 build/C/man2/sysctl.2:74 build/C/man2/sysinfo.2:74 build/C/man3/tcgetpgrp.3:61 build/C/man2/truncate.2:110 build/C/man3/ualarm.3:81 build/C/man2/umask.2:90 build/C/man2/uname.2:63 build/C/man2/uselib.2:48 build/C/man3/usleep.3:75 build/C/man2/vhangup.2:50
+#: 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:95 build/C/man3/crypt.3:120 build/C/man3/daemon.3:73 build/C/man3/des_crypt.3:106 build/C/man2/dup.2:148 build/C/man3/encrypt.3:113 build/C/man3/euidaccess.3:58 build/C/man3/exec.3:183 build/C/man2/execve.2:355 build/C/man2/exit_group.2:39 build/C/man2/fcntl.2:1444 build/C/man3/fexecve.3:67 build/C/man2/flock.2:112 build/C/man2/fork.2:178 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:79 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:111 build/C/man2/syscall.2:74 build/C/man3/sysconf.3:314 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 build/C/man2/execveat.2:108
 #, no-wrap
 msgid "RETURN VALUE"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:96 build/C/man3/euidaccess.3:66
+#: build/C/man2/access.2:185
 msgid ""
-"On success (all requested permissions granted), zero is returned.  On error "
-"(at least one bit in I<mode> asked for a permission that is denied, or some "
-"other error occurred), -1 is returned, and I<errno> is set appropriately."
+"On success (all requested permissions granted, or I<mode> is B<F_OK> and the "
+"file exists), zero is returned.  On error (at least one bit in I<mode> asked "
+"for a permission that is denied, or I<mode> is B<F_OK> and the file does not "
+"exist, or some other error occurred), -1 is returned, and I<errno> is set "
+"appropriately."
 msgstr ""
 
 #. type: SH
-#: build/C/man2/access.2:96 build/C/man2/chdir.2:75 build/C/man2/chmod.2:158 build/C/man2/chown.2:124 build/C/man2/chroot.2:95 build/C/man2/close.2:70 build/C/man3/confstr.3:121 build/C/man3/crypt.3:123 build/C/man2/dup.2:126 build/C/man3/encrypt.3:115 build/C/man3/euidaccess.3:66 build/C/man3/exec.3:190 build/C/man2/execve.2:361 build/C/man2/fcntl.2:1084 build/C/man3/fexecve.3:74 build/C/man2/flock.2:116 build/C/man2/fork.2:180 build/C/man2/fsync.2:113 build/C/man2/get_thread_area.2:35 build/C/man3/getcwd.3:172 build/C/man2/getdomainname.2:80 build/C/man3/getdtablesize.3:63 build/C/man3/gethostid.3:81 build/C/man2/gethostname.2:94 build/C/man3/getlogin.3:101 build/C/man2/gettid.2:52 build/C/man2/idle.2:55 build/C/man2/ioctl.2:92 build/C/man2/ioperm.2:87 build/C/man3/lockf.3:121 build/C/man2/mincore.2:101 build/C/man2/mkdir.2:53 build/C/man2/nice.2:61 build/C/man2/pread.2:89 build/C/man2/set_thread_area.2:49 build/C/man2/setup.2:56 build/C/man2/swapon.2:113 build/C/man2/sysctl.2:81 build/C/man2/sysinfo.2:79 build/C/man3/tcgetpgrp.3:83 build/C/man2/truncate.2:115 build/C/man3/ualarm.3:84 build/C/man2/uname.2:68 build/C/man2/uselib.2:53 build/C/man3/usleep.3:77 build/C/man2/vhangup.2:55
+#: 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:122 build/C/man3/crypt.3:123 build/C/man2/dup.2:154 build/C/man3/encrypt.3:115 build/C/man3/euidaccess.3:66 build/C/man3/exec.3:190 build/C/man2/execve.2:361 build/C/man2/fcntl.2:1482 build/C/man3/fexecve.3:74 build/C/man2/flock.2:117 build/C/man2/fork.2:185 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:84 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:116 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 build/C/man2/execveat.2:115
 #, no-wrap
 msgid "ERRORS"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:99
-msgid "B<access>()  shall fail if:"
+#: build/C/man2/access.2:190
+msgid "B<access>()  and B<faccessat>()  shall fail if:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:99 build/C/man2/chdir.2:81 build/C/man2/chdir.2:117 build/C/man2/chmod.2:163 build/C/man2/chown.2:129 build/C/man2/chroot.2:98 build/C/man2/execve.2:369 build/C/man2/execve.2:376 build/C/man2/execve.2:379 build/C/man2/execve.2:382 build/C/man3/getcwd.3:173 build/C/man3/gethostid.3:84 build/C/man2/mkdir.2:54 build/C/man2/truncate.2:118 build/C/man2/uselib.2:59
+#: 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:369 build/C/man2/execve.2:376 build/C/man2/execve.2:379 build/C/man2/execve.2:382 build/C/man3/getcwd.3:173 build/C/man3/gethostid.3:84 build/C/man2/mkdir.2:123 build/C/man2/truncate.2:118 build/C/man2/uselib.2:59
 #, no-wrap
 msgid "B<EACCES>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:106
+#: build/C/man2/access.2:197
 msgid ""
 "The requested access would be denied to the file, or search permission is "
 "denied for one of the directories in the path prefix of I<pathname>.  (See "
@@ -415,129 +539,175 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:106 build/C/man2/chdir.2:94 build/C/man2/chmod.2:175 build/C/man2/chown.2:138 build/C/man2/chroot.2:112 build/C/man2/execve.2:403 build/C/man2/mkdir.2:76 build/C/man2/truncate.2:151
+#: 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:417 build/C/man2/mkdir.2:145 build/C/man2/truncate.2:152 build/C/man2/execveat.2:130
 #, no-wrap
 msgid "B<ELOOP>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:110 build/C/man2/mkdir.2:80
+#: build/C/man2/access.2:201 build/C/man2/chmod.2:259 build/C/man2/chown.2:249 build/C/man2/mkdir.2:149
 msgid "Too many symbolic links were encountered in resolving I<pathname>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:110 build/C/man2/chdir.2:98 build/C/man2/chmod.2:179 build/C/man2/chown.2:142 build/C/man2/chroot.2:116 build/C/man2/execve.2:411 build/C/man2/gethostname.2:109 build/C/man2/mkdir.2:84 build/C/man2/truncate.2:154
+#: 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:425 build/C/man2/gethostname.2:109 build/C/man2/mkdir.2:153 build/C/man2/truncate.2:155
 #, no-wrap
 msgid "B<ENAMETOOLONG>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:114
+#: build/C/man2/access.2:205 build/C/man2/chmod.2:263 build/C/man2/chown.2:253
 msgid "I<pathname> is too long."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:114 build/C/man2/chdir.2:102 build/C/man2/chmod.2:183 build/C/man2/chown.2:146 build/C/man2/chown.2:172 build/C/man2/chroot.2:120 build/C/man2/execve.2:418 build/C/man3/getcwd.3:198 build/C/man3/getlogin.3:120 build/C/man2/mkdir.2:87 build/C/man2/swapon.2:136 build/C/man2/truncate.2:158
+#: 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:432 build/C/man3/getcwd.3:198 build/C/man3/getlogin.3:122 build/C/man2/mkdir.2:156 build/C/man2/swapon.2:147 build/C/man2/truncate.2:159 build/C/man2/execveat.2:140
 #, no-wrap
 msgid "B<ENOENT>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:119
+#: build/C/man2/access.2:210
 msgid "A component of I<pathname> does not exist or is a dangling symbolic link."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:119 build/C/man2/chdir.2:108 build/C/man2/chmod.2:189 build/C/man2/chown.2:152 build/C/man2/chroot.2:126 build/C/man2/execve.2:432 build/C/man2/mkdir.2:104 build/C/man2/sysctl.2:88 build/C/man2/truncate.2:161
+#: 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:446 build/C/man2/fcntl.2:1617 build/C/man2/mkdir.2:173 build/C/man2/mkdir.2:194 build/C/man2/sysctl.2:88 build/C/man2/truncate.2:162 build/C/man2/execveat.2:154
 #, no-wrap
 msgid "B<ENOTDIR>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:124 build/C/man2/mkdir.2:109
+#: build/C/man2/access.2:215 build/C/man2/mkdir.2:178
 msgid "A component used as a directory in I<pathname> is not, in fact, a directory."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:124 build/C/man2/chmod.2:198 build/C/man2/chmod.2:216 build/C/man2/chown.2:159 build/C/man2/chown.2:178 build/C/man2/mkdir.2:114 build/C/man2/truncate.2:170
+#: 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:175
 #, no-wrap
 msgid "B<EROFS>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:127
-msgid "Write permission was requested for a file on a read-only file system."
+#: build/C/man2/access.2:218
+msgid "Write permission was requested for a file on a read-only filesystem."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:130
-msgid "B<access>()  may fail if:"
+#: build/C/man2/access.2:223
+msgid "B<access>()  and B<faccessat>()  may fail if:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:130 build/C/man2/chdir.2:87 build/C/man2/chmod.2:168 build/C/man2/chown.2:134 build/C/man2/chroot.2:105 build/C/man2/execve.2:386 build/C/man2/fcntl.2:1106 build/C/man2/get_thread_area.2:36 build/C/man3/getcwd.3:176 build/C/man2/getdomainname.2:83 build/C/man2/gethostname.2:95 build/C/man2/ioctl.2:97 build/C/man2/mincore.2:104 build/C/man2/mkdir.2:73 build/C/man2/set_thread_area.2:53 build/C/man2/sysctl.2:82 build/C/man2/sysinfo.2:80 build/C/man2/truncate.2:124 build/C/man2/uname.2:69
+#: 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:396 build/C/man2/fcntl.2:1527 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
 #, no-wrap
 msgid "B<EFAULT>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:134 build/C/man2/mkdir.2:76
+#: build/C/man2/access.2:227 build/C/man2/chmod.2:252 build/C/man2/chown.2:245 build/C/man2/mkdir.2:145
 msgid "I<pathname> points outside your accessible address space."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:134 build/C/man3/confstr.3:122 build/C/man2/dup.2:151 build/C/man2/execve.2:390 build/C/man2/fcntl.2:1122 build/C/man3/fexecve.3:78 build/C/man2/flock.2:126 build/C/man2/get_thread_area.2:39 build/C/man3/getcwd.3:180 build/C/man2/getdomainname.2:87 build/C/man2/getdomainname.2:99 build/C/man2/gethostname.2:99 build/C/man2/ioctl.2:101 build/C/man2/ioperm.2:88 build/C/man3/lockf.3:147 build/C/man2/mincore.2:108 build/C/man2/set_thread_area.2:50 build/C/man2/swapon.2:121 build/C/man3/tcgetpgrp.3:88 build/C/man2/truncate.2:140 build/C/man2/truncate.2:191 build/C/man3/ualarm.3:88 build/C/man3/usleep.3:82
+#: 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:123 build/C/man3/crypt.3:124 build/C/man2/dup.2:184 build/C/man2/dup.2:189 build/C/man2/execve.2:404 build/C/man2/fcntl.2:1553 build/C/man2/fcntl.2:1558 build/C/man2/fcntl.2:1566 build/C/man2/fcntl.2:1576 build/C/man2/fcntl.2:1588 build/C/man2/fcntl.2:1596 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:85 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:124 build/C/man2/swapon.2:129 build/C/man2/swapon.2:139 build/C/man3/tcgetpgrp.3:91 build/C/man2/truncate.2:141 build/C/man2/truncate.2:196 build/C/man3/ualarm.3:88 build/C/man3/usleep.3:87 build/C/man2/execveat.2:126
 #, no-wrap
 msgid "B<EINVAL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:138
+#: build/C/man2/access.2:231
 msgid "I<mode> was incorrectly specified."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:138 build/C/man2/chdir.2:91 build/C/man2/chmod.2:172 build/C/man2/chmod.2:210 build/C/man2/chown.2:169 build/C/man2/chroot.2:109 build/C/man2/close.2:81 build/C/man2/execve.2:394 build/C/man2/fsync.2:118 build/C/man2/ioperm.2:94 build/C/man2/truncate.2:145
+#: 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:408 build/C/man2/fsync.2:118 build/C/man2/ioperm.2:91 build/C/man2/truncate.2:146
 #, no-wrap
 msgid "B<EIO>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:141 build/C/man2/chdir.2:94 build/C/man2/chmod.2:175 build/C/man2/chroot.2:112 build/C/man2/close.2:84 build/C/man2/execve.2:397
+#: 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:411
 msgid "An I/O error occurred."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:141 build/C/man2/chdir.2:105 build/C/man2/chmod.2:186 build/C/man2/chown.2:149 build/C/man2/chroot.2:123 build/C/man2/execve.2:429 build/C/man2/fork.2:196 build/C/man3/getlogin.3:123 build/C/man2/ioperm.2:97 build/C/man2/mincore.2:112 build/C/man2/mincore.2:124 build/C/man2/mkdir.2:92 build/C/man2/swapon.2:141
+#: 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:443 build/C/man2/fork.2:216 build/C/man3/getlogin.3:125 build/C/man2/ioperm.2:94 build/C/man2/mincore.2:112 build/C/man2/mincore.2:124 build/C/man2/mkdir.2:161 build/C/man2/swapon.2:152
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:144 build/C/man2/chdir.2:108 build/C/man2/chmod.2:189 build/C/man2/chown.2:152 build/C/man2/chroot.2:126 build/C/man2/execve.2:432 build/C/man2/mkdir.2:95
+#: 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:446 build/C/man2/mkdir.2:164
 msgid "Insufficient kernel memory was available."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/access.2:144 build/C/man2/execve.2:447 build/C/man2/truncate.2:173
+#: build/C/man2/access.2:237 build/C/man2/execve.2:461 build/C/man2/truncate.2:178
 #, no-wrap
 msgid "B<ETXTBSY>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:148
+#: build/C/man2/access.2:241
 msgid "Write access was requested to an executable which is being executed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:150 build/C/man2/close.2:87 build/C/man2/fork.2:208 build/C/man3/swab.3:60 build/C/man2/umask.2:95
-msgid "SVr4, 4.3BSD, POSIX.1-2001."
+#: build/C/man2/access.2:244
+msgid "The following additional errors can occur for B<faccessat>():"
+msgstr ""
+
+#. type: TP
+#: 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:155 build/C/man2/dup.2:159 build/C/man2/fcntl.2:1490 build/C/man2/fcntl.2:1494 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:188 build/C/man2/execveat.2:122
+#, no-wrap
+msgid "B<EBADF>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:248 build/C/man2/chmod.2:310 build/C/man2/chown.2:299 build/C/man2/mkdir.2:194 build/C/man2/execveat.2:126
+msgid "I<dirfd> is not a valid file descriptor."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:252 build/C/man2/chmod.2:314 build/C/man2/chown.2:303 build/C/man2/execveat.2:130
+msgid "Invalid flag specified in I<flags>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:258 build/C/man2/chmod.2:320 build/C/man2/chown.2:309 build/C/man2/mkdir.2:200 build/C/man2/execveat.2:160
+msgid ""
+"I<pathname> is relative and I<dirfd> is a file descriptor referring to a "
+"file other than a directory."
+msgstr ""
+
+#. type: SH
+#: 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:203 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 build/C/man2/sysinfo.2:83 build/C/man2/execveat.2:160
+#, no-wrap
+msgid "VERSIONS"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:262
+msgid ""
+"B<faccessat>()  was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:265
+msgid "B<access>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:165
+#: build/C/man2/access.2:268
+msgid "B<faccessat>(): POSIX.1-2008."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:281
 msgid ""
-"B<Warning>: Using B<access>()  to check if a user is authorized to, for "
+"B<Warning>: Using these calls to check if a user is authorized to, for "
 "example, open a file before actually doing so using B<open>(2)  creates a "
 "security hole, because the user might exploit the short time interval "
 "between checking and opening the file to manipulate it.  B<For this reason, "
@@ -547,7 +717,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:172
+#: build/C/man2/access.2:288
 msgid ""
 "B<access>()  always dereferences symbolic links.  If you need to check the "
 "permissions on a symbolic link, use B<faccessat>(2)  with the flag "
@@ -555,15 +725,15 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:179
+#: build/C/man2/access.2:294
 msgid ""
-"B<access>()  returns an error if any of the access types in I<mode> is "
-"denied, even if some of the other access types in I<mode> are permitted."
+"These calls return an error if any of the access types in I<mode> is denied, "
+"even if some of the other access types in I<mode> are permitted."
 msgstr ""
 
 #.  HPU-UX 11 and Tru64 5.1 do this.
 #. type: Plain text
-#: build/C/man2/access.2:186
+#: build/C/man2/access.2:301
 msgid ""
 "If the calling process has appropriate privileges (i.e., is superuser), "
 "POSIX.1-2001 permits an implementation to indicate success for an B<X_OK> "
@@ -572,16 +742,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:194
+#: build/C/man2/access.2:309
 msgid ""
-"A file is only accessible if the permissions on each of the directories in "
+"A file is accessible only if the permissions on each of the directories in "
 "the path prefix of I<pathname> grant search (i.e., execute) access.  If any "
 "directory is inaccessible, then the B<access>()  call will fail, regardless "
 "of the permissions on the file itself."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:202
+#: build/C/man2/access.2:317
 msgid ""
 "Only access bits are checked, not the file type or contents.  Therefore, if "
 "a directory is found to be writable, it probably means that files can be "
@@ -591,23 +761,55 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:208
+#: build/C/man2/access.2:326
 msgid ""
-"B<access>()  may not work correctly on NFS file systems with UID mapping "
+"These calls may not work correctly on NFSv2 filesystems with UID mapping "
 "enabled, because UID mapping is done on the server and hidden from the "
-"client, which checks permissions.  Similar problems can occur to FUSE "
-"mounts."
+"client, which checks permissions.  (NFS versions 3 and higher perform the "
+"check on the server.)  Similar problems can occur to FUSE mounts."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/access.2:326 build/C/man2/brk.2:140 build/C/man2/chmod.2:338 build/C/man2/gethostname.2:140 build/C/man2/uname.2:138
+#, no-wrap
+msgid "C library/kernel ABI differences"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:339
+msgid ""
+"The raw B<faccessat>()  system call takes only the first three arguments.  "
+"The B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW> flags are actually implemented "
+"within the glibc wrapper function for B<faccessat>().  If either of these "
+"flags is specified, then the wrapper function employs B<fstatat>(2)  to "
+"determine access permissions."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/access.2:339 build/C/man2/chmod.2:348 build/C/man2/chown.2:380 build/C/man3/crypt.3:189 build/C/man2/mkdir.2:223
+#, no-wrap
+msgid "Glibc notes"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/access.2:357
+msgid ""
+"On older kernels where B<faccessat>()  is unavailable (and when the "
+"B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW> flags are not specified), the glibc "
+"wrapper function falls back to the use of B<access>().  When I<pathname> is "
+"a relative pathname, glibc constructs a pathname based on the symbolic link "
+"in I</proc/self/fd> that corresponds to the I<dirfd> argument."
 msgstr ""
 
 #. type: SH
-#: build/C/man2/access.2:208 build/C/man7/environ.7:189 build/C/man2/fcntl.2:1239 build/C/man3/gethostid.3:122 build/C/man3/getlogin.3:161 build/C/man3/getopt.3:369 build/C/man2/mincore.2:144 build/C/man2/pread.2:133 build/C/man3/sleep.3:46 build/C/man3/sysconf.3:326 build/C/man2/sysctl.2:135 build/C/man2/truncate.2:243 build/C/man2/vfork.2:252
+#: build/C/man2/access.2:357 build/C/man7/environ.7:209 build/C/man2/fcntl.2:1818 build/C/man3/fexecve.3:146 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:329 build/C/man2/sysctl.2:135 build/C/man2/truncate.2:253 build/C/man2/vfork.2:252 build/C/man2/execveat.2:210
 #, no-wrap
 msgid "BUGS"
 msgstr ""
 
 #.  This behavior appears to have been an implementation accident.
 #. type: Plain text
-#: build/C/man2/access.2:231
+#: build/C/man2/access.2:380
 msgid ""
 "In kernel 2.4 (and earlier) there is some strangeness in the handling of "
 "B<X_OK> tests for superuser.  If all categories of execute permission are "
@@ -619,19 +821,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:242
+#: build/C/man2/access.2:390
 msgid ""
-"In kernels before 2.6.20, B<access>()  ignored the effect of the "
-"B<MS_NOEXEC> flag if it was used to B<mount>(2)  the underlying file "
-"system.  Since kernel 2.6.20, B<access>()  honors this flag."
+"In kernels before 2.6.20, these calls ignored the effect of the B<MS_NOEXEC> "
+"flag if it was used to B<mount>(2)  the underlying filesystem.  Since kernel "
+"2.6.20, the B<MS_NOEXEC> is honored"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/access.2:253
+#: build/C/man2/access.2:401
 msgid ""
-"B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), B<setgid>(2), "
-"B<setuid>(2), B<stat>(2), B<euidaccess>(3), B<credentials>(7), "
-"B<path_resolution>(7)"
+"B<chmod>(2), B<chown>(2), B<open>(2), B<setgid>(2), B<setuid>(2), "
+"B<stat>(2), B<euidaccess>(3), B<credentials>(7), B<path_resolution>(7), "
+"B<symlink>(7)"
 msgstr ""
 
 #. type: TH
@@ -643,7 +845,7 @@ msgstr ""
 #. type: TH
 #: build/C/man2/alarm.2:30
 #, no-wrap
-msgid "2008-06-12"
+msgid "2014-02-23"
 msgstr ""
 
 #. type: Plain text
@@ -665,17 +867,17 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/alarm.2:52
-msgid "If I<seconds> is zero, no new B<alarm>()  is scheduled."
+#: build/C/man2/alarm.2:50
+msgid "If I<seconds> is zero, any pending alarm is canceled."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/alarm.2:56
+#: build/C/man2/alarm.2:54
 msgid "In any event any previously set B<alarm>()  is canceled."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/alarm.2:61
+#: build/C/man2/alarm.2:59
 msgid ""
 "B<alarm>()  returns the number of seconds remaining until any previously "
 "scheduled alarm was due to be delivered, or zero if there was no previously "
@@ -683,33 +885,40 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/alarm.2:63
+#: build/C/man2/alarm.2:61
 msgid "SVr4, POSIX.1-2001, 4.3BSD."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/alarm.2:69
+#: build/C/man2/alarm.2:67
 msgid ""
 "B<alarm>()  and B<setitimer>(2)  share the same timer; calls to one will "
 "interfere with use of the other."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/alarm.2:78
+#: build/C/man2/alarm.2:74
+msgid ""
+"Alarms created by B<alarm>()  are preserved across B<execve>(2)  and are not "
+"inherited by children created via B<fork>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/alarm.2:83
 msgid ""
 "B<sleep>(3)  may be implemented using B<SIGALRM>; mixing calls to B<alarm>()  "
 "and B<sleep>(3)  is a bad idea."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/alarm.2:81
+#: build/C/man2/alarm.2:86
 msgid ""
 "Scheduling delays can, as ever, cause the execution of the process to be "
 "delayed by an arbitrary amount of time."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/alarm.2:90
+#: build/C/man2/alarm.2:95
 msgid ""
 "B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
 "B<sigaction>(2), B<signal>(2), B<sleep>(3), B<time>(7)"
@@ -721,19 +930,13 @@ msgstr ""
 msgid "BRK"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/brk.2:29 build/C/man2/chroot.2:33 build/C/man3/getcwd.3:32 build/C/man3/gethostid.3:29 build/C/man3/ualarm.3:24
-#, no-wrap
-msgid "2010-09-20"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man2/brk.2:32
 msgid "brk, sbrk - change data segment size"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/brk.2:34 build/C/man2/chdir.2:38 build/C/man2/chown.2:43 build/C/man2/chroot.2:38 build/C/man3/daemon.3:41 build/C/man3/encrypt.3:37 build/C/man3/exec.3:46 build/C/man2/execve.2:42 build/C/man2/fork.2:44 build/C/man2/fsync.2:43 build/C/man2/getdomainname.2:34 build/C/man3/getdtablesize.3:32 build/C/man3/gethostid.3:34 build/C/man2/gethostname.2:37 build/C/man3/getlogin.3:33 build/C/man2/getpagesize.2:30 build/C/man2/idle.2:37 build/C/man3/lockf.3:33 build/C/man2/mincore.2:39 build/C/man2/nice.2:36 build/C/man2/pread.2:30 build/C/man2/setup.2:39 build/C/man2/swapon.2:42 build/C/man3/tcgetpgrp.3:30 build/C/man2/truncate.2:48 build/C/man2/uselib.2:36 build/C/man2/vfork.2:35 build/C/man2/vhangup.2:33
+#: 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:47 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 build/C/man2/execveat.2:31
 msgid "B<#include E<lt>unistd.hE<gt>>"
 msgstr ""
 
@@ -748,11 +951,6 @@ msgid "B<void *sbrk(intptr_t >I<increment>B<);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/brk.2:42 build/C/man2/chdir.2:46 build/C/man2/chmod.2:44 build/C/man2/chown.2:53 build/C/man2/chroot.2:44 build/C/man3/confstr.3:44 build/C/man3/daemon.3:47 build/C/man3/exec.3:68 build/C/man3/fexecve.3:38 build/C/man2/fsync.2:51 build/C/man3/getcwd.3:49 build/C/man2/getdomainname.2:42 build/C/man3/getdtablesize.3:38 build/C/man3/gethostid.3:42 build/C/man2/gethostname.2:45 build/C/man3/getlogin.3:45 build/C/man3/getopt.3:69 build/C/man2/getpagesize.2:36 build/C/man3/getusershell.3:47 build/C/man3/lockf.3:39 build/C/man2/mincore.2:47 build/C/man2/nice.2:42 build/C/man2/pread.2:40 build/C/man2/truncate.2:58 build/C/man3/ualarm.3:37 build/C/man3/usleep.3:46 build/C/man2/vfork.2:41 build/C/man2/vhangup.2:39
-msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
-msgstr ""
-
-#. type: Plain text
 #: build/C/man2/brk.2:46
 msgid "B<brk>(), B<sbrk>():"
 msgstr ""
@@ -807,14 +1005,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/brk.2:102
+#: build/C/man2/brk.2:101
 msgid ""
 "On success, B<brk>()  returns zero.  On error, -1 is returned, and I<errno> "
-"is set to B<ENOMEM>.  (But see I<Linux Notes> below.)"
+"is set to B<ENOMEM>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/brk.2:114
+#: build/C/man2/brk.2:113
 msgid ""
 "On success, B<sbrk>()  returns the previous program break.  (If the break "
 "was increased, then this value is a pointer to the start of the newly "
@@ -829,12 +1027,12 @@ msgstr ""
 #.  are not defined in the C Standard and are deliberately excluded from the
 #.  POSIX.1-1990 standard (see paragraphs B.1.1.1.3 and B.8.3.3).
 #. type: Plain text
-#: build/C/man2/brk.2:122
+#: build/C/man2/brk.2:121
 msgid "4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/brk.2:131
+#: build/C/man2/brk.2:130
 msgid ""
 "Avoid using B<brk>()  and B<sbrk>(): the B<malloc>(3)  memory allocation "
 "package is the portable and comfortable way of allocating memory."
@@ -847,20 +1045,14 @@ msgstr ""
 #.  \fIintptr_t\fP (e.g., XPGv5, AIX, SunOS 5.8, 5.9, FreeBSD 4.7, NetBSD 1.6,
 #.  Tru64 5.1, glibc2.2).
 #. type: Plain text
-#: build/C/man2/brk.2:141
+#: build/C/man2/brk.2:140
 msgid ""
 "Various systems use various types for the argument of B<sbrk>().  Common are "
 "I<int>, I<ssize_t>, I<ptrdiff_t>, I<intptr_t>."
 msgstr ""
 
-#. type: SS
-#: build/C/man2/brk.2:141 build/C/man2/vfork.2:213
-#, no-wrap
-msgid "Linux notes"
-msgstr ""
-
 #. type: Plain text
-#: build/C/man2/brk.2:157
+#: build/C/man2/brk.2:156
 msgid ""
 "The return value described above for B<brk>()  is the behavior provided by "
 "the glibc wrapper function for the Linux B<brk>()  system call.  (On most "
@@ -873,7 +1065,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/brk.2:164
+#: build/C/man2/brk.2:163
 msgid ""
 "On Linux, B<sbrk>()  is implemented as a library function that uses the "
 "B<brk>()  system call, and does some internal bookkeeping so that it can "
@@ -881,7 +1073,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/brk.2:169
+#: build/C/man2/brk.2:168
 msgid "B<execve>(2), B<getrlimit>(2), B<end>(3), B<malloc>(3)"
 msgstr ""
 
@@ -918,14 +1110,14 @@ msgid "B<fchdir>():"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chdir.2:54 build/C/man2/chmod.2:53 build/C/man2/chown.2:62 build/C/man3/gethostid.3:50 build/C/man2/truncate.2:66 build/C/man2/truncate.2:74
+#: 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
 msgid ""
 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
 "_XOPEN_SOURCE_EXTENDED"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chdir.2:56 build/C/man2/chmod.2:55 build/C/man2/chown.2:64 build/C/man2/pread.2:50 build/C/man2/truncate.2:68
+#: 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
 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
 msgstr ""
 
@@ -944,7 +1136,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chdir.2:75 build/C/man2/chmod.2:158 build/C/man2/chown.2:124 build/C/man2/chroot.2:95 build/C/man2/flock.2:116 build/C/man2/getdomainname.2:80 build/C/man2/gethostname.2:94 build/C/man2/ioperm.2:87 build/C/man3/lockf.3:121 build/C/man2/swapon.2:113 build/C/man2/sysinfo.2:79 build/C/man2/truncate.2:115 build/C/man2/uname.2:68 build/C/man2/uselib.2:53 build/C/man2/vhangup.2:55
+#: 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:84 build/C/man3/lockf.3:121 build/C/man2/swapon.2:116 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
 msgid ""
 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
 "appropriately."
@@ -953,8 +1145,8 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/chdir.2:81
 msgid ""
-"Depending on the file system, other errors can be returned.  The more "
-"general errors for B<chdir>()  are listed below:"
+"Depending on the filesystem, other errors can be returned.  The more general "
+"errors for B<chdir>()  are listed below:"
 msgstr ""
 
 #. type: Plain text
@@ -965,22 +1157,22 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chdir.2:91 build/C/man2/chmod.2:172 build/C/man2/chown.2:138 build/C/man2/chroot.2:109
+#: build/C/man2/chdir.2:91 build/C/man2/chroot.2:109
 msgid "I<path> points outside your accessible address space."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chdir.2:98 build/C/man2/chmod.2:179 build/C/man2/chown.2:142 build/C/man2/chroot.2:116
+#: build/C/man2/chdir.2:98 build/C/man2/chroot.2:116
 msgid "Too many symbolic links were encountered in resolving I<path>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chdir.2:102 build/C/man2/chmod.2:183 build/C/man2/chown.2:146 build/C/man2/chroot.2:120
+#: build/C/man2/chdir.2:102 build/C/man2/chroot.2:120
 msgid "I<path> is too long."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chdir.2:105 build/C/man2/chmod.2:186 build/C/man2/chown.2:149 build/C/man2/chroot.2:123
+#: build/C/man2/chdir.2:105 build/C/man2/chmod.2:266 build/C/man2/chown.2:256 build/C/man2/chroot.2:123
 msgid "The file does not exist."
 msgstr ""
 
@@ -999,14 +1191,8 @@ msgstr ""
 msgid "Search permission was denied on the directory open on I<fd>."
 msgstr ""
 
-#. type: TP
-#: build/C/man2/chdir.2:121 build/C/man2/chmod.2:205 build/C/man2/chown.2:166 build/C/man2/close.2:71 build/C/man2/dup.2:127 build/C/man2/fcntl.2:1092 build/C/man2/flock.2:117 build/C/man2/fsync.2:114 build/C/man2/ioctl.2:93 build/C/man3/lockf.3:130 build/C/man3/tcgetpgrp.3:84 build/C/man2/truncate.2:183
-#, no-wrap
-msgid "B<EBADF>"
-msgstr ""
-
 #. type: Plain text
-#: build/C/man2/chdir.2:125 build/C/man3/tcgetpgrp.3:88
+#: build/C/man2/chdir.2:125 build/C/man3/tcgetpgrp.3:91
 msgid "I<fd> is not a valid file descriptor."
 msgstr ""
 
@@ -1036,95 +1222,113 @@ msgid "B<chroot>(2), B<getcwd>(3), B<path_resolution>(7)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/chmod.2:31
+#: build/C/man2/chmod.2:32
 #, no-wrap
 msgid "CHMOD"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/chmod.2:31 build/C/man2/gethostname.2:32
+#. type: Plain text
+#: build/C/man2/chmod.2:35
+msgid "chmod, fchmod, fchmodat - change permissions of a file"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chmod.2:38
 #, no-wrap
-msgid "2010-09-26"
+msgid "B<#include E<lt>sys/stat.hE<gt>>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:34
-msgid "chmod, fchmod - change permissions of a file"
+#: build/C/man2/chmod.2:40
+#, no-wrap
+msgid "B<int chmod(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:36 build/C/man3/getumask.3:37 build/C/man2/umask.2:41
-msgid "B<#include E<lt>sys/stat.hE<gt>>"
+#: build/C/man2/chmod.2:42
+#, no-wrap
+msgid "B<int fchmod(int >I<fd>B<, mode_t >I<mode>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:38
-msgid "B<int chmod(const char *>I<path>B<, mode_t >I<mode>B<);>"
+#: build/C/man2/chmod.2:45
+#, no-wrap
+msgid ""
+"B<#include E<lt>fcntl.hE<gt>>           /* Definition of AT_* constants */\n"
+"B<#include E<lt>sys/stat.hE<gt>>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:40
-msgid "B<int fchmod(int >I<fd>B<, mode_t >I<mode>B<);>"
+#: build/C/man2/chmod.2:48
+#, no-wrap
+msgid ""
+"B<int fchmodat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t "
+">I<mode>B<, int >I<flags>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:49
+#: build/C/man2/chmod.2:58
 msgid "B<fchmod>():"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:61
+#: build/C/man2/chmod.2:68
+msgid "B<fchmodat>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chmod.2:88
 msgid ""
-"These system calls change the permissions of a file.  They differ only in "
-"how the file is specified:"
+"The B<chmod>()  and B<fchmod>()  system calls change the permissions of a "
+"file.  They differ only in how the file is specified:"
 msgstr ""
 
 #. type: IP
-#: build/C/man2/chmod.2:61 build/C/man2/chmod.2:66 build/C/man2/chown.2:70 build/C/man2/chown.2:75 build/C/man2/chown.2:79 build/C/man2/chown.2:233 build/C/man2/chown.2:238 build/C/man2/chown.2:244 build/C/man2/dup.2:62 build/C/man2/dup.2:68 build/C/man2/dup.2:101 build/C/man2/dup.2:110 build/C/man2/execve.2:124 build/C/man2/execve.2:128 build/C/man2/execve.2:131 build/C/man2/execve.2:134 build/C/man2/execve.2:137 build/C/man2/execve.2:140 build/C/man2/execve.2:143 build/C/man2/execve.2:146 build/C/man2/execve.2:149 build/C/man2/execve.2:152 build/C/man2/execve.2:156 build/C/man2/execve.2:160 build/C/man2/execve.2:169 build/C/man2/execve.2:176 build/C/man2/execve.2:181 build/C/man2/execve.2:188 build/C/man2/execve.2:195 build/C/man2/execve.2:202 build/C/man2/execve.2:209 build/C/man2/execve.2:213 build/C/man2/execve.2:216 build/C/man2/execve.2:224 build/C/man2/execve.2:228 build/C/man2/execve.2:233 build/C/man2/fork.2:52 build/C/man2/fork.2:56 build/C/man2/fork.2:58 build/C/man2/fork.2:62 build/C/man2/fork.2:68 build/C/man2/fork.2:71 build/C/man2/fork.2:74 build/C/man2/fork.2:77 build/C/man2/fork.2:82 build/C/man2/fork.2:94 build/C/man2/fork.2:101 build/C/man2/fork.2:107 build/C/man2/fork.2:114 build/C/man2/fork.2:120 build/C/man2/fork.2:125 build/C/man2/fork.2:133 build/C/man2/fork.2:142 build/C/man2/fork.2:156 build/C/man2/fork.2:165 build/C/man2/syscalls.2:87 build/C/man2/syscalls.2:90 build/C/man2/syscalls.2:96 build/C/man2/syscalls.2:112 build/C/man2/syscalls.2:118 build/C/man2/syscalls.2:124 build/C/man2/syscalls.2:130 build/C/man2/syscalls.2:137 build/C/man2/syscalls.2:676 build/C/man2/syscalls.2:697 build/C/man2/syscalls.2:708 build/C/man2/syscalls.2:715 build/C/man2/syscalls.2:726 build/C/man2/syscalls.2:738 build/C/man2/syscalls.2:759 build/C/man2/syscalls.2:767 build/C/man2/vfork.2:193 build/C/man2/vfork.2:197
+#: 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:106 build/C/man2/dup.2:112 build/C/man2/dup.2:129 build/C/man2/dup.2:138 build/C/man2/execve.2:122 build/C/man2/execve.2:126 build/C/man2/execve.2:129 build/C/man2/execve.2:132 build/C/man2/execve.2:135 build/C/man2/execve.2:138 build/C/man2/execve.2:141 build/C/man2/execve.2:144 build/C/man2/execve.2:147 build/C/man2/execve.2:150 build/C/man2/execve.2:154 build/C/man2/execve.2:158 build/C/man2/execve.2:167 build/C/man2/execve.2:174 build/C/man2/execve.2:179 build/C/man2/execve.2:186 build/C/man2/execve.2:193 build/C/man2/execve.2:200 build/C/man2/execve.2:207 build/C/man2/execve.2:211 build/C/man2/execve.2:214 build/C/man2/execve.2:222 build/C/man2/execve.2:226 build/C/man2/execve.2:231 build/C/man2/fcntl.2:452 build/C/man2/fcntl.2:468 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:82 build/C/man2/fork.2:87 build/C/man2/fork.2:99 build/C/man2/fork.2:106 build/C/man2/fork.2:112 build/C/man2/fork.2:119 build/C/man2/fork.2:125 build/C/man2/fork.2:130 build/C/man2/fork.2:138 build/C/man2/fork.2:147 build/C/man2/fork.2:161 build/C/man2/fork.2:170 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:703 build/C/man2/syscalls.2:724 build/C/man2/syscalls.2:735 build/C/man2/syscalls.2:742 build/C/man2/syscalls.2:753 build/C/man2/syscalls.2:765 build/C/man2/syscalls.2:786 build/C/man2/syscalls.2:794 build/C/man2/vfork.2:193 build/C/man2/vfork.2:197
 #, no-wrap
 msgid "*"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:66
+#: build/C/man2/chmod.2:93
 msgid ""
 "B<chmod>()  changes the permissions of the file specified whose pathname is "
-"given in I<path>, which is dereferenced if it is a symbolic link."
+"given in I<pathname>, which is dereferenced if it is a symbolic link."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:70
+#: build/C/man2/chmod.2:97
 msgid ""
 "B<fchmod>()  changes the permissions of the file referred to by the open "
 "file descriptor I<fd>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:75
+#: build/C/man2/chmod.2:102
 msgid ""
 "The new file permissions are specified in I<mode>, which is a bit mask "
 "created by ORing together zero or more of the following:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:75
+#: build/C/man2/chmod.2:102
 #, no-wrap
 msgid "B<S_ISUID>  (04000)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:79
+#: build/C/man2/chmod.2:106
 msgid "set-user-ID (set process effective user ID on B<execve>(2))"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:79
+#: build/C/man2/chmod.2:106
 #, no-wrap
 msgid "B<S_ISGID>  (02000)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:89
+#: build/C/man2/chmod.2:116
 msgid ""
 "set-group-ID (set process effective group ID on B<execve>(2); mandatory "
 "locking, as described in B<fcntl>(2); take a new file's group from parent "
@@ -1132,119 +1336,119 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:89
+#: build/C/man2/chmod.2:116
 #, no-wrap
 msgid "B<S_ISVTX>  (01000)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:93
+#: build/C/man2/chmod.2:120
 msgid "sticky bit (restricted deletion flag, as described in B<unlink>(2))"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:93
+#: build/C/man2/chmod.2:120
 #, no-wrap
 msgid "B<S_IRUSR>  (00400)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:96
+#: build/C/man2/chmod.2:123
 msgid "read by owner"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:96
+#: build/C/man2/chmod.2:123
 #, no-wrap
 msgid "B<S_IWUSR>  (00200)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:99
+#: build/C/man2/chmod.2:126
 msgid "write by owner"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:99
+#: build/C/man2/chmod.2:126
 #, no-wrap
 msgid "B<S_IXUSR>  (00100)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:103
+#: build/C/man2/chmod.2:130
 msgid ""
 "execute/search by owner (\"search\" applies for directories, and means that "
 "entries within the directory can be accessed)"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:103
+#: build/C/man2/chmod.2:130
 #, no-wrap
 msgid "B<S_IRGRP>  (00040)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:106
+#: build/C/man2/chmod.2:133
 msgid "read by group"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:106
+#: build/C/man2/chmod.2:133
 #, no-wrap
 msgid "B<S_IWGRP>  (00020)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:109
+#: build/C/man2/chmod.2:136
 msgid "write by group"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:109
+#: build/C/man2/chmod.2:136
 #, no-wrap
 msgid "B<S_IXGRP>  (00010)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:112
+#: build/C/man2/chmod.2:139
 msgid "execute/search by group"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:112
+#: build/C/man2/chmod.2:139
 #, no-wrap
 msgid "B<S_IROTH>  (00004)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:115
+#: build/C/man2/chmod.2:142
 msgid "read by others"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:115
+#: build/C/man2/chmod.2:142
 #, no-wrap
 msgid "B<S_IWOTH>  (00002)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:118
+#: build/C/man2/chmod.2:145
 msgid "write by others"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:118
+#: build/C/man2/chmod.2:145
 #, no-wrap
 msgid "B<S_IXOTH>  (00001)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:121
+#: build/C/man2/chmod.2:148
 msgid "execute/search by others"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:126
+#: build/C/man2/chmod.2:153
 msgid ""
 "The effective UID of the calling process must match the owner of the file, "
 "or the process must be privileged (Linux: it must have the B<CAP_FOWNER> "
@@ -1252,7 +1456,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:135
+#: build/C/man2/chmod.2:162
 msgid ""
 "If the calling process is not privileged (Linux: does not have the "
 "B<CAP_FSETID> capability), and the group of the file does not match the "
@@ -1262,156 +1466,271 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:147
+#: build/C/man2/chmod.2:174
 msgid ""
-"As a security measure, depending on the file system, the set-user-ID and "
+"As a security measure, depending on the filesystem, the set-user-ID and "
 "set-group-ID execution bits may be turned off if a file is written.  (On "
 "Linux this occurs if the writing process does not have the B<CAP_FSETID> "
-"capability.)  On some file systems, only the superuser can set the sticky "
+"capability.)  On some filesystems, only the superuser can set the sticky "
 "bit, which may have a special meaning.  For the sticky bit, and for "
 "set-user-ID and set-group-ID bits on directories, see B<stat>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:153
+#: build/C/man2/chmod.2:182
 msgid ""
-"On NFS file systems, restricting the permissions will immediately influence "
+"On NFS filesystems, restricting the permissions will immediately influence "
 "already open files, because the access control is done on the server, but "
 "open files are maintained by the client.  Widening the permissions may be "
 "delayed for other clients if attribute caching is enabled on them."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/chmod.2:182
+#, no-wrap
+msgid "fchmodat()"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chmod.2:188
+msgid ""
+"The B<fchmodat>()  system call operates in exactly the same way as "
+"B<chmod>(), except for the differences described here."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chmod.2:198
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<chmod>()  for a relative pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chmod.2:210
+msgid ""
+"If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
+"then I<pathname> is interpreted relative to the current working directory of "
+"the calling process (like B<chmod>())."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chmod.2:219
+msgid "I<flags> can either be 0, or include the following flag:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chmod.2:226
+msgid ""
+"If I<pathname> is a symbolic link, do not dereference it: instead operate on "
+"the link itself.  This flag is not currently implemented."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chmod.2:231
+msgid "See B<openat>(2)  for an explanation of the need for B<fchmodat>()."
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/chmod.2:163
+#: build/C/man2/chmod.2:239 build/C/man2/chown.2:232
 msgid ""
-"Depending on the file system, other errors can be returned.  The more "
-"general errors for B<chmod>()  are listed below:"
+"Depending on the filesystem, errors other than those listed below can be "
+"returned."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chmod.2:243
+msgid "The more general errors for B<chmod>()  are listed below:"
 msgstr ""
 
 #.  Also search permission is required on the final component,
 #.  maybe just to guarantee that it is a directory?
 #. type: Plain text
-#: build/C/man2/chmod.2:168 build/C/man2/chown.2:134 build/C/man2/chroot.2:105
+#: build/C/man2/chmod.2:248 build/C/man2/chown.2:241 build/C/man2/chroot.2:105
 msgid ""
 "Search permission is denied on a component of the path prefix.  (See also "
 "B<path_resolution>(7).)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:192 build/C/man2/chown.2:155 build/C/man2/truncate.2:164
+#: build/C/man2/chmod.2:272 build/C/man2/chown.2:262 build/C/man2/truncate.2:165
 msgid "A component of the path prefix is not a directory."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/chmod.2:192 build/C/man2/chmod.2:213 build/C/man2/chown.2:155 build/C/man2/chown.2:175 build/C/man2/chroot.2:131 build/C/man2/execve.2:437 build/C/man2/execve.2:443 build/C/man2/fcntl.2:1141 build/C/man2/getdomainname.2:91 build/C/man3/gethostid.3:88 build/C/man2/gethostname.2:117 build/C/man2/idle.2:56 build/C/man2/ioperm.2:101 build/C/man2/mkdir.2:109 build/C/man2/nice.2:62 build/C/man2/setup.2:57 build/C/man2/swapon.2:144 build/C/man3/tcgetpgrp.3:101 build/C/man2/truncate.2:164 build/C/man2/vhangup.2:56
+#: 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:451 build/C/man2/execve.2:457 build/C/man2/fcntl.2:1625 build/C/man2/fcntl.2:1630 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:98 build/C/man2/mkdir.2:178 build/C/man2/nice.2:62 build/C/man2/setup.2:57 build/C/man2/swapon.2:155 build/C/man3/tcgetpgrp.3:104 build/C/man2/truncate.2:165 build/C/man2/truncate.2:171 build/C/man2/vhangup.2:56
 #, no-wrap
 msgid "B<EPERM>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:198
+#: build/C/man2/chmod.2:278
 msgid ""
 "The effective UID does not match the owner of the file, and the process is "
 "not privileged (Linux: it does not have the B<CAP_FOWNER> capability)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:201 build/C/man2/chown.2:162 build/C/man2/truncate.2:173
-msgid "The named file resides on a read-only file system."
+#: build/C/man2/chmod.2:281 build/C/man2/chown.2:269 build/C/man2/truncate.2:178
+msgid "The named file resides on a read-only filesystem."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:205
+#: build/C/man2/chmod.2:285
 msgid "The general errors for B<fchmod>()  are listed below:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:210
+#: build/C/man2/chmod.2:290
 msgid "The file descriptor I<fd> is not valid."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:213 build/C/man2/chmod.2:216 build/C/man2/chmod.2:219 build/C/man2/chown.2:175 build/C/man2/chown.2:178 build/C/man2/chown.2:181
+#: 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
 msgid "See above."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chmod.2:221 build/C/man2/chown.2:183
-msgid "4.4BSD, SVr4, POSIX.1-2001."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/chmod.2:228
+#: build/C/man2/chmod.2:306
 msgid ""
-"B<chown>(2), B<execve>(2), B<fchmodat>(2), B<open>(2), B<stat>(2), "
-"B<path_resolution>(7)"
-msgstr ""
-
-#. type: TH
-#: build/C/man2/chown.2:38
-#, no-wrap
-msgid "CHOWN"
+"The same errors that occur for B<chmod>()  can also occur for "
+"B<fchmodat>().  The following additional errors can occur for B<fchmodat>():"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/chown.2:38
+#. type: TP
+#: build/C/man2/chmod.2:320
 #, no-wrap
-msgid "2010-11-22"
+msgid "B<ENOTSUP>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:41
-msgid "chown, fchown, lchown - change ownership of a file"
+#: build/C/man2/chmod.2:326
+msgid "I<flags> specified B<AT_SYMLINK_NOFOLLOW>, which is not supported."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:45
-msgid "B<int chown(const char *>I<path>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
+#: build/C/man2/chmod.2:330
+msgid ""
+"B<fchmodat>()  was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:47
-msgid "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
+#: build/C/man2/chmod.2:334
+msgid "B<chmod>(), B<fchmod>(): 4.4BSD, SVr4, POSIX.1-2001i, POSIX.1-2008."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:49
-msgid "B<int lchown(const char *>I<path>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
+#: build/C/man2/chmod.2:337
+msgid "B<fchmodat>(): POSIX.1-2008."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:57
-msgid "B<fchown>(), B<lchown>():"
+#: build/C/man2/chmod.2:348
+msgid ""
+"The GNU C library B<fchmodat>()  wrapper function implements the "
+"POSIX-specified interface described in this page.  This interface differs "
+"from the underlying Linux system call, which does I<not> have a I<flags> "
+"argument."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:70
+#: build/C/man2/chmod.2:361
 msgid ""
-"These system calls change the owner and group of a file.  They differ only "
-"in how the file is specified:"
+"On older kernels where B<fchmodat>()  is unavailable, the glibc wrapper "
+"function falls back to the use of B<chmod>().  When I<pathname> is a "
+"relative pathname, glibc constructs a pathname based on the symbolic link in "
+"I</proc/self/fd> that corresponds to the I<dirfd> argument."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:75
+#: build/C/man2/chmod.2:368
 msgid ""
-"B<chown>()  changes the ownership of the file specified by I<path>, which is "
-"dereferenced if it is a symbolic link."
+"B<chown>(2), B<execve>(2), B<open>(2), B<stat>(2), B<path_resolution>(7), "
+"B<symlink>(7)"
+msgstr ""
+
+#. type: TH
+#: build/C/man2/chown.2:38
+#, no-wrap
+msgid "CHOWN"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:41
+msgid "chown, fchown, lchown, fchownat - change ownership of a file"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:46
+#, no-wrap
+msgid ""
+"B<int chown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t "
+">I<group>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:48
+#, no-wrap
+msgid "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:50
+#, no-wrap
+msgid ""
+"B<int lchown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t "
+">I<group>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:56
+#, no-wrap
+msgid ""
+"B<int fchownat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
+"B<             uid_t >I<owner>B<, gid_t >I<group>B<, int >I<flags>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:66
+msgid "B<fchown>(), B<lchown>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:76
+msgid "B<fchownat>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:96
+msgid ""
+"These system calls change the owner and group of a file.  The B<chown>(), "
+"B<fchown>(), and B<lchown>()  system calls differ only in how the file is "
+"specified:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:101
+msgid ""
+"B<chown>()  changes the ownership of the file specified by I<pathname>, "
+"which is dereferenced if it is a symbolic link."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:79
+#: build/C/man2/chown.2:105
 msgid ""
 "B<fchown>()  changes the ownership of the file referred to by the open file "
 "descriptor I<fd>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:84
+#: build/C/man2/chown.2:110
 msgid "B<lchown>()  is like B<chown>(), but does not dereference symbolic links."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:93
+#: build/C/man2/chown.2:119
 msgid ""
 "Only a privileged process (Linux: one with the B<CAP_CHOWN> capability) may "
 "change the owner of a file.  The owner of a file may change the group of the "
@@ -1420,7 +1739,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:99
+#: build/C/man2/chown.2:125
 msgid "If the I<owner> or I<group> is specified as -1, then that ID is not changed."
 msgstr ""
 
@@ -1428,7 +1747,7 @@ msgstr ""
 #.  In 2.2, up to 2.2.12, these bits were not cleared for superuser.
 #.  Since 2.2.13, superuser is once more like everyone else.
 #. type: Plain text
-#: build/C/man2/chown.2:119
+#: build/C/man2/chown.2:145
 msgid ""
 "When the owner or group of an executable file are changed by an unprivileged "
 "user the B<S_ISUID> and B<S_ISGID> mode bits are cleared.  POSIX does not "
@@ -1439,35 +1758,123 @@ msgid ""
 "B<chown>()."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/chown.2:145
+#, no-wrap
+msgid "fchownat()"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:151
+msgid ""
+"The B<fchownat>()  system call operates in exactly the same way as "
+"B<chown>(), except for the differences described here."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:161
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<chown>()  for a relative pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:173
+msgid ""
+"If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
+"then I<pathname> is interpreted relative to the current working directory of "
+"the calling process (like B<chown>())."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:184
+msgid ""
+"The I<flags> argument is a bit mask created by ORing together 0 or more of "
+"the following values;"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/chown.2:184
+#, no-wrap
+msgid "B<AT_EMPTY_PATH> (since Linux 2.6.39)"
+msgstr ""
+
+#.  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
+#.  Before glibc 2.16, defining _ATFILE_SOURCE sufficed
+#. type: Plain text
+#: build/C/man2/chown.2:207
+msgid ""
+"If I<pathname> is an empty string, operate on the file referred to by "
+"I<dirfd> (which may have been obtained using the B<open>(2)  B<O_PATH> "
+"flag).  In this case, I<dirfd> can refer to any type of file, not just a "
+"directory.  If I<dirfd> is B<AT_FDCWD>, the call operates on the current "
+"working directory.  This flag is Linux-specific; define B<_GNU_SOURCE> to "
+"obtain its definition."
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/chown.2:129
+#: build/C/man2/chown.2:219
 msgid ""
-"Depending on the file system, other errors can be returned.  The more "
-"general errors for B<chown>()  are listed below."
+"If I<pathname> is a symbolic link, do not dereference it: instead operate on "
+"the link itself, like B<lchown>().  (By default, B<fchownat>()  dereferences "
+"symbolic links, like B<chown>().)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:224
+msgid "See B<openat>(2)  for an explanation of the need for B<fchownat>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:236
+msgid "The more general errors for B<chown>()  are listed below."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:159
+#: build/C/man2/chown.2:266
 msgid ""
 "The calling process did not have the required permissions (see above) to "
 "change owner and/or group."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:166
+#: build/C/man2/chown.2:273
 msgid "The general errors for B<fchown>()  are listed below:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:169
+#: build/C/man2/chown.2:276
 msgid "The descriptor is not valid."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:172
+#: build/C/man2/chown.2:279
 msgid "A low-level I/O error occurred while modifying the inode."
 msgstr ""
 
+#. type: Plain text
+#: build/C/man2/chown.2:295
+msgid ""
+"The same errors that occur for B<chown>()  can also occur for "
+"B<fchownat>().  The following additional errors can occur for B<fchownat>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:313
+msgid ""
+"B<fchownat>()  was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:318
+msgid ""
+"B<chown>(), B<fchown>(), B<lchown>(): 4.4BSD, SVr4, POSIX.1-2001, "
+"POSIX.1-2008."
+msgstr ""
+
 #.  chown():
 #.  SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no
 #.  ENOMEM.  POSIX.1 does not document ENOMEM or ELOOP error conditions.
@@ -1475,80 +1882,112 @@ msgstr ""
 #.  SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
 #.  error conditions.
 #. type: Plain text
-#: build/C/man2/chown.2:192
+#: build/C/man2/chown.2:327
 msgid ""
-"The 4.4BSD version can only be used by the superuser (that is, ordinary "
+"The 4.4BSD version can be used only by the superuser (that is, ordinary "
 "users cannot give away files)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:211
-msgid ""
-"The original Linux B<chown>(), B<fchown>(), and B<lchown>()  system calls "
-"supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
-"B<chown32>(), B<fchown32>(), and B<lchown32>(), supporting 32-bit IDs.  The "
-"glibc B<chown>(), B<fchown>(), and B<lchown>()  wrapper functions "
-"transparently deal with the variations across kernel versions."
+#: build/C/man2/chown.2:330
+msgid "B<fchownat>(): POSIX.1-2008."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/chown.2:331
+#, no-wrap
+msgid "Ownership of new files"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:233
+#: build/C/man2/chown.2:353
 msgid ""
 "When a new file is created (by, for example, B<open>(2)  or B<mkdir>(2)), "
-"its owner is made the same as the file system user ID of the creating "
+"its owner is made the same as the filesystem user ID of the creating "
 "process.  The group of the file depends on a range of factors, including the "
-"type of file system, the options used to mount the file system, and whether "
-"or not the set-group-ID permission bit is enabled on the parent directory.  "
-"If the file system supports the I<-o\\ grpid> (or, synonymously I<-o\\ "
+"type of filesystem, the options used to mount the filesystem, and whether or "
+"not the set-group-ID permission bit is enabled on the parent directory.  If "
+"the filesystem supports the I<-o\\ grpid> (or, synonymously I<-o\\ "
 "bsdgroups>)  and I<-o\\ nogrpid> (or, synonymously I<-o\\ sysvgroups>)  "
 "B<mount>(8)  options, then the rules are as follows:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:238
+#: build/C/man2/chown.2:358
 msgid ""
-"If the file system is mounted with I<-o\\ grpid>, then the group of a new "
+"If the filesystem is mounted with I<-o\\ grpid>, then the group of a new "
 "file is made the same as that of the parent directory."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:244
+#: build/C/man2/chown.2:364
 msgid ""
-"If the file system is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
+"If the filesystem is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
 "is disabled on the parent directory, then the group of a new file is made "
-"the same as the process's file system GID."
+"the same as the process's filesystem GID."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:250
+#: build/C/man2/chown.2:370
 msgid ""
-"If the file system is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
+"If the filesystem is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
 "is enabled on the parent directory, then the group of a new file is made the "
 "same as that of the parent directory."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:260
+#: build/C/man2/chown.2:380
 msgid ""
 "As at Linux 2.6.25, the I<-o\\ grpid> and I<-o\\ nogrpid> mount options are "
-"supported by ext2, ext3, ext4, and XFS.  File systems that don't support "
+"supported by ext2, ext3, ext4, and XFS.  Filesystems that don't support "
 "these mount options follow the I<-o\\ nogrpid> rules."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:273
+#: build/C/man2/chown.2:395
+msgid ""
+"On older kernels where B<fchownat>()  is unavailable, the glibc wrapper "
+"function falls back to the use of B<chown>()  and B<lchown>().  When "
+"I<pathname> is a relative pathname, glibc constructs a pathname based on the "
+"symbolic link in I</proc/self/fd> that corresponds to the I<dirfd> argument."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/chown.2:395
+#, no-wrap
+msgid "NFS"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:408
+msgid ""
+"The B<chown>()  semantics are deliberately violated on NFS filesystems which "
+"have UID mapping enabled.  Additionally, the semantics of all system calls "
+"which access the file contents are violated, because B<chown>()  may cause "
+"immediate access revocation on already open files.  Client side caching may "
+"lead to a delay between the time where ownership have been changed to allow "
+"access for a user and the time where the file can actually be accessed by "
+"the user on other clients."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/chown.2:408
+#, no-wrap
+msgid "Historical details"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/chown.2:427
 msgid ""
-"The B<chown>()  semantics are deliberately violated on NFS file systems "
-"which have UID mapping enabled.  Additionally, the semantics of all system "
-"calls which access the file contents are violated, because B<chown>()  may "
-"cause immediate access revocation on already open files.  Client side "
-"caching may lead to a delay between the time where ownership have been "
-"changed to allow access for a user and the time where the file can actually "
-"be accessed by the user on other clients."
+"The original Linux B<chown>(), B<fchown>(), and B<lchown>()  system calls "
+"supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
+"B<chown32>(), B<fchown32>(), and B<lchown32>(), supporting 32-bit IDs.  The "
+"glibc B<chown>(), B<fchown>(), and B<lchown>()  wrapper functions "
+"transparently deal with the variations across kernel versions."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:288
+#: build/C/man2/chown.2:442
 msgid ""
 "In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), B<chown>()  "
 "did not follow symbolic links.  Since Linux 2.1.81, B<chown>()  does follow "
@@ -1559,7 +1998,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:297
+#: build/C/man2/chown.2:451
 msgid ""
 "The following program changes the ownership of the file named in its second "
 "command-line argument to the value specified in its first command-line "
@@ -1568,8 +2007,14 @@ msgid ""
 "perform a lookup in the system password file)."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/chown.2:451
+#, no-wrap
+msgid "Program source"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/chown.2:303
+#: build/C/man2/chown.2:457
 #, no-wrap
 msgid ""
 "#include E<lt>pwd.hE<gt>\n"
@@ -1579,7 +2024,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:310
+#: build/C/man2/chown.2:464
 #, no-wrap
 msgid ""
 "int\n"
@@ -1591,7 +2036,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:315
+#: build/C/man2/chown.2:469
 #, no-wrap
 msgid ""
 "    if (argc != 3 || argv[1][0] == \\(aq\\e0\\(aq) {\n"
@@ -1602,13 +2047,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:317
+#: build/C/man2/chown.2:471
 #, no-wrap
 msgid "    uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:324
+#: build/C/man2/chown.2:478
 #, no-wrap
 msgid ""
 "    if (*endptr != \\(aq\\e0\\(aq) {         /* Was not pure numeric string "
@@ -1621,7 +2066,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:327
+#: build/C/man2/chown.2:481
 #, no-wrap
 msgid ""
 "        uid = pwd-E<gt>pw_uid;\n"
@@ -1629,7 +2074,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:332
+#: build/C/man2/chown.2:486
 #, no-wrap
 msgid ""
 "    if (chown(argv[2], uid, -1) == -1) {\n"
@@ -1639,7 +2084,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:335 build/C/man2/execve.2:563 build/C/man3/getopt.3:428 build/C/man3/getopt.3:513
+#: build/C/man2/chown.2:489 build/C/man2/execve.2:677 build/C/man3/getopt.3:430 build/C/man3/getopt.3:515
 #, no-wrap
 msgid ""
 "    exit(EXIT_SUCCESS);\n"
@@ -1647,10 +2092,8 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/chown.2:342
-msgid ""
-"B<chmod>(2), B<fchownat>(2), B<flock>(2), B<path_resolution>(7), "
-"B<symlink>(7)"
+#: build/C/man2/chown.2:495
+msgid "B<chmod>(2), B<flock>(2), B<path_resolution>(7), B<symlink>(7)"
 msgstr ""
 
 #. type: TH
@@ -1659,6 +2102,12 @@ msgstr ""
 msgid "CHROOT"
 msgstr ""
 
+#. type: TH
+#: build/C/man2/chroot.2:33 build/C/man3/gethostid.3:29
+#, no-wrap
+msgid "2010-09-20"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man2/chroot.2:36
 msgid "chroot - change root directory"
@@ -1742,8 +2191,8 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/chroot.2:98
 msgid ""
-"Depending on the file system, other errors can be returned.  The more "
-"general errors are listed below:"
+"Depending on the filesystem, other errors can be returned.  The more general "
+"errors are listed below:"
 msgstr ""
 
 #. type: Plain text
@@ -1788,7 +2237,7 @@ msgstr ""
 #. type: TH
 #: build/C/man2/close.2:35
 #, no-wrap
-msgid "2007-12-28"
+msgid "2013-12-30"
 msgstr ""
 
 #. type: Plain text
@@ -1817,7 +2266,7 @@ msgid ""
 "If I<fd> is the last file descriptor referring to the underlying open file "
 "description (see B<open>(2)), the resources associated with the open file "
 "description are freed; if the descriptor was the last reference to a file "
-"which has been removed using B<unlink>(2)  the file is deleted."
+"which has been removed using B<unlink>(2), the file is deleted."
 msgstr ""
 
 #. type: Plain text
@@ -1833,7 +2282,7 @@ msgid "I<fd> isn't a valid open file descriptor."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/close.2:75 build/C/man2/dup.2:143 build/C/man2/fcntl.2:1110 build/C/man2/flock.2:121 build/C/man2/truncate.2:133 build/C/man3/ualarm.3:85 build/C/man3/usleep.3:78
+#: build/C/man2/close.2:75 build/C/man2/dup.2:176 build/C/man2/fcntl.2:1531 build/C/man2/fcntl.2:1540 build/C/man2/flock.2:122 build/C/man2/truncate.2:134 build/C/man3/ualarm.3:85 build/C/man3/usleep.3:83
 #, no-wrap
 msgid "B<EINTR>"
 msgstr ""
@@ -1844,23 +2293,31 @@ msgid "The B<close>()  call was interrupted by a signal; see B<signal>(7)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/close.2:101
+#: build/C/man2/close.2:87 build/C/man2/fork.2:228 build/C/man3/swab.3:79 build/C/man2/umask.2:97
+msgid "SVr4, 4.3BSD, POSIX.1-2001."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/close.2:107
 msgid ""
 "Not checking the return value of B<close>()  is a common but nevertheless "
 "serious programming error.  It is quite possible that errors on a previous "
 "B<write>(2)  operation are first reported at the final B<close>().  Not "
 "checking the return value when closing the file may lead to silent loss of "
-"data.  This can especially be observed with NFS and with disk quota."
+"data.  This can especially be observed with NFS and with disk quota.  Note "
+"that the return value should be used only for diagnostics.  In particular "
+"B<close>()  should not be retried after an B<EINTR> since this may cause a "
+"reused descriptor from another thread to be closed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/close.2:110
+#: build/C/man2/close.2:116
 msgid ""
 "A successful close does not guarantee that the data has been successfully "
-"saved to disk, as the kernel defers writes.  It is not common for a file "
-"system to flush the buffers when the stream is closed.  If you need to be "
-"sure that the data is physically stored use B<fsync>(2).  (It will depend on "
-"the disk hardware at this point.)"
+"saved to disk, as the kernel defers writes.  It is not common for a "
+"filesystem to flush the buffers when the stream is closed.  If you need to "
+"be sure that the data is physically stored, use B<fsync>(2).  (It will "
+"depend on the disk hardware at this point.)"
 msgstr ""
 
 #.  Date: Tue, 4 Sep 2007 13:57:35 +0200
@@ -1868,11 +2325,11 @@ msgstr ""
 #.  One such race involves signals and ERESTARTSYS. If a file descriptor
 #.  in use by a system call is closed and then reused by e.g. an
 #.  independent open() in some unrelated thread, before the original system
-#.  call has restared after ERESTARTSYS, the original system call will
+#.  call has restarted after ERESTARTSYS, the original system call will
 #.  later restart with the reused file descriptor. This is most likely a
 #.  serious programming error.
 #. type: Plain text
-#: build/C/man2/close.2:125
+#: build/C/man2/close.2:131
 msgid ""
 "It is probably unwise to close file descriptors while they may be in use by "
 "system calls in other threads in the same process.  Since a file descriptor "
@@ -1881,99 +2338,99 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/close.2:132
+#: build/C/man2/close.2:138
 msgid ""
 "B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), B<unlink>(2), "
 "B<fclose>(3)"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/confstr.3:31
+#: build/C/man3/confstr.3:32
 #, no-wrap
 msgid "CONFSTR"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/confstr.3:31
+#: build/C/man3/confstr.3:32
 #, no-wrap
-msgid "2012-05-10"
+msgid "2014-03-20"
 msgstr ""
 
 #. type: TH
-#: 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
+#: build/C/man3/confstr.3:32 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
 #, no-wrap
 msgid "GNU"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:34
+#: build/C/man3/confstr.3:35
 msgid "confstr - get configuration dependent string variables"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:39
+#: build/C/man3/confstr.3:40
 #, no-wrap
 msgid "B<size_t confstr(int >I<name>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:48
+#: build/C/man3/confstr.3:49
 msgid "B<confstr>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:51
+#: build/C/man3/confstr.3:52
 msgid "B<confstr>()  gets the value of configuration-dependent string variables."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:56
+#: build/C/man3/confstr.3:57
 msgid ""
 "The I<name> argument is the system variable to be queried.  The following "
 "variables are supported:"
 msgstr ""
 
 #. type: TP
-#: build/C/man3/confstr.3:56
+#: build/C/man3/confstr.3:57
 #, no-wrap
 msgid "B<_CS_GNU_LIBC_VERSION> (GNU C library only; since glibc 2.3.2)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:60
+#: build/C/man3/confstr.3:61
 msgid ""
 "A string which identifies the GNU C library version on this system (e.g, "
 "\"glibc 2.3.4\")."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/confstr.3:60
+#: build/C/man3/confstr.3:61
 #, no-wrap
 msgid "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library only; since glibc 2.3.2)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:64
+#: build/C/man3/confstr.3:65
 msgid ""
 "A string which identifies the POSIX implementation supplied by this C "
 "library (e.g, \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/confstr.3:64
+#: build/C/man3/confstr.3:65
 #, no-wrap
 msgid "B<_CS_PATH>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:70
+#: build/C/man3/confstr.3:71
 msgid ""
 "A value for the B<PATH> variable which indicates where all the POSIX.2 "
 "standard utilities can be found."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:86
+#: build/C/man3/confstr.3:87
 msgid ""
 "If I<buf> is not NULL and I<len> is not zero, B<confstr>()  copies the value "
 "of the string to I<buf> truncated to I<len - 1> bytes if necessary, with a "
@@ -1982,14 +2439,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:94
+#: build/C/man3/confstr.3:95
 msgid ""
 "If I<len> is zero and I<buf> is NULL, B<confstr>()  just returns the value "
 "as defined below."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:106
+#: build/C/man3/confstr.3:107
 msgid ""
 "If I<name> is a valid configuration variable, B<confstr>()  returns the "
 "number of bytes (including the terminating null byte)  that would be "
@@ -1998,7 +2455,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:121
+#: build/C/man3/confstr.3:122
 msgid ""
 "If I<name> is a valid configuration variable, but that variable does not "
 "have a value, then B<confstr>()  returns 0.  If I<name> does not correspond "
@@ -2007,24 +2464,24 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:127
-msgid "If the value of I<name> is invalid."
+#: build/C/man3/confstr.3:128
+msgid "The value of I<name> is invalid."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:129 build/C/man3/fpathconf.3:171 build/C/man2/pread.2:117 build/C/man3/sleep.3:46 build/C/man3/sysconf.3:326 build/C/man3/tcgetpgrp.3:108
+#: build/C/man3/confstr.3:130 build/C/man3/fpathconf.3:171 build/C/man2/pread.2:117 build/C/man3/sleep.3:46 build/C/man3/sysconf.3:329 build/C/man3/tcgetpgrp.3:118
 msgid "POSIX.1-2001."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:132
+#: build/C/man3/confstr.3:133
 msgid ""
 "The following code fragment determines the path where to find the POSIX.2 "
 "system utilities:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:138
+#: build/C/man3/confstr.3:139
 #, no-wrap
 msgid ""
 "char *pathbuf;\n"
@@ -2032,7 +2489,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:144
+#: build/C/man3/confstr.3:145
 #, no-wrap
 msgid ""
 "n = confstr(_CS_PATH, NULL, (size_t) 0);\n"
@@ -2043,8 +2500,10 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/confstr.3:150
-msgid "B<sh>(1), B<exec>(3), B<system>(3)"
+#: build/C/man3/confstr.3:155
+msgid ""
+"B<getconf>(1), B<sh>(1), B<exec>(3), B<fpathconf>(3)  B<sysconf>(3)  "
+"B<pathconf>(3)  B<system>(3)"
 msgstr ""
 
 #. type: TH
@@ -2056,7 +2515,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/crypt.3:36
 #, no-wrap
-msgid "2011-09-15"
+msgid "2014-02-26"
 msgstr ""
 
 #. type: Plain text
@@ -2117,9 +2576,8 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/crypt.3:71
 msgid ""
-"I<salt> is a two-character string chosen from the set "
-"[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  This string is used to perturb the "
-"algorithm in one of 4096 different ways."
+"I<salt> is a two-character string chosen from the set [B<a-zA-Z0-9./>].  "
+"This string is used to perturb the algorithm in one of 4096 different ways."
 msgstr ""
 
 #. type: Plain text
@@ -2178,8 +2636,13 @@ msgid ""
 "is returned."
 msgstr ""
 
+#. type: Plain text
+#: build/C/man3/crypt.3:128
+msgid "I<salt> has the wrong format."
+msgstr ""
+
 #. type: TP
-#: build/C/man3/crypt.3:124 build/C/man3/encrypt.3:120 build/C/man3/fexecve.3:86 build/C/man2/fork.2:200
+#: build/C/man3/crypt.3:130 build/C/man3/encrypt.3:120 build/C/man3/fexecve.3:86 build/C/man2/fork.2:220
 #, no-wrap
 msgid "B<ENOSYS>"
 msgstr ""
@@ -2219,44 +2682,67 @@ msgstr ""
 #.  Making encrypted data computed using crypt() publicly available has
 #.  to be considered insecure for the given reasons.
 #. type: Plain text
-#: build/C/man3/crypt.3:163
+#: build/C/man3/crypt.3:169
 msgid ""
 "The B<crypt>()  function was not implemented, probably because of "
 "U.S.A. export restrictions."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/crypt.3:168
-msgid "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
+#: build/C/man3/crypt.3:174
+msgid ""
+"I</proc/sys/crypto/fips_enabled> has a nonzero value, and an attempt was "
+"made to use a weak encryption type, such as DES."
+msgstr ""
+
+#. type: SH
+#: 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/getdtablesize.3:69 build/C/man3/getlogin.3:140 build/C/man3/getusershell.3:93 build/C/man3/lockf.3:154 build/C/man3/swab.3:72 build/C/man3/tcgetpgrp.3:109 build/C/man3/ualarm.3:92 build/C/man3/usleep.3:91
+#, no-wrap
+msgid "ATTRIBUTES"
 msgstr ""
 
 #. type: SS
-#: build/C/man3/crypt.3:169 build/C/man2/gethostname.2:140
+#: 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/getdtablesize.3:70 build/C/man3/getlogin.3:141 build/C/man3/getusershell.3:94 build/C/man3/lockf.3:155 build/C/man3/swab.3:73 build/C/man3/tcgetpgrp.3:110 build/C/man3/ualarm.3:93 build/C/man3/usleep.3:92
 #, no-wrap
-msgid "Glibc notes"
+msgid "Multithreading (see pthreads(7))"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/crypt.3:179
+msgid "The B<crypt>()  function is not thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/crypt.3:183
+msgid "The B<crypt_r>()  function is thread-safe."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/crypt.3:172
+#: build/C/man3/crypt.3:188
+msgid "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/crypt.3:192
 msgid ""
 "The glibc2 version of this function supports additional encryption "
 "algorithms."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/crypt.3:177
+#: build/C/man3/crypt.3:197
 msgid ""
 "If I<salt> is a character string starting with the characters \"$I<id>$\" "
 "followed by a string terminated by \"$\":"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/crypt.3:180
+#: build/C/man3/crypt.3:200
 msgid "$I<id>$I<salt>$I<encrypted>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/crypt.3:189
+#: build/C/man3/crypt.3:209
 msgid ""
 "then instead of using the DES machine, I<id> identifies the encryption "
 "method used and this then determines how the rest of the password string is "
@@ -2264,31 +2750,31 @@ msgid ""
 msgstr ""
 
 #. type: tbl table
-#: build/C/man3/crypt.3:192
+#: build/C/man3/crypt.3:212
 #, no-wrap
 msgid "ID  | Method\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man3/crypt.3:193
+#: build/C/man3/crypt.3:213 build/C/man2/syscall.2:160 build/C/man2/syscall.2:198
 #, no-wrap
 msgid "_\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man3/crypt.3:194
+#: build/C/man3/crypt.3:214
 #, no-wrap
 msgid "1   | MD5\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man3/crypt.3:195
+#: build/C/man3/crypt.3:215
 #, no-wrap
 msgid "2a  | Blowfish (not in mainline glibc; added in some\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man3/crypt.3:196
+#: build/C/man3/crypt.3:216
 #, no-wrap
 msgid "    | Linux distributions)\n"
 msgstr ""
@@ -2300,26 +2786,26 @@ msgstr ""
 #.  glibc doesn't appear to natively support Sun MD5; I don't know
 #.  if any distros add the support.
 #. type: tbl table
-#: build/C/man3/crypt.3:203
+#: build/C/man3/crypt.3:223
 #, no-wrap
 msgid "5   | SHA-256 (since glibc 2.7)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man3/crypt.3:204
+#: build/C/man3/crypt.3:224
 #, no-wrap
 msgid "6   | SHA-512 (since glibc 2.7)\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/crypt.3:211
+#: build/C/man3/crypt.3:231
 msgid ""
 "So $5$I<salt>$I<encrypted> is an SHA-256 encoded password and "
 "$6$I<salt>$I<encrypted> is an SHA-512 encoded one."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/crypt.3:216
+#: build/C/man3/crypt.3:236
 msgid ""
 "\"I<salt>\" stands for the up to 16 characters following \"$I<id>$\" in the "
 "salt.  The encrypted part of the password string is the actual computed "
@@ -2327,33 +2813,33 @@ msgid ""
 msgstr ""
 
 #. type: tbl table
-#: build/C/man3/crypt.3:218
+#: build/C/man3/crypt.3:238
 #, no-wrap
 msgid "MD5     | 22 characters\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man3/crypt.3:219
+#: build/C/man3/crypt.3:239
 #, no-wrap
 msgid "SHA-256 | 43 characters\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man3/crypt.3:220
+#: build/C/man3/crypt.3:240
 #, no-wrap
 msgid "SHA-512 | 86 characters\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/crypt.3:229
+#: build/C/man3/crypt.3:249
 msgid ""
 "The characters in \"I<salt>\" and \"I<encrypted>\" are drawn from the set "
-"[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  In the MD5 and SHA implementations "
-"the entire I<key> is significant (instead of only the first 8 bytes in DES)."
+"[B<a-zA-Z0-9./>].  In the MD5 and SHA implementations the entire I<key> is "
+"significant (instead of only the first 8 bytes in DES)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/crypt.3:235
+#: build/C/man3/crypt.3:255
 msgid "B<login>(1), B<passwd>(1), B<encrypt>(3), B<getpass>(3), B<passwd>(5)"
 msgstr ""
 
@@ -2366,7 +2852,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/daemon.3:36
 #, no-wrap
-msgid "2009-12-05"
+msgid "2013-10-28"
 msgstr ""
 
 #. type: Plain text
@@ -2400,7 +2886,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/daemon.3:72
+#: build/C/man3/daemon.3:73
 msgid ""
 "If I<noclose> is zero, B<daemon>()  redirects standard input, standard "
 "output and standard error to I</dev/null>; otherwise, no changes are made to "
@@ -2409,7 +2895,7 @@ msgstr ""
 
 #.  not .IR in order not to underline _
 #. type: Plain text
-#: build/C/man3/daemon.3:90
+#: build/C/man3/daemon.3:91
 msgid ""
 "(This function forks, and if the B<fork>(2)  succeeds, the parent calls "
 "B<_exit>(2), so that further errors are seen by the child only.)  On success "
@@ -2420,21 +2906,26 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/daemon.3:96
+msgid "The B<daemon>()  function is thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/daemon.3:102
 msgid ""
 "Not in POSIX.1-2001.  A similar function appears on the BSDs.  The "
 "B<daemon>()  function first appeared in 4.4BSD."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/daemon.3:104
+#: build/C/man3/daemon.3:110
 msgid ""
 "The glibc implementation can also return -1 when I</dev/null> exists but is "
 "not a character device with the expected major and minor numbers.  In this "
-"case I<errno> need not be set."
+"case, I<errno> need not be set."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/daemon.3:107
+#: build/C/man3/daemon.3:113
 msgid "B<fork>(2), B<setsid>(2)"
 msgstr ""
 
@@ -2444,12 +2935,6 @@ msgstr ""
 msgid "DES_CRYPT"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/des_crypt.3:14
-#, no-wrap
-msgid "2007-05-18"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/des_crypt.3:18
 msgid ""
@@ -2584,48 +3069,47 @@ msgid ""
 "only for the first two statuses."
 msgstr ""
 
-#. type: SH
-#: build/C/man3/des_crypt.3:131 build/C/man2/dup.2:165 build/C/man3/euidaccess.3:69 build/C/man3/exec.3:195 build/C/man2/exit_group.2:41 build/C/man3/fexecve.3:91 build/C/man2/get_thread_area.2:42 build/C/man2/gettid.2:54 build/C/man2/idle.2:59 build/C/man2/mincore.2:132 build/C/man2/pread.2:104 build/C/man2/set_thread_area.2:59 build/C/man2/setup.2:60
-#, no-wrap
-msgid "VERSIONS"
+#. type: Plain text
+#: build/C/man3/des_crypt.3:134
+msgid "These functions are present in glibc 2.1 and later."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/des_crypt.3:134
+#: build/C/man3/des_crypt.3:142
 msgid ""
-"These routines are present in libc 4.6.27 and later, and in glibc 2.1 and "
-"later."
+"The B<ecb_crypt>(), B<cbc_crypt>(), and B<des_setparity>()  functions are "
+"thread-safe."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/des_crypt.3:137
+#: build/C/man3/des_crypt.3:145
 msgid "4.3BSD.  Not in POSIX.1-2001."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/des_crypt.3:141
+#: build/C/man3/des_crypt.3:149
 msgid "B<des>(1), B<crypt>(3), B<xcrypt>(3)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/dup.2:36
+#: build/C/man2/dup.2:37
 #, no-wrap
 msgid "DUP"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/dup.2:36
+#: build/C/man2/dup.2:37 build/C/man3/exec.3:41 build/C/man2/execve.2:37 build/C/man2/fcntl.2:65 build/C/man3/fexecve.3:25 build/C/man2/syscall.2:42 build/C/man2/syscalls.2:31 build/C/man2/truncate.2:43 build/C/man2/execveat.2:26
 #, no-wrap
-msgid "2012-02-14"
+msgid "2015-01-22"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:39
+#: build/C/man2/dup.2:40
 msgid "dup, dup2, dup3 - duplicate a file descriptor"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:45
+#: build/C/man2/dup.2:46
 #, no-wrap
 msgid ""
 "B<int dup(int >I<oldfd>B<);>\n"
@@ -2633,7 +3117,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:49
+#: build/C/man2/dup.2:50
 #, no-wrap
 msgid ""
 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
@@ -2643,68 +3127,95 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:51
+#: build/C/man2/dup.2:52
 #, no-wrap
 msgid "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:55
-msgid "These system calls create a copy of the file descriptor I<oldfd>."
+#: build/C/man2/dup.2:59
+msgid ""
+"The B<dup>()  system call creates a copy of the file descriptor I<oldfd>, "
+"using the lowest-numbered unused descriptor for the new descriptor."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:58
-msgid "B<dup>()  uses the lowest-numbered unused descriptor for the new descriptor."
+#: build/C/man2/dup.2:68
+msgid ""
+"After a successful return, the old and new file descriptors may be used "
+"interchangeably.  They refer to the same open file description (see "
+"B<open>(2))  and thus share file offset and file status flags; for example, "
+"if the file offset is modified by using B<lseek>(2)  on one of the "
+"descriptors, the offset is also changed for the other."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:62
+#: build/C/man2/dup.2:77
 msgid ""
-"B<dup2>()  makes I<newfd> be the copy of I<oldfd>, closing I<newfd> first if "
-"necessary, but note the following:"
+"The two descriptors do not share file descriptor flags (the close-on-exec "
+"flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for the "
+"duplicate descriptor is off."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/dup.2:77
+#, no-wrap
+msgid "dup2()"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:68
+#: build/C/man2/dup.2:88
 msgid ""
-"If I<oldfd> is not a valid file descriptor, then the call fails, and "
-"I<newfd> is not closed."
+"The B<dup2>()  system call performs the same task as B<dup>(), but instead "
+"of using the lowest-numbered unused file descriptor, it uses the descriptor "
+"number specified in I<newfd>.  If the descriptor I<newfd> was previously "
+"open, it is silently closed before being reused."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:79
+#: build/C/man2/dup.2:104
 msgid ""
-"If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as "
-"I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>."
+"The steps of closing and reusing the file descriptor I<newfd> are performed "
+"I<atomically>.  This is important, because trying to implement equivalent "
+"functionality using B<close>(2)  and B<dup>()  would be subject to race "
+"conditions, whereby I<newfd> might be reused between the two steps.  Such "
+"reuse could happen because the main program is interrupted by a signal "
+"handler that allocates a file descriptor, or because a parallel thread "
+"allocates a file descriptor."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:88
+#: build/C/man2/dup.2:106
+msgid "Note the following points:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/dup.2:112
 msgid ""
-"After a successful return from one of these system calls, the old and new "
-"file descriptors may be used interchangeably.  They refer to the same open "
-"file description (see B<open>(2))  and thus share file offset and file "
-"status flags; for example, if the file offset is modified by using "
-"B<lseek>(2)  on one of the descriptors, the offset is also changed for the "
-"other."
+"If I<oldfd> is not a valid file descriptor, then the call fails, and "
+"I<newfd> is not closed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:96
+#: build/C/man2/dup.2:124
 msgid ""
-"The two descriptors do not share file descriptor flags (the close-on-exec "
-"flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for the "
-"duplicate descriptor is off."
+"If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as "
+"I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/dup.2:124
+#, no-wrap
+msgid "dup3()"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:101
+#: build/C/man2/dup.2:129
 msgid "B<dup3>()  is the same as B<dup2>(), except that:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:110
+#: build/C/man2/dup.2:138
 msgid ""
 "The caller can force the close-on-exec flag to be set for the new file "
 "descriptor by specifying B<O_CLOEXEC> in I<flags>.  See the description of "
@@ -2713,74 +3224,83 @@ msgstr ""
 
 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
 #. type: Plain text
-#: build/C/man2/dup.2:120
+#: build/C/man2/dup.2:148
 msgid "If I<oldfd> equals I<newfd>, then B<dup3>()  fails with the error B<EINVAL>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:126
+#: build/C/man2/dup.2:154
 msgid ""
 "On success, these system calls return the new descriptor.  On error, -1 is "
 "returned, and I<errno> is set appropriately."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:133
+#: build/C/man2/dup.2:159
+msgid "I<oldfd> isn't an open file descriptor."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/dup.2:166
 msgid ""
-"I<oldfd> isn't an open file descriptor, or I<newfd> is out of the allowed "
-"range for file descriptors."
+"I<newfd> is out of the allowed range for file descriptors (see the "
+"discussion of B<RLIMIT_NOFILE> in B<getrlimit>(2))."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/dup.2:133 build/C/man2/swapon.2:114
+#: build/C/man2/dup.2:166 build/C/man2/fcntl.2:1503 build/C/man2/fcntl.2:1512 build/C/man2/swapon.2:117
 #, no-wrap
 msgid "B<EBUSY>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:143
+#: build/C/man2/dup.2:176
 msgid ""
 "(Linux only) This may be returned by B<dup2>()  or B<dup3>()  during a race "
 "condition with B<open>(2)  and B<dup>()."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:151
+#: build/C/man2/dup.2:184
 msgid ""
 "The B<dup2>()  or B<dup3>()  call was interrupted by a signal; see "
 "B<signal>(7)."
 msgstr ""
 
+#. type: Plain text
+#: build/C/man2/dup.2:189
+msgid "(B<dup3>())  I<flags> contain an invalid value."
+msgstr ""
+
 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
 #. type: Plain text
-#: build/C/man2/dup.2:161
-msgid ""
-"(B<dup3>())  I<flags> contain an invalid value.  Or, I<oldfd> was equal to "
-"I<newfd>."
+#: build/C/man2/dup.2:196
+msgid "(B<dup3>())  I<oldfd> was equal to I<newfd>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/dup.2:161 build/C/man2/execve.2:408 build/C/man2/fcntl.2:1132 build/C/man3/getlogin.3:103
+#: build/C/man2/dup.2:196 build/C/man2/execve.2:422 build/C/man2/fcntl.2:1607 build/C/man3/getlogin.3:105
 #, no-wrap
 msgid "B<EMFILE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:165
+#: build/C/man2/dup.2:203
 msgid ""
 "The process already has the maximum number of file descriptors open and "
-"tried to open a new one."
+"tried to open a new one (see the discussion of B<RLIMIT_NOFILE> in "
+"B<getrlimit>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:170
+#: build/C/man2/dup.2:208
 msgid ""
 "B<dup3>()  was added to Linux in version 2.6.27; glibc support is available "
 "starting with version 2.9."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:174
+#: build/C/man2/dup.2:212
 msgid "B<dup>(), B<dup2>(): SVr4, 4.3BSD, POSIX.1-2001."
 msgstr ""
 
@@ -2788,28 +3308,84 @@ msgstr ""
 #.  EINTR and ENOLINK error conditions.  POSIX.1 adds EINTR.
 #.  The EBUSY return is Linux-specific.
 #. type: Plain text
-#: build/C/man2/dup.2:180
+#: build/C/man2/dup.2:218
 msgid "B<dup3>()  is Linux-specific."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:194
+#: build/C/man2/dup.2:232
 msgid ""
 "The error returned by B<dup2>()  is different from that returned by "
 "B<fcntl(>..., B<F_DUPFD>, ...B<)> when I<newfd> is out of range.  On some "
-"systems B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>."
+"systems, B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:207
+#: build/C/man2/dup.2:248
 msgid ""
 "If I<newfd> was open, any errors that would have been reported at "
-"B<close>(2)  time are lost.  A careful programmer will not use B<dup2>()  or "
-"B<dup3>()  without closing I<newfd> first."
+"B<close>(2)  time are lost.  If this is of concern, then\\(emunless the "
+"program is single-threaded and does not allocate file descriptors in signal "
+"handlers\\(emthe correct approach is I<not> to close I<newfd> before calling "
+"B<dup2>(), because of the race condition described above.  Instead, code "
+"something like the following could be used:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/dup.2:253
+#, no-wrap
+msgid ""
+"    /* Obtain a duplicate of 'newfd' that can subsequently\n"
+"       be used to check for close() errors; an EBADF error\n"
+"       means that 'newfd' was not open. */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/dup.2:258
+#, no-wrap
+msgid ""
+"    tmpfd = dup(newfd);\n"
+"    if (tmpfd == -1 && errno != EBADF) {\n"
+"        /* Handle unexpected dup() error */\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/dup.2:260
+#, no-wrap
+msgid "    /* Atomically duplicate 'oldfd' on 'newfd' */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/dup.2:264
+#, no-wrap
+msgid ""
+"    if (dup2(oldfd, newfd) == -1) {\n"
+"        /* Handle dup2() error */\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/dup.2:267
+#, no-wrap
+msgid ""
+"    /* Now check for close() errors on the file originally\n"
+"       referred to by 'newfd' */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/dup.2:273
+#, no-wrap
+msgid ""
+"    if (tmpfd != -1) {\n"
+"        if (close(tmpfd) == -1) {\n"
+"            /* Handle errors from close */\n"
+"        }\n"
+"    }\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/dup.2:211
+#: build/C/man2/dup.2:278
 msgid "B<close>(2), B<fcntl>(2), B<open>(2)"
 msgstr ""
 
@@ -2822,7 +3398,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/encrypt.3:30
 #, no-wrap
-msgid "2003-04-04"
+msgid "2013-07-22"
 msgstr ""
 
 #. type: Plain text
@@ -2947,28 +3523,38 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/encrypt.3:135
-msgid ""
-"The functions B<encrypt>()  and B<setkey>()  conform to SVr4, SUSv2, and "
-"POSIX.1-2001.  The functions B<encrypt_r>()  and B<setkey_r>()  are GNU "
-"extensions."
+#: build/C/man3/encrypt.3:131
+msgid "The B<encrypt>()  and B<setkey>()  functions are not thread-safe."
 msgstr ""
 
 #. type: Plain text
 #: build/C/man3/encrypt.3:137
-msgid "In glibc 2.2 these functions use the DES algorithm."
+msgid "The B<encrypt_r>()  and B<setkey_r>()  functions are thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/encrypt.3:148
+msgid ""
+"The functions B<encrypt>()  and B<setkey>()  conform to SVr4, SUSv2, and "
+"POSIX.1-2001.  The functions B<encrypt_r>()  and B<setkey_r>()  are GNU "
+"extensions."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/encrypt.3:144
+#: build/C/man3/encrypt.3:150
+msgid "In glibc 2.2, these functions use the DES algorithm."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/encrypt.3:157
 msgid ""
 "You need to link with libcrypt to compile this example with glibc.  To do "
-"useful work the I<key[]> and I<txt[]> arrays must be filled with a useful "
+"useful work, the I<key[]> and I<txt[]> arrays must be filled with a useful "
 "bit pattern."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/encrypt.3:149
+#: build/C/man3/encrypt.3:162
 #, no-wrap
 msgid ""
 "#define _XOPEN_SOURCE\n"
@@ -2977,7 +3563,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/encrypt.3:155
+#: build/C/man3/encrypt.3:168
 #, no-wrap
 msgid ""
 "int\n"
@@ -2988,7 +3574,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/encrypt.3:160
+#: build/C/man3/encrypt.3:173
 #, no-wrap
 msgid ""
 "    setkey(key);\n"
@@ -2999,7 +3585,7 @@ msgstr ""
 
 #.  .BR fcrypt (3)
 #. type: Plain text
-#: build/C/man3/encrypt.3:166
+#: build/C/man3/encrypt.3:179
 msgid "B<cbc_crypt>(3), B<crypt>(3), B<ecb_crypt>(3),"
 msgstr ""
 
@@ -3009,12 +3595,6 @@ msgstr ""
 msgid "ENVIRON"
 msgstr ""
 
-#. type: TH
-#: build/C/man7/environ.7:34
-#, no-wrap
-msgid "2009-07-25"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man7/environ.7:37
 msgid "environ - user environment"
@@ -3027,82 +3607,82 @@ msgid "B<extern char **>I<environ>B<;>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:57
+#: build/C/man7/environ.7:56
 msgid ""
 "The variable I<environ> points to an array of pointers to strings called the "
 "\"environment\".  The last pointer in this array has the value NULL.  (This "
 "variable must be declared in the user program, but is declared in the header "
-"file I<E<lt>unistd.hE<gt>> in case the header files came from libc4 or "
-"libc5, and in case they came from glibc and B<_GNU_SOURCE> was defined.)  "
-"This array of strings is made available to the process by the B<exec>(3)  "
-"call that started the process."
+"file I<E<lt>unistd.hE<gt>> if the B<_GNU_SOURCE> feature test macro is "
+"defined.)  This array of strings is made available to the process by the "
+"B<exec>(3)  call that started the process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:62
+#: build/C/man7/environ.7:61
 msgid ""
 "By convention the strings in I<environ> have the form "
 "\"I<name>B<=>I<value>\".  Common examples are:"
 msgstr ""
 
 #. type: TP
-#: build/C/man7/environ.7:62
+#: build/C/man7/environ.7:61
 #, no-wrap
 msgid "B<USER>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:65
+#: build/C/man7/environ.7:64
 msgid "The name of the logged-in user (used by some BSD-derived programs)."
 msgstr ""
 
 #. type: TP
-#: build/C/man7/environ.7:65
+#: build/C/man7/environ.7:64
 #, no-wrap
 msgid "B<LOGNAME>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:68
+#: build/C/man7/environ.7:67
 msgid "The name of the logged-in user (used by some System-V derived programs)."
 msgstr ""
 
 #. type: TP
-#: build/C/man7/environ.7:68
+#: build/C/man7/environ.7:67
 #, no-wrap
 msgid "B<HOME>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:74
+#: build/C/man7/environ.7:73
 msgid ""
 "A user's login directory, set by B<login>(1)  from the password file "
 "B<passwd>(5)."
 msgstr ""
 
 #. type: TP
-#: build/C/man7/environ.7:74
+#: build/C/man7/environ.7:73
 #, no-wrap
 msgid "B<LANG>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:81
+#: build/C/man7/environ.7:91
 msgid ""
 "The name of a locale to use for locale categories when not overridden by "
-"B<LC_ALL> or more specific environment variables like B<LC_COLLATE>, "
-"B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, B<LC_TIME>, cf.  "
-"B<locale>(5)."
+"B<LC_ALL> or more specific environment variables such as B<LC_COLLATE>, "
+"B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, and B<LC_TIME> "
+"(see B<locale>(7)  for further details of the B<LC_*> environment "
+"variables)."
 msgstr ""
 
 #. type: TP
-#: build/C/man7/environ.7:81
+#: build/C/man7/environ.7:91
 #, no-wrap
 msgid "B<PATH>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:92
+#: build/C/man7/environ.7:106
 msgid ""
 "The sequence of directory prefixes that B<sh>(1)  and many other programs "
 "apply in searching for a file known by an incomplete pathname.  The prefixes "
@@ -3112,51 +3692,51 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man7/environ.7:92
+#: build/C/man7/environ.7:106
 #, no-wrap
 msgid "B<PWD>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:96
+#: build/C/man7/environ.7:110
 msgid "The current working directory.  Set by some shells."
 msgstr ""
 
 #. type: TP
-#: build/C/man7/environ.7:96
+#: build/C/man7/environ.7:110
 #, no-wrap
 msgid "B<SHELL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:99
+#: build/C/man7/environ.7:113
 msgid "The pathname of the user's login shell."
 msgstr ""
 
 #. type: TP
-#: build/C/man7/environ.7:99
+#: build/C/man7/environ.7:113
 #, no-wrap
 msgid "B<TERM>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:102
+#: build/C/man7/environ.7:116
 msgid "The terminal type for which output is to be prepared."
 msgstr ""
 
 #. type: TP
-#: build/C/man7/environ.7:102
+#: build/C/man7/environ.7:116
 #, no-wrap
 msgid "B<PAGER>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:105
+#: build/C/man7/environ.7:119
 msgid "The user's preferred utility to display text files."
 msgstr ""
 
 #. type: TP
-#: build/C/man7/environ.7:105
+#: build/C/man7/environ.7:119
 #, no-wrap
 msgid "B<EDITOR>/B<VISUAL>"
 msgstr ""
@@ -3166,12 +3746,12 @@ msgstr ""
 #.  The user's preferred utility to browse URLs. Sequence of colon-separated
 #.  browser commands. See http://www.catb.org/~esr/BROWSER/ .
 #. type: Plain text
-#: build/C/man7/environ.7:112
+#: build/C/man7/environ.7:126
 msgid "The user's preferred utility to edit text files."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:127
+#: build/C/man7/environ.7:144
 msgid ""
 "Further names may be placed in the environment by the I<export> command and "
 "\"name=value\" in B<sh>(1), or by the I<setenv> command if you use "
@@ -3181,7 +3761,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:131
+#: build/C/man7/environ.7:148
 msgid ""
 "Note that the behavior of many programs and library routines is influenced "
 "by the presence or value of certain environment variables.  A random "
@@ -3189,48 +3769,49 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:137
+#: build/C/man7/environ.7:157
 msgid ""
 "The variables B<LANG>, B<LANGUAGE>, B<NLSPATH>, B<LOCPATH>, B<LC_ALL>, "
-"B<LC_MESSAGES>, etc. influence locale handling, cf.  B<locale>(5)."
+"B<LC_MESSAGES>, and so on influence locale handling; see B<catopen>(3), "
+"B<gettext>(3), and B<locale>(7)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:144
+#: build/C/man7/environ.7:164
 msgid ""
 "B<TMPDIR> influences the path prefix of names created by B<tmpnam>(3)  and "
-"other routines, the temporary directory used by B<sort>(1)  and other "
-"programs, etc."
+"other routines, and the temporary directory used by B<sort>(1)  and other "
+"programs."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:148
+#: build/C/man7/environ.7:168
 msgid ""
 "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> and other LD_* variables influence the "
 "behavior of the dynamic loader/linker."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:152
+#: build/C/man7/environ.7:172
 msgid ""
 "B<POSIXLY_CORRECT> makes certain programs and library routines follow the "
 "prescriptions of POSIX."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:158
+#: build/C/man7/environ.7:178
 msgid "The behavior of B<malloc>(3)  is influenced by B<MALLOC_*> variables."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:164
+#: build/C/man7/environ.7:184
 msgid ""
 "The variable B<HOSTALIASES> gives the name of a file containing aliases to "
 "be used with B<gethostbyname>(3)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:175
+#: build/C/man7/environ.7:195
 msgid ""
 "B<TZ> and B<TZDIR> give timezone information used by B<tzset>(3)  and "
 "through that by functions like B<ctime>(3), B<localtime>(3), B<mktime>(3), "
@@ -3238,33 +3819,33 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:179
+#: build/C/man7/environ.7:199
 msgid ""
 "B<TERMCAP> gives information on how to address a given terminal (or gives "
 "the name of a file containing such information)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:182
+#: build/C/man7/environ.7:202
 msgid ""
 "B<COLUMNS> and B<LINES> tell applications about the window size, possibly "
 "overriding the actual size."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:187
+#: build/C/man7/environ.7:207
 msgid ""
 "B<PRINTER> or B<LPDEST> may specify the desired printer to use.  See "
 "B<lpr>(1)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:189
+#: build/C/man7/environ.7:209
 msgid "Etc."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:194
+#: build/C/man7/environ.7:214
 msgid ""
 "Clearly there is a security risk here.  Many a system command has been "
 "tricked into mischief by a user who specified unusual values for B<IFS> or "
@@ -3272,7 +3853,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:227
+#: build/C/man7/environ.7:247
 msgid ""
 "There is also the risk of name space pollution.  Programs like I<make> and "
 "I<autoconf> allow overriding of default utility names from the environment "
@@ -3286,11 +3867,11 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man7/environ.7:241
+#: build/C/man7/environ.7:264
 msgid ""
-"B<bash>(1), B<csh>(1), B<login>(1), B<sh>(1), B<tcsh>(1), B<execve>(2), "
-"B<clearenv>(3), B<exec>(3), B<getenv>(3), B<putenv>(3), B<setenv>(3), "
-"B<unsetenv>(3), B<locale>(5)"
+"B<env>(1), B<bash>(1), B<csh>(1), B<login>(1), B<printenv>(1), B<sh>(1), "
+"B<tcsh>(1), B<execve>(2), B<clearenv>(3), B<exec>(3), B<getenv>(3), "
+"B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<locale>(7), B<ld.so>(8)"
 msgstr ""
 
 #. type: TH
@@ -3300,9 +3881,9 @@ msgid "EUIDACCESS"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/euidaccess.3:25 build/C/man3/getopt.3:41
+#: build/C/man3/euidaccess.3:25
 #, no-wrap
-msgid "2010-11-01"
+msgid "2013-09-25"
 msgstr ""
 
 #. type: Plain text
@@ -3330,7 +3911,7 @@ msgstr ""
 #: build/C/man3/euidaccess.3:47
 msgid ""
 "Like B<access>(2), B<euidaccess>()  checks permissions and existence of the "
-"file identified by its argument I<pathname>.  However, whereas B<access>(2), "
+"file identified by its argument I<pathname>.  However, whereas B<access>(2)  "
 "performs checks using the real user and group identifiers of the process, "
 "B<euidaccess>()  uses the effective identifiers."
 msgstr ""
@@ -3338,8 +3919,8 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/euidaccess.3:53
 msgid ""
-"I<mode> is a mask consisting of one or more of B<R_OK>, B<W_OK>, B<X_OK> and "
-"B<F_OK>, with the same meanings as for B<access>(2)."
+"I<mode> is a mask consisting of one or more of B<R_OK>, B<W_OK>, B<X_OK>, "
+"and B<F_OK>, with the same meanings as for B<access>(2)."
 msgstr ""
 
 #. type: Plain text
@@ -3350,6 +3931,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
+#: build/C/man3/euidaccess.3:66
+msgid ""
+"On success (all requested permissions granted), zero is returned.  On error "
+"(at least one bit in I<mode> asked for a permission that is denied, or some "
+"other error occurred), -1 is returned, and I<errno> is set appropriately."
+msgstr ""
+
+#. type: Plain text
 #: build/C/man3/euidaccess.3:69
 msgid "As for B<access>(2)."
 msgstr ""
@@ -3359,16 +3948,21 @@ msgstr ""
 msgid "The B<eaccess>()  function was added to glibc in version 2.4."
 msgstr ""
 
+#. type: Plain text
+#: build/C/man3/euidaccess.3:80
+msgid "The B<euidaccess>()  and B<eaccess>()  functions are thread-safe."
+msgstr ""
+
 #.  e.g., FreeBSD 6.1.
 #. type: Plain text
-#: build/C/man3/euidaccess.3:79
+#: build/C/man3/euidaccess.3:86
 msgid ""
 "These functions are nonstandard.  Some other systems have an B<eaccess>()  "
 "function."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/euidaccess.3:86
+#: build/C/man3/euidaccess.3:93
 msgid ""
 "I<Warning>: Using this function to check a process's permissions on a file "
 "before performing some operation based on that information leads to race "
@@ -3378,7 +3972,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/euidaccess.3:94
+#: build/C/man3/euidaccess.3:101
 msgid ""
 "This function always dereferences symbolic links.  If you need to check the "
 "permissions on a symbolic link, use B<faccessat>(2)  with the flags "
@@ -3386,7 +3980,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/euidaccess.3:105
+#: build/C/man3/euidaccess.3:112
 msgid ""
 "B<access>(2), B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), "
 "B<setgid>(2), B<setuid>(2), B<stat>(2), B<credentials>(7), "
@@ -3399,12 +3993,6 @@ msgstr ""
 msgid "EXEC"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/exec.3:41
-#, no-wrap
-msgid "2010-09-25"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/exec.3:44
 msgid "execl, execlp, execle, execv, execvp, execvpe - execute a file"
@@ -3479,14 +4067,14 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/exec.3:107
 msgid ""
-"The I<const char *arg> and subsequent ellipses in the B<execl>(), "
+"The I<const char\\ *arg> and subsequent ellipses in the B<execl>(), "
 "B<execlp>(), and B<execle>()  functions can be thought of as I<arg0>, "
 "I<arg1>, \\&..., I<argn>.  Together they describe a list of one or more "
 "pointers to null-terminated strings that represent the argument list "
 "available to the executed program.  The first argument, by convention, "
 "should point to the filename associated with the file being executed.  The "
-"list of arguments I<must> be terminated by a NULL pointer, and, since these "
-"are variadic functions, this pointer must be cast I<(char *) NULL>."
+"list of arguments I<must> be terminated by a null pointer, and, since these "
+"are variadic functions, this pointer must be cast I<(char\\ *) NULL>."
 msgstr ""
 
 #. type: Plain text
@@ -3496,7 +4084,7 @@ msgid ""
 "pointers to null-terminated strings that represent the argument list "
 "available to the new program.  The first argument, by convention, should "
 "point to the filename associated with the file being executed.  The array of "
-"pointers I<must> be terminated by a NULL pointer."
+"pointers I<must> be terminated by a null pointer."
 msgstr ""
 
 #. type: Plain text
@@ -3505,7 +4093,7 @@ msgid ""
 "The B<execle>()  and B<execvpe>()  functions allow the caller to specify the "
 "environment of the executed program via the argument I<envp>.  The I<envp> "
 "argument is an array of pointers to null-terminated strings and I<must> be "
-"terminated by a NULL pointer.  The other functions take the environment for "
+"terminated by a null pointer.  The other functions take the environment for "
 "the new process image from the external variable I<environ> in the calling "
 "process."
 msgstr ""
@@ -3562,7 +4150,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/exec.3:190
 msgid ""
-"The B<exec>()  functions only return if an error has occurred.  The return "
+"The B<exec>()  functions return only if an error has occurred.  The return "
 "value is -1, and I<errno> is set to indicate the error."
 msgstr ""
 
@@ -3618,10 +4206,10 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/exec.3:248
+#: build/C/man3/exec.3:249
 msgid ""
-"B<sh>(1), B<execve>(2), B<fork>(2), B<ptrace>(2), B<fexecve>(3), "
-"B<environ>(7)"
+"B<sh>(1), B<execve>(2), B<execveat>(2), B<fork>(2), B<ptrace>(2), "
+"B<fexecve>(3), B<environ>(7)"
 msgstr ""
 
 #. type: TH
@@ -3630,12 +4218,6 @@ msgstr ""
 msgid "EXECVE"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/execve.2:37
-#, no-wrap
-msgid "2012-10-27"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man2/execve.2:40
 msgid "execve - execute program"
@@ -3655,7 +4237,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:55 build/C/man2/execve.2:267
+#: build/C/man2/execve.2:55 build/C/man2/execve.2:265
 #, no-wrap
 msgid "B<#!> I<interpreter >[optional-arg]\n"
 msgstr ""
@@ -3672,7 +4254,7 @@ msgid ""
 "convention, the first of these strings should contain the filename "
 "associated with the file being executed.  I<envp> is an array of strings, "
 "conventionally of the form B<key=value>, which are passed as environment to "
-"the new program.  Both I<argv> and I<envp> must be terminated by a NULL "
+"the new program.  Both I<argv> and I<envp> must be terminated by a null "
 "pointer.  The argument vector and environment can be accessed by the called "
 "program's main function, when it is defined as:"
 msgstr ""
@@ -3701,7 +4283,7 @@ msgstr ""
 #: build/C/man2/execve.2:98
 msgid ""
 "If the set-user-ID bit is set on the program file pointed to by I<filename>, "
-"and the underlying file system is not mounted I<nosuid> (the B<MS_NOSUID> "
+"and the underlying filesystem is not mounted I<nosuid> (the B<MS_NOSUID> "
 "flag for B<mount>(2)), and the calling process is not being ptraced, then "
 "the effective user ID of the calling process is changed to that of the owner "
 "of the program file.  Similarly, when the set-group-ID bit of the program "
@@ -3728,86 +4310,85 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:120
+#: build/C/man2/execve.2:118
 msgid ""
 "If the executable is a dynamically linked ELF executable, the interpreter "
 "named in the PT_INTERP segment is used to load the needed shared libraries.  "
 "This interpreter is typically I</lib/ld-linux.so.2> for binaries linked with "
-"glibc 2.  (For binaries linked with the old Linux libc5, the interpreter was "
-"typically I</lib/ld-linux.so.1>.)"
+"glibc."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:124
+#: build/C/man2/execve.2:122
 msgid ""
 "All process attributes are preserved during an B<execve>(), except the "
 "following:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:128
+#: build/C/man2/execve.2:126
 msgid ""
 "The dispositions of any signals that are being caught are reset to the "
 "default (B<signal>(7))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:131
+#: build/C/man2/execve.2:129
 msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:134
+#: build/C/man2/execve.2:132
 msgid "Memory mappings are not preserved (B<mmap>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:137
-msgid "Attached System V shared memory segments are detached (B<shmat>(2))."
+#: build/C/man2/execve.2:135
+msgid "Attached System\\ V shared memory segments are detached (B<shmat>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:140
+#: build/C/man2/execve.2:138
 msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:143
+#: build/C/man2/execve.2:141
 msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:146
+#: build/C/man2/execve.2:144
 msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:149
+#: build/C/man2/execve.2:147
 msgid "POSIX timers are not preserved (B<timer_create>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:152
+#: build/C/man2/execve.2:150
 msgid "Any open directory streams are closed (B<opendir>(3))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:156
+#: build/C/man2/execve.2:154
 msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:160
+#: build/C/man2/execve.2:158
 msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:163
+#: build/C/man2/execve.2:161
 msgid "The floating-point environment is reset to the default (see B<fenv>(3))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:169
+#: build/C/man2/execve.2:167
 msgid ""
 "The process attributes in the preceding list are all specified in "
 "POSIX.1-2001.  The following Linux-specific process attributes are also not "
@@ -3815,19 +4396,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:176
+#: build/C/man2/execve.2:174
 msgid ""
 "The B<prctl>(2)  B<PR_SET_DUMPABLE> flag is set, unless a set-user-ID or "
 "set-group ID program is being executed, in which case it is cleared."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:181
+#: build/C/man2/execve.2:179
 msgid "The B<prctl>(2)  B<PR_SET_KEEPCAPS> flag is cleared."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:188
+#: build/C/man2/execve.2:186
 msgid ""
 "(Since Linux 2.4.36 / 2.6.23)  If a set-user-ID or set-group-ID program is "
 "being executed, then the parent death signal set by B<prctl>(2)  "
@@ -3835,31 +4416,31 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:195
+#: build/C/man2/execve.2:193
 msgid ""
 "The process name, as set by B<prctl>(2)  B<PR_SET_NAME> (and displayed by "
 "I<ps\\ -o comm>), is reset to the name of the new executable file."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:202
+#: build/C/man2/execve.2:200
 msgid ""
 "The B<SECBIT_KEEP_CAPS> I<securebits> flag is cleared.  See "
 "B<capabilities>(7)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:207
+#: build/C/man2/execve.2:205
 msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:209 build/C/man2/fork.2:133
+#: build/C/man2/execve.2:207 build/C/man2/fork.2:138
 msgid "Note the following further points:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:213
+#: build/C/man2/execve.2:211
 msgid ""
 "All threads other than the calling thread are destroyed during an "
 "B<execve>().  Mutexes, condition variables, and other pthreads objects are "
@@ -3867,14 +4448,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:216
+#: build/C/man2/execve.2:214
 msgid ""
 "The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program "
 "start-up."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:224
+#: build/C/man2/execve.2:222
 msgid ""
 "POSIX.1-2001 specifies that the dispositions of any signals that are ignored "
 "or set to the default are left unchanged.  POSIX.1-2001 specifies one "
@@ -3883,14 +4464,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:228
+#: build/C/man2/execve.2:226
 msgid ""
 "Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), "
 "B<aio_write>(3))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:233
+#: build/C/man2/execve.2:231
 msgid "For the handling of capabilities during B<execve>(), see B<capabilities>(7)."
 msgstr ""
 
@@ -3898,7 +4479,7 @@ msgstr ""
 #.  always open after an execve(), and it looks like
 #.  Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
 #. type: Plain text
-#: build/C/man2/execve.2:260
+#: build/C/man2/execve.2:258
 msgid ""
 "By default, file descriptors remain open across an B<execve>().  File "
 "descriptors that are marked close-on-exec are closed; see the description of "
@@ -3915,20 +4496,20 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/execve.2:260
+#: build/C/man2/execve.2:258 build/C/man2/execve.2:528
 #, no-wrap
 msgid "Interpreter scripts"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:263
+#: build/C/man2/execve.2:261
 msgid ""
 "An interpreter script is a text file that has execute permission enabled and "
 "whose first line is of the form:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:281
+#: build/C/man2/execve.2:279
 msgid ""
 "The I<interpreter> must be a valid pathname for an executable which is not "
 "itself a script.  If the I<filename> argument of B<execve>()  specifies an "
@@ -3937,7 +4518,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:285
+#: build/C/man2/execve.2:283
 #, no-wrap
 msgid "I<interpreter> [optional-arg] I<filename> arg...\n"
 msgstr ""
@@ -3946,7 +4527,7 @@ msgstr ""
 #: build/C/man2/execve.2:294
 msgid ""
 "where I<arg...> is the series of words pointed to by the I<argv> argument of "
-"B<execve>()."
+"B<execve>(), starting at I<argv>[1]."
 msgstr ""
 
 #. type: Plain text
@@ -4049,114 +4630,131 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:386
-msgid "The file system is mounted I<noexec>."
+msgid "The filesystem is mounted I<noexec>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/execve.2:386
+#, no-wrap
+msgid "B<EAGAIN> (since Linux 3.1)"
+msgstr ""
+
+#.  commit 72fa59970f8698023045ab0713d66f3f4f96945c
+#. type: Plain text
+#: build/C/man2/execve.2:396
+msgid ""
+"Having changed its real UID using one of the B<set*uid>()  calls, the caller "
+"was\\(emand is now still\\(emabove its B<RLIMIT_NPROC> resource limit (see "
+"B<setrlimit>(2)).  For a more detailed explanation of this error, see NOTES."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:390
-msgid "I<filename> points outside your accessible address space."
+#: build/C/man2/execve.2:404
+msgid ""
+"I<filename> or one of the pointers in the vectors I<argv> or I<envp> points "
+"outside your accessible address space."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:394
+#: build/C/man2/execve.2:408
 msgid ""
 "An ELF executable had more than one PT_INTERP segment (i.e., tried to name "
 "more than one interpreter)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/execve.2:397 build/C/man2/truncate.2:148
+#: build/C/man2/execve.2:411 build/C/man2/truncate.2:149
 #, no-wrap
 msgid "B<EISDIR>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:400
+#: build/C/man2/execve.2:414
 msgid "An ELF interpreter was a directory."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/execve.2:400
+#: build/C/man2/execve.2:414
 #, no-wrap
 msgid "B<ELIBBAD>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:403
+#: build/C/man2/execve.2:417
 msgid "An ELF interpreter was not in a recognized format."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:408
+#: build/C/man2/execve.2:422
 msgid ""
 "Too many symbolic links were encountered in resolving I<filename> or the "
 "name of a script or ELF interpreter."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:411
+#: build/C/man2/execve.2:425
 msgid "The process has the maximum number of files open."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:415
+#: build/C/man2/execve.2:429
 msgid "I<filename> is too long."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/execve.2:415 build/C/man3/getlogin.3:106 build/C/man2/swapon.2:133 build/C/man2/uselib.2:67
+#: build/C/man2/execve.2:429 build/C/man3/getlogin.3:108 build/C/man2/swapon.2:144 build/C/man2/uselib.2:67
 #, no-wrap
 msgid "B<ENFILE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:418 build/C/man2/swapon.2:136 build/C/man2/uselib.2:70
+#: build/C/man2/execve.2:432 build/C/man2/swapon.2:147 build/C/man2/uselib.2:70
 msgid "The system limit on the total number of open files has been reached."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:424
+#: build/C/man2/execve.2:438
 msgid ""
 "The file I<filename> or a script or ELF interpreter does not exist, or a "
 "shared library needed for file or interpreter cannot be found."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/execve.2:424 build/C/man2/uselib.2:70
+#: build/C/man2/execve.2:438 build/C/man2/uselib.2:70
 #, no-wrap
 msgid "B<ENOEXEC>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:429
+#: build/C/man2/execve.2:443
 msgid ""
 "An executable is not in a recognized format, is for the wrong architecture, "
 "or has some other format error that means it cannot be executed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:437
+#: build/C/man2/execve.2:451
 msgid ""
 "A component of the path prefix of I<filename> or a script or ELF interpreter "
 "is not a directory."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:443
+#: build/C/man2/execve.2:457
 msgid ""
-"The file system is mounted I<nosuid>, the user is not the superuser, and the "
+"The filesystem is mounted I<nosuid>, the user is not the superuser, and the "
 "file has the set-user-ID or set-group-ID bit set."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:447
+#: build/C/man2/execve.2:461
 msgid ""
 "The process is being traced, the user is not the superuser and the file has "
 "the set-user-ID or set-group-ID bit set."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:450
+#: build/C/man2/execve.2:464
 msgid "Executable was open for writing by one or more processes."
 msgstr ""
 
@@ -4165,43 +4763,68 @@ msgstr ""
 #.  document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
 #.  EISDIR or ELIBBAD error conditions.
 #. type: Plain text
-#: build/C/man2/execve.2:458
+#: build/C/man2/execve.2:472
 msgid ""
 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 does not document the #! behavior "
 "but is otherwise compatible."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:461
+#: build/C/man2/execve.2:475
 msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d."
 msgstr ""
 
+#.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
+#.  HP-UX 11 is like Linux -- mtk, Apr 2007
+#.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
+#.  Bug rejected (because fix would constitute an ABI change).
 #. type: Plain text
-#: build/C/man2/execve.2:463
-msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/execve.2:474
+#: build/C/man2/execve.2:502
 msgid ""
-"The result of mounting a file system I<nosuid> varies across Linux kernel "
+"The result of mounting a filesystem I<nosuid> varies across Linux kernel "
 "versions: some will refuse execution of set-user-ID and set-group-ID "
 "executables when this would give the user powers she did not have already "
 "(and return B<EPERM>), some will just ignore the set-user-ID and "
-"set-group-ID bits and B<exec>()  successfully."
+"set-group-ID bits and B<exec>()  successfully.  On Linux, I<argv> and "
+"I<envp> can be specified as NULL.  In both cases, this has the same effect "
+"as specifying the argument as a pointer to a list containing a single null "
+"pointer.  B<Do not take advantage of this misfeature!> It is nonstandard and "
+"nonportable: on most other UNIX systems doing this will result in an error "
+"(B<EFAULT>)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execve.2:513
+msgid ""
+"POSIX.1-2001 says that values returned by B<sysconf>(3)  should be invariant "
+"over the lifetime of a process.  However, since Linux 2.6.23, if the "
+"B<RLIMIT_STACK> resource limit changes, then the value reported by "
+"B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
+"for holding command-line arguments and environment variables has changed."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execve.2:528
+msgid ""
+"In most cases where B<execve>()  fails, control returns to the original "
+"executable image, and the caller of B<execve>()  can then handle the error.  "
+"However, in (rare) cases (typically caused by resource exhaustion), failure "
+"may occur past the point of no return: the original executable image has "
+"been torn down, but the new image could not be completely built.  In such "
+"cases, the kernel kills the process with a B<SIGKILL> signal."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:477
+#: build/C/man2/execve.2:531
 msgid ""
-"A maximum line length of 127 characters is allowed for the first line in a "
-"#! executable shell script."
+"A maximum line length of 127 characters is allowed for the first line in an "
+"interpreter scripts."
 msgstr ""
 
 #.  e.g., Solaris 8
 #.  e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
 #. type: Plain text
-#: build/C/man2/execve.2:496
+#: build/C/man2/execve.2:550
 msgid ""
 "The semantics of the I<optional-arg> argument of an interpreter script vary "
 "across implementations.  On Linux, the entire string following the "
@@ -4213,20 +4836,6 @@ msgid ""
 "arguments."
 msgstr ""
 
-#.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
-#.  HP-UX 11 is like Linux -- mtk, Apr 2007
-#.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
-#.  Bug rejected (because fix would constitute an ABI change).
-#. type: Plain text
-#: build/C/man2/execve.2:511
-msgid ""
-"On Linux, I<argv> can be specified as NULL, which has the same effect as "
-"specifying this argument as a pointer to a list containing a single NULL "
-"pointer.  B<Do not take advantage of this misfeature!> It is nonstandard and "
-"nonportable: on most other UNIX systems doing this will result in an error "
-"(B<EFAULT>)."
-msgstr ""
-
 #
 #.  .SH BUGS
 #.  Some Linux versions have failed to check permissions on ELF
@@ -4237,45 +4846,103 @@ msgstr ""
 #.  that could be exploited for denial of service by a suitably crafted
 #.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
 #. type: Plain text
-#: build/C/man2/execve.2:531
+#: build/C/man2/execve.2:561
+msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/execve.2:561
+#, no-wrap
+msgid "execve() and EAGAIN"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execve.2:567
 msgid ""
-"POSIX.1-2001 says that values returned by B<sysconf>(3)  should be invariant "
-"over the lifetime of a process.  However, since Linux 2.6.23, if the "
-"B<RLIMIT_STACK> resource limit changes, then the value reported by "
-"B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
-"for holding command-line arguments and environment variables has changed."
+"A more detailed explanation of the B<EAGAIN> error that can occur (since "
+"Linux 3.1) when calling B<execve>()  is as follows."
+msgstr ""
+
+#.  commit 909cc4ae86f3380152a18e2a3c44523893ee11c4
+#. type: Plain text
+#: build/C/man2/execve.2:589
+msgid ""
+"The B<EAGAIN> error can occur when a I<preceding> call to B<setuid>(2), "
+"B<setreuid>(2), or B<setresuid>(2)  caused the real user ID of the process "
+"to change, and that change caused the process to exceed its B<RLIMIT_NPROC> "
+"resource limit (i.e., the number of processes belonging to the new real UID "
+"exceeds the resource limit).  From Linux 2.6.0 to 3.0, this caused the "
+"B<set*uid>()  call to fail.  (Prior to 2.6, the resource limit was not "
+"imposed on processes that changed their user IDs.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execve.2:620
+msgid ""
+"Since Linux 3.1, the scenario just described no longer causes the "
+"B<set*uid>()  call to fail, because it too often led to security holes where "
+"buggy applications didn't check the return status and assumed that\\(emif "
+"the caller had root privileges\\(emthe call would always succeed.  Instead, "
+"the B<set*uid>()  calls now successfully change the real UID, but the kernel "
+"sets an internal flag, named B<PF_NPROC_EXCEEDED>, to note that the "
+"B<RLIMIT_NPROC> resource limit has been exceeded.  If the "
+"B<PF_NPROC_EXCEEDED> flag is set and the resource limit is still exceeded at "
+"the time of a subsequent B<execve>()  call, that call fails with the error "
+"B<EAGAIN>.  This kernel logic ensures that the B<RLIMIT_NPROC> resource "
+"limit is still enforced for the common privileged daemon "
+"workflow\\(emnamely, B<fork>(2)  + B<set*uid>()  + B<execve>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execve.2:636
+msgid ""
+"If the resource limit was not still exceeded at the time of the B<execve>()  "
+"call (because other processes belonging to this real UID terminated between "
+"the B<set*uid>()  call and the B<execve>()  call), then the B<execve>()  "
+"call succeeds and the kernel clears the B<PF_NPROC_EXCEEDED> process flag.  "
+"The flag is also cleared if a subsequent call to B<fork>(2)  by this process "
+"succeeds."
 msgstr ""
 
 #. type: SS
-#: build/C/man2/execve.2:531
+#: build/C/man2/execve.2:636
 #, no-wrap
 msgid "Historical"
 msgstr ""
 
+#
+#.  .SH BUGS
+#.  Some Linux versions have failed to check permissions on ELF
+#.  interpreters.  This is a security hole, because it allows users to
+#.  open any file, such as a rewinding tape device, for reading.  Some
+#.  Linux versions have also had other security holes in
+#.  .BR execve ()
+#.  that could be exploited for denial of service by a suitably crafted
+#.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
 #. type: Plain text
-#: build/C/man2/execve.2:542
+#: build/C/man2/execve.2:656
 msgid ""
-"With UNIX V6 the argument list of an B<exec>()  call was ended by 0, while "
-"the argument list of I<main> was ended by -1.  Thus, this argument list was "
-"not directly usable in a further B<exec>()  call.  Since UNIX V7 both are "
-"NULL."
+"With UNIX\\ V6, the argument list of an B<exec>()  call was ended by 0, "
+"while the argument list of I<main> was ended by -1.  Thus, this argument "
+"list was not directly usable in a further B<exec>()  call.  Since UNIX\\ V7, "
+"both are NULL."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:545
+#: build/C/man2/execve.2:659
 msgid ""
 "The following program is designed to be execed by the second program below.  "
-"It just echoes its command-line one per line."
+"It just echoes its command-line arguments, one per line."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:549
+#: build/C/man2/execve.2:663
 #, no-wrap
 msgid "/* myecho.c */\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:552
+#: build/C/man2/execve.2:666
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
@@ -4283,7 +4950,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:557
+#: build/C/man2/execve.2:671
 #, no-wrap
 msgid ""
 "int\n"
@@ -4293,7 +4960,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:560
+#: build/C/man2/execve.2:674
 #, no-wrap
 msgid ""
 "    for (j = 0; j E<lt> argc; j++)\n"
@@ -4301,20 +4968,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:568
+#: build/C/man2/execve.2:682
 msgid ""
 "This program can be used to exec the program named in its command-line "
 "argument:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:572
+#: build/C/man2/execve.2:686
 #, no-wrap
 msgid "/* execve.c */\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:576
+#: build/C/man2/execve.2:690
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
@@ -4323,7 +4990,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:582
+#: build/C/man2/execve.2:696
 #, no-wrap
 msgid ""
 "int\n"
@@ -4334,38 +5001,39 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:587
+#: build/C/man2/execve.2:701
 #, no-wrap
 msgid ""
 "    if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+"        fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", "
+"argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:589
+#: build/C/man2/execve.2:703
 #, no-wrap
 msgid "    newargv[0] = argv[1];\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:594
+#: build/C/man2/execve.2:708
 #, no-wrap
 msgid ""
 "    execve(argv[1], newargv, newenviron);\n"
-"    perror(\"execve\");   /* execve() only returns on error */\n"
+"    perror(\"execve\");   /* execve() returns only on error */\n"
 "    exit(EXIT_FAILURE);\n"
 "}\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:598
+#: build/C/man2/execve.2:712
 msgid "We can use the second program to exec the first as follows:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:607
+#: build/C/man2/execve.2:721
 #, no-wrap
 msgid ""
 "$B< cc myecho.c -o myecho>\n"
@@ -4377,7 +5045,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:615
+#: build/C/man2/execve.2:729
 msgid ""
 "We can also use these programs to demonstrate the use of a script "
 "interpreter.  To do this we create a script whose \"interpreter\" is our "
@@ -4385,38 +5053,38 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:622
+#: build/C/man2/execve.2:736
 #, no-wrap
 msgid ""
-"$B< cat E<gt> script.sh>\n"
-"B<#! ./myecho script-arg>\n"
+"$B< cat E<gt> script>\n"
+"B<#!./myecho script-arg>\n"
 "B<^D>\n"
-"$B< chmod +x script.sh>\n"
+"$B< chmod +x script>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:626
+#: build/C/man2/execve.2:740
 msgid "We can then use our program to exec the script:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:635
+#: build/C/man2/execve.2:749
 #, no-wrap
 msgid ""
-"$B< ./execve ./script.sh>\n"
+"$B< ./execve ./script>\n"
 "argv[0]: ./myecho\n"
 "argv[1]: script-arg\n"
-"argv[2]: ./script.sh\n"
+"argv[2]: ./script\n"
 "argv[3]: hello\n"
 "argv[4]: world\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/execve.2:648
+#: build/C/man2/execve.2:763
 msgid ""
-"B<chmod>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), B<fexecve>(3), "
-"B<getopt>(3), B<credentials>(7), B<environ>(7), B<path_resolution>(7), "
-"B<ld.so>(8)"
+"B<chmod>(2), B<execveat>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), "
+"B<fexecve>(3), B<getopt>(3), B<credentials>(7), B<environ>(7), "
+"B<path_resolution>(7), B<ld.so>(8)"
 msgstr ""
 
 #. type: TH
@@ -4484,24 +5152,18 @@ msgid "B<exit>(2)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/fcntl.2:61
+#: build/C/man2/fcntl.2:65
 #, no-wrap
 msgid "FCNTL"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/fcntl.2:61
-#, no-wrap
-msgid "2012-04-15"
-msgstr ""
-
 #. type: Plain text
-#: build/C/man2/fcntl.2:64
+#: build/C/man2/fcntl.2:68
 msgid "fcntl - manipulate file descriptor"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:68
+#: build/C/man2/fcntl.2:72
 #, no-wrap
 msgid ""
 "B<#include E<lt>unistd.hE<gt>>\n"
@@ -4509,20 +5171,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:70
+#: build/C/man2/fcntl.2:74
 #, no-wrap
 msgid "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:77
+#: build/C/man2/fcntl.2:81
 msgid ""
 "B<fcntl>()  performs one of the operations described below on the open file "
 "descriptor I<fd>.  The operation is determined by I<cmd>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:91
+#: build/C/man2/fcntl.2:95
 msgid ""
 "B<fcntl>()  can take an optional third argument.  Whether or not this "
 "argument is required is determined by I<cmd>.  The required argument type is "
@@ -4531,20 +5193,30 @@ msgid ""
 "I<void> is specified if the argument is not required."
 msgstr ""
 
+#. type: Plain text
+#: build/C/man2/fcntl.2:106
+msgid ""
+"Certain of the operations below are supported only since a particular Linux "
+"kernel version.  The preferred method of checking whether the host kernel "
+"supports a particular operation is to invoke B<fcntl>()  with the desired "
+"I<cmd> value and then test whether the call failed with B<EINVAL>, "
+"indicating that the kernel does not recognize this value."
+msgstr ""
+
 #. type: SS
-#: build/C/man2/fcntl.2:91
+#: build/C/man2/fcntl.2:106
 #, no-wrap
 msgid "Duplicating a file descriptor"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:92
+#: build/C/man2/fcntl.2:107
 #, no-wrap
 msgid "B<F_DUPFD> (I<int>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:102
+#: build/C/man2/fcntl.2:117
 msgid ""
 "Find the lowest numbered available file descriptor greater than or equal to "
 "I<arg> and make it be a copy of I<fd>.  This is different from B<dup2>(2), "
@@ -4552,23 +5224,23 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:104
+#: build/C/man2/fcntl.2:119
 msgid "On success, the new descriptor is returned."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:108
+#: build/C/man2/fcntl.2:123
 msgid "See B<dup>(2)  for further details."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:108
+#: build/C/man2/fcntl.2:123
 #, no-wrap
 msgid "B<F_DUPFD_CLOEXEC> (I<int>; since Linux 2.6.24)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:125
+#: build/C/man2/fcntl.2:140
 msgid ""
 "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the "
 "duplicate descriptor.  Specifying this flag permits a program to avoid an "
@@ -4578,13 +5250,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/fcntl.2:125
+#: build/C/man2/fcntl.2:140
 #, no-wrap
 msgid "File descriptor flags"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:136
+#: build/C/man2/fcntl.2:151
 msgid ""
 "The following commands manipulate the flags associated with a file "
 "descriptor.  Currently, only one such flag is defined: B<FD_CLOEXEC>, the "
@@ -4593,29 +5265,40 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:136
+#: build/C/man2/fcntl.2:151
 #, no-wrap
 msgid "B<F_GETFD> (I<void>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:141
+#: build/C/man2/fcntl.2:156
 msgid "Read the file descriptor flags; I<arg> is ignored."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:141
+#: build/C/man2/fcntl.2:156
 #, no-wrap
 msgid "B<F_SETFD> (I<int>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:145
+#: build/C/man2/fcntl.2:160
 msgid "Set the file descriptor flags to the value specified by I<arg>."
 msgstr ""
 
+#. type: Plain text
+#: build/C/man2/fcntl.2:175
+msgid ""
+"In multithreaded programs, using B<fcntl>()  B<F_SETFD> to set the "
+"close-on-exec flag at the same time as another thread performs a B<fork>(2)  "
+"plus B<execve>(2)  is vulnerable to a race condition that may "
+"unintentionally leak the file descriptor to the program executed in the "
+"child process.  See the discussion of the B<O_CLOEXEC> flag in B<open>(2)  "
+"for details and a remedy to the problem."
+msgstr ""
+
 #. type: SS
-#: build/C/man2/fcntl.2:145
+#: build/C/man2/fcntl.2:175
 #, no-wrap
 msgid "File status flags"
 msgstr ""
@@ -4623,7 +5306,7 @@ msgstr ""
 #.  or
 #.  .BR creat (2),
 #. type: Plain text
-#: build/C/man2/fcntl.2:160
+#: build/C/man2/fcntl.2:190
 msgid ""
 "Each open file description has certain associated status flags, initialized "
 "by B<open>(2)  and possibly modified by B<fcntl>().  Duplicated file "
@@ -4633,57 +5316,64 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:163
+#: build/C/man2/fcntl.2:193
 msgid "The file status flags and their semantics are described in B<open>(2)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:163
+#: build/C/man2/fcntl.2:193
 #, no-wrap
 msgid "B<F_GETFL> (I<void>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:168
+#: build/C/man2/fcntl.2:198
 msgid "Get the file access mode and the file status flags; I<arg> is ignored."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:168
+#: build/C/man2/fcntl.2:198
 #, no-wrap
 msgid "B<F_SETFL> (I<int>)"
 msgstr ""
 
-#.  FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
-#.  via fcntl(2), but currently Linux does not permit this
-#.  See http://bugzilla.kernel.org/show_bug.cgi?id=5994
 #. type: Plain text
-#: build/C/man2/fcntl.2:191
+#: build/C/man2/fcntl.2:223
 msgid ""
 "Set the file status flags to the value specified by I<arg>.  File access "
 "mode (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>)  and file creation flags (i.e., "
 "B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>)  in I<arg> are ignored.  On "
 "Linux this command can change only the B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, "
-"B<O_NOATIME>, and B<O_NONBLOCK> flags."
+"B<O_NOATIME>, and B<O_NONBLOCK> flags.  It is not possible to change the "
+"B<O_DSYNC> and B<O_SYNC> flags; see BUGS, below."
 msgstr ""
 
 #. type: SS
-#: build/C/man2/fcntl.2:191
+#: build/C/man2/fcntl.2:223
 #, no-wrap
-msgid "Advisory locking"
+msgid "Advisory record locking"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:199
+#: build/C/man2/fcntl.2:228
 msgid ""
-"B<F_GETLK>, B<F_SETLK> and B<F_SETLKW> are used to acquire, release, and "
-"test for the existence of record locks (also known as file-segment or "
-"file-region locks).  The third argument, I<lock>, is a pointer to a "
-"structure that has at least the following fields (in unspecified order)."
+"Linux implements traditional (\"process-associated\") UNIX record locks, as "
+"standardized by POSIX.  For a Linux-specific alternative with better "
+"semantics, see the discussion of open file description locks below."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:214
+#: build/C/man2/fcntl.2:239
+msgid ""
+"B<F_SETLK>, B<F_SETLKW>, and B<F_GETLK> are used to acquire, release, and "
+"test for the existence of record locks (also known as byte-range, "
+"file-segment, or file-region locks).  The third argument, I<lock>, is a "
+"pointer to a structure that has at least the following fields (in "
+"unspecified order)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:254
 #, no-wrap
 msgid ""
 "struct flock {\n"
@@ -4695,13 +5385,13 @@ msgid ""
 "    off_t l_start;   /* Starting offset for lock */\n"
 "    off_t l_len;     /* Number of bytes to lock */\n"
 "    pid_t l_pid;     /* PID of process blocking our lock\n"
-"                        (F_GETLK only) */\n"
+"                        (set by F_GETLK and F_OFD_GETLK) */\n"
 "    ...\n"
 "};\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:222
+#: build/C/man2/fcntl.2:262
 msgid ""
 "The I<l_whence>, I<l_start>, and I<l_len> fields of this structure specify "
 "the range of bytes we wish to lock.  Bytes past the end of the file may be "
@@ -4709,7 +5399,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:242
+#: build/C/man2/fcntl.2:282
 msgid ""
 "I<l_start> is the starting offset for the lock, and is interpreted relative "
 "to either: the start of the file (if I<l_whence> is B<SEEK_SET>); the "
@@ -4720,18 +5410,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:257
+#: build/C/man2/fcntl.2:297
 msgid ""
 "I<l_len> specifies the number of bytes to be locked.  If I<l_len> is "
 "positive, then the range to be locked covers bytes I<l_start> up to and "
-"including I<l_start>+I<l_len>-I<1>.  Specifying 0 for I<l_len> has the "
-"special meaning: lock all bytes starting at the location specified by "
-"I<l_whence> and I<l_start> through to the end of file, no matter how large "
-"the file grows."
+"including I<l_start>+I<l_len>-1.  Specifying 0 for I<l_len> has the special "
+"meaning: lock all bytes starting at the location specified by I<l_whence> "
+"and I<l_start> through to the end of file, no matter how large the file "
+"grows."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:270
+#: build/C/man2/fcntl.2:310
 msgid ""
 "POSIX.1-2001 allows (but does not require)  an implementation to support a "
 "negative I<l_len> value; if I<l_len> is negative, the interval described by "
@@ -4740,7 +5430,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:289
+#: build/C/man2/fcntl.2:329
 msgid ""
 "The I<l_type> field can be used to place a read (B<F_RDLCK>)  or a write "
 "(B<F_WRLCK>)  lock on a file.  Any number of processes may hold a read lock "
@@ -4755,29 +5445,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:289
+#: build/C/man2/fcntl.2:329
 #, no-wrap
 msgid "B<F_SETLK> (I<struct flock *>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:312
+#: build/C/man2/fcntl.2:354
 msgid ""
 "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
 "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
 "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a conflicting "
 "lock is held by another process, this call returns -1 and sets I<errno> to "
-"B<EACCES> or B<EAGAIN>."
+"B<EACCES> or B<EAGAIN>.  (The error returned in this case differs across "
+"implementations, so POSIX requires a portable application to check for both "
+"errors.)"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:312
+#: build/C/man2/fcntl.2:354
 #, no-wrap
 msgid "B<F_SETLKW> (I<struct flock *>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:326
+#: build/C/man2/fcntl.2:368
 msgid ""
 "As for B<F_SETLK>, but if a conflicting lock is held on the file, then wait "
 "for that lock to be released.  If a signal is caught while waiting, then the "
@@ -4787,211 +5479,402 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:326
+#: build/C/man2/fcntl.2:368
 #, no-wrap
 msgid "B<F_GETLK> (I<struct flock *>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:350
+#: build/C/man2/fcntl.2:382
 msgid ""
 "On input to this call, I<lock> describes a lock we would like to place on "
 "the file.  If the lock could be placed, B<fcntl>()  does not actually place "
 "it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the "
-"other fields of the structure unchanged.  If one or more incompatible locks "
-"would prevent this lock being placed, then B<fcntl>()  returns details about "
-"one of these locks in the I<l_type>, I<l_whence>, I<l_start>, and I<l_len> "
-"fields of I<lock> and sets I<l_pid> to be the PID of the process holding "
-"that lock."
+"other fields of the structure unchanged."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:399
+msgid ""
+"If one or more incompatible locks would prevent this lock being placed, then "
+"B<fcntl>()  returns details about one of those locks in the I<l_type>, "
+"I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If the conflicting "
+"lock is a traditional (process-associated) record lock, then the I<l_pid> "
+"field is set to the PID of the process holding that lock.  If the "
+"conflicting lock is an open file description lock, then I<l_pid> is set to "
+"-1.  Note that the returned information may already be out of date by the "
+"time the caller inspects it."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:358
+#: build/C/man2/fcntl.2:407
 msgid ""
 "In order to place a read lock, I<fd> must be open for reading.  In order to "
 "place a write lock, I<fd> must be open for writing.  To place both types of "
 "lock, open a file read-write."
 msgstr ""
 
-#.  (Additional file descriptors referring to the same file
-#.  may have been obtained by calls to
-#.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
 #. type: Plain text
-#: build/C/man2/fcntl.2:375
+#: build/C/man2/fcntl.2:430
+msgid ""
+"When placing locks with B<F_SETLKW>, the kernel detects I<deadlocks>, "
+"whereby two or more processes have their lock requests mutually blocked by "
+"locks held by the other processes.  For example, suppose process A holds a "
+"write lock on byte 100 of a file, and process B holds a write lock on byte "
+"200.  If each process then attempts to lock the byte already locked by the "
+"other process using B<F_SETLKW>, then, without deadlock detection, both "
+"processes would remain blocked indefinitely.  When the kernel detects such "
+"deadlocks, it causes one of the blocking lock requests to immediately fail "
+"with the error B<EDEADLK>; an application that encounters such an error "
+"should release some of its locks to allow other applications to proceed "
+"before attempting regain the locks that it requires.  Circular deadlocks "
+"involving more than two processes are also detected.  Note, however, that "
+"there are limitations to the kernel's deadlock-detection algorithm; see "
+"BUGS."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:434
 msgid ""
 "As well as being removed by an explicit B<F_UNLCK>, record locks are "
-"automatically released when the process terminates or if it closes I<any> "
-"file descriptor referring to a file on which locks are held.  This is bad: "
-"it means that a process can lose the locks on a file like I</etc/passwd> or "
-"I</etc/mtab> when for some reason a library function decides to open, read "
-"and close it."
+"automatically released when the process terminates."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:380
+#: build/C/man2/fcntl.2:439
 msgid ""
 "Record locks are not inherited by a child created via B<fork>(2), but are "
 "preserved across an B<execve>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:389
+#: build/C/man2/fcntl.2:448
 msgid ""
 "Because of the buffering performed by the B<stdio>(3)  library, the use of "
 "record locking with routines in that package should be avoided; use "
 "B<read>(2)  and B<write>(2)  instead."
 msgstr ""
 
+#. type: Plain text
+#: build/C/man2/fcntl.2:452
+msgid ""
+"The record locks described above are associated with the process (unlike the "
+"open file description locks described below).  This has some unfortunate "
+"consequences:"
+msgstr ""
+
+#.  (Additional file descriptors referring to the same file
+#.  may have been obtained by calls to
+#.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
+#. type: Plain text
+#: build/C/man2/fcntl.2:468
+msgid ""
+"If a process closes I<any> file descriptor referring to a file, then all of "
+"the process's locks on that file are released, regardless of the file "
+"descriptor(s) on which the locks were obtained.  This is bad: it means that "
+"a process can lose its locks on a file such as I</etc/passwd> or "
+"I</etc/mtab> when for some reason a library function decides to open, read, "
+"and close the same file."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:473
+msgid ""
+"The threads in a process share locks.  In other words, a multithreaded "
+"program can't use record locking to ensure that threads don't simultaneously "
+"access the same region of a file."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:475
+msgid "Open file description locks solve both of these problems."
+msgstr ""
+
 #. type: SS
-#: build/C/man2/fcntl.2:389
+#: build/C/man2/fcntl.2:475
 #, no-wrap
-msgid "Mandatory locking"
+msgid "Open file description locks (non-POSIX)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:393
+#: build/C/man2/fcntl.2:482
 msgid ""
-"(Non-POSIX.)  The above record locks may be either advisory or mandatory, "
-"and are advisory by default."
+"Open file description locks are advisory byte-range locks whose operation is "
+"in most respects identical to the traditional record locks described above.  "
+"This lock type is Linux-specific, and available since Linux 3.15.  For an "
+"explanation of open file descriptions, see B<open>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:396
+#: build/C/man2/fcntl.2:500
 msgid ""
-"Advisory locks are not enforced and are useful only between cooperating "
-"processes."
+"The principal difference between the two lock types is that whereas "
+"traditional record locks are associated with a process, open file "
+"description locks are associated with the open file description on which "
+"they are acquired, much like locks acquired with B<flock>(2).  Consequently "
+"(and unlike traditional advisory record locks), open file description locks "
+"are inherited across B<fork>(2)  (and B<clone>(2)  with B<CLONE_FILES>), and "
+"are only automatically released on the last close of the open file "
+"description, instead of being released on any close of the file."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:415
+#: build/C/man2/fcntl.2:503
 msgid ""
-"Mandatory locks are enforced for all processes.  If a process tries to "
-"perform an incompatible access (e.g., B<read>(2)  or B<write>(2))  on a file "
-"region that has an incompatible mandatory lock, then the result depends upon "
-"whether the B<O_NONBLOCK> flag is enabled for its open file description.  If "
-"the B<O_NONBLOCK> flag is not enabled, then system call is blocked until the "
-"lock is removed or converted to a mode that is compatible with the access.  "
-"If the B<O_NONBLOCK> flag is enabled, then the system call fails with the "
-"error B<EAGAIN>."
+"Open file description locks always conflict with traditional record locks, "
+"even when they are acquired by the same process on the same file descriptor."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:432
+#: build/C/man2/fcntl.2:516
 msgid ""
-"To make use of mandatory locks, mandatory locking must be enabled both on "
-"the file system that contains the file to be locked, and on the file "
-"itself.  Mandatory locking is enabled on a file system using the \"-o mand\" "
-"option to B<mount>(8), or the B<MS_MANDLOCK> flag for B<mount>(2).  "
-"Mandatory locking is enabled on a file by disabling group execute permission "
-"on the file and enabling the set-group-ID permission bit (see B<chmod>(1)  "
-"and B<chmod>(2))."
+"Open file description locks placed via the same open file description (i.e., "
+"via the same file descriptor, or via a duplicate of the file descriptor "
+"created by B<fork>(2), B<dup>(2), B<fcntl>(2)  B<F_DUPFD>, and so on) are "
+"always compatible: if a new lock is placed on an already locked region, then "
+"the existing lock is converted to the new lock type.  (Such conversions may "
+"result in splitting, shrinking, or coalescing with an existing lock as "
+"discussed above.)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:435
+#: build/C/man2/fcntl.2:524
 msgid ""
-"The Linux implementation of mandatory locking is unreliable.  See BUGS "
-"below."
+"On the other hand, open file description locks may conflict with each other "
+"when they are acquired via different open file descriptions.  Thus, the "
+"threads in a multithreaded program can use open file description locks to "
+"synchronize access to a file region by having each thread perform its own "
+"B<open>(2)  on the file and applying locks via the resulting file "
+"descriptor."
 msgstr ""
 
-#. type: SS
-#: build/C/man2/fcntl.2:435
+#. type: Plain text
+#: build/C/man2/fcntl.2:535
+msgid ""
+"As with traditional advisory locks, the third argument to B<fcntl>(), "
+"I<lock>, is a pointer to an I<flock> structure.  By contrast with "
+"traditional record locks, the I<l_pid> field of that structure must be set "
+"to zero when using the commands described below."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:538
+msgid ""
+"The commands for working with open file description locks are analogous to "
+"those used with traditional locks:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/fcntl.2:538
 #, no-wrap
-msgid "Managing signals"
+msgid "B<F_OFD_SETLK> (I<struct flock *>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:444
+#: build/C/man2/fcntl.2:559
 msgid ""
-"B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG> and "
-"B<F_SETSIG> are used to manage I/O availability signals:"
+"Acquire an open file description lock (when I<l_type> is B<F_RDLCK> or "
+"B<F_WRLCK>)  or release an open file description lock (when I<l_type> is "
+"B<F_UNLCK>)  on the bytes specified by the I<l_whence>, I<l_start>, and "
+"I<l_len> fields of I<lock>.  If a conflicting lock is held by another "
+"process, this call returns -1 and sets I<errno> to B<EAGAIN>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:444
+#: build/C/man2/fcntl.2:559
 #, no-wrap
-msgid "B<F_GETOWN> (I<void>)"
+msgid "B<F_OFD_SETLKW> (I<struct flock *>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:457
+#: build/C/man2/fcntl.2:573
 msgid ""
-"Return (as the function result)  the process ID or process group currently "
-"receiving B<SIGIO> and B<SIGURG> signals for events on file descriptor "
-"I<fd>.  Process IDs are returned as positive values; process group IDs are "
-"returned as negative values (but see BUGS below).  I<arg> is ignored."
+"As for B<F_OFD_SETLK>, but if a conflicting lock is held on the file, then "
+"wait for that lock to be released.  If a signal is caught while waiting, "
+"then the call is interrupted and (after the signal handler has returned) "
+"returns immediately (with return value -1 and I<errno> set to B<EINTR>; see "
+"B<signal>(7))."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:457
+#: build/C/man2/fcntl.2:573
 #, no-wrap
-msgid "B<F_SETOWN> (I<int>)"
+msgid "B<F_OFD_GETLK> (I<struct flock *>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:474
+#: build/C/man2/fcntl.2:592
 msgid ""
-"Set the process ID or process group ID that will receive B<SIGIO> and "
-"B<SIGURG> signals for events on file descriptor I<fd> to the ID given in "
-"I<arg>.  A process ID is specified as a positive value; a process group ID "
-"is specified as a negative value.  Most commonly, the calling process "
-"specifies itself as the owner (that is, I<arg> is specified as "
-"B<getpid>(2))."
+"On input to this call, I<lock> describes an open file description lock we "
+"would like to place on the file.  If the lock could be placed, B<fcntl>()  "
+"does not actually place it, but returns B<F_UNLCK> in the I<l_type> field of "
+"I<lock> and leaves the other fields of the structure unchanged.  If one or "
+"more incompatible locks would prevent this lock being placed, then details "
+"about one of these locks are returned via I<lock>, as described above for "
+"B<F_GETLK>."
 msgstr ""
 
-#.  From glibc.info:
+#.  commit 57b65325fe34ec4c917bc4e555144b4a94d9e1f7
 #. type: Plain text
-#: build/C/man2/fcntl.2:491
+#: build/C/man2/fcntl.2:599
 msgid ""
-"If you set the B<O_ASYNC> status flag on a file descriptor by using the "
-"B<F_SETFL> command of B<fcntl>(), a B<SIGIO> signal is sent whenever input "
-"or output becomes possible on that file descriptor.  B<F_SETSIG> can be used "
-"to obtain delivery of a signal other than B<SIGIO>.  If this permission "
-"check fails, then the signal is silently discarded."
+"In the current implementation, no deadlock detection is performed for open "
+"file description locks.  (This contrasts with process-associated record "
+"locks, for which the kernel does perform deadlock detection.)"
+msgstr ""
+
+#. type: SS
+#: build/C/man2/fcntl.2:599 build/C/man2/fcntl.2:1894
+#, no-wrap
+msgid "Mandatory locking"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:499
+#: build/C/man2/fcntl.2:603
 msgid ""
-"Sending a signal to the owner process (group) specified by B<F_SETOWN> is "
-"subject to the same permissions checks as are described for B<kill>(2), "
-"where the sending process is the one that employs B<F_SETOWN> (but see BUGS "
-"below)."
+"I<Warning>: the Linux implementation of mandatory locking is unreliable.  "
+"See BUGS below."
 msgstr ""
 
-#.  The following appears to be rubbish.  It doesn't seem to
-#.  be true according to the kernel source, and I can write
-#.  a program that gets a terminal-generated SIGIO even though
-#.  it is not the foreground process group of the terminal.
-#.  -- MTK, 8 Apr 05
-#
-#.  If the file descriptor
-#.  .I fd
-#.  refers to a terminal device, then SIGIO
-#.  signals are sent to the foreground process group of the terminal.
 #. type: Plain text
-#: build/C/man2/fcntl.2:523
+#: build/C/man2/fcntl.2:608
 msgid ""
-"If the file descriptor I<fd> refers to a socket, B<F_SETOWN> also selects "
-"the recipient of B<SIGURG> signals that are delivered when out-of-band data "
-"arrives on that socket.  (B<SIGURG> is sent in any situation where "
-"B<select>(2)  would report the socket as having an \"exceptional "
-"condition\".)"
+"By default, both traditional (process-associated) and open file description "
+"record locks are advisory.  Advisory locks are not enforced and are useful "
+"only between cooperating processes."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:526
-msgid "The following was true in 2.6.x kernels up to and including kernel 2.6.11:"
+#: build/C/man2/fcntl.2:628
+msgid ""
+"Both lock types can also be mandatory.  Mandatory locks are enforced for all "
+"processes.  If a process tries to perform an incompatible access (e.g., "
+"B<read>(2)  or B<write>(2))  on a file region that has an incompatible "
+"mandatory lock, then the result depends upon whether the B<O_NONBLOCK> flag "
+"is enabled for its open file description.  If the B<O_NONBLOCK> flag is not "
+"enabled, then the system call is blocked until the lock is removed or "
+"converted to a mode that is compatible with the access.  If the "
+"B<O_NONBLOCK> flag is enabled, then the system call fails with the error "
+"B<EAGAIN>."
 msgstr ""
 
-#.  The relevant place in the (2.6) kernel source is the
+#. type: Plain text
+#: build/C/man2/fcntl.2:645
+msgid ""
+"To make use of mandatory locks, mandatory locking must be enabled both on "
+"the filesystem that contains the file to be locked, and on the file itself.  "
+"Mandatory locking is enabled on a filesystem using the \"-o mand\" option to "
+"B<mount>(8), or the B<MS_MANDLOCK> flag for B<mount>(2).  Mandatory locking "
+"is enabled on a file by disabling group execute permission on the file and "
+"enabling the set-group-ID permission bit (see B<chmod>(1)  and B<chmod>(2))."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:649
+msgid ""
+"Mandatory locking is not specified by POSIX.  Some other systems also "
+"support mandatory locking, although the details of how to enable it vary "
+"across systems."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/fcntl.2:649
+#, no-wrap
+msgid "Managing signals"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:658
+msgid ""
+"B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG> and "
+"B<F_SETSIG> are used to manage I/O availability signals:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/fcntl.2:658
+#, no-wrap
+msgid "B<F_GETOWN> (I<void>)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:671
+msgid ""
+"Return (as the function result)  the process ID or process group currently "
+"receiving B<SIGIO> and B<SIGURG> signals for events on file descriptor "
+"I<fd>.  Process IDs are returned as positive values; process group IDs are "
+"returned as negative values (but see BUGS below).  I<arg> is ignored."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/fcntl.2:671
+#, no-wrap
+msgid "B<F_SETOWN> (I<int>)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:688
+msgid ""
+"Set the process ID or process group ID that will receive B<SIGIO> and "
+"B<SIGURG> signals for events on file descriptor I<fd> to the ID given in "
+"I<arg>.  A process ID is specified as a positive value; a process group ID "
+"is specified as a negative value.  Most commonly, the calling process "
+"specifies itself as the owner (that is, I<arg> is specified as "
+"B<getpid>(2))."
+msgstr ""
+
+#.  From glibc.info:
+#. type: Plain text
+#: build/C/man2/fcntl.2:705
+msgid ""
+"If you set the B<O_ASYNC> status flag on a file descriptor by using the "
+"B<F_SETFL> command of B<fcntl>(), a B<SIGIO> signal is sent whenever input "
+"or output becomes possible on that file descriptor.  B<F_SETSIG> can be used "
+"to obtain delivery of a signal other than B<SIGIO>.  If this permission "
+"check fails, then the signal is silently discarded."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:713
+msgid ""
+"Sending a signal to the owner process (group) specified by B<F_SETOWN> is "
+"subject to the same permissions checks as are described for B<kill>(2), "
+"where the sending process is the one that employs B<F_SETOWN> (but see BUGS "
+"below)."
+msgstr ""
+
+#.  The following appears to be rubbish.  It doesn't seem to
+#.  be true according to the kernel source, and I can write
+#.  a program that gets a terminal-generated SIGIO even though
+#.  it is not the foreground process group of the terminal.
+#.  -- MTK, 8 Apr 05
+#
+#.  If the file descriptor
+#.  .I fd
+#.  refers to a terminal device, then SIGIO
+#.  signals are sent to the foreground process group of the terminal.
+#. type: Plain text
+#: build/C/man2/fcntl.2:737
+msgid ""
+"If the file descriptor I<fd> refers to a socket, B<F_SETOWN> also selects "
+"the recipient of B<SIGURG> signals that are delivered when out-of-band data "
+"arrives on that socket.  (B<SIGURG> is sent in any situation where "
+"B<select>(2)  would report the socket as having an \"exceptional "
+"condition\".)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:740
+msgid "The following was true in 2.6.x kernels up to and including kernel 2.6.11:"
+msgstr ""
+
+#.  The relevant place in the (2.6) kernel source is the
 #.  'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005
 #.  send_sigurg()/send_sigurg_to_task() bypasses
 #.  kill_fasync()/send_sigio()/send_sigio_to_task()
 #.  to directly call send_group_sig_info()
 #.     -- MTK, Apr 2005 (kernel 2.6.11)
 #. type: Plain text
-#: build/C/man2/fcntl.2:566
+#: build/C/man2/fcntl.2:780
 msgid ""
 "If a nonzero value is given to B<F_SETSIG> in a multithreaded process "
 "running with a threading library that supports thread groups (e.g., NPTL), "
@@ -5009,7 +5892,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:577
+#: build/C/man2/fcntl.2:791
 msgid ""
 "The above behavior was accidentally dropped in Linux 2.6.12, and won't be "
 "restored.  From Linux 2.6.32 onward, use B<F_SETOWN_EX> to target B<SIGIO> "
@@ -5017,13 +5900,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:577
+#: build/C/man2/fcntl.2:791
 #, no-wrap
 msgid "B<F_GETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:586
+#: build/C/man2/fcntl.2:800
 msgid ""
 "Return the current file descriptor owner settings as defined by a previous "
 "B<F_SETOWN_EX> operation.  The information is returned in the structure "
@@ -5031,7 +5914,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:593
+#: build/C/man2/fcntl.2:807
 #, no-wrap
 msgid ""
 "struct f_owner_ex {\n"
@@ -5041,7 +5924,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:610
+#: build/C/man2/fcntl.2:824
 msgid ""
 "The I<type> field will have one of the values B<F_OWNER_TID>, "
 "B<F_OWNER_PID>, or B<F_OWNER_PGRP>.  The I<pid> field is a positive integer "
@@ -5050,13 +5933,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:610
+#: build/C/man2/fcntl.2:824
 #, no-wrap
 msgid "B<F_SETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:626
+#: build/C/man2/fcntl.2:840
 msgid ""
 "This operation performs a similar task to B<F_SETOWN>.  It allows the caller "
 "to direct I/O availability signals to a specific thread, process, or process "
@@ -5066,37 +5949,37 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:627
+#: build/C/man2/fcntl.2:841
 #, no-wrap
 msgid "B<F_OWNER_TID>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:636
+#: build/C/man2/fcntl.2:850
 msgid ""
 "Send the signal to the thread whose thread ID (the value returned by a call "
 "to B<clone>(2)  or B<gettid>(2))  is specified in I<pid>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:636
+#: build/C/man2/fcntl.2:850
 #, no-wrap
 msgid "B<F_OWNER_PID>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:641
+#: build/C/man2/fcntl.2:855
 msgid "Send the signal to the process whose ID is specified in I<pid>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:641
+#: build/C/man2/fcntl.2:855
 #, no-wrap
 msgid "B<F_OWNER_PGRP>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:649
+#: build/C/man2/fcntl.2:863
 msgid ""
 "Send the signal to the process group whose ID is specified in I<pid>.  (Note "
 "that, unlike with B<F_SETOWN>, a process group ID is specified as a positive "
@@ -5104,13 +5987,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:650
+#: build/C/man2/fcntl.2:864
 #, no-wrap
 msgid "B<F_GETSIG> (I<void>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:665
+#: build/C/man2/fcntl.2:879
 msgid ""
 "Return (as the function result)  the signal sent when input or output "
 "becomes possible.  A value of zero means B<SIGIO> is sent.  Any other value "
@@ -5120,7 +6003,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:665
+#: build/C/man2/fcntl.2:879
 #, no-wrap
 msgid "B<F_SETSIG> (I<int>)"
 msgstr ""
@@ -5136,7 +6019,7 @@ msgstr ""
 #.  .B F_SETOWN
 #.  for more details.
 #. type: Plain text
-#: build/C/man2/fcntl.2:688
+#: build/C/man2/fcntl.2:902
 msgid ""
 "Set the signal sent when input or output becomes possible to the value given "
 "in I<arg>.  A value of zero means to send the default B<SIGIO> signal.  Any "
@@ -5146,7 +6029,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:716
+#: build/C/man2/fcntl.2:930
 msgid ""
 "By using B<F_SETSIG> with a nonzero value, and setting B<SA_SIGINFO> for the "
 "signal handler (see B<sigaction>(2)), extra information about I/O events is "
@@ -5159,7 +6042,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:725
+#: build/C/man2/fcntl.2:939
 msgid ""
 "By selecting a real time signal (value E<gt>= B<SIGRTMIN>), multiple I/O "
 "events may be queued using the same signal numbers.  (Queuing is dependent "
@@ -5169,7 +6052,7 @@ msgstr ""
 
 #.  See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05
 #. type: Plain text
-#: build/C/man2/fcntl.2:738
+#: build/C/man2/fcntl.2:952
 msgid ""
 "Note that Linux imposes a limit on the number of real-time signals that may "
 "be queued to a process (see B<getrlimit>(2)  and B<signal>(7))  and if this "
@@ -5178,30 +6061,32 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:745
+#: build/C/man2/fcntl.2:959
 msgid ""
 "Using these mechanisms, a program can implement fully asynchronous I/O "
 "without using B<select>(2)  or B<poll>(2)  most of the time."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:761
+#: build/C/man2/fcntl.2:983
 msgid ""
-"The use of B<O_ASYNC>, B<F_GETOWN>, B<F_SETOWN> is specific to BSD and "
-"Linux.  B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, and B<F_SETSIG> are "
-"Linux-specific.  POSIX has asynchronous I/O and the I<aio_sigevent> "
-"structure to achieve similar things; these are also available in Linux as "
-"part of the GNU C Library (Glibc)."
+"The use of B<O_ASYNC> is specific to BSD and Linux.  The only use of "
+"B<F_GETOWN> and B<F_SETOWN> specified in POSIX.1 is in conjunction with the "
+"use of the B<SIGURG> signal on sockets.  (POSIX does not specify the "
+"B<SIGIO> signal.)  B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, and "
+"B<F_SETSIG> are Linux-specific.  POSIX has asynchronous I/O and the "
+"I<aio_sigevent> structure to achieve similar things; these are also "
+"available in Linux as part of the GNU C Library (Glibc)."
 msgstr ""
 
 #. type: SS
-#: build/C/man2/fcntl.2:761
+#: build/C/man2/fcntl.2:983
 #, no-wrap
 msgid "Leases"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:776
+#: build/C/man2/fcntl.2:998
 msgid ""
 "B<F_SETLEASE> and B<F_GETLEASE> (Linux 2.4 onward) are used (respectively) "
 "to establish a new lease, and retrieve the current lease, on the open file "
@@ -5213,20 +6098,20 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:776
+#: build/C/man2/fcntl.2:998
 #, no-wrap
 msgid "B<F_SETLEASE> (I<int>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:781
+#: build/C/man2/fcntl.2:1003
 msgid ""
 "Set or remove a file lease according to which of the following values is "
 "specified in the integer I<arg>:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:782
+#: build/C/man2/fcntl.2:1004
 #, no-wrap
 msgid "B<F_RDLCK>"
 msgstr ""
@@ -5234,21 +6119,21 @@ msgstr ""
 #.  The following became true in kernel 2.6.10:
 #.  See the man-pages-2.09 Changelog for further info.
 #. type: Plain text
-#: build/C/man2/fcntl.2:791
+#: build/C/man2/fcntl.2:1013
 msgid ""
 "Take out a read lease.  This will cause the calling process to be notified "
-"when the file is opened for writing or is truncated.  A read lease can only "
-"be placed on a file descriptor that is opened read-only."
+"when the file is opened for writing or is truncated.  A read lease can be "
+"placed only on a file descriptor that is opened read-only."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:791
+#: build/C/man2/fcntl.2:1013
 #, no-wrap
 msgid "B<F_WRLCK>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:798
+#: build/C/man2/fcntl.2:1020
 msgid ""
 "Take out a write lease.  This will cause the caller to be notified when the "
 "file is opened for reading or writing or is truncated.  A write lease may be "
@@ -5257,18 +6142,18 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:798
+#: build/C/man2/fcntl.2:1020
 #, no-wrap
 msgid "B<F_UNLCK>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:801
+#: build/C/man2/fcntl.2:1023
 msgid "Remove our lease from the file."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:815
+#: build/C/man2/fcntl.2:1037
 msgid ""
 "Leases are associated with an open file description (see B<open>(2)).  This "
 "means that duplicate file descriptors (created by, for example, B<fork>(2)  "
@@ -5279,22 +6164,22 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:822
+#: build/C/man2/fcntl.2:1044
 msgid ""
-"Leases may only be taken out on regular files.  An unprivileged process may "
-"only take out a lease on a file whose UID (owner) matches the file system "
-"UID of the process.  A process with the B<CAP_LEASE> capability may take out "
+"Leases may be taken out only on regular files.  An unprivileged process may "
+"take out a lease only on a file whose UID (owner) matches the filesystem UID "
+"of the process.  A process with the B<CAP_LEASE> capability may take out "
 "leases on arbitrary files."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:822
+#: build/C/man2/fcntl.2:1044
 #, no-wrap
 msgid "B<F_GETLEASE> (I<void>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:831
+#: build/C/man2/fcntl.2:1053
 msgid ""
 "Indicates what type of lease is associated with the file descriptor I<fd> by "
 "returning either B<F_RDLCK>, B<F_WRLCK>, or B<F_UNLCK>, indicating, "
@@ -5302,7 +6187,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:862
+#: build/C/man2/fcntl.2:1084
 msgid ""
 "When a process (the \"lease breaker\") performs an B<open>(2)  or "
 "B<truncate>(2)  that conflicts with a lease established via B<F_SETLEASE>, "
@@ -5320,15 +6205,15 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:867
+#: build/C/man2/fcntl.2:1089
 msgid ""
 "If the lease holder fails to downgrade or remove the lease within the number "
-"of seconds specified in I</proc/sys/fs/lease-break-time> then the kernel "
+"of seconds specified in I</proc/sys/fs/lease-break-time>, then the kernel "
 "forcibly removes or downgrades the lease holder's lease."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:877
+#: build/C/man2/fcntl.2:1099
 msgid ""
 "Once a lease break has been initiated, B<F_GETLEASE> returns the target "
 "lease type (either B<F_RDLCK> or B<F_UNLCK>, depending on what would be "
@@ -5338,7 +6223,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:881
+#: build/C/man2/fcntl.2:1103
 msgid ""
 "Once the lease has been voluntarily or forcibly removed or downgraded, and "
 "assuming the lease breaker has not unblocked its system call, the kernel "
@@ -5346,7 +6231,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:902
+#: build/C/man2/fcntl.2:1124
 msgid ""
 "If the lease breaker's blocked B<open>(2)  or B<truncate>(2)  is interrupted "
 "by a signal handler, then the system call fails with the error B<EINTR>, but "
@@ -5359,7 +6244,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:923
+#: build/C/man2/fcntl.2:1145
 msgid ""
 "The default signal used to notify the lease holder is B<SIGIO>, but this can "
 "be changed using the B<F_SETSIG> command to B<fcntl>().  If a B<F_SETSIG> "
@@ -5372,19 +6257,19 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/fcntl.2:923
+#: build/C/man2/fcntl.2:1145
 #, no-wrap
 msgid "File and directory change notification (dnotify)"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:924
+#: build/C/man2/fcntl.2:1146
 #, no-wrap
 msgid "B<F_NOTIFY> (I<int>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:934
+#: build/C/man2/fcntl.2:1156
 msgid ""
 "(Linux 2.4 onward)  Provide notification when the directory referred to by "
 "I<fd> or any of the files that it contains is changed.  The events to be "
@@ -5393,80 +6278,88 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:937
+#: build/C/man2/fcntl.2:1159
 #, no-wrap
 msgid "B<DN_ACCESS>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:940
-msgid "A file was accessed (read, pread, readv)"
+#: build/C/man2/fcntl.2:1166
+msgid "A file was accessed (B<read>(2), B<pread>(2), B<readv>(2), and similar)"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:940
+#: build/C/man2/fcntl.2:1166
 #, no-wrap
 msgid "B<DN_MODIFY>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:943
-msgid "A file was modified (write, pwrite, writev, truncate, ftruncate)."
+#: build/C/man2/fcntl.2:1175
+msgid ""
+"A file was modified (B<write>(2), B<pwrite>(2), B<writev>(2), "
+"B<truncate>(2), B<ftruncate>(2), and similar)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:943
+#: build/C/man2/fcntl.2:1175
 #, no-wrap
 msgid "B<DN_CREATE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:946
-msgid "A file was created (open, creat, mknod, mkdir, link, symlink, rename)."
+#: build/C/man2/fcntl.2:1186
+msgid ""
+"A file was created (B<open>(2), B<creat>(2), B<mknod>(2), B<mkdir>(2), "
+"B<link>(2), B<symlink>(2), B<rename>(2)  into this directory)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:946
+#: build/C/man2/fcntl.2:1186
 #, no-wrap
 msgid "B<DN_DELETE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:949
-msgid "A file was unlinked (unlink, rename to another directory, rmdir)."
+#: build/C/man2/fcntl.2:1193
+msgid ""
+"A file was unlinked (B<unlink>(2), B<rename>(2)  to another directory, "
+"B<rmdir>(2))."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:949
+#: build/C/man2/fcntl.2:1193
 #, no-wrap
 msgid "B<DN_RENAME>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:952
-msgid "A file was renamed within this directory (rename)."
+#: build/C/man2/fcntl.2:1197
+msgid "A file was renamed within this directory (B<rename>(2))."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:952
+#: build/C/man2/fcntl.2:1197
 #, no-wrap
 msgid "B<DN_ATTRIB>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:955
-msgid "The attributes of a file were changed (chown, chmod, utime[s])."
+#: build/C/man2/fcntl.2:1205
+msgid ""
+"The attributes of a file were changed (B<chown>(2), B<chmod>(2), "
+"B<utime>(2), B<utimensat>(2), and similar)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:963
+#: build/C/man2/fcntl.2:1213
 msgid ""
 "(In order to obtain these definitions, the B<_GNU_SOURCE> feature test macro "
 "must be defined before including I<any> header files.)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:971
+#: build/C/man2/fcntl.2:1221
 msgid ""
 "Directory notifications are normally \"one-shot\", and the application must "
 "reregister to receive further notifications.  Alternatively, if "
@@ -5476,7 +6369,7 @@ msgstr ""
 
 #.  The following does seem a poor API-design choice...
 #. type: Plain text
-#: build/C/man2/fcntl.2:983
+#: build/C/man2/fcntl.2:1233
 msgid ""
 "A series of B<F_NOTIFY> requests is cumulative, with the events in I<arg> "
 "being added to the set already monitored.  To disable notification of all "
@@ -5484,46 +6377,48 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1001
+#: build/C/man2/fcntl.2:1256
 msgid ""
 "Notification occurs via delivery of a signal.  The default signal is "
 "B<SIGIO>, but this can be changed using the B<F_SETSIG> command to "
-"B<fcntl>().  In the latter case, the signal handler receives a I<siginfo_t> "
-"structure as its second argument (if the handler was established using "
-"B<SA_SIGINFO>)  and the I<si_fd> field of this structure contains the file "
-"descriptor which generated the notification (useful when establishing "
-"notification on multiple directories)."
+"B<fcntl>().  (Note that B<SIGIO> is one of the nonqueuing standard signals; "
+"switching to the use of a real-time signal means that multiple notifications "
+"can be queued to the process.)  In the latter case, the signal handler "
+"receives a I<siginfo_t> structure as its second argument (if the handler was "
+"established using B<SA_SIGINFO>)  and the I<si_fd> field of this structure "
+"contains the file descriptor which generated the notification (useful when "
+"establishing notification on multiple directories)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1006
+#: build/C/man2/fcntl.2:1261
 msgid ""
 "Especially when using B<DN_MULTISHOT>, a real time signal should be used for "
 "notification, so that multiple notifications can be queued."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1015
+#: build/C/man2/fcntl.2:1270
 msgid ""
 "B<NOTE:> New applications should use the I<inotify> interface (available "
 "since kernel 2.6.13), which provides a much superior interface for obtaining "
-"notifications of file system events.  See B<inotify>(7)."
+"notifications of filesystem events.  See B<inotify>(7)."
 msgstr ""
 
 #. type: SS
-#: build/C/man2/fcntl.2:1015
+#: build/C/man2/fcntl.2:1270
 #, no-wrap
 msgid "Changing the capacity of a pipe"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1016
+#: build/C/man2/fcntl.2:1271
 #, no-wrap
 msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1047
+#: build/C/man2/fcntl.2:1300
 msgid ""
 "Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
 "bytes.  An unprivileged process can adjust the pipe capacity to any value "
@@ -5534,236 +6429,472 @@ msgid ""
 "in I</proc/sys/fs/pipe-max-size> yield the error B<EPERM>; a privileged "
 "process (B<CAP_SYS_RESOURCE>)  can override the limit.  When allocating the "
 "buffer for the pipe, the kernel may use a capacity larger than I<arg>, if "
-"that is convenient for the implementation.  The B<F_GETPIPE_SZ> operation "
-"returns the actual size used.  Attempting to set the pipe capacity smaller "
-"than the amount of buffer space currently used to store data produces the "
-"error B<EBUSY>."
+"that is convenient for the implementation.  The actual capacity that is set "
+"is returned as the function result.  Attempting to set the pipe capacity "
+"smaller than the amount of buffer space currently used to store data "
+"produces the error B<EBUSY>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1047
+#: build/C/man2/fcntl.2:1300
 #, no-wrap
 msgid "B<F_GETPIPE_SZ> (I<void>; since Linux 2.6.35)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1051
+#: build/C/man2/fcntl.2:1305
 msgid ""
 "Return (as the function result) the capacity of the pipe referred to by "
 "I<fd>."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/fcntl.2:1305
+#, no-wrap
+msgid "File Sealing"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/fcntl.2:1053
+#: build/C/man2/fcntl.2:1317
+msgid ""
+"File seals limit the set of allowed operations on a given file.  For each "
+"seal that is set on a file, a specific set of operations will fail with "
+"B<EPERM> on this file from now on.  The file is said to be sealed.  The "
+"default set of seals depends on the type of the underlying file and "
+"filesystem.  For an overview of file sealing, a discussion of its purpose, "
+"and some code examples, see B<memfd_create>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1325
+msgid ""
+"Currently, only the I<tmpfs> filesystem supports sealing.  On other "
+"filesystems, all B<fcntl>(2)  operations that operate on seals will return "
+"B<EINVAL>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1330
+msgid ""
+"Seals are a property of an inode.  Thus, all open file descriptors referring "
+"to the same inode share the same set of seals.  Furthermore, seals can never "
+"be removed, only added."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/fcntl.2:1330
+#, no-wrap
+msgid "B<F_ADD_SEALS> (I<int>; since Linux 3.17)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1348
+msgid ""
+"Add the seals given in the bit-mask argument I<arg> to the set of seals of "
+"the inode referred to by the file descriptor I<fd>.  Seals cannot be removed "
+"again.  Once this call succeeds, the seals are enforced by the kernel "
+"immediately.  If the current set of seals includes B<F_SEAL_SEAL> (see "
+"below), then this call will be rejected with B<EPERM>.  Adding a seal that "
+"is already set is a no-op, in case B<F_SEAL_SEAL> is not set already.  In "
+"order to place a seal, the file descriptor I<fd> must be writable."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/fcntl.2:1348
+#, no-wrap
+msgid "B<F_GET_SEALS> (I<void>; since Linux 3.17)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1358
+msgid ""
+"Return (as the function result) the current set of seals of the inode "
+"referred to by I<fd>.  If no seals are set, 0 is returned.  If the file does "
+"not support sealing, -1 is returned and I<errno> is set to B<EINVAL>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1360
+msgid "The following seals are available:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/fcntl.2:1360
+#, no-wrap
+msgid "B<F_SEAL_SEAL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1372
+msgid ""
+"If this seal is set, any further call to B<fcntl>(2)  with B<F_ADD_SEALS> "
+"will fail with B<EPERM>.  Therefore, this seal prevents any modifications to "
+"the set of seals itself.  If the initial set of seals of a file includes "
+"B<F_SEAL_SEAL>, then this effectively causes the set of seals to be constant "
+"and locked."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/fcntl.2:1372
+#, no-wrap
+msgid "B<F_SEAL_SHRINK>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1387
+msgid ""
+"If this seal is set, the file in question cannot be reduced in size.  This "
+"affects B<open>(2)  with the B<O_TRUNC> flag as well as B<truncate>(2)  and "
+"B<ftruncate>(2).  Those calls will fail with B<EPERM> if you try to shrink "
+"the file in question.  Increasing the file size is still possible."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/fcntl.2:1387
+#, no-wrap
+msgid "B<F_SEAL_GROW>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1401
+msgid ""
+"If this seal is set, the size of the file in question cannot be increased.  "
+"This affects B<write>(2)  beyond the end of the file, B<truncate>(2), "
+"B<ftruncate>(2), and B<fallocate>(2).  These calls will fail with B<EPERM> "
+"if you use them to increase the file size.  If you keep the size or shrink "
+"it, those calls still work as expected."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/fcntl.2:1401
+#, no-wrap
+msgid "B<F_SEAL_WRITE>"
+msgstr ""
+
+#.  One or more other seals are typically used with F_SEAL_WRITE
+#.  because, given a file with the F_SEAL_WRITE seal set, then,
+#.  while it would no longer be possinle to (say) write zeros into
+#.  the last 100 bytes of a file, it would still be possible
+#.  to (say) shrink the file by 100 bytes using ftruncate(), and
+#.  then increase the file size by 100 bytes, which would have
+#.  the effect of replacing the last hundred bytes by zeros.
+#. type: Plain text
+#: build/C/man2/fcntl.2:1429
+msgid ""
+"If this seal is set, you cannot modify the contents of the file.  Note that "
+"shrinking or growing the size of the file is still possible and allowed.  "
+"Thus, this seal is normally used in combination with one of the other "
+"seals.  This seal affects B<write>(2)  and B<fallocate>(2)  (only in "
+"combination with the B<FALLOC_FL_PUNCH_HOLE> flag).  Those calls will fail "
+"with B<EPERM> if this seal is set.  Furthermore, trying to create new "
+"shared, writable memory-mappings via B<mmap>(2)  will also fail with "
+"B<EPERM>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1444
+msgid ""
+"Setting B<F_SEAL_WRITE> via B<fcntl>(2)  with B<F_ADD_SEALS> will fail with "
+"B<EBUSY> if any writable, shared mapping exists.  Such mappings must be "
+"unmapped before you can add this seal.  Furthermore, if there are any "
+"asynchronous I/O operations (B<io_submit>(2))  pending on the file, all "
+"outstanding writes will be discarded."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1446
 msgid "For a successful call, the return value depends on the operation:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1053
+#: build/C/man2/fcntl.2:1446
 #, no-wrap
 msgid "B<F_DUPFD>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1056
+#: build/C/man2/fcntl.2:1449
 msgid "The new descriptor."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1056
+#: build/C/man2/fcntl.2:1449
 #, no-wrap
 msgid "B<F_GETFD>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1059
+#: build/C/man2/fcntl.2:1452
 msgid "Value of file descriptor flags."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1059
+#: build/C/man2/fcntl.2:1452
 #, no-wrap
 msgid "B<F_GETFL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1062
+#: build/C/man2/fcntl.2:1455
 msgid "Value of file status flags."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1062
+#: build/C/man2/fcntl.2:1455
 #, no-wrap
 msgid "B<F_GETLEASE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1065
+#: build/C/man2/fcntl.2:1458
 msgid "Type of lease held on file descriptor."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1065
+#: build/C/man2/fcntl.2:1458
 #, no-wrap
 msgid "B<F_GETOWN>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1068
+#: build/C/man2/fcntl.2:1461
 msgid "Value of descriptor owner."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1068
+#: build/C/man2/fcntl.2:1461
 #, no-wrap
 msgid "B<F_GETSIG>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1074
+#: build/C/man2/fcntl.2:1467
 msgid ""
 "Value of signal sent when read or write becomes possible, or zero for "
 "traditional B<SIGIO> behavior."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1074
+#: build/C/man2/fcntl.2:1467
 #, no-wrap
-msgid "B<F_GETPIPE_SZ>"
+msgid "B<F_GETPIPE_SZ>, B<F_SETPIPE_SZ>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1077
+#: build/C/man2/fcntl.2:1470
 msgid "The pipe capacity."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1077
+#: build/C/man2/fcntl.2:1470
+#, no-wrap
+msgid "B<F_GET_SEALS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1475
+msgid ""
+"A bit mask identifying the seals that have been set for the inode referred "
+"to by I<fd>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/fcntl.2:1475
 #, no-wrap
 msgid "All other commands"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1080
+#: build/C/man2/fcntl.2:1478
 msgid "Zero."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1084
+#: build/C/man2/fcntl.2:1482
 msgid "On error, -1 is returned, and I<errno> is set appropriately."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1085 build/C/man3/lockf.3:122
+#: build/C/man2/fcntl.2:1483 build/C/man3/lockf.3:122
 #, no-wrap
 msgid "B<EACCES> or B<EAGAIN>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1088
+#: build/C/man2/fcntl.2:1486
 msgid "Operation is prohibited by locks held by other processes."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1088 build/C/man2/fork.2:181 build/C/man2/fork.2:186
+#: build/C/man2/fcntl.2:1486 build/C/man2/fork.2:186 build/C/man2/fork.2:191 build/C/man2/fork.2:209
 #, no-wrap
 msgid "B<EAGAIN>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1092
+#: build/C/man2/fcntl.2:1490
 msgid ""
 "The operation is prohibited because the file has been memory-mapped by "
 "another process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1101
+#: build/C/man2/fcntl.2:1494
+msgid "I<fd> is not an open file descriptor"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1503
+msgid ""
+"I<cmd> is B<F_SETLK> or B<F_SETLKW> and the file descriptor open mode "
+"doesn't match with the type of lock requested."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1512
+msgid ""
+"I<cmd> is B<F_SETPIPE_SZ> and the new pipe capacity specified in I<arg> is "
+"smaller than the amount of buffer space currently used to store data in the "
+"pipe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1522
 msgid ""
-"I<fd> is not an open file descriptor, or the command was B<F_SETLK> or "
-"B<F_SETLKW> and the file descriptor open mode doesn't match with the type of "
-"lock requested."
+"I<cmd> is B<F_ADD_SEALS>, I<arg> includes B<F_SEAL_WRITE>, and there exists "
+"a writable, shared mapping on the file referred to by I<fd>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1101 build/C/man3/lockf.3:142
+#: build/C/man2/fcntl.2:1522 build/C/man3/lockf.3:142
 #, no-wrap
 msgid "B<EDEADLK>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1106
+#: build/C/man2/fcntl.2:1527
 msgid ""
 "It was detected that the specified B<F_SETLKW> command would cause a "
 "deadlock."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1110
+#: build/C/man2/fcntl.2:1531
 msgid "I<lock> is outside your accessible address space."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1122
+#: build/C/man2/fcntl.2:1540
+msgid ""
+"I<cmd> is B<F_SETLKW> or B<F_OFD_SETLKW> and the operation was interrupted "
+"by a signal; see B<signal>(7)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1553
+msgid ""
+"I<cmd> is B<F_GETLK>, B<F_SETLK>, B<F_OFD_GETLK>, or B<F_OFD_SETLK>, and the "
+"operation was interrupted by a signal before the lock was checked or "
+"acquired.  Most likely when locking a remote file (e.g., locking over NFS), "
+"but can sometimes happen locally."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1558
+msgid "The value specified in I<cmd> is not recognized by this kernel."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1566
+msgid "I<cmd> is B<F_ADD_SEALS> and I<arg> includes an unrecognized sealing bit."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1576
 msgid ""
-"For B<F_SETLKW>, the command was interrupted by a signal; see B<signal>(7).  "
-"For B<F_GETLK> and B<F_SETLK>, the command was interrupted by a signal "
-"before the lock was checked or acquired.  Most likely when locking a remote "
-"file (e.g., locking over NFS), but can sometimes happen locally."
+"I<cmd> is B<F_ADD_SEALS> or B<F_GET_SEALS> and the filesystem containing the "
+"inode referred to by I<fd> does not support sealing."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1132
+#: build/C/man2/fcntl.2:1588
 msgid ""
-"For B<F_DUPFD>, I<arg> is negative or is greater than the maximum allowable "
-"value.  For B<F_SETSIG>, I<arg> is not an allowable signal number."
+"I<cmd> is B<F_DUPFD> and I<arg> is negative or is greater than the maximum "
+"allowable value (see the discussion of B<RLIMIT_NOFILE> in B<getrlimit>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1137
+#: build/C/man2/fcntl.2:1596
+msgid "I<cmd> is B<F_SETSIG> and I<arg> is not an allowable signal number."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1607
+msgid ""
+"I<cmd> is B<F_OFD_SETLK>, B<F_OFD_SETLKW>, or B<F_OFD_GETLK>, and I<l_pid> "
+"was not specified as zero."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1613
 msgid ""
-"For B<F_DUPFD>, the process already has the maximum number of file "
+"I<cmd> is B<F_DUPFD> and the process already has the maximum number of file "
 "descriptors open."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fcntl.2:1137 build/C/man2/flock.2:130 build/C/man3/lockf.3:151
+#: build/C/man2/fcntl.2:1613 build/C/man2/flock.2:131 build/C/man3/lockf.3:151
 #, no-wrap
 msgid "B<ENOLCK>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1141
+#: build/C/man2/fcntl.2:1617
 msgid ""
 "Too many segment locks open, lock table is full, or a remote locking "
 "protocol failed (e.g., locking over NFS)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1146
+#: build/C/man2/fcntl.2:1625
+msgid ""
+"B<F_NOTIFY> was specified in I<cmd>, but I<fd> does not refer to a "
+"directory."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1630
 msgid ""
 "Attempted to clear the B<O_APPEND> flag on a file that has the append-only "
 "attribute set."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1159
+#: build/C/man2/fcntl.2:1640
+msgid ""
+"I<cmd> was B<F_ADD_SEALS>, but I<fd> was not open for writing or the current "
+"set of seals on the file already includes B<F_SEAL_SEAL>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1653
 msgid ""
 "SVr4, 4.3BSD, POSIX.1-2001.  Only the operations B<F_DUPFD>, B<F_GETFD>, "
-"B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, B<F_GETLK>, B<F_SETLK> and B<F_SETLKW>, "
+"B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, B<F_GETLK>, B<F_SETLK>, and B<F_SETLKW> "
 "are specified in POSIX.1-2001."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1171
+#: build/C/man2/fcntl.2:1665
 msgid ""
 "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
-"definitions, define B<BSD_SOURCE>, or B<_XOPEN_SOURCE> with the value 500 or "
-"greater, or define B<_POSIX_C_SOURCE> with the value 200809L or greater.)"
+"definitions, define either B<_BSD_SOURCE>, or B<_XOPEN_SOURCE> with the "
+"value 500 or greater, or B<_POSIX_C_SOURCE> with the value 200809L or "
+"greater.)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1179
+#: build/C/man2/fcntl.2:1673
 msgid ""
 "B<F_DUPFD_CLOEXEC> is specified in POSIX.1-2008.  (To get this definition, "
 "define B<_POSIX_C_SOURCE> with the value 200809L or greater, or "
@@ -5773,7 +6904,7 @@ msgstr ""
 #.  .PP
 #.  SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
 #. type: Plain text
-#: build/C/man2/fcntl.2:1196
+#: build/C/man2/fcntl.2:1690
 msgid ""
 "B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_SETPIPE_SZ>, B<F_GETPIPE_SZ>, "
 "B<F_GETSIG>, B<F_SETSIG>, B<F_NOTIFY>, B<F_GETLEASE>, and B<F_SETLEASE> are "
@@ -5782,27 +6913,53 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1217
+#: build/C/man2/fcntl.2:1699
 msgid ""
-"The original Linux B<fcntl>()  system call was not designed to handle large "
-"file offsets (in the I<flock> structure).  Consequently, an B<fcntl64>()  "
-"system call was added in Linux 2.4.  The newer system call employs a "
-"different structure for file locking, I<flock64>, and corresponding "
-"commands, B<F_GETLK64>, B<F_SETLK64>, and B<F_SETLKW64>.  However, these "
-"details can be ignored by applications using glibc, whose B<fcntl>()  "
-"wrapper function transparently employs the more recent system call where it "
-"is available."
+"B<F_OFD_SETLK>, B<F_OFD_SETLKW>, and B<F_OFD_GETLK> are Linux-specific (and "
+"one must define B<_GNU_SOURCE> to obtain their definitions), but work is "
+"being done to have them included in the next version of POSIX.1."
+msgstr ""
+
+#.  FIXME . Once glibc adds support, add a note about FTM requirements
+#. type: Plain text
+#: build/C/man2/fcntl.2:1705
+msgid "B<F_ADD_SEALS> and B<F_GET_SEALS> are Lnux-specific."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1222
+#: build/C/man2/fcntl.2:1711 build/C/man2/fcntl.2:1737
 msgid ""
 "The errors returned by B<dup2>(2)  are different from those returned by "
 "B<F_DUPFD>."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/fcntl.2:1711
+#, no-wrap
+msgid "File locking"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/fcntl.2:1228
+#: build/C/man2/fcntl.2:1732 build/C/man2/fcntl.2:1776
+msgid ""
+"The original Linux B<fcntl>()  system call was not designed to handle large "
+"file offsets (in the I<flock> structure).  Consequently, an B<fcntl64>()  "
+"system call was added in Linux 2.4.  The newer system call employs a "
+"different structure for file locking, I<flock64>, and corresponding "
+"commands, B<F_GETLK64>, B<F_SETLK64>, and B<F_SETLKW64>.  However, these "
+"details can be ignored by applications using glibc, whose B<fcntl>()  "
+"wrapper function transparently employs the more recent system call where it "
+"is available."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/fcntl.2:1737
+#, no-wrap
+msgid "Record locks"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1743
 msgid ""
 "Since kernel 2.0, there is no interaction between the types of lock placed "
 "by B<flock>(2)  and B<fcntl>()."
@@ -5810,21 +6967,92 @@ msgstr ""
 
 #.  e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
 #.  documents it in fcntl(5).  mtk, May 2007
+#.  Also, FreeBSD documents it (Apr 2014).
 #. type: Plain text
-#: build/C/man2/fcntl.2:1239
+#: build/C/man2/fcntl.2:1755
 msgid ""
 "Several systems have more fields in I<struct flock> such as, for example, "
 "I<l_sysid>.  Clearly, I<l_pid> alone is not going to be very useful if the "
 "process holding the lock may live on a different machine."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/fcntl.2:1776
+#, no-wrap
+msgid "Record locking and NFS"
+msgstr ""
+
+#
+#.  Neil Brown: With NFSv3 the failure mode is the reverse.  If
+#.      the server loses contact with a client then any lock stays in place
+#.      indefinitely ("why can't I read my mail"... I remember it well).
+#
+#
+#.  Jeff Layton:
+#.      Note that this is not a firm timeout. The server runs a job
+#.      periodically to clean out expired stateful objects, and it's likely
+#.      that there is some time (maybe even up to another whole lease period)
+#.      between when the timeout expires and the job actually runs. If the
+#.      client gets a RENEW in there within that window, its lease will be
+#.      renewed and its state preserved.
+#. type: Plain text
+#: build/C/man2/fcntl.2:1804
+msgid ""
+"Before Linux 3.12, if an NFSv4 client loses contact with the server for a "
+"period of time (defined as more than 90 seconds with no communication), it "
+"might lose and regain a lock without ever being aware of the fact.  (The "
+"period of time after which contact is assumed lost is known as the NFSv4 "
+"leasetime.  On a Linux NFS server, this can be determined by looking at "
+"I</proc/fs/nfsd/nfsv4leasetime>, which expresses the period in seconds.  The "
+"default value for this file is 90.)  This scenario potentially risks data "
+"corruption, since another process might acquire a lock in the intervening "
+"period and perform file I/O."
+msgstr ""
+
+#.  commit ef1820f9be27b6ad158f433ab38002ab8131db4d
+#.  commit f6de7a39c181dfb8a2c534661a53c73afb3081cd
+#. type: Plain text
+#: build/C/man2/fcntl.2:1818
+msgid ""
+"Since Linux 3.12, if an NFSv4 client loses contact with the server, any I/O "
+"to the file by a process which \"thinks\" it holds a lock will fail until "
+"that process closes and reopens the file.  A kernel parameter, "
+"I<nfs.recover_lost_locks>, can be set to 1 to obtain the pre-3.12 behavior, "
+"whereby the client will attempt to recover lost locks when contact is "
+"reestablished with the server.  Because of the attendant risk of data "
+"corruption, this parameter defaults to 0 (disabled)."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/fcntl.2:1819
+#, no-wrap
+msgid "F_SETFL"
+msgstr ""
+
+#.  FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
+#.  via fcntl(2), but currently Linux does not permit this
+#.  See http://bugzilla.kernel.org/show_bug.cgi?id=5994
+#. type: Plain text
+#: build/C/man2/fcntl.2:1831
+msgid ""
+"It is not possible to use B<F_SETFL> to change the state of the B<O_DSYNC> "
+"and B<O_SYNC> flags.  Attempts to change the state of these flags are "
+"silently ignored."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/fcntl.2:1831
+#, no-wrap
+msgid "F_GETOWN"
+msgstr ""
+
 #.  glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h
 #.  mtk, Dec 04: some limited testing on alpha and ia64 seems to
 #.  indicate that ANY negative PGID value will cause F_GETOWN
 #.  to misinterpret the return as an error. Some other architectures
 #.  seem to have the same range check as i386.
 #. type: Plain text
-#: build/C/man2/fcntl.2:1265
+#: build/C/man2/fcntl.2:1857
 msgid ""
 "A limitation of the Linux system call conventions on some architectures "
 "(notably i386) means that if a (negative)  process group ID to be returned "
@@ -5837,8 +7065,14 @@ msgid ""
 "B<F_GETOWN_EX>."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/fcntl.2:1857
+#, no-wrap
+msgid "F_SETOWN"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/fcntl.2:1282
+#: build/C/man2/fcntl.2:1875
 msgid ""
 "In Linux 2.4 and earlier, there is bug that can occur when an unprivileged "
 "process uses B<F_SETOWN> to specify the owner of a socket file descriptor as "
@@ -5849,28 +7083,55 @@ msgid ""
 "the owner."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/fcntl.2:1875
+#, no-wrap
+msgid "Deadlock detection"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1894
+msgid ""
+"The deadlock-detection algorithm employed by the kernel when dealing with "
+"B<F_SETLKW> requests can yield both false negatives (failures to detect "
+"deadlocks, leaving a set of deadlocked processes blocked indefinitely)  and "
+"false positives (B<EDEADLK> errors when there is no deadlock).  For example, "
+"the kernel limits the lock depth of its dependency search to 10 steps, "
+"meaning that circular deadlock chains that exceed that size will not be "
+"detected.  In addition, the kernel may falsely indicate a deadlock when two "
+"or more processes created using the B<clone>(2)  B<CLONE_FILES> flag place "
+"locks that appear (to the kernel) to conflict."
+msgstr ""
+
 #.  http://marc.info/?l=linux-kernel&m=119013491707153&w=2
+#
+#.  Reconfirmed by Jeff Layton
+#.      From: Jeff Layton <jlayton <at> redhat.com>
+#.      Subject: Re: Status of fcntl() mandatory locking
+#.      Newsgroups: gmane.linux.file-systems
+#.      Date: 2014-04-28 10:07:57 GMT
+#.      http://thread.gmane.org/gmane.linux.file-systems/84481/focus=84518
 #. type: Plain text
-#: build/C/man2/fcntl.2:1297
+#: build/C/man2/fcntl.2:1916
 msgid ""
-"The implementation of mandatory locking in all known versions of Linux is "
-"subject to race conditions which render it unreliable: a B<write>(2)  call "
-"that overlaps with a lock may modify data after the mandatory lock is "
-"acquired; a B<read>(2)  call that overlaps with a lock may detect changes to "
-"data that were made only after a write lock was acquired.  Similar races "
-"exist between mandatory locks and B<mmap>(2).  It is therefore inadvisable "
-"to rely on mandatory locking."
+"The Linux implementation of mandatory locking is subject to race conditions "
+"which render it unreliable: a B<write>(2)  call that overlaps with a lock "
+"may modify data after the mandatory lock is acquired; a B<read>(2)  call "
+"that overlaps with a lock may detect changes to data that were made only "
+"after a write lock was acquired.  Similar races exist between mandatory "
+"locks and B<mmap>(2).  It is therefore inadvisable to rely on mandatory "
+"locking."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1305
+#: build/C/man2/fcntl.2:1924
 msgid ""
 "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
 "B<capabilities>(7), B<feature_test_macros>(7)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1318
+#: build/C/man2/fcntl.2:1937
 msgid ""
 "I<locks.txt>, I<mandatory-locking.txt>, and I<dnotify.txt> in the Linux "
 "kernel source directory I<Documentation/filesystems/> (on older kernels, "
@@ -5884,12 +7145,6 @@ msgstr ""
 msgid "FEXECVE"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/fexecve.3:25
-#, no-wrap
-msgid "2010-09-15"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/fexecve.3:28
 msgid "fexecve - execute program specified via file descriptor"
@@ -5908,23 +7163,6 @@ msgstr ""
 msgid "B<fexecve>():"
 msgstr ""
 
-#. type: TP
-#: build/C/man3/fexecve.3:44
-#, no-wrap
-msgid "Since glibc 2.10:"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man3/fexecve.3:47
-msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
-msgstr ""
-
-#. type: TP
-#: build/C/man3/fexecve.3:47
-#, no-wrap
-msgid "Before glibc 2.10:"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/fexecve.3:50 build/C/man3/getcwd.3:54
 msgid "_GNU_SOURCE"
@@ -5946,7 +7184,7 @@ msgstr ""
 #: build/C/man3/fexecve.3:74
 msgid ""
 "A successful call to B<fexecve>()  never returns.  On error, the function "
-"returns, with a result value of -1, and I<errno> is set appropriately."
+"does return, with a result value of -1, and I<errno> is set appropriately."
 msgstr ""
 
 #. type: Plain text
@@ -5963,7 +7201,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/fexecve.3:91
-msgid "The I</proc> file system could not be accessed."
+msgid "The I</proc> filesystem could not be accessed."
 msgstr ""
 
 #. type: Plain text
@@ -5972,22 +7210,66 @@ msgid "B<fexecve>()  is implemented since glibc 2.3.2."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/fexecve.3:98
+#: build/C/man3/fexecve.3:99
 msgid ""
 "POSIX.1-2008.  This function is not specified in POSIX.1-2001, and is not "
-"widely available on other systems."
+"widely available on other systems.  It is specified in POSIX.1-2008."
 msgstr ""
 
+#.  FIXME .
+#.  With the addition of the execveat(2), fexecve() can be implemented
+#.  even where /proc is unavailable. Review future glibc releases to
+#.  see if the implementation is changed to use execveat(2).
 #. type: Plain text
-#: build/C/man3/fexecve.3:106
+#: build/C/man3/fexecve.3:111
 msgid ""
-"On Linux, B<fexecve>()  is implemented using the B<proc>(5)  file system, so "
+"On Linux, B<fexecve>()  is implemented using the B<proc>(5)  filesystem, so "
 "I</proc> needs to be mounted and available at the time of the call."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/fexecve.3:108
-msgid "B<execve>(2)"
+#: build/C/man3/fexecve.3:128
+msgid ""
+"The idea behind B<fexecve>()  is to allow the caller to verify (checksum) "
+"the contents of an executable before executing it.  Simply opening the file, "
+"checksumming the contents, and then doing an B<execve>(2)  would not "
+"suffice, since, between the two steps, the filename, or a directory prefix "
+"of the pathname, could have been exchanged (by, for example, modifying the "
+"target of a symbolic link).  B<fexecve>()  does not mitigate the problem "
+"that the I<contents> of a file could be changed between the checksumming and "
+"the call to B<fexecve>(); for that, the solution is to ensure that the "
+"permissions on the file prevent it from being modified by malicious users."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/fexecve.3:146
+msgid ""
+"The natural idiom when using B<fexecve>()  is to set the close-on-exec flag "
+"on I<fd>, so that the file descriptor does not leak through to the program "
+"that is executed.  This approach is natural for two reasons.  First, it "
+"prevents file descriptors being consumed unnecessarily.  (The executed "
+"program normally has no need of a file descriptor that refers to the program "
+"itself.)  Second, if B<fexecve>()  is used recursively, employing the "
+"close-on-exec flag prevents the file descriptor exhaustion that would result "
+"from the fact that each step in the recursion would cause one more file "
+"descriptor to be passed to the new program.  (But see BUGS.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/fexecve.3:165
+msgid ""
+"If I<fd> refers to a script (i.e., it is an executable text file that names "
+"a script interpreter with a first line that begins with the characters "
+"I<#!>)  and the close-on-exec flag has been set for I<fd>, then B<fexecve>()  "
+"fails with the error B<ENOENT>.  This error occurs because, by the time the "
+"script interpreter is executed, I<fd> has already been closed because of the "
+"close-on-exec flag.  Thus, the close-on-exec flag can't be set on I<fd> if "
+"it refers to a script, leading to the problems described in NOTES."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/fexecve.3:168
+msgid "B<execve>(2), B<execveat>(2)"
 msgstr ""
 
 #. type: TH
@@ -5997,9 +7279,9 @@ msgid "FLOCK"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/flock.2:35
+#: build/C/man2/flock.2:35 build/C/man2/uname.2:27
 #, no-wrap
-msgid "2013-02-11"
+msgid "2014-09-21"
 msgstr ""
 
 #. type: Plain text
@@ -6075,18 +7357,19 @@ msgid "A single file may not simultaneously have both shared and exclusive locks
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:87
+#: build/C/man2/flock.2:88
 msgid ""
-"Locks created by B<flock>()  are associated with an open file table entry.  "
-"This means that duplicate file descriptors (created by, for example, "
-"B<fork>(2)  or B<dup>(2))  refer to the same lock, and this lock may be "
-"modified or released using any of these descriptors.  Furthermore, the lock "
-"is released either by an explicit B<LOCK_UN> operation on any of these "
-"duplicate descriptors, or when all such descriptors have been closed."
+"Locks created by B<flock>()  are associated with an open file description "
+"(see B<open>(2)).  This means that duplicate file descriptors (created by, "
+"for example, B<fork>(2)  or B<dup>(2))  refer to the same lock, and this "
+"lock may be modified or released using any of these descriptors.  "
+"Furthermore, the lock is released either by an explicit B<LOCK_UN> operation "
+"on any of these duplicate descriptors, or when all such descriptors have "
+"been closed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:96
+#: build/C/man2/flock.2:97
 msgid ""
 "If a process uses B<open>(2)  (or similar) to obtain more than one "
 "descriptor for the same file, these descriptors are treated independently by "
@@ -6096,86 +7379,97 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:103
+#: build/C/man2/flock.2:104
 msgid ""
-"A process may only hold one type of lock (shared or exclusive)  on a file.  "
+"A process may hold only one type of lock (shared or exclusive)  on a file.  "
 "Subsequent B<flock>()  calls on an already locked file will convert an "
 "existing lock to the new lock mode."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:108
+#: build/C/man2/flock.2:109
 msgid "Locks created by B<flock>()  are preserved across an B<execve>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:111
+#: build/C/man2/flock.2:112
 msgid ""
 "A shared or exclusive lock can be placed on a file regardless of the mode in "
 "which the file was opened."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:121
+#: build/C/man2/flock.2:122
 msgid "I<fd> is not an open file descriptor."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:126
+#: build/C/man2/flock.2:127
 msgid ""
 "While waiting to acquire a lock, the call was interrupted by delivery of a "
 "signal caught by a handler; see B<signal>(7)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:130
+#: build/C/man2/flock.2:131
 msgid "I<operation> is invalid."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:133
+#: build/C/man2/flock.2:134
 msgid "The kernel ran out of memory for allocating lock records."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/flock.2:133
+#: build/C/man2/flock.2:134
 #, no-wrap
 msgid "B<EWOULDBLOCK>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:138
+#: build/C/man2/flock.2:139
 msgid "The file is locked and the B<LOCK_NB> flag was selected."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:147
+#: build/C/man2/flock.2:148
 msgid ""
 "4.4BSD (the B<flock>()  call first appeared in 4.2BSD).  A version of "
 "B<flock>(), possibly implemented in terms of B<fcntl>(2), appears on most "
 "UNIX systems."
 msgstr ""
 
+#.  E.g., according to the flock(2) man page, FreeBSD since at least 5.3
 #. type: Plain text
-#: build/C/man2/flock.2:154
+#: build/C/man2/flock.2:171
 msgid ""
-"B<flock>()  does not lock files over NFS.  Use B<fcntl>(2)  instead: that "
-"does work over NFS, given a sufficiently recent version of Linux and a "
-"server which supports locking."
+"Since kernel 2.0, B<flock>()  is implemented as a system call in its own "
+"right rather than being emulated in the GNU C library as a call to "
+"B<fcntl>(2).  With this implementation, there is no interaction between the "
+"types of lock placed by B<flock>()  and B<fcntl>(2), and B<flock>()  does "
+"not detect deadlock.  (Note, however, that on some systems, such as the "
+"modern BSDs, B<flock>()  and B<fcntl>(2)  locks I<do> interact with one "
+"another.)"
 msgstr ""
 
+#.  commit 5eebde23223aeb0ad2d9e3be6590ff8bbfab0fc2
 #. type: Plain text
-#: build/C/man2/flock.2:169
+#: build/C/man2/flock.2:202
 msgid ""
-"Since kernel 2.0, B<flock>()  is implemented as a system call in its own "
-"right rather than being emulated in the GNU C library as a call to "
-"B<fcntl>(2).  This yields true BSD semantics: there is no interaction "
-"between the types of lock placed by B<flock>()  and B<fcntl>(2), and "
-"B<flock>()  does not detect deadlock."
+"In Linux kernels up to 2.6.11, B<flock>()  does not lock files over NFS "
+"(i.e., the scope of locks was limited to the local system).  Instead, one "
+"could use B<fcntl>(2)  byte-range locking, which does work over NFS, given a "
+"sufficiently recent version of Linux and a server which supports locking.  "
+"Since Linux 2.6.12, NFS clients support B<flock>()  locks by emulating them "
+"as byte-range locks on the entire file.  This means that B<fcntl>(2)  and "
+"B<flock>()  locks I<do> interact with one another over NFS.  Since Linux "
+"2.6.37, the kernel supports a compatibility mode that allows B<flock>()  "
+"locks (and also B<fcntl>(2)  byte region locks) to be treated as local; see "
+"the discussion of the I<local_lock> option in B<nfs>(5)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:175
+#: build/C/man2/flock.2:208
 msgid ""
 "B<flock>()  places advisory locks only; given suitable permissions on a "
 "file, a process is free to ignore the use of B<flock>()  and perform I/O on "
@@ -6183,7 +7477,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:188
+#: build/C/man2/flock.2:221
 msgid ""
 "B<flock>()  and B<fcntl>(2)  locks have different semantics with respect to "
 "forked processes and B<dup>(2).  On systems that implement B<flock>()  using "
@@ -6194,7 +7488,7 @@ msgstr ""
 #.  Kernel 2.5.21 changed things a little: during lock conversion
 #.  it is now the highest priority process that will get the lock -- mtk
 #. type: Plain text
-#: build/C/man2/flock.2:201
+#: build/C/man2/flock.2:234
 msgid ""
 "Converting a lock (shared to exclusive, or vice versa) is not guaranteed to "
 "be atomic: the existing lock is first removed, and then a new lock is "
@@ -6205,16 +7499,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:210
+#: build/C/man2/flock.2:243
 msgid ""
 "B<flock>(1), B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), "
 "B<open>(2), B<lockf>(3)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/flock.2:215
+#: build/C/man2/flock.2:248
 msgid ""
-"I<Documentation/filesystem/locks.txt> in the Linux kernel source tree "
+"I<Documentation/filesystems/locks.txt> in the Linux kernel source tree "
 "(I<Documentation/locks.txt> in older kernels)"
 msgstr ""
 
@@ -6225,9 +7519,9 @@ msgid "FORK"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/fork.2:39 build/C/man2/ioperm.2:34
+#: build/C/man2/fork.2:39 build/C/man3/fpathconf.3:41 build/C/man2/swapon.2:42
 #, no-wrap
-msgid "2013-03-12"
+msgid "2014-05-28"
 msgstr ""
 
 #. type: Plain text
@@ -6288,19 +7582,22 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:77
-msgid "The child does not inherit record locks from its parent (B<fcntl>(2))."
+#: build/C/man2/fork.2:82
+msgid ""
+"The child does not inherit process-associated record locks from its parent "
+"(B<fcntl>(2)).  (On the other hand, it does inherit B<fcntl>(2)  open file "
+"description locks and B<flock>(2)  locks from its parent.)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:82
+#: build/C/man2/fork.2:87
 msgid ""
 "The child does not inherit timers from its parent (B<setitimer>(2), "
 "B<alarm>(2), B<timer_create>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:89
+#: build/C/man2/fork.2:94
 msgid ""
 "The child does not inherit outstanding asynchronous I/O operations from its "
 "parent (B<aio_read>(3), B<aio_write>(3)), nor does it inherit any "
@@ -6308,7 +7605,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:94
+#: build/C/man2/fork.2:99
 msgid ""
 "The process attributes in the preceding list are all specified in "
 "POSIX.1-2001.  The parent and child also differ with respect to the "
@@ -6316,40 +7613,40 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:101
+#: build/C/man2/fork.2:106
 msgid ""
 "The child does not inherit directory change notifications (dnotify)  from "
 "its parent (see the description of B<F_NOTIFY> in B<fcntl>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:107
+#: build/C/man2/fork.2:112
 msgid ""
 "The B<prctl>(2)  B<PR_SET_PDEATHSIG> setting is reset so that the child does "
 "not receive a signal when its parent terminates."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:114
+#: build/C/man2/fork.2:119
 msgid ""
 "The default timer slack value is set to the parent's current timer slack "
 "value.  See the description of B<PR_SET_TIMERSLACK> in B<prctl>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:120
+#: build/C/man2/fork.2:125
 msgid ""
 "Memory mappings that have been marked with the B<madvise>(2)  "
 "B<MADV_DONTFORK> flag are not inherited across a B<fork>()."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:125
+#: build/C/man2/fork.2:130
 msgid "The termination signal of the child is always B<SIGCHLD> (see B<clone>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:131
+#: build/C/man2/fork.2:136
 msgid ""
 "The port access permission bits set by B<ioperm>(2)  are not inherited by "
 "the child; the child must turn on any bits that it requires using "
@@ -6357,7 +7654,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:142
+#: build/C/man2/fork.2:147
 msgid ""
 "The child process is created with a single thread\\(emthe one that called "
 "B<fork>().  The entire virtual address space of the parent is replicated in "
@@ -6367,7 +7664,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:156
+#: build/C/man2/fork.2:161
 msgid ""
 "The child inherits copies of the parent's set of open file descriptors.  "
 "Each file descriptor in the child refers to the same open file description "
@@ -6378,7 +7675,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:165
+#: build/C/man2/fork.2:170
 msgid ""
 "The child inherits copies of the parent's set of open message queue "
 "descriptors (see B<mq_overview>(7)).  Each descriptor in the child refers to "
@@ -6388,7 +7685,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:173
+#: build/C/man2/fork.2:178
 msgid ""
 "The child inherits copies of the parent's set of open directory streams (see "
 "B<opendir>(3)).  POSIX.1-2001 says that the corresponding directory streams "
@@ -6397,7 +7694,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:180
+#: build/C/man2/fork.2:185
 msgid ""
 "On success, the PID of the child process is returned in the parent, and 0 is "
 "returned in the child.  On failure, -1 is returned in the parent, no child "
@@ -6405,23 +7702,35 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:186
+#: build/C/man2/fork.2:191
 msgid ""
 "B<fork>()  cannot allocate sufficient memory to copy the parent's page "
 "tables and allocate a task structure for the child."
 msgstr ""
 
+#.  NOTE! The following should match the description in pthread_create(3)
 #. type: Plain text
-#: build/C/man2/fork.2:196
+#: build/C/man2/fork.2:209
 msgid ""
-"It was not possible to create a new process because the caller's "
-"B<RLIMIT_NPROC> resource limit was encountered.  To exceed this limit, the "
-"process must have either the B<CAP_SYS_ADMIN> or the B<CAP_SYS_RESOURCE> "
-"capability."
+"A system-imposed limit on the number of threads was encountered.  There are "
+"a number of limits that may trigger this error: the B<RLIMIT_NPROC> soft "
+"resource limit (set via B<setrlimit>(2)), which limits the number of "
+"processes and threads for a real user ID, was reached; the kernel's "
+"system-wide limit on the number of processes and threads, "
+"I</proc/sys/kernel/threads-max>, was reached (see B<proc>(5)); or the "
+"maximum number of PIDs, I</proc/sys/kernel/pid_max>, was reached (see "
+"B<proc>(5))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:200
+#: build/C/man2/fork.2:216
+msgid ""
+"The caller is operating under the B<SCHED_DEADLINE> scheduling policy and "
+"does not have the reset-on-fork flag set.  See B<sched>(7)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fork.2:220
 msgid ""
 "B<fork>()  failed to allocate the necessary kernel structures because memory "
 "is tight."
@@ -6429,14 +7738,14 @@ msgstr ""
 
 #.  e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa
 #. type: Plain text
-#: build/C/man2/fork.2:206
+#: build/C/man2/fork.2:226
 msgid ""
 "B<fork>()  is not supported on this platform (for example, hardware without "
 "a Memory-Management Unit)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:215
+#: build/C/man2/fork.2:235
 msgid ""
 "Under Linux, B<fork>()  is implemented using copy-on-write pages, so the "
 "only penalty that it incurs is the time and memory required to duplicate the "
@@ -6446,7 +7755,7 @@ msgstr ""
 #.  nptl/sysdeps/unix/sysv/linux/fork.c
 #.  and does some magic to ensure that getpid(2) returns the right value.
 #. type: Plain text
-#: build/C/man2/fork.2:239
+#: build/C/man2/fork.2:259
 msgid ""
 "Since version 2.3.3, rather than invoking the kernel's B<fork>()  system "
 "call, the glibc B<fork>()  wrapper that is provided as part of the NPTL "
@@ -6458,12 +7767,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:244
+#: build/C/man2/fork.2:264
 msgid "See B<pipe>(2)  and B<wait>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fork.2:255
+#: build/C/man2/fork.2:275
 msgid ""
 "B<clone>(2), B<execve>(2), B<exit>(2), B<setrlimit>(2), B<unshare>(2), "
 "B<vfork>(2), B<wait>(2), B<daemon>(3), B<capabilities>(7), B<credentials>(7)"
@@ -6475,12 +7784,6 @@ msgstr ""
 msgid "FPATHCONF"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/fpathconf.3:41
-#, no-wrap
-msgid "1993-04-04"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/fpathconf.3:44
 msgid "fpathconf, pathconf - get configuration values for files"
@@ -6495,7 +7798,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/fpathconf.3:51
 #, no-wrap
-msgid "B<long pathconf(char *>I<path>B<, int >I<name>B<);>\n"
+msgid "B<long pathconf(const char *>I<path>B<, int >I<name>B<);>\n"
 msgstr ""
 
 #. type: Plain text
@@ -6667,15 +7970,15 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/fpathconf.3:180 build/C/man3/sysconf.3:335
+#: build/C/man3/fpathconf.3:180 build/C/man3/sysconf.3:338
 msgid ""
 "Some returned values may be huge; they are not suitable for allocating "
 "memory."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/fpathconf.3:185
-msgid "B<getconf>(1), B<open>(2), B<statfs>(2), B<sysconf>(3)"
+#: build/C/man3/fpathconf.3:186
+msgid "B<getconf>(1), B<open>(2), B<statfs>(2), B<confstr>(3), B<sysconf>(3)"
 msgstr ""
 
 #. type: TH
@@ -6684,12 +7987,6 @@ msgstr ""
 msgid "FSYNC"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/fsync.2:38
-#, no-wrap
-msgid "2012-02-27"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man2/fsync.2:41
 msgid "fsync, fdatasync - synchronize a file's in-core state with storage device"
@@ -6839,10 +8136,10 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fsync.2:171
+#: build/C/man2/fsync.2:170
 msgid ""
 "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), "
-"B<mount>(8), B<sync>(8), B<update>(8)"
+"B<mount>(8), B<sync>(1)"
 msgstr ""
 
 #. type: TH
@@ -6908,7 +8205,7 @@ msgstr ""
 #: build/C/man3/get_nprocs_conf.3:57
 msgid ""
 "The current implementation of these functions is rather expensive, since "
-"they open and parse files in the I</sys> file system each time they are "
+"they open and parse files in the I</sys> filesystem each time they are "
 "called."
 msgstr ""
 
@@ -7028,10 +8325,10 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/get_thread_area.2:55 build/C/man2/set_thread_area.2:72
+#: build/C/man2/get_thread_area.2:55
 msgid ""
 "Glibc does not provide a wrapper for this system call, since it is generally "
-"intended only for use by threading libraries.  In the unlikely event that "
+"intended for use only by threading libraries.  In the unlikely event that "
 "you want to call it directly, use B<syscall>(2)."
 msgstr ""
 
@@ -7124,11 +8421,11 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/getcwd.3:118
 msgid ""
-"As an extension to the POSIX.1-2001 standard, Linux (libc4, libc5, glibc)  "
-"B<getcwd>()  allocates the buffer dynamically using B<malloc>(3)  if I<buf> "
-"is NULL.  In this case, the allocated buffer has the length I<size> unless "
-"I<size> is zero, when I<buf> is allocated as big as necessary.  The caller "
-"should B<free>(3)  the returned buffer."
+"As an extension to the POSIX.1-2001 standard, glibc's B<getcwd>()  allocates "
+"the buffer dynamically using B<malloc>(3)  if I<buf> is NULL.  In this case, "
+"the allocated buffer has the length I<size> unless I<size> is zero, when "
+"I<buf> is allocated as big as necessary.  The caller should B<free>(3)  the "
+"returned buffer."
 msgstr ""
 
 #. type: Plain text
@@ -7149,7 +8446,7 @@ msgid ""
 "terminating null byte, exceeds B<PATH_MAX> bytes, NULL is returned, and "
 "I<errno> is set to B<ENAMETOOLONG>.  (Note that on some systems, B<PATH_MAX> "
 "may not be a compile-time constant; furthermore, its value may depend on the "
-"file system, see B<pathconf>(3).)  For portability and security reasons, use "
+"filesystem, see B<pathconf>(3).)  For portability and security reasons, use "
 "of B<getwd>()  is deprecated."
 msgstr ""
 
@@ -7181,7 +8478,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/getcwd.3:187
-msgid "The I<size> argument is zero and I<buf> is not a NULL pointer."
+msgid "The I<size> argument is zero and I<buf> is not a null pointer."
 msgstr ""
 
 #. type: TP
@@ -7214,7 +8511,7 @@ msgid "The current working directory has been unlinked."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/getcwd.3:201 build/C/man3/getlogin.3:112
+#: build/C/man3/getcwd.3:201 build/C/man3/getlogin.3:114
 #, no-wrap
 msgid "B<ERANGE>"
 msgstr ""
@@ -7252,7 +8549,7 @@ msgstr ""
 msgid ""
 "Under Linux, the function B<getcwd>()  is a system call (since 2.1.92).  On "
 "older systems it would query I</proc/self/cwd>.  If both system call and "
-"proc file system are missing, a generic implementation is called.  Only in "
+"proc filesystem are missing, a generic implementation is called.  Only in "
 "that case can these calls fail under Linux with B<EACCES>."
 msgstr ""
 
@@ -7401,12 +8698,6 @@ msgstr ""
 msgid "GETDTABLESIZE"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/getdtablesize.3:27
-#, no-wrap
-msgid "2013-02-05"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/getdtablesize.3:30
 msgid "getdtablesize - get descriptor table size"
@@ -7450,24 +8741,31 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getdtablesize.3:77
+#: build/C/man3/getdtablesize.3:74
+msgid "The B<getdtablesize>()  function is thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/getdtablesize.3:82
 msgid ""
 "SVr4, 4.4BSD (the B<getdtablesize>()  function first appeared in 4.2BSD).  "
 "It is not specified in POSIX.1-2001; portable applications should employ "
 "I<sysconf(_SC_OPEN_MAX)> instead of this call."
 msgstr ""
 
+#.  The libc4 and libc5 versions return
+#.  .B OPEN_MAX
+#.  (set to 256 since Linux 0.98.4).
 #. type: Plain text
-#: build/C/man3/getdtablesize.3:90
+#: build/C/man3/getdtablesize.3:95
 msgid ""
 "B<getdtablesize>()  is implemented as a libc library function.  The glibc "
 "version calls B<getrlimit>(2)  and returns the current B<RLIMIT_NOFILE> "
-"limit, or B<OPEN_MAX> when that fails.  The libc4 and libc5 versions return "
-"B<OPEN_MAX> (set to 256 since Linux 0.98.4)."
+"limit, or B<OPEN_MAX> when that fails."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getdtablesize.3:95
+#: build/C/man3/getdtablesize.3:100
 msgid "B<close>(2), B<dup>(2), B<getrlimit>(2), B<open>(2)"
 msgstr ""
 
@@ -7735,7 +9033,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/getlogin.3:28
 #, no-wrap
-msgid "2008-06-29"
+msgid "2013-04-19"
 msgstr ""
 
 #. type: Plain text
@@ -7777,7 +9075,7 @@ msgstr ""
 #: build/C/man3/getlogin.3:61
 msgid ""
 "B<getlogin>()  returns a pointer to a string containing the name of the user "
-"logged in on the controlling terminal of the process, or a NULL pointer if "
+"logged in on the controlling terminal of the process, or a null pointer if "
 "this information cannot be determined.  The string is statically allocated "
 "and might be overwritten on subsequent calls to this function or to "
 "B<cuserid>()."
@@ -7794,7 +9092,7 @@ msgstr ""
 #: build/C/man3/getlogin.3:79
 msgid ""
 "B<cuserid>()  returns a pointer to a string containing a username associated "
-"with the effective user ID of the process.  If I<string> is not a NULL "
+"with the effective user ID of the process.  If I<string> is not a null "
 "pointer, it should be an array that can hold at least B<L_cuserid> "
 "characters; the string is returned in this array.  Otherwise, a pointer to a "
 "string in a static area is returned.  This string is statically allocated "
@@ -7827,102 +9125,119 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:101
+#: build/C/man3/getlogin.3:103
 msgid ""
 "B<getlogin>()  returns a pointer to the username when successful, and NULL "
-"on failure.  B<getlogin_r>()  returns 0 when successful, and nonzero on "
-"failure."
+"on failure, with I<errno> set to indicate the cause of the error.  "
+"B<getlogin_r>()  returns 0 when successful, and nonzero on failure."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:103
+#: build/C/man3/getlogin.3:105
 msgid "POSIX specifies"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:106
+#: build/C/man3/getlogin.3:108
 msgid "The calling process already has the maximum allowed number of open files."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:109
+#: build/C/man3/getlogin.3:111
 msgid "The system already has the maximum allowed number of open files."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/getlogin.3:109
+#: build/C/man3/getlogin.3:111
 #, no-wrap
 msgid "B<ENXIO>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:112
+#: build/C/man3/getlogin.3:114
 msgid "The calling process has no controlling terminal."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:118
+#: build/C/man3/getlogin.3:120
 msgid ""
 "(getlogin_r)  The length of the username, including the terminating null "
-"byte, is larger than I<bufsize>."
+"byte (\\(aq\\e0\\(aq), is larger than I<bufsize>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:120
+#: build/C/man3/getlogin.3:122
 msgid "Linux/glibc also has"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:123
+#: build/C/man3/getlogin.3:125
 msgid "There was no corresponding entry in the utmp-file."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:126
+#: build/C/man3/getlogin.3:128
 msgid "Insufficient memory to allocate passwd structure."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/getlogin.3:126 build/C/man2/ioctl.2:107 build/C/man2/ioctl.2:111 build/C/man3/tcgetpgrp.3:92
+#: build/C/man3/getlogin.3:128 build/C/man2/ioctl.2:109 build/C/man2/ioctl.2:113 build/C/man3/tcgetpgrp.3:95
 #, no-wrap
 msgid "B<ENOTTY>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:130
+#: build/C/man3/getlogin.3:132
 msgid "Standard input didn't refer to a terminal.  (See BUGS.)"
 msgstr ""
 
 #. type: TP
-#: build/C/man3/getlogin.3:131
+#: build/C/man3/getlogin.3:133
 #, no-wrap
 msgid "I</etc/passwd>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:134
+#: build/C/man3/getlogin.3:136
 msgid "password database file"
 msgstr ""
 
 #. type: TP
-#: build/C/man3/getlogin.3:134
+#: build/C/man3/getlogin.3:136
 #, no-wrap
 msgid "I</var/run/utmp>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:138
+#: build/C/man3/getlogin.3:140
 msgid "(traditionally I</etc/utmp>; some libc versions used I</var/adm/utmp>)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:143
-msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
+#: build/C/man3/getlogin.3:145
+msgid "The B<getlogin>()  function is not thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/getlogin.3:149
+msgid "The B<getlogin_r>()  function is thread-safe."
 msgstr ""
 
 #. type: Plain text
 #: build/C/man3/getlogin.3:154
 msgid ""
+"The B<cuserid>()  function is thread-safe with exceptions.  It is not "
+"thread-safe if called with a NULL parameter."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/getlogin.3:159
+msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/getlogin.3:170
+msgid ""
 "System V has a B<cuserid>()  function which uses the real user ID rather "
 "than the effective user ID.  The B<cuserid>()  function was included in the "
 "1988 version of POSIX, but removed from the 1990 version.  It was present in "
@@ -7930,14 +9245,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:161
+#: build/C/man3/getlogin.3:177
 msgid ""
 "OpenBSD has B<getlogin>()  and B<setlogin>(), and a username associated with "
 "a session, even if it has no controlling terminal."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:173
+#: build/C/man3/getlogin.3:189
 msgid ""
 "Unfortunately, it is often rather easy to fool B<getlogin>().  Sometimes it "
 "does not work at all, because some program messed up the utmp file.  Often, "
@@ -7947,7 +9262,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:183
+#: build/C/man3/getlogin.3:199
 msgid ""
 "Note that glibc does not follow the POSIX specification and uses I<stdin> "
 "instead of I</dev/tty>.  A bug.  (Other recent systems, like SunOS 5.8 and "
@@ -7956,7 +9271,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:193
+#: build/C/man3/getlogin.3:209
 msgid ""
 "Nobody knows precisely what B<cuserid>()  does; avoid it in portable "
 "programs.  Or avoid it altogether: use I<getpwuid(geteuid())> instead, if "
@@ -7964,7 +9279,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getlogin.3:197
+#: build/C/man3/getlogin.3:213
 msgid "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
 msgstr ""
 
@@ -7974,6 +9289,12 @@ msgstr ""
 msgid "GETOPT"
 msgstr ""
 
+#. type: TH
+#: build/C/man3/getopt.3:41
+#, no-wrap
+msgid "2015-02-01"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man3/getopt.3:45
 msgid ""
@@ -8354,8 +9675,14 @@ msgid ""
 "implementations) implements the correct behavior rather than that specified."
 msgstr ""
 
+#. type: SS
+#: build/C/man3/getopt.3:377
+#, no-wrap
+msgid "getopt()"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man3/getopt.3:384
+#: build/C/man3/getopt.3:385
 msgid ""
 "The following trivial example program uses B<getopt>()  to handle two "
 "program options: I<-n>, with no associated value; and I<-t val>, which "
@@ -8363,7 +9690,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:389
+#: build/C/man3/getopt.3:390
 #, no-wrap
 msgid ""
 "#include E<lt>unistd.hE<gt>\n"
@@ -8372,7 +9699,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:395
+#: build/C/man3/getopt.3:396
 #, no-wrap
 msgid ""
 "int\n"
@@ -8383,7 +9710,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:414
+#: build/C/man3/getopt.3:415
 #, no-wrap
 msgid ""
 "    nsecs = 0;\n"
@@ -8407,13 +9734,15 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:416
+#: build/C/man3/getopt.3:418
 #, no-wrap
-msgid "    printf(\"flags=%d; tfnd=%d; optind=%d\\en\", flags, tfnd, optind);\n"
+msgid ""
+"    printf(\"flags=%d; tfnd=%d; nsecs=%d; optind=%d\\en\",\n"
+"            flags, tfnd, nsecs, optind);\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:421
+#: build/C/man3/getopt.3:423
 #, no-wrap
 msgid ""
 "    if (optind E<gt>= argc) {\n"
@@ -8423,26 +9752,32 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:423
+#: build/C/man3/getopt.3:425
 #, no-wrap
 msgid "    printf(\"name argument = %s\\en\", argv[optind]);\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:425
+#: build/C/man3/getopt.3:427
 #, no-wrap
 msgid "    /* Other code omitted */\n"
 msgstr ""
 
+#. type: SS
+#: build/C/man3/getopt.3:431
+#, no-wrap
+msgid "getopt_long()"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man3/getopt.3:433
+#: build/C/man3/getopt.3:435
 msgid ""
 "The following example program illustrates the use of B<getopt_long>()  with "
 "most of its features."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:438
+#: build/C/man3/getopt.3:440
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>     /* for printf */\n"
@@ -8451,7 +9786,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:444
+#: build/C/man3/getopt.3:446
 #, no-wrap
 msgid ""
 "int\n"
@@ -8462,7 +9797,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:457
+#: build/C/man3/getopt.3:459
 #, no-wrap
 msgid ""
 "    while (1) {\n"
@@ -8480,7 +9815,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:462
+#: build/C/man3/getopt.3:464
 #, no-wrap
 msgid ""
 "        c = getopt_long(argc, argv, \"abc:d:012\",\n"
@@ -8490,7 +9825,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:470
+#: build/C/man3/getopt.3:472
 #, no-wrap
 msgid ""
 "        switch (c) {\n"
@@ -8503,7 +9838,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:479
+#: build/C/man3/getopt.3:481
 #, no-wrap
 msgid ""
 "        case \\(aq0\\(aq:\n"
@@ -8518,7 +9853,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:483
+#: build/C/man3/getopt.3:485
 #, no-wrap
 msgid ""
 "        case \\(aqa\\(aq:\n"
@@ -8527,7 +9862,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:487
+#: build/C/man3/getopt.3:489
 #, no-wrap
 msgid ""
 "        case \\(aqb\\(aq:\n"
@@ -8536,7 +9871,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:491
+#: build/C/man3/getopt.3:493
 #, no-wrap
 msgid ""
 "        case \\(aqc\\(aq:\n"
@@ -8545,7 +9880,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:495
+#: build/C/man3/getopt.3:497
 #, no-wrap
 msgid ""
 "        case \\(aqd\\(aq:\n"
@@ -8554,7 +9889,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:498
+#: build/C/man3/getopt.3:500
 #, no-wrap
 msgid ""
 "        case \\(aq?\\(aq:\n"
@@ -8562,7 +9897,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:503
+#: build/C/man3/getopt.3:505
 #, no-wrap
 msgid ""
 "        default:\n"
@@ -8572,7 +9907,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:510
+#: build/C/man3/getopt.3:512
 #, no-wrap
 msgid ""
 "    if (optind E<lt> argc) {\n"
@@ -8584,8 +9919,8 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getopt.3:516
-msgid "B<getsubopt>(3)"
+#: build/C/man3/getopt.3:519
+msgid "B<getopt>(1), B<getsubopt>(3)"
 msgstr ""
 
 #. type: TH
@@ -8594,12 +9929,6 @@ msgstr ""
 msgid "GETPAGESIZE"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/getpagesize.2:25
-#, no-wrap
-msgid "2010-11-16"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man2/getpagesize.2:28
 msgid "getpagesize - get memory page size"
@@ -8662,9 +9991,9 @@ msgid ""
 "model, in order to have a single binary distribution per architecture.  This "
 "means that a user program should not find B<PAGE_SIZE> at compile time from "
 "a header file, but use an actual system call, at least for those "
-"architectures (like sun4) where this dependency exists.  Here libc4, libc5, "
-"glibc 2.0 fail because their B<getpagesize>()  returns a statically derived "
-"value, and does not use a system call.  Things are OK in glibc 2.1."
+"architectures (like sun4) where this dependency exists.  Here glibc 2.0 "
+"fails because its B<getpagesize>()  returns a statically derived value, and "
+"does not use a system call.  Things are OK in glibc 2.1."
 msgstr ""
 
 #. type: Plain text
@@ -8681,7 +10010,7 @@ msgstr ""
 #. type: TH
 #: build/C/man2/gettid.2:26
 #, no-wrap
-msgid "2013-02-04"
+msgid "2014-02-11"
 msgstr ""
 
 #. type: Plain text
@@ -8733,7 +10062,7 @@ msgid ""
 "intended to be portable."
 msgstr ""
 
-#.  FIXME See http://sourceware.org/bugzilla/show_bug.cgi?id=6399
+#.  FIXME See http://sourceware.org/bugzilla/show_bug.cgi?id=6399
 #.  "gettid() should have a wrapper"
 #. type: Plain text
 #: build/C/man2/gettid.2:67
@@ -8760,7 +10089,7 @@ msgid ""
 "B<capget>(2), B<clone>(2), B<fcntl>(2), B<fork>(2), B<get_robust_list>(2), "
 "B<getpid>(2), B<ioprio_set>(2), B<perf_event_open>(2), "
 "B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), "
-"B<timer_create>(2), B<tgkill>(2)"
+"B<tgkill>(2), B<timer_create>(2)"
 msgstr ""
 
 #. type: TH
@@ -8786,6 +10115,11 @@ msgid "B<#include E<lt>sys/types.hE<gt>>"
 msgstr ""
 
 #. type: Plain text
+#: build/C/man3/getumask.3:37 build/C/man2/umask.2:41
+msgid "B<#include E<lt>sys/stat.hE<gt>>"
+msgstr ""
+
+#. type: Plain text
 #: build/C/man3/getumask.3:39
 msgid "B<mode_t getumask(void);>"
 msgstr ""
@@ -8838,9 +10172,9 @@ msgid "GETUSERSHELL"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/getusershell.3:30 build/C/man2/nice.2:31 build/C/man2/vhangup.2:28
+#: build/C/man3/getusershell.3:30 build/C/man2/pread.2:25
 #, no-wrap
-msgid "2007-07-26"
+msgid "2013-06-21"
 msgstr ""
 
 #. type: Plain text
@@ -8872,7 +10206,7 @@ msgid "B<getusershell>(), B<setusershell>(), B<endusershell>():"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getusershell.3:69
+#: build/C/man3/getusershell.3:75
 msgid ""
 "The B<getusershell>()  function returns the next line from the file "
 "I</etc/shells>, opening the file if necessary.  The line should contain the "
@@ -8882,33 +10216,40 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getusershell.3:73
+#: build/C/man3/getusershell.3:80
 msgid "The B<setusershell>()  function rewinds I</etc/shells>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getusershell.3:77
+#: build/C/man3/getusershell.3:85
 msgid "The B<endusershell>()  function closes I</etc/shells>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getusershell.3:81
-msgid "The B<getusershell>()  function returns a NULL pointer on end-of-file."
+#: build/C/man3/getusershell.3:89
+msgid "The B<getusershell>()  function returns NULL on end-of-file."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getusershell.3:84
+#: build/C/man3/getusershell.3:92
 #, no-wrap
 msgid "/etc/shells\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getusershell.3:87
+#: build/C/man3/getusershell.3:101
+msgid ""
+"The B<getusershell>(), B<setusershell>()  and B<endusershell>()  functions "
+"are not thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/getusershell.3:103
 msgid "4.3BSD."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getusershell.3:89
+#: build/C/man3/getusershell.3:105
 msgid "B<shells>(5)"
 msgstr ""
 
@@ -8967,7 +10308,7 @@ msgid "Since Linux 2.3.13, this system call does not exist anymore."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/idle.2:64 build/C/man2/sysinfo.2:86
+#: build/C/man2/idle.2:64 build/C/man2/sysinfo.2:90
 msgid ""
 "This function is Linux-specific, and should not be used in programs intended "
 "to be portable."
@@ -8980,9 +10321,9 @@ msgid "IOCTL"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/ioctl.2:41
+#: build/C/man2/ioctl.2:41 build/C/man3/sysconf.3:27
 #, no-wrap
-msgid "2000-09-21"
+msgid "2014-12-31"
 msgstr ""
 
 #. type: Plain text
@@ -8995,22 +10336,24 @@ msgstr ""
 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
 msgstr ""
 
+#.  POSIX says 'request' is int, but glibc has the above
+#.  See https://bugzilla.kernel.org/show_bug.cgi?id=42705
 #. type: Plain text
-#: build/C/man2/ioctl.2:48
-msgid "B<int ioctl(int >I<d>B<, int >I<request>B<, ...);>"
+#: build/C/man2/ioctl.2:50
+msgid "B<int ioctl(int >I<fd>B<, unsigned long >I<request>B<, ...);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:59
+#: build/C/man2/ioctl.2:61
 msgid ""
 "The B<ioctl>()  function manipulates the underlying device parameters of "
 "special files.  In particular, many operating characteristics of character "
 "special files (e.g., terminals) may be controlled with B<ioctl>()  "
-"requests.  The argument I<d> must be an open file descriptor."
+"requests.  The argument I<fd> must be an open file descriptor."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:67
+#: build/C/man2/ioctl.2:69
 msgid ""
 "The second argument is a device-dependent request code.  The third argument "
 "is an untyped pointer to memory.  It's traditionally B<char *>I<argp> (from "
@@ -9019,7 +10362,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:83
+#: build/C/man2/ioctl.2:85
 msgid ""
 "An B<ioctl>()  I<request> has encoded in it whether the argument is an I<in> "
 "parameter or I<out> parameter, and the size of the argument I<argp> in "
@@ -9028,7 +10371,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:92
+#: build/C/man2/ioctl.2:94
 msgid ""
 "Usually, on success zero is returned.  A few B<ioctl>()  requests use the "
 "return value as an output parameter and return a nonnegative value on "
@@ -9036,34 +10379,34 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:97
-msgid "I<d> is not a valid descriptor."
+#: build/C/man2/ioctl.2:99 build/C/man2/truncate.2:192
+msgid "I<fd> is not a valid descriptor."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:101
+#: build/C/man2/ioctl.2:103
 msgid "I<argp> references an inaccessible memory area."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:107
-msgid "I<Request> or I<argp> is not valid."
+#: build/C/man2/ioctl.2:109
+msgid "I<request> or I<argp> is not valid."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:111
-msgid "I<d> is not associated with a character special device."
+#: build/C/man2/ioctl.2:113
+msgid "I<fd> is not associated with a character special device."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:117
+#: build/C/man2/ioctl.2:119
 msgid ""
 "The specified request does not apply to the kind of object that the "
-"descriptor I<d> references."
+"descriptor I<fd> references."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:132
+#: build/C/man2/ioctl.2:134
 msgid ""
 "No single standard.  Arguments, returns, and semantics of B<ioctl>()  vary "
 "according to the device driver in question (the call is used as a catch-all "
@@ -9073,7 +10416,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl.2:140
+#: build/C/man2/ioctl.2:142
 msgid ""
 "In order to use this call, one needs an open file descriptor.  Often the "
 "B<open>(2)  call has unwanted side effects, that can be avoided under Linux "
@@ -9082,7 +10425,7 @@ msgstr ""
 
 #.  .BR mt (4),
 #. type: Plain text
-#: build/C/man2/ioctl.2:148
+#: build/C/man2/ioctl.2:150
 msgid "B<execve>(2), B<fcntl>(2), B<ioctl_list>(2), B<open>(2), B<sd>(4), B<tty>(4)"
 msgstr ""
 
@@ -9095,7 +10438,7 @@ msgstr ""
 #. type: TH
 #: build/C/man2/ioctl_list.2:30
 #, no-wrap
-msgid "2007-12-29"
+msgid "2013-09-17"
 msgstr ""
 
 #. type: Plain text
@@ -9115,9 +10458,9 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/ioctl_list.2:48
 msgid ""
-"An argument type of I<const struct foo *> means the argument is input to the "
-"kernel.  I<struct foo *> means the kernel outputs the argument.  If the "
-"kernel uses the argument for both input and output, this is marked with "
+"An argument type of I<const struct foo\\ *> means the argument is input to "
+"the kernel.  I<struct foo\\ *> means the kernel outputs the argument.  If "
+"the kernel uses the argument for both input and output, this is marked with "
 "I<//\\ I-O>."
 msgstr ""
 
@@ -9173,7 +10516,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:97
+#: build/C/man2/ioctl_list.2:98
 msgid ""
 "The macros describing this structure live in I<E<lt>asm/ioctl.hE<gt>> and "
 "are B<_IO(type,nr)> and B<{_IOR,_IOW,_IOWR}(type,nr,size)>.  They use "
@@ -9182,7 +10525,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:102
+#: build/C/man2/ioctl_list.2:103
 msgid ""
 "Note that the size bits are very unreliable: in lots of cases they are "
 "wrong, either because of buggy macros using I<sizeof(sizeof(struct))>, or "
@@ -9190,7 +10533,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:106
+#: build/C/man2/ioctl_list.2:107
 msgid ""
 "Thus, it seems that the new structure only gave disadvantages: it does not "
 "help in checking, but it causes varying values for the various "
@@ -9198,7 +10541,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:112
+#: build/C/man2/ioctl_list.2:113
 msgid ""
 "Decent ioctls return 0 on success and -1 on error, while any output value is "
 "stored via the argument.  However, quite a few ioctls in fact return an "
@@ -9206,2678 +10549,2707 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:114
+#: build/C/man2/ioctl_list.2:115
 msgid "// Main table."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:116
+#: build/C/man2/ioctl_list.2:117
 msgid "// E<lt>include/asm-i386/socket.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:118
+#: build/C/man2/ioctl_list.2:119
 #, no-wrap
 msgid "0x00008901\tFIOSETOWN\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:119
+#: build/C/man2/ioctl_list.2:120
 #, no-wrap
 msgid "0x00008902\tSIOCSPGRP\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:120
+#: build/C/man2/ioctl_list.2:121
 #, no-wrap
 msgid "0x00008903\tFIOGETOWN\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:121
+#: build/C/man2/ioctl_list.2:122
 #, no-wrap
 msgid "0x00008904\tSIOCGPGRP\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:122
+#: build/C/man2/ioctl_list.2:123
 #, no-wrap
 msgid "0x00008905\tSIOCATMAR\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:123
+#: build/C/man2/ioctl_list.2:124
 #, no-wrap
 msgid "0x00008906\tSIOCGSTAMP\ttimeval *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:127
+#: build/C/man2/ioctl_list.2:128
 msgid "// E<lt>include/asm-i386/termios.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:129
+#: build/C/man2/ioctl_list.2:130
 #, no-wrap
 msgid "0x00005401\tTCGETS\tstruct termios *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:130
+#: build/C/man2/ioctl_list.2:131
 #, no-wrap
 msgid "0x00005402\tTCSETS\tconst struct termios *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:131
+#: build/C/man2/ioctl_list.2:132
 #, no-wrap
 msgid "0x00005403\tTCSETSW\tconst struct termios *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:132
+#: build/C/man2/ioctl_list.2:133
 #, no-wrap
 msgid "0x00005404\tTCSETSF\tconst struct termios *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:133
+#: build/C/man2/ioctl_list.2:134
 #, no-wrap
 msgid "0x00005405\tTCGETA\tstruct termio *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:134
+#: build/C/man2/ioctl_list.2:135
 #, no-wrap
 msgid "0x00005406\tTCSETA\tconst struct termio *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:135
+#: build/C/man2/ioctl_list.2:136
 #, no-wrap
 msgid "0x00005407\tTCSETAW\tconst struct termio *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:136
+#: build/C/man2/ioctl_list.2:137
 #, no-wrap
 msgid "0x00005408\tTCSETAF\tconst struct termio *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:137
+#: build/C/man2/ioctl_list.2:138
 #, no-wrap
 msgid "0x00005409\tTCSBRK\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:138
+#: build/C/man2/ioctl_list.2:139
 #, no-wrap
 msgid "0x0000540A\tTCXONC\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:139
+#: build/C/man2/ioctl_list.2:140
 #, no-wrap
 msgid "0x0000540B\tTCFLSH\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:140
+#: build/C/man2/ioctl_list.2:141
 #, no-wrap
 msgid "0x0000540C\tTIOCEXCL\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:141
+#: build/C/man2/ioctl_list.2:142
 #, no-wrap
 msgid "0x0000540D\tTIOCNXCL\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:142
+#: build/C/man2/ioctl_list.2:143
 #, no-wrap
 msgid "0x0000540E\tTIOCSCTTY\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:143
+#: build/C/man2/ioctl_list.2:144
 #, no-wrap
 msgid "0x0000540F\tTIOCGPGRP\tpid_t *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:144
+#: build/C/man2/ioctl_list.2:145
 #, no-wrap
 msgid "0x00005410\tTIOCSPGRP\tconst pid_t *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:145
+#: build/C/man2/ioctl_list.2:146
 #, no-wrap
 msgid "0x00005411\tTIOCOUTQ\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:146
+#: build/C/man2/ioctl_list.2:147
 #, no-wrap
 msgid "0x00005412\tTIOCSTI\tconst char *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:147
+#: build/C/man2/ioctl_list.2:148
 #, no-wrap
 msgid "0x00005413\tTIOCGWINSZ\tstruct winsize *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:148
+#: build/C/man2/ioctl_list.2:149
 #, no-wrap
 msgid "0x00005414\tTIOCSWINSZ\tconst struct winsize *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:149
+#: build/C/man2/ioctl_list.2:150
 #, no-wrap
 msgid "0x00005415\tTIOCMGET\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:150
+#: build/C/man2/ioctl_list.2:151
 #, no-wrap
 msgid "0x00005416\tTIOCMBIS\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:151
+#: build/C/man2/ioctl_list.2:152
 #, no-wrap
 msgid "0x00005417\tTIOCMBIC\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:152
+#: build/C/man2/ioctl_list.2:153
 #, no-wrap
 msgid "0x00005418\tTIOCMSET\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:153
+#: build/C/man2/ioctl_list.2:154
 #, no-wrap
 msgid "0x00005419\tTIOCGSOFTCAR\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:154
+#: build/C/man2/ioctl_list.2:155
 #, no-wrap
 msgid "0x0000541A\tTIOCSSOFTCAR\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:155
+#: build/C/man2/ioctl_list.2:156
 #, no-wrap
 msgid "0x0000541B\tFIONREAD\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:156
+#: build/C/man2/ioctl_list.2:157
 #, no-wrap
 msgid "0x0000541B\tTIOCINQ\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:157
+#: build/C/man2/ioctl_list.2:158
 #, no-wrap
 msgid "0x0000541C\tTIOCLINUX\tconst char *\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:158
+#: build/C/man2/ioctl_list.2:159
 #, no-wrap
 msgid "0x0000541D\tTIOCCONS\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:159
+#: build/C/man2/ioctl_list.2:160
 #, no-wrap
 msgid "0x0000541E\tTIOCGSERIAL\tstruct serial_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:160
+#: build/C/man2/ioctl_list.2:161
 #, no-wrap
 msgid "0x0000541F\tTIOCSSERIAL\tconst struct serial_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:161
+#: build/C/man2/ioctl_list.2:162
 #, no-wrap
 msgid "0x00005420\tTIOCPKT\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:162
+#: build/C/man2/ioctl_list.2:163
 #, no-wrap
 msgid "0x00005421\tFIONBIO\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:163
+#: build/C/man2/ioctl_list.2:164
 #, no-wrap
 msgid "0x00005422\tTIOCNOTTY\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:164
+#: build/C/man2/ioctl_list.2:165
 #, no-wrap
 msgid "0x00005423\tTIOCSETD\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:165
+#: build/C/man2/ioctl_list.2:166
 #, no-wrap
 msgid "0x00005424\tTIOCGETD\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:166
+#: build/C/man2/ioctl_list.2:167
 #, no-wrap
 msgid "0x00005425\tTCSBRKP\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:167
+#: build/C/man2/ioctl_list.2:168
 #, no-wrap
 msgid "0x00005426\tTIOCTTYGSTRUCT\tstruct tty_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:168
+#: build/C/man2/ioctl_list.2:169
 #, no-wrap
 msgid "0x00005450\tFIONCLEX\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:169
+#: build/C/man2/ioctl_list.2:170
 #, no-wrap
 msgid "0x00005451\tFIOCLEX\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:170
+#: build/C/man2/ioctl_list.2:171
 #, no-wrap
 msgid "0x00005452\tFIOASYNC\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:171
+#: build/C/man2/ioctl_list.2:172
 #, no-wrap
 msgid "0x00005453\tTIOCSERCONFIG\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:172
+#: build/C/man2/ioctl_list.2:173
 #, no-wrap
 msgid "0x00005454\tTIOCSERGWILD\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:173
+#: build/C/man2/ioctl_list.2:174
 #, no-wrap
 msgid "0x00005455\tTIOCSERSWILD\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:174
+#: build/C/man2/ioctl_list.2:175
 #, no-wrap
 msgid "0x00005456\tTIOCGLCKTRMIOS\tstruct termios *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:175
+#: build/C/man2/ioctl_list.2:176
 #, no-wrap
 msgid "0x00005457\tTIOCSLCKTRMIOS\tconst struct termios *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:176
+#: build/C/man2/ioctl_list.2:177
 #, no-wrap
 msgid "0x00005458\tTIOCSERGSTRUCT\tstruct async_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:177
+#: build/C/man2/ioctl_list.2:178
 #, no-wrap
 msgid "0x00005459\tTIOCSERGETLSR\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:184
+#: build/C/man2/ioctl_list.2:185
 #, no-wrap
 msgid "0x0000545A\tTIOCSERGETMULTI\tstruct serial_multiport_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:185
+#: build/C/man2/ioctl_list.2:186
 #, no-wrap
 msgid "0x0000545B\tTIOCSERSETMULTI\tconst struct serial_multiport_struct *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:189
+#: build/C/man2/ioctl_list.2:190
 msgid "// E<lt>include/linux/ax25.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:191
+#: build/C/man2/ioctl_list.2:192
 #, no-wrap
 msgid "0x000089E0\tSIOCAX25GETUID\tconst struct sockaddr_ax25 *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:192
+#: build/C/man2/ioctl_list.2:193
 #, no-wrap
 msgid "0x000089E1\tSIOCAX25ADDUID\tconst struct sockaddr_ax25 *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:193
+#: build/C/man2/ioctl_list.2:194
 #, no-wrap
 msgid "0x000089E2\tSIOCAX25DELUID\tconst struct sockaddr_ax25 *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:194
+#: build/C/man2/ioctl_list.2:195
 #, no-wrap
 msgid "0x000089E3\tSIOCAX25NOUID\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:195
+#: build/C/man2/ioctl_list.2:196
 #, no-wrap
 msgid "0x000089E4\tSIOCAX25DIGCTL\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:196
+#: build/C/man2/ioctl_list.2:197
 #, no-wrap
 msgid "0x000089E5\tSIOCAX25GETPARMS\tstruct ax25_parms_struct *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:200
+#: build/C/man2/ioctl_list.2:201
 #, no-wrap
 msgid "0x000089E6\tSIOCAX25SETPARMS\tconst struct ax25_parms_struct *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:204
+#: build/C/man2/ioctl_list.2:205
 msgid "// E<lt>include/linux/cdk.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:206
+#: build/C/man2/ioctl_list.2:207
 #, no-wrap
 msgid "0x00007314\tSTL_BINTR\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:207
+#: build/C/man2/ioctl_list.2:208
 #, no-wrap
 msgid "0x00007315\tSTL_BSTART\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:208
+#: build/C/man2/ioctl_list.2:209
 #, no-wrap
 msgid "0x00007316\tSTL_BSTOP\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:209
+#: build/C/man2/ioctl_list.2:210
 #, no-wrap
 msgid "0x00007317\tSTL_BRESET\tvoid\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:213
+#: build/C/man2/ioctl_list.2:214
 msgid "// E<lt>include/linux/cdrom.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:215
+#: build/C/man2/ioctl_list.2:216
 #, no-wrap
 msgid "0x00005301\tCDROMPAUSE\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:216
+#: build/C/man2/ioctl_list.2:217
 #, no-wrap
 msgid "0x00005302\tCDROMRESUME\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:217
+#: build/C/man2/ioctl_list.2:218
 #, no-wrap
 msgid "0x00005303\tCDROMPLAYMSF\tconst struct cdrom_msf *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:218
+#: build/C/man2/ioctl_list.2:219
 #, no-wrap
 msgid "0x00005304\tCDROMPLAYTRKIND\tconst struct cdrom_ti *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:219
+#: build/C/man2/ioctl_list.2:220
 #, no-wrap
 msgid "0x00005305\tCDROMREADTOCHDR\tstruct cdrom_tochdr *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:223
+#: build/C/man2/ioctl_list.2:224
 #, no-wrap
 msgid "0x00005306\tCDROMREADTOCENTRY\tstruct cdrom_tocentry *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:227
+#: build/C/man2/ioctl_list.2:228
 #, no-wrap
 msgid "0x00005307\tCDROMSTOP\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:228
+#: build/C/man2/ioctl_list.2:229
 #, no-wrap
 msgid "0x00005308\tCDROMSTART\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:229
+#: build/C/man2/ioctl_list.2:230
 #, no-wrap
 msgid "0x00005309\tCDROMEJECT\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:230
+#: build/C/man2/ioctl_list.2:231
 #, no-wrap
 msgid "0x0000530A\tCDROMVOLCTRL\tconst struct cdrom_volctrl *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:231
+#: build/C/man2/ioctl_list.2:232
 #, no-wrap
 msgid "0x0000530B\tCDROMSUBCHNL\tstruct cdrom_subchnl *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:232
+#: build/C/man2/ioctl_list.2:233
 #, no-wrap
 msgid "0x0000530C\tCDROMREADMODE2\tconst struct cdrom_msf *\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:233
+#: build/C/man2/ioctl_list.2:234
 #, no-wrap
 msgid "0x0000530D\tCDROMREADMODE1\tconst struct cdrom_msf *\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:234
+#: build/C/man2/ioctl_list.2:235
 #, no-wrap
 msgid "0x0000530E\tCDROMREADAUDIO\tconst struct cdrom_read_audio *\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:235
+#: build/C/man2/ioctl_list.2:236
 #, no-wrap
 msgid "0x0000530F\tCDROMEJECT_SW\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:239
+#: build/C/man2/ioctl_list.2:240
 #, no-wrap
 msgid "0x00005310\tCDROMMULTISESSION\tstruct cdrom_multisession *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:243
+#: build/C/man2/ioctl_list.2:244
 #, no-wrap
 msgid "0x00005311\tCDROM_GET_UPC\tstruct { char [8]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:244
+#: build/C/man2/ioctl_list.2:245
 #, no-wrap
 msgid "0x00005312\tCDROMRESET\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:245
+#: build/C/man2/ioctl_list.2:246
 #, no-wrap
 msgid "0x00005313\tCDROMVOLREAD\tstruct cdrom_volctrl *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:246
+#: build/C/man2/ioctl_list.2:247
 #, no-wrap
 msgid "0x00005314\tCDROMREADRAW\tconst struct cdrom_msf *\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:247
+#: build/C/man2/ioctl_list.2:248
 #, no-wrap
 msgid "0x00005315\tCDROMREADCOOKED\tconst struct cdrom_msf *\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:248
+#: build/C/man2/ioctl_list.2:249
 #, no-wrap
 msgid "0x00005316\tCDROMSEEK\tconst struct cdrom_msf *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:252
+#: build/C/man2/ioctl_list.2:253
 msgid "// E<lt>include/linux/cm206.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:254
+#: build/C/man2/ioctl_list.2:255
 #, no-wrap
 msgid "0x00002000\tCM206CTL_GET_STAT\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:255
+#: build/C/man2/ioctl_list.2:256
 #, no-wrap
 msgid "0x00002001\tCM206CTL_GET_LAST_STAT\tint\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:259
+#: build/C/man2/ioctl_list.2:260
 msgid "// E<lt>include/linux/cyclades.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:261
+#: build/C/man2/ioctl_list.2:262
 #, no-wrap
 msgid "0x00435901\tCYGETMON\tstruct cyclades_monitor *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:262
+#: build/C/man2/ioctl_list.2:263
 #, no-wrap
 msgid "0x00435902\tCYGETTHRESH\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:263
+#: build/C/man2/ioctl_list.2:264
 #, no-wrap
 msgid "0x00435903\tCYSETTHRESH\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:264
+#: build/C/man2/ioctl_list.2:265
 #, no-wrap
 msgid "0x00435904\tCYGETDEFTHRESH\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:265
+#: build/C/man2/ioctl_list.2:266
 #, no-wrap
 msgid "0x00435905\tCYSETDEFTHRESH\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:266
+#: build/C/man2/ioctl_list.2:267
 #, no-wrap
 msgid "0x00435906\tCYGETTIMEOUT\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:267
+#: build/C/man2/ioctl_list.2:268
 #, no-wrap
 msgid "0x00435907\tCYSETTIMEOUT\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:268
+#: build/C/man2/ioctl_list.2:269
 #, no-wrap
 msgid "0x00435908\tCYGETDEFTIMEOUT\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:269
+#: build/C/man2/ioctl_list.2:270
 #, no-wrap
 msgid "0x00435909\tCYSETDEFTIMEOUT\tint\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:273
+#: build/C/man2/ioctl_list.2:274
 msgid "// E<lt>include/linux/ext2_fs.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:275
+#: build/C/man2/ioctl_list.2:276
 #, no-wrap
 msgid "0x80046601\tEXT2_IOC_GETFLAGS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:276
+#: build/C/man2/ioctl_list.2:277
 #, no-wrap
 msgid "0x40046602\tEXT2_IOC_SETFLAGS\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:277
+#: build/C/man2/ioctl_list.2:278
 #, no-wrap
 msgid "0x80047601\tEXT2_IOC_GETVERSION\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:278
+#: build/C/man2/ioctl_list.2:279
 #, no-wrap
 msgid "0x40047602\tEXT2_IOC_SETVERSION\tconst int *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:282
+#: build/C/man2/ioctl_list.2:283
 msgid "// E<lt>include/linux/fd.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:284
+#: build/C/man2/ioctl_list.2:285
 #, no-wrap
 msgid "0x00000000\tFDCLRPRM\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:285
+#: build/C/man2/ioctl_list.2:286
 #, no-wrap
 msgid "0x00000001\tFDSETPRM\tconst struct floppy_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:286
+#: build/C/man2/ioctl_list.2:287
 #, no-wrap
 msgid "0x00000002\tFDDEFPRM\tconst struct floppy_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:287
+#: build/C/man2/ioctl_list.2:288
 #, no-wrap
 msgid "0x00000003\tFDGETPRM\tstruct floppy_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:288
+#: build/C/man2/ioctl_list.2:289
 #, no-wrap
 msgid "0x00000004\tFDMSGON\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:289
+#: build/C/man2/ioctl_list.2:290
 #, no-wrap
 msgid "0x00000005\tFDMSGOFF\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:290
+#: build/C/man2/ioctl_list.2:291
 #, no-wrap
 msgid "0x00000006\tFDFMTBEG\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:291
+#: build/C/man2/ioctl_list.2:292
 #, no-wrap
 msgid "0x00000007\tFDFMTTRK\tconst struct format_descr *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:292
+#: build/C/man2/ioctl_list.2:293
 #, no-wrap
 msgid "0x00000008\tFDFMTEND\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:293
+#: build/C/man2/ioctl_list.2:294
 #, no-wrap
 msgid "0x0000000A\tFDSETEMSGTRESH\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:294
+#: build/C/man2/ioctl_list.2:295
 #, no-wrap
 msgid "0x0000000B\tFDFLUSH\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:295
+#: build/C/man2/ioctl_list.2:296
 #, no-wrap
 msgid "0x0000000C\tFDSETMAXERRS\tconst struct floppy_max_errors *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:296
+#: build/C/man2/ioctl_list.2:297
 #, no-wrap
 msgid "0x0000000E\tFDGETMAXERRS\tstruct floppy_max_errors *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:297
+#: build/C/man2/ioctl_list.2:298
 #, no-wrap
 msgid "0x00000010\tFDGETDRVTYP\tstruct { char [16]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:298
+#: build/C/man2/ioctl_list.2:299
 #, no-wrap
 msgid "0x00000014\tFDSETDRVPRM\tconst struct floppy_drive_params *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:299
+#: build/C/man2/ioctl_list.2:300
 #, no-wrap
 msgid "0x00000015\tFDGETDRVPRM\tstruct floppy_drive_params *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:300
+#: build/C/man2/ioctl_list.2:301
 #, no-wrap
 msgid "0x00000016\tFDGETDRVSTAT\tstruct floppy_drive_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:301
+#: build/C/man2/ioctl_list.2:302
 #, no-wrap
 msgid "0x00000017\tFDPOLLDRVSTAT\tstruct floppy_drive_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:302
+#: build/C/man2/ioctl_list.2:303
 #, no-wrap
 msgid "0x00000018\tFDRESET\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:303
+#: build/C/man2/ioctl_list.2:304
 #, no-wrap
 msgid "0x00000019\tFDGETFDCSTAT\tstruct floppy_fdc_state *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:304
+#: build/C/man2/ioctl_list.2:305
 #, no-wrap
 msgid "0x0000001B\tFDWERRORCLR\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:305
+#: build/C/man2/ioctl_list.2:306
 #, no-wrap
 msgid "0x0000001C\tFDWERRORGET\tstruct floppy_write_errors *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:309
+#: build/C/man2/ioctl_list.2:310
 #, no-wrap
 msgid "0x0000001E\tFDRAWCMD\tstruct floppy_raw_cmd *\t// MORE // I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:310
+#: build/C/man2/ioctl_list.2:311
 #, no-wrap
 msgid "0x00000028\tFDTWADDLE\tvoid\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:314
+#: build/C/man2/ioctl_list.2:315
 msgid "// E<lt>include/linux/fs.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:316
+#: build/C/man2/ioctl_list.2:317
 #, no-wrap
 msgid "0x0000125D\tBLKROSET\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:317
+#: build/C/man2/ioctl_list.2:318
 #, no-wrap
 msgid "0x0000125E\tBLKROGET\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:318
+#: build/C/man2/ioctl_list.2:319
 #, no-wrap
 msgid "0x0000125F\tBLKRRPART\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:319
+#: build/C/man2/ioctl_list.2:320
 #, no-wrap
 msgid "0x00001260\tBLKGETSIZE\tunsigned long *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:320
+#: build/C/man2/ioctl_list.2:321
 #, no-wrap
 msgid "0x00001261\tBLKFLSBUF\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:321
+#: build/C/man2/ioctl_list.2:322
 #, no-wrap
 msgid "0x00001262\tBLKRASET\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:322
+#: build/C/man2/ioctl_list.2:323
 #, no-wrap
 msgid "0x00001263\tBLKRAGET\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:323
+#: build/C/man2/ioctl_list.2:324
 #, no-wrap
 msgid "0x00000001\tFIBMAP\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:324
+#: build/C/man2/ioctl_list.2:325
 #, no-wrap
 msgid "0x00000002\tFIGETBSZ\tint *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:328
+#: build/C/man2/ioctl_list.2:329
 msgid "// E<lt>include/linux/hdreg.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:330
+#: build/C/man2/ioctl_list.2:331
 #, no-wrap
 msgid "0x00000301\tHDIO_GETGEO\tstruct hd_geometry *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:331
+#: build/C/man2/ioctl_list.2:332
 #, no-wrap
 msgid "0x00000302\tHDIO_GET_UNMASKINTR\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:332
+#: build/C/man2/ioctl_list.2:333
 #, no-wrap
 msgid "0x00000304\tHDIO_GET_MULTCOUNT\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:333
+#: build/C/man2/ioctl_list.2:334
 #, no-wrap
 msgid "0x00000307\tHDIO_GET_IDENTITY\tstruct hd_driveid *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:334
+#: build/C/man2/ioctl_list.2:335
 #, no-wrap
 msgid "0x00000308\tHDIO_GET_KEEPSETTINGS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:335
+#: build/C/man2/ioctl_list.2:336
 #, no-wrap
 msgid "0x00000309\tHDIO_GET_CHIPSET\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:336
+#: build/C/man2/ioctl_list.2:337
 #, no-wrap
 msgid "0x0000030A\tHDIO_GET_NOWERR\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:337
+#: build/C/man2/ioctl_list.2:338
 #, no-wrap
 msgid "0x0000030B\tHDIO_GET_DMA\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:338
+#: build/C/man2/ioctl_list.2:339
 #, no-wrap
 msgid "0x0000031F\tHDIO_DRIVE_CMD\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:339
+#: build/C/man2/ioctl_list.2:340
 #, no-wrap
 msgid "0x00000321\tHDIO_SET_MULTCOUNT\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:340
+#: build/C/man2/ioctl_list.2:341
 #, no-wrap
 msgid "0x00000322\tHDIO_SET_UNMASKINTR\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:341
+#: build/C/man2/ioctl_list.2:342
 #, no-wrap
 msgid "0x00000323\tHDIO_SET_KEEPSETTINGS\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:342
+#: build/C/man2/ioctl_list.2:343
 #, no-wrap
 msgid "0x00000324\tHDIO_SET_CHIPSET\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:343
+#: build/C/man2/ioctl_list.2:344
 #, no-wrap
 msgid "0x00000325\tHDIO_SET_NOWERR\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:344
+#: build/C/man2/ioctl_list.2:345
 #, no-wrap
 msgid "0x00000326\tHDIO_SET_DMA\tint\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:348
+#: build/C/man2/ioctl_list.2:349
 msgid "// E<lt>include/linux/if_eql.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:350
+#: build/C/man2/ioctl_list.2:351
 #, no-wrap
 msgid "0x000089F0\tEQL_ENSLAVE\tstruct ifreq *\t// MORE // I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:351
+#: build/C/man2/ioctl_list.2:352
 #, no-wrap
 msgid "0x000089F1\tEQL_EMANCIPATE\tstruct ifreq *\t// MORE // I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:352
+#: build/C/man2/ioctl_list.2:353
 #, no-wrap
 msgid "0x000089F2\tEQL_GETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:353
+#: build/C/man2/ioctl_list.2:354
 #, no-wrap
 msgid "0x000089F3\tEQL_SETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:354
+#: build/C/man2/ioctl_list.2:355
 #, no-wrap
 msgid "0x000089F4\tEQL_GETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:355
+#: build/C/man2/ioctl_list.2:356
 #, no-wrap
 msgid "0x000089F5\tEQL_SETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:359
+#: build/C/man2/ioctl_list.2:360
 msgid "// E<lt>include/linux/if_plip.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:361
+#: build/C/man2/ioctl_list.2:362
 #, no-wrap
 msgid "0x000089F0\tSIOCDEVPLIP\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:365
+#: build/C/man2/ioctl_list.2:366
 msgid "// E<lt>include/linux/if_ppp.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:367
+#: build/C/man2/ioctl_list.2:368
 #, no-wrap
 msgid "0x00005490\tPPPIOCGFLAGS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:368
+#: build/C/man2/ioctl_list.2:369
 #, no-wrap
 msgid "0x00005491\tPPPIOCSFLAGS\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:369
+#: build/C/man2/ioctl_list.2:370
 #, no-wrap
 msgid "0x00005492\tPPPIOCGASYNCMAP\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:370
+#: build/C/man2/ioctl_list.2:371
 #, no-wrap
 msgid "0x00005493\tPPPIOCSASYNCMAP\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:371
+#: build/C/man2/ioctl_list.2:372
 #, no-wrap
 msgid "0x00005494\tPPPIOCGUNIT\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:372
+#: build/C/man2/ioctl_list.2:373
 #, no-wrap
 msgid "0x00005495\tPPPIOCSINPSIG\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:373
+#: build/C/man2/ioctl_list.2:374
 #, no-wrap
 msgid "0x00005497\tPPPIOCSDEBUG\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:374
+#: build/C/man2/ioctl_list.2:375
 #, no-wrap
 msgid "0x00005498\tPPPIOCGDEBUG\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:375
+#: build/C/man2/ioctl_list.2:376
 #, no-wrap
 msgid "0x00005499\tPPPIOCGSTAT\tstruct ppp_stats *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:376
+#: build/C/man2/ioctl_list.2:377
 #, no-wrap
 msgid "0x0000549A\tPPPIOCGTIME\tstruct ppp_ddinfo *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:377
+#: build/C/man2/ioctl_list.2:378
 #, no-wrap
 msgid "0x0000549B\tPPPIOCGXASYNCMAP\tstruct { int [8]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:378
+#: build/C/man2/ioctl_list.2:379
 #, no-wrap
 msgid "0x0000549C\tPPPIOCSXASYNCMAP\tconst struct { int [8]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:379
+#: build/C/man2/ioctl_list.2:380
 #, no-wrap
 msgid "0x0000549D\tPPPIOCSMRU\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:380
+#: build/C/man2/ioctl_list.2:381
 #, no-wrap
 msgid "0x0000549E\tPPPIOCRASYNCMAP\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:381
+#: build/C/man2/ioctl_list.2:382
 #, no-wrap
 msgid "0x0000549F\tPPPIOCSMAXCID\tconst int *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:385
+#: build/C/man2/ioctl_list.2:386
 msgid "// E<lt>include/linux/ipx.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:387
+#: build/C/man2/ioctl_list.2:388
 #, no-wrap
 msgid "0x000089E0\tSIOCAIPXITFCRT\tconst char *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:388
+#: build/C/man2/ioctl_list.2:389
 #, no-wrap
 msgid "0x000089E1\tSIOCAIPXPRISLT\tconst char *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:389
+#: build/C/man2/ioctl_list.2:390
 #, no-wrap
 msgid "0x000089E2\tSIOCIPXCFGDATA\tstruct ipx_config_data *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:393
+#: build/C/man2/ioctl_list.2:394
 msgid "// E<lt>include/linux/kd.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:395
+#: build/C/man2/ioctl_list.2:396
 #, no-wrap
 msgid "0x00004B60\tGIO_FONT\tstruct { char [8192]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:396
+#: build/C/man2/ioctl_list.2:397
 #, no-wrap
 msgid "0x00004B61\tPIO_FONT\tconst struct { char [8192]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:400
+#: build/C/man2/ioctl_list.2:401
 #, no-wrap
 msgid "0x00004B6B\tGIO_FONTX\tstruct console_font_desc *\t// MORE // I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:401
+#: build/C/man2/ioctl_list.2:402
 #, no-wrap
 msgid "0x00004B6C\tPIO_FONTX\tconst struct console_font_desc *\t//MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:405
+#: build/C/man2/ioctl_list.2:406
 #, no-wrap
 msgid "0x00004B70\tGIO_CMAP\tstruct { char [48]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:406
+#: build/C/man2/ioctl_list.2:407
 #, no-wrap
 msgid "0x00004B71\tPIO_CMAP\tconst struct { char [48]; }\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:410
+#: build/C/man2/ioctl_list.2:411
 #, no-wrap
 msgid "0x00004B2F\tKIOCSOUND\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:411
+#: build/C/man2/ioctl_list.2:412
 #, no-wrap
 msgid "0x00004B30\tKDMKTONE\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:412
+#: build/C/man2/ioctl_list.2:413
 #, no-wrap
 msgid "0x00004B31\tKDGETLED\tchar *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:413
+#: build/C/man2/ioctl_list.2:414
 #, no-wrap
 msgid "0x00004B32\tKDSETLED\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:414
+#: build/C/man2/ioctl_list.2:415
 #, no-wrap
 msgid "0x00004B33\tKDGKBTYPE\tchar *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:415
+#: build/C/man2/ioctl_list.2:416
 #, no-wrap
 msgid "0x00004B34\tKDADDIO\tint\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:416
+#: build/C/man2/ioctl_list.2:417
 #, no-wrap
 msgid "0x00004B35\tKDDELIO\tint\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:417
+#: build/C/man2/ioctl_list.2:418
 #, no-wrap
 msgid "0x00004B36\tKDENABIO\tvoid\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:418
+#: build/C/man2/ioctl_list.2:419
 #, no-wrap
 msgid "0x00004B37\tKDDISABIO\tvoid\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:419
+#: build/C/man2/ioctl_list.2:420
 #, no-wrap
 msgid "0x00004B3A\tKDSETMODE\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:420
+#: build/C/man2/ioctl_list.2:421
 #, no-wrap
 msgid "0x00004B3B\tKDGETMODE\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:421
+#: build/C/man2/ioctl_list.2:422
 #, no-wrap
 msgid "0x00004B3C\tKDMAPDISP\tvoid\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:422
+#: build/C/man2/ioctl_list.2:423
 #, no-wrap
 msgid "0x00004B3D\tKDUNMAPDISP\tvoid\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:423
+#: build/C/man2/ioctl_list.2:424
 #, no-wrap
 msgid "0x00004B40\tGIO_SCRNMAP\tstruct { char [E_TABSZ]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:427
+#: build/C/man2/ioctl_list.2:428
 #, no-wrap
 msgid "0x00004B41\tPIO_SCRNMAP\tconst struct { char [E_TABSZ]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:428
+#: build/C/man2/ioctl_list.2:429
 #, no-wrap
 msgid "0x00004B69\tGIO_UNISCRNMAP\tstruct { short [E_TABSZ]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:429
+#: build/C/man2/ioctl_list.2:430
 #, no-wrap
 msgid "0x00004B6A\tPIO_UNISCRNMAP\tconst struct { short [E_TABSZ]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:433
+#: build/C/man2/ioctl_list.2:434
 #, no-wrap
 msgid "0x00004B66\tGIO_UNIMAP\tstruct unimapdesc *\t// MORE // I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:434
+#: build/C/man2/ioctl_list.2:435
 #, no-wrap
 msgid "0x00004B67\tPIO_UNIMAP\tconst struct unimapdesc *\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:435
+#: build/C/man2/ioctl_list.2:436
 #, no-wrap
 msgid "0x00004B68\tPIO_UNIMAPCLR\tconst struct unimapinit *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:436
+#: build/C/man2/ioctl_list.2:437
 #, no-wrap
 msgid "0x00004B44\tKDGKBMODE\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:437
+#: build/C/man2/ioctl_list.2:438
 #, no-wrap
 msgid "0x00004B45\tKDSKBMODE\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:438
+#: build/C/man2/ioctl_list.2:439
 #, no-wrap
 msgid "0x00004B62\tKDGKBMETA\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:439
+#: build/C/man2/ioctl_list.2:440
 #, no-wrap
 msgid "0x00004B63\tKDSKBMETA\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:440
+#: build/C/man2/ioctl_list.2:441
 #, no-wrap
 msgid "0x00004B64\tKDGKBLED\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:441
+#: build/C/man2/ioctl_list.2:442
 #, no-wrap
 msgid "0x00004B65\tKDSKBLED\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:442
+#: build/C/man2/ioctl_list.2:443
 #, no-wrap
 msgid "0x00004B46\tKDGKBENT\tstruct kbentry *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:443
+#: build/C/man2/ioctl_list.2:444
 #, no-wrap
 msgid "0x00004B47\tKDSKBENT\tconst struct kbentry *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:444
+#: build/C/man2/ioctl_list.2:445
 #, no-wrap
 msgid "0x00004B48\tKDGKBSENT\tstruct kbsentry *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:445
+#: build/C/man2/ioctl_list.2:446
 #, no-wrap
 msgid "0x00004B49\tKDSKBSENT\tconst struct kbsentry *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:446
+#: build/C/man2/ioctl_list.2:447
 #, no-wrap
 msgid "0x00004B4A\tKDGKBDIACR\tstruct kbdiacrs *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:447
+#: build/C/man2/ioctl_list.2:448
 #, no-wrap
 msgid "0x00004B4B\tKDSKBDIACR\tconst struct kbdiacrs *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:448
+#: build/C/man2/ioctl_list.2:449
 #, no-wrap
 msgid "0x00004B4C\tKDGETKEYCODE\tstruct kbkeycode *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:449
+#: build/C/man2/ioctl_list.2:450
 #, no-wrap
 msgid "0x00004B4D\tKDSETKEYCODE\tconst struct kbkeycode *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:450
+#: build/C/man2/ioctl_list.2:451
 #, no-wrap
 msgid "0x00004B4E\tKDSIGACCEPT\tint\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:454
+#: build/C/man2/ioctl_list.2:455
 msgid "// E<lt>include/linux/lp.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:456
+#: build/C/man2/ioctl_list.2:457
 #, no-wrap
 msgid "0x00000601\tLPCHAR\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:457
+#: build/C/man2/ioctl_list.2:458
 #, no-wrap
 msgid "0x00000602\tLPTIME\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:458
+#: build/C/man2/ioctl_list.2:459
 #, no-wrap
 msgid "0x00000604\tLPABORT\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:459
+#: build/C/man2/ioctl_list.2:460
 #, no-wrap
 msgid "0x00000605\tLPSETIRQ\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:460
+#: build/C/man2/ioctl_list.2:461
 #, no-wrap
 msgid "0x00000606\tLPGETIRQ\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:461
+#: build/C/man2/ioctl_list.2:462
 #, no-wrap
 msgid "0x00000608\tLPWAIT\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:462
+#: build/C/man2/ioctl_list.2:463
 #, no-wrap
 msgid "0x00000609\tLPCAREFUL\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:463
+#: build/C/man2/ioctl_list.2:464
 #, no-wrap
 msgid "0x0000060A\tLPABORTOPEN\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:464
+#: build/C/man2/ioctl_list.2:465
 #, no-wrap
 msgid "0x0000060B\tLPGETSTATUS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:465
+#: build/C/man2/ioctl_list.2:466
 #, no-wrap
 msgid "0x0000060C\tLPRESET\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:466
+#: build/C/man2/ioctl_list.2:467
 #, no-wrap
 msgid "0x0000060D\tLPGETSTATS\tstruct lp_stats *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:470
+#: build/C/man2/ioctl_list.2:471
 msgid "// E<lt>include/linux/mroute.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:472
+#: build/C/man2/ioctl_list.2:473
 #, no-wrap
 msgid "0x000089E0\tSIOCGETVIFCNT\tstruct sioc_vif_req *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:473
+#: build/C/man2/ioctl_list.2:474
 #, no-wrap
 msgid "0x000089E1\tSIOCGETSGCNT\tstruct sioc_sg_req *\t// I-O\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:477
+#: build/C/man2/ioctl_list.2:478
+msgid "// E<lt>include/linux/msdos_fs.hE<gt>"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/ioctl_list.2:480
+#, no-wrap
+msgid "0x82307201\tVFAT_IOCTL_READDIR_BOTH\tstruct dirent [2]\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/ioctl_list.2:481
+#, no-wrap
+msgid "0x82307202\tVFAT_IOCTL_READDIR_SHORT\tstruct dirent [2]\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/ioctl_list.2:482
+#, no-wrap
+msgid "0x80047210\tFAT_IOCTL_GET_ATTRIBUTES\t__u32 *\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/ioctl_list.2:483
+#, no-wrap
+msgid "0x40047211\tFAT_IOCTL_SET_ATTRIBUTES\tconst __u32 *\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/ioctl_list.2:487
 msgid "// E<lt>include/linux/mtio.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:479
+#: build/C/man2/ioctl_list.2:489
 #, no-wrap
 msgid "0x40086D01\tMTIOCTOP\tconst struct mtop *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:480
+#: build/C/man2/ioctl_list.2:490
 #, no-wrap
 msgid "0x801C6D02\tMTIOCGET\tstruct mtget *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:481
+#: build/C/man2/ioctl_list.2:491
 #, no-wrap
 msgid "0x80046D03\tMTIOCPOS\tstruct mtpos *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:482
+#: build/C/man2/ioctl_list.2:492
 #, no-wrap
 msgid "0x80206D04\tMTIOCGETCONFIG\tstruct mtconfiginfo *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:483
+#: build/C/man2/ioctl_list.2:493
 #, no-wrap
 msgid "0x40206D05\tMTIOCSETCONFIG\tconst struct mtconfiginfo *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:487
+#: build/C/man2/ioctl_list.2:497
 msgid "// E<lt>include/linux/netrom.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:489
+#: build/C/man2/ioctl_list.2:499
 #, no-wrap
 msgid "0x000089E0\tSIOCNRGETPARMS\tstruct nr_parms_struct *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:490
+#: build/C/man2/ioctl_list.2:500
 #, no-wrap
 msgid "0x000089E1\tSIOCNRSETPARMS\tconst struct nr_parms_struct *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:491
+#: build/C/man2/ioctl_list.2:501
 #, no-wrap
 msgid "0x000089E2\tSIOCNRDECOBS\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:492
+#: build/C/man2/ioctl_list.2:502
 #, no-wrap
 msgid "0x000089E3\tSIOCNRRTCTL\tconst int *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:496
+#: build/C/man2/ioctl_list.2:506
 msgid "// E<lt>include/linux/sbpcd.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:498
+#: build/C/man2/ioctl_list.2:508
 #, no-wrap
 msgid "0x00009000\tDDIOCSDBG\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:499
+#: build/C/man2/ioctl_list.2:509
 #, no-wrap
 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tint\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:503
+#: build/C/man2/ioctl_list.2:513
 msgid "// E<lt>include/linux/scc.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:505
+#: build/C/man2/ioctl_list.2:515
 #, no-wrap
 msgid "0x00005470\tTIOCSCCINI\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:506
+#: build/C/man2/ioctl_list.2:516
 #, no-wrap
 msgid "0x00005471\tTIOCCHANINI\tconst struct scc_modem *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:507
+#: build/C/man2/ioctl_list.2:517
 #, no-wrap
 msgid "0x00005472\tTIOCGKISS\tstruct ioctl_command *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:508
+#: build/C/man2/ioctl_list.2:518
 #, no-wrap
 msgid "0x00005473\tTIOCSKISS\tconst struct ioctl_command *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:509
+#: build/C/man2/ioctl_list.2:519
 #, no-wrap
 msgid "0x00005474\tTIOCSCCSTAT\tstruct scc_stat *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:513
+#: build/C/man2/ioctl_list.2:523
 msgid "// E<lt>include/linux/scsi.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:515
+#: build/C/man2/ioctl_list.2:525
 #, no-wrap
 msgid "0x00005382\tSCSI_IOCTL_GET_IDLUN\tstruct { int [2]; } *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:516
+#: build/C/man2/ioctl_list.2:526
 #, no-wrap
 msgid "0x00005383\tSCSI_IOCTL_TAGGED_ENABLE\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:517
+#: build/C/man2/ioctl_list.2:527
 #, no-wrap
 msgid "0x00005384\tSCSI_IOCTL_TAGGED_DISABLE\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:521
+#: build/C/man2/ioctl_list.2:531
 #, no-wrap
 msgid "0x00005385\tSCSI_IOCTL_PROBE_HOST\tconst int *\t// MORE\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:525
+#: build/C/man2/ioctl_list.2:535
 msgid "// E<lt>include/linux/smb_fs.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:527
+#: build/C/man2/ioctl_list.2:537
 #, no-wrap
 msgid "0x80027501\tSMB_IOC_GETMOUNTUID\tuid_t *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:531
+#: build/C/man2/ioctl_list.2:541
 msgid "// E<lt>include/linux/sockios.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:533
+#: build/C/man2/ioctl_list.2:543
 #, no-wrap
 msgid "0x0000890B\tSIOCADDRT\tconst struct rtentry *\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:534
+#: build/C/man2/ioctl_list.2:544
 #, no-wrap
 msgid "0x0000890C\tSIOCDELRT\tconst struct rtentry *\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:535
+#: build/C/man2/ioctl_list.2:545
 #, no-wrap
 msgid "0x00008910\tSIOCGIFNAME\tchar []\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:536
+#: build/C/man2/ioctl_list.2:546
 #, no-wrap
 msgid "0x00008911\tSIOCSIFLINK\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:537
+#: build/C/man2/ioctl_list.2:547
 #, no-wrap
 msgid "0x00008912\tSIOCGIFCONF\tstruct ifconf *\t// MORE // I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:538
+#: build/C/man2/ioctl_list.2:548
 #, no-wrap
 msgid "0x00008913\tSIOCGIFFLAGS\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:539
+#: build/C/man2/ioctl_list.2:549
 #, no-wrap
 msgid "0x00008914\tSIOCSIFFLAGS\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:540
+#: build/C/man2/ioctl_list.2:550
 #, no-wrap
 msgid "0x00008915\tSIOCGIFADDR\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:541
+#: build/C/man2/ioctl_list.2:551
 #, no-wrap
 msgid "0x00008916\tSIOCSIFADDR\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:542
+#: build/C/man2/ioctl_list.2:552
 #, no-wrap
 msgid "0x00008917\tSIOCGIFDSTADDR\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:543
+#: build/C/man2/ioctl_list.2:553
 #, no-wrap
 msgid "0x00008918\tSIOCSIFDSTADDR\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:544
+#: build/C/man2/ioctl_list.2:554
 #, no-wrap
 msgid "0x00008919\tSIOCGIFBRDADDR\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:545
+#: build/C/man2/ioctl_list.2:555
 #, no-wrap
 msgid "0x0000891A\tSIOCSIFBRDADDR\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:546
+#: build/C/man2/ioctl_list.2:556
 #, no-wrap
 msgid "0x0000891B\tSIOCGIFNETMASK\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:547
+#: build/C/man2/ioctl_list.2:557
 #, no-wrap
 msgid "0x0000891C\tSIOCSIFNETMASK\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:548
+#: build/C/man2/ioctl_list.2:558
 #, no-wrap
 msgid "0x0000891D\tSIOCGIFMETRIC\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:549
+#: build/C/man2/ioctl_list.2:559
 #, no-wrap
 msgid "0x0000891E\tSIOCSIFMETRIC\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:550
+#: build/C/man2/ioctl_list.2:560
 #, no-wrap
 msgid "0x0000891F\tSIOCGIFMEM\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:551
+#: build/C/man2/ioctl_list.2:561
 #, no-wrap
 msgid "0x00008920\tSIOCSIFMEM\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:552
+#: build/C/man2/ioctl_list.2:562
 #, no-wrap
 msgid "0x00008921\tSIOCGIFMTU\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:553
+#: build/C/man2/ioctl_list.2:563
 #, no-wrap
 msgid "0x00008922\tSIOCSIFMTU\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:557
+#: build/C/man2/ioctl_list.2:567
 #, no-wrap
 msgid "0x00008923\tOLD_SIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:558
+#: build/C/man2/ioctl_list.2:568
 #, no-wrap
 msgid "0x00008924\tSIOCSIFHWADDR\tconst struct ifreq *\t// MORE\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:559
+#: build/C/man2/ioctl_list.2:569
 #, no-wrap
 msgid "0x00008925\tSIOCGIFENCAP\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:560
+#: build/C/man2/ioctl_list.2:570
 #, no-wrap
 msgid "0x00008926\tSIOCSIFENCAP\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:561
+#: build/C/man2/ioctl_list.2:571
 #, no-wrap
 msgid "0x00008927\tSIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:562
+#: build/C/man2/ioctl_list.2:572
 #, no-wrap
 msgid "0x00008929\tSIOCGIFSLAVE\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:563
+#: build/C/man2/ioctl_list.2:573
 #, no-wrap
 msgid "0x00008930\tSIOCSIFSLAVE\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:564
+#: build/C/man2/ioctl_list.2:574
 #, no-wrap
 msgid "0x00008931\tSIOCADDMULTI\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:565
+#: build/C/man2/ioctl_list.2:575
 #, no-wrap
 msgid "0x00008932\tSIOCDELMULTI\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:566
+#: build/C/man2/ioctl_list.2:576
 #, no-wrap
 msgid "0x00008940\tSIOCADDRTOLD\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:567
+#: build/C/man2/ioctl_list.2:577
 #, no-wrap
 msgid "0x00008941\tSIOCDELRTOLD\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:568
+#: build/C/man2/ioctl_list.2:578
 #, no-wrap
 msgid "0x00008950\tSIOCDARP\tconst struct arpreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:569
+#: build/C/man2/ioctl_list.2:579
 #, no-wrap
 msgid "0x00008951\tSIOCGARP\tstruct arpreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:570
+#: build/C/man2/ioctl_list.2:580
 #, no-wrap
 msgid "0x00008952\tSIOCSARP\tconst struct arpreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:571
+#: build/C/man2/ioctl_list.2:581
 #, no-wrap
 msgid "0x00008960\tSIOCDRARP\tconst struct arpreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:572
+#: build/C/man2/ioctl_list.2:582
 #, no-wrap
 msgid "0x00008961\tSIOCGRARP\tstruct arpreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:573
+#: build/C/man2/ioctl_list.2:583
 #, no-wrap
 msgid "0x00008962\tSIOCSRARP\tconst struct arpreq *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:574
+#: build/C/man2/ioctl_list.2:584
 #, no-wrap
 msgid "0x00008970\tSIOCGIFMAP\tstruct ifreq *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:575
+#: build/C/man2/ioctl_list.2:585
 #, no-wrap
 msgid "0x00008971\tSIOCSIFMAP\tconst struct ifreq *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:579
+#: build/C/man2/ioctl_list.2:589
 msgid "// E<lt>include/linux/soundcard.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:581
+#: build/C/man2/ioctl_list.2:591
 #, no-wrap
 msgid "0x00005100\tSNDCTL_SEQ_RESET\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:582
+#: build/C/man2/ioctl_list.2:592
 #, no-wrap
 msgid "0x00005101\tSNDCTL_SEQ_SYNC\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:586
+#: build/C/man2/ioctl_list.2:596
 #, no-wrap
 msgid "0xC08C5102\tSNDCTL_SYNTH_INFO\tstruct synth_info *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:587
+#: build/C/man2/ioctl_list.2:597
 #, no-wrap
 msgid "0xC0045103\tSNDCTL_SEQ_CTRLRATE\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:588
+#: build/C/man2/ioctl_list.2:598
 #, no-wrap
 msgid "0x80045104\tSNDCTL_SEQ_GETOUTCOUNT\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:589
+#: build/C/man2/ioctl_list.2:599
 #, no-wrap
 msgid "0x80045105\tSNDCTL_SEQ_GETINCOUNT\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:590
+#: build/C/man2/ioctl_list.2:600
 #, no-wrap
 msgid "0x40045106\tSNDCTL_SEQ_PERCMODE\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:594
+#: build/C/man2/ioctl_list.2:604
 #, no-wrap
 msgid "0x40285107\tSNDCTL_FM_LOAD_INSTR\tconst struct sbi_instrument *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:598
+#: build/C/man2/ioctl_list.2:608
 #, no-wrap
 msgid "0x40045108\tSNDCTL_SEQ_TESTMIDI\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:599
+#: build/C/man2/ioctl_list.2:609
 #, no-wrap
 msgid "0x40045109\tSNDCTL_SEQ_RESETSAMPLES\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:600
+#: build/C/man2/ioctl_list.2:610
 #, no-wrap
 msgid "0x8004510A\tSNDCTL_SEQ_NRSYNTHS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:601
+#: build/C/man2/ioctl_list.2:611
 #, no-wrap
 msgid "0x8004510B\tSNDCTL_SEQ_NRMIDIS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:602
+#: build/C/man2/ioctl_list.2:612
 #, no-wrap
 msgid "0xC074510C\tSNDCTL_MIDI_INFO\tstruct midi_info *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:603
+#: build/C/man2/ioctl_list.2:613
 #, no-wrap
 msgid "0x4004510D\tSNDCTL_SEQ_THRESHOLD\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:604
+#: build/C/man2/ioctl_list.2:614
 #, no-wrap
 msgid "0xC004510E\tSNDCTL_SYNTH_MEMAVL\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:605
+#: build/C/man2/ioctl_list.2:615
 #, no-wrap
 msgid "0x4004510F\tSNDCTL_FM_4OP_ENABLE\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:606
+#: build/C/man2/ioctl_list.2:616
 #, no-wrap
 msgid "0xCFB85110\tSNDCTL_PMGR_ACCESS\tstruct patmgr_info *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:607
+#: build/C/man2/ioctl_list.2:617
 #, no-wrap
 msgid "0x00005111\tSNDCTL_SEQ_PANIC\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:611
+#: build/C/man2/ioctl_list.2:621
 #, no-wrap
 msgid "0x40085112\tSNDCTL_SEQ_OUTOFBAND\tconst struct seq_event_rec *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:615
+#: build/C/man2/ioctl_list.2:625
 #, no-wrap
 msgid "0xC0045401\tSNDCTL_TMR_TIMEBASE\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:616
+#: build/C/man2/ioctl_list.2:626
 #, no-wrap
 msgid "0x00005402\tSNDCTL_TMR_START\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:617
+#: build/C/man2/ioctl_list.2:627
 #, no-wrap
 msgid "0x00005403\tSNDCTL_TMR_STOP\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:618
+#: build/C/man2/ioctl_list.2:628
 #, no-wrap
 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:619
+#: build/C/man2/ioctl_list.2:629
 #, no-wrap
 msgid "0xC0045405\tSNDCTL_TMR_TEMPO\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:620
+#: build/C/man2/ioctl_list.2:630
 #, no-wrap
 msgid "0xC0045406\tSNDCTL_TMR_SOURCE\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:621
+#: build/C/man2/ioctl_list.2:631
 #, no-wrap
 msgid "0x40045407\tSNDCTL_TMR_METRONOME\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:622
+#: build/C/man2/ioctl_list.2:632
 #, no-wrap
 msgid "0x40045408\tSNDCTL_TMR_SELECT\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:623
+#: build/C/man2/ioctl_list.2:633
 #, no-wrap
 msgid "0xCFB85001\tSNDCTL_PMGR_IFACE\tstruct patmgr_info *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:624
+#: build/C/man2/ioctl_list.2:634
 #, no-wrap
 msgid "0xC0046D00\tSNDCTL_MIDI_PRETIME\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:625
+#: build/C/man2/ioctl_list.2:635
 #, no-wrap
 msgid "0xC0046D01\tSNDCTL_MIDI_MPUMODE\tconst int *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:629
+#: build/C/man2/ioctl_list.2:639
 #, no-wrap
 msgid "0xC0216D02\tSNDCTL_MIDI_MPUCMD\tstruct mpu_command_rec *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:633
+#: build/C/man2/ioctl_list.2:643
 #, no-wrap
 msgid "0x00005000\tSNDCTL_DSP_RESET\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:634
+#: build/C/man2/ioctl_list.2:644
 #, no-wrap
 msgid "0x00005001\tSNDCTL_DSP_SYNC\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:635
+#: build/C/man2/ioctl_list.2:645
 #, no-wrap
 msgid "0xC0045002\tSNDCTL_DSP_SPEED\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:636
+#: build/C/man2/ioctl_list.2:646
 #, no-wrap
 msgid "0xC0045003\tSNDCTL_DSP_STEREO\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:637
+#: build/C/man2/ioctl_list.2:647
 #, no-wrap
 msgid "0xC0045004\tSNDCTL_DSP_GETBLKSIZE\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:638
+#: build/C/man2/ioctl_list.2:648
 #, no-wrap
 msgid "0xC0045006\tSOUND_PCM_WRITE_CHANNELS\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:639
+#: build/C/man2/ioctl_list.2:649
 #, no-wrap
 msgid "0xC0045007\tSOUND_PCM_WRITE_FILTER\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:640
+#: build/C/man2/ioctl_list.2:650
 #, no-wrap
 msgid "0x00005008\tSNDCTL_DSP_POST\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:641
+#: build/C/man2/ioctl_list.2:651
 #, no-wrap
 msgid "0xC0045009\tSNDCTL_DSP_SUBDIVIDE\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:642
+#: build/C/man2/ioctl_list.2:652
 #, no-wrap
 msgid "0xC004500A\tSNDCTL_DSP_SETFRAGMENT\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:643
+#: build/C/man2/ioctl_list.2:653
 #, no-wrap
 msgid "0x8004500B\tSNDCTL_DSP_GETFMTS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:644
+#: build/C/man2/ioctl_list.2:654
 #, no-wrap
 msgid "0xC0045005\tSNDCTL_DSP_SETFMT\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:648
+#: build/C/man2/ioctl_list.2:658
 #, no-wrap
 msgid "0x800C500C\tSNDCTL_DSP_GETOSPACE\tstruct audio_buf_info *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:649
+#: build/C/man2/ioctl_list.2:659
 #, no-wrap
 msgid "0x800C500D\tSNDCTL_DSP_GETISPACE\tstruct audio_buf_info *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:650
+#: build/C/man2/ioctl_list.2:660
 #, no-wrap
 msgid "0x0000500E\tSNDCTL_DSP_NONBLOCK\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:651
+#: build/C/man2/ioctl_list.2:661
 #, no-wrap
 msgid "0x80045002\tSOUND_PCM_READ_RATE\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:652
+#: build/C/man2/ioctl_list.2:662
 #, no-wrap
 msgid "0x80045006\tSOUND_PCM_READ_CHANNELS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:653
+#: build/C/man2/ioctl_list.2:663
 #, no-wrap
 msgid "0x80045005\tSOUND_PCM_READ_BITS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:654
+#: build/C/man2/ioctl_list.2:664
 #, no-wrap
 msgid "0x80045007\tSOUND_PCM_READ_FILTER\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:655
+#: build/C/man2/ioctl_list.2:665
 #, no-wrap
 msgid "0x00004300\tSNDCTL_COPR_RESET\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:656
+#: build/C/man2/ioctl_list.2:666
 #, no-wrap
 msgid "0xCFB04301\tSNDCTL_COPR_LOAD\tconst struct copr_buffer *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:660
+#: build/C/man2/ioctl_list.2:670
 #, no-wrap
 msgid "0xC0144302\tSNDCTL_COPR_RDATA\tstruct copr_debug_buf *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:661
+#: build/C/man2/ioctl_list.2:671
 #, no-wrap
 msgid "0xC0144303\tSNDCTL_COPR_RCODE\tstruct copr_debug_buf *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:665
+#: build/C/man2/ioctl_list.2:675
 #, no-wrap
 msgid "0x40144304\tSNDCTL_COPR_WDATA\tconst struct copr_debug_buf *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:666
+#: build/C/man2/ioctl_list.2:676
 #, no-wrap
 msgid "0x40144305\tSNDCTL_COPR_WCODE\tconst struct copr_debug_buf *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:670
+#: build/C/man2/ioctl_list.2:680
 #, no-wrap
 msgid "0xC0144306\tSNDCTL_COPR_RUN\tstruct copr_debug_buf *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:671
+#: build/C/man2/ioctl_list.2:681
 #, no-wrap
 msgid "0xC0144307\tSNDCTL_COPR_HALT\tstruct copr_debug_buf *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:675
+#: build/C/man2/ioctl_list.2:685
 #, no-wrap
 msgid "0x4FA44308\tSNDCTL_COPR_SENDMSG\tconst struct copr_msg *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:676
+#: build/C/man2/ioctl_list.2:686
 #, no-wrap
 msgid "0x8FA44309\tSNDCTL_COPR_RCVMSG\tstruct copr_msg *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:677
+#: build/C/man2/ioctl_list.2:687
 #, no-wrap
 msgid "0x80044D00\tSOUND_MIXER_READ_VOLUME\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:678
+#: build/C/man2/ioctl_list.2:688
 #, no-wrap
 msgid "0x80044D01\tSOUND_MIXER_READ_BASS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:679
+#: build/C/man2/ioctl_list.2:689
 #, no-wrap
 msgid "0x80044D02\tSOUND_MIXER_READ_TREBLE\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:680
+#: build/C/man2/ioctl_list.2:690
 #, no-wrap
 msgid "0x80044D03\tSOUND_MIXER_READ_SYNTH\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:681
+#: build/C/man2/ioctl_list.2:691
 #, no-wrap
 msgid "0x80044D04\tSOUND_MIXER_READ_PCM\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:682
+#: build/C/man2/ioctl_list.2:692
 #, no-wrap
 msgid "0x80044D05\tSOUND_MIXER_READ_SPEAKER\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:683
+#: build/C/man2/ioctl_list.2:693
 #, no-wrap
 msgid "0x80044D06\tSOUND_MIXER_READ_LINE\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:684
+#: build/C/man2/ioctl_list.2:694
 #, no-wrap
 msgid "0x80044D07\tSOUND_MIXER_READ_MIC\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:685
+#: build/C/man2/ioctl_list.2:695
 #, no-wrap
 msgid "0x80044D08\tSOUND_MIXER_READ_CD\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:686
+#: build/C/man2/ioctl_list.2:696
 #, no-wrap
 msgid "0x80044D09\tSOUND_MIXER_READ_IMIX\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:687
+#: build/C/man2/ioctl_list.2:697
 #, no-wrap
 msgid "0x80044D0A\tSOUND_MIXER_READ_ALTPCM\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:688
+#: build/C/man2/ioctl_list.2:698
 #, no-wrap
 msgid "0x80044D0B\tSOUND_MIXER_READ_RECLEV\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:689
+#: build/C/man2/ioctl_list.2:699
 #, no-wrap
 msgid "0x80044D0C\tSOUND_MIXER_READ_IGAIN\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:690
+#: build/C/man2/ioctl_list.2:700
 #, no-wrap
 msgid "0x80044D0D\tSOUND_MIXER_READ_OGAIN\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:691
+#: build/C/man2/ioctl_list.2:701
 #, no-wrap
 msgid "0x80044D0E\tSOUND_MIXER_READ_LINE1\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:692
+#: build/C/man2/ioctl_list.2:702
 #, no-wrap
 msgid "0x80044D0F\tSOUND_MIXER_READ_LINE2\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:693
+#: build/C/man2/ioctl_list.2:703
 #, no-wrap
 msgid "0x80044D10\tSOUND_MIXER_READ_LINE3\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:694
+#: build/C/man2/ioctl_list.2:704
 #, no-wrap
 msgid "0x80044D1C\tSOUND_MIXER_READ_MUTE\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:695
+#: build/C/man2/ioctl_list.2:705
 #, no-wrap
 msgid "0x80044D1D\tSOUND_MIXER_READ_ENHANCE\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:696
+#: build/C/man2/ioctl_list.2:706
 #, no-wrap
 msgid "0x80044D1E\tSOUND_MIXER_READ_LOUD\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:697
+#: build/C/man2/ioctl_list.2:707
 #, no-wrap
 msgid "0x80044DFF\tSOUND_MIXER_READ_RECSRC\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:698
+#: build/C/man2/ioctl_list.2:708
 #, no-wrap
 msgid "0x80044DFE\tSOUND_MIXER_READ_DEVMASK\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:699
+#: build/C/man2/ioctl_list.2:709
 #, no-wrap
 msgid "0x80044DFD\tSOUND_MIXER_READ_RECMASK\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:700
+#: build/C/man2/ioctl_list.2:710
 #, no-wrap
 msgid "0x80044DFB\tSOUND_MIXER_READ_STEREODEVS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:701
+#: build/C/man2/ioctl_list.2:711
 #, no-wrap
 msgid "0x80044DFC\tSOUND_MIXER_READ_CAPS\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:705
+#: build/C/man2/ioctl_list.2:715
 #, no-wrap
 msgid "0xC0044D00\tSOUND_MIXER_WRITE_VOLUME\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:706
+#: build/C/man2/ioctl_list.2:716
 #, no-wrap
 msgid "0xC0044D01\tSOUND_MIXER_WRITE_BASS\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:707
+#: build/C/man2/ioctl_list.2:717
 #, no-wrap
 msgid "0xC0044D02\tSOUND_MIXER_WRITE_TREBLE\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:708
+#: build/C/man2/ioctl_list.2:718
 #, no-wrap
 msgid "0xC0044D03\tSOUND_MIXER_WRITE_SYNTH\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:709
+#: build/C/man2/ioctl_list.2:719
 #, no-wrap
 msgid "0xC0044D04\tSOUND_MIXER_WRITE_PCM\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:710
+#: build/C/man2/ioctl_list.2:720
 #, no-wrap
 msgid "0xC0044D05\tSOUND_MIXER_WRITE_SPEAKER\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:711
+#: build/C/man2/ioctl_list.2:721
 #, no-wrap
 msgid "0xC0044D06\tSOUND_MIXER_WRITE_LINE\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:712
+#: build/C/man2/ioctl_list.2:722
 #, no-wrap
 msgid "0xC0044D07\tSOUND_MIXER_WRITE_MIC\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:713
+#: build/C/man2/ioctl_list.2:723
 #, no-wrap
 msgid "0xC0044D08\tSOUND_MIXER_WRITE_CD\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:714
+#: build/C/man2/ioctl_list.2:724
 #, no-wrap
 msgid "0xC0044D09\tSOUND_MIXER_WRITE_IMIX\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:715
+#: build/C/man2/ioctl_list.2:725
 #, no-wrap
 msgid "0xC0044D0A\tSOUND_MIXER_WRITE_ALTPCM\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:716
+#: build/C/man2/ioctl_list.2:726
 #, no-wrap
 msgid "0xC0044D0B\tSOUND_MIXER_WRITE_RECLEV\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:717
+#: build/C/man2/ioctl_list.2:727
 #, no-wrap
 msgid "0xC0044D0C\tSOUND_MIXER_WRITE_IGAIN\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:718
+#: build/C/man2/ioctl_list.2:728
 #, no-wrap
 msgid "0xC0044D0D\tSOUND_MIXER_WRITE_OGAIN\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:719
+#: build/C/man2/ioctl_list.2:729
 #, no-wrap
 msgid "0xC0044D0E\tSOUND_MIXER_WRITE_LINE1\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:720
+#: build/C/man2/ioctl_list.2:730
 #, no-wrap
 msgid "0xC0044D0F\tSOUND_MIXER_WRITE_LINE2\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:721
+#: build/C/man2/ioctl_list.2:731
 #, no-wrap
 msgid "0xC0044D10\tSOUND_MIXER_WRITE_LINE3\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:722
+#: build/C/man2/ioctl_list.2:732
 #, no-wrap
 msgid "0xC0044D1C\tSOUND_MIXER_WRITE_MUTE\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:723
+#: build/C/man2/ioctl_list.2:733
 #, no-wrap
 msgid "0xC0044D1D\tSOUND_MIXER_WRITE_ENHANCE\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:724
+#: build/C/man2/ioctl_list.2:734
 #, no-wrap
 msgid "0xC0044D1E\tSOUND_MIXER_WRITE_LOUD\tint *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:725
+#: build/C/man2/ioctl_list.2:735
 #, no-wrap
 msgid "0xC0044DFF\tSOUND_MIXER_WRITE_RECSRC\tint *\t// I-O\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:729
+#: build/C/man2/ioctl_list.2:739
 msgid "// E<lt>include/linux/umsdos_fs.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:731
+#: build/C/man2/ioctl_list.2:741
 #, no-wrap
 msgid "0x000004D2\tUMSDOS_READDIR_DOS\tstruct umsdos_ioctl *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:732
+#: build/C/man2/ioctl_list.2:742
 #, no-wrap
 msgid "0x000004D3\tUMSDOS_UNLINK_DOS\tconst struct umsdos_ioctl *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:733
+#: build/C/man2/ioctl_list.2:743
 #, no-wrap
 msgid "0x000004D4\tUMSDOS_RMDIR_DOS\tconst struct umsdos_ioctl *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:734
+#: build/C/man2/ioctl_list.2:744
 #, no-wrap
 msgid "0x000004D5\tUMSDOS_STAT_DOS\tstruct umsdos_ioctl *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:735
+#: build/C/man2/ioctl_list.2:745
 #, no-wrap
 msgid "0x000004D6\tUMSDOS_CREAT_EMD\tconst struct umsdos_ioctl *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:736
+#: build/C/man2/ioctl_list.2:746
 #, no-wrap
 msgid "0x000004D7\tUMSDOS_UNLINK_EMD\tconst struct umsdos_ioctl *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:737
+#: build/C/man2/ioctl_list.2:747
 #, no-wrap
 msgid "0x000004D8\tUMSDOS_READDIR_EMD\tstruct umsdos_ioctl *\t// I-O\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:738
+#: build/C/man2/ioctl_list.2:748
 #, no-wrap
 msgid "0x000004D9\tUMSDOS_GETVERSION\tstruct umsdos_ioctl *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:739
+#: build/C/man2/ioctl_list.2:749
 #, no-wrap
 msgid "0x000004DA\tUMSDOS_INIT_EMD\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:740
+#: build/C/man2/ioctl_list.2:750
 #, no-wrap
 msgid "0x000004DB\tUMSDOS_DOS_SETUP\tconst struct umsdos_ioctl *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:741
+#: build/C/man2/ioctl_list.2:751
 #, no-wrap
 msgid "0x000004DC\tUMSDOS_RENAME_DOS\tconst struct umsdos_ioctl *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:745
+#: build/C/man2/ioctl_list.2:755
 msgid "// E<lt>include/linux/vt.hE<gt>"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:747
+#: build/C/man2/ioctl_list.2:757
 #, no-wrap
 msgid "0x00005600\tVT_OPENQRY\tint *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:748
+#: build/C/man2/ioctl_list.2:758
 #, no-wrap
 msgid "0x00005601\tVT_GETMODE\tstruct vt_mode *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:749
+#: build/C/man2/ioctl_list.2:759
 #, no-wrap
 msgid "0x00005602\tVT_SETMODE\tconst struct vt_mode *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:750
+#: build/C/man2/ioctl_list.2:760
 #, no-wrap
 msgid "0x00005603\tVT_GETSTATE\tstruct vt_stat *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:751
+#: build/C/man2/ioctl_list.2:761
 #, no-wrap
 msgid "0x00005604\tVT_SENDSIG\tvoid\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:752
+#: build/C/man2/ioctl_list.2:762
 #, no-wrap
 msgid "0x00005605\tVT_RELDISP\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:753
+#: build/C/man2/ioctl_list.2:763
 #, no-wrap
 msgid "0x00005606\tVT_ACTIVATE\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:754
+#: build/C/man2/ioctl_list.2:764
 #, no-wrap
 msgid "0x00005607\tVT_WAITACTIVE\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:755
+#: build/C/man2/ioctl_list.2:765
 #, no-wrap
 msgid "0x00005608\tVT_DISALLOCATE\tint\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:756
+#: build/C/man2/ioctl_list.2:766
 #, no-wrap
 msgid "0x00005609\tVT_RESIZE\tconst struct vt_sizes *\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:757
+#: build/C/man2/ioctl_list.2:767
 #, no-wrap
 msgid "0x0000560A\tVT_RESIZEX\tconst struct vt_consize *\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:764
+#: build/C/man2/ioctl_list.2:774
 msgid ""
 "// More arguments.  Some ioctl's take a pointer to a structure which "
 "contains additional pointers.  These are documented here in alphabetical "
@@ -11885,26 +13257,26 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:772
+#: build/C/man2/ioctl_list.2:782
 msgid ""
-"B<CDROMREADAUDIO> takes an input pointer I<const struct cdrom_read_audio "
-"*>.  The I<buf> field points to an output buffer of length I<nframes * "
+"B<CDROMREADAUDIO> takes an input pointer I<const struct cdrom_read_audio\\ "
+"*>.  The I<buf> field points to an output buffer of length I<nframes\\ * "
 "CD_FRAMESIZE_RAW>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:788
+#: build/C/man2/ioctl_list.2:798
 msgid ""
 "B<CDROMREADCOOKED>, B<CDROMREADMODE1>, B<CDROMREADMODE2>, and "
-"B<CDROMREADRAW> take an input pointer I<const struct cdrom_msf *>.  They use "
-"the same pointer as an output pointer to I<char []>.  The length varies by "
-"request.  For B<CDROMREADMODE1>, most drivers use CD_FRAMESIZE, but the "
+"B<CDROMREADRAW> take an input pointer I<const struct cdrom_msf\\ *>.  They "
+"use the same pointer as an output pointer to I<char []>.  The length varies "
+"by request.  For B<CDROMREADMODE1>, most drivers use CD_FRAMESIZE, but the "
 "Optics Storage driver uses OPT_BLOCKSIZE instead (both have the numerical "
 "value 2048)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:794
+#: build/C/man2/ioctl_list.2:804
 #, no-wrap
 msgid ""
 "    CDROMREADCOOKED    char [CD_FRAMESIZE]\n"
@@ -11914,15 +13286,15 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:808
+#: build/C/man2/ioctl_list.2:818
 msgid ""
 "B<EQL_ENSLAVE>, B<EQL_EMANCIPATE>, B<EQL_GETSLAVECFG>, B<EQL_SETSLAVECFG>, "
-"B<EQL_GETMASTERCFG>, and B<EQL_SETMASTERCFG> take a I<struct ifreq *>.  The "
-"I<ifr_data> field is a pointer to another structure as follows:"
+"B<EQL_GETMASTERCFG>, and B<EQL_SETMASTERCFG> take a I<struct ifreq\\ *>.  "
+"The I<ifr_data> field is a pointer to another structure as follows:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:816
+#: build/C/man2/ioctl_list.2:826
 #, no-wrap
 msgid ""
 "    EQL_ENSLAVE         const struct slaving_request *\n"
@@ -11934,63 +13306,63 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:833
+#: build/C/man2/ioctl_list.2:843
 msgid ""
-"B<FDRAWCMD> takes a I<struct floppy raw_cmd *>.  If I<flags & FD_RAW_WRITE> "
-"is nonzero, then I<data> points to an input buffer of length I<length>.  If "
-"I<flags & FD_RAW_READ> is nonzero, then I<data> points to an output buffer "
-"of length I<length>."
+"B<FDRAWCMD> takes a I<struct floppy raw_cmd\\ *>.  If I<flags & "
+"FD_RAW_WRITE> is nonzero, then I<data> points to an input buffer of length "
+"I<length>.  If I<flags & FD_RAW_READ> is nonzero, then I<data> points to an "
+"output buffer of length I<length>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:849
+#: build/C/man2/ioctl_list.2:859
 msgid ""
-"B<GIO_FONTX> and B<PIO_FONTX> take a I<struct console_font_desc *> or a "
-"I<const struct console_font_desc *>, respectively.  I<chardata> points to a "
-"buffer of I<char [charcount]>.  This is an output buffer for B<GIO_FONTX> "
+"B<GIO_FONTX> and B<PIO_FONTX> take a I<struct console_font_desc\\ *> or a "
+"I<const struct console_font_desc\\ *>, respectively.  I<chardata> points to "
+"buffer of I<char [charcount]>.  This is an output buffer for B<GIO_FONTX> "
 "and an input buffer for B<PIO_FONTX>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:865
+#: build/C/man2/ioctl_list.2:875
 msgid ""
-"B<GIO_UNIMAP> and B<PIO_UNIMAP> take a I<struct unimapdesc *> or a I<const "
-"struct unimapdesc *>, respectively.  I<entries> points to a buffer of "
+"B<GIO_UNIMAP> and B<PIO_UNIMAP> take a I<struct unimapdesc\\ *> or a I<const "
+"struct unimapdesc\\ *>, respectively.  I<entries> points to a buffer of "
 "I<struct unipair [entry_ct]>.  This is an output buffer for B<GIO_UNIMAP> "
 "and an input buffer for B<PIO_UNIMAP>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:869
+#: build/C/man2/ioctl_list.2:879
 msgid ""
 "KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to I/O "
 "ports.  They are essentially alternate interfaces to 'ioperm'."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:875
+#: build/C/man2/ioctl_list.2:885
 msgid ""
 "B<KDMAPDISP> and B<KDUNMAPDISP> enable or disable memory mappings or I/O "
 "port access.  They are not implemented in the kernel."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:883
+#: build/C/man2/ioctl_list.2:893
 msgid ""
-"B<SCSI_IOCTL_PROBE_HOST> takes an input pointer I<const int *>, which is a "
+"B<SCSI_IOCTL_PROBE_HOST> takes an input pointer I<const int\\ *>, which is a "
 "length.  It uses the same pointer as an output pointer to a I<char []> "
 "buffer of this length."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:889
+#: build/C/man2/ioctl_list.2:899
 msgid ""
 "B<SIOCADDRT> and B<SIOCDELRT> take an input pointer whose type depends on "
 "the protocol:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:894
+#: build/C/man2/ioctl_list.2:904
 #, no-wrap
 msgid ""
 "    Most protocols      const struct rtentry *\n"
@@ -11999,20 +13371,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:905
+#: build/C/man2/ioctl_list.2:915
 msgid ""
-"B<SIOCGIFCONF> takes a I<struct ifconf *>.  The I<ifc_buf> field points to a "
-"buffer of length I<ifc_len> bytes, into which the kernel writes a list of "
+"B<SIOCGIFCONF> takes a I<struct ifconf\\ *>.  The I<ifc_buf> field points to "
+"buffer of length I<ifc_len> bytes, into which the kernel writes a list of "
 "type I<struct ifreq []>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:908
+#: build/C/man2/ioctl_list.2:918
 msgid "B<SIOCSIFHWADDR> takes an input pointer whose type depends on the protocol:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:912
+#: build/C/man2/ioctl_list.2:922
 #, no-wrap
 msgid ""
 "    Most protocols      const struct ifreq *\n"
@@ -12020,16 +13392,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:927
+#: build/C/man2/ioctl_list.2:937
 msgid ""
-"B<TIOCLINUX> takes a I<const char *>.  It uses this to distinguish several "
+"B<TIOCLINUX> takes a I<const char\\ *>.  It uses this to distinguish several "
 "independent subcases.  In the table below, I<N + foo> means I<foo> after an "
 "N-byte pad.  I<struct selection> is implicitly defined in "
 "I<drivers/char/selection.c>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:936
+#: build/C/man2/ioctl_list.2:946
 #, no-wrap
 msgid ""
 "    TIOCLINUX-2         1 + const struct selection *\n"
@@ -12042,55 +13414,55 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:939
+#: build/C/man2/ioctl_list.2:949
 msgid "// Duplicate ioctls"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:944
+#: build/C/man2/ioctl_list.2:954
 msgid ""
 "This list does not include ioctls in the range B<SIOCDEVPRIVATE> and "
 "B<SIOCPROTOPRIVATE>."
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:946
+#: build/C/man2/ioctl_list.2:956
 #, no-wrap
 msgid "0x00000001\tFDSETPRM\tFIBMAP\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:947
+#: build/C/man2/ioctl_list.2:957
 #, no-wrap
 msgid "0x00000002\tFDDEFPRM\tFIGETBSZ\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:948
+#: build/C/man2/ioctl_list.2:958
 #, no-wrap
 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tSCSI_IOCTL_GET_IDLUN\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:949
+#: build/C/man2/ioctl_list.2:959
 #, no-wrap
 msgid "0x00005402\tSNDCTL_TMR_START\tTCSETS\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:950
+#: build/C/man2/ioctl_list.2:960
 #, no-wrap
 msgid "0x00005403\tSNDCTL_TMR_STOP\tTCSETSW\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/ioctl_list.2:951
+#: build/C/man2/ioctl_list.2:961
 #, no-wrap
 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tTCSETSF\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioctl_list.2:955
+#: build/C/man2/ioctl_list.2:965
 msgid "B<ioctl>(2)"
 msgstr ""
 
@@ -12107,23 +13479,18 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/ioperm.2:40
-msgid "B<#include E<lt>unistd.hE<gt>> /* for libc5 */"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/ioperm.2:43
 msgid "B<#include E<lt>sys/io.hE<gt>> /* for glibc */"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:45
+#: build/C/man2/ioperm.2:42
 msgid ""
 "B<int ioperm(unsigned long >I<from>B<, unsigned long >I<num>B<, int "
 ">I<turn_on>B<);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:59
+#: build/C/man2/ioperm.2:56
 msgid ""
 "B<ioperm>()  sets the port access permission bits for the calling thread for "
 "I<num> bits starting from port address I<from>.  If I<turn_on> is nonzero, "
@@ -12133,7 +13500,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:68
+#: build/C/man2/ioperm.2:65
 msgid ""
 "Before Linux 2.6.8, only the first 0x3ff I/O ports could be specified in "
 "this manner.  For more ports, the B<iopl>(2)  system call had to be used "
@@ -12142,7 +13509,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:78
+#: build/C/man2/ioperm.2:75
 msgid ""
 "Permissions are not inherited by the child created by B<fork>(2); following "
 "a B<fork>(2)  the child must turn on those permissions that it needs.  "
@@ -12151,58 +13518,56 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:82
+#: build/C/man2/ioperm.2:79
 msgid ""
 "This call is mostly for the i386 architecture.  On many other architectures "
 "it does not exist or will always return an error."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:94
+#: build/C/man2/ioperm.2:91
 msgid "Invalid values for I<from> or I<num>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:97
+#: build/C/man2/ioperm.2:94
 msgid "(on PowerPC) This call is not supported."
 msgstr ""
 
 #.  Could not allocate I/O bitmap.
 #. type: Plain text
-#: build/C/man2/ioperm.2:101
+#: build/C/man2/ioperm.2:98
 msgid "Out of memory."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:104
+#: build/C/man2/ioperm.2:101
 msgid "The calling thread has insufficient privilege."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:108
+#: build/C/man2/ioperm.2:105
 msgid ""
 "B<ioperm>()  is Linux-specific and should not be used in programs intended "
 "to be portable."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:112
+#: build/C/man2/ioperm.2:109
 msgid ""
 "The I</proc/ioports> file shows the I/O ports that are currently allocated "
 "on the system."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:121
+#: build/C/man2/ioperm.2:117
 msgid ""
-"Libc5 treats it as a system call and has a prototype in "
-"I<E<lt>unistd.hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a "
-"prototype both in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  "
-"Avoid the latter, it is available on i386 only."
+"Glibc has an B<ioperm>()  prototype both in I<E<lt>sys/io.hE<gt>> and in "
+"I<E<lt>sys/perm.hE<gt>>.  Avoid the latter, it is available on i386 only."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/ioperm.2:125
+#: build/C/man2/ioperm.2:121
 msgid "B<iopl>(2), B<outb>(2), B<capabilities>(7)"
 msgstr ""
 
@@ -12215,7 +13580,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/lockf.3:28
 #, no-wrap
-msgid "2012-07-07"
+msgid "2014-06-13"
 msgstr ""
 
 #. type: Plain text
@@ -12347,7 +13712,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/lockf.3:151
-msgid "An invalid operation was specified in I<fd>."
+msgid "An invalid operation was specified in I<cmd>."
 msgstr ""
 
 #. type: Plain text
@@ -12356,17 +13721,22 @@ msgid "Too many segment locks open, lock table is full."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/lockf.3:156
+#: build/C/man3/lockf.3:159
+msgid "The B<lockf>()  function is thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/lockf.3:161
 msgid "SVr4, POSIX.1-2001."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/lockf.3:159
+#: build/C/man3/lockf.3:164
 msgid "B<fcntl>(2), B<flock>(2)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/lockf.3:171
+#: build/C/man3/lockf.3:176
 msgid ""
 "I<locks.txt> and I<mandatory-locking.txt> in the Linux kernel source "
 "directory I<Documentation/filesystems> (on older kernels, these files are "
@@ -12524,25 +13894,19 @@ msgid "B<mlock>(2), B<mmap>(2)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/mkdir.2:10
+#: build/C/man2/mkdir.2:11
 #, no-wrap
 msgid "MKDIR"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/mkdir.2:10
-#, no-wrap
-msgid "2013-01-27"
-msgstr ""
-
 #. type: Plain text
-#: build/C/man2/mkdir.2:13
-msgid "mkdir - create a directory"
+#: build/C/man2/mkdir.2:14
+msgid "mkdir, mkdirat - create a directory"
 msgstr ""
 
 #.  .B #include <unistd.h>
 #. type: Plain text
-#: build/C/man2/mkdir.2:18
+#: build/C/man2/mkdir.2:19
 #, no-wrap
 msgid ""
 "B<#include E<lt>sys/stat.hE<gt>>\n"
@@ -12550,18 +13914,39 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:20
+#: build/C/man2/mkdir.2:21
 #, no-wrap
 msgid "B<int mkdir(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:25
+#: build/C/man2/mkdir.2:24
+#, no-wrap
+msgid ""
+"B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
+"B<#include E<lt>sys/stat.hE<gt>>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:26
+#, no-wrap
+msgid ""
+"B<int mkdirat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t "
+">I<mode>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:34
+msgid "B<mkdirat>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:51
 msgid "B<mkdir>()  attempts to create a directory named I<pathname>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:35
+#: build/C/man2/mkdir.2:61
 msgid ""
 "The argument I<mode> specifies the permissions to use.  It is modified by "
 "the process's I<umask> in the usual way: the permissions of the created "
@@ -12570,32 +13955,67 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:45
+#: build/C/man2/mkdir.2:71
 msgid ""
 "The newly created directory will be owned by the effective user ID of the "
 "process.  If the directory containing the file has the set-group-ID bit set, "
-"or if the file system is mounted with BSD group semantics (I<mount -o "
+"or if the filesystem is mounted with BSD group semantics (I<mount -o "
 "bsdgroups> or, synonymously I<mount -o grpid>), the new directory will "
 "inherit the group ownership from its parent; otherwise it will be owned by "
 "the effective group ID of the process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:48
+#: build/C/man2/mkdir.2:76
 msgid ""
-"If the parent directory has the set-group-ID bit set then so will the newly "
+"If the parent directory has the set-group-ID bit set, then so will the newly "
 "created directory."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/mkdir.2:76
+#, no-wrap
+msgid "mkdirat()"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:82
+msgid ""
+"The B<mkdirat>()  system call operates in exactly the same way as "
+"B<mkdir>(), except for the differences described here."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:92
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<mkdir>()  for a relative pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:104
+msgid ""
+"If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
+"then I<pathname> is interpreted relative to the current working directory of "
+"the calling process (like B<mkdir>())."
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/mkdir.2:53
+#: build/C/man2/mkdir.2:115
+msgid "See B<openat>(2)  for an explanation of the need for B<mkdirat>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:122
 msgid ""
-"B<mkdir>()  returns zero on success, or -1 if an error occurred (in which "
-"case, I<errno> is set appropriately)."
+"B<mkdir>()  and B<mkdirat>()  return zero on success, or -1 if an error "
+"occurred (in which case, I<errno> is set appropriately)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:62
+#: build/C/man2/mkdir.2:131
 msgid ""
 "The parent directory does not allow write permission to the process, or one "
 "of the directories in I<pathname> did not allow search permission.  (See "
@@ -12603,111 +14023,136 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mkdir.2:62
+#: build/C/man2/mkdir.2:131
 #, no-wrap
 msgid "B<EDQUOT>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:66
+#: build/C/man2/mkdir.2:135
 msgid ""
-"The user's quota of disk blocks or inodes on the file system has been "
+"The user's quota of disk blocks or inodes on the filesystem has been "
 "exhausted."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mkdir.2:66
+#: build/C/man2/mkdir.2:135
 #, no-wrap
 msgid "B<EEXIST>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:73
+#: build/C/man2/mkdir.2:142
 msgid ""
 "I<pathname> already exists (not necessarily as a directory).  This includes "
 "the case where I<pathname> is a symbolic link, dangling or not."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mkdir.2:80
+#: build/C/man2/mkdir.2:149
 #, no-wrap
 msgid "B<EMLINK>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:84
+#: build/C/man2/mkdir.2:153
 msgid "The number of links to the parent directory would exceed B<LINK_MAX>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:87
+#: build/C/man2/mkdir.2:156
 msgid "I<pathname> was too long."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:92
+#: build/C/man2/mkdir.2:161
 msgid ""
 "A directory component in I<pathname> does not exist or is a dangling "
 "symbolic link."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mkdir.2:95 build/C/man2/mkdir.2:100
+#: build/C/man2/mkdir.2:164 build/C/man2/mkdir.2:169
 #, no-wrap
 msgid "B<ENOSPC>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:100
+#: build/C/man2/mkdir.2:169
 msgid "The device containing I<pathname> has no room for the new directory."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:104
+#: build/C/man2/mkdir.2:173
 msgid ""
 "The new directory cannot be created because the user's disk quota is "
 "exhausted."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:114
+#: build/C/man2/mkdir.2:183
 msgid ""
-"The file system containing I<pathname> does not support the creation of "
+"The filesystem containing I<pathname> does not support the creation of "
 "directories."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:118
-msgid "I<pathname> refers to a file on a read-only file system."
+#: build/C/man2/mkdir.2:187
+msgid "I<pathname> refers to a file on a read-only filesystem."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:190
+msgid "The following additional errors can occur for B<mkdirat>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:204
+msgid ""
+"B<mkdirat>()  was added to Linux in kernel 2.6.16; library support was added "
+"to glibc in version 2.4."
 msgstr ""
 
 #.  SVr4 documents additional EIO, EMULTIHOP
 #. type: Plain text
-#: build/C/man2/mkdir.2:121
-msgid "SVr4, BSD, POSIX.1-2001."
+#: build/C/man2/mkdir.2:208
+msgid "B<mkdir>(): SVr4, BSD, POSIX.1-2001, POSIX.1-2008."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:129
+#: build/C/man2/mkdir.2:211
+msgid "B<mkdirat>(): POSIX.1-2008."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:219
 msgid ""
-"Under Linux apart from the permission bits, only the B<S_ISVTX> mode bit is "
+"Under Linux, apart from the permission bits, only the B<S_ISVTX> mode bit is "
 "honored.  That is, under Linux the created directory actually gets mode "
 "(I<mode> & ~I<umask> & 01777).  See also B<stat>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:133
+#: build/C/man2/mkdir.2:223
 msgid ""
 "There are many infelicities in the protocol underlying NFS.  Some of these "
 "affect B<mkdir>()."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mkdir.2:145
+#: build/C/man2/mkdir.2:236
 msgid ""
-"B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mkdirat>(2), B<mknod>(2), "
-"B<mount>(2), B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), "
-"B<path_resolution>(7)"
+"On older kernels where B<mkdirat>()  is unavailable, the glibc wrapper "
+"function falls back to the use of B<mkdir>().  When I<pathname> is a "
+"relative pathname, glibc constructs a pathname based on the symbolic link in "
+"I</proc/self/fd> that corresponds to the I<dirfd> argument."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mkdir.2:247
+msgid ""
+"B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mknod>(2), B<mount>(2), "
+"B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<path_resolution>(7)"
 msgstr ""
 
 #. type: TH
@@ -12716,6 +14161,12 @@ msgstr ""
 msgid "NICE"
 msgstr ""
 
+#. type: TH
+#: build/C/man2/nice.2:31
+#, no-wrap
+msgid "2014-04-28"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man2/nice.2:34
 msgid "nice - change process priority"
@@ -12751,7 +14202,7 @@ msgstr ""
 #: build/C/man2/nice.2:75
 msgid ""
 "The calling process attempted to increase its priority by supplying a "
-"negative I<inc> but has insufficient privileges.  Under Linux the "
+"negative I<inc> but has insufficient privileges.  Under Linux, the "
 "B<CAP_SYS_NICE> capability is required.  (But see the discussion of the "
 "B<RLIMIT_NICE> resource limit in B<setrlimit>(2).)"
 msgstr ""
@@ -12784,10 +14235,10 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/nice.2:112
+#: build/C/man2/nice.2:113
 msgid ""
 "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), "
-"B<capabilities>(7)"
+"B<capabilities>(7), B<sched>(7)"
 msgstr ""
 
 #. type: TH
@@ -12796,12 +14247,6 @@ msgstr ""
 msgid "PREAD"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/pread.2:25
-#, no-wrap
-msgid "2012-04-30"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man2/pread.2:28
 msgid "pread, pwrite - read from or write to a file descriptor at a given offset"
@@ -12879,7 +14324,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/pread.2:133
+#: build/C/man2/pread.2:125
+msgid ""
+"The B<pread>()  and B<pwrite>()  system calls are especially useful in "
+"multithreaded applications.  They allow multiple threads to perform I/O on "
+"the same file descriptor without being affected by changes to the file "
+"offset by other threads."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/pread.2:141
 msgid ""
 "On Linux, the underlying system calls were renamed in kernel 2.6: B<pread>()  "
 "became B<pread64>(), and B<pwrite>()  became B<pwrite64>().  The system call "
@@ -12887,18 +14341,25 @@ msgid ""
 "functions transparently deal with the change."
 msgstr ""
 
-#.  FIXME https://bugzilla.kernel.org/show_bug.cgi?id=43178
 #. type: Plain text
-#: build/C/man2/pread.2:145
+#: build/C/man2/pread.2:146 build/C/man2/truncate.2:253
+msgid ""
+"On some 32-bit architectures, the calling signature for these system calls "
+"differ, for the reasons described in B<syscall>(2)."
+msgstr ""
+
+#.  FIXME . https://bugzilla.kernel.org/show_bug.cgi?id=43178
+#. type: Plain text
+#: build/C/man2/pread.2:158
 msgid ""
 "POSIX requires that opening a file with the B<O_APPEND> flag should have no "
-"affect on the location at which B<pwrite>()  writes data.  However, on "
+"effect on the location at which B<pwrite>()  writes data.  However, on "
 "Linux, if a file is opened with B<O_APPEND>, B<pwrite>()  appends data to "
 "the end of the file, regardless of the value of I<offset>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/pread.2:150
+#: build/C/man2/pread.2:163
 msgid "B<lseek>(2), B<read>(2), B<readv>(2), B<write>(2)"
 msgstr ""
 
@@ -12968,6 +14429,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
+#: build/C/man2/set_thread_area.2:72
+msgid ""
+"Glibc does not provide a wrapper for this system call, since it is generally "
+"intended only for use by threading libraries.  In the unlikely event that "
+"you want to call it directly, use B<syscall>(2)."
+msgstr ""
+
+#. type: Plain text
 #: build/C/man2/set_thread_area.2:74
 msgid "B<get_thread_area>(2)"
 msgstr ""
@@ -12979,14 +14448,14 @@ msgid "SETUP"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/setup.2:34 build/C/man2/uname.2:27
+#: build/C/man2/setup.2:34
 #, no-wrap
 msgid "2008-12-03"
 msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setup.2:37
-msgid "setup - setup devices and file systems, mount root file system"
+msgid "setup - setup devices and filesystems, mount root filesystem"
 msgstr ""
 
 #. type: Plain text
@@ -12998,8 +14467,8 @@ msgstr ""
 #: build/C/man2/setup.2:47
 msgid ""
 "B<setup>()  is called once from within I<linux/init/main.c>.  It calls "
-"initialization functions for devices and file systems configured into the "
-"kernel and then mounts the root file system."
+"initialization functions for devices and filesystems configured into the "
+"kernel and then mounts the root filesystem."
 msgstr ""
 
 #. type: Plain text
@@ -13029,8 +14498,8 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/setup.2:72
 msgid ""
-"The calling sequence varied: at some times I<setup ()> has had a single "
-"argument I<void *BIOS> and at other times a single argument I<int magic>."
+"The calling sequence varied: at some times B<setup>()  has had a single "
+"argument I<void\\ *BIOS> and at other times a single argument I<int magic>."
 msgstr ""
 
 #. type: TH
@@ -13155,7 +14624,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/swab.3:31
 #, no-wrap
-msgid "2001-12-15"
+msgid "2014-02-25"
 msgstr ""
 
 #. type: Plain text
@@ -13178,7 +14647,7 @@ msgid "B<void swab(const void *>I<from>B<, void *>I<to>B<, ssize_t >I<n>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/swab.3:49
+#: build/C/man3/swab.3:55
 msgid ""
 "The B<swab>()  function copies I<n> bytes from the array pointed to by "
 "I<from> to the array pointed to by I<to>, exchanging adjacent even and odd "
@@ -13187,7 +14656,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/swab.3:54
+#: build/C/man3/swab.3:68
 msgid ""
 "This function does nothing when I<n> is negative.  When I<n> is positive and "
 "odd, it handles I<n-1> bytes as above, and does something unspecified with "
@@ -13195,54 +14664,48 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/swab.3:58
+#: build/C/man3/swab.3:72
 msgid "The B<swab>()  function returns no value."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/swab.3:62
-msgid "B<bstring>(3)"
+#: build/C/man3/swab.3:77
+msgid "The B<swab>()  function is thread-safe."
 msgstr ""
 
-#. type: TH
-#: build/C/man2/swapon.2:37
-#, no-wrap
-msgid "SWAPON"
+#. type: Plain text
+#: build/C/man3/swab.3:81
+msgid "B<bstring>(3)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/swapon.2:37
+#: build/C/man2/swapon.2:42
 #, no-wrap
-msgid "2010-11-15"
+msgid "SWAPON"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:40
+#: build/C/man2/swapon.2:45
 msgid "swapon, swapoff - start/stop swapping to file/device"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:44
-msgid "B<#include E<lt>asm/page.hE<gt> /* to find PAGE_SIZE */>"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/swapon.2:46
+#: build/C/man2/swapon.2:49
 msgid "B<#include E<lt>sys/swap.hE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:48
+#: build/C/man2/swapon.2:51
 msgid "B<int swapon(const char *>I<path>B<, int >I<swapflags>B<);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:50
+#: build/C/man2/swapon.2:53
 msgid "B<int swapoff(const char *>I<path>B<);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:57
+#: build/C/man2/swapon.2:60
 msgid ""
 "B<swapon>()  sets the swap area to the file or block device specified by "
 "I<path>.  B<swapoff>()  stops swapping to the file or block device specified "
@@ -13250,7 +14713,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:67
+#: build/C/man2/swapon.2:70
 msgid ""
 "If the B<SWAP_FLAG_PREFER> flag is specified in the B<swapon>()  "
 "I<swapflags> argument, the new swap area will have a higher priority than "
@@ -13258,12 +14721,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:70
+#: build/C/man2/swapon.2:73
 msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:82
+#: build/C/man2/swapon.2:85
 msgid ""
 "If the B<SWAP_FLAG_DISCARD> flag is specified in the B<swapon>()  "
 "I<swapflags> argument, freed swap pages will be discarded before they are "
@@ -13273,20 +14736,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:86
+#: build/C/man2/swapon.2:89
 msgid ""
-"These functions may only be used by a privileged process (one having the "
+"These functions may be used only by a privileged process (one having the "
 "B<CAP_SYS_ADMIN> capability)."
 msgstr ""
 
 #. type: SS
-#: build/C/man2/swapon.2:86
+#: build/C/man2/swapon.2:89
 #, no-wrap
 msgid "Priority"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:91
+#: build/C/man2/swapon.2:94
 msgid ""
 "Each swap area has a priority, either high or low.  The default priority is "
 "low.  Within the low-priority areas, newer areas are even lower priority "
@@ -13294,7 +14757,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:97
+#: build/C/man2/swapon.2:100
 msgid ""
 "All priorities set with I<swapflags> are high-priority, higher than "
 "default.  They may have any nonnegative value chosen by the caller.  Higher "
@@ -13302,7 +14765,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:105
+#: build/C/man2/swapon.2:108
 msgid ""
 "Swap pages are allocated from areas in priority order, highest priority "
 "first.  For areas with different priorities, a higher-priority area is "
@@ -13312,47 +14775,68 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:108
+#: build/C/man2/swapon.2:111
 msgid ""
 "As of Linux 1.3.6, the kernel usually follows these rules, but there are "
 "exceptions."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:121
+#: build/C/man2/swapon.2:124
 msgid ""
 "(for B<swapon>())  The specified I<path> is already being used as a swap "
 "area."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:133
+#: build/C/man2/swapon.2:129
 msgid ""
 "The file I<path> exists, but refers neither to a regular file nor to a block "
-"device; or, for B<swapon>(), the indicated path does not contain a valid "
-"swap signature or resides on an in-memory file system like tmpfs; or, for "
-"B<swapoff>(), I<path> is not currently a swap area."
+"device;"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:141
-msgid "The file I<path> does not exist."
+#: build/C/man2/swapon.2:134
+msgid ""
+"(B<swapon>())  The indicated path does not contain a valid swap signature or "
+"resides on an in-memory filesystem such as tmpfs."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/swapon.2:134
+#, no-wrap
+msgid "B<EINVAL> (since Linux 3.4)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/swapon.2:139
+msgid "(B<swapon>())  An invalid flag value was specified in I<flags>."
 msgstr ""
 
 #. type: Plain text
 #: build/C/man2/swapon.2:144
+msgid "(B<swapoff>())  I<path> is not currently a swap area."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/swapon.2:152
+msgid "The file I<path> does not exist."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/swapon.2:155
 msgid "The system has insufficient memory to start swapping."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:151
+#: build/C/man2/swapon.2:162
 msgid ""
 "The caller does not have the B<CAP_SYS_ADMIN> capability.  Alternatively, "
 "the maximum number of swap files are already in use; see NOTES below."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:157
+#: build/C/man2/swapon.2:168
 msgid ""
 "These functions are Linux-specific and should not be used in programs "
 "intended to be portable.  The second I<swapflags> argument was introduced in "
@@ -13360,12 +14844,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:160
+#: build/C/man2/swapon.2:171
 msgid "The partition or path must be prepared with B<mkswap>(8)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:180
+#: build/C/man2/swapon.2:191
 msgid ""
 "There is an upper limit on the number of swap files that may be used, "
 "defined by the kernel constant B<MAX_SWAPFILES>.  Before kernel 2.4.10, "
@@ -13379,7 +14863,7 @@ msgstr ""
 
 #.  To be precise: 2.6.35.5
 #. type: Plain text
-#: build/C/man2/swapon.2:191
+#: build/C/man2/swapon.2:202
 msgid ""
 "Discard of swap pages was introduced in kernel 2.6.29, then made conditional "
 "on the B<SWAP_FLAG_DISCARD> flag in kernel 2.6.36, which still discards the "
@@ -13388,29 +14872,23 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/swapon.2:195
+#: build/C/man2/swapon.2:206
 msgid "B<mkswap>(8), B<swapoff>(8), B<swapon>(8)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/syscall.2:40
+#: build/C/man2/syscall.2:42
 #, no-wrap
 msgid "SYSCALL"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/syscall.2:40
-#, no-wrap
-msgid "2012-08-14"
-msgstr ""
-
 #. type: Plain text
-#: build/C/man2/syscall.2:43
+#: build/C/man2/syscall.2:45
 msgid "syscall - indirect system call"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscall.2:48
+#: build/C/man2/syscall.2:50
 #, no-wrap
 msgid ""
 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
@@ -13419,13 +14897,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscall.2:50
+#: build/C/man2/syscall.2:52
 #, no-wrap
-msgid "B<int syscall(int >I<number>B<, ...);>\n"
+msgid "B<long syscall(long >I<number>B<, ...);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscall.2:62
+#: build/C/man2/syscall.2:64
 msgid ""
 "B<syscall>()  is a small library function that invokes the system call whose "
 "assembly language interface has the specified I<number> with the specified "
@@ -13434,7 +14912,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscall.2:69
+#: build/C/man2/syscall.2:71
 msgid ""
 "B<syscall>()  saves CPU registers before making the system call, restores "
 "the registers upon return from the system call, and stores any error code "
@@ -13442,14 +14920,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscall.2:72
+#: build/C/man2/syscall.2:74
 msgid ""
 "Symbolic constants for system call numbers can be found in the header file "
 "I<E<lt>sys/syscall.hE<gt>>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscall.2:78
+#: build/C/man2/syscall.2:80
 msgid ""
 "The return value is defined by the system call being invoked.  In general, a "
 "0 return value indicates success.  A -1 return value indicates an error, and "
@@ -13457,22 +14935,318 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscall.2:82
+#: build/C/man2/syscall.2:84
 msgid "B<syscall>()  first appeared in 4BSD."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/syscall.2:84
+#, no-wrap
+msgid "Architecture-specific requirements"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:95
+msgid ""
+"Each architecture ABI has its own requirements on how system call arguments "
+"are passed to the kernel.  For system calls that have a glibc wrapper (e.g., "
+"most system calls), glibc handles the details of copying arguments to the "
+"right registers in a manner suitable for the architecture.  However, when "
+"using B<syscall>()  to make a system call, the caller might need to handle "
+"architecture-dependent details; this requirement is most commonly "
+"encountered on certain 32-bit architectures."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:106
+msgid ""
+"For example, on the ARM architecture Embedded ABI (EABI), a 64-bit value "
+"(e.g., I<long long>)  must be aligned to an even register pair.  Thus, using "
+"B<syscall>()  instead of the wrapper provided by glibc, the B<readahead>()  "
+"system call would be invoked as follows on the ARM architecture with the "
+"EABI:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:113
+#, no-wrap
+msgid ""
+"syscall(SYS_readahead, fd, 0,\n"
+"        (unsigned int) (offset E<gt>E<gt> 32),\n"
+"        (unsigned int) (offset & 0xFFFFFFFF),\n"
+"        count);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:127
+msgid ""
+"Since the offset argument is 64 bits, and the first argument (I<fd>)  is "
+"passed in I<r0>, the caller must manually split and align the 64-bit value "
+"so that it is passed in the I<r2>/I<r3> register pair.  That means inserting "
+"a dummy value into I<r1> (the second argument of 0)."
+msgstr ""
+
+#.  Mike Frysinger: this issue ends up forcing MIPS
+#.  O32 to take 7 arguments to syscall()
+#. type: Plain text
+#: build/C/man2/syscall.2:132
+msgid ""
+"Similar issues can occur on MIPS with the O32 ABI, on PowerPC with the "
+"32-bit ABI, and on Xtensa."
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/syscall.2:88
+#: build/C/man2/syscall.2:143
+msgid ""
+"The affected system calls are B<fadvise64_64>(2), B<ftruncate64>(2), "
+"B<posix_fadvise>(2), B<pread64>(2), B<pwrite64>(2), B<readahead>(2), "
+"B<sync_file_range>(2), and B<truncate64>(2)."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/syscall.2:143
+#, no-wrap
+msgid "Architecture calling conventions"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:147
+msgid ""
+"Every architecture has its own way of invoking and passing arguments to the "
+"kernel.  The details for various architectures are listed in the two tables "
+"below."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:154
+msgid ""
+"The first table lists the instruction used to transition to kernel mode, "
+"(which might not be the fastest or best way to transition to the kernel, so "
+"you might have to refer to B<vdso>(7)), the register used to indicate the "
+"system call number, and the register used to return the system call result."
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:159
+#, no-wrap
+msgid "arch/ABI\tinstruction\tsyscall #\tretval\tNotes\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:161
+#, no-wrap
+msgid "arm/OABI\tswi NR\t-\ta1\tNR is syscall #\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:162
+#, no-wrap
+msgid "arm/EABI\tswi 0x0\tr7\tr0\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:163
+#, no-wrap
+msgid "arm64\tsvc #0\tx8\tx0\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:164
+#, no-wrap
+msgid "blackfin\texcpt 0x0\tP0\tR0\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:165
+#, no-wrap
+msgid "i386\tint $0x80\teax\teax\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:166
+#, no-wrap
+msgid "ia64\tbreak 0x100000\tr15\tr8\tSee below\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:167
+#, no-wrap
+msgid "mips\tsyscall\tv0\tv0\tSee below\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:168
+#, no-wrap
+msgid "parisc\tble 0x100(%sr2, %r0)\tr20\tr28\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:169
+#, no-wrap
+msgid "s390\tsvc 0\tr1\tr2\tSee below\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:170
+#, no-wrap
+msgid "s390x\tsvc 0\tr1\tr2\tSee below\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:171
+#, no-wrap
+msgid "sparc/32\tt 0x10\tg1\to0\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:172
+#, no-wrap
+msgid "sparc/64\tt 0x6d\tg1\to0\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:173
+#, no-wrap
+msgid "x86_64\tsyscall\trax\trax\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:178
+msgid ""
+"For s390 and s390x, NR (the system call number)  may be passed directly with "
+"\"svc NR\" if it is less than 256."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:186
+msgid ""
+"On a few architectures, a register is used to indicate simple boolean "
+"failure of the system call: ia64 uses I<r10> for this purpose, and mips uses "
+"I<a3>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:192
+msgid "The second table shows the registers used to pass the system call arguments."
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:197
+#, no-wrap
+msgid "arch/ABI\targ1\targ2\targ3\targ4\targ5\targ6\targ7\tNotes\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:199
+#, no-wrap
+msgid "arm/OABI\ta1\ta2\ta3\ta4\tv1\tv2\tv3\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:200
+#, no-wrap
+msgid "arm/EABI\tr0\tr1\tr2\tr3\tr4\tr5\tr6\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:201
+#, no-wrap
+msgid "arm64\tx0\tx1\tx2\tx3\tx4\tx5\t-\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:202
+#, no-wrap
+msgid "blackfin\tR0\tR1\tR2\tR3\tR4\tR5\t-\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:203
+#, no-wrap
+msgid "i386\tebx\tecx\tedx\tesi\tedi\tebp\t-\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:204
+#, no-wrap
+msgid "ia64\tout0\tout1\tout2\tout3\tout4\tout5\t-\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:205
+#, no-wrap
+msgid "mips/o32\ta0\ta1\ta2\ta3\t-\t-\t-\tSee below\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:206
+#, no-wrap
+msgid "mips/n32,64\ta0\ta1\ta2\ta3\ta4\ta5\t-\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:207
+#, no-wrap
+msgid "parisc\tr26\tr25\tr24\tr23\tr22\tr21\t-\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:208
+#, no-wrap
+msgid "s390\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:209
+#, no-wrap
+msgid "s390x\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:210
+#, no-wrap
+msgid "sparc/32\to0\to1\to2\to3\to4\to5\t-\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:211
+#, no-wrap
+msgid "sparc/64\to0\to1\to2\to3\to4\to5\t-\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscall.2:212
+#, no-wrap
+msgid "x86_64\trdi\trsi\trdx\tr10\tr8\tr9\t-\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:217
+msgid ""
+"The mips/o32 system call convention passes arguments 5 through 8 on the user "
+"stack."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:224
+msgid ""
+"Note that these tables don't cover the entire calling convention\\(emsome "
+"architectures may indiscriminately clobber other registers not listed here."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/syscall.2:231
 #, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
 "#include E<lt>unistd.hE<gt>\n"
 "#include E<lt>sys/syscall.hE<gt>\n"
 "#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>signal.hE<gt>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscall.2:93
+#: build/C/man2/syscall.2:236
 #, no-wrap
 msgid ""
 "int\n"
@@ -13482,17 +15256,17 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscall.2:97
+#: build/C/man2/syscall.2:240
 #, no-wrap
 msgid ""
 "    tid = syscall(SYS_gettid);\n"
-"    tid = syscall(SYS_tgkill, getpid(), tid);\n"
+"    tid = syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
 "}\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscall.2:102
-msgid "B<_syscall>(2), B<intro>(2), B<syscalls>(2)"
+#: build/C/man2/syscall.2:247
+msgid "B<_syscall>(2), B<intro>(2), B<syscalls>(2), B<errno>(3), B<vdso>(7)"
 msgstr ""
 
 #. type: TH
@@ -13501,12 +15275,6 @@ msgstr ""
 msgid "SYSCALLS"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/syscalls.2:31
-#, no-wrap
-msgid "2013-03-10"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man2/syscalls.2:34
 msgid "syscalls - Linux system calls"
@@ -13669,7 +15437,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/syscalls.2:152
 msgid ""
-"The list of system calls that are available as at kernel 3.5 (or in a few "
+"The list of system calls that are available as at kernel 3.15 (or in a few "
 "cases only on older kernels) is as follows:"
 msgstr ""
 
@@ -13754,258 +15522,288 @@ msgstr ""
 #. type: tbl table
 #: build/C/man2/syscalls.2:171
 #, no-wrap
-msgid "Deprecated (does nothing) since 2.6\n"
+msgid "Deprecated (does nothing)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:172 build/C/man2/syscalls.2:182 build/C/man2/syscalls.2:310 build/C/man2/syscalls.2:381 build/C/man2/syscalls.2:395 build/C/man2/syscalls.2:405 build/C/man2/syscalls.2:532
+#: build/C/man2/syscalls.2:172 build/C/man2/syscalls.2:185 build/C/man2/syscalls.2:320 build/C/man2/syscalls.2:393 build/C/man2/syscalls.2:409 build/C/man2/syscalls.2:422
 #, no-wrap
-msgid "T}\n"
+msgid ".br\n"
 msgstr ""
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:173
 #, no-wrap
+msgid "since 2.6\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:174 build/C/man2/syscalls.2:187 build/C/man2/syscalls.2:322 build/C/man2/syscalls.2:395 build/C/man2/syscalls.2:411 build/C/man2/syscalls.2:424 build/C/man2/syscalls.2:601
+#, no-wrap
+msgid "T}\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:175
+#, no-wrap
 msgid "B<bind>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:174
+#: build/C/man2/syscalls.2:176
+#, no-wrap
+msgid "B<bpf>(2)\t3.18\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:177
 #, no-wrap
 msgid "B<brk>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:175
+#: build/C/man2/syscalls.2:178
 #, no-wrap
 msgid "B<cacheflush>(2)\t1.2\tNot on x86\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:176
+#: build/C/man2/syscalls.2:179
 #, no-wrap
 msgid "B<capget>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:177
+#: build/C/man2/syscalls.2:180
 #, no-wrap
 msgid "B<capset>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:178
+#: build/C/man2/syscalls.2:181
 #, no-wrap
 msgid "B<chdir>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:179
+#: build/C/man2/syscalls.2:182
 #, no-wrap
 msgid "B<chmod>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:180
+#: build/C/man2/syscalls.2:183
 #, no-wrap
 msgid "B<chown>(2)\t2.2\tT{\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:181 build/C/man2/syscalls.2:309
+#: build/C/man2/syscalls.2:184 build/C/man2/syscalls.2:319
 #, no-wrap
-msgid "See B<chown>(2) for version details\n"
+msgid "See B<chown>(2) for\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:183
+#: build/C/man2/syscalls.2:186 build/C/man2/syscalls.2:321
+#, no-wrap
+msgid "version details\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:188
 #, no-wrap
 msgid "B<chown32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:184
+#: build/C/man2/syscalls.2:189
 #, no-wrap
 msgid "B<chroot>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:185
+#: build/C/man2/syscalls.2:190
 #, no-wrap
 msgid "B<clock_adjtime>(2)\t2.6.39\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:186
+#: build/C/man2/syscalls.2:191
 #, no-wrap
 msgid "B<clock_getres>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:187
+#: build/C/man2/syscalls.2:192
 #, no-wrap
 msgid "B<clock_gettime>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:188
+#: build/C/man2/syscalls.2:193
 #, no-wrap
 msgid "B<clock_nanosleep>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:189
+#: build/C/man2/syscalls.2:194
 #, no-wrap
 msgid "B<clock_settime>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:190
+#: build/C/man2/syscalls.2:195
 #, no-wrap
 msgid "B<clone>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:191
+#: build/C/man2/syscalls.2:196
 #, no-wrap
 msgid "B<close>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:192
+#: build/C/man2/syscalls.2:197
 #, no-wrap
 msgid "B<connect>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:193
+#: build/C/man2/syscalls.2:198
 #, no-wrap
 msgid "B<creat>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:194
+#: build/C/man2/syscalls.2:199
 #, no-wrap
-msgid "B<create_module>(2)\t\tRemoved in 2.6\n"
+msgid "B<create_module>(2)\t1.0\tRemoved in 2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:195
+#: build/C/man2/syscalls.2:200
 #, no-wrap
 msgid "B<delete_module>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:196
+#: build/C/man2/syscalls.2:201
 #, no-wrap
 msgid "B<dup>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:197
+#: build/C/man2/syscalls.2:202
 #, no-wrap
 msgid "B<dup2>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:198
+#: build/C/man2/syscalls.2:203
 #, no-wrap
 msgid "B<dup3>(2)\t2.6.27\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:199
+#: build/C/man2/syscalls.2:204
 #, no-wrap
 msgid "B<epoll_create>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:200
+#: build/C/man2/syscalls.2:205
 #, no-wrap
 msgid "B<epoll_create1>(2)\t2.6.27\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:201
+#: build/C/man2/syscalls.2:206
 #, no-wrap
 msgid "B<epoll_ctl>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:202
+#: build/C/man2/syscalls.2:207
 #, no-wrap
 msgid "B<epoll_pwait>(2)\t2.6.19\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:203
+#: build/C/man2/syscalls.2:208
 #, no-wrap
 msgid "B<epoll_wait>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:204
+#: build/C/man2/syscalls.2:209
 #, no-wrap
 msgid "B<eventfd>(2)\t2.6.22\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:205
+#: build/C/man2/syscalls.2:210
 #, no-wrap
 msgid "B<eventfd2>(2)\t2.6.27\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:206
+#: build/C/man2/syscalls.2:211
 #, no-wrap
 msgid "B<execve>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:207
+#: build/C/man2/syscalls.2:212
+#, no-wrap
+msgid "B<execveat>(2)\t3.19\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:213
 #, no-wrap
 msgid "B<exit>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:208
+#: build/C/man2/syscalls.2:214
 #, no-wrap
 msgid "B<exit_group>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:209
+#: build/C/man2/syscalls.2:215
 #, no-wrap
 msgid "B<faccessat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:210
+#: build/C/man2/syscalls.2:216
 #, no-wrap
 msgid "B<fadvise64>(2)\t2.6\n"
 msgstr ""
 
 #.  Implements \fBposix_fadvise\fP(2)
 #. type: tbl table
-#: build/C/man2/syscalls.2:212
+#: build/C/man2/syscalls.2:218
 #, no-wrap
 msgid "B<fadvise64_64>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:213
+#: build/C/man2/syscalls.2:219
 #, no-wrap
 msgid "B<fallocate>(2)\t2.6.23\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:214
+#: build/C/man2/syscalls.2:220
 #, no-wrap
 msgid "B<fanotify_init>(2)\t2.6.37\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:215
+#: build/C/man2/syscalls.2:221
 #, no-wrap
 msgid "B<fanotify_mark>(2)\t2.6.37\n"
 msgstr ""
@@ -14013,507 +15811,521 @@ msgstr ""
 #.  The fanotify calls were added in Linux 2.6.36,
 #.  but disabled while the API was finalized.
 #. type: tbl table
-#: build/C/man2/syscalls.2:218
+#: build/C/man2/syscalls.2:224
 #, no-wrap
 msgid "B<fchdir>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:219
+#: build/C/man2/syscalls.2:225
 #, no-wrap
 msgid "B<fchmod>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:220
+#: build/C/man2/syscalls.2:226
 #, no-wrap
 msgid "B<fchmodat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:221
+#: build/C/man2/syscalls.2:227
 #, no-wrap
 msgid "B<fchown>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:222
+#: build/C/man2/syscalls.2:228
 #, no-wrap
 msgid "B<fchown32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:223
+#: build/C/man2/syscalls.2:229
 #, no-wrap
 msgid "B<fchownat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:224
+#: build/C/man2/syscalls.2:230
 #, no-wrap
 msgid "B<fcntl>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:225
+#: build/C/man2/syscalls.2:231
 #, no-wrap
 msgid "B<fcntl64>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:226
+#: build/C/man2/syscalls.2:232
 #, no-wrap
 msgid "B<fdatasync>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:227
+#: build/C/man2/syscalls.2:233
 #, no-wrap
 msgid "B<fgetxattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:228
+#: build/C/man2/syscalls.2:234
 #, no-wrap
 msgid "B<finit_module>(2)\t3.8\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:229
+#: build/C/man2/syscalls.2:235
 #, no-wrap
 msgid "B<flistxattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:230
+#: build/C/man2/syscalls.2:236
 #, no-wrap
 msgid "B<flock>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:231
+#: build/C/man2/syscalls.2:237
 #, no-wrap
 msgid "B<fork>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:232
+#: build/C/man2/syscalls.2:238
 #, no-wrap
 msgid "B<free_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:233
+#: build/C/man2/syscalls.2:239
 #, no-wrap
 msgid "B<fremovexattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:234
+#: build/C/man2/syscalls.2:240
 #, no-wrap
 msgid "B<fsetxattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:235
+#: build/C/man2/syscalls.2:241
 #, no-wrap
 msgid "B<fstat>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:236
+#: build/C/man2/syscalls.2:242
 #, no-wrap
 msgid "B<fstat64>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:237
+#: build/C/man2/syscalls.2:243
 #, no-wrap
 msgid "B<fstatat64>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:238
+#: build/C/man2/syscalls.2:244
 #, no-wrap
 msgid "B<fstatfs>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:239
+#: build/C/man2/syscalls.2:245
 #, no-wrap
 msgid "B<fstatfs64>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:240
+#: build/C/man2/syscalls.2:246
 #, no-wrap
-msgid "B<fsync>(2)\t1.0\t1.0\n"
+msgid "B<fsync>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:241
+#: build/C/man2/syscalls.2:247
 #, no-wrap
 msgid "B<ftruncate>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:242
+#: build/C/man2/syscalls.2:248
 #, no-wrap
 msgid "B<ftruncate64>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:243
+#: build/C/man2/syscalls.2:249
 #, no-wrap
 msgid "B<futex>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:244
+#: build/C/man2/syscalls.2:250
 #, no-wrap
 msgid "B<futimesat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:245
+#: build/C/man2/syscalls.2:251
 #, no-wrap
-msgid "B<get_kernel_syms>(2)\t\tRemoved in 2.6\n"
+msgid "B<get_kernel_syms>(2)\t1.0\tRemoved in 2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:246
+#: build/C/man2/syscalls.2:252
 #, no-wrap
 msgid "B<get_mempolicy>(2)\t2.6.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:247
+#: build/C/man2/syscalls.2:253
 #, no-wrap
 msgid "B<get_robust_list>(2)\t2.6.17\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:248
+#: build/C/man2/syscalls.2:254
 #, no-wrap
 msgid "B<get_thread_area>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:249
+#: build/C/man2/syscalls.2:255
 #, no-wrap
 msgid "B<getcpu>(2)\t2.6.19\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:250
+#: build/C/man2/syscalls.2:256
 #, no-wrap
 msgid "B<getcwd>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:251
+#: build/C/man2/syscalls.2:257
 #, no-wrap
 msgid "B<getdents>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:252
+#: build/C/man2/syscalls.2:258
 #, no-wrap
 msgid "B<getdents64>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:253
+#: build/C/man2/syscalls.2:259
 #, no-wrap
 msgid "B<getegid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:254
+#: build/C/man2/syscalls.2:260
 #, no-wrap
 msgid "B<getegid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:255
+#: build/C/man2/syscalls.2:261
 #, no-wrap
 msgid "B<geteuid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:256
+#: build/C/man2/syscalls.2:262
 #, no-wrap
 msgid "B<geteuid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:257
+#: build/C/man2/syscalls.2:263
 #, no-wrap
 msgid "B<getgid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:258
+#: build/C/man2/syscalls.2:264
 #, no-wrap
 msgid "B<getgid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:259
+#: build/C/man2/syscalls.2:265
 #, no-wrap
 msgid "B<getgroups>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:260
+#: build/C/man2/syscalls.2:266
 #, no-wrap
 msgid "B<getgroups32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:261
+#: build/C/man2/syscalls.2:267
 #, no-wrap
 msgid "B<getitimer>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:262
+#: build/C/man2/syscalls.2:268
 #, no-wrap
 msgid "B<getpeername>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:263
+#: build/C/man2/syscalls.2:269
 #, no-wrap
 msgid "B<getpagesize>(2)\t2.0\tNot on x86\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:264
+#: build/C/man2/syscalls.2:270
 #, no-wrap
 msgid "B<getpgid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:265
+#: build/C/man2/syscalls.2:271
 #, no-wrap
 msgid "B<getpgrp>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:266
+#: build/C/man2/syscalls.2:272
 #, no-wrap
 msgid "B<getpid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:267
+#: build/C/man2/syscalls.2:273
 #, no-wrap
 msgid "B<getppid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:268
+#: build/C/man2/syscalls.2:274
 #, no-wrap
 msgid "B<getpriority>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:269
+#: build/C/man2/syscalls.2:275
+#, no-wrap
+msgid "B<getrandom>(2)\t3.17\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:276
 #, no-wrap
 msgid "B<getresgid>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:270
+#: build/C/man2/syscalls.2:277
 #, no-wrap
 msgid "B<getresgid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:271
+#: build/C/man2/syscalls.2:278
 #, no-wrap
 msgid "B<getresuid>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:272
+#: build/C/man2/syscalls.2:279
 #, no-wrap
 msgid "B<getresuid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:273
+#: build/C/man2/syscalls.2:280
 #, no-wrap
 msgid "B<getrlimit>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:274
+#: build/C/man2/syscalls.2:281
 #, no-wrap
 msgid "B<getrusage>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:275
+#: build/C/man2/syscalls.2:282
 #, no-wrap
 msgid "B<getsid>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:276
+#: build/C/man2/syscalls.2:283
 #, no-wrap
 msgid "B<getsockname>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:277
+#: build/C/man2/syscalls.2:284
 #, no-wrap
 msgid "B<getsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:278
+#: build/C/man2/syscalls.2:285
 #, no-wrap
 msgid "B<gettid>(2)\t2.4.11\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:279
+#: build/C/man2/syscalls.2:286
 #, no-wrap
 msgid "B<gettimeofday>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:280
+#: build/C/man2/syscalls.2:287
 #, no-wrap
 msgid "B<getuid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:281
+#: build/C/man2/syscalls.2:288
 #, no-wrap
 msgid "B<getuid32>(2)\t2.4\n"
 msgstr ""
 
 #.  \fBgetunwind\fP(2) 2.4.8   ia64; DEPRECATED
 #. type: tbl table
-#: build/C/man2/syscalls.2:283
+#: build/C/man2/syscalls.2:290
 #, no-wrap
 msgid "B<getxattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:284
+#: build/C/man2/syscalls.2:291
 #, no-wrap
 msgid "B<init_module>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:285
+#: build/C/man2/syscalls.2:292
 #, no-wrap
 msgid "B<inotify_add_watch>(2)\t2.6.13\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:286
+#: build/C/man2/syscalls.2:293
 #, no-wrap
 msgid "B<inotify_init>(2)\t2.6.13\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:287
+#: build/C/man2/syscalls.2:294
 #, no-wrap
 msgid "B<inotify_init1>(2)\t2.6.27\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:288
+#: build/C/man2/syscalls.2:295
 #, no-wrap
 msgid "B<inotify_rm_watch>(2)\t2.6.13\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:289
+#: build/C/man2/syscalls.2:296
 #, no-wrap
 msgid "B<io_cancel>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:290
+#: build/C/man2/syscalls.2:297
 #, no-wrap
 msgid "B<io_destroy>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:291
+#: build/C/man2/syscalls.2:298
 #, no-wrap
 msgid "B<io_getevents>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:292
+#: build/C/man2/syscalls.2:299
 #, no-wrap
 msgid "B<io_setup>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:293
+#: build/C/man2/syscalls.2:300
 #, no-wrap
 msgid "B<io_submit>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:294
+#: build/C/man2/syscalls.2:301
 #, no-wrap
 msgid "B<ioctl>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:295
+#: build/C/man2/syscalls.2:302
 #, no-wrap
 msgid "B<ioperm>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:296
+#: build/C/man2/syscalls.2:303
 #, no-wrap
 msgid "B<iopl>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:297
+#: build/C/man2/syscalls.2:304
 #, no-wrap
 msgid "B<ioprio_get>(2)\t2.6.13\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:298
+#: build/C/man2/syscalls.2:305
 #, no-wrap
 msgid "B<ioprio_set>(2)\t2.6.13\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:299
+#: build/C/man2/syscalls.2:306
 #, no-wrap
 msgid "B<ipc>(2)\t1.0\n"
 msgstr ""
 
 #.  Implements System V IPC calls
 #. type: tbl table
-#: build/C/man2/syscalls.2:301
+#: build/C/man2/syscalls.2:308
 #, no-wrap
 msgid "B<kcmp>(2)\t3.5\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:302
+#: build/C/man2/syscalls.2:309
 #, no-wrap
 msgid "B<kern_features>(2)\t3.7\tSparc64\n"
 msgstr ""
 
+#.  FIXME . document kern_features():
+#.  commit 517ffce4e1a03aea979fe3a18a3dd1761a24fafb
 #. type: tbl table
-#: build/C/man2/syscalls.2:303
+#: build/C/man2/syscalls.2:312
+#, no-wrap
+msgid "B<kexec_file_load>(2)\t3.17\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:313
 #, no-wrap
 msgid "B<kexec_load>(2)\t2.6.13\n"
 msgstr ""
@@ -14521,273 +16333,273 @@ msgstr ""
 #.  The entry in the syscall table was reserved starting in 2.6.7
 #.  Was named sys_kexec_load() from 2.6.7 to 2.6.16
 #. type: tbl table
-#: build/C/man2/syscalls.2:306
+#: build/C/man2/syscalls.2:316
 #, no-wrap
 msgid "B<keyctl>(2)\t2.6.11\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:307
+#: build/C/man2/syscalls.2:317
 #, no-wrap
 msgid "B<kill>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:308
+#: build/C/man2/syscalls.2:318
 #, no-wrap
 msgid "B<lchown>(2)\t1.0\tT{\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:311
+#: build/C/man2/syscalls.2:323
 #, no-wrap
 msgid "B<lchown32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:312
+#: build/C/man2/syscalls.2:324
 #, no-wrap
 msgid "B<lgetxattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:313
+#: build/C/man2/syscalls.2:325
 #, no-wrap
 msgid "B<link>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:314
+#: build/C/man2/syscalls.2:326
 #, no-wrap
 msgid "B<linkat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:315
+#: build/C/man2/syscalls.2:327
 #, no-wrap
 msgid "B<listen>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:316
+#: build/C/man2/syscalls.2:328
 #, no-wrap
 msgid "B<listxattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:317
+#: build/C/man2/syscalls.2:329
 #, no-wrap
 msgid "B<llistxattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:318
+#: build/C/man2/syscalls.2:330
 #, no-wrap
 msgid "B<lookup_dcookie>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:319
+#: build/C/man2/syscalls.2:331
 #, no-wrap
 msgid "B<lremovexattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:320
+#: build/C/man2/syscalls.2:332
 #, no-wrap
 msgid "B<lseek>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:321
+#: build/C/man2/syscalls.2:333
 #, no-wrap
 msgid "B<lsetxattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:322
+#: build/C/man2/syscalls.2:334
 #, no-wrap
 msgid "B<lstat>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:323
+#: build/C/man2/syscalls.2:335
 #, no-wrap
 msgid "B<lstat64>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:324
+#: build/C/man2/syscalls.2:336
 #, no-wrap
 msgid "B<madvise>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:325
+#: build/C/man2/syscalls.2:337
 #, no-wrap
-msgid "B<madvise1>(2)\t2.4\n"
+msgid "B<mbind>(2)\t2.6.6\n"
 msgstr ""
 
+#.  \fBmemory_ordering\fP(2)   ???     Sparc64
 #. type: tbl table
-#: build/C/man2/syscalls.2:326
+#: build/C/man2/syscalls.2:339
 #, no-wrap
-msgid "B<mbind>(2)\t2.6.6\n"
+msgid "B<memfd_create>(2)\t3.17\n"
 msgstr ""
 
-#.  \fBmemory_ordering\fP(2)   ???     Sparc64
 #. type: tbl table
-#: build/C/man2/syscalls.2:328
+#: build/C/man2/syscalls.2:340
 #, no-wrap
 msgid "B<migrate_pages>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:329
+#: build/C/man2/syscalls.2:341
 #, no-wrap
 msgid "B<mincore>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:330
+#: build/C/man2/syscalls.2:342
 #, no-wrap
 msgid "B<mkdir>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:331
+#: build/C/man2/syscalls.2:343
 #, no-wrap
 msgid "B<mkdirat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:332
+#: build/C/man2/syscalls.2:344
 #, no-wrap
 msgid "B<mknod>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:333
+#: build/C/man2/syscalls.2:345
 #, no-wrap
 msgid "B<mknodat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:334
+#: build/C/man2/syscalls.2:346
 #, no-wrap
 msgid "B<mlock>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:335
+#: build/C/man2/syscalls.2:347
 #, no-wrap
 msgid "B<mlockall>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:336
+#: build/C/man2/syscalls.2:348
 #, no-wrap
 msgid "B<mmap>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:337
+#: build/C/man2/syscalls.2:349
 #, no-wrap
 msgid "B<mmap2>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:338
+#: build/C/man2/syscalls.2:350
 #, no-wrap
 msgid "B<modify_ldt>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:339
+#: build/C/man2/syscalls.2:351
 #, no-wrap
 msgid "B<mount>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:340
+#: build/C/man2/syscalls.2:352
 #, no-wrap
 msgid "B<move_pages>(2)\t2.6.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:341
+#: build/C/man2/syscalls.2:353
 #, no-wrap
 msgid "B<mprotect>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:342
+#: build/C/man2/syscalls.2:354
 #, no-wrap
 msgid "B<mq_getsetattr>(2)\t2.6.6\n"
 msgstr ""
 
 #.  Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
 #. type: tbl table
-#: build/C/man2/syscalls.2:344
+#: build/C/man2/syscalls.2:356
 #, no-wrap
 msgid "B<mq_notify>(2)\t2.6.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:345
+#: build/C/man2/syscalls.2:357
 #, no-wrap
 msgid "B<mq_open>(2)\t2.6.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:346
+#: build/C/man2/syscalls.2:358
 #, no-wrap
 msgid "B<mq_timedreceive>(2)\t2.6.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:347
+#: build/C/man2/syscalls.2:359
 #, no-wrap
 msgid "B<mq_timedsend>(2)\t2.6.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:348
+#: build/C/man2/syscalls.2:360
 #, no-wrap
 msgid "B<mq_unlink>(2)\t2.6.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:349
+#: build/C/man2/syscalls.2:361
 #, no-wrap
 msgid "B<mremap>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:350
+#: build/C/man2/syscalls.2:362
 #, no-wrap
 msgid "B<msgctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:351
+#: build/C/man2/syscalls.2:363
 #, no-wrap
 msgid "B<msgget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:352
+#: build/C/man2/syscalls.2:364
 #, no-wrap
 msgid "B<msgrcv>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:353
+#: build/C/man2/syscalls.2:365
 #, no-wrap
 msgid "B<msgsnd>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:354
+#: build/C/man2/syscalls.2:366
 #, no-wrap
 msgid "B<msync>(2)\t2.0\n"
 msgstr ""
@@ -14795,583 +16607,643 @@ msgstr ""
 #.  \fBmultiplexer\fP(2)       ??      __NR_multiplexer reserved on
 #.             PowerPC, but unimplemented?
 #. type: tbl table
-#: build/C/man2/syscalls.2:357
+#: build/C/man2/syscalls.2:369
 #, no-wrap
 msgid "B<munlock>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:358
+#: build/C/man2/syscalls.2:370
 #, no-wrap
 msgid "B<munlockall>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:359
+#: build/C/man2/syscalls.2:371
 #, no-wrap
 msgid "B<munmap>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:360
+#: build/C/man2/syscalls.2:372
 #, no-wrap
 msgid "B<name_to_handle_at>(2)\t2.6.39\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:361
+#: build/C/man2/syscalls.2:373
 #, no-wrap
 msgid "B<nanosleep>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:362
+#: build/C/man2/syscalls.2:374
 #, no-wrap
 msgid "B<nfsservctl>(2)\t2.2\tRemoved in 3.1\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:363
+#: build/C/man2/syscalls.2:375
 #, no-wrap
 msgid "B<nice>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:364
+#: build/C/man2/syscalls.2:376
 #, no-wrap
 msgid "B<oldfstat>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:365
+#: build/C/man2/syscalls.2:377
 #, no-wrap
 msgid "B<oldlstat>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:366
+#: build/C/man2/syscalls.2:378
 #, no-wrap
 msgid "B<oldolduname>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:367
+#: build/C/man2/syscalls.2:379
 #, no-wrap
 msgid "B<oldstat>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:368
+#: build/C/man2/syscalls.2:380
 #, no-wrap
 msgid "B<olduname>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:369
+#: build/C/man2/syscalls.2:381
 #, no-wrap
 msgid "B<open>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:370
+#: build/C/man2/syscalls.2:382
 #, no-wrap
 msgid "B<open_by_handle_at>(2)\t2.6.39\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:371
+#: build/C/man2/syscalls.2:383
 #, no-wrap
 msgid "B<openat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:372
+#: build/C/man2/syscalls.2:384
 #, no-wrap
 msgid "B<pause>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:373
+#: build/C/man2/syscalls.2:385
 #, no-wrap
 msgid "B<pciconfig_iobase>(2)\t2.2.15; 2.4\tNot on x86\n"
 msgstr ""
 
 #.  Alpha, PowerPC, ARM; not x86
 #. type: tbl table
-#: build/C/man2/syscalls.2:375
+#: build/C/man2/syscalls.2:387
 #, no-wrap
 msgid "B<pciconfig_read>(2)\t2.0.26; 2.2\tNot on x86\n"
 msgstr ""
 
 #.  , PowerPC, ARM; not x86
 #. type: tbl table
-#: build/C/man2/syscalls.2:377
+#: build/C/man2/syscalls.2:389
 #, no-wrap
 msgid "B<pciconfig_write>(2)\t2.0.26; 2.2\tNot on x86\n"
 msgstr ""
 
 #.  , PowerPC, ARM; not x86
 #. type: tbl table
-#: build/C/man2/syscalls.2:379
+#: build/C/man2/syscalls.2:391
 #, no-wrap
 msgid "B<perf_event_open>(2)\t2.6.31\tT{\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:380
+#: build/C/man2/syscalls.2:392
 #, no-wrap
-msgid "Was called perf_counter_open() in 2.6.31; renamed in 2.6.32\n"
+msgid "Was perf_counter_open() in\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:382
+#: build/C/man2/syscalls.2:394
+#, no-wrap
+msgid "2.6.31; renamed in 2.6.32\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:396
 #, no-wrap
 msgid "B<personality>(2)\t1.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:383
+#: build/C/man2/syscalls.2:397
 #, no-wrap
 msgid "B<perfctr>(2)\t2.2\tSparc; removed in 2.6.34\n"
 msgstr ""
 
 #.     commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
 #. type: tbl table
-#: build/C/man2/syscalls.2:385
+#: build/C/man2/syscalls.2:399
 #, no-wrap
 msgid "B<perfmonctl>(2)\t2.4\tia64\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:386
+#: build/C/man2/syscalls.2:400
 #, no-wrap
 msgid "B<pipe>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:387
+#: build/C/man2/syscalls.2:401
 #, no-wrap
 msgid "B<pipe2>(2)\t2.6.27\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:388
+#: build/C/man2/syscalls.2:402
 #, no-wrap
 msgid "B<pivot_root>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:389
+#: build/C/man2/syscalls.2:403
 #, no-wrap
 msgid "B<poll>(2)\t2.0.36; 2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:390
+#: build/C/man2/syscalls.2:404
 #, no-wrap
-msgid "B<ppc_rtas>(2)\t\tPowerPC only\n"
+msgid "B<ppc_rtas>(2)\t2.6.2\tPowerPC only\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:391
+#: build/C/man2/syscalls.2:405
 #, no-wrap
 msgid "B<ppoll>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:392
+#: build/C/man2/syscalls.2:406
 #, no-wrap
 msgid "B<prctl>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:393
+#: build/C/man2/syscalls.2:407
 #, no-wrap
 msgid "B<pread64>(2)\t\tT{\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:394
+#: build/C/man2/syscalls.2:408
 #, no-wrap
-msgid "Added as \"pread\" in 2.2; renamed \"pread64\" in 2.6\n"
+msgid "Added as \"pread\" in 2.2;\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:396
+#: build/C/man2/syscalls.2:410
+#, no-wrap
+msgid "renamed \"pread64\" in 2.6\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:412
 #, no-wrap
 msgid "B<preadv>(2)\t2.6.30\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:397
+#: build/C/man2/syscalls.2:413
 #, no-wrap
 msgid "B<prlimit>(2)\t2.6.36\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:398
+#: build/C/man2/syscalls.2:414
+#, no-wrap
+msgid "B<prlimit64>(2)\t2.6.36\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:415
 #, no-wrap
 msgid "B<process_vm_readv>(2)\t3.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:399
+#: build/C/man2/syscalls.2:416
 #, no-wrap
 msgid "B<process_vm_writev>(2)\t3.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:400
+#: build/C/man2/syscalls.2:417
 #, no-wrap
 msgid "B<pselect6>(2)\t2.6.16\n"
 msgstr ""
 
 #.  Implements \fBpselect\fP(2)
 #. type: tbl table
-#: build/C/man2/syscalls.2:402
+#: build/C/man2/syscalls.2:419
 #, no-wrap
 msgid "B<ptrace>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:403
+#: build/C/man2/syscalls.2:420
 #, no-wrap
 msgid "B<pwrite64>(2)\t\tT{\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:404
+#: build/C/man2/syscalls.2:421
 #, no-wrap
-msgid "Added as \"pwrite\" in 2.2; renamed \"pwrite64\" in 2.6\n"
+msgid "Added as \"pwrite\" in 2.2;\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:406
+#: build/C/man2/syscalls.2:423
+#, no-wrap
+msgid "renamed \"pwrite64\" in 2.6\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:425
 #, no-wrap
 msgid "B<pwritev>(2)\t2.6.30\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:407
+#: build/C/man2/syscalls.2:426
 #, no-wrap
 msgid "B<query_module>(2)\t2.2\tRemoved in 2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:408
+#: build/C/man2/syscalls.2:427
 #, no-wrap
 msgid "B<quotactl>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:409
+#: build/C/man2/syscalls.2:428
 #, no-wrap
 msgid "B<read>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:410
+#: build/C/man2/syscalls.2:429
 #, no-wrap
 msgid "B<readahead>(2)\t2.4.13\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:411
+#: build/C/man2/syscalls.2:430
 #, no-wrap
 msgid "B<readdir>(2)\t1.0\n"
 msgstr ""
 
 #.  Supersedes \fBgetdents\fP(2)
 #. type: tbl table
-#: build/C/man2/syscalls.2:413
+#: build/C/man2/syscalls.2:432
 #, no-wrap
 msgid "B<readlink>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:414
+#: build/C/man2/syscalls.2:433
 #, no-wrap
 msgid "B<readlinkat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:415
+#: build/C/man2/syscalls.2:434
 #, no-wrap
 msgid "B<readv>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:416
+#: build/C/man2/syscalls.2:435
 #, no-wrap
 msgid "B<reboot>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:417
+#: build/C/man2/syscalls.2:436
 #, no-wrap
 msgid "B<recv>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:418
+#: build/C/man2/syscalls.2:437
 #, no-wrap
 msgid "B<recvfrom>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:419
+#: build/C/man2/syscalls.2:438
 #, no-wrap
 msgid "B<recvmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:420
+#: build/C/man2/syscalls.2:439
 #, no-wrap
 msgid "B<recvmmsg>(2)\t2.6.33\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:421
+#: build/C/man2/syscalls.2:440
 #, no-wrap
-msgid "B<remap_file_pages>(2)\t2.6\n"
+msgid "B<remap_file_pages>(2)\t2.6\tDeprecated since 3.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:422
+#: build/C/man2/syscalls.2:441
 #, no-wrap
 msgid "B<removexattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:423
+#: build/C/man2/syscalls.2:442
 #, no-wrap
 msgid "B<rename>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:424
+#: build/C/man2/syscalls.2:443
 #, no-wrap
 msgid "B<renameat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:425
+#: build/C/man2/syscalls.2:444
+#, no-wrap
+msgid "B<renameat2>(2)\t3.15\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:445
 #, no-wrap
 msgid "B<request_key>(2)\t2.6.11\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:426
+#: build/C/man2/syscalls.2:446
 #, no-wrap
 msgid "B<restart_syscall>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:427
+#: build/C/man2/syscalls.2:447
 #, no-wrap
 msgid "B<rmdir>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:428
+#: build/C/man2/syscalls.2:448
 #, no-wrap
 msgid "B<rt_sigaction>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:429
+#: build/C/man2/syscalls.2:449
 #, no-wrap
 msgid "B<rt_sigpending>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:430
+#: build/C/man2/syscalls.2:450
 #, no-wrap
 msgid "B<rt_sigprocmask>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:431
+#: build/C/man2/syscalls.2:451
 #, no-wrap
 msgid "B<rt_sigqueueinfo>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:432
+#: build/C/man2/syscalls.2:452
 #, no-wrap
 msgid "B<rt_sigreturn>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:433
+#: build/C/man2/syscalls.2:453
 #, no-wrap
 msgid "B<rt_sigsuspend>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:434
+#: build/C/man2/syscalls.2:454
 #, no-wrap
 msgid "B<rt_sigtimedwait>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:435
+#: build/C/man2/syscalls.2:455
 #, no-wrap
 msgid "B<rt_tgsigqueueinfo>(2)\t2.6.31\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:436
+#: build/C/man2/syscalls.2:456
 #, no-wrap
 msgid "B<s390_runtime_instr>(2)\t3.7\ts390 only\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:437
+#: build/C/man2/syscalls.2:457
+#, no-wrap
+msgid "B<s390_pci_mmio_read>(2)\t3.19\ts390 only\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:458
+#, no-wrap
+msgid "B<s390_pci_mmio_write>(2)\t3.19\ts390 only\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:459
 #, no-wrap
 msgid "B<sched_get_priority_max>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:438
+#: build/C/man2/syscalls.2:460
 #, no-wrap
 msgid "B<sched_get_priority_min>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:439
+#: build/C/man2/syscalls.2:461
 #, no-wrap
 msgid "B<sched_getaffinity>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:440
+#: build/C/man2/syscalls.2:462
+#, no-wrap
+msgid "B<sched_getattr>(2)\t3.14\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:463
 #, no-wrap
 msgid "B<sched_getparam>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:441
+#: build/C/man2/syscalls.2:464
 #, no-wrap
 msgid "B<sched_getscheduler>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:442
+#: build/C/man2/syscalls.2:465
 #, no-wrap
 msgid "B<sched_rr_get_interval>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:443
+#: build/C/man2/syscalls.2:466
 #, no-wrap
 msgid "B<sched_setaffinity>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:444
+#: build/C/man2/syscalls.2:467
+#, no-wrap
+msgid "B<sched_setattr>(2)\t3.14\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:468
 #, no-wrap
 msgid "B<sched_setparam>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:445
+#: build/C/man2/syscalls.2:469
 #, no-wrap
 msgid "B<sched_setscheduler>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:446
+#: build/C/man2/syscalls.2:470
 #, no-wrap
 msgid "B<sched_yield>(2)\t2.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:447
+#: build/C/man2/syscalls.2:471
+#, no-wrap
+msgid "B<seccomp>(2)\t3.17\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:472
 #, no-wrap
 msgid "B<select>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:448
+#: build/C/man2/syscalls.2:473
 #, no-wrap
 msgid "B<semctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:449
+#: build/C/man2/syscalls.2:474
 #, no-wrap
 msgid "B<semget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:450
+#: build/C/man2/syscalls.2:475
 #, no-wrap
 msgid "B<semop>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:451
+#: build/C/man2/syscalls.2:476
 #, no-wrap
 msgid "B<semtimedop>(2)\t2.6; 2.4.22\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:452
+#: build/C/man2/syscalls.2:477
 #, no-wrap
 msgid "B<send>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:453
+#: build/C/man2/syscalls.2:478
 #, no-wrap
 msgid "B<sendfile>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:454
+#: build/C/man2/syscalls.2:479
 #, no-wrap
 msgid "B<sendfile64>(2)\t2.6; 2.4.19\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:455
+#: build/C/man2/syscalls.2:480
 #, no-wrap
 msgid "B<sendmmsg>(2)\t3.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:456
+#: build/C/man2/syscalls.2:481
 #, no-wrap
 msgid "B<sendmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:457
+#: build/C/man2/syscalls.2:482
 #, no-wrap
 msgid "B<sendto>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:458
+#: build/C/man2/syscalls.2:483
 #, no-wrap
 msgid "B<set_mempolicy>(2)\t2.6.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:459
+#: build/C/man2/syscalls.2:484
 #, no-wrap
 msgid "B<set_robust_list>(2)\t2.6.17\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:460
+#: build/C/man2/syscalls.2:485
 #, no-wrap
 msgid "B<set_thread_area>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:461
+#: build/C/man2/syscalls.2:486
 #, no-wrap
 msgid "B<set_tid_address>(2)\t2.6\n"
 msgstr ""
@@ -15379,677 +17251,679 @@ msgstr ""
 #.  See http://lkml.org/lkml/2005/8/1/83
 #.  "[PATCH] remove sys_set_zone_reclaim()"
 #. type: tbl table
-#: build/C/man2/syscalls.2:464
+#: build/C/man2/syscalls.2:489
 #, no-wrap
 msgid "B<setdomainname>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:465
+#: build/C/man2/syscalls.2:490
 #, no-wrap
 msgid "B<setfsgid>(2)\t1.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:466
+#: build/C/man2/syscalls.2:491
 #, no-wrap
 msgid "B<setfsgid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:467
+#: build/C/man2/syscalls.2:492
 #, no-wrap
 msgid "B<setfsuid>(2)\t1.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:468
+#: build/C/man2/syscalls.2:493
 #, no-wrap
 msgid "B<setfsuid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:469
+#: build/C/man2/syscalls.2:494
 #, no-wrap
 msgid "B<setgid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:470
+#: build/C/man2/syscalls.2:495
 #, no-wrap
 msgid "B<setgid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:471
+#: build/C/man2/syscalls.2:496
 #, no-wrap
 msgid "B<setgroups>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:472
+#: build/C/man2/syscalls.2:497
 #, no-wrap
 msgid "B<setgroups32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:473
+#: build/C/man2/syscalls.2:498
 #, no-wrap
 msgid "B<sethostname>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:474
+#: build/C/man2/syscalls.2:499
 #, no-wrap
 msgid "B<setitimer>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:475
+#: build/C/man2/syscalls.2:500
 #, no-wrap
 msgid "B<setns>(2)\t3.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:476
+#: build/C/man2/syscalls.2:501
 #, no-wrap
 msgid "B<setpgid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:477
+#: build/C/man2/syscalls.2:502
 #, no-wrap
 msgid "B<setpriority>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:478
+#: build/C/man2/syscalls.2:503
 #, no-wrap
 msgid "B<setregid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:479
+#: build/C/man2/syscalls.2:504
 #, no-wrap
 msgid "B<setregid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:480
+#: build/C/man2/syscalls.2:505
 #, no-wrap
 msgid "B<setresgid>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:481
+#: build/C/man2/syscalls.2:506
 #, no-wrap
 msgid "B<setresgid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:482
+#: build/C/man2/syscalls.2:507
 #, no-wrap
 msgid "B<setresuid>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:483
+#: build/C/man2/syscalls.2:508
 #, no-wrap
 msgid "B<setresuid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:484
+#: build/C/man2/syscalls.2:509
 #, no-wrap
 msgid "B<setreuid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:485
+#: build/C/man2/syscalls.2:510
 #, no-wrap
 msgid "B<setreuid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:486
+#: build/C/man2/syscalls.2:511
 #, no-wrap
 msgid "B<setrlimit>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:487
+#: build/C/man2/syscalls.2:512
 #, no-wrap
 msgid "B<setsid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:488
+#: build/C/man2/syscalls.2:513
 #, no-wrap
 msgid "B<setsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:489
+#: build/C/man2/syscalls.2:514
 #, no-wrap
 msgid "B<settimeofday>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:490
+#: build/C/man2/syscalls.2:515
 #, no-wrap
 msgid "B<setuid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:491
+#: build/C/man2/syscalls.2:516
 #, no-wrap
 msgid "B<setuid32>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:492
+#: build/C/man2/syscalls.2:517
 #, no-wrap
-msgid "B<setup>(2)\t\tRemoved in 2.2\n"
+msgid "B<setup>(2)\t1.0\tRemoved in 2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:493
+#: build/C/man2/syscalls.2:518
 #, no-wrap
 msgid "B<setxattr>(2)\t2.6; 2.4.18\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:494
+#: build/C/man2/syscalls.2:519
 #, no-wrap
 msgid "B<sgetmask>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:495
+#: build/C/man2/syscalls.2:520
 #, no-wrap
 msgid "B<shmat>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:496
+#: build/C/man2/syscalls.2:521
 #, no-wrap
 msgid "B<shmctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:497
+#: build/C/man2/syscalls.2:522
 #, no-wrap
 msgid "B<shmdt>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:498
+#: build/C/man2/syscalls.2:523
 #, no-wrap
 msgid "B<shmget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:499
+#: build/C/man2/syscalls.2:524
 #, no-wrap
 msgid "B<shutdown>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:500
+#: build/C/man2/syscalls.2:525
 #, no-wrap
 msgid "B<sigaction>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:501
+#: build/C/man2/syscalls.2:526
 #, no-wrap
 msgid "B<sigaltstack>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:502
+#: build/C/man2/syscalls.2:527
 #, no-wrap
 msgid "B<signal>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:503
+#: build/C/man2/syscalls.2:528
 #, no-wrap
 msgid "B<signalfd>(2)\t2.6.22\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:504
+#: build/C/man2/syscalls.2:529
 #, no-wrap
 msgid "B<signalfd4>(2)\t2.6.27\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:505
+#: build/C/man2/syscalls.2:530
 #, no-wrap
 msgid "B<sigpending>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:506
+#: build/C/man2/syscalls.2:531
 #, no-wrap
 msgid "B<sigprocmask>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:507
+#: build/C/man2/syscalls.2:532
 #, no-wrap
 msgid "B<sigreturn>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:508
+#: build/C/man2/syscalls.2:533
 #, no-wrap
 msgid "B<sigsuspend>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:509
+#: build/C/man2/syscalls.2:534
 #, no-wrap
 msgid "B<socket>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:510
+#: build/C/man2/syscalls.2:535
 #, no-wrap
 msgid "B<socketcall>(2)\t1.0\n"
 msgstr ""
 
 #.  Implements BSD socket calls
 #. type: tbl table
-#: build/C/man2/syscalls.2:512
+#: build/C/man2/syscalls.2:537
 #, no-wrap
 msgid "B<socketpair>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:513
+#: build/C/man2/syscalls.2:538
 #, no-wrap
 msgid "B<splice>(2)\t2.6.17\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:514
+#: build/C/man2/syscalls.2:539
 #, no-wrap
 msgid "B<spu_create>(2)\t2.6.16\tPowerPC only\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:515
+#: build/C/man2/syscalls.2:540
 #, no-wrap
 msgid "B<spu_run>(2)\t2.6.16\tPowerPC only\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:516
+#: build/C/man2/syscalls.2:541
 #, no-wrap
 msgid "B<ssetmask>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:517
+#: build/C/man2/syscalls.2:542
 #, no-wrap
 msgid "B<stat>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:518
+#: build/C/man2/syscalls.2:543
 #, no-wrap
 msgid "B<stat64>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:519
+#: build/C/man2/syscalls.2:544
 #, no-wrap
 msgid "B<statfs>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:520
+#: build/C/man2/syscalls.2:545
 #, no-wrap
 msgid "B<statfs64>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:521
+#: build/C/man2/syscalls.2:546
 #, no-wrap
 msgid "B<stime>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:522
-#, no-wrap
-msgid "B<subpage_prot>(2)\t2.6.25\tPowerPC if\n"
-msgstr ""
-
-#. type: tbl table
-#: build/C/man2/syscalls.2:523
+#: build/C/man2/syscalls.2:547
 #, no-wrap
-msgid "\t\tCONFIG_PPC_64K_PAGES\n"
+msgid "B<subpage_prot>(2)\t2.6.25\tPowerPC only\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:524
+#: build/C/man2/syscalls.2:548
 #, no-wrap
 msgid "B<swapoff>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:525
+#: build/C/man2/syscalls.2:549
 #, no-wrap
 msgid "B<swapon>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:526
+#: build/C/man2/syscalls.2:550
 #, no-wrap
 msgid "B<symlink>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:527
+#: build/C/man2/syscalls.2:551
 #, no-wrap
 msgid "B<symlinkat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:528
-#, no-wrap
-msgid "B<sync>(2)\t1.0\n"
-msgstr ""
-
-#. type: tbl table
-#: build/C/man2/syscalls.2:529
+#: build/C/man2/syscalls.2:552
 #, no-wrap
-msgid "B<sync_file_range>(2)\t2.6.17\n"
+msgid "B<sync>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:530
+#: build/C/man2/syscalls.2:553
 #, no-wrap
-msgid "B<sync_file_range2>(2)\t2.6.22\tT{\n"
+msgid "B<sync_file_range>(2)\t2.6.17\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:531
+#: build/C/man2/syscalls.2:554
 #, no-wrap
-msgid "Architecture-specific variant of B<sync_file_range>(2)\n"
+msgid "B<sync_file_range2>(2)\t2.6.22\n"
 msgstr ""
 
 #.  PowerPC, ARM, tile
 #.  First appeared on ARM, as arm_sync_file_range(), but later renamed
 #.  \fBsys_debug_setcontext\fP(2)      ???     PowerPC if CONFIG_PPC32
 #. type: tbl table
-#: build/C/man2/syscalls.2:536
+#: build/C/man2/syscalls.2:558
 #, no-wrap
 msgid "B<syncfs>(2)\t2.6.39\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:537
+#: build/C/man2/syscalls.2:559
 #, no-wrap
 msgid "B<sysfs>(2)\t1.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:538
+#: build/C/man2/syscalls.2:560
 #, no-wrap
 msgid "B<sysinfo>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:539
+#: build/C/man2/syscalls.2:561
 #, no-wrap
 msgid "B<syslog>(2)\t1.0\n"
 msgstr ""
 
 #.  glibc interface is \fBklogctl\fP(3)
 #. type: tbl table
-#: build/C/man2/syscalls.2:541
+#: build/C/man2/syscalls.2:563
 #, no-wrap
 msgid "B<tee>(2)\t2.6.17\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:542
+#: build/C/man2/syscalls.2:564
 #, no-wrap
 msgid "B<tgkill>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:543
+#: build/C/man2/syscalls.2:565
 #, no-wrap
 msgid "B<time>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:544
+#: build/C/man2/syscalls.2:566
 #, no-wrap
 msgid "B<timer_create>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:545
+#: build/C/man2/syscalls.2:567
 #, no-wrap
 msgid "B<timer_delete>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:546
+#: build/C/man2/syscalls.2:568
 #, no-wrap
 msgid "B<timer_getoverrun>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:547
+#: build/C/man2/syscalls.2:569
 #, no-wrap
 msgid "B<timer_gettime>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:548
+#: build/C/man2/syscalls.2:570
 #, no-wrap
 msgid "B<timer_settime>(2)\t2.6\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:549
+#: build/C/man2/syscalls.2:571
 #, no-wrap
 msgid "B<timerfd_create>(2)\t2.6.25\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:550
+#: build/C/man2/syscalls.2:572
 #, no-wrap
 msgid "B<timerfd_gettime>(2)\t2.6.25\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:551
+#: build/C/man2/syscalls.2:573
 #, no-wrap
 msgid "B<timerfd_settime>(2)\t2.6.25\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:552
+#: build/C/man2/syscalls.2:574
 #, no-wrap
 msgid "B<times>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:553
+#: build/C/man2/syscalls.2:575
 #, no-wrap
 msgid "B<tkill>(2)\t2.6; 2.4.22\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:554
+#: build/C/man2/syscalls.2:576
 #, no-wrap
 msgid "B<truncate>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:555
+#: build/C/man2/syscalls.2:577
 #, no-wrap
 msgid "B<truncate64>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:556
+#: build/C/man2/syscalls.2:578
 #, no-wrap
 msgid "B<ugetrlimit>(2)\t2.4\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:557
+#: build/C/man2/syscalls.2:579
 #, no-wrap
 msgid "B<umask>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:558
+#: build/C/man2/syscalls.2:580
 #, no-wrap
 msgid "B<umount>(2)\t1.0\n"
 msgstr ""
 
 #.  sys_oldumount() -- __NR_umount
 #. type: tbl table
-#: build/C/man2/syscalls.2:560
+#: build/C/man2/syscalls.2:582
 #, no-wrap
 msgid "B<umount2>(2)\t2.2\n"
 msgstr ""
 
 #.  sys_umount() -- __NR_umount2
 #. type: tbl table
-#: build/C/man2/syscalls.2:562
+#: build/C/man2/syscalls.2:584
 #, no-wrap
 msgid "B<uname>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:563
+#: build/C/man2/syscalls.2:585
 #, no-wrap
 msgid "B<unlink>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:564
+#: build/C/man2/syscalls.2:586
 #, no-wrap
 msgid "B<unlinkat>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:565
+#: build/C/man2/syscalls.2:587
 #, no-wrap
 msgid "B<unshare>(2)\t2.6.16\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:566
+#: build/C/man2/syscalls.2:588
 #, no-wrap
 msgid "B<uselib>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:567
+#: build/C/man2/syscalls.2:589
 #, no-wrap
 msgid "B<ustat>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:568
+#: build/C/man2/syscalls.2:590
 #, no-wrap
 msgid "B<utime>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:569
+#: build/C/man2/syscalls.2:591
 #, no-wrap
 msgid "B<utimensat>(2)\t2.6.22\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:570
+#: build/C/man2/syscalls.2:592
 #, no-wrap
 msgid "B<utimes>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:571
+#: build/C/man2/syscalls.2:593
 #, no-wrap
-msgid "B<utrap_install>(2)\t2.2\tSparc\n"
+msgid "B<utrap_install>(2)\t2.2\tSparc only\n"
 msgstr ""
 
+#.  FIXME . document utrap_install()
+#.  There's a man page for Solaris 5.11
 #. type: tbl table
-#: build/C/man2/syscalls.2:572
+#: build/C/man2/syscalls.2:596
 #, no-wrap
 msgid "B<vfork>(2)\t2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:573
+#: build/C/man2/syscalls.2:597
 #, no-wrap
 msgid "B<vhangup>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:574
+#: build/C/man2/syscalls.2:598
 #, no-wrap
-msgid "B<vm86old>(2)\t1.0\tWas \"vm86\"; renamed in 2.0.28/2.2\n"
+msgid "B<vm86old>(2)\t1.0\tT{\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:575
+#: build/C/man2/syscalls.2:599
+#, no-wrap
+msgid "Was \"vm86\"; renamed in\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:600
+#, no-wrap
+msgid "2.0.28/2.2\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man2/syscalls.2:602
 #, no-wrap
 msgid "B<vm86>(2)\t2.0.28; 2.2\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:576
+#: build/C/man2/syscalls.2:603
 #, no-wrap
 msgid "B<vmsplice>(2)\t2.6.17\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:577
+#: build/C/man2/syscalls.2:604
 #, no-wrap
 msgid "B<wait4>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:578
+#: build/C/man2/syscalls.2:605
 #, no-wrap
 msgid "B<waitid>(2)\t2.6.10\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:579
+#: build/C/man2/syscalls.2:606
 #, no-wrap
 msgid "B<waitpid>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:580
+#: build/C/man2/syscalls.2:607
 #, no-wrap
 msgid "B<write>(2)\t1.0\n"
 msgstr ""
 
 #. type: tbl table
-#: build/C/man2/syscalls.2:581
+#: build/C/man2/syscalls.2:608
 #, no-wrap
 msgid "B<writev>(2)\t2.0\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:590
+#: build/C/man2/syscalls.2:617
 msgid ""
 "On many platforms, including x86-32, socket calls are all multiplexed (via "
-"glibc wrapper functions) through B<socketcall>(2)  and similarly System V "
+"glibc wrapper functions) through B<socketcall>(2)  and similarly System\\ V "
 "IPC calls are multiplexed through B<ipc>(2)."
 msgstr ""
 
@@ -16075,7 +17949,7 @@ msgstr ""
 #.  __NR_ulimit is 58 on Linux 2.6.22/i386
 #.  __NR_vserver is 273 on Linux 2.6.22/i386
 #. type: Plain text
-#: build/C/man2/syscalls.2:635
+#: build/C/man2/syscalls.2:662
 msgid ""
 "Although slots are reserved for them in the system call table, the following "
 "system calls are not implemented in the standard kernel: B<afs_syscall>(2), "
@@ -16083,7 +17957,7 @@ msgid ""
 "B<madvise1>(2), B<mpx>(2), B<phys>(2), B<prof>(2), B<profil>(2), "
 "B<putpmsg>(2), B<security>(2), B<stty>(2), B<tuxcall>(2), B<ulimit>(2), and "
 "B<vserver>(2)  (see also B<unimplemented>(2)).  However, B<ftime>(3), "
-"B<profil>(3)  and B<ulimit>(3)  exist as library routines.  The slot for "
+"B<profil>(3), and B<ulimit>(3)  exist as library routines.  The slot for "
 "B<phys>(2)  is in use since kernel 2.1.116 for B<umount>(2); B<phys>(2)  "
 "will never be implemented.  The B<getpmsg>(2)  and B<putpmsg>(2)  calls are "
 "for kernels patched to support STREAMS, and may never be in the standard "
@@ -16091,14 +17965,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:640
+#: build/C/man2/syscalls.2:667
 msgid ""
 "There was briefly B<set_zone_reclaim>(2), added in Linux 2.6.13, and removed "
 "in 2.6.16; this system call was never available to user space."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:657
+#: build/C/man2/syscalls.2:684
 msgid ""
 "Roughly speaking, the code belonging to the system call with number __NR_xxx "
 "defined in I</usr/include/asm/unistd.h> can be found in the Linux kernel "
@@ -16107,12 +17981,12 @@ msgid ""
 "exceptions, however, mostly because older system calls were superseded by "
 "newer ones, and this has been treated somewhat unsystematically.  On "
 "platforms with proprietary operating-system emulation, such as parisc, "
-"sparc, sparc64 and alpha, there are many additional system calls; mips64 "
+"sparc, sparc64, and alpha, there are many additional system calls; mips64 "
 "also contains a full set of 32-bit system calls."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:676
+#: build/C/man2/syscalls.2:703
 msgid ""
 "Over time, changes to the interfaces of some system calls have been "
 "necessary.  One reason for such changes was the need to increase the size of "
@@ -16130,7 +18004,7 @@ msgstr ""
 #.  The stat system calls deal with three different data structures,
 #.  defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
 #. type: Plain text
-#: build/C/man2/syscalls.2:697
+#: build/C/man2/syscalls.2:724
 msgid ""
 "By now there are three different versions of B<stat>(2): I<sys_stat>()  "
 "(slot I<__NR_oldstat>), I<sys_newstat>()  (slot I<__NR_stat>), and "
@@ -16139,7 +18013,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:708
+#: build/C/man2/syscalls.2:735
 msgid ""
 "Similarly, the defines I<__NR_oldolduname>, I<__NR_olduname>, and "
 "I<__NR_uname> refer to the routines I<sys_olduname>(), I<sys_uname>()  and "
@@ -16147,14 +18021,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:715
+#: build/C/man2/syscalls.2:742
 msgid ""
 "In Linux 2.0, a new version of B<vm86>(2)  appeared, with the old and the "
 "new kernel routines being named I<sys_vm86old>()  and I<sys_vm86>()."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:726
+#: build/C/man2/syscalls.2:753
 msgid ""
 "In Linux 2.4, a new version of B<getrlimit>(2)  appeared, with the old and "
 "the new kernel routines being named I<sys_old_getrlimit>()  (slot "
@@ -16164,7 +18038,7 @@ msgstr ""
 #.  64-bit off_t changes: ftruncate64, *stat64,
 #.  fcntl64 (because of the flock structure), getdents64, *statfs64
 #. type: Plain text
-#: build/C/man2/syscalls.2:738
+#: build/C/man2/syscalls.2:765
 msgid ""
 "Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.  To "
 "support this change, a range of system calls were added (e.g., "
@@ -16173,7 +18047,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:755
+#: build/C/man2/syscalls.2:782
 msgid ""
 "Linux 2.4 added support for applications on 32-bit architectures to access "
 "large files (i.e., files for which the sizes and file offsets can't be "
@@ -16187,7 +18061,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:759
+#: build/C/man2/syscalls.2:786
 msgid ""
 "On newer platforms that only have 64-bit file access and 32-bit uids (e.g., "
 "alpha, ia64, s390x) there are no *64 or *32 calls.  Where the *64 and *32 "
@@ -16195,7 +18069,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:767
+#: build/C/man2/syscalls.2:794
 msgid ""
 "The I<rt_sig*> calls were added in kernel 2.2 to support the addition of "
 "real-time signals (see B<signal>(7)).  These system calls supersede the "
@@ -16224,7 +18098,7 @@ msgstr ""
 #.  and the semantics of the latter call were changed to what
 #.  they are today.
 #. type: Plain text
-#: build/C/man2/syscalls.2:817
+#: build/C/man2/syscalls.2:844
 msgid ""
 "The B<select>(2)  and B<mmap>(2)  system calls use five or more arguments, "
 "which caused problems in the way argument passing on the i386 used to be set "
@@ -16237,8 +18111,10 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/syscalls.2:821
-msgid "B<syscall>(2), B<unimplemented>(2), B<libc>(7)"
+#: build/C/man2/syscalls.2:851
+msgid ""
+"B<intro>(2), B<syscall>(2), B<unimplemented>(2), B<errno>(3), B<libc>(7), "
+"B<vdso>(7)"
 msgstr ""
 
 #. type: TH
@@ -16247,12 +18123,6 @@ msgstr ""
 msgid "SYSCONF"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/sysconf.3:27
-#, no-wrap
-msgid "2013-02-12"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/sysconf.3:30
 msgid "sysconf - get configuration information at run time"
@@ -16283,9 +18153,9 @@ msgstr ""
 #: build/C/man3/sysconf.3:56
 msgid ""
 "At run time, one can ask for numerical values using the present function "
-"B<sysconf>().  One can ask for numerical values that may depend on the file "
-"system a file is in using the calls B<fpathconf>(3)  and B<pathconf>(3).  "
-"One can ask for string values using B<confstr>(3)."
+"B<sysconf>().  One can ask for numerical values that may depend on the "
+"filesystem a file is in using the calls B<fpathconf>(3)  and "
+"B<pathconf>(3).  One can ask for string values using B<confstr>(3)."
 msgstr ""
 
 #.  except that sysconf(_SC_OPEN_MAX) may change answer after a call
@@ -16383,8 +18253,8 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/sysconf.3:142
 msgid ""
-"The max number of simultaneous processes per user ID.  Must not be less than "
-"B<_POSIX_CHILD_MAX> (25)."
+"The maximum number of simultaneous processes per user ID.  Must not be less "
+"than B<_POSIX_CHILD_MAX> (25)."
 msgstr ""
 
 #. type: TP
@@ -16396,7 +18266,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/sysconf.3:150
 msgid ""
-"Max length of a hostname, not including the terminating null byte, as "
+"Maximum length of a hostname, not including the terminating null byte, as "
 "returned by B<gethostname>(2).  Must not be less than "
 "B<_POSIX_HOST_NAME_MAX> (255)."
 msgstr ""
@@ -16417,11 +18287,22 @@ msgstr ""
 #. type: TP
 #: build/C/man3/sysconf.3:156
 #, no-wrap
+msgid "B<NGROUPS_MAX> - B<_SC_NGROUPS_MAX>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/sysconf.3:159
+msgid "Maximum number of supplementary group IDs."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/sysconf.3:159
+#, no-wrap
 msgid "clock ticks - B<_SC_CLK_TCK>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:165
+#: build/C/man3/sysconf.3:168
 msgid ""
 "The number of clock ticks per second.  The corresponding variable is "
 "obsolete.  It was of course called B<CLK_TCK>.  (Note: the macro "
@@ -16429,52 +18310,52 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:165
+#: build/C/man3/sysconf.3:168
 #, no-wrap
 msgid "B<OPEN_MAX> - B<_SC_OPEN_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:171
+#: build/C/man3/sysconf.3:174
 msgid ""
 "The maximum number of files that a process can have open at any time.  Must "
 "not be less than B<_POSIX_OPEN_MAX> (20)."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:171
+#: build/C/man3/sysconf.3:174
 #, no-wrap
 msgid "B<PAGESIZE> - B<_SC_PAGESIZE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:176
+#: build/C/man3/sysconf.3:179
 msgid ""
 "Size of a page in bytes.  Must not be less than 1.  (Some systems use "
 "PAGE_SIZE instead.)"
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:176 build/C/man3/sysconf.3:263
+#: build/C/man3/sysconf.3:179 build/C/man3/sysconf.3:266
 #, no-wrap
 msgid "B<RE_DUP_MAX> - B<_SC_RE_DUP_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:185
+#: build/C/man3/sysconf.3:188
 msgid ""
 "The number of repeated occurrences of a BRE permitted by B<regexec>(3)  and "
 "B<regcomp>(3).  Must not be less than B<_POSIX2_RE_DUP_MAX> (255)."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:185
+#: build/C/man3/sysconf.3:188
 #, no-wrap
 msgid "B<STREAM_MAX> - B<_SC_STREAM_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:194
+#: build/C/man3/sysconf.3:197
 msgid ""
 "The maximum number of streams that a process can have open at any time.  If "
 "defined, it has the same value as the standard C macro B<FOPEN_MAX>.  Must "
@@ -16482,283 +18363,283 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:194
+#: build/C/man3/sysconf.3:197
 #, no-wrap
 msgid "B<SYMLOOP_MAX> - B<_SC_SYMLOOP_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:202
+#: build/C/man3/sysconf.3:205
 msgid ""
 "The maximum number of symbolic links seen in a pathname before resolution "
 "returns B<ELOOP>.  Must not be less than B<_POSIX_SYMLOOP_MAX> (8)."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:202
+#: build/C/man3/sysconf.3:205
 #, no-wrap
 msgid "B<TTY_NAME_MAX> - B<_SC_TTY_NAME_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:209
+#: build/C/man3/sysconf.3:212
 msgid ""
 "The maximum length of terminal device name, including the terminating null "
 "byte.  Must not be less than B<_POSIX_TTY_NAME_MAX> (9)."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:209
+#: build/C/man3/sysconf.3:212
 #, no-wrap
 msgid "B<TZNAME_MAX> - B<_SC_TZNAME_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:215
+#: build/C/man3/sysconf.3:218
 msgid ""
 "The maximum number of bytes in a timezone name.  Must not be less than "
 "B<_POSIX_TZNAME_MAX> (6)."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:215
+#: build/C/man3/sysconf.3:218
 #, no-wrap
 msgid "B<_POSIX_VERSION> - B<_SC_VERSION>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:223
+#: build/C/man3/sysconf.3:226
 msgid ""
 "indicates the year and month the POSIX.1 standard was approved in the format "
 "B<YYYYMML>; the value B<199009L> indicates the Sept. 1990 revision."
 msgstr ""
 
 #. type: SS
-#: build/C/man3/sysconf.3:223
+#: build/C/man3/sysconf.3:226
 #, no-wrap
 msgid "POSIX.2 variables"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:225
+#: build/C/man3/sysconf.3:228
 msgid "Next, the POSIX.2 values, giving limits for utilities."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:225
+#: build/C/man3/sysconf.3:228
 #, no-wrap
 msgid "B<BC_BASE_MAX> - B<_SC_BC_BASE_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:232
+#: build/C/man3/sysconf.3:235
 msgid "indicates the maximum I<obase> value accepted by the B<bc>(1)  utility."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:232
+#: build/C/man3/sysconf.3:235
 #, no-wrap
 msgid "B<BC_DIM_MAX> - B<_SC_BC_DIM_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:236
+#: build/C/man3/sysconf.3:239
 msgid "indicates the maximum value of elements permitted in an array by B<bc>(1)."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:236
+#: build/C/man3/sysconf.3:239
 #, no-wrap
 msgid "B<BC_SCALE_MAX> - B<_SC_BC_SCALE_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:242
+#: build/C/man3/sysconf.3:245
 msgid "indicates the maximum I<scale> value allowed by B<bc>(1)."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:242
+#: build/C/man3/sysconf.3:245
 #, no-wrap
 msgid "B<BC_STRING_MAX> - B<_SC_BC_STRING_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:246
+#: build/C/man3/sysconf.3:249
 msgid "indicates the maximum length of a string accepted by B<bc>(1)."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:246
+#: build/C/man3/sysconf.3:249
 #, no-wrap
 msgid "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:252
+#: build/C/man3/sysconf.3:255
 msgid ""
 "indicates the maximum numbers of weights that can be assigned to an entry of "
 "the B<LC_COLLATE order> keyword in the locale definition file,"
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:252
+#: build/C/man3/sysconf.3:255
 #, no-wrap
 msgid "B<EXPR_NEST_MAX> - B<_SC_EXPR_NEST_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:257
+#: build/C/man3/sysconf.3:260
 msgid ""
 "is the maximum number of expressions which can be nested within parentheses "
 "by B<expr>(1)."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:257
+#: build/C/man3/sysconf.3:260
 #, no-wrap
 msgid "B<LINE_MAX> - B<_SC_LINE_MAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:263
+#: build/C/man3/sysconf.3:266
 msgid ""
 "The maximum length of a utility's input line, either from standard input or "
 "from a file.  This includes space for a trailing newline."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:269
+#: build/C/man3/sysconf.3:272
 msgid ""
 "The maximum number of repeated occurrences of a regular expression when the "
 "interval notation B<\\e{m,n\\e}> is used."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:269
+#: build/C/man3/sysconf.3:272
 #, no-wrap
 msgid "B<POSIX2_VERSION> - B<_SC_2_VERSION>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:273
+#: build/C/man3/sysconf.3:276
 msgid "indicates the version of the POSIX.2 standard in the format of YYYYMML."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:273
+#: build/C/man3/sysconf.3:276
 #, no-wrap
 msgid "B<POSIX2_C_DEV> - B<_SC_2_C_DEV>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:277
+#: build/C/man3/sysconf.3:280
 msgid ""
 "indicates whether the POSIX.2 C language development facilities are "
 "supported."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:277
+#: build/C/man3/sysconf.3:280
 #, no-wrap
 msgid "B<POSIX2_FORT_DEV> - B<_SC_2_FORT_DEV>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:281
+#: build/C/man3/sysconf.3:284
 msgid "indicates whether the POSIX.2 FORTRAN development utilities are supported."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:281
+#: build/C/man3/sysconf.3:284
 #, no-wrap
 msgid "B<POSIX2_FORT_RUN> - B<_SC_2_FORT_RUN>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:284
+#: build/C/man3/sysconf.3:287
 msgid "indicates whether the POSIX.2 FORTRAN run-time utilities are supported."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:284
+#: build/C/man3/sysconf.3:287
 #, no-wrap
 msgid "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:289
+#: build/C/man3/sysconf.3:292
 msgid ""
 "indicates whether the POSIX.2 creation of locates via B<localedef>(1)  is "
 "supported."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:289
+#: build/C/man3/sysconf.3:292
 #, no-wrap
 msgid "B<POSIX2_SW_DEV> - B<_SC_2_SW_DEV>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:293
+#: build/C/man3/sysconf.3:296
 msgid ""
 "indicates whether the POSIX.2 software development utilities option is "
 "supported."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:295
+#: build/C/man3/sysconf.3:298
 msgid "These values also exist, but may not be standard."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:295
+#: build/C/man3/sysconf.3:298
 #, no-wrap
 msgid " - B<_SC_PHYS_PAGES>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:302
+#: build/C/man3/sysconf.3:305
 msgid ""
 "The number of pages of physical memory.  Note that it is possible for the "
 "product of this value and the value of B<_SC_PAGESIZE> to overflow."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:302
+#: build/C/man3/sysconf.3:305
 #, no-wrap
 msgid " - B<_SC_AVPHYS_PAGES>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:305
+#: build/C/man3/sysconf.3:308
 msgid "The number of currently available pages of physical memory."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:305
+#: build/C/man3/sysconf.3:308
 #, no-wrap
 msgid " - B<_SC_NPROCESSORS_CONF>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:308
+#: build/C/man3/sysconf.3:311
 msgid "The number of processors configured."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/sysconf.3:308
+#: build/C/man3/sysconf.3:311
 #, no-wrap
 msgid " - B<_SC_NPROCESSORS_ONLN>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:311
+#: build/C/man3/sysconf.3:314
 msgid "The number of processors currently online (available)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:324
+#: build/C/man3/sysconf.3:327
 msgid ""
 "If I<name> is invalid, -1 is returned, and I<errno> is set to B<EINVAL>.  "
 "Otherwise, the value returned is the value of the system resource and "
@@ -16768,7 +18649,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:332
+#: build/C/man3/sysconf.3:335
 msgid ""
 "It is difficult to use B<ARG_MAX> because it is not specified how much of "
 "the argument space for B<exec>(3)  is consumed by the user's environment "
@@ -16776,10 +18657,10 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/sysconf.3:343
+#: build/C/man3/sysconf.3:347
 msgid ""
-"B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<fpathconf>(3), "
-"B<pathconf>(3), B<posixoptions>(7)"
+"B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<confstr>(3), "
+"B<fpathconf>(3), B<pathconf>(3), B<posixoptions>(7)"
 msgstr ""
 
 #. type: TH
@@ -16999,7 +18880,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96
+#: build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:92
 msgid "B<proc>(5)"
 msgstr ""
 
@@ -17009,12 +18890,6 @@ msgstr ""
 msgid "SYSINFO"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/sysinfo.2:14
-#, no-wrap
-msgid "2012-05-05"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man2/sysinfo.2:17
 msgid "sysinfo - returns information on overall system statistics"
@@ -17099,10 +18974,8 @@ msgid "pointer to I<struct\\ sysinfo> is invalid"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sysinfo.2:94
-msgid ""
-"The Linux kernel has a B<sysinfo>()  system call since 0.98.pl6.  Linux libc "
-"contains a B<sysinfo>()  routine since 5.3.5, and glibc has one since 1.90."
+#: build/C/man2/sysinfo.2:87
+msgid "The Linux kernel has a B<sysinfo>()  system call since 0.98.pl6."
 msgstr ""
 
 #. type: TH
@@ -17114,7 +18987,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/tcgetpgrp.3:25
 #, no-wrap
-msgid "2003-01-28"
+msgid "2014-01-13"
 msgstr ""
 
 #. type: Plain text
@@ -17142,7 +19015,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/tcgetpgrp.3:52
+#: build/C/man3/tcgetpgrp.3:55
 msgid ""
 "The function B<tcsetpgrp>()  makes the process group with process group ID "
 "I<pgrp> the foreground process group on the terminal associated to I<fd>, "
@@ -17152,7 +19025,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/tcgetpgrp.3:61
+#: build/C/man3/tcgetpgrp.3:64
 msgid ""
 "If B<tcsetpgrp>()  is called by a member of a background process group in "
 "its session, and the calling process is not blocking or ignoring B<SIGTTOU>, "
@@ -17160,7 +19033,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/tcgetpgrp.3:76
+#: build/C/man3/tcgetpgrp.3:79
 msgid ""
 "When I<fd> refers to the controlling terminal of the calling process, the "
 "function B<tcgetpgrp>()  will return the foreground process group ID of that "
@@ -17171,19 +19044,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/tcgetpgrp.3:83
+#: build/C/man3/tcgetpgrp.3:86
 msgid ""
 "When successful, B<tcsetpgrp>()  returns 0.  Otherwise, it returns -1, and "
 "I<errno> is set appropriately."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/tcgetpgrp.3:92
+#: build/C/man3/tcgetpgrp.3:95
 msgid "I<pgrp> has an unsupported value."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/tcgetpgrp.3:101
+#: build/C/man3/tcgetpgrp.3:104
 msgid ""
 "The calling process does not have a controlling terminal, or it has one but "
 "it is not described by I<fd>, or, for B<tcsetpgrp>(), this controlling "
@@ -17191,32 +19064,37 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/tcgetpgrp.3:106
+#: build/C/man3/tcgetpgrp.3:109
 msgid ""
 "I<pgrp> has a supported value, but is not the process group ID of a process "
 "in the same session as the calling process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/tcgetpgrp.3:114
+#: build/C/man3/tcgetpgrp.3:116
+msgid "The B<tcgetpgrp>()  and B<tcsetpgrp>()  functions are thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/tcgetpgrp.3:124
 msgid ""
 "These functions are implemented via the B<TIOCGPGRP> and B<TIOCSPGRP> "
 "ioctls."
 msgstr ""
 
 #. type: SS
-#: build/C/man3/tcgetpgrp.3:114 build/C/man2/vfork.2:234
+#: build/C/man3/tcgetpgrp.3:124 build/C/man2/vfork.2:234
 #, no-wrap
 msgid "History"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/tcgetpgrp.3:117
+#: build/C/man3/tcgetpgrp.3:127
 msgid "The ioctls appeared in 4.2BSD.  The functions are POSIX inventions."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/tcgetpgrp.3:121
+#: build/C/man3/tcgetpgrp.3:131
 msgid "B<setpgid>(2), B<setsid>(2), B<credentials>(7)"
 msgstr ""
 
@@ -17226,12 +19104,6 @@ msgstr ""
 msgid "TRUNCATE"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/truncate.2:43
-#, no-wrap
-msgid "2011-09-08"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man2/truncate.2:46
 msgid "truncate, ftruncate - truncate a file to a specified length"
@@ -17312,100 +19184,100 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:128
-msgid "I<Path> points outside the process's allocated address space."
+#: build/C/man2/truncate.2:129
+msgid "The argument I<path> points outside the process's allocated address space."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/truncate.2:128
+#: build/C/man2/truncate.2:129
 #, no-wrap
 msgid "B<EFBIG>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:133
+#: build/C/man2/truncate.2:134
 msgid "The argument I<length> is larger than the maximum file size. (XSI)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:140
+#: build/C/man2/truncate.2:141
 msgid ""
 "While blocked waiting to complete, the call was interrupted by a signal "
 "handler; see B<fcntl>(2)  and B<signal>(7)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:145
+#: build/C/man2/truncate.2:146
 msgid "The argument I<length> is negative or larger than the maximum file size."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:148
+#: build/C/man2/truncate.2:149
 msgid "An I/O error occurred updating the inode."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:151
+#: build/C/man2/truncate.2:152
 msgid "The named file is a directory."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:154
+#: build/C/man2/truncate.2:155
 msgid "Too many symbolic links were encountered in translating the pathname."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:158
+#: build/C/man2/truncate.2:159
 msgid ""
 "A component of a pathname exceeded 255 characters, or an entire pathname "
 "exceeded 1023 characters."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:161
+#: build/C/man2/truncate.2:162
 msgid "The named file does not exist."
 msgstr ""
 
-#.  This happens for at least MSDOS and VFAT file systems
+#.  This happens for at least MSDOS and VFAT filesystems
 #.  on kernel 2.6.13
 #. type: Plain text
-#: build/C/man2/truncate.2:170
+#: build/C/man2/truncate.2:171
 msgid ""
-"The underlying file system does not support extending a file beyond its "
+"The underlying filesystem does not support extending a file beyond its "
 "current size."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:176
+#: build/C/man2/truncate.2:175
+msgid "The operation was prevented by a file seal; see B<fcntl>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/truncate.2:181
 msgid "The file is a pure procedure (shared text) file that is being executed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:183
+#: build/C/man2/truncate.2:188
 msgid ""
 "For B<ftruncate>()  the same errors apply, but instead of things that can be "
 "wrong with I<path>, we now have things that can be wrong with the file "
 "descriptor, I<fd>:"
 msgstr ""
 
-#. type: Plain text
-#: build/C/man2/truncate.2:187
-msgid "I<fd> is not a valid descriptor."
-msgstr ""
-
 #. type: TP
-#: build/C/man2/truncate.2:187
+#: build/C/man2/truncate.2:192
 #, no-wrap
 msgid "B<EBADF> or B<EINVAL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:191
+#: build/C/man2/truncate.2:196
 msgid "I<fd> is not open for writing."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:195
+#: build/C/man2/truncate.2:200
 msgid "I<fd> does not reference a regular file."
 msgstr ""
 
@@ -17421,27 +19293,27 @@ msgstr ""
 #.  .BR ftruncate ()
 #.  an additional EAGAIN error condition.
 #. type: Plain text
-#: build/C/man2/truncate.2:208
+#: build/C/man2/truncate.2:213
 msgid "4.4BSD, SVr4, POSIX.1-2001 (these calls first appeared in 4.2BSD)."
 msgstr ""
 
 #.  At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
 #. type: Plain text
-#: build/C/man2/truncate.2:229
+#: build/C/man2/truncate.2:234
 msgid ""
 "The details in DESCRIPTION are for XSI-compliant systems.  For "
 "non-XSI-compliant systems, the POSIX standard allows two behaviors for "
 "B<ftruncate>()  when I<length> exceeds the file length (note that "
 "B<truncate>()  is not specified at all in such an environment): either "
 "returning an error, or extending the file.  Like most UNIX implementations, "
-"Linux follows the XSI requirement when dealing with native file systems.  "
-"However, some nonnative file systems do not permit B<truncate>()  and "
+"Linux follows the XSI requirement when dealing with native filesystems.  "
+"However, some nonnative filesystems do not permit B<truncate>()  and "
 "B<ftruncate>()  to be used to extend a file beyond its current length: a "
 "notable example on Linux is VFAT."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:243
+#: build/C/man2/truncate.2:248
 msgid ""
 "The original Linux B<truncate>()  and B<ftruncate>()  system calls were not "
 "designed to handle large file offsets.  Consequently, Linux 2.4 added "
@@ -17453,7 +19325,7 @@ msgstr ""
 
 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=12037
 #. type: Plain text
-#: build/C/man2/truncate.2:251
+#: build/C/man2/truncate.2:261
 msgid ""
 "A header file bug in glibc 2.12 meant that the minimum value of "
 "B<_POSIX_C_SOURCE> required to expose the declaration of B<ftruncate>()  was "
@@ -17461,7 +19333,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/truncate.2:255
+#: build/C/man2/truncate.2:265
 msgid "B<open>(2), B<stat>(2), B<path_resolution>(7)"
 msgstr ""
 
@@ -17471,6 +19343,12 @@ msgstr ""
 msgid "UALARM"
 msgstr ""
 
+#. type: TH
+#: build/C/man3/ualarm.3:24
+#, no-wrap
+msgid "2013-12-23"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man3/ualarm.3:27
 msgid "ualarm - schedule signal after given number of microseconds"
@@ -17528,15 +19406,29 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/ualarm.3:100
+#: build/C/man3/ualarm.3:97
+msgid "The B<ualarm>()  function is thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/ualarm.3:105
 msgid ""
 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 marks B<ualarm>()  as obsolete.  "
 "POSIX.1-2008 removes the specification of B<ualarm>().  4.3BSD, SUSv2, and "
 "POSIX do not define any errors."
 msgstr ""
 
+#.  This case is not documented in HP-US, Solar, FreeBSD, NetBSD, or OpenBSD!
+#. type: Plain text
+#: build/C/man3/ualarm.3:112
+msgid ""
+"POSIX.1-2001 does not specify what happens if the I<usecs> argument is 0.  "
+"On Linux (and probably most other systems), the effect is to cancel any "
+"pending alarm."
+msgstr ""
+
 #. type: Plain text
-#: build/C/man3/ualarm.3:113
+#: build/C/man3/ualarm.3:125
 msgid ""
 "The type I<useconds_t> is an unsigned integer type capable of holding "
 "integers in the range [0,1000000].  On the original BSD implementation, and "
@@ -17546,7 +19438,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/ualarm.3:127
+#: build/C/man3/ualarm.3:139
 msgid ""
 "The interaction of this function with other timer functions such as "
 "B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), "
@@ -17555,14 +19447,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/ualarm.3:135
+#: build/C/man3/ualarm.3:147
 msgid ""
 "This function is obsolete.  Use B<setitimer>(2)  or POSIX interval timers "
 "(B<timer_create>(2), etc.)  instead."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/ualarm.3:143
+#: build/C/man3/ualarm.3:155
 msgid ""
 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
 "B<setitimer>(2), B<usleep>(3), B<time>(7)"
@@ -17601,7 +19493,7 @@ msgstr ""
 #.  e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
 #.  but NOT the System V IPC *get() calls
 #. type: Plain text
-#: build/C/man2/umask.2:63
+#: build/C/man2/umask.2:65
 msgid ""
 "The umask is used by B<open>(2), B<mkdir>(2), and other system calls that "
 "create files to modify the permissions placed on newly created files or "
@@ -17610,14 +19502,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/umask.2:68
+#: build/C/man2/umask.2:70
 msgid ""
 "The constants that should be used to specify I<mask> are described under "
 "B<stat>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/umask.2:77
+#: build/C/man2/umask.2:79
 msgid ""
 "The typical default value for the process umask is I<S_IWGRP\\ |\\ S_IWOTH> "
 "(octal 022).  In the usual case where the I<mode> argument to B<open>(2)  is "
@@ -17625,57 +19517,56 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/umask.2:80
+#: build/C/man2/umask.2:82
 #, no-wrap
 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/umask.2:84
+#: build/C/man2/umask.2:86
 msgid ""
 "(octal 0666) when creating a new file, the permissions on the resulting file "
 "will be:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/umask.2:87
+#: build/C/man2/umask.2:89
 #, no-wrap
 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/umask.2:90
+#: build/C/man2/umask.2:92
 msgid "(because 0666 & ~022 = 0644; i.e., rw-r--r--)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/umask.2:93
+#: build/C/man2/umask.2:95
 msgid ""
 "This system call always succeeds and the previous value of the mask is "
 "returned."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/umask.2:101
+#: build/C/man2/umask.2:103
 msgid ""
 "A child process created via B<fork>(2)  inherits its parent's umask.  The "
 "umask is left unchanged by B<execve>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/umask.2:116
+#: build/C/man2/umask.2:118
 msgid ""
 "The umask setting also affects the permissions assigned to POSIX IPC objects "
 "(B<mq_open>(3), B<sem_open>(3), B<shm_open>(3)), FIFOs (B<mkfifo>(3)), and "
 "UNIX domain sockets (B<unix>(7))  created by the process.  The umask does "
-"not affect the permissions assigned to System V IPC objects created by the "
+"not affect the permissions assigned to System\\ V IPC objects created by the "
 "process (using B<msgget>(2), B<semget>(2), B<shmget>(2))."
 msgstr ""
 
-#.  FIXME . eventually: .BR acl (5)
 #. type: Plain text
-#: build/C/man2/umask.2:122
-msgid "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2)"
+#: build/C/man2/umask.2:124
+msgid "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2), B<acl>(5)"
 msgstr ""
 
 #. type: TH
@@ -17746,7 +19637,7 @@ msgid "The I<domainname> member (the NIS or YP domain name) is a GNU extension."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/uname.2:94
+#: build/C/man2/uname.2:98
 msgid ""
 "This is a system call, and the operating system presumably knows its name, "
 "release and version.  It also knows what hardware it runs on.  So, four of "
@@ -17759,9 +19650,9 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/uname.2:108
+#: build/C/man2/uname.2:116
 msgid ""
-"To this end Linux uses the system calls B<sethostname>(2)  and "
+"To this end, Linux uses the system calls B<sethostname>(2)  and "
 "B<setdomainname>(2).  Note that there is no standard that says that the "
 "hostname set by B<sethostname>(2)  is the same string as the I<nodename> "
 "field of the struct returned by B<uname>()  (indeed, some systems allow a "
@@ -17770,7 +19661,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/uname.2:123
+#: build/C/man2/uname.2:131
 msgid ""
 "The length of the fields in the struct varies.  Some operating systems or "
 "libraries use a hardcoded 9 or 33 or 65 or 257.  Other systems use "
@@ -17780,23 +19671,17 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/uname.2:130
+#: build/C/man2/uname.2:138
 msgid ""
 "Part of the utsname information is also accessible via "
 "I</proc/sys/kernel/>{I<ostype>, I<hostname>, I<osrelease>, I<version>, "
 "I<domainname>}."
 msgstr ""
 
-#. type: SS
-#: build/C/man2/uname.2:130
-#, no-wrap
-msgid "Underlying kernel interface"
-msgstr ""
-
 #.  That was back before Linux 1.0
 #.  That was also back before Linux 1.0
 #. type: Plain text
-#: build/C/man2/uname.2:157
+#: build/C/man2/uname.2:167
 msgid ""
 "Over time, increases in the size of the I<utsname> structure have led to "
 "three successive versions of B<uname>(): I<sys_olduname>()  (slot "
@@ -17809,8 +19694,8 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/uname.2:161
-msgid "B<uname>(1), B<getdomainname>(2), B<gethostname>(2)"
+#: build/C/man2/uname.2:172
+msgid "B<uname>(1), B<getdomainname>(2), B<gethostname>(2), B<namespaces>(7)"
 msgstr ""
 
 #. type: TH
@@ -17862,8 +19747,8 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/uselib.2:76
 msgid ""
-"The file specified by I<library> is not an executable of known type, e.g., "
-"does not have the correct magic numbers."
+"The file specified by I<library> is not an executable of a known type; for "
+"example, it does not have the correct magic numbers."
 msgstr ""
 
 #. type: Plain text
@@ -17920,7 +19805,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/usleep.3:33
 #, no-wrap
-msgid "2010-12-03"
+msgid "2013-12-10"
 msgstr ""
 
 #. type: Plain text
@@ -17949,24 +19834,31 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/usleep.3:77
-msgid "0 on success, -1 on error."
+#: build/C/man3/usleep.3:82
+msgid ""
+"The B<usleep>()  function returns 0 on success.  On error, -1 is returned, "
+"with I<errno> set to indicate the cause of the error."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/usleep.3:82
+#: build/C/man3/usleep.3:87
 msgid "Interrupted by a signal; see B<signal>(7)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/usleep.3:86
+#: build/C/man3/usleep.3:91
 msgid ""
 "I<usec> is not smaller than 1000000.  (On systems where that is considered "
 "an error.)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/usleep.3:93
+#: build/C/man3/usleep.3:96
+msgid "The B<usleep>()  function is thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/usleep.3:103
 msgid ""
 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 declares this function obsolete; use "
 "B<nanosleep>(2)  instead.  POSIX.1-2008 removes the specification of "
@@ -17974,7 +19866,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/usleep.3:100
+#: build/C/man3/usleep.3:110
 msgid ""
 "On the original BSD implementation, and in glibc before version 2.2.2, the "
 "return type of this function is I<void>.  The POSIX version returns I<int>, "
@@ -17982,12 +19874,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/usleep.3:104
+#: build/C/man3/usleep.3:114
 msgid "Only the B<EINVAL> error return is documented by SUSv2 and POSIX.1-2001."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/usleep.3:112
+#: build/C/man3/usleep.3:122
 msgid ""
 "The type I<useconds_t> is an unsigned integer type capable of holding "
 "integers in the range [0,1000000].  Programs will be more portable if they "
@@ -17995,7 +19887,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/usleep.3:120
+#: build/C/man3/usleep.3:130
 #, no-wrap
 msgid ""
 "#include E<lt>unistd.hE<gt>\n"
@@ -18006,7 +19898,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/usleep.3:137
+#: build/C/man3/usleep.3:147
 msgid ""
 "The interaction of this function with the B<SIGALRM> signal, and with other "
 "timer functions such as B<alarm>(2), B<sleep>(3), B<nanosleep>(2), "
@@ -18016,7 +19908,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/usleep.3:146
+#: build/C/man3/usleep.3:156
 msgid ""
 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
 "B<setitimer>(2), B<sleep>(3), B<ualarm>(3), B<time>(7)"
@@ -18193,6 +20085,12 @@ msgid ""
 "implementable on systems that lack an MMU.)"
 msgstr ""
 
+#. type: SS
+#: build/C/man2/vfork.2:213
+#, no-wrap
+msgid "Linux notes"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man2/vfork.2:224
 msgid ""
@@ -18257,6 +20155,12 @@ msgstr ""
 msgid "VHANGUP"
 msgstr ""
 
+#. type: TH
+#: build/C/man2/vhangup.2:28
+#, no-wrap
+msgid "2007-07-26"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man2/vhangup.2:31
 msgid "vhangup - virtually hangup the current terminal"
@@ -18295,5 +20199,199 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/vhangup.2:69
-msgid "B<capabilities>(7), B<init>(8)"
+msgid "B<capabilities>(7), B<init>(1)"
+msgstr ""
+
+#. type: TH
+#: build/C/man2/execveat.2:26
+#, no-wrap
+msgid "EXECVEAT"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:29
+msgid "execveat - execute program relative to a directory file descriptor"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:33
+msgid "B<int execveat(int >I<dirfd>B<, const char *>I<pathname>B<,>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:35
+msgid "B< char *const >I<argv>B<[], char *const >I<envp>B<[],>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:37
+msgid "B< int >I<flags>B<);>"
+msgstr ""
+
+#.  commit 51f39a1f0cea1cacf8c787f652f26dfee9611874
+#. type: Plain text
+#: build/C/man2/execveat.2:48
+msgid ""
+"The B<execveat>()  system call executes the program referred to by the "
+"combination of I<dirfd> and I<pathname>.  It operates in exactly the same "
+"way as B<execve>(2), except for the differences described in this manual "
+"page."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:58
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<execve>(2)  for a relative pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:70
+msgid ""
+"If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
+"then I<pathname> is interpreted relative to the current working directory of "
+"the calling process (like B<execve>(2))."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:86
+msgid ""
+"If I<pathname> is an empty string and the B<AT_EMPTY_PATH> flag is "
+"specified, then the file descriptor I<dirfd> specifies the file to be "
+"executed (i.e., I<dirfd> refers to an executable file, rather than a "
+"directory)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:90
+msgid ""
+"The I<flags> argument is a bit mask that can include zero or more of the "
+"following flags:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/execveat.2:90
+#, no-wrap
+msgid "B<AT_EMPTY_PATH>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:100
+msgid ""
+"If I<pathname> is an empty string, operate on the file referred to by "
+"I<dirfd> (which may have been obtained using the B<open>(2)  B<O_PATH> "
+"flag)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:108
+msgid ""
+"If the file identified by I<dirfd> and a non-NULL I<pathname> is a symbolic "
+"link, then the call fails with the error B<ELOOP>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:115
+msgid ""
+"On success, B<execveat>()  does not return.  On error, -1 is returned, and "
+"I<errno> is set appropriately."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:122
+msgid ""
+"The same errors that occur for B<execve>(2)  can also occur for "
+"B<execveat>().  The following additional errors can occur for B<execveat>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:140
+msgid ""
+"I<flags> includes B<AT_SYMLINK_NOFOLLOW> and the file identified by I<dirfd> "
+"and a non-NULL I<pathname> is a symbolic link."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:154
+msgid ""
+"The program identified by I<dirfd> and I<pathname> requires the use of an "
+"interpreter program (such as a script starting with \"#!\"), but the file "
+"descriptor I<dirfd> was opened with the B<O_CLOEXEC> flag, with the result "
+"that the program file is inaccessible to the launched interpreter.  See "
+"BUGS."
+msgstr ""
+
+#.  FIXME . check for glibc support in a future release
+#. type: Plain text
+#: build/C/man2/execveat.2:165
+msgid ""
+"B<execveat>()  was added to Linux in kernel 3.19.  GNU C library support is "
+"pending."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:169
+msgid "The B<execveat>()  system call is Linux-specific."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:179
+msgid ""
+"In addition to the reasons explained in B<openat>(2), the B<execveat>()  "
+"system call is also needed to allow B<fexecve>(3)  to be implemented on "
+"systems that do not have the I</proc> filesystem mounted."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:202
+msgid ""
+"When asked to execute a script file, the I<argv[0]> that is passed to the "
+"script interpreter is a string of the form I</dev/fd/N> or I</dev/fd/N/P>, "
+"where I<N> is the number of the file descriptor passed via the I<dirfd> "
+"argument.  A string of the first form occurs when B<AT_EMPTY_PATH> is "
+"employed.  A string of the second form occurs when the script is specified "
+"via both I<dirfd> and I<pathname>; in this case, I<P> is the value given in "
+"I<pathname>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:210
+msgid ""
+"For the same reasons described in B<fexecve>(3), the natural idiom when "
+"using B<execveat>(2)  is to set the close-on-exec flag on I<dirfd>.  (But "
+"see BUGS.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:215
+msgid ""
+"The B<ENOENT> error described above means that it is not possible to set the "
+"close-on-exec flag on the file descriptor given to a call of the form:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:217
+#, no-wrap
+msgid "    execveat(fd, \"\", argv, envp, AT_EMPTY_PATH);\n"
+msgstr ""
+
+#.  For an example, see Michael Kerrisk's 2015-01-10 reply in this LKML
+#.  thread (http://thread.gmane.org/gmane.linux.kernel/1836105/focus=20229):
+#
+#.      Subject: [PATCHv10 man-pages 5/5] execveat.2: initial man page.\"                        for execveat(2
+#.      Date: Mon, 24 Nov 2014 11:53:59 +0000
+#. type: Plain text
+#: build/C/man2/execveat.2:229
+msgid ""
+"However, the inability to set the close-on-exec flag means that a file "
+"descriptor referring to the script leaks through to the script itself.  As "
+"well as wasting a file descriptor, this leakage can lead to file-descriptor "
+"exhaustion in scenarios where scripts recursively employ B<execveat>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/execveat.2:233
+msgid "B<execve>(2), B<openat>(2), B<fexecve>(3)"
 msgstr ""