.\" try_trace "$file"
.\" in glibc 2.15, for example), but many distro versions of
.\" ldd seem to remove that code path from the script.
-(In glibc versions before 2.27,
+(Before glibc 2.27,
.\" glibc commit eedca9772e99c72ab4c3c34e43cc764250aa3e3c
the upstream
.B ldd
.EE
.in
.SH BUGS
-From glibc 2.19 to 2.29,
+From glibc 2.19 to glibc 2.29,
.B pldd
was broken: it just hung when executed.
.\" glibc commit 1a4c27355e146b6d8cc6487b998462c7fdd1048f
the last thread in the thread group.
.\" _exit() is used by pthread_exit() to terminate the calling thread
.PP
-In glibc up to version 2.3, the
+Up to glibc 2.3, the
.BR _exit ()
wrapper function invoked the kernel system call of the same name.
Since glibc 2.3, the wrapper function invokes
The
.BR accept4 ()
system call is available starting with Linux 2.6.28;
-support in glibc is available starting with version 2.10.
+support in glibc is available starting with glibc 2.10.
.SH STANDARDS
.BR accept ():
POSIX.1-2001, POSIX.1-2008,
executed.
.SH VERSIONS
.BR faccessat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.PP
.BR faccessat2 ()
-was added to Linux in version 5.8.
+was added in Linux 5.8.
.SH STANDARDS
.BR access ():
SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
.BR faccessat2 ()
system call where it is provided by the underlying kernel.
.PP
-In kernel 2.4 (and earlier) there is some strangeness in the handling of
+In Linux 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 disabled
Early 2.6 kernels (up to and including 2.6.3)
also behaved in the same way as kernel 2.4.
.PP
-In kernels before 2.6.20,
+Before Linux 2.6.20,
these calls ignored the effect of the
.B MS_NOEXEC
flag if it was used to
.BR mount (2)
the underlying filesystem.
-Since kernel 2.6.20, the
+Since Linux 2.6.20, the
.B MS_NOEXEC
flag is honored.
.SH SEE ALSO
.I buf.freq
to a value outside the range (\-33554432, +33554432).
.\" From a quick glance, it appears there was no clamping or range check
-.\" for buf.freq in kernels before 2.0
+.\" for buf.freq before Linux 2.0
.TP
.BR EINVAL " (kernels before Linux 2.6.26)"
An attempt was made to set
.I buf.offset
to a value outside the permitted range.
-In kernels before Linux 2.0, the permitted range was (\-131072, +131072).
+Before Linux 2.0, the permitted range was (\-131072, +131072).
From Linux 2.0 onwards, the permitted range was (\-512000, +512000).
.TP
.B EINVAL
.BR alloc_hugepages ()
and
.BR free_hugepages ()
-were introduced in Linux 2.5.36 and removed again in 2.5.54.
+were introduced in Linux 2.5.36 and removed again in Linux 2.5.54.
They existed only on i386 and ia64 (when built with
.BR CONFIG_HUGETLB_PAGE ).
In Linux 2.4.20, the syscall numbers exist,
These extinct system calls were specific to Linux on Intel processors.
.SH NOTES
These system calls are gone;
-they existed only in Linux 2.5.36 through to 2.5.54.
+they existed only in Linux 2.5.36 through to Linux 2.5.54.
Now the hugetlbfs filesystem can be used instead.
Memory backed by huge pages (if the CPU supports them) is obtained by
using
.B CAP_SYS_ADMIN
capability.
.SH VERSIONS
-Since version 2.23, glibc no longer supports this obsolete system call.
+Since glibc 2.23, glibc no longer supports this obsolete system call.
.SH STANDARDS
.BR bdflush ()
is Linux-specific and should not be used in programs
.PP
The kernel contains a just-in-time (JIT) compiler that translates
eBPF bytecode into native machine code for better performance.
-In kernels before Linux 4.15,
+Before Linux 4.15,
the JIT compiler is disabled by default,
but its operation can be controlled by writing one of the
following integer strings to the file
! (_POSIX_C_SOURCE >= 200112L))
.\" (_XOPEN_SOURCE >= 500 ||
.\" _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
- From glibc 2.12 to 2.19:
+ From glibc 2.12 to glibc 2.19:
_BSD_SOURCE || _SVID_SOURCE
|| ((_XOPEN_SOURCE >= 500) &&
! (_POSIX_C_SOURCE >= 200112L))
.I void *
for the parameters.
.SH BUGS
-Linux kernels older than version 2.6.11 ignore the
+Linux kernels older than Linux 2.6.11 ignore the
.I addr
and
.I nbytes
.\" Modified 2004-06-21, aeb
.\" Modified 2008-04-28, morgan of kernel.org
.\" Update in line with addition of file capabilities and
-.\" 64-bit capability sets in kernel 2.6.2[45].
+.\" 64-bit capability sets in Linux 2.6.2[45].
.\" Modified 2009-01-26, andi kleen
.\"
.TH capget 2 (date) "Linux man-pages (unreleased)"
.I struct __user_cap_data_struct
names because the typedefs are only pointers.
.PP
-Kernels prior to 2.6.25 prefer
+Kernels prior to Linux 2.6.25 prefer
32-bit capabilities with version
.BR _LINUX_CAPABILITY_VERSION_1 .
Linux 2.6.25 added 64-bit capability sets, with version
support, the
.B CAP_SETPCAP
capability is required.
-(A bug in kernels before 2.6.11 meant that this error could also
+(A bug in kernels before Linux 2.6.11 meant that this error could also
occur if a thread without this capability tried to change its
own capabilities by specifying the
.I pid
Since glibc 2.24:
_POSIX_C_SOURCE >= 199309L
.\" || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
- Glibc 2.19 to 2.23
+ Glibc 2.19 to glibc 2.23
_POSIX_C_SOURCE
- Glibc 2.16 to 2.19:
+ Glibc 2.16 to glibc 2.19:
_BSD_SOURCE || _POSIX_C_SOURCE
- Glibc 2.12 to 2.16:
+ Glibc 2.12 to glibc 2.16:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
|| _POSIX_C_SOURCE >= 200809L
Glibc 2.11 and earlier:
The named file resides on a read-only filesystem.
.SH VERSIONS
.BR fchmodat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR chmod (),
.BR fchmod ():
the Linux behavior depends on the kernel version,
and since Linux 2.2.13, root is treated like other users.
.\" In Linux 2.0 kernels, superuser was like everyone else
-.\" 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.
+.\" In Linux 2.2, up to Linux 2.2.12, these bits were not cleared for superuser.
+.\" Since Linux 2.2.13, superuser is once more like everyone else.
In case of a non-group-executable file (i.e., one for which the
.B S_IXGRP
bit is not set) the
The named file resides on a read-only filesystem.
.SH VERSIONS
.BR fchownat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR chown (),
.BR fchown (),
.BR lchown ()
wrapper functions transparently deal with the variations across kernel versions.
.PP
-In versions of Linux prior to 2.1.81 (and distinct from 2.1.46),
+Before Linux 2.1.81 (except 2.1.46),
.BR chown ()
did not follow symbolic links.
Since Linux 2.1.81,
The
.BR clock_nanosleep ()
system call first appeared in Linux 2.6.
-Support is available in glibc since version 2.1.
+Support is available since glibc 2.1.
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008.
.SH NOTES
.\" Modified 10 June 1995 by Andries Brouwer <aeb@cwi.nl>
.\" Modified 25 April 1998 by Xavier Leroy <Xavier.Leroy@inria.fr>
.\" Modified 26 Jun 2001 by Michael Kerrisk
-.\" Mostly upgraded to 2.4.x
+.\" Mostly upgraded to Linux 2.4.x
.\" Added prototype for sys_clone() plus description
.\" Added CLONE_THREAD with a brief description of thread groups
.\" Added CLONE_PARENT and revised entire page remove ambiguity
.\" Modified 26 Jun 2001 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Updated notes for 2.4.7+ behavior of CLONE_THREAD
.\" Modified 15 Oct 2002 by Michael Kerrisk <mtk.manpages@gmail.com>
-.\" Added description for CLONE_NEWNS, which was added in 2.4.19
+.\" Added description for CLONE_NEWNS, which was added in Linux 2.4.19
.\" Slightly rephrased, aeb.
.\" Modified 1 Feb 2003 - added CLONE_SIGHAND restriction, aeb.
.\" Modified 1 Jan 2004 - various updates, aeb
.TP
.BR CLONE_DETACHED " (historical)"
For a while (during the Linux 2.5 development series)
-.\" added in 2.5.32; removed in 2.6.0-test4
+.\" added in Linux 2.5.32; removed in Linux 2.6.0-test4
there was a
.B CLONE_DETACHED
flag,
.TP
.BR CLONE_NEWNET " (since Linux 2.6.24)"
(The implementation of this flag was completed only
-by about kernel version 2.6.29.)
+by about Linux 2.6.29.)
.IP
If
.B CLONE_NEWNET
For security reasons,
.\" commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
.\" https://lwn.net/Articles/543273/
-.\" The fix actually went into 3.9 and into 3.8.3. However, user namespaces
-.\" were, for practical purposes, unusable in earlier 3.8.x because of the
+.\" The fix actually went into Linux 3.9 and into Linux 3.8.3. However, user namespaces
+.\" were, for practical purposes, unusable in earlier Linux 3.8.x because of the
.\" various filesystems that didn't support userns.
.B CLONE_NEWUSER
cannot be specified in conjunction with
The store operation completes before the clone call
returns control to user space.
.TP
-.BR CLONE_PID " (Linux 2.0 to 2.5.15)"
+.BR CLONE_PID " (Linux 2.0 to Linux 2.5.15)"
If
.B CLONE_PID
is set, the child process is created with the same process ID as
.B CLONE_THREAD
generally does not make the parent of the new thread the same
as the parent of the calling process.
-However, for kernel versions 2.4.7 to 2.4.18 the
+However, from Linux 2.4.7 to Linux 2.4.18 the
.B CLONE_THREAD
flag implied the
.B CLONE_PARENT
.SH VERSIONS
.BR close_range ()
first appeared in Linux 5.9.
-Library support was added in glibc in version 2.34.
+Library support was added in glibc 2.34.
.SH STANDARDS
.BR close_range ()
is a nonstandard function that is also present on FreeBSD.
.BR AF_UNSPEC ;
thereafter, the socket can be connected to another address.
.RB ( AF_UNSPEC
-is supported on Linux since kernel 2.2.)
+is supported since Linux 2.2.)
.SH RETURN VALUE
If the connection or binding succeeds, zero is returned.
On error, \-1 is returned, and
emulation when it is not available.
.\" https://sourceware.org/git/?p=glibc.git;a=commit;f=posix/unistd.h;h=bad7a0c81f501fbbcc79af9eaa4b8254441c4a1f
.PP
-A major rework of the kernel implementation occurred in 5.3.
+A major rework of the kernel implementation occurred in Linux 5.3.
Areas of the API that weren't clearly defined were clarified and the API bounds
are much more strictly checked than on earlier kernels.
Applications should target the behaviour and requirements of 5.3 kernels.
cross-filesystem copies can be achieved
when both filesystems are of the same type,
and that filesystem implements support for it.
-See BUGS for behavior prior to 5.12.
+See BUGS for behavior prior to Linux 5.12.
.SH STANDARDS
The
.BR copy_file_range ()
pointers to the same copy-on-write disk blocks)
or server-side-copy (in the case of NFS).
.SH BUGS
-In Linux kernels 5.3 to 5.11,
+In Linux 5.3 to Linux 5.11,
cross-filesystem copies were implemented by the kernel,
if the operation was not supported by individual filesystems.
However, on some virtual filesystems,
.fi
.SH DESCRIPTION
.IR Note :
-This system call is present only in kernels before Linux 2.6.
+This system call is present only before Linux 2.6.
.PP
.BR create_module ()
attempts to create a loadable module entry and reserve the kernel memory
.B ENOSYS
.BR create_module ()
is not supported in this version of the kernel
-(e.g., the kernel is version 2.6 or later).
+(e.g., Linux 2.6 or later).
.TP
.B EPERM
The caller was not privileged
.B CAP_SYS_MODULE
capability).
.SH VERSIONS
-This system call is present on Linux only up until kernel 2.4;
+This system call is present only up until Linux 2.4;
it was removed in Linux 2.6.
.\" Removed in Linux 2.5.48
.SH STANDARDS
.SH NOTES
This obsolete system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
-glibc versions before 2.23 did export an ABI for this system call.
+glibc versions before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
.BR delete_module ()
system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
-glibc versions before 2.23 did export an ABI for this system call.
+glibc versions before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it is (before glibc 2.23) sufficient to
manually declare the interface in your code;
.BR getrlimit (2)).
.SH VERSIONS
.BR dup3 ()
-was added to Linux in version 2.6.27;
-glibc support is available starting with
-version 2.9.
+was added in Linux 2.6.27;
+glibc support is available since glibc 2.9.
.SH STANDARDS
.BR dup (),
.BR dup2 ():
There was insufficient memory to create the kernel object.
.SH VERSIONS
.BR epoll_create ()
-was added to the kernel in version 2.6.
-Library support is provided in glibc starting with version 2.3.2.
+was added in Linux 2.6.
+Library support is provided in glibc 2.3.2.
.PP
.\" To be precise: kernel 2.5.44.
.\" The interface should be finalized by Linux kernel 2.5.66.
.BR epoll_create1 ()
-was added to the kernel in version 2.6.27.
-Library support is provided in glibc starting with version 2.9.
+was added in Linux 2.6.27.
+Library support is provided in glibc 2.9.
.SH STANDARDS
.BR epoll_create ()
and
refers to, for example, a regular file or a directory.
.SH VERSIONS
.BR epoll_ctl ()
-was added to the kernel in version 2.6.
+was added to in Linux 2.6.
.\" To be precise: kernel 2.5.44.
.\" The interface should be finalized by Linux kernel 2.5.66.
-Library support is provided in glibc starting with version 2.3.2.
+Library support is provided in glibc 2.3.2.
.SH STANDARDS
.BR epoll_ctl ()
is Linux-specific.
interface supports all file descriptors that support
.BR poll (2).
.SH BUGS
-In kernel versions before 2.6.9, the
+Before Linux 2.6.9, the
.B EPOLL_CTL_DEL
operation required a non-null pointer in
.IR event ,
can be specified as NULL
when using
.BR EPOLL_CTL_DEL .
-Applications that need to be portable to kernels before 2.6.9
+Applications that need to be portable to kernels before Linux 2.6.9
should specify a non-null pointer in
.IR event .
.PP
is less than or equal to zero.
.SH VERSIONS
.BR epoll_wait ()
-was added to the kernel in version 2.6.
+was added in Linux 2.6.
.\" To be precise: kernel 2.5.44.
-.\" The interface should be finalized by Linux kernel 2.5.66.
-Library support is provided in glibc starting with version 2.3.2.
+.\" The interface should be finalized by Linux 2.5.66.
+Library support is provided in glibc 2.3.2.
.PP
.BR epoll_pwait ()
-was added to Linux in kernel 2.6.19.
-Library support is provided in glibc starting with version 2.6.
+was added in Linux 2.6.19.
+Library support is provided in glibc 2.6.
.PP
.BR epoll_pwait2 ()
-was added to Linux in kernel 5.11.
+was added in Linux 5.11.
.SH STANDARDS
.BR epoll_wait (),
.BR epoll_pwait (),
(equal to
.IR sizeof(sigset_t) ).
.SH BUGS
-In kernels before 2.6.37, a
+Before Linux 2.6.37, a
.I timeout
value larger than approximately
.I LONG_MAX / HZ
Provide semaphore-like semantics for reads from the new file descriptor.
See below.
.PP
-In Linux up to version 2.6.26, the
+Up to Linux 2.6.26, the
.I flags
argument is unused, and must be specified as zero.
.PP
eventfd file descriptor.
.SH VERSIONS
.BR eventfd ()
-is available on Linux since kernel 2.6.22.
-Working support is provided in glibc since version 2.8.
+is available since Linux 2.6.22.
+Working support is provided since glibc 2.8.
.\" eventfd() is in glibc 2.7, but reportedly does not build
The
.BR eventfd2 ()
-system call (see NOTES) is available on Linux since kernel 2.6.27.
-Since version 2.9, the glibc
+system call (see NOTES) is available since Linux 2.6.27.
+Since glibc 2.9, the
.BR eventfd ()
wrapper will employ the
.BR eventfd2 ()
or available at run time using the call
.IR "sysconf(_SC_ARG_MAX)" ).
.PP
-On Linux prior to kernel 2.6.23, the memory used to store the
+Before Linux 2.6.23, the memory used to store the
environment and argument strings was limited to 32 pages
(defined by the kernel constant
.BR MAX_ARG_PAGES ).
On architectures with a 4-kB page size,
this yields a maximum size of 128\ kB.
.PP
-On kernel 2.6.23 and later, most architectures support a size limit
+On Linux 2.6.23 and later, most architectures support a size limit
derived from the soft
.B RLIMIT_STACK
resource limit (see
.BR execve ()
call.
(Architectures with no memory management unit are excepted:
-they maintain the limit that was in effect before kernel 2.6.23.)
+they maintain the limit that was in effect before Linux 2.6.23.)
This change allows programs to have a much larger
argument and/or environment list.
-.\" For some background on the changes to ARG_MAX in kernels 2.6.23 and
-.\" 2.6.25, see:
+.\" For some background on the changes to ARG_MAX in Linux 2.6.23 and
+.\" Linux 2.6.25, see:
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=5786
.\" http://bugzilla.kernel.org/show_bug.cgi?id=10095
.\" http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
-.\" checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
+.\" checked into Linux 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
For these architectures, the total size is limited to 1/4 of the allowed
stack size.
(Imposing the 1/4-limit
.\" 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.
+.\" ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15.
.SS execve() and EAGAIN
A more detailed explanation of the
.B EAGAIN
.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
+From Linux 2.6.0 to Linux 3.0, this caused the
.BR set*uid ()
call to fail.
-(Prior to 2.6,
+(Before Linux 2.6,
.\" commit 909cc4ae86f3380152a18e2a3c44523893ee11c4
the resource limit was not imposed on processes that
changed their user IDs.)
.\" 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.
+.\" ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15.
.SH EXAMPLES
The following program is designed to be execed by the second program below.
It just echoes its command-line arguments, one per line.
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR execveat ()
-was added to Linux in kernel 3.19.
-Library support was added to glibc in version 2.34.
+was added in Linux 3.19.
+Library support was added in glibc 2.34.
.SH STANDARDS
The
.BR execveat ()
but the file referred to by
.I fd
is not a regular file.
-.\" There was an inconsistency in 3.15-rc1, that should be resolved so that all
+.\" There was an inconsistency in Linux 3.15-rc1, that should be resolved so that all
.\" filesystems use this error for this case. (Tytso says ex4 will change.)
.\" http://thread.gmane.org/gmane.comp.file-systems.xfs.general/60485/focus=5521
.\" From: Michael Kerrisk (man-pages <mtk.manpages@...>
is currently being executed.
.SH VERSIONS
.BR fallocate ()
-is available on Linux since kernel 2.6.23.
-Support is provided by glibc since version 2.10.
+is available since Linux 2.6.23.
+Support is provided since glibc 2.10.
The
.B FALLOC_FL_*
-flags are defined in glibc headers only since version 2.18.
+flags are defined in glibc headers only since glibc 2.18.
.\" See http://sourceware.org/bugzilla/show_bug.cgi?id=14964
.SH STANDARDS
.BR fallocate ()
or
.IR event_f_flags .
.B FAN_ALL_INIT_FLAGS
-(deprecated since Linux kernel version 4.20)
+(deprecated since Linux 4.20)
.\" commit 23c9deeb3285d34fd243abb3d6b9f07db60c3cf4
defines all allowable bits for
.IR flags .
The operation is not permitted because the caller lacks a required capability.
.SH VERSIONS
.BR fanotify_init ()
-was introduced in version 2.6.36 of the Linux kernel and enabled in version
-2.6.37.
+was introduced in Linux 2.6.36 and enabled in Linux 2.6.37.
.PP
Prior to Linux 5.13,
.\" commit 7cea2a3c505e87a9d6afc78be4a7f7be636a73a7
.SH STANDARDS
This system call is Linux-specific.
.SH BUGS
-The following bug was present in Linux kernels before version 3.18:
+The following bug was present before Linux 3.18:
.IP \(bu 3
.\" Fixed by commit 0b37e097a648aa71d4db1ad108001e95b69a2da4
The
is ignored when passed in
.IR event_f_flags .
.PP
-The following bug was present in Linux kernels before version 3.14:
+The following bug was present before Linux 3.14:
.IP \(bu 3
.\" Fixed by commit 48149e9d3a7e924010a0daab30a6197b7d7b6580
The
filesystem objects by file handles.
.SH VERSIONS
.BR fanotify_mark ()
-was introduced in version 2.6.36 of the Linux kernel and enabled in version
-2.6.37.
+was introduced in Linux 2.6.36 and enabled in Linux 2.6.37.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
.EE
.in
.SH BUGS
-The following bugs were present in Linux kernels before version 3.16:
+The following bugs were present in before Linux 3.16:
.IP \(bu 3
.\" Fixed by commit 0a8dd2db579f7a0ac7033d6b857c3d5dbaa77563
If
.IR l_start + l_len
up to and including
.IR l_start \-1.
-This is supported by Linux since kernel versions 2.4.21 and 2.5.49.
+This is supported since Linux 2.4.21 and Linux 2.5.49.
.PP
The
.I l_type
.\" refers to a terminal device, then SIGIO
.\" signals are sent to the foreground process group of the terminal.
.IP
-The following was true in 2.6.x kernels up to and including
-kernel 2.6.11:
+The following was true in Linux 2.6.x up to and including Linux 2.6.11:
.RS
.IP
If a nonzero value is given to
is available to the signal handler if installed with
.BR SA_SIGINFO .
.\"
-.\" The following was true only up until 2.6.11:
+.\" The following was true only up until Linux 2.6.11:
.\"
.\" Additionally, passing a nonzero value to
.\" .B F_SETSIG
Take out a read lease.
This will cause the calling process to be notified when
the file is opened for writing or is truncated.
-.\" The following became true in kernel 2.6.10:
+.\" The following became true in Linux 2.6.10:
.\" See the man-pages-2.09 Changelog for further info.
A read lease can be placed only on a file descriptor that
is opened read-only.
.B NOTE:
New applications should use the
.I inotify
-interface (available since kernel 2.6.13),
+interface (available since Linux 2.6.13),
which provides a much superior interface for obtaining notifications of
filesystem events.
See
where it is available.
.\"
.SS Record locks
-Since kernel 2.0, there is no interaction between the types of lock
+Since Linux 2.0, there is no interaction between the types of lock
placed by
.BR flock (2)
and
.\" 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.
-Since glibc version 2.11, glibc makes the kernel
+Since glibc 2.11, glibc makes the kernel
.B F_GETOWN
problem invisible by implementing
.B F_GETOWN
.BR fcntl (2),
appears on most UNIX systems.
.SH NOTES
-Since kernel 2.0,
+Since Linux 2.0,
.BR flock ()
is implemented as a system call in its own right rather
than being emulated in the GNU C library as a call to
.\" Kernel 2.5.21 changed things a little: during lock conversion
.\" it is now the highest priority process that will get the lock -- mtk
.SS NFS details
-In Linux kernels up to 2.6.11,
+Up to Linux 2.6.11,
.BR flock ()
does not lock files over NFS
(i.e., the scope of locks was limited to the local system).
option in
.BR nfs (5).
.SS CIFS details
-In Linux kernels up to 5.4,
+Up to Linux 5.4,
.BR flock ()
is not propagated over SMB.
A file with such locks will not appear locked for remote clients.
is the time and memory required to duplicate the parent's page tables,
and to create a unique task structure for the child.
.SS C library/kernel differences
-Since version 2.3.3,
+Since glibc 2.3.3,
.\" nptl/sysdeps/unix/sysv/linux/fork.c
rather than invoking the kernel's
.BR fork ()
.\"
.TP
.BR FUTEX_WAIT " (since Linux 2.6.0)"
-.\" Strictly speaking, since some time in 2.5.x
+.\" Strictly speaking, since some time in Linux 2.5.x
This operation tests that the value at the
futex word pointed to by the address
.I uaddr
.\"
.TP
.BR FUTEX_FD " (from Linux 2.6.0 up to and including Linux 2.6.25)"
-.\" Strictly speaking, from Linux 2.5.x to 2.6.25
+.\" Strictly speaking, from Linux 2.5.x to Linux 2.6.25
This operation creates a file descriptor that is associated with
the futex at
.IR uaddr .
.\" Related to the preceding, Darren proposed that somewhere, man-pages
.\" should document the following point:
.\"
-.\" While the Linux kernel, since 2.6.31, supports requeueing of
+.\" While the Linux kernel, since Linux 2.6.31, supports requeueing of
.\" priority-inheritance (PI) aware mutexes via the
.\" FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI futex operations,
.\" the glibc implementation does not yet take full advantage of this.
.B FUTEX_WAIT_BITSET
operation was interrupted by a signal (see
.BR signal (7)).
-In kernels before Linux 2.6.22, this error could also be returned for
+Before Linux 2.6.22, this error could also be returned for
a spurious wakeup; since Linux 2.6.22, this no longer happens.
.TP
.B EINVAL
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR futimesat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
This system call is nonstandard.
It was implemented from a specification that was proposed for POSIX.1,
.fi
.SH DESCRIPTION
.BR Note :
-This system call is present only in kernels before Linux 2.6.
+This system call is present only before Linux 2.6.
.PP
If
.I table
.BR get_kernel_syms ()
is not supported in this version of the kernel.
.SH VERSIONS
-This system call is present on Linux only up until kernel 2.4;
+This system call is present only up until Linux 2.4;
it was removed in Linux 2.6.
.\" Removed in Linux 2.5.48
.SH STANDARDS
.SH NOTES
This obsolete system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
-glibc versions before 2.23 did export an ABI for this system call.
+glibc versions before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
.SH VERSIONS
The
.BR get_mempolicy ()
-system call was added to the Linux kernel in version 2.6.7.
+system call was added in Linux 2.6.7.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
Arguments point outside the calling process's address space.
.SH VERSIONS
.BR getcpu ()
-was added in kernel 2.6.19 for x86-64 and i386.
+was added in Linux 2.6.19 for x86-64 and i386.
Library support was added in glibc 2.29
(Earlier glibc versions did not provide a wrapper for this system call,
necessitating the use of
The caching mechanism was considered to cause problems when
migrating threads between CPUs, and so the argument is now ignored.
.\"
-.\" ===== Before kernel 2.6.24: =====
+.\" ===== Before Linux 2.6.24: =====
.\" .I tcache
.\" is a pointer to a
.\" .IR "struct getcpu_cache"
.\" will use it to speed up operation.
.\" The information inside the cache is private to the system call
.\" and should not be accessed by the user program.
-.\" The information placed in the cache can change between kernel releases.
+.\" The information placed in the cache can change between Linux releases.
.\"
.\" When no cache is specified
.\" .BR getcpu ()
_XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
|| /* Glibc 2.19 and earlier */ _BSD_SOURCE
.\" The above is something of a simplification
-.\" also in glibc before 2.3 there was a bit churn
+.\" also before glibc 2.3 there was a bit churn
.fi
.PP
.BR sethostname ():
.RB "(glibc " gethostname ())
.I len
is smaller than the actual size.
-(Before version 2.1, glibc uses
+(Before glibc 2.1, glibc uses
.B EINVAL
for this case.)
.TP
in this case, a terminating null byte is not included in the returned
.IR name .
.PP
-Versions of glibc before 2.2
-.\" At least glibc 2.0 and 2.1, older versions not checked
+Versions of glibc before glibc 2.2
+.\" At least glibc 2.0 and glibc 2.1, older versions not checked
handle the case where the length of the
.I nodename
was greater than or equal to
has been delivered.
The second signal in such an event will be lost.
.PP
-On Linux kernels before 2.6.16, timer values are represented in jiffies.
+Before Linux 2.6.16, timer values are represented in jiffies.
If a request is made set a timer with a value whose jiffies
representation exceeds
.B MAX_SEC_IN_JIFFIES
and this ceiling is removed.
.PP
On certain systems (including i386),
-Linux kernels before version 2.6.12 have a bug which will produce
+Linux kernels before Linux 2.6.12 have a bug which will produce
premature timer expirations of up to one jiffy under some circumstances.
-This bug is fixed in kernel 2.6.12.
-.\" 4 Jul 2005: It looks like this bug may remain in 2.4.x.
+This bug is fixed in Linux 2.6.12.
+.\" 4 Jul 2005: It looks like this bug may remain in Linux 2.4.x.
.\" http://lkml.org/lkml/2005/7/1/165
.PP
POSIX.1-2001 says that
should fail if a
.I tv_usec
value is specified that is outside of the range 0 to 999999.
-However, in kernels up to and including 2.6.21,
+However, up to and including Linux 2.6.21,
Linux does not give an error, but instead silently
adjusts the corresponding seconds value for the timer.
-From kernel 2.6.22 onward,
+From Linux 2.6.22 onward,
this nonconformance has been repaired:
an improper
.I tv_usec
.nf
Since glibc 2.20:
_DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
- Glibc 2.12 to 2.19:
+ Glibc 2.12 to glibc 2.19:
_BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
.BR clone (2).
.\"
.SS C library/kernel differences
-From glibc version 2.3.4 up to and including version 2.24,
+From glibc 2.3.4 up to and including Linux 2.24,
the glibc wrapper function for
.BR getpid ()
cached PIDs,
the source of a few bugs within glibc over the years.
.PP
Because of the aforementioned problems,
-since glibc version 2.25, the PID cache is removed:
+since glibc 2.25, the PID cache is removed:
.\" commit c579f48edba88380635ab98cb612030e3ed8691e
.\" https://sourceware.org/glibc/wiki/Release/2.25#pid_cache_removal
calls to
depend on the system.
The above description is what POSIX.1-2001 says, and seems to be followed on
all System\ V-like systems.
-Linux kernels before 2.6.12 required the real or
+Linux kernels before Linux 2.6.12 required the real or
effective user ID of the caller to match
the real user of the process \fIwho\fP (instead of its effective user ID).
Linux 2.6.12 and later require
determined that the underlying kernel does not implement this system call.
.SH VERSIONS
.BR getrandom ()
-was introduced in version 3.17 of the Linux kernel.
-Support was added to glibc in version 2.25.
+was introduced in Linux 3.17.
+Support was added in glibc 2.25.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
One of the arguments specified an address outside the calling program's
address space.
.SH VERSIONS
-These system calls appeared on Linux starting with kernel 2.1.44.
+These system calls were added on Linux 2.1.44.
.PP
-The prototypes are given by glibc since version 2.3.2,
+The prototypes are given since glibc 2.3.2,
provided
.B _GNU_SOURCE
is defined.
This is the maximum size of the process's virtual memory
(address space).
The limit is specified in bytes, and is rounded down to the system page size.
-.\" since 2.0.27 / 2.1.12
+.\" since Linux 2.0.27 / Linux 2.1.12
This limit affects calls to
.BR brk (2),
.BR mmap (2),
fails with the error
.BR EFBIG .
.TP
-.BR RLIMIT_LOCKS " (Linux 2.4.0 to 2.4.24)"
-.\" to be precise: Linux 2.4.0-test9; no longer in 2.4.25 / 2.5.65
+.BR RLIMIT_LOCKS " (Linux 2.4.0 to Linux 2.4.24)"
+.\" to be precise: Linux 2.4.0-test9; no longer in Linux 2.4.25 / Linux 2.5.65
This is a limit on the combined number of
.BR flock (2)
locks and
a process can lock bytes up to this limit in each of these
two categories.
.IP
-In Linux kernels before 2.6.9, this limit controlled the amount of
+Before Linux 2.6.9, this limit controlled the amount of
memory that could be locked by a privileged process.
Since Linux 2.6.9, no limits are placed on the amount of memory
that a privileged process may lock, and this limit instead governs
.BR madvise (2)
specifying
.BR MADV_WILLNEED .
-.\" As at kernel 2.6.12, this limit still does nothing in 2.6 though
+.\" As at Linux 2.6.12, this limit still does nothing in Linux 2.6 though
.\" talk of making it do something has surfaced from time to time in LKML
.\" -- MTK, Jul 05
.TP
to queue one instance of any of the signals that are not already
queued to the process.
.\" This replaces the /proc/sys/kernel/rtsig-max system-wide limit
-.\" that was present in kernels <= 2.6.7. MTK Dec 04
+.\" that was present in Linux <= 2.6.7. MTK Dec 04
.TP
.B RLIMIT_STACK
This is the maximum size of the process stack, in bytes.
All new applications should be written using
.BR setrlimit ().
.SS C library/kernel ABI differences
-Since version 2.13, the glibc
+Since glibc 2.13, the glibc
.BR getrlimit ()
and
.BR setrlimit ()
signals delivered when a process encountered the soft and hard
.B RLIMIT_CPU
limits were delivered one (CPU) second later than they should have been.
-This was fixed in kernel 2.6.8.
+This was fixed in Linux 2.6.8.
.PP
-In 2.6.x kernels before 2.6.17, a
+In Linux 2.6.x kernels before Linux 2.6.17, a
.B RLIMIT_CPU
limit of 0 is wrongly treated as "no limit" (like
.BR RLIM_INFINITY ).
A kernel bug means that
.\" See https://lwn.net/Articles/145008/
.B RLIMIT_RTPRIO
-does not work in kernel 2.6.12; the problem is fixed in kernel 2.6.13.
+does not work in Linux 2.6.12; the problem is fixed in Linux 2.6.13.
.PP
-In kernel 2.6.12, there was an off-by-one mismatch
+In Linux 2.6.12, there was an off-by-one mismatch
between the priority ranges returned by
.BR getpriority (2)
and
This had the effect that the actual ceiling for the nice value
was calculated as
.IR "19\ \-\ rlim_cur" .
-This was fixed in kernel 2.6.13.
+This was fixed in Linux 2.6.13.
.\" see http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2
.PP
Since Linux 2.6.12,
.B RLIMIT_RTTIME
limit exhibits the same behavior when the soft limit is encountered.
.PP
-Kernels before 2.4.22 did not diagnose the error
+Kernels before Linux 2.4.22 did not diagnose the error
.B EINVAL
for
.BR setrlimit ()
.BR RLIM_INFINITY .
In other words, the requested resource limit setting was silently ignored.
.PP
-Since version 2.13,
+Since glibc 2.13,
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=12201
glibc works around the limitations of the
.BR getrlimit ()
.\" history, etc., see getrlimit.2
.\"
.\" Modified 2004-11-16, mtk, Noted that the nonconformance
-.\" when SIGCHLD is being ignored is fixed in 2.6.9.
+.\" when SIGCHLD is being ignored is fixed in Linux 2.6.9.
.\" 2008-02-22, Sripathi Kodi <sripathik@in.ibm.com>: Document RUSAGE_THREAD
.\" 2008-05-25, mtk, clarify RUSAGE_CHILDREN + other clean-ups.
.\" 2010-05-24, Mark Hills <mark@pogo.org.uk>: Description of fields,
Resource usage metrics are preserved across an
.BR execve (2).
.PP
-In Linux kernel versions before 2.6.9, if the disposition of
+Before Linux 2.6.9, if the disposition of
.B SIGCHLD
is set to
.B SIG_IGN
.BR vtimes ()
function with a similar purpose to
.BR getrusage ().
-For backward compatibility, glibc (up until version 2.32) also provides
+For backward compatibility, glibc (up until Linux 2.32) also provides
.BR vtimes ().
All new applications should be written using
.BR getrusage ().
-(Since version 2.33, glibc no longer provides an
+(Since Linux 2.33, glibc no longer provides an
.BR vtimes ()
implementation.)
.PP
.I pid
was found.
.SH VERSIONS
-This system call is available on Linux since version 2.0.
+This system call is available since Linux 2.0.
.\" Linux has this system call since Linux 1.3.44.
.\" There is libc support since libc 5.2.19.
.SH STANDARDS
.SH VERSIONS
The
.BR gettid ()
-system call first appeared on Linux in kernel 2.4.11.
+system call first appeared in Linux 2.4.11.
Library support was added in glibc 2.30.
(Earlier glibc versions did not provide a wrapper for this system call,
necessitating the use of
or
.I tz
is NULL, the corresponding structure is not set or returned.
-.\" FIXME . The compilation warning looks to be going away in 2.17
+.\" FIXME . The compilation warning looks to be going away in glibc 2.17
.\" see glibc commit 4b7634a5e03b0da6f8875de9d3f74c1cf6f2a6e8
(However, compilation warnings will result if
.I tv
.BR stat (2)
can also occur.
.SH VERSIONS
-These system calls have been available on Linux since kernel 2.4;
-glibc support is provided since version 2.3.
+These system calls have been available since Linux 2.4;
+glibc support is provided since glibc 2.3.
.SH STANDARDS
These system calls are Linux-specific.
.\" .SH AUTHORS
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified 21 Aug 1994 by Michael Chastain <mec@shell.portal.com>:
-.\" Added text about calling restriction (new in kernel 1.1.20 I believe).
+.\" Added text about calling restriction (new in Linux 1.1.20 I believe).
.\" N.B. calling "idle" from user process used to hang process!
.\" Modified Thu Oct 31 14:41:15 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" "
.BR init_module ()
system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
-glibc versions before 2.23 did export an ABI for this system call.
+glibc versions before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it is (before glibc 2.23) sufficient to
manually declare the interface in your code;
.SH VERSIONS
.BR inotify_init ()
first appeared in Linux 2.6.13;
-library support was added to glibc in version 2.4.
+library support was added in glibc 2.4.
.BR inotify_init1 ()
was added in Linux 2.6.27;
-library support was added to glibc in version 2.9.
+library support was added in glibc 2.9.
.SH STANDARDS
These system calls are Linux-specific.
.SH SEE ALSO
.\" Modified, Thu Apr 20 22:08:17 1995, jrv@vanzandt.mv.com
.\" Modified, Mon Sep 18 22:32:47 1995, hpa@storm.net (H. Peter Anvin)
.\" FIXME The following are not documented:
-.\" KDFONTOP (since 2.1.111)
-.\" KDGKBDIACRUC (since 2.6.24)
+.\" KDFONTOP (since Linux 2.1.111)
+.\" KDGKBDIACRUC (since Linux 2.6.24)
.\" KDSKBDIACR
-.\" KDSKBDIACRUC (since 2.6.24)
-.\" KDKBDREP (since 2.1.113)
-.\" KDMAPDISP (not implemented as at 2.6.27)
-.\" KDUNMAPDISP (not implemented as at 2.6.27)
-.\" VT_LOCKSWITCH (since 1.3.47, needs CAP_SYS_TTY_CONFIG)
-.\" VT_UNLOCKSWITCH (since 1.3.47, needs CAP_SYS_TTY_CONFIG)
-.\" VT_GETHIFONTMASK (since 2.6.18)
+.\" KDSKBDIACRUC (since Linux 2.6.24)
+.\" KDKBDREP (since Linux 2.1.113)
+.\" KDMAPDISP (not implemented as at Linux 2.6.27)
+.\" KDUNMAPDISP (not implemented as at Linux 2.6.27)
+.\" VT_LOCKSWITCH (since Linux 1.3.47, needs CAP_SYS_TTY_CONFIG)
+.\" VT_UNLOCKSWITCH (since Linux 1.3.47, needs CAP_SYS_TTY_CONFIG)
+.\" VT_GETHIFONTMASK (since Linux 2.6.18)
.\"
.TH ioctl_console 2 (date) "Linux man-pages (unreleased)"
.SH NAME
.BR TIOCLINUX ", " subcode = 0
Dump the screen.
Disappeared in Linux 1.1.92.
-(With kernel 1.1.92 or later, read from
+(With Linux 1.1.92 or later, read from
.I /dev/vcsN
or
.I /dev/vcsaN
Dump screen width and height, cursor position, and all the
character-attribute pairs.
(Kernels 1.1.67 through 1.1.91 only.
-With kernel 1.1.92 or later, read from
+With Linux 1.1.92 or later, read from
.I /dev/vcsa*
instead.)
.TP
Restore screen width and height, cursor position, and all the
character-attribute pairs.
(Kernels 1.1.67 through 1.1.91 only.
-With kernel 1.1.92 or later, write to
+With Linux 1.1.92 or later, write to
.I /dev/vcsa*
instead.)
.TP
.I /dev/tty0
to the given terminal.
If that was a pseudoterminal master, send it to the slave.
-In Linux before version 2.6.10,
+Before Linux 2.6.10,
anybody can do this as long as the output was not redirected yet;
-since version 2.6.10, only a process with the
+since Linux 2.6.10, only a process with the
.B CAP_SYS_ADMIN
capability may do this.
If output was redirected already, then
.BR ioctl (2)
operations available.
.PP
-For Linux kernel versions before 4.11, the
+Before Linux 4.11, the
.I features
field must be initialized to zero before the call to
.BR UFFDIO_API ,
If no I/O scheduler has been set for a thread,
then by default the I/O priority will follow the CPU nice value
.RB ( setpriority (2)).
-In Linux kernels before version 2.6.24,
+Before Linux 2.6.24,
once an I/O priority had been set using
.BR ioprio_set (),
there was no way to reset the I/O scheduling behavior to the default.
require the
.B CAP_SYS_ADMIN
capability.
-Kernel versions up to 2.6.24 also required
+Up to Linux 2.6.24 also required
.B CAP_SYS_ADMIN
to set a very low priority
.RB ( IOPRIO_CLASS_IDLE ),
the persistent keyring will be removed and
everything it pins can then be garbage collected.
.IP
-Persistent keyrings were added to Linux in kernel version 3.13.
+Persistent keyrings were added in Linux 3.13.
.IP
The arguments
.I arg4
.\" keyutils commit d68a981e5db41d059ac782071c35d1e8f3aaf61c
This operation is exposed by
.I libkeyutils
-(from version 1.5.10 onwards) via the functions
+(from
+.I libkeyutils
+1.5.10 onwards) via the functions
.BR keyctl_dh_compute (3)
and
.BR keyctl_dh_compute_alloc (3).
(the key description)
exceeded the limit (32 bytes and 4096 bytes respectively).
.TP
-.BR EINVAL " (Linux kernels before 4.12)"
+.BR EINVAL " (before Linux 4.12)"
.I operation
was
.BR KEYCTL_DH_COMPUTE ,
.B KEYCTL_KDF_MAX_OI_LEN
(which is 64 currently).
.TP
-.BR ENFILE " (Linux kernels before 3.13)"
+.BR ENFILE " (before Linux 3.13)"
.I operation
was
.B KEYCTL_LINK
to send a signal to another process.
.\" In the 0.* kernels things chopped and changed quite
.\" a bit - MTK, 24 Jul 02
-In kernels 1.0 to 1.2.2, a signal could be sent if the
+In Linux 1.0 to 1.2.2, a signal could be sent if the
effective user ID of the sender matched effective user ID of the target,
or the real user ID of the sender matched the real user ID of the target.
-From kernel 1.2.3 until 1.3.77, a signal could be sent if the
+From Linux 1.2.3 until 1.3.77, a signal could be sent if the
effective user ID of the sender matched either the real or effective
user ID of the target.
The current rules, which conform to POSIX.1, were adopted
-in kernel 1.3.78.
+in Linux 1.3.78.
.SH BUGS
-In 2.6 kernels up to and including 2.6.7,
+In Linux 2.6 up to and including Linux 2.6.7,
there was a bug that meant that when sending signals to a process group,
.BR kill ()
failed with the error
.EE
.in
.PP
-Before kernel 2.6.18, the
+Before Linux 2.6.18, the
.I flags
argument was unused, and had to be specified as 0.
.PP
refers to a directory.
.SH VERSIONS
.BR linkat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR link ():
SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES), POSIX.1-2008.
should dereference
.I oldpath
if it is a symbolic link.
-However, since kernel 2.0,
-.\" more precisely: since kernel 1.3.56
+However, since Linux 2.0,
+.\" more precisely: since Linux 1.3.56
Linux does not do so: if
.I oldpath
is a symbolic link, then
then it is silently capped to that value.
Since Linux 5.4, the default in this file is 4096;
in earlier kernels, the default value is 128.
-In kernels before 2.4.25, this limit was a hard coded value,
+Before Linux 2.4.25, this limit was a hard coded value,
.BR SOMAXCONN ,
with the value 128.
.\" The following is now rather historic information (MTK, Jun 05)
.BR stat (2)
can also occur.
.SH VERSIONS
-These system calls have been available on Linux since kernel 2.4;
-glibc support is provided since version 2.3.
+These system calls have been available since Linux 2.4;
+glibc support is provided since glibc 2.3.
.SH STANDARDS
These system calls are Linux-specific.
.\" .SH AUTHORS
Available since Linux 2.5.43.
The
.B ENAMETOOLONG
-error return was added in 2.5.70.
+error return was added in Linux 2.5.70.
.SH STANDARDS
.BR lookup_dcookie ()
is Linux-specific.
in the gap (a "hole") return null bytes (\(aq\e0\(aq) until
data is actually written into the gap.
.SS Seeking file data and holes
-Since version 3.1, Linux supports the following additional values for
+Since Linux 3.1, Linux supports the following additional values for
.IR whence :
.TP
.B SEEK_DATA
operation
can be applied only to private anonymous pages (see
.BR mmap (2)).
-In Linux before version 4.12,
+Before Linux 4.12,
.\" commit 93e06c7a645343d222c9a838834a51042eebbbf7
when freeing pages on a swapless system,
the pages in the given range are freed instantly,
if the existing pages in the memory range don't follow the policy.
.\" According to the kernel code, the following is not true
.\" --Lee Schermerhorn
-.\" In 2.6.16 or later the kernel will also try to move pages
+.\" In Linux 2.6.16 or later the kernel will also try to move pages
.\" to the requested node with this flag.
.PP
If
.SH VERSIONS
The
.BR mbind ()
-system call was added to the Linux kernel in version 2.6.7.
+system call was added in Linux 2.6.7.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
.BR set_mempolicy (2),
as well.
.PP
-Support for huge page policy was added with 2.6.16.
+Support for huge page policy was added with Linux 2.6.16.
For interleave policy to be effective on huge page mappings the
policied memory needs to be tens of megabytes or larger.
.PP
The
.BR memfd_create ()
system call first appeared in Linux 3.17;
-glibc support was added in version 2.27.
+glibc support was added in glibc 2.27.
.TP
.B EPERM
The
.SH VERSIONS
The
.BR migrate_pages ()
-system call first appeared on Linux in version 2.6.16.
+system call first appeared in Linux 2.6.16.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
.\" .BR mincore ()
.\" function first appeared in 4.4BSD.
.SH BUGS
-Before kernel 2.6.21,
+Before Linux 2.6.21,
.BR mincore ()
did not return correct information for
.B MAP_PRIVATE
refers to a file on a read-only filesystem.
.SH VERSIONS
.BR mkdirat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR mkdir ():
SVr4, BSD, POSIX.1-2001, POSIX.1-2008.
refers to a file on a read-only filesystem.
.SH VERSIONS
.BR mknodat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR mknod ():
SVr4, 4.4BSD, POSIX.1-2001 (but see below), POSIX.1-2008.
.SH VERSIONS
.BR mlock2 ()
is available since Linux 4.4;
-glibc support was added in version 2.27.
+glibc support was added in glibc 2.27.
.SH STANDARDS
.BR mlock (),
.BR munlock (),
.B MCL_FUTURE
flag to be inherited across a
.BR fork (2).
-This was rectified in kernel 2.4.18.
+This was rectified in Linux 2.4.18.
.PP
-Since kernel 2.6.9, if a privileged process calls
+Since Linux 2.6.9, if a privileged process calls
.I mlockall(MCL_FUTURE)
and later drops privileges (loses the
.B CAP_IPC_LOCK
.\" Modified 2001-10-04 by John Levon <moz@compsoc.man.ac.uk>
.\" Modified 2003-02-02 by Andi Kleen <ak@muc.de>
.\" Modified 2003-05-21 by Michael Kerrisk <mtk.manpages@gmail.com>
-.\" MAP_LOCKED works from 2.5.37
+.\" MAP_LOCKED works from Linux 2.5.37
.\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Modified 2004-09-11 by aeb
.\" Modified 2004-12-08, from Eric Estievenart <eric.estievenart@free.fr>
If another mapping already exists there, the kernel picks a new address that
may or may not depend on the hint.
.\" Before Linux 2.6.24, the address was rounded up to the next page
-.\" boundary; since 2.6.24, it is rounded down!
+.\" boundary; since Linux 2.6.24, it is rounded down!
The address of the new mapping is returned as the result of the call.
.PP
The contents of a file mapping (as opposed to an anonymous mapping; see
.B MAP_FIXED
flag with care,
keeping in mind that the exact layout of a process's memory mappings
-is allowed to change significantly between kernel versions,
+is allowed to change significantly between Linux versions,
C library versions, and operating system releases.
.I Carefully read the discussion of this flag in NOTES!
.TP
.I /proc/sys/vm/overcommit_memory
in
.BR proc (5).
-In kernels before 2.6, this flag had effect only for
+Before Linux 2.6, this flag had effect only for
private writable mappings.
.TP
.BR MAP_POPULATE " (since Linux 2.5.46)"
.B PROT_EXEC
but the mapped area belongs to a file on a filesystem that
was mounted no-exec.
-.\" (Since 2.4.25 / 2.6.0.)
+.\" (Since Linux 2.4.25 / Linux 2.6.0.)
.TP
.B EPERM
The operation was prevented by a file seal; see
.BR mmap ()
wrapper function.
Originally, this function invoked a system call of the same name.
-Since kernel 2.4, that system call has been superseded by
+Since Linux 2.4, that system call has been superseded by
.BR mmap2 (2),
and nowadays
.\" Since around glibc 2.1/2.2, depending on the platform.
By default, any process can be killed
at any moment when the system runs out of memory.
.PP
-In kernels before 2.6.7, the
+Before Linux 2.6.7, the
.B MAP_POPULATE
flag has effect only if
.I prot
should fail if
.I length
is 0.
-However, in kernels before 2.6.12,
+However, before Linux 2.6.12,
.BR mmap ()
succeeded in this case: no mapping was created and the call returned
.IR addr .
-Since kernel 2.6.12,
+Since Linux 2.6.12,
.BR mmap ()
fails with the error
.B EINVAL
includes
.B MS_BIND
(available since Linux 2.4),
-.\" since 2.4.0-test9
+.\" since Linux 2.4.0-test9
then perform a bind mount.
A bind mount makes a file or a directory subtree visible at
another point within the single directory hierarchy.
.BR MS_STRICTATIME ,
and
.B MS_UNBINDABLE
-were added to glibc headers in version 2.12.
+were added to glibc headers in glibc 2.12.
.\"
.SH STANDARDS
This function is Linux-specific and should not be used in
Since Linux 2.4 a single filesystem can be mounted at
multiple mount points, and multiple mounts can be stacked
on the same mount point.
-.\" Multiple mounts on same mount point: since 2.3.99pre7.
+.\" Multiple mounts on same mount point: since Linux 2.3.99pre7.
.PP
The
.I mountflags
.IR mountflags .)
Specifying
.B MS_MGC_VAL
-was required in kernel versions prior to 2.4,
+was required before Linux 2.4,
but since Linux 2.4 is no longer required and is ignored if specified.
.PP
The original
.\" The change is in patch-2.4.0-prerelease.
.\"
.SS Mount namespaces
-Starting with kernel 2.4.19, Linux provides mount namespaces.
+Starting with Linux 2.4.19, Linux provides mount namespaces.
A mount namespace is the set of filesystem mounts that
are visible to a process.
Mount namespaces can be (and usually are)
.PP
To move pages in another process requires the following privileges:
.IP \(bu 3
-In kernels up to and including Linux 4.12:
+Up to and including Linux 4.12:
the caller must be privileged
.RB ( CAP_SYS_NICE )
or the real or effective user ID of the calling process must match the
Process does not exist.
.SH VERSIONS
.BR move_pages ()
-first appeared on Linux in version 2.6.18.
+first appeared in Linux 2.6.18.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
.IR addr + len \-1]
are invalid for the address space of the process,
or specify one or more pages that are not mapped.
-(Before kernel 2.4.19, the error
+(Before Linux 2.4.19, the error
.B EFAULT
was incorrectly produced for these cases.)
.TP
.B ENOMEM
if the area cannot be populated.
.PP
-Prior to version 2.4, glibc did not expose the definition of
+Prior to glibc 2.4, glibc did not expose the definition of
.BR MREMAP_FIXED ,
and the prototype for
.BR mremap ()
On Linux, this limit can be read and modified via
.IR /proc/sys/kernel/msgmni .
.SS Linux notes
-Until version 2.3.20, Linux would return
+Until Linux 2.3.20, Linux would return
.B EIDRM
for a
.BR msgget ()
.B SCHED_FIFO
or
.BR SCHED_RR .
-This special extension was removed in kernel 2.5.39,
+This special extension was removed in Linux 2.5.39,
and is thus not available in Linux 2.6.0 and later kernels.
.SH BUGS
If a program that catches signals and uses
.I errno
is set to indicate the error.
.SH VERSIONS
-This system call was removed from the Linux kernel in version 3.1.
-Library support was removed from glibc in version 2.28.
+This system call was removed in Linux 3.1.
+Library support was removed in glibc 2.28.
.SH STANDARDS
This call is Linux-specific.
.SH SEE ALSO
.I sysvgroups
mount options described in
.BR mount (8).
-.\" As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
-.\" XFS (since 2.6.14).
+.\" As at Linux 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
+.\" XFS (since Linux 2.6.14).
.IP
The
.I mode
.\" http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2
.\" [PATCH] open: O_DIRECTORY and O_CREAT together should fail
.\" O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
-This flag was added in kernel version 2.1.126, to
+This flag was added in Linux 2.1.126, to
avoid denial-of-service problems if
.BR opendir (3)
is called on a
an open fails because there are too many symbolic links found
while resolving components in the prefix part of the pathname.)
.IP
-This flag is a FreeBSD extension, which was added to Linux in version 2.1.126,
+This flag is a FreeBSD extension, which was added in Linux 2.1.126,
and has subsequently been standardized in POSIX.1-2008.
.IP
See also
.B O_PATH
below.
.\" The headers from glibc 2.0.100 and later include a
-.\" definition of this flag; \fIkernels before 2.1.126 will ignore it if
+.\" definition of this flag; \fIkernels before Linux 2.1.126 will ignore it if
.\" used\fP.
.TP
.BR O_NONBLOCK " or " O_NDELAY
.B O_LARGEFILE
above.
This is the error specified by POSIX.1;
-in kernels before 2.6.24, Linux gave the error
+before Linux 2.6.24, Linux gave the error
.B EFBIG
for this case.
.\" See http://bugzilla.kernel.org/show_bug.cgi?id=7253
.BR fcntl (2)).
.SH VERSIONS
.BR openat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR open (),
.BR creat ()
semantics on pre-2.6.33 kernels.
.\"
.SS C library/kernel differences
-Since version 2.26,
+Since glibc 2.26,
the glibc wrapper function for
.BR open ()
employs the
system call, rather than the kernel's
.BR open ()
system call.
-For certain architectures, this is also true in glibc versions before 2.26.
+For certain architectures, this is also true before glibc 2.26.
.\"
.SS NFS
There are many infelicities in the protocol underlying NFS, affecting
a flag of the same name, but without alignment restrictions.
.PP
.B O_DIRECT
-support was added under Linux in kernel version 2.4.10.
+support was added in Linux 2.4.10.
Older Linux kernels simply ignore this flag.
Some filesystems may not implement the flag, in which case
.BR open ()
This error will occur if, for example, the file has been deleted.
.SH VERSIONS
These system calls first appeared in Linux 2.6.39.
-Library support is provided in glibc since version 2.14.
+Library support is provided since glibc 2.14.
.SH STANDARDS
These system calls are nonstandard Linux extensions.
.PP
is 72, corresponding to the addition of breakpoints in Linux 2.6.33.
.\" commit cb5d76999029ae7a517cb07dfa732c1b5a934fc2
.\" this was added much later when PERF_ATTR_SIZE_VER2 happened
-.\" but the actual attr_size had increased in 2.6.33
+.\" but the actual attr_size had increased in Linux 2.6.33
.B PERF_ATTR_SIZE_VER2
is 80 corresponding to the addition of branch sampling in Linux 3.4.
.\" commit cb5d76999029ae7a517cb07dfa732c1b5a934fc2
.\" commit 13d7a2410fa637f450a29ecb515ac318ee40c741
.\" This is tricky; was committed during 3.12 development
.\" but right before release was disabled.
-.\" So while you could select mmap2 starting with 3.12
-.\" it did not work until 3.16
+.\" So while you could select mmap2 starting with Linux 3.12
+.\" it did not work until Linux 3.16
.\" commit a5a5ba72843dd05f991184d6cb9a4471acce1005
Generate an extended executable mmap record that contains enough
additional information to uniquely identify shared mappings.
that contains various
bits of information such as where the ring-buffer head is.
.PP
-Before kernel 2.6.39, there is a bug that means you must allocate an mmap
+Before Linux 2.6.39, there is a bug that means you must allocate an mmap
ring buffer when sampling even if you do not plan to access it.
.PP
The structure of the first metadata mmap page is as follows:
.BR uname (2)
report a 2.6.40+ version number rather than a 3.x version number.
Added as a stopgap measure to support broken applications that
-could not handle the kernel version-numbering switch from 2.6.x to 3.x.
+could not handle the
+kernel version-numbering switch from Linux 2.6.x to Linux 3.x.
.TP
.BR WHOLE_SECONDS " (since Linux 1.2.0)"
No effect.
(and thus first in a stable kernel release with Linux 1.2.0);
library support was added in glibc 2.3.
.\" personality wrapper first appeared in glibc 1.90,
-.\" <sys/personality.h> was added later in 2.2.91.
+.\" <sys/personality.h> was added later in glibc 2.2.91.
.SH STANDARDS
.BR personality ()
is Linux-specific and should not be used in programs intended to
is not compiled into the kernel.
.SH VERSIONS
.BR pipe2 ()
-was added to Linux in version 2.6.27;
-glibc support is available starting with
-version 2.9.
+was added in Linux 2.6.27;
+glibc support is available starting with glibc 2.9.
.SH STANDARDS
.BR pipe ():
POSIX.1-2001, POSIX.1-2008.
.BR pkey_alloc ()
and
.BR pkey_free ()
-were added to Linux in kernel 4.9;
+were added in Linux 4.9;
library support was added in glibc 2.27.
.SH STANDARDS
The
.PP
The
.BR ppoll ()
-system call was added to Linux in kernel 2.6.16.
+system call was added in Linux 2.6.16.
The
.BR ppoll ()
library call was added in glibc 2.4.
.B POSIX_FADV_NOREUSE
The specified data will be accessed only once.
.IP
-In kernels before 2.6.18, \fBPOSIX_FADV_NOREUSE\fP had the
+Before Linux 2.6.18, \fBPOSIX_FADV_NOREUSE\fP had the
same semantics as \fBPOSIX_FADV_WILLNEED\fP.
-This was probably a bug; since kernel 2.6.18, this flag is a no-op.
+This was probably a bug; since Linux 2.6.18, this flag is a no-op.
.TP
.B POSIX_FADV_WILLNEED
The specified data will be accessed in the near future.
The specified file descriptor refers to a pipe or FIFO.
.RB ( ESPIPE
is the error specified by POSIX,
-but before kernel version 2.6.16,
+but before Linux 2.6.16,
.\" commit 87ba81dba431232548ce29d5d224115d0c2355ac
Linux returned
.B EINVAL
the underlying system call is called
.BR fadvise64 ().
.\" of fadvise64_64()
-Library support has been provided since glibc version 2.2,
+Library support has been provided since glibc 2.2,
via the wrapper function
.BR posix_fadvise ().
.PP
wrapper function,
which invokes the appropriate architecture-specific system call.
.SH BUGS
-In kernels before 2.6.6, if
+Before Linux 2.6.6, if
.I len
was specified as 0, then this was interpreted literally as "zero bytes",
rather than as meaning "all bytes through to the end of the file".
which determines whether core dumps are produced for the calling process
upon delivery of a signal whose default behavior is to produce a core dump.
.IP
-In kernels up to and including 2.6.12,
+Up to and including Linux 2.6.12,
.I arg2
must be either 0
.RB ( SUID_DUMP_DISABLE ,
process is not dumpable) or 1
.RB ( SUID_DUMP_USER ,
process is dumpable).
-Between kernels 2.6.13 and 2.6.17,
+Between Linux 2.6.13 and Linux 2.6.17,
.\" commit abf75a5033d4da7b8a7e92321d74021d1fcfb502
the value 2 was also permitted,
which caused any binary which normally would not be dumped
Return (as the function result) the current state of the calling
process's dumpable attribute.
.\" Since Linux 2.6.13, the dumpable flag can have the value 2,
-.\" but in 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
-.\" flags has a nonzero value. This was fixed in 2.6.14.
+.\" but in Linux 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
+.\" flags has a nonzero value. This was fixed in Linux 2.6.14.
.\" prctl PR_SET_ENDIAN
.TP
.BR PR_SET_ENDIAN " (since Linux 2.6.18, PowerPC only)"
is not currently implemented
(attempting to set this mode will yield the error
.BR EINVAL ).
-.\" PR_TIMING_TIMESTAMP doesn't do anything in 2.6.26-rc8,
+.\" PR_TIMING_TIMESTAMP doesn't do anything in Linux 2.6.26-rc8,
.\" and looking at the patch history, it appears
.\" that it never did anything.
.\" prctl PR_GET_TIMING
.BR pread ()
and
.BR pwrite ()
-system calls were added to Linux in
-version 2.1.60; the entries in the i386 system call table were added
-in 2.1.69.
+system calls were added in Linux 2.1.60;
+the entries in the i386 system call table were added in Linux 2.1.69.
C library support (including emulation using
.BR lseek (2)
on older kernels without the system calls) was added in glibc 2.1.
.\"
.SS C library/kernel differences
On Linux, the underlying system calls were renamed
-in kernel 2.6:
+in Linux 2.6:
.BR pread ()
became
.BR pread64 (),
exists.
.SH VERSIONS
These system calls were added in Linux 3.2.
-Support is provided in glibc since version 2.15.
+Support is provided since glibc 2.15.
.SH STANDARDS
These system calls are nonstandard Linux extensions.
.SH NOTES
.IR pid ,
making it a tracee of the calling process.
.\" No longer true (removed by Denys Vlasenko, 2011, who remarks:
-.\" "I think it isn't true in non-ancient 2.4 and in 2.6/3.x.
+.\" "I think it isn't true in non-ancient 2.4 and in Linux 2.6/3.x.
.\" Basically, it's not true for any Linux in practical use.
.\" ; the behavior of the tracee is as if it had done a
.\" .BR PTRACE_TRACEME .
or
.IR (SIGTRAP|0x80) .
.\"
-.SS PTRACE_EVENT_SECCOMP stops (Linux 3.5 to 4.7)
+.SS PTRACE_EVENT_SECCOMP stops (Linux 3.5 to Linux 4.7)
The behavior of
.B PTRACE_EVENT_SECCOMP
stops and their interaction with other kinds
When one thread in a multithreaded process calls
.BR execve (2),
the kernel destroys all other threads in the process,
-.\" In kernel 3.1 sources, see fs/exec.c::de_thread()
+.\" In Linux 3.1 sources, see fs/exec.c::de_thread()
and resets the thread ID of the execing thread to the
thread group ID (process ID).
(Or, to put things another way, when a multithreaded process does an
cannot send signals to or those running
set-user-ID/set-group-ID programs, for obvious reasons.
Alternatively, the process may already be being traced,
-or (on kernels before 2.6.26) be
+or (before Linux 2.6.26) be
.BR init (1)
(PID 1).
.TP
or
.IR "(void\ *)\ 0".
.PP
-In Linux kernels before 2.6.26,
+Before Linux 2.6.26,
.\" See commit 00cd5c37afd5f431ac186dd131705048c0a11fdb
.BR init (1),
the process with PID 1, may not be traced.
The glibc wrapper function provides the API given in DESCRIPTION above,
with the result being returned via the function return value.
.SH BUGS
-On hosts with 2.6 kernel headers,
+On hosts with Linux 2.6 kernel headers,
.B PTRACE_SETOPTIONS
-is declared with a different value than the one for 2.4.
-This leads to applications compiled with 2.6 kernel
-headers failing when run on 2.4 kernels.
+is declared with a different value than the one for Linux 2.4.
+This leads to applications compiled with Linux 2.6 kernel
+headers failing when run on Linux 2.4.
This can be worked around by redefining
.B PTRACE_SETOPTIONS
to
.fi
.SH DESCRIPTION
.IR Note :
-This system call is present only in kernels before Linux 2.6.
+This system call is present only before Linux 2.6.
.PP
.BR query_module ()
requests information from the kernel about loadable modules.
.B ENOSYS
.BR query_module ()
is not supported in this version of the kernel
-(e.g., the kernel is version 2.6 or later).
+(e.g., Linux 2.6 or later).
.SH VERSIONS
-This system call is present on Linux only up until kernel 2.4;
+This system call is present only up until Linux 2.4;
it was removed in Linux 2.6.
.\" Removed in Linux 2.5.48
.SH STANDARDS
/* uint64_t is an unsigned 64\-bit integer;
uint32_t is an unsigned 32\-bit integer */
-struct dqinfo { /* Defined since kernel 2.4.22 */
+struct dqinfo { /* Defined since Linux 2.4.22 */
uint64_t dqi_bgrace; /* Time before block soft limit
becomes hard limit */
uint64_t dqi_igrace; /* Time before inode soft limit
.BR readv (2).
And among the effects that should be atomic across threads (and processes)
are updates of the file offset.
-However, on Linux before version 3.14,
+However, before Linux 3.14,
this was not the case: if two processes that share
an open file description (see
.BR open (2))
The
.BR readahead ()
system call appeared in Linux 2.4.13;
-glibc support has been provided since version 2.3.
+glibc support has been provided since glibc 2.3.
.SH STANDARDS
The
.BR readahead ()
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR readlinkat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR readlink ():
4.4BSD
.BR readlinkat ():
POSIX.1-2008.
.SH NOTES
-In versions of glibc up to and including glibc 2.4, the return type of
+Up to and including glibc 2.4, the return type of
.BR readlink ()
was declared as
.IR int .
.PP
The need for this extra effort in the glibc wrapper functions
went away with Linux 2.2 and later.
-However, glibc continued to provide this behavior until version 2.10.
-Starting with glibc version 2.9,
+However, glibc continued to provide this behavior until glibc 2.10.
+Starting with glibc 2.9,
the wrapper functions provide this behavior only if the library detects
-that the system is running a Linux kernel older than version 2.6.18
+that the system is running a Linux kernel older than Linux 2.6.18
(an arbitrarily selected kernel version).
And since glibc 2.20
-(which requires a minimum Linux kernel version of 2.6.32),
+(which requires a minimum of Linux 2.6.32),
the glibc wrapper functions always just directly invoke the system calls.
.SH BUGS
-Linux 5.9 and 5.10 have a bug where
+Linux 5.9 and Linux 5.10 have a bug where
.BR preadv2 ()
with the
.B RWF_NOWAIT
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
-.RB "/* Since kernel version 2.1.30 there are symbolic names " LINUX_REBOOT_*
+.RB "/* Since Linux 2.1.30 there are symbolic names " LINUX_REBOOT_*
for the constants and a fourth argument to the call: */
.PP
.BR "#include <linux/reboot.h> " \
equals
.B LINUX_REBOOT_MAGIC2
(that is, 672274793).
-However, since 2.1.17 also
+However, since Linux 2.1.17 also
.B LINUX_REBOOT_MAGIC2A
(that is, 85072278)
-and since 2.1.97 also
+and since Linux 2.1.97 also
.B LINUX_REBOOT_MAGIC2B
(that is, 369367448)
-and since 2.5.71 also
+and since Linux 2.5.71 also
.B LINUX_REBOOT_MAGIC2C
(that is, 537993216)
are permitted as values for
The
.BR recvmmsg ()
system call was added in Linux 2.6.33.
-Support in glibc was added in version 2.12.
+Support in glibc was added in glibc 2.12.
.SH STANDARDS
.BR recvmmsg ()
is Linux-specific.
The
.BR remap_file_pages ()
system call appeared in Linux 2.5.46;
-glibc support was added in version 2.3.3.
+glibc support was added in glibc 2.3.3.
.SH STANDARDS
The
.BR remap_file_pages ()
.BR stat (2)
can also occur.
.SH VERSIONS
-These system calls have been available on Linux since kernel 2.4;
-glibc support is provided since version 2.3.
+These system calls have been available since Linux 2.4;
+glibc support is provided since glibc 2.3.
.SH STANDARDS
These system calls are Linux-specific.
.\" .SH AUTHORS
.\" tmpfs: commit 3b69ff51d087d265aa4af3a532fc4f20bf33e718
.\" cifs: commit 7c33d5972ce382bcc506d16235f1e9b7d22cbef8
.\"
-.\" gfs2 in 4.2?
+.\" gfs2 in Linux 4.2?
.IP \(bu
Support for many other filesystems was added in Linux 4.9, including
ext2, minix, reiserfs, jfs, vfat, and bpf.
capability.
.SH VERSIONS
.BR renameat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.PP
.BR renameat2 ()
-was added to Linux in kernel 3.15; library support was added in glibc 2.28.
+was added in Linux 3.15; library support was added in glibc 2.28.
.SH STANDARDS
.BR rename ():
4.3BSD, C89, C99, POSIX.1-2001, POSIX.1-2008.
.SH VERSIONS
The
.BR rt_sigqueueinfo ()
-system call was added to Linux in version 2.2.
+system call was added in Linux 2.2.
The
.BR rt_tgsigqueueinfo ()
-system call was added to Linux in version 2.6.31.
+system call was added in Linux 2.6.31.
.SH STANDARDS
These system calls are Linux-specific.
.SH NOTES
.TP
.B EINVAL
.RB ( sched_getaffinity ()
-and, in kernels before 2.6.9,
+and, before Linux 2.6.9,
.BR sched_setaffinity ())
.I cpusetsize
is smaller than the size of the affinity mask used by the kernel.
.B E2BIG
for the case described in ERRORS.
.PP
-In Linux versions up to 5.3,
+Up to Linux 5.3,
.BR sched_getattr ()
failed with the error
.B EFBIG
.\" A related hole, using PTRACE_SYSCALL instead of SECCOMP_RET_TRACE, was
.\" changed in arch-specific commits, e.g. 93e35efb8de4 for X86 and
.\" 0f3912fd934c for ARM.
-Before kernel 4.8, the seccomp check will not be run again after the tracer is
+Before Linux 4.8, the seccomp check will not be run again after the tracer is
notified.
(This means that, on older kernels, seccomp-based sandboxes
.B "must not"
.IR "sizeof(struct\~seccomp_data)" .
.TP
.B EINVAL
-.\" See kernel/seccomp.c::seccomp_may_assign_mode() in 3.18 sources
+.\" See kernel/seccomp.c::seccomp_may_assign_mode() in Linux 3.18 sources
A secure computing mode has already been set, and
.I operation
differs from the existing setting.
Out of memory.
.TP
.B ENOMEM
-.\" ENOMEM in kernel/seccomp.c::seccomp_attach_filter() in 3.18 sources
+.\" ENOMEM in kernel/seccomp.c::seccomp_attach_filter() in Linux 3.18 sources
The total length of all filter programs attached
to the calling thread would exceed
.B MAX_INSNS_PER_PATH
.\" Modified Thu Feb 9 22:32:09 CET 2001 by bert hubert <ahu@ds9a.nl>, aeb
.\" Modified Mon Nov 11 14:35:00 PST 2002 by Ben Woodard <ben@zork.net>
.\" 2005-03-11, mtk, modified pselect() text (it is now a system
-.\" call in 2.6.16.
+.\" call in Linux 2.6.16.
.\"
.TH select 2 (date) "Linux man-pages (unreleased)"
.SH NAME
Unable to allocate memory for internal tables.
.SH VERSIONS
.BR pselect ()
-was added to Linux in kernel 2.6.16.
+was added in Linux 2.6.16.
Prior to this,
.BR pselect ()
was emulated in glibc (but see BUGS).
.I sigmask
argument.
.PP
-In glibc versions 2.1 to 2.2.1,
+From glibc 2.1 to glibc 2.2.1,
one must define
.B _GNU_SOURCE
in order to obtain the declaration of
of the sets should result in the error
.BR EBADF .
.PP
-Starting with version 2.1, glibc provided an emulation of
+Starting with glibc 2.1, glibc provided an emulation of
.BR pselect ()
that was implemented using
.BR sigprocmask (2)
.TP
.B SEMMNI
System-wide limit on the number of semaphore sets.
-On Linux systems before version 3.19,
+Before Linux 3.19,
the default value for this limit was 128.
Since Linux 3.19,
.\" commit e843e7d2c88b7db107a86bd2c7145dc715c058f4
.TP
.B SEMMSL
Maximum number of semaphores per semaphore ID.
-On Linux systems before version 3.19,
+Before Linux 3.19,
the default value for this limit was 250.
Since Linux 3.19,
.\" commit e843e7d2c88b7db107a86bd2c7145dc715c058f4
.SH VERSIONS
.BR semtimedop ()
first appeared in Linux 2.5.52,
-and was subsequently backported into kernel 2.4.22.
+and was subsequently backported into Linux 2.4.22.
Glibc support for
.BR semtimedop ()
-first appeared in version 2.3.3.
+first appeared in Linux 2.3.3.
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, SVr4.
.\" SVr4 documents additional error conditions EINVAL, EFBIG, ENOSPC.
as far as possible (i.e., to zero) and allowing process
termination to proceed immediately.
.PP
-In kernels 2.6.x, x <= 10, there is a bug that in some circumstances
+In Linux 2.6.x, x <= 10, there is a bug that in some circumstances
prevents a thread that is waiting for a semaphore value to become
zero from being woken up when the value does actually become zero.
-This bug is fixed in kernel 2.6.11.
+This bug is fixed in Linux 2.6.11.
.\" The bug report:
.\" http://marc.theaimsgroup.com/?l=linux-kernel&m=110260821123863&w=2
.\" the fix:
.I flags
argument is the bitwise OR
of zero or more of the following flags.
-.\" FIXME . ? document MSG_PROXY (which went away in 2.3.15)
+.\" FIXME . ? document MSG_PROXY (which went away in Linux 2.3.15)
.TP
.BR MSG_CONFIRM " (since Linux 2.3.15)"
Tell the link layer that forward progress happened: you got a successful
operations
(i.e., it cannot be a socket).
.PP
-In Linux kernels before 2.6.33,
+Before Linux 2.6.33,
.I out_fd
must refer to a socket.
Since Linux 2.6.33 it can be any file.
The
.BR sendmmsg ()
system call was added in Linux 3.0.
-Support in glibc was added in version 2.14.
+Support in glibc was added in Linux 2.14.
.SH STANDARDS
.BR sendmmsg ()
is Linux-specific.
.SH VERSIONS
The
.BR set_mempolicy ()
-system call was added to the Linux kernel in version 2.6.7.
+system call was added in Linux 2.6.7.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
On both success and failure,
this call returns the previous filesystem group ID of the caller.
.SH VERSIONS
-This system call is present in Linux since version 1.2.
+This system call is present since Linux 1.2.
.\" This system call is present since Linux 1.1.44
.\" and in libc since libc 4.7.6.
.SH STANDARDS
On both success and failure,
this call returns the previous filesystem user ID of the caller.
.SH VERSIONS
-This system call is present in Linux since version 1.2.
+This system call is present since Linux 1.2.
.\" This system call is present since Linux 1.1.44
.\" and in libc since libc 4.7.6.
.SH STANDARDS
.SH VERSIONS
The
.BR setns ()
-system call first appeared in Linux in kernel 3.0;
-library support was added to glibc in version 2.14.
+system call first appeared in Linux 3.0;
+library support was added in glibc 2.14.
.SH STANDARDS
The
.BR setns ()
.SH NOTES
Under HP-UX and FreeBSD, the prototype is found in
.IR <unistd.h> .
-Under Linux, the prototype is provided by glibc since version 2.3.2.
+Under Linux, the prototype is provided since glibc 2.3.2.
.PP
The original Linux
.BR setresuid ()
.I value
exceeds a filesystem-specific limit.
.SH VERSIONS
-These system calls have been available on Linux since kernel 2.4;
-glibc support is provided since version 2.3.
+These system calls have been available since Linux 2.4;
+glibc support is provided since glibc 2.3.
.SH STANDARDS
These system calls are Linux-specific.
.\" .SH AUTHORS
.\" Updated shmid_ds structure definitions
.\" Added information on SHM_DEST and SHM_LOCKED flags
.\" Noted that CAP_IPC_LOCK is not required for SHM_UNLOCK
-.\" since kernel 2.6.9
+.\" since Linux 2.6.9
.\" Modified, 2004-11-25, mtk, notes on 2.6.9 RLIMIT_MEMLOCK changes
.\" 2005-04-25, mtk -- noted aberrant Linux behavior w.r.t. new
.\" attaches to a segment that has already been marked for deletion.
.BR SHM_UNLOCK " (Linux-specific)"
Unlock the segment, allowing it to be swapped out.
.PP
-In kernels before 2.6.10, only a privileged process
+Before Linux 2.6.10, only a privileged process
could employ
.B SHM_LOCK
and
.BR SHM_UNLOCK .
-Since kernel 2.6.10, an unprivileged process can employ these operations
+Since Linux 2.6.10, an unprivileged process can employ these operations
if its effective UID matches the owner or creator UID of the segment, and
(for
.BR SHM_LOCK )
.B RLIMIT_MEMLOCK
resource limit (see
.BR setrlimit (2)).
-.\" There was some weirdness in 2.6.9: SHM_LOCK and SHM_UNLOCK could
+.\" There was some weirdness in Linux 2.6.9: SHM_LOCK and SHM_UNLOCK could
.\" be applied to a segment, regardless of ownership of the segment.
.\" This was a botch-up in the move to RLIMIT_MEMLOCK, and was fixed
-.\" in 2.6.10. MTK, May 2005
+.\" in Linux 2.6.10. MTK, May 2005
.SH RETURN VALUE
A successful
.B IPC_INFO
referred to an array slot that is currently unused.
.TP
.B ENOMEM
-(In kernels since 2.6.9),
+(Since Linux 2.6.9),
.B SHM_LOCK
was specified and the size of the to-be-locked segment would mean
that the total bytes in locked shared memory segments would exceed
.B CAP_SYS_ADMIN
capability).
.IP
-Or (in kernels before 2.6.9),
+Or (before Linux 2.6.9),
.B SHM_LOCK
or
.B SHM_UNLOCK
number of shared memory segments
.RB ( SHMSEG ).
.SS Linux notes
-Until version 2.3.30, Linux would return
+Until Linux 2.3.30, Linux would return
.B EIDRM
for a
.BR shmget ()
There is no shared memory segment attached at
.IR shmaddr ;
or,
-.\" The following since 2.6.17-rc1:
+.\" The following since Linux 2.6.17-rc1:
.I shmaddr
is not aligned on a page boundary.
.SH STANDARDS
.BR getrusage (2)
and
.BR times (2)).
-In kernels up to 2.6, and since 2.6.27, these fields report
+Up to Linux 2.6, and since Linux 2.6.27, these fields report
CPU time in units of
.IR sysconf(_SC_CLK_TCK) .
-In 2.6 kernels before 2.6.27,
+In Linux 2.6 kernels before Linux 2.6.27,
a bug meant that these fields reported time in units
of the (configurable) system jiffy (see
.BR time (7)).
.\" FIXME .
.\" When si_utime and si_stime where originally implemented, the
.\" measurement unit was HZ, which was the same as clock ticks
-.\" (sysconf(_SC_CLK_TCK)). In 2.6, HZ became configurable, and
+.\" (sysconf(_SC_CLK_TCK)). In Linux 2.6, HZ became configurable, and
.\" was *still* used as the unit to return the info these fields,
.\" with the result that the field values depended on the
.\" configured HZ. Of course, the should have been measured in
.\" USER_HZ instead, so that sysconf(_SC_CLK_TCK) could be used to
.\" convert to seconds. I have a queued patch to fix this:
.\" http://thread.gmane.org/gmane.linux.kernel/698061/ .
-.\" This patch made it into 2.6.27.
+.\" This patch made it into Linux 2.6.27.
.\" But note that these fields still don't return the times of
.\" waited-for children (as is done by getrusage() and times()
.\" and wait4()). Solaris 8 does include child times.
.B SI_SIGIO
Queued
.B SIGIO
-(only in kernels up to Linux 2.2; from Linux 2.4 onward
+(only up to Linux 2.2; from Linux 2.4 onward
.BR SIGIO / SIGPOLL
fills in
.I si_code
.BR tkill (2)
or
.BR tgkill (2).
-.\" SI_DETHREAD is defined in 2.6.9 sources, but isn't implemented
+.\" SI_DETHREAD is defined in Linux 2.6.9 sources, but isn't implemented
.\" It appears to have been an idea that was tried during 2.5.6
-.\" through to 2.5.24 and then was backed out.
+.\" through to Linux 2.5.24 and then was backed out.
.RE
.PP
The following values can be placed in
.I siginfo_t
that are relevant for that signal.
.PP
-In kernels up to and including 2.6.13, specifying
+Up to and including Linux 2.6.13, specifying
.B SA_NODEFER
in
.I sa_flags
prevents not only the delivered signal from being masked during
execution of the handler, but also the signals specified in
.IR sa_mask .
-This bug was fixed in kernel 2.6.14.
+This bug was fixed in Linux 2.6.14.
.\" commit 69be8f189653cd81aae5a74e26615b12871bb72e
.SH EXAMPLES
See
.BR open (2)
for reasons why this may be useful.
.PP
-In Linux up to version 2.6.26, the
+Up to Linux 2.6.26, the
.I flags
argument is unused, and must be specified as zero.
.PP
There was insufficient memory to create a new signalfd file descriptor.
.SH VERSIONS
.BR signalfd ()
-is available on Linux since kernel 2.6.22.
-Working support is provided in glibc since version 2.8.
+is available since Linux 2.6.22.
+Working support is provided since glibc 2.8.
.\" signalfd() is in glibc 2.7, but reportedly does not build
The
.BR signalfd4 ()
-system call (see NOTES) is available on Linux since kernel 2.6.27.
+system call (see NOTES) is available since Linux 2.6.27.
.SH STANDARDS
.BR signalfd ()
and
.BR signalfd4 ()
where it is available.
.SH BUGS
-In kernels before 2.6.25, the
+Before Linux 2.6.25, the
.I ssi_ptr
and
.I ssi_int
fields are not filled in with the data accompanying a signal sent by
.BR sigqueue (3).
-.\" The fix also was put into 2.6.24.5
+.\" The fix also was put into Linux 2.6.24.5
.SH EXAMPLES
The program below accepts the signals
.B SIGINT
when the kernel provides it.
.\"
.SH BUGS
-In versions of glibc up to and including 2.2.1,
+Up to and including glibc 2.2.1,
there is a bug in the wrapper function for
.BR sigpending ()
which means that information about pending real-time signals
it creates a new frame on the user-space stack where it
saves various pieces of process context
(processor status word, registers, signal mask, and signal stack settings).
-.\" See arch/x86/kernel/signal.c::__setup_frame() [in 3.17 source code]
+.\" See arch/x86/kernel/signal.c::__setup_frame() [in Linux 3.17 source code]
.PP
The kernel also arranges that, during the transition back to user mode,
the signal handler is called, and that, upon return from the handler,
.TP
.B EINVAL
The target file is opened in append mode.
-.\" The append-mode error is given since 2.6.27; in earlier kernels,
+.\" The append-mode error is given since Linux 2.6.27; in earlier kernels,
.\" splice() in append mode was broken
.TP
.B EINVAL
The
.BR splice ()
system call first appeared in Linux 2.6.17;
-library support was added to glibc in version 2.5.
+library support was added in glibc 2.5.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
.SH VERSIONS
The
.BR spu_create ()
-system call was added to Linux in kernel 2.6.16.
+system call was added in Linux 2.6.16.
.SH STANDARDS
This call is Linux-specific and implemented only on the PowerPC
architecture.
.SH VERSIONS
The
.BR spu_run ()
-system call was added to Linux in kernel 2.6.16.
+system call was added in Linux 2.6.16.
.SH STANDARDS
This call is Linux-specific and implemented only by the PowerPC
architecture.
bytes.
.SH VERSIONS
.BR fstatat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR stat (),
.BR fstat (),
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR statx ()
-was added to Linux in kernel 4.11; library support was added in glibc 2.28.
+was added in Linux 4.11; library support was added in glibc 2.28.
.SH STANDARDS
.BR statx ()
is Linux-specific.
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Various pieces of text taken from the kernel source and the commentary
-.\" in kernel commit fa28237cfcc5827553044cbd6ee52e33692b0faa
+.\" in Linux commit fa28237cfcc5827553044cbd6ee52e33692b0faa
.\" both written by Paul Mackerras <paulus@samba.org>
.\"
.TH subpage_prot 2 (date) "Linux man-pages (unreleased)"
There is an upper limit on the number of swap files that may be used,
defined by the kernel constant
.BR MAX_SWAPFILES .
-Before kernel 2.4.10,
+Before Linux 2.4.10,
.B MAX_SWAPFILES
has the value 8;
-since kernel 2.4.10, it has the value 32.
-Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)
+since Linux 2.4.10, it has the value 32.
+Since Linux 2.6.18, the limit is decreased by 2 (thus: 30)
if the kernel is built with the
.B CONFIG_MIGRATION
option
.BR mbind (2)
and
.BR migrate_pages (2)).
-Since kernel 2.6.32, the limit is further decreased by 1
+Since Linux 2.6.32, the limit is further decreased by 1
if the kernel is built with the
.B CONFIG_MEMORY_FAILURE
option.
-Since kernel 5.14, the limit is further decreased by 4
+Since Linux 5.14, the limit is further decreased by 4
if the kernel is built with the
.B CONFIG_DEVICE_PRIVATE
option.
.PP
-Discard of swap pages was introduced in kernel 2.6.29,
+Discard of swap pages was introduced in Linux 2.6.29,
then made conditional
on the
.B SWAP_FLAG_DISCARD
-flag in kernel 2.6.36,
+flag in Linux 2.6.36,
.\" To be precise: 2.6.35.5
which still discards the
entire swap area when
is on a read-only filesystem.
.SH VERSIONS
.BR symlinkat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR symlink ():
SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
.SH VERSIONS
.BR syncfs ()
first appeared in Linux 2.6.39;
-library support was added to glibc in version 2.14.
+library support was added in glibc 2.14.
.SH STANDARDS
.BR sync ():
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
called on every file in
the system or filesystem respectively.
.PP
-In mainline kernel versions prior to 5.8,
+In mainline kernel versions prior to Linux 5.8,
.BR syncfs ()
will fail only when passed a bad file descriptor
.RB ( EBADF ).
.BR syncfs ()
call.
.SH BUGS
-Before version 1.3.20 Linux did not wait for I/O to complete
+Before Linux 1.3.20, Linux did not wait for I/O to complete
before returning.
.SH SEE ALSO
.BR sync (1),
a directory.
.SH VERSIONS
.BR sync_file_range ()
-appeared on Linux in kernel 2.6.17.
+appeared in Linux 2.6.17.
.SH STANDARDS
This system call is Linux-specific, and should be avoided
in portable programs.
Note the following points:
.IP \(bu 3
Where no kernel version is indicated,
-the system call appeared in kernel 1.0 or earlier.
+the system call appeared in Linux 1.0 or earlier.
.IP \(bu
Where a system call is marked "1.2"
-this means the system call probably appeared in a 1.1.x kernel version,
+this means the system call probably appeared in a Linux 1.1.x kernel version,
and first appeared in a stable kernel with 1.2.
(Development of the 1.2 kernel was initiated from a branch of kernel
1.0.6 via the 1.1.x unstable kernel series.)
.IP \(bu
Where a system call is marked "2.0"
-this means the system call probably appeared in a 1.3.x kernel version,
-and first appeared in a stable kernel with 2.0.
-(Development of the 2.0 kernel was initiated from a branch of kernel
-1.2.x, somewhere around 1.2.10,
-via the 1.3.x unstable kernel series.)
-.\" Was kernel 2.0 started from a branch of 1.2.10?
+this means the system call probably appeared in a Linux 1.3.x kernel version,
+and first appeared in a stable kernel with Linux 2.0.
+(Development of the Linux 2.0 kernel was initiated from a branch of
+Linux 1.2.x, somewhere around Linux 1.2.10,
+via the Linux 1.3.x unstable kernel series.)
+.\" Was Linux 2.0 started from a branch of Linux 1.2.10?
.\" At least from the timestamps of the tarballs of
-.\" of 1.2.10 and 1.3.0, that's how it looks, but in
+.\" of Linux 1.2.10 and Linux 1.3.0, that's how it looks, but in
.\" fact the diff doesn't seem very clear, the
-.\" 1.3.0 .tar.bz is much bigger (2.0 MB) than the
-.\" 1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
-.\" timestamps of some files in 1.3.0 seem to be older
-.\" than those in 1.2.10. All of this suggests
+.\" Linux 1.3.0 .tar.bz is much bigger (2.0 MB) than the
+.\" Linux 1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
+.\" timestamps of some files in Linux 1.3.0 seem to be older
+.\" than those in Linux 1.2.10. All of this suggests
.\" that there might not have been a clean branch point.
.IP \(bu
Where a system call is marked "2.2"
-this means the system call probably appeared in a 2.1.x kernel version,
-and first appeared in a stable kernel with 2.2.0.
-(Development of the 2.2 kernel was initiated from a branch of kernel
-2.0.21 via the 2.1.x unstable kernel series.)
+this means the system call probably appeared in a Linux 2.1.x kernel version,
+and first appeared in a stable kernel with Linux 2.2.0.
+(Development of the Linux 2.2 kernel was initiated from a branch of kernel
+Linux 2.0.21 via the Linux 2.1.x unstable kernel series.)
.IP \(bu
Where a system call is marked "2.4"
-this means the system call probably appeared in a 2.3.x kernel version,
-and first appeared in a stable kernel with 2.4.0.
-(Development of the 2.4 kernel was initiated from a branch of
-kernel 2.2.8 via the 2.3.x unstable kernel series.)
+this means the system call probably appeared in a Linux 2.3.x kernel version,
+and first appeared in a stable kernel with Linux 2.4.0.
+(Development of the Linux 2.4 kernel was initiated from a branch of
+Linux 2.2.8 via the Linux 2.3.x unstable kernel series.)
.IP \(bu
Where a system call is marked "2.6"
-this means the system call probably appeared in a 2.5.x kernel version,
-and first appeared in a stable kernel with 2.6.0.
-(Development of kernel 2.6 was initiated from a branch
-of kernel 2.4.15 via the 2.5.x unstable kernel series.)
+this means the system call probably appeared in a Linux 2.5.x kernel version,
+and first appeared in a stable kernel with Linux 2.6.0.
+(Development of Linux 2.6 was initiated from a branch
+of Linux 2.4.15 via the Linux 2.5.x unstable kernel series.)
.IP \(bu
-Starting with kernel 2.6.0, the development model changed,
-and new system calls may appear in each 2.6.x release.
+Starting with Linux 2.6.0, the development model changed,
+and new system calls may appear in each Linux 2.6.x release.
In this case, the exact version number where the system call appeared
is shown.
-This convention continues with the 3.x kernel series,
-which followed on from kernel 2.6.39; and the 4.x kernel series,
-which followed on from kernel 3.19; and the 5.x kernel series,
-which followed on from kernel 4.20.
+This convention continues with the Linux 3.x kernel series,
+which followed on from Linux 2.6.39; and the Linux 4.x kernel series,
+which followed on from Linux 3.19; and the Linux 5.x kernel series,
+which followed on from Linux 4.20.
.IP \(bu
In some cases, a system call was added to a stable kernel
series after it branched from the previous stable kernel
series, and then backported into the earlier stable kernel series.
-For example some system calls that appeared in 2.6.x were also backported
-into a 2.4.x release after 2.4.15.
+For example some system calls that appeared in Linux 2.6.x were also backported
+into a Linux 2.4.x release after Linux 2.4.15.
When this is so, the version where the system call appeared
in both of the major kernel series is listed.
.PP
-The list of system calls that are available as at kernel 5.14
+The list of system calls that are available as at Linux 5.14
(or in a few cases only on older kernels) is as follows:
.\"
.\" Looking at scripts/checksyscalls.sh in the kernel source is
exist as library routines.
The slot for
.BR phys (2)
-is in use since kernel 2.1.116 for
+is in use since Linux 2.1.116 for
.BR umount (2);
.BR phys (2)
will never be implemented.
.PP
There was briefly
.BR set_zone_reclaim (2),
-added in Linux 2.6.13, and removed in 2.6.16;
+added in Linux 2.6.13, and removed in Linux 2.6.16;
this system call was never available to user space.
.\"
.SS System calls on removed ports
.IP \(bu
The
.I rt_sig*
-calls were added in kernel 2.2 to support the addition
+calls were added in Linux 2.2 to support the addition
of real-time signals (see
.BR signal (7)).
These system calls supersede the older system calls of the same
.\" and
.\" .IR sys_sysctl ().
.\"
-.\" In kernel 2.1.81,
+.\" In Linux 2.1.81,
.\" .BR lchown (2)
.\" and
.\" .BR chown (2)
was not found.
.SH VERSIONS
This system call first appeared in Linux 1.3.57.
-It was removed in Linux 5.5; glibc support was removed in version 2.32.
+It was removed in Linux 5.5; glibc support was removed in glibc 2.32.
.SH STANDARDS
This call is Linux-specific, and should not be used in programs
intended to be portable.
In early kernels,
.B LOG_BUF_LEN
had the value 4096;
-from kernel 1.3.54, it was 8192;
-from kernel 2.1.113, it was 16384;
-since kernel 2.4.23/2.6, the value is a kernel configuration option
+from Linux 1.3.54, it was 8192;
+from Linux 2.1.113, it was 16384;
+since Linux 2.4.23/2.6, the value is a kernel configuration option
.RB ( CONFIG_LOG_BUF_SHIFT ,
default value dependent on the architecture).
.\" Under "General setup" ==> "Kernel log buffer size"
-.\" For 2.6, precisely the option seems to have appeared in 2.5.55.
+.\" For Linux 2.6, precisely the option seems to have appeared in Linux 2.5.55.
Since Linux 2.6.6, the size can be queried with command type 10 (see below).
.SS Commands
The \fItype\fP argument determines the action taken by this function.
arguments are ignored.
.PP
All commands except 3 and 10 require privilege.
-In Linux kernels before 2.6.37,
+In Linux kernels before Linux 2.6.37,
command types 3 and 10 are allowed to unprivileged processes;
since Linux 2.6.37,
these commands are allowed to unprivileged processes only if
The
.BR tee ()
system call first appeared in Linux 2.6.17;
-library support was added to glibc in version 2.5.
+library support was added in glibc 2.5.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
from some unspecified point in the past that does not change
after system startup.
.\" Note: the CLOCK_MONOTONIC_RAW clock added for clock_gettime()
-.\" in 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009
+.\" in Linux 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009
.TP
.BR CLOCK_PROCESS_CPUTIME_ID " (since Linux 2.6.12)"
A clock that measures (user and system) CPU time consumed by
.BR CLOCK_THREAD_CPUTIME_ID " (since Linux 2.6.12)"
A clock that measures (user and system) CPU time consumed by
the calling thread.
-.\" The CLOCK_MONOTONIC_RAW that was added in 2.6.28 can't be used
+.\" The CLOCK_MONOTONIC_RAW that was added in Linux 2.6.28 can't be used
.\" to create a timer -- mtk, Feb 2009
.TP
.BR CLOCK_BOOTTIME " (Since Linux 2.6.39)"
glibc provided an incomplete user-space implementation
.RB ( CLOCK_REALTIME
timers only) using POSIX threads,
-and in glibc versions before 2.17,
+and before glibc 2.17,
.\" glibc commit 93a78ac437ba44f493333d7e2a4b0249839ce460
the implementation falls back to this technique on systems
running pre-2.6 Linux kernels.
falls outside the range zero to 999,999,999).
.TP
.B EINVAL
-.\" This case only checked since 2.6.29, and 2.2.2[78].some-stable-version.
+.\" This case only checked since Linux 2.6.29, and Linux 2.2.2[78].some-stable-version.
.\" In older kernel versions, no check was made for invalid flags.
.I flags
is invalid.
.SH VERSIONS
-These system calls are available on Linux since kernel 2.6.25.
-Library support is provided by glibc since version 2.8.
+These system calls are available since Linux 2.6.25.
+Library support is provided since glibc 2.8.
.SH STANDARDS
These system calls are Linux-specific.
.SH NOTES
.\" Modified 13 Jun 02, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added note on nonstandard behavior when SIGCHLD is ignored.
.\" Modified 2004-11-16, mtk, Noted that the nonconformance when
-.\" SIGCHLD is being ignored is fixed in 2.6.9; other minor changes
-.\" Modified 2004-12-08, mtk, in 2.6 times() return value changed
+.\" SIGCHLD is being ignored is fixed in Linux 2.6.9; other minor changes
+.\" Modified 2004-12-08, mtk, in Linux 2.6 times() return value changed
.\" 2005-04-13, mtk
.\" Added notes on nonstandard behavior: Linux allows 'buf' to
.\" be NULL, but POSIX.1 doesn't specify this and it's nonportable.
is mentioned as obsolescent.
It is obsolete now.
.PP
-In Linux kernel versions before 2.6.9,
+Before Linux 2.6.9,
if the disposition of
.B SIGCHLD
is set to
.PP
Library support for
.BR tgkill ()
-was added to glibc in version 2.30.
+was added in glibc 2.30.
.SH STANDARDS
.BR tkill ()
and
.BR MNT_DETACH .
.TP
.BR UMOUNT_NOFOLLOW " (since Linux 2.6.34)"
-.\" Later added to 2.6.33-stable
+.\" Later added to Linux 2.6.33-stable
Don't dereference
.I target
if it is a symbolic link.
and
.B MNT_EXPIRE
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=10092
-are available in glibc since version 2.11.
+are available since glibc 2.11.
.SH STANDARDS
These functions are Linux-specific and should not be used in
programs intended to be portable.
.B EISDIR
.I pathname
refers to a directory.
-(This is the non-POSIX value returned by Linux since 2.1.132.)
+(This is the non-POSIX value returned since Linux 2.1.132.)
.TP
.B ELOOP
Too many symbolic links were encountered in translating
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR unlinkat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR unlink ():
SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
.SH VERSIONS
The
.BR unshare ()
-system call was added to Linux in kernel 2.6.16.
+system call was added in Linux 2.6.16.
.SH STANDARDS
The
.BR unshare ()
.SH NOTES
This obsolete system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
-glibc versions before 2.23 did export an ABI for this system call.
+glibc before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
.PP
Userfaultfd supports three modes of registration:
.TP
-.BR UFFDIO_REGISTER_MODE_MISSING " (since 4.10)"
+.BR UFFDIO_REGISTER_MODE_MISSING " (since Linux 4.10)"
When registered with
.B UFFDIO_REGISTER_MODE_MISSING
mode, user-space will receive a page-fault notification
.B UFFDIO_ZEROPAGE
ioctl.
.TP
-.BR UFFDIO_REGISTER_MODE_MINOR " (since 5.13)"
+.BR UFFDIO_REGISTER_MODE_MINOR " (since Linux 5.13)"
When registered with
.B UFFDIO_REGISTER_MODE_MINOR
mode, user-space will receive a page-fault notification
.B UFFDIO_CONTINUE
ioctl.
.TP
-.BR UFFDIO_REGISTER_MODE_WP " (since 5.7)"
+.BR UFFDIO_REGISTER_MODE_WP " (since Linux 5.7)"
When registered with
.B UFFDIO_REGISTER_MODE_WP
mode, user-space will receive a page-fault notification
.\" fault events in multi-threaded monitor.
.\" .PP
.\" FIXME elaborate about non-cooperating mode, describe its limitations
-.\" for kernels before 4.11, features added in 4.11
-.\" and limitations remaining in 4.11
+.\" for kernels before Linux 4.11, features added in Linux 4.11
+.\" and limitations remaining in Linux 4.11
.\" Maybe it's worth adding a dedicated sub-section...
.\"
.PP
Since Linux 4.11,
userfaultfd can be also used with hugetlbfs and shared memory mappings.
.\"
-.SS Userfaultfd write-protect mode (since 5.7)
+.SS Userfaultfd write-protect mode (since Linux 5.7)
Since Linux 5.7, userfaultfd supports write-protect mode for anonymous memory.
The user needs to first check availability of this feature using
.B UFFDIO_API
.B UFFDIO_WRITEPROTECT_MODE_WP
cleared upon the faulted page or range.
.\"
-.SS Userfaultfd minor fault mode (since 5.13)
+.SS Userfaultfd minor fault mode (since Linux 5.13)
Since Linux 5.13,
userfaultfd supports minor fault mode.
In this mode,
.B ENOSYS
The mounted filesystem referenced by
.I dev
-does not support this operation, or any version of Linux before
-1.3.16.
+does not support this operation,
+or any version of Linux before Linux 1.3.16.
.SH VERSIONS
-Since version 2.28, glibc no longer provides a wrapper for this system call.
+Since glibc 2.28, glibc no longer provides a wrapper for this system call.
.SH STANDARDS
SVr4.
.\" SVr4 documents additional error conditions ENOLINK, ECOMM, and EINTR
.IR pathname .
.SH VERSIONS
.BR utimensat ()
-was added to Linux in kernel 2.6.22;
-glibc support was added with version 2.6.
+was added in Linux 2.6.22;
+glibc support was added with glibc 2.6.
.PP
Support for
.BR futimens ()
.BR utimensat ()
and
.BR futimens ()
-on kernels before 2.6.26.
+before Linux 2.6.26.
These bugs are either nonconformances with the POSIX.1 draft specification
or inconsistencies with historical Linux behavior.
.IP \(bu 3
.UE .
In Linux, it has been equivalent to
.BR fork (2)
-until 2.2.0-pre6 or so.
-Since 2.2.0-pre9 (on i386, somewhat later on
+until Linux 2.2.0-pre6 or so.
+Since Linux 2.2.0-pre9 (on i386, somewhat later on
other architectures) it is an independent system call.
Support was added in glibc 2.0.112.
.SH BUGS
.IR ioctl s
are allowed and input attempts result in an end-of-file indication."
.\"
-.\" As far as I can tell, the following is not true in 2.6.19:
+.\" As far as I can tell, the following is not true in Linux 2.6.19:
.\" Currently (Linux 2.3.25),
.\" .BR strace (1)
.\" cannot follow
The
.BR vmsplice ()
system call first appeared in Linux 2.6.17;
-library support was added to glibc in version 2.5.
+library support was added in glibc 2.5.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
|| (_XOPEN_SOURCE >= 500 &&
! (_POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 600))
- From glibc 2.19 to 2.25:
+ From glibc 2.19 to glibc 2.25:
_DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
Glibc 2.19 and earlier:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
.BR writev (2).
And among the effects that should be atomic across threads (and processes)
are updates of the file offset.
-However, on Linux before version 3.14,
+However, before Linux 3.14,
this was not the case: if two processes that share
an open file description (see
.BR open (2))
GNU C Library support for
.\" commit d9dc34cd569bcfe714fe8c708e58c028106e8b2e
.BR __ppc_get_timebase ()
-has been provided since version 2.16 and
+has been provided since glibc 2.16 and
.\" commit 8ad11b9a9cf1de82bd7771306b42070b91417c11
.BR __ppc_get_timebase_freq ()
-has been available since version 2.17.
+has been available since glibc 2.17.
.SH STANDARDS
Both functions are nonstandard GNU extensions.
.SH EXAMPLES
.BR __ppc_set_ppr_low (),
and
.BR __ppc_set_ppr_med_low ()
-are provided by glibc since version 2.18.
+are provided since glibc 2.18.
The functions
.BR __ppc_set_ppr_very_low ()
and
.BR __ppc_set_ppr_med_high ()
-first appeared in glibc in version 2.23.
+first appeared in glibc 2.23.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
outstanding storage accesses to cacheable storage for which the data
is not in the cache have been completed.
.SH VERSIONS
-These functions first appeared in glibc in version 2.18.
+These functions first appeared in glibc 2.18.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.SH DESCRIPTION
.I value
is zero, it returns an empty string.
.PP
-These functions are broken in glibc before 2.2.5
+These functions are broken before glibc 2.2.5
(puts most significant digit first).
.PP
This is not the encoding used by
.PP
The
.BR llabs ()
-function is included in glibc since version 2.0.
+function is included since glibc 2.0.
The
.BR imaxabs ()
-function is included in
-glibc since version 2.1.1.
+function is included since glibc 2.1.1.
.PP
For
.BR llabs ()
nonexistent or default severity class.
.SH VERSIONS
.BR addseverity ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.B EDOM
instead of the POSIX-mandated
.BR ERANGE .
-Since version 2.10, glibc does the right thing.
+Since glibc 2.10, glibc does the right thing.
.SH SEE ALSO
.BR acosh (3),
.BR asinh (3),
.\" is not provided by glibc.
.\" The
.\" .BR atoll ()
-.\" function is present in glibc 2 since version 2.0.2, but
+.\" function is present since glibc 2.0.2, but
.\" not in libc4 or libc5.
.SH NOTES
POSIX.1 leaves the return value of
.BR backtrace_symbols (),
and
.BR backtrace_symbols_fd ()
-are provided in glibc since version 2.1.
+are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.fi
.SH DESCRIPTION
.IR "Note well" :
-This page documents interfaces provided in glibc up until version 2.1.
-Since version 2.2, glibc no longer provides these interfaces.
+This page documents interfaces provided up until glibc 2.1.
+Since glibc 2.2, glibc no longer provides these interfaces.
Probably, you are looking for the APIs provided by the
.I libdb
library instead.
.IR z .
The result is a real number.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
cacos(z) = \-i * clog(z + i * csqrt(1 \- z * z))
.fi
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
cacosh(z) = 2 * clog(csqrt((z + 1) / 2) + csqrt((z \- 1) / 2))
.fi
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH RETURN VALUE
The return value is in the range of [\-pi,pi].
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
casin(z) = \-i clog(iz + csqrt(1 \- z * z))
.fi
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH STANDARDS
C99, POSIX.1-2001, POSIX.1-2008.
.SH SEE ALSO
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH STANDARDS
These function names are reserved for future use in C99.
.PP
-As at version 2.31, these functions are not provided in glibc.
+As at glibc 2.31, these functions are not provided in glibc.
.\" But reserved in NAMESPACE.
.SH SEE ALSO
.BR cabs (3),
Use
.BR free (3)
instead.
-Starting with version 2.26, it has been removed from glibc.
+Starting with glibc 2.26, it has been removed from glibc.
.SS 1-arg cfree
In glibc, the function
.BR cfree ()
.BR cfree ()
function was removed
.\" commit 025b33ae84bb8f15b2748a1d8605dca453fce112
-from glibc in version 2.26.
+in glibc 2.26.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.PP
.BR clearenv ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
.SH VERSIONS
The
.BR clock_getcpuclockid ()
-function is available in glibc since version 2.2.
+function is available since glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.I z
close to zero will cause an overflow.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.I z
close to zero will cause an overflow.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions first appeared in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH STANDARDS
These function names are reserved for future use in C99.
.PP
-Not yet in glibc, as at version 2.19.
+Not yet in glibc, as at glibc 2.19.
.\" But reserved in NAMESPACE.
.SH SEE ALSO
.BR cabs (3),
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
also conforms to
SVr4, 4.3BSD.
.SH BUGS
-Before version 2.10, the glibc implementation did not set
+Before glibc 2.10, the glibc implementation did not set
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6780
.I errno
to
also conforms to
SVr4, 4.3BSD.
.SH BUGS
-In glibc version 2.3.4 and earlier,
+In glibc 2.3.4 and earlier,
an overflow floating-point
.RB ( FE_OVERFLOW )
exception is not raised when an overflow occurs.
.I x
along the negative real axis.)
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
Every complex infinite value is projected to a single infinite value,
namely to positive infinity on the real axis.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
z = creal(z) + I * cimag(z)
.fi
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
\fIcsqrt(\-1\-eps*I)\fP will be close to \-I, \fIif eps\fP is a small positive
real number.)
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.PP
It is not assured that the program can open the terminal.
.\" in glibc 2.3.x, x >= 4, the glibc headers threw an error
-.\" if ctermid() was given an argument; fixed in 2.4.
+.\" if ctermid() was given an argument; fixed in glibc 2.4.
.SH SEE ALSO
.BR ttyname (3)
.fi
.SH DESCRIPTION
.IR "Note well" :
-This page documents interfaces provided in glibc up until version 2.1.
-Since version 2.2, glibc no longer provides these interfaces.
+This page documents interfaces provided up until glibc 2.1.
+Since glibc 2.2, glibc no longer provides these interfaces.
Probably, you are looking for the APIs provided by the
.I libdb
library instead.
.\" So far the Sun page
.\" Some additions - aeb
.SH VERSIONS
-These functions were added to glibc in version 2.1.
+These functions were added in glibc 2.1.
.PP
Because they employ the DES block cipher,
which is no longer considered secure,
.SH STANDARDS
POSIX.1-2008.
This function was a BSD extension, present in 4.3BSD-Reno, not in 4.2BSD.
-.\" It is present in libc5 (since 5.1.2) and in glibc2.
+.\" It is present in libc5 (since 5.1.2) and in glibc 2.
.SH SEE ALSO
.BR open (2),
.BR openat (2),
.IR callback .
.SH VERSIONS
.BR dl_iterate_phdr ()
-has been supported in glibc since version 2.2.4.
+has been supported since glibc 2.2.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.\" .BR lcong48 ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.SH DESCRIPTION
.\" .BR seed48_r (),
.\" .BR lcong48_r ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
.SH VERSIONS
The
.BR duplocale ()
-function first appeared in version 2.3 of the GNU C library.
+function were added in glibc 2.3.
.SH STANDARDS
POSIX.1-2008.
.SH NOTES
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200809L))
|| /* Glibc >= 2.20 */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19 */ _SVID_SOURCE
- Glibc versions 2.12 to 2.16:
+ Glibc 2.12 to glibc 2.16:
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200112L))
|| _SVID_SOURCE
Before glibc 2.12:
.BR qecvt_r (),
.BR qfcvt_r ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
The functions with names of the form "le\fInn\fPtoh" convert
from little-endian order to host byte order.
.SH VERSIONS
-These functions were added to glibc in version 2.9.
+These functions were added in glibc 2.9.
.SH STANDARDS
These functions are nonstandard.
Similar functions are present on the BSDs,
.SH VERSIONS
The
.BR eaccess ()
-function was added to glibc in version 2.4.
+function was added in glibc 2.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
For a discussion of the errors that can occur for these functions, see
.BR exp (3).
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions first appeared in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH STANDARDS
These functions are GNU extensions.
.SH BUGS
-Prior to version 2.19, the glibc implementation of these functions did not set
+Before glibc 2.19, the glibc implementation of these functions did not set
.I errno
to
.B ERANGE
For a discussion of the errors that can occur for these functions, see
.BR exp (3).
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.I x
values (where the function result approaches \-1).
.PP
-Before approximately glibc version 2.11,
+Before approximately glibc 2.11,
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6814
.\" e.g., expm1(1e5) through expm1(1.00199970127e5),
.\" but not expm1(1.00199970128e5) and beyond.
.I x
values.
.PP
-Before version 2.11,
-.\" It looks like the fix was in 2.11, or possibly 2.12.
-.\" I have no test system for 2.11, but 2.12 passes.
+Before glibc 2.11,
+.\" It looks like the fix was in glibc 2.11, or possibly glibc 2.12.
+.\" I have no test system for glibc 2.11, but glibc 2.12 passes.
.\" From the source (sysdeps/i386/fpu/s_expm1.S) it looks
-.\" like the changes were in 2.11.
+.\" like the changes were in glibc 2.11.
the glibc implementation did not set
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6788
.I errno
.RB ( FE_OVERFLOW )
is raised.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH STANDARDS
C99, POSIX.1-2001, POSIX.1-2008.
.SH BUGS
-Before glibc version 2.24
+Before glibc 2.24
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6796
on certain architectures (e.g., x86, but not x86_64)
these functions did not set
.\" This was corrected in Corrigendum 1 (ISO/IEC 9899:1999/Cor.1:2001(E))
.\" of the C99 Standard.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
is defined.
The C99 standard does not define a way to set individual bits in the
floating-point mask, for example, to trap on specific flags.
-Since version 2.2, glibc supports the functions
+Since glibc 2.2, glibc supports the functions
.BR feenableexcept ()
and
.BR fedisableexcept ()
Since glibc 2.12:
_XOPEN_SOURCE >= 700
|| ! (_POSIX_C_SOURCE >= 200809L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Before glibc 2.12:
none
.BR finitef (),
.BR finitel ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.PP
.BR isinf ():
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.PP
.BR isinff (),
.BR isinfl ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.PP
.BR isnan ():
.nf
_XOPEN_SOURCE || _ISOC99_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.PP
.BR isnanl ():
.nf
_XOPEN_SOURCE >= 600
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
.\" FIXME . Is it intentional that these functions do not set errno?
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6801
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH ERRORS
No errors occur.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR fileno (3)
will return an error if called on the returned stream).
.PP
-With version 2.22, binary mode (see below) was removed,
+With glibc 2.22, binary mode (see below) was removed,
many longstanding bugs in the implementation of
.BR fmemopen ()
were fixed, and a new versioned symbol was created for this interface.
.\"
.SS Binary mode
-From version 2.9 to 2.21, the glibc implementation of
+From glibc 2.9 to glibc 2.21, the glibc implementation of
.BR fmemopen ()
supported a "binary" mode,
enabled by specifying the letter \(aqb\(aq as the second character in
.I mode
has no effect.
.SH BUGS
-In versions of glibc before 2.22, if
+Before glibc 2.22, if
.I size
is specified as zero,
.BR fmemopen ()
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=11216
It would be more consistent if this case successfully created
a stream that then returned end-of-file on the first attempt at reading;
-since version 2.22, the glibc implementation provides that behavior.
+since glibc 2.22, the glibc implementation provides that behavior.
.PP
-In versions of glibc before 2.22,
+Before glibc 2.22,
specifying append mode ("a" or "a+") for
.BR fmemopen ()
sets the initial buffer position to the first null byte, but
does not force subsequent writes to append at the end of the stream.
This bug is fixed in glibc 2.22.
.PP
-In versions of glibc before 2.22, if the
+Before glibc 2.22, if the
.I mode
argument to
.BR fmemopen ()
sets the buffer position to \-1.
This bug is fixed in glibc 2.22.
.PP
-In versions of glibc before 2.22,
+Before glibc 2.22,
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=14292
when a call to
.BR fseek (3)
.SH ERRORS
No errors occur.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
also conforms to
SVr4, 4.3BSD, C89.
.SH BUGS
-Before version 2.10, the glibc implementation did not set
+Before glibc 2.10, the glibc implementation did not set
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6784
.I errno
to
.BR fmtmsg ().
.SH VERSIONS
.BR fmtmsg ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR freopen ()
limits the number of characters examined in
.I mode
-to 7 (or, in glibc versions before 2.14, to 6,
+to 7 (or, before glibc 2.14, to 6,
which was not enough to include possible specifications such as "rb+cmxe").
The current implementation of
.BR fdopen ()
See the ERRORS in
.BR fseek (3).
.SH VERSIONS
-These functions are available under glibc since version 2.1.
+These functions are available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH STANDARDS
4.4BSD.
.SH BUGS
-In versions of glibc before 2.23,
+Before glibc 2.23,
.\" Fixed by commit 8b7b7f75d91f7bac323dd6a370aeb3e9c5c4a7d5
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=15838
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=11460
.BR nftw ().
.SH VERSIONS
.BR nftw ()
-is available under glibc since version 2.1.
+is available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR lutimes ()
is available since glibc 2.6, and is implemented using the
.BR utimensat (2)
-system call, which is supported since kernel 2.6.22.
+system call, which is supported since Linux 2.6.22.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200809L))
|| /* Glibc >= 2.20 */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19 */ _SVID_SOURCE
- Glibc versions 2.12 to 2.16:
+ Glibc 2.12 to glibc 2.16:
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200112L))
|| _SVID_SOURCE
Before glibc 2.12:
.I addrinfo
structures in the returned list is set to point to the
official name of the host.
-.\" In glibc prior to 2.3.4, the ai_canonname of each addrinfo
+.\" Prior to glibc 2.3.4, the ai_canonname of each addrinfo
.\" structure was set pointing to the canonical name; that was
.\" more than POSIX.1-2001 specified, or other implementations provided.
.\" MTK, Aug 05
.sp 1
.SH STANDARDS
These functions are GNU extensions;
-they first appeared in glibc in version 2.2.3.
+they first appeared in glibc 2.2.3.
.SH NOTES
The interface of
.BR getaddrinfo_a ()
.SH VERSIONS
The
.BR getauxval ()
-function was added to glibc in version 2.16.
+function was added in glibc 2.16.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.nf
Since glibc 2.12:
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
.nf
Since glibc 2.20:
_DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
- Glibc 2.12 to 2.19:
+ Glibc 2.12 to glibc 2.19:
_BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.PP
.\" more precisely:
.\" AIX 5.1 - gives ESRCH
.\" OSF1 4.0g - gives EWOULDBLOCK
-.\" libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
-.\" glibc since version 2.7 - give 0
+.\" libc, glibc up to glibc 2.6, Irix 6.5 - give ENOENT
+.\" since glibc 2.7 - give 0
.\" FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
.\" SunOS 5.8 - gives EBADF
.\" Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
.SH STANDARDS
This function is nonstandard; it appears on most BSDs.
.SH BUGS
-In glibc versions before 2.3.3,
+Before glibc 2.3.3,
the implementation of this function contains a buffer-overrun bug:
it returns the complete list of groups for
.I user
.nf
Since glibc 2.19:
_DEFAULT_SOURCE
- Glibc 2.8 to 2.19:
+ Glibc 2.8 to glibc 2.19:
_BSD_SOURCE || _SVID_SOURCE
Before glibc 2.8:
none
.nf
Since glibc 2.19
_DEFAULT_SOURCE || _POSIX_C_SOURCE < 200809L
- Glibc 2.12 to 2.19:
+ Glibc 2.12 to glibc 2.19:
_BSD_SOURCE || _SVID_SOURCE || _POSIX_C_SOURCE < 200809L
Before glibc 2.12:
none
.I hostid
is stored in the file
.IR /etc/hostid .
-(In glibc versions before 2.2, the file
+(Before glibc 2.2, the file
.I /var/adm/hostid
was used.)
.\" libc5 used /etc/hostid; libc4 didn't have these functions
.\" function appeared in
.\" 4.3BSD Reno .
.SH VERSIONS
-This function is available in glibc since version 2.2.
+This function is available since glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.I /etc/resolv.conf
.SH VERSIONS
.BR getnameinfo ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
The latter is a guess based on the services listed
in the current Assigned Numbers RFC.
.PP
-Before glibc version 2.2, the
+Before glibc 2.2, the
.I hostlen
and
.I servlen
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
.SH NOTES
-In glibc versions before 2.2, the
+Before glibc 2.2, the
.I net
argument of
.BR getnetbyaddr ()
wildcard expansion and so should not be considered as options.
This behavior was removed in
.BR bash (1)
-version 2.01, but the support remains in glibc.
+2.01, but the support remains in glibc.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.nf
Since glibc 2.2.2:
_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
Before glibc 2.2.2:
none
.BR open (2).
.SH VERSIONS
.BR getpt ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
.\" more precisely:
.\" AIX 5.1 - gives ESRCH
.\" OSF1 4.0g - gives EWOULDBLOCK
-.\" libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
-.\" glibc since version 2.7 - give 0
+.\" libc, glibc up to glibc 2.6, Irix 6.5 - give ENOENT
+.\" since glibc 2.7 - give 0
.\" FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
.\" SunOS 5.8 - gives EBADF
.\" Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
obsolescent.
ISO C11 removes the specification of
.BR gets ()
-from the C language, and since version 2.16,
+from the C language, and since glibc 2.16,
glibc header files don't expose the function declaration if the
.B _ISOC11_SOURCE
feature test macro is defined.
.SH RETURN VALUE
These functions do not return a value.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.1.
+These functions were added in glibc 2.1.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.nf
Since glibc 2.3.3:
_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Before glibc 2.3.3:
_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE
This will be a string such as
.IR "stable" .
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions first appeared in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
argument is valid but not associated with a master pseudoterminal.
.SH VERSIONS
.BR grantpt ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.fi
.SH DESCRIPTION
.IR "Note well" :
-This page documents interfaces provided in glibc up until version 2.1.
-Since version 2.2, glibc no longer provides these interfaces.
+This page documents interfaces provided up until glibc 2.1.
+Since glibc 2.2, glibc no longer provides these interfaces.
Probably, you are looking for the APIs provided by the
.I libdb
library instead.
SVr4 and POSIX.1-2001 specify that \fIaction\fP
is significant only for unsuccessful searches, so that an \fBENTER\fP
should not do anything for a successful search.
-In libc and glibc (before version 2.3), the
+In libc and glibc (before glibc 2.3), the
implementation violates the specification,
updating the \fIdata\fP for the given \fIkey\fP in this case.
.PP
.B EINVAL
An incomplete multibyte sequence has been encountered in the input.
.SH VERSIONS
-This function is available in glibc since version 2.1.
+This function is available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.I errno
to indicate the error.
.SH VERSIONS
-This function is available in glibc since version 2.1.
+This function is available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
is not supported by the
implementation.
.SH VERSIONS
-This function is available in glibc since version 2.1.
+This function is available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
C99, POSIX.1-2001, POSIX.1-2008.
.SH BUGS
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6794
-Before version 2.16, the following bugs existed in the
+Before glibc 2.16, the following bugs existed in the
glibc implementation of these functions:
.IP \(bu 3
The domain error case where
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.SH DESCRIPTION
.BR isascii ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.PP
.BR EDOM ;
instead of the POSIX-mandated
.BR ERANGE .
-Since version 2.10, glibc does the right thing.
+Since glibc 2.10, glibc does the right thing.
.SH SEE ALSO
.BR tgamma (3)
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
C99, POSIX.1-2001, POSIX.1-2008.
.\" BSD
.SH BUGS
-Before version 2.22, the glibc implementation did not set
+Before glibc 2.22, the glibc implementation did not set
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6792
.I errno
to
.B EDOM
when a domain error occurred.
.PP
-Before version 2.22, the glibc implementation did not set
+Before glibc 2.22, the glibc implementation did not set
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6792
.I errno
to
For a discussion of the errors that can occur for these functions, see
.BR log (3).
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.\" FIXME . Is it intentional that these functions do not set errno?
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6798
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.\" FIXME . Is it intentional that these functions do not set errno?
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6797
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.PP
The function
.BR lseek64 ()
-.\" in glibc 2.0.94, not in 2.0.6
+.\" in glibc 2.0.94, not in glibc 2.0.6
is available since glibc 2.1.
.\"
.SS llseek()
.BR makecontext ()
and
.BR swapcontext ()
-are provided in glibc since version 2.1.
+are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
is undefined according to the standards,
and won't work on architectures where pointers are larger than
.IR int s.
-Nevertheless, starting with version 2.8, glibc makes some changes to
+Nevertheless, starting with glibc 2.8, glibc makes some changes to
.BR makecontext (),
to permit this on some 64-bit architectures (e.g., x86-64).
.SH EXAMPLES
.BR getrlimit (2).
.SH VERSIONS
.BR reallocarray ()
-first appeared in glibc in version 2.26.
+was added in glibc 2.26.
.PP
.BR malloc ()
and related functions rejected sizes greater than
.fi
.SH DESCRIPTION
.IR Note :
-these function are removed in glibc version 2.25.
+these function are removed in glibc 2.25.
.PP
The
.BR malloc_get_state ()
was nonzero.
.SH VERSIONS
.BR malloc_info ()
-was added to glibc in version 2.10.
+was added in glibc 2.10.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
after printing any error message specified by bit 0,
the program is terminated by calling
.BR abort (3).
-In glibc versions since 2.4,
+Since glibc 2.4,
if bit 0 is also set,
then, between printing the error message and aborting,
the program also prints a stack trace in the manner of
Since glibc 2.3.4, the default value for the
.B M_CHECK_ACTION
parameter is 3.
-In glibc version 2.3.3 and earlier, the default value is 1.
+In glibc 2.3.3 and earlier, the default value is 1.
.IP
Using a nonzero
.B M_CHECK_ACTION
If no matching byte is found, the result is unspecified.
.SH VERSIONS
.BR rawmemchr ()
-first appeared in glibc in version 2.1.
+first appeared in glibc 2.1.
.PP
.BR memrchr ()
-first appeared in glibc in version 2.2.
+first appeared in glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.IR n .
.SH VERSIONS
.BR mempcpy ()
-first appeared in glibc in version 2.1.
+first appeared in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
\fIpathname\fP refers to a read-only filesystem.
.SH VERSIONS
.BR mkfifoat ()
-was added to glibc in version 2.4.
+was added in glibc 2.4.
It is implemented using
.BR mknodat (2),
-available on Linux since kernel 2.6.16.
+available since Linux 2.6.16.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
+ || /* Glibc >= 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.PP
.PP
.BR mkstemps ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.PP
.nf
Since glibc 2.12:
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
Before glibc 2.12:
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500
.fi
.SH DESCRIPTION
.IR "Note well" :
-This page documents interfaces provided in glibc up until version 2.1.
-Since version 2.2, glibc no longer provides these interfaces.
+This page documents interfaces provided up until glibc 2.1.
+Since glibc 2.2, glibc no longer provides these interfaces.
Probably, you are looking for the APIs provided by the
.I libdb
library instead.
.IR name+1 )
to the system call.
.SH BUGS
-In kernels before 2.6.14,
+Before Linux 2.6.14,
the process umask was not applied to the permissions specified in
.IR mode .
.SH SEE ALSO
selects one.
On other systems it may do nothing.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR newlocale ()
and
.BR freelocale ()
-functions first appeared in version 2.3 of the GNU C library.
+functions first appeared in glibc 2.3.
.SH STANDARDS
POSIX.1-2008.
.SH NOTES
This function is defined in IEC 559 (and the appendix with
recommended functions in IEEE 754/IEEE 854).
.SH BUGS
-In glibc version 2.5 and earlier, these functions do not raise an underflow
+In glibc 2.5 and earlier, these functions do not raise an underflow
floating-point
.RB ( FE_UNDERFLOW )
exception when an underflow occurs.
.PP
-Before glibc version 2.23
+Before glibc 2.23
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6799
these functions did not set
.IR errno .
See DESCRIPTION.
.\" .SH ERRORS
.SH VERSIONS
-These functions first appeared in glibc in version 2.24.
+These functions were added in glibc 2.24.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR fileno (3)
will return an error if called on the returned stream).
.SH BUGS
-In glibc before version 2.7, seeking past the end of a stream created by
+Before glibc 2.7, seeking past the end of a stream created by
.BR open_memstream ()
does not enlarge the buffer; instead the
.BR fseek (3)
\fIname\fP is not a directory.
.SH VERSIONS
.BR fdopendir ()
-is available in glibc since version 2.4.
+is available since glibc 2.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR forkpty ()
in glibc 2.8.
.PP
-In versions of glibc before 2.0.92,
+Before glibc 2.0.92,
.BR openpty ()
returns file descriptors for a BSD pseudoterminal pair;
since glibc 2.0.92,
.IR sys_errlist ,
.IR sys_nerr :
.nf
- From glibc 2.19 to 2.31:
+ From glibc 2.19 to glibc 2.31:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_BSD_SOURCE
.I errno
should be saved.
.SH VERSIONS
-Since glibc version 2.32, the declarations of
+Since glibc 2.32, the declarations of
.I sys_errlist
and
.I sys_nerr
.SH VERSIONS
Support for
.BR posix_madvise ()
-first appeared in glibc version 2.2.
+was added in glibc 2.2.
.SH STANDARDS
POSIX.1-2001.
.SH NOTES
.nf
Since glibc 2.12:
(_XOPEN_SOURCE >= 500) && !(_POSIX_C_SOURCE >= 200112L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
.PP
The function
.BR aligned_alloc ()
-was added to glibc in version 2.16.
+was added in glibc 2.16.
.PP
The function
.BR posix_memalign ()
.SH VERSIONS
Glibc support for
.BR posix_openpt ()
-has been provided since version 2.2.1.
+has been provided since glibc 2.2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
feature test macro must be defined to obtain the definition of this constant.
.\" This flag has been accepted in POSIX, see:
.\" http://austingroupbugs.net/view.php?id=1044
-.\" and has been implemented in glibc since version 2.26
+.\" and has been implemented since glibc 2.26
.\" commit daeb1fa2e1b33323e719015f5f546988bd4cc73b
.PP
If
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=3866
in the glibc implementation of
.BR pow ()
-were fixed in glibc version 2.16.
+were fixed in glibc 2.16.
.PP
In glibc 2.9 and earlier,
.\"
.B EDOM
instead of the POSIX-mandated
.BR ERANGE .
-Since version 2.10,
+Since glibc 2.10,
.\" or possibly 2.9, I haven't found the source code change
.\" and I don't have a 2.9 system to test
glibc does the right thing.
.PP
-In version 2.3.2 and earlier,
-.\" Actually, 2.3.2 is the earliest test result I have; so yet
-.\" to confirm if this error occurs only in 2.3.2.
+In glibc 2.3.2 and earlier,
+.\" Actually, glibc 2.3.2 is the earliest test result I have; so yet
+.\" to confirm if this error occurs only in glibc 2.3.2.
when an overflow or underflow error occurs, glibc's
.BR pow ()
generates a bogus invalid floating-point exception
Those latter functions should be used in preference
to the functions described in this page.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
Since glibc 2.27,
.\" glibc commit 5a80d39d0d2587e9bd8e72f19e92eeb2a66fbe9e
the use of these functions in new programs is no longer supported.
and
.BR vsnprintf ()
conforms to the C99 standard, that is, behaves as described above,
-since glibc version 2.1.
+since glibc 2.1.
Until glibc 2.0.6, they would return \-1
when the output was truncated.
.\" .SH HISTORY
}
.EE
.PP
-If truncation occurs in glibc versions prior to 2.0.6, this is treated as an
-error instead of being handled gracefully.
+If truncation occurs in glibc versions prior to glibc 2.0.6,
+this is treated as an error instead of being handled gracefully.
.SH SEE ALSO
.BR printf (1),
.BR asprintf (3),
.SH VERSIONS
The
.BR psiginfo ()
-function was added to glibc in version 2.10.
+function was added in glibc 2.10.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH STANDARDS
POSIX.1-2008, 4.3BSD.
.SH BUGS
-In glibc versions up to 2.12,
+Up to glibc 2.12,
.BR psiginfo ()
had the following bugs:
.IP \(bu 3
.RB ( pthread_attr_setaffinity_np ())
Could not allocate memory.
.SH VERSIONS
-These functions are provided by glibc since version 2.3.4.
+These functions are provided since glibc 2.3.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
(but portable and future-proof applications should nevertheless
handle a possible error return).
.SH VERSIONS
-These functions are provided by glibc since version 2.1.
+These functions are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.RB ( pthread_attr_setsigmask_np ())
Could not allocate memory.
.SH VERSIONS
-These functions are provided by glibc since version 2.32.
+These functions are provided since glibc 2.32.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.I stacksize
is not both readable and writable by the caller.
.SH VERSIONS
-These functions are provided by glibc since version 2.2.
+These functions are provided since glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
(but applications should nevertheless
handle a possible error return).
.SH VERSIONS
-These functions are provided by glibc since version 2.1.
+These functions are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.I stacksize
is not a multiple of the system page size.
.SH VERSIONS
-These functions are provided by glibc since version 2.1.
+These functions are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.RB ( pthread_setattr_default_np ())
Insufficient memory.
.SH VERSIONS
-These functions are available in glibc since version 2.18.
+These functions are available since glibc 2.18.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.B RLIMIT_STACK
resource limit is not supported.
.SH VERSIONS
-This function is available in glibc since version 2.2.3.
+This function is available since glibc 2.2.3.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.I thread
could be found.
.SH VERSIONS
-This function is available in glibc since version 2.2.
+This function is available since glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
The mutex is either not robust or is not in an inconsistent state.
.SH VERSIONS
.BR pthread_mutex_consistent ()
-was added to glibc in version 2.12.
+was added in glibc 2.12.
.SH STANDARDS
POSIX.1-2008.
.SH NOTES
.BR pthread_mutexattr_getrobust ()
and
.BR pthread_mutexattr_setrobust ()
-were added to glibc in version 2.12.
+were added in glibc 2.12.
.SH STANDARDS
POSIX.1-2008.
.SH NOTES
.I thread
could be found.
.SH VERSIONS
-These functions are provided by glibc since version 2.3.4.
+These functions are provided since glibc 2.3.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.I new_level
would cause a system resource to be exceeded").
.SH VERSIONS
-These functions are available in glibc since version 2.1.
+These functions are available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
then the call may fail with one of the errors described in
.BR open (2).
.SH VERSIONS
-These functions first appeared in glibc in version 2.12.
+These functions were added in glibc 2.12.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
to an unsupported value") error for
.BR pthread_setschedparam (3).
.SH VERSIONS
-This function is available in glibc since version 2.3.4.
+This function is available since glibc 2.3.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.B ENOMEM
Insufficient memory to initialize the spin lock.
.SH VERSIONS
-These functions first appeared in glibc in version 2.2.
+These functions were added in glibc 2.2.
.SH STANDARDS
POSIX.1-2001.
.PP
.B EBUSY
The spin lock is currently locked by another thread.
.SH VERSIONS
-These functions first appeared in glibc in version 2.2.
+These functions were added in glibc 2.2.
.SH STANDARDS
POSIX.1-2001.
.SH NOTES
never returns the error
.BR EINTR .
.SH VERSIONS
-These functions first appeared in glibc in version 2.3.3.
+These functions were added in glibc 2.3.3.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
is too small.
.SH VERSIONS
.BR ptsname ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR putenv ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.SH DESCRIPTION
.\" In no case will the old storage associated
.\" to the environment variable itself be freed.
.PP
-Since version 2.1.2, the glibc implementation conforms to SUSv2:
+Since glibc 2.1.2, the glibc implementation conforms to SUSv2:
the pointer \fIstring\fP given to
.BR putenv ()
is used.
with an automatic variable
as the argument, then return from the calling function while \fIstring\fP
is still part of the environment.)
-However, glibc versions 2.0 to 2.1.1 differ: a copy of the string is used.
+However, from glibc 2.0 to glibc 2.1.1, it differs:r
+a copy of the string is used.
On the one hand this causes a memory leak, and on the other hand
it violates SUSv2.
.PP
functions return no value.
.SH VERSIONS
.BR qsort_r ()
-was added to glibc in version 2.8.
+was added in glibc 2.8.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, C89, C99.
.SH NOTES
-Since version 2.3.3, glibc implements
+Since glibc 2.3.3,
.BR raise ()
-by calling
+is implemented by calling
.BR tgkill (2),
.\" 2.3.2 used the obsolete tkill(), if available.
if the kernel supports that system call.
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
.BR initstate_r (),
.BR setstate_r ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
.BR rresvport_af (),
and
.BR ruserok_af ()
-functions are provide in glibc since version 2.2.
+functions are provided since glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR iruserok ()
and
.BR iruserok_af ()
-are declared in glibc headers only since version 2.12.
+are declared in glibc headers only since glibc 2.12.
.\" Bug filed 25 Nov 2007:
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=5399
.SH SEE ALSO
.IP
When a suitable feature test macro is defined
.RB ( _DEFAULT_SOURCE
-on glibc versions since 2.19, or
+since glibc 2.19, or
.B _BSD_SOURCE
-on glibc versions 2.19 and earlier),
+on glibc 2.19 and earlier),
glibc defines the following macro constants for the value returned in
.IR d_type :
.RS
.BR readdir (3)
instead of
.BR readdir_r ().
-Furthermore, since version 2.24, glibc deprecates
+Furthermore, since glibc 2.24, glibc deprecates
.BR readdir_r ().
The reasons are as follows:
.IP \(bu 3
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
.fi
.SH DESCRIPTION
.I path
is NULL.
.\" (In libc5 this would just cause a segfault.)
-(In glibc versions before 2.3,
+(Before glibc 2.3,
this error is also returned if
.I resolved_path
is NULL.)
.fi
.SH DESCRIPTION
.IR "Note well" :
-This page documents interfaces provided in glibc up until version 2.1.
-Since version 2.2, glibc no longer provides these interfaces.
+This page documents interfaces provided up until glibc 2.1.
+Since glibc 2.2, glibc no longer provides these interfaces.
Probably, you are looking for the APIs provided by the
.I libdb
library instead.
.\" FIXME . Is it intentional that these functions do not set errno?
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6802
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR res_send ()
continues until
it finds an authoritative answer or returns an error.
-This option was present but unimplemented in glibc until version 2.24;
+This option was present but unimplemented until glibc 2.24;
since glibc 2.25, it is deprecated, and its usage produces a warning.
.TP
.B RES_USEVC
.TP
.BR RES_PRIMARY " (unimplemented; deprecated in glibc 2.25)"
Query primary domain name server only.
-This option was present but unimplemented in glibc until version 2.24;
+This option was present but unimplemented until glibc 2.24;
since glibc 2.25, it is deprecated, and its usage produces a warning.
.TP
.B RES_IGNTC
Disable the modern BIND checking of incoming hostnames and mail names
for invalid characters such as underscore (_), non-ASCII,
or control characters.
-This option was present in glibc until version 2.24;
+This option was present until glibc 2.24;
since glibc 2.25, it is deprecated, and its usage produces a warning.
.TP
.BR RES_KEEPTSIG " (unimplemented; deprecated in glibc 2.25)"
Do not strip TSIG records.
-This option was present but unimplemented in glibc until version 2.24;
+This option was present but unimplemented until glibc 2.24;
since glibc 2.25, it is deprecated, and its usage produces a warning.
.TP
.BR RES_BLAST " (unimplemented; deprecated in glibc 2.25)"
Send each query simultaneously and recursively to all servers.
-This option was present but unimplemented in glibc until version 2.24;
+This option was present but unimplemented until glibc 2.24;
since glibc 2.25, it is deprecated, and its usage produces a warning.
.TP
-.BR RES_USEBSTRING " (glibc 2.3.4 to 2.24)"
+.BR RES_USEBSTRING " (glibc 2.3.4 to glibc 2.24)"
Make reverse IPv6 lookups using the bit-label format described in RFC 2673;
if this option is not set (which is the default), then nibble format is used.
This option was removed in glibc 2.25,
zone in IPv6 reverse lookup instead of
.IR ip6.int ,
which is deprecated since glibc 2.3.4.
-This option is present in glibc up to and including version 2.24,
+This option is present up to and including glibc 2.24,
where it is enabled by default.
In glibc 2.25, this option was removed.
.TP
Enables support for the DNS extensions (EDNS0) described in RFC 2671.
.TP
.BR RES_SNGLKUP " (since glibc 2.10)"
-By default, glibc performs IPv4 and IPv6 lookups in parallel since
-version 2.9.
+By default, glibc performs IPv4 and IPv6 lookups in parallel
+since glibc 2.9.
Some appliance DNS servers cannot handle these queries properly
and make the requests time out.
This option disables the behavior and makes glibc
.SH VERSIONS
The
.BR rexec_af ()
-function was added to glibc in version 2.2.
+function was added in glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
No errors occur.
POSIX.1-2001 documents a range error for overflows, but see NOTES.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.RB ( FE_UNDERFLOW )
is raised.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR versionsort ()
-was added to glibc in version 2.1.
+was added in glibc 2.1.
.PP
.BR scandirat ()
-was added to glibc in version 2.15.
+was added in glibc 2.15.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.PP
Support for the
.B m
-modifier was added to glibc starting with version 2.7,
+modifier was added to glibc 2.7,
and new programs should use that modifier instead of
.BR a .
.PP
.BR seekdir ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
.SH NOTES
-In glibc up to version 2.1.1, the type of the
+Up to glibc 2.1.1, the type of the
.I loc
argument was
.IR off_t .
.BR setenv ()
should fail with the error
.BR EINVAL ;
-however, versions of glibc before 2.3.4 allowed an \(aq=\(aq sign in
+however, versions of glibc before glibc 2.3.4 allowed an \(aq=\(aq sign in
.IR name .
.SH SEE ALSO
.BR clearenv (3),
that will not.
The behavior under Linux depends on the glibc version
and the setting of feature test macros.
-On Linux with glibc versions before 2.19,
+Before glibc 2.19,
.BR setjmp ()
follows the System V behavior by default,
but the BSD behavior is provided if the
.SH ERRORS
None.
.\" .SH NOTES
-.\" The glibc logmask handling was broken in versions before glibc 2.1.1.
+.\" The glibc logmask handling was broken before glibc 2.1.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR sigsuspend (2)
instead.
.SH NOTES
-These functions appeared in glibc version 2.1.
+These functions appeared in glibc 2.1.
.PP
The
.I sighandler_t
.BR sigpause (3)
for details.
.SH BUGS
-In versions of glibc before 2.2,
+Before glibc 2.2,
.BR sigset ()
did not unblock
.I sig
was specified as a value other than
.BR SIG_HOLD .
.PP
-In versions of glibc before 2.5,
+Before glibc 2.5,
.BR sigset ()
does not correctly return the previous disposition of the signal
in two cases.
and
.BR sigprocmask (2).
.SH VERSIONS
-Starting with version 2.21, the GNU C library no longer exports the
+Starting with glibc 2.21, the GNU C library no longer exports the
.BR sigvec ()
function as part of the ABI.
(To ensure backward compatibility,
also conforms to
SVr4, 4.3BSD, C89.
.SH BUGS
-Before version 2.10, the glibc implementation did not set
+Before glibc 2.10, the glibc implementation did not set
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6781
.I errno
to
.RB ( FE_INVALID )
is raised.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.EE
.in
.SH BUGS
-Before version 2.22, the glibc implementation did not set
+Before glibc 2.22, the glibc implementation did not set
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=15467
.I errno
to
can be applied.
.SH VERSIONS
.BR sockatmark ()
-was added to glibc in version 2.2.4.
+was added in glibc 2.2.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR fstatfs (2)
to support this library call.
.PP
-In glibc versions before 2.13,
+Before glibc 2.13,
.\" glibc commit 3cdaa6adb113a088fdfb87aa6d7747557eccc58d
.BR statvfs ()
populated the bits of the
.BR statfs (2)
system call provides the necessary information via the
.I f_flags
-field, and since glibc version 2.13, the
+field, and since glibc 2.13, the
.BR statvfs ()
function will use information from that field rather than scanning
.IR /proc/mounts .
.SH STANDARDS
This function was added to POSIX.1-2008.
Before that, it was a GNU extension.
-It first appeared in version 1.07 of the GNU C library in 1993.
+It first appeared in glibc 1.07 in 1993.
.SH SEE ALSO
.BR strncpy (3),
.BR wcpncpy (3)
if the character is not found.
.SH VERSIONS
.BR strchrnul ()
-first appeared in glibc in version 2.1.1.
+was added in glibc 2.1.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
a (positive) error number is returned (since glibc 2.13),
or \-1 is returned and
.I errno
-is set to indicate the error (glibc versions before 2.13).
+is set to indicate the error (before glibc 2.13).
.PP
POSIX.1-2001 and POSIX.1-2008 require that a successful call to
.BR strerror ()
.BR strfromf (),
and
.BR strfroml ()
-functions are available in glibc since version 2.25.
+functions are available since glibc 2.25.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7)
.PP
.BR strsignal ():
.nf
- From glibc 2.10 to 2.31:
+ From glibc 2.10 to glibc 2.31:
_POSIX_C_SOURCE >= 200809L
Before glibc 2.10:
_GNU_SOURCE
.BR sigabbrev_np ()
first appeared in glibc 2.32.
.PP
-Starting with version 2.32,
+Starting with glibc 2.32,
.\" glibc commit b1ccfc061feee9ce616444ded8e1cd5acf9fa97f
the
.I sys_siglist
.BR system ().
In the glibc implementation, such handlers are not called.
.PP
-In versions of glibc before 2.1.3, the check for the availability of
+Before glibc 2.1.3, the check for the availability of
.I /bin/sh
was not actually performed if
.I command
also conforms to
SVr4, 4.3BSD, C89.
.SH BUGS
-Before version 2.10, the glibc implementation did not set
+Before glibc 2.10, the glibc implementation did not set
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=6782
.I errno
to
.IR fd .
.SH VERSIONS
.BR tcgetsid ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR telldir ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
.SH NOTES
-In glibc up to version 2.1.1, the return type of
+Up to glibc 2.1.1, the return type of
.BR telldir ()
was
.IR off_t .
.SH BUGS
.\" kernel 77e5bff1640432f28794a00800955e646dcd7455
.\" glibc 573963e32ffac46d9891970ddebde2ac3212c5c0
-On the Alpha architecture before Linux 4.16 (and glibc before 2.28), the
+On the Alpha architecture before Linux 4.16 (and glibc before glibc 2.28), the
.B XTABS
value was different from
.B TAB3
.\" glibc (as at 2.8) also supports an inexact
.\" exception for various cases.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR gamma (3)
for details).
.SH BUGS
-Before version 2.18, the glibc implementation of these functions did not set
+Before glibc 2.18, the glibc implementation of these functions did not set
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6809
.I errno
to
.BR toascii ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
.SH ERRORS
No errors occur.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
was NULL on entry.
.SH VERSIONS
.BR twalk_r ()
-is available in glibc since version 2.30.
+is available since glibc 2.30.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.nf
Since glibc 2.24:
_DEFAULT_SOURCE
- From glibc 2.20 to 2.23:
+ From glibc 2.20 to glibc 2.23:
_DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
Glibc 2.19 and earlier:
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
.IR daylight :
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.SH DESCRIPTION
.nf
Since glibc 2.12:
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
.I useconds_t
is an unsigned integer type capable of holding integers
in the range [0,1000000].
-On the original BSD implementation, and in glibc before version 2.1,
+On the original BSD implementation, and in glibc before glibc 2.1,
the arguments to
.BR ualarm ()
were instead typed as
.BR putc_unlocked (),
.BR putchar_unlocked ():
.nf
- /* Since glibc 2.24: */ _POSIX_C_SOURCE >= 199309L
+ /* Glibc >= 2.24: */ _POSIX_C_SOURCE >= 199309L
|| /* Glibc <= 2.23: */ _POSIX_C_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.BR fread_unlocked (),
.BR fwrite_unlocked ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.PP
argument is not associated with a master pseudoterminal.
.SH VERSIONS
.BR unlockpt ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH NOTES
For consistency with the other "utmpx" functions (see
.BR getutxent (3)),
-glibc provides (since version 2.1):
+glibc provides (since glibc 2.1):
.PP
.in +4n
.EX
.SH VERSIONS
The
.BR uselocale ()
-function first appeared in version 2.3 of the GNU C library.
+function first appeared in glibc 2.3.
.SH STANDARDS
POSIX.1-2008.
.SH NOTES
.nf
Since glibc 2.12:
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
.BR usleep ().
.PP
On the original BSD implementation,
-and in glibc before version 2.2.2, the return type of this function is
+and before glibc 2.2.2, the return type of this function is
.IR void .
The POSIX version returns
.IR int ,
.SH VERSIONS
The
.BR wcscasecmp ()
-function is provided in glibc since version 2.1.
+function is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH VERSIONS
The
.BR wcsncasecmp ()
-function is provided in glibc since version 2.1.
+function is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH VERSIONS
The
.BR wcsnlen ()
-function is provided in glibc since version 2.1.
+function is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008.
.PP
-Note that glibc before 2.2.5 used the prototype
+Note that before glibc 2.2.5, glibc used the prototype
.PP
.nf
.BI "int wcwidth(wint_t " c );
.BR wordexp ()
and
.BR wordfree ()
-are provided in glibc since version 2.1.
+are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.BR xdecrypt ()
return 1 on success and 0 on error.
.SH VERSIONS
-These functions are available in glibc since version 2.1.
+These functions are available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.I errno
for "range error: result underflow".
.PP
-In glibc version 2.3.2 and earlier,
+In glibc 2.3.2 and earlier,
.\" Actually, 2.3.2 is the earliest test result I have; so yet
-.\" to confirm if this error occurs only in 2.3.2.
+.\" to confirm if this error occurs only in glibc 2.3.2.
these functions do not raise an invalid floating-point exception
.RB ( FE_INVALID )
when a domain error occurs.
.IR st_atim.tv_nsec ,
if suitable test macros are defined.
Nanosecond timestamps were standardized in POSIX.1-2008,
-and, starting with version 2.12,
+and, starting with glibc 2.12,
glibc exposes the nanosecond component names if
.B _POSIX_C_SOURCE
is defined with the value 200809L or greater, or
.SH DESCRIPTION
.\" commit 253d2464df446456c0bba5ed4137a7be0b278aa8
.BR Note :
-This obsolete driver was removed from the kernel in version 4.14,
+This obsolete driver was removed in Linux 4.14,
as it is superseded by the
.BR hpsa (4)
driver in newer kernels.
ESC 8 (DECRC) is not able to restore the character set changed with
ESC %.
.SH BUGS
-In 2.0.23, CSI is broken, and NUL is not ignored inside
+In Linux 2.0.23, CSI is broken, and NUL is not ignored inside
escape sequences.
.PP
-Some older kernel versions (after 2.0) interpret 8-bit control
+Some older kernel versions (after Linux 2.0) interpret 8-bit control
sequences.
These "C1 controls" use codes between 128 and 159 to replace
ESC [, ESC ] and similar two-byte control sequence initiators.
.BR LIRC_SET_REC_CARRIER .
Any
.B lirc
-device since the drivers were merged in kernel release 2.6.36
+device since the drivers were merged in Linux 2.6.36
must have
.B LIRC_CAN_SET_REC_CARRIER_RANGE
set if
.SH BUGS
Using these devices requires the kernel source header file
.IR lirc.h .
-This file is not available before kernel release 4.6.
+This file is not available before Linux 4.6.
Users of older kernels could use the file bundled in
.UR http://www.lirc.org
.UE .
.I /dev/random
will return at most 512 bytes
.\" SEC_XFER_SIZE in drivers/char/random.c
-(340 bytes on Linux kernels before version 2.6.12).
+(340 bytes before Linux 2.6.12).
.PP
Writing to \fI/dev/random\fP or \fI/dev/urandom\fP will update the
entropy pool with the data written, but this will not result in a
.SS /proc interfaces
The files in the directory
.I /proc/sys/kernel/random
-(present since 2.3.16) provide additional information about the
+(present since Linux 2.3.16) provide additional information about the
.I /dev/random
device:
.TP
.ad l
.hy 0
.BR Note :
-This obsolete driver was removed from the kernel in version 2.6.26.
+This obsolete driver was removed in Linux 2.6.26.
.PP
.B sk98lin
is the Gigabit Ethernet driver for
.PP
The driver uses an internal buffer that has to be large enough to hold
at least one tape block.
-In kernels before 2.1.121, the buffer is
+Before Linux 2.1.121, the buffer is
allocated as one contiguous block.
This limits the block size to the
largest contiguous block of memory the kernel allocator can provide.
buffer at run time if necessary.
However, run-time allocation of large
contiguous blocks of memory may fail and it is advisable not to rely
-too much on dynamic buffer allocation with kernels older than 2.1.121
+too much on dynamic buffer allocation before Linux 2.1.121
(this applies also to demand-loading the driver with kerneld or kmod).
.PP
The driver does not specifically support any tape drive brand or
is usually created as a hard or soft link to the default tape device
on the system.
.PP
-Starting from kernel 2.6.2, the driver exports in the sysfs directory
+Starting from Linux 2.6.2, the driver exports in the sysfs directory
.I /sys/class/scsi_tape
the attached devices and some parameters assigned to the devices.
.SS Data transfer
In fixed-block mode the read byte counts can be arbitrary if
buffering is enabled, or a multiple of the tape block size if
buffering is disabled.
-Kernels before 2.1.121 allow writes with
+Before Linux 2.1.121 allow writes with
arbitrary byte count if buffering is enabled.
In all other cases
-(kernel before 2.1.121 with buffering disabled or newer kernel) the
+(before Linux 2.1.121 with buffering disabled or newer kernel) the
write byte count must be a multiple of the tape block size.
.PP
-In the 2.6 kernel, the driver tries to use direct transfers between the user
+In Linux 2.6, the driver tries to use direct transfers between the user
buffer and the device.
If this is not possible, the driver's internal buffer
is used.
.TP
.B MTERASE
Erase tape.
-With 2.6 kernel, short erase (mark tape empty) is performed if the
+With Linux 2.6, short erase (mark tape empty) is performed if the
argument is zero.
Otherwise, long erase (erase all) is done.
.TP
If
.I mt_count
is zero, the tape is formatted into one partition.
-From kernel version 4.6,
+From Linux 4.6,
.\" commit 8038e6456a3e6f5c4759e0d73c4f9165b90c93e7
a negative
.I mt_count
.IR mt_count .
These consist of the drive's buffering mode, a set of Boolean driver
options, the buffer write threshold, defaults for the block size and
-density, and timeouts (only in kernels 2.1 and later).
+density, and timeouts (only since Linux 2.1).
A single operation can affect only one item in the list below (the
Booleans counted as one item.)
.IP
The end result is that,
with read-ahead and fixed-block mode, the tape may not be correctly
positioned within a file when the device is closed.
-With 2.6 kernel, the
+With Linux 2.6, the
default is true for drives supporting SCSI-3.
.TP
.BR MT_ST_NO_BLKLIMS " (Default: false)"
The values for the parameters are or'ed
with the operation code.
.PP
-With kernels 2.1.x and later, the timeout values can be set with the
+With Linux 2.1.x and later, the timeout values can be set with the
subcommand
.B MT_ST_SET_TIMEOUT
ORed with the timeout in seconds.
The timeouts set for one device
apply for all devices linked to the same drive.
.PP
-Starting from kernels 2.4.19 and 2.5.43, the driver supports a status
+Starting from Linux 2.4.19 and Linux 2.5.43, the driver supports a status
bit which indicates whether the drive requests cleaning.
The method used by the
drive to return cleaning information is set using the
.TP
\fBGMT_CLN\fP(\fIx\fP)
The drive has requested cleaning.
-Implemented in kernels since 2.4.19 and 2.5.43.
+Implemented since Linux 2.4.19 and Linux 2.5.43.
.RE
.TP
\fImt_erreg\fP
The byte count in
.BR read (2)
is smaller than the next physical block on the tape.
-(Before 2.2.18 and 2.4.0 the extra bytes have been
+(Before Linux 2.2.18 and Linux 2.4.0 the extra bytes have been
.\" Precisely: Linux 2.6.0-test6
silently ignored.)
.TP
.\" .SH AUTHOR
.\" Andries Brouwer <aeb@cwi.nl>
.SH VERSIONS
-Introduced with version 1.1.92 of the Linux kernel.
+Introduced with Linux 1.1.92.
.SH EXAMPLES
You may do a screendump on vt3 by switching to vt1 and typing
.PP
.fi
.SH DESCRIPTION
.I This driver is obsolete:
-it was removed from the kernel in version 2.6.35.
+it was removed in Linux 2.6.35.
.PP
.B wavelan
is the low-level device driver for the NCR / AT&T / Lucent
.I sysconf(_SC_CLK_TCK)
to convert them to seconds.
.SS Version 3 accounting file format
-Since kernel 2.6.8,
+Since Linux 2.6.8,
an optional alternative version of the accounting file can be produced
if the
.B CONFIG_BSD_PROCESS_ACCT_V3
.SH VERSIONS
The
.I acct_v3
-structure is defined in glibc since version 2.6.
+structure is defined since glibc 2.6.
.SH STANDARDS
Process accounting originated on BSD.
Although it is present on most systems, it is not standardized,
Records in the accounting file are ordered by termination time of
the process.
.PP
-In kernels up to and including 2.6.9,
+Up to and including Linux 2.6.9,
a separate accounting record is written for each thread created using
the NPTL threading library;
since Linux 2.6.10,
The template may include \(aq/\(aq characters, which are interpreted
as delimiters for directory names.
The maximum size of the resulting core filename is 128 bytes (64 bytes
-in kernels before 2.6.19).
+before Linux 2.6.19).
The default value in this file is "core".
For backward compatibility, if
.I /proc/sys/kernel/core_pattern
and its root directory (see
.BR chroot (2)).
.PP
-Since version 2.4, Linux has also provided
+Since Linux 2.4, Linux has also provided
a more primitive method of controlling
the name of the core dump file.
If the
is set to 2 ("suidsafe"), the pattern must be either an absolute pathname
(starting with a leading \(aq/\(aq character) or a pipe, as defined below.
.SS Piping core dumps to a program
-Since kernel 2.6.19, Linux supports an alternate syntax for the
+Since Linux 2.6.19, Linux supports an alternate syntax for the
.I /proc/sys/kernel/core_pattern
file.
If the first character of this file is a pipe symbol (\fB|\fP),
then the remainder of the line is interpreted as the command-line for
a user-space program (or script) that is to be executed.
.PP
-Since kernel 5.3.0,
+Since Linux 5.3.0,
.\" commit 315c69261dd3fa12dbc830d4fa00d1fad98d3b03
the pipe template is split on spaces into an argument list
.I before
The default value for this file is 0.
.\"
.SS Controlling which mappings are written to the core dump
-Since kernel 2.6.23, the Linux-specific
+Since Linux 2.6.23, the Linux-specific
.IR /proc/ pid /coredump_filter
file can be used to control which memory segments are written to the
core dump file in the event that a core dump is performed for the
It has been completely superseded by the second version
of the extended filesystem
.RB ( ext2 )
-and has been removed from the kernel (in 2.1.21).
+and has been removed from the kernel (in Linux 2.1.21).
.TP
.B ext2
is a disk filesystem that was used by Linux for fixed disks
.TP
.B JFS
is a journaling filesystem, developed by IBM,
-that was integrated into Linux in kernel 2.4.24.
+that was integrated into Linux 2.4.24.
.TP
.B minix
is the filesystem used in the Minix operating system, the first to run
.B ncpfs
is a network filesystem that supports the NCP protocol,
used by Novell NetWare.
-It was removed from the kernel in 4.17.
+It was removed from the kernel in Linux 4.17.
.IP
To use
.BR ncpfs ,
.TP
.B Reiserfs
is a journaling filesystem, designed by Hans Reiser,
-that was integrated into Linux in kernel 2.4.1.
+that was integrated into Linux 2.4.1.
.TP
.B smb
is a network filesystem that supports the SMB protocol, used by
.TP
.B XFS
is a journaling filesystem, developed by SGI,
-that was integrated into Linux in kernel 2.4.20.
+that was integrated into Linux 2.4.20.
.TP
.B xiafs
was designed and implemented to be a stable, safe filesystem by
The
.B xiafs
filesystem is no longer actively developed or maintained.
-It was removed from the kernel in 2.1.21.
+It was removed from the kernel in Linux 2.1.21.
.SH SEE ALSO
.BR fuse (4),
.BR btrfs (5),
The
.I gai.conf
.\" Added in 2006
-file is supported by glibc since version 2.5.
+file is supported since glibc 2.5.
.SH EXAMPLES
The default table according to RFC\ 3484 would be specified with the
following configuration file:
.IP \(bu
.B LC_TIME
.PP
-In addition, since version 2.2,
+In addition, since glibc 2.2,
the GNU C library supports the following nonstandard categories:
.IP \(bu 3
.B LC_ADDRESS
.\" Modified 2002-07-22, 2003-05-27, 2004-04-06, 2004-05-25
.\" by Michael Kerrisk <mtk.manpages@gmail.com>
.\" 2004-11-17, mtk -- updated notes on /proc/loadavg
-.\" 2004-12-01, mtk, rtsig-max and rtsig-nr went away in 2.6.8
+.\" 2004-12-01, mtk, rtsig-max and rtsig-nr went away in Linux 2.6.8
.\" 2004-12-14, mtk, updated 'statm', and fixed error in order of list
.\" 2005-05-12, mtk, updated 'stat'
.\" 2005-07-13, mtk, added /proc/sys/fs/mqueue/*
(or file
.\" commit b68101a1e8f0263dbc7b8375d2a7c57c6216fb76
.I Documentation/security/keys.txt
-on Linux between 3.0 and 4.13, or
+between Linux 3.0 and Linux 4.13, or
.\" commit d410fa4ef99112386de5f218dd7df7b4fca910b4
.I Documentation/keys.txt
before Linux 3.0).
See
.BR sched (7).
.TP
-.IR /proc/ pid /auxv " (since 2.6.0)"
+.IR /proc/ pid /auxv " (since Linux 2.6.0)"
.\" Precisely: Linux 2.6.0-test7
This contains the contents of the ELF interpreter information passed
to the process at exec time.
.\" Internally: CLEAR_REFS_ALL
Reset the PG_Referenced and ACCESSED/YOUNG
bits for all the pages associated with the process.
-(Before kernel 2.6.32, writing any nonzero value to this file
+(Before Linux 2.6.32, writing any nonzero value to this file
had this effect.)
.TP
2 (since Linux 2.6.32)
.IR /proc/ pid /cmdline
This read-only file holds the complete command line for the process,
unless the process is a zombie.
-.\" In 2.3.26, this also used to be true if the process was swapped out.
+.\" In Linux 2.3.26, this also used to be true if the process was swapped out.
In the latter case, there is nothing in this file:
that is, a read on this file will return 0 characters.
The command-line arguments appear in this file as a set of
See
.BR user_namespaces (7).
.TP
-.IR /proc/ pid /io " (since kernel 2.6.20)"
+.IR /proc/ pid /io " (since Linux 2.6.20)"
.\" commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2
This file contains I/O statistics for the process, for example:
.IP
.\" commit 3036e7b490bf7878c6dae952eec5fb87b1106589
this file is readable by all users on the system.
.\" FIXME Describe /proc/[pid]/loginuid
-.\" Added in 2.6.11; updating requires CAP_AUDIT_CONTROL
+.\" Added in Linux 2.6.11; updating requires CAP_AUDIT_CONTROL
.\" CONFIG_AUDITSYSCALL
.TP
-.IR /proc/ pid /map_files/ " (since kernel 3.3)"
+.IR /proc/ pid /map_files/ " (since Linux 3.3)"
.\" commit 640708a2cff7f81e246243b0073c66e6ece7e53e
This subdirectory contains entries corresponding to memory-mapped
files (see
check; see
.BR ptrace (2).
.IP
-Until kernel version 4.3,
+Until Linux 4.3,
.\" commit bdb4d100afe9818aebd1d98ced575c5ef143456c
this directory appeared only if the
.B CONFIG_CHECKPOINT_RESTORE
.I [stack]
The initial process's (also known as the main thread's) stack.
.TP
-.IR [stack: tid ] " (from Linux 3.4 to 4.4)"
+.IR [stack: tid ] " (from Linux 3.4 to Linux 4.4)"
.\" commit b76437579d1344b612cf1851ae610c636cec7db0 (added)
.\" commit 65376df582174ffcec9e6471bf5b0dd79ba05e4a (removed)
A thread's stack (where the
The format of this file is documented in
.BR fstab (5).
.IP
-Since kernel version 2.6.15, this file is pollable:
+Since Linux 2.6.15, this file is pollable:
after opening the file for reading, a change in this file
(i.e., a filesystem mount or unmount) causes
.BR select (2)
.IR /proc/ pid /oom_score_adj .
.TP
.IR /proc/ pid /oom_score " (since Linux 2.6.11)"
-.\" See mm/oom_kill.c::badness() in pre 2.6.36 sources
-.\" See mm/oom_kill.c::oom_badness() after 2.6.36
+.\" See mm/oom_kill.c::badness() before Linux 2.6.36 sources
+.\" See mm/oom_kill.c::oom_badness() after Linux 2.6.36
.\" commit a63d83f427fbce97a6cea0db2e64b0eb8435cd10
This file displays the current score that the kernel gives to
this process for the purpose of selecting a process
selected by the OOM-killer.
The basis for this score is the amount of memory used by the process,
with increases (+) or decreases (\-) for factors including:
-.\" See mm/oom_kill.c::badness() in pre 2.6.36 sources
-.\" See mm/oom_kill.c::oom_badness() after 2.6.36
+.\" See mm/oom_kill.c::badness() before Linux 2.6.36 sources
+.\" See mm/oom_kill.c::oom_badness() after Linux 2.6.36
.\" commit a63d83f427fbce97a6cea0db2e64b0eb8435cd10
.RS
.IP \(bu 3
.\" More precisely, if it has CAP_SYS_ADMIN or (pre 2.6.36) CAP_SYS_RESOURCE
.RE
.IP
-Before kernel 2.6.36
+Before Linux 2.6.36
the following factors were also used in the calculation of oom_score:
.RS
.IP \(bu 3
setting for the process.
.TP
.IR /proc/ pid /oom_score_adj " (since Linux 2.6.36)"
-.\" Text taken from 3.7 Documentation/filesystems/proc.txt
+.\" Text taken from Linux 3.7 Documentation/filesystems/proc.txt
This file can be used to adjust the badness heuristic used to select which
process gets killed in out-of-memory conditions.
.IP
See
.BR user_namespaces (7).
.TP
-.IR /proc/ pid /seccomp " (Linux 2.6.12 to 2.6.22)"
+.IR /proc/ pid /seccomp " (Linux 2.6.12 to Linux 2.6.22)"
This file can be used to read and change the process's
secure computing (seccomp) mode setting.
It contains the value 0 if the process is not in seccomp mode,
.\" FIXME Describe /proc/[pid]/sessionid
.\" commit 1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc
.\" CONFIG_AUDITSYSCALL
-.\" Added in 2.6.25; read-only; only readable by real UID
+.\" Added in Linux 2.6.25; read-only; only readable by real UID
.\"
.\" FIXME Describe /proc/[pid]/sched
-.\" Added in 2.6.23
+.\" Added in Linux 2.6.23
.\" CONFIG_SCHED_DEBUG, and additional fields if CONFIG_SCHEDSTATS
.\" Displays various scheduling parameters
.\" This file can be written, to reset stats
.\"
.\" FIXME Describe /proc/[pid]/schedstats and
.\" /proc/[pid]/task/[tid]/schedstats
-.\" Added in 2.6.9
+.\" Added in Linux 2.6.9
.\" CONFIG_SCHEDSTATS
.TP
.IR /proc/ pid /setgroups " (since Linux 3.19)"
.IP
Before Linux 2.6, this was a scaled value based on
the scheduler weighting given to this process.
-.\" And back in kernel 1.2 days things were different again.
+.\" And back in Linux 1.2 days things were different again.
.TP
(19) \fInice\fP \ %ld
The nice value (see
.BR setpriority (2)),
a value in the range 19 (low priority) to \-20 (high priority).
-.\" Back in kernel 1.2 days things were different.
+.\" Back in Linux 1.2 days things were different.
.\" .TP
.\" \fIcounter\fP %ld
.\" The current maximum size in jiffies of the process's next timeslice,
.TP
(20) \fInum_threads\fP \ %ld
Number of threads in this process (since Linux 2.6).
-Before kernel 2.6, this field was hard coded to 0 as a placeholder
+Before Linux 2.6, this field was hard coded to 0 as a placeholder
for an earlier removed field.
.TP
(21) \fIitrealvalue\fP \ %ld
The time in jiffies before the next
.B SIGALRM
is sent to the process due to an interval timer.
-Since kernel 2.6.17, this field is no longer maintained,
+Since Linux 2.6.17, this field is no longer maintained,
and is hard coded as 0.
.TP
(22) \fIstarttime\fP \ %llu
The time the process started after system boot.
-In kernels before Linux 2.6, this value was expressed in jiffies.
+Before Linux 2.6, this value was expressed in jiffies.
Since Linux 2.6, the value is expressed in clock ticks (divide by
.IR sysconf(_SC_CLK_TCK) ).
.IP
.IR /proc/ pid /wchan .
.TP
(36) \fInswap\fP \ %lu
-.\" nswap was added in 2.0
+.\" nswap was added in Linux 2.0
Number of pages swapped (not maintained).
.TP
(37) \fIcnswap\fP \ %lu
-.\" cnswap was added in 2.0
+.\" cnswap was added in Linux 2.0
Cumulative \fInswap\fP for child processes (not maintained).
.TP
(38) \fIexit_signal\fP \ %d \ (since Linux 2.1.22)
.\" commit 3b72c814a8e8cd638e1ba0da4dfce501e9dff5af
(or
.I Documentation/DocBook
-before 4.10;
+before Linux 4.10;
the documentation can be built using a command such as
.I make htmldocs
in the root directory of the kernel source tree).
For further details on the meanings of these bits,
see the kernel source file
.IR Documentation/admin\-guide/mm/pagemap.rst .
-Before kernel 2.6.29,
+Before Linux 2.6.29,
.\" commit ad3bdefe877afb47480418fdb05ecd42842de65e
.\" commit e07a4b9217d1e97d2f3a62b6b070efdc61212110
.BR KPF_WRITEBACK ,
(since multiple processes may have file descriptors that
refer to the same open file description),
the value \-1 is displayed in this field for OFD locks.
-(Before kernel 4.14,
+(Before Linux 4.14,
.\" commit 9d5b86ac13c573795525ecac6ed2db39ab23e2a8
a bug meant that the PID of the process that
initially acquired the lock was displayed instead of the value \-1.)
[To be documented.]
.TP
.IR Unevictable " %lu (since Linux 2.6.28)"
-(From Linux 2.6.28 to 2.6.30,
+(From Linux 2.6.28 to Linux 2.6.30,
\fBCONFIG_UNEVICTABLE_LRU\fP was required.)
[To be documented.]
.TP
.IR Mlocked " %lu (since Linux 2.6.28)"
-(From Linux 2.6.28 to 2.6.30,
+(From Linux 2.6.28 to Linux 2.6.30,
\fBCONFIG_UNEVICTABLE_LRU\fP was required.)
[To be documented.]
.TP
.BR lsmod (8).
.TP
.I /proc/mounts
-Before kernel 2.4.19, this file was a list
+Before Linux 2.4.19, this file was a list
of all the filesystems currently mounted on the system.
With the introduction of per-process mount namespaces in Linux 2.4.19 (see
.BR mount_namespaces (7)),
.I idle
(4) Time spent in the idle task.
.\" FIXME . Actually, the following info about the /proc/stat 'cpu' field
-.\" does not seem to be quite right (at least in 2.6.12 or 3.6):
+.\" does not seem to be quite right (at least in Linux 2.6.12 or Linux 3.6):
.\" the idle time in /proc/uptime does not quite match this value
This value should be USER_HZ times the
second entry in the
.BR swapon (8).
.TP
.I /proc/sys
-This directory (present since 1.3.57) contains a number of files
+This directory (present since Linux 1.3.57) contains a number of files
and subdirectories corresponding to kernel variables.
These variables can be read and in some cases modified using
the \fI/proc\fP filesystem, and the (deprecated)
is the number of unused dentries.
.IP \(bu
.I age_limit
-.\" looks like this is unused in kernels 2.2 to 2.6
+.\" looks like this is unused in Linux 2.2 to Linux 2.6
is the age in seconds after which dcache entries
can be reclaimed when memory is short.
.IP \(bu
.I want_pages
-.\" looks like this is unused in kernels 2.2 to 2.6
+.\" looks like this is unused in Linux 2.2 to Linux 2.6
is nonzero when the kernel has called shrink_dcache_pages() and the
dcache isn't pruned yet.
.RE
if 4% or more space is free; consider information about amount of free space
valid for 30 seconds.
.TP
-.IR /proc/sys/kernel/auto_msgmni " (Linux 2.6.27 to 3.18)"
+.IR /proc/sys/kernel/auto_msgmni " (Linux 2.6.27 to Linux 3.18)"
.\" commit 9eefe520c814f6f62c5d36a2ddcd3fb99dfdb30e (introduces feature)
.\" commit 0050ee059f7fc86b1df2527aaa14ed5dc72f9973 (rendered redundant)
-From Linux 2.6.27 to 3.18,
+From Linux 2.6.27 to Linux 3.18,
this file was used to control recomputing of the value in
.I /proc/sys/kernel/msgmni
upon the addition or removal of memory or upon IPC namespace creation/removal.
See
.BR capabilities (7).
.TP
-.IR /proc/sys/kernel/cap\-bound " (from Linux 2.2 to 2.6.24)"
+.IR /proc/sys/kernel/cap\-bound " (from Linux 2.2 to Linux 2.6.24)"
This file holds the value of the kernel
.I "capability bounding set"
(expressed as a signed decimal number).
.IR /proc/sys/kernel/htab\-reclaim " (before Linux 2.4.9.2)"
(PowerPC only) If this file is set to a nonzero value,
the PowerPC htab
-.\" removed in commit 1b483a6a7b2998e9c98ad985d7494b9b725bd228, before 2.6.28
+.\" removed in commit 1b483a6a7b2998e9c98ad985d7494b9b725bd228, before Linux 2.6.28
(see kernel file
.IR Documentation/powerpc/ppc_htab.txt )
is pruned
option enabled.
It is described by the Linux kernel source file
.I Documentation/kmod.txt
-(present only in kernel 2.4 and earlier).
+(present only in Linux 2.4 and earlier).
.TP
.IR /proc/sys/kernel/modules_disabled " (since Linux 2.6.31)"
.\" 3d43321b7015387cfebbe26436d0e9d299162ea1
can be set to any value up to 2^22
.RB ( PID_MAX_LIMIT ,
approximately 4 million).
-.\" Prior to 2.6.10, pid_max could also be raised above 32768 on 32-bit
+.\" Prior to Linux 2.6.10, pid_max could also be raised above 32768 on 32-bit
.\" platforms, but this broke /proc/[pid]
.\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=109513010926152&w=2
.TP
rebooting?
.TP
.I /proc/sys/kernel/rtsig\-max
-(Only in kernels up to and including 2.6.7; see
+(Up to and including Linux 2.6.7; see
.BR setrlimit (2))
This file can be used to tune the maximum number
of POSIX real-time (queued) signals that can be outstanding
in the system.
.TP
.I /proc/sys/kernel/rtsig\-nr
-(Only in kernels up to and including 2.6.7.)
+(Up to and including Linux 2.6.7.)
This file shows the number of POSIX real-time signals currently queued.
.TP
.IR /proc/ pid /sched_autogroup_enabled " (since Linux 2.6.38)"
until memory actually runs out.
One use case for this mode is scientific computing applications
that employ large sparse arrays.
-In Linux kernel versions before 2.6.0, any nonzero value implies mode 1.
+Before Linux 2.6.0, any nonzero value implies mode 1.
.IP
In mode 2 (available since Linux 2.6), the total virtual address space
that can be allocated
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS .
.TP
-.IR kswapd_low_wmark_hit_quickly " (since 2.6.33)"
+.IR kswapd_low_wmark_hit_quickly " (since Linux 2.6.33)"
.\" commit bb3ab596832b920c703d1aea1ce76d69c0f71fb7
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS .
.TP
-.IR kswapd_high_wmark_hit_quickly " (since 2.6.33)"
+.IR kswapd_high_wmark_hit_quickly " (since Linux 2.6.33)"
.\" commit bb3ab596832b920c703d1aea1ce76d69c0f71fb7
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS .
rather than
.BR gethostbyname (3).
.TP
-.BR ip6\-bytestring " (since glibc 2.3.4 to 2.24)"
+.BR ip6\-bytestring " (since glibc 2.3.4 to glibc 2.24)"
Sets
.B RES_USEBSTRING
in
since it relied on a backward-incompatible
DNS extension that was never deployed on the Internet.
.TP
-.BR ip6\-dotint / no\-ip6\-dotint " (glibc 2.3.4 to 2.24)"
+.BR ip6\-dotint / no\-ip6\-dotint " (glibc 2.3.4 to glibc 2.24)"
Clear/set
.B RES_NOIP6DOTINT
in
reverse IPv6 lookups are made in the
.I ip6.arpa
zone by default.
-These options are available in glibc versions up to 2.24, where
+These options are available up to glibc 2.24, where
.B no\-ip6\-dotint
is the default.
Since
in
.IR _res.options .
By default, glibc performs IPv4 and IPv6 lookups in parallel since
-version 2.9.
+glibc 2.9.
Some appliance DNS servers
cannot handle these queries properly and make the requests time out.
This option disables the behavior and makes glibc perform the IPv6
.B trust\-ad
option has been set correctly.
.IP
-In glibc version 2.30 and earlier,
+In glibc 2.30 and earlier,
the AD is not set automatically in queries,
and is passed through unchanged to applications in responses.
.RE
.TP
1.1
Present in the Linux 2.4.x kernel series.
-.\" First appeared in 2.4.0-test3
+.\" First appeared in Linux 2.4.0-test3
.TP
1.2
A format that was briefly present in the Linux 2.5 development series.
-.\" from 2.5.45 to 2.5.70
+.\" from Linux 2.5.45 to Linux 2.5.70
.TP
2.0
Present in Linux 2.6.x kernels up to and including Linux 2.6.9.
-.\" First appeared in 2.5.71
+.\" First appeared in Linux 2.5.71
.TP
2.1
The current format, which first appeared in Linux 2.6.10.
The first field of each entry starts at the left-hand margin,
and contains a list of names for the terminal, separated by \(aq|\(aq.
.PP
-The first subfield may (in BSD termcap entries from versions 4.3 and
+The first subfield may (in BSD termcap entries from 4.3BSD and
earlier) contain a short name consisting of two characters.
This short name may consist of capital or small letters.
In 4.4BSD, termcap entries this field is omitted.
or was greater than the limit returned by the call
.IR sysconf(_SC_AIO_PRIO_DELTA_MAX) .
.SH VERSIONS
-The POSIX AIO interfaces are provided by glibc since version 2.1.
+The POSIX AIO interfaces are provided by glibc since glibc 2.1.
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008.
.SH NOTES
.\" 2008-07-15, Serge Hallyn <serue@us.bbm.com>
.\" Document file capabilities, per-process capability
.\" bounding set, changed semantics for CAP_SETPCAP,
-.\" and other changes in 2.6.2[45].
+.\" and other changes in Linux 2.6.2[45].
.\" Add CAP_MAC_ADMIN, CAP_MAC_OVERRIDE, CAP_SETFCAP.
.\" 2008-07-15, mtk
.\" Add text describing circumstances in which CAP_SETPCAP
checking based on the process's credentials
(usually: effective UID, effective GID, and supplementary group list).
.PP
-Starting with kernel 2.2, Linux divides the privileges traditionally
+Starting with Linux 2.2, Linux divides the privileges traditionally
associated with superuser into distinct units, known as
.IR capabilities ,
which can be independently enabled and disabled.
.I securebits
flags.
.IP
-If file capabilities are not supported (i.e., kernels before Linux 2.6.24):
+If file capabilities are not supported (i.e., before Linux 2.6.24):
grant or remove any capability in the
caller's permitted capability set to or from any other process.
(This property of
and
.BR delete_module (2));
.IP \(bu
-in kernels before 2.6.25:
+before Linux 2.6.25:
drop capabilities from the system-wide capability bounding set.
.PD
.RE
The filesystem must support attaching capabilities to an executable file,
so that a process gains those capabilities when the file is executed.
.PP
-Before kernel 2.6.24, only the first two of these requirements are met;
-since kernel 2.6.24, all three requirements are met.
+Before Linux 2.6.24, only the first two of these requirements are met;
+since Linux 2.6.24, all three requirements are met.
.\"
.SS Notes to kernel developers
When adding a new kernel feature that should be governed by a capability,
that may be set in a capability set.
.\"
.SS File capabilities
-Since kernel 2.6.24, the kernel supports
+Since Linux 2.6.24, the kernel supports
associating capability sets with an executable file using
.BR setcap (8).
The file capability sets are stored in an extended attribute (see
.PP
Removing capabilities from the bounding set is supported only if file
capabilities are compiled into the kernel.
-In kernels before Linux 2.6.33,
+Before Linux 2.6.33,
file capabilities were an optional feature configurable via the
.B CONFIG_SECURITY_FILE_CAPABILITIES
option.
.PP
.B "Capability bounding set prior to Linux 2.6.25"
.PP
-In kernels before 2.6.25, the capability bounding set is a system-wide
+Before Linux 2.6.25, the capability bounding set is a system-wide
attribute that affects all threads on the system.
The bounding set is accessible via the file
.IR /proc/sys/kernel/cap\-bound .
and rebuild the kernel.
.PP
The system-wide capability bounding set feature was added
-to Linux starting with kernel version 2.2.11.
+to Linux 2.2.11.
.\"
.\"
.\"
.\" For some background:
.\" see http://lwn.net/Articles/280279/ and
.\" http://article.gmane.org/gmane.linux.kernel.lsm/5476/
-Starting with kernel 2.6.26,
+Starting with Linux 2.6.26,
and with a kernel in which file capabilities are enabled,
Linux implements a set of per-thread
.I securebits
.EE
.in
.PP
-From kernel 2.5.27 to kernel 2.6.26,
+From Linux 2.5.27 to Linux 2.6.26,
.\" commit 5915eb53861c5776cfec33ca4fcc1fd20d66dd27 removed
.\" CONFIG_SECURITY_CAPABILITIES
capabilities were an optional kernel component,
.UR https://git.kernel.org\:/pub\:/scm\:/libs\:/libcap\:/libcap.git\:/refs/
.UE .
.PP
-Before kernel 2.6.24, and from kernel 2.6.24 to kernel 2.6.32 if
+Before Linux 2.6.24, and from Linux 2.6.24 to Linux 2.6.32 if
file capabilities are not enabled, a thread with the
.B CAP_SETPCAP
capability can manipulate the capabilities of threads other than itself.
file.
.\" ================== VERSIONS ==================
.SH VERSIONS
-Cpusets appeared in version 2.6.12 of the Linux kernel.
+Cpusets appeared in Linux 2.6.12.
.\" ================== NOTES ==================
.SH NOTES
Despite its name, the
Supplementary group IDs.
This is a set of additional group IDs that are used for permission
checks when accessing files and other shared resources.
-On Linux kernels before 2.6.4,
+Before Linux 2.6.4,
a process can be a member of up to 32 supplementary groups;
-since kernel 2.6.4,
+since Linux 2.6.4,
a process can be a member of up to 65536 supplementary groups.
The call
.I sysconf(_SC_NGROUPS_MAX)
can be used to determine the number of supplementary groups
of which a process may be a member.
-.\" Since kernel 2.6.4, the limit is visible via the read-only file
+.\" Since Linux 2.6.4, the limit is visible via the read-only file
.\" /proc/sys/kernel/ngroups_max.
.\" As at 2.6.22-rc2, this file is still read-only.
A process can obtain its set of supplementary group IDs using
.SS /proc interfaces
The following interfaces can be used to limit the amount of
kernel memory consumed by epoll:
-.\" Following was added in 2.6.28, but them removed in 2.6.29
+.\" Following was added in Linux 2.6.28, but them removed in Linux 2.6.29
.\" .TP
.\" .IR /proc/sys/fs/epoll/max_user_instances " (since Linux 2.6.28)"
.\" This specifies an upper limit on the number of epoll instances
Each registered file descriptor costs roughly 90 bytes on a 32-bit kernel,
and roughly 160 bytes on a 64-bit kernel.
Currently,
-.\" 2.6.29 (in 2.6.28, the default was 1/32 of lowmem)
+.\" Linux 2.6.29 (in Linux 2.6.28, the default was 1/32 of lowmem)
the default value for
.I max_user_watches
is 1/25 (4%) of the available low memory,
.B epoll
API was introduced in Linux kernel 2.5.44.
.\" Its interface should be finalized in Linux kernel 2.5.66.
-Support was added to glibc in version 2.3.2.
+Support was added in glibc 2.3.2.
.SH STANDARDS
The
.B epoll
This may occur when a response for the permission event has already been
written.
.SH VERSIONS
-The fanotify API was introduced in version 2.6.36 of the Linux kernel and
-enabled in version 2.6.37.
-Fdinfo support was added in version 3.8.
+The fanotify API was introduced in Linux 2.6.36 and
+enabled in Linux 2.6.37.
+Fdinfo support was added in Linux 3.8.
.SH STANDARDS
The fanotify API is Linux-specific.
.SH NOTES
.BR _POSIX_SOURCE ,
.B _POSIX_C_SOURCE
with the value 200809L
-(200112L in glibc versions before 2.10;
-199506L in glibc versions before 2.5;
-199309L in glibc versions before 2.1)
+(200112L before glibc 2.10;
+199506L before glibc 2.5;
+199309L before glibc 2.1)
and
.B _XOPEN_SOURCE
with the value 700
-(600 in glibc versions before 2.10;
-500 in glibc versions before 2.2).
+(600 before glibc 2.10;
+500 before glibc 2.2).
In addition, various GNU-specific extensions are also exposed.
.IP
Since glibc 2.19, defining
.B _GNU_SOURCE
also has the effect of implicitly defining
.BR _DEFAULT_SOURCE .
-In glibc versions before 2.20, defining
+Before glibc 2.20, defining
.B _GNU_SOURCE
also had the effect of implicitly defining
.B _BSD_SOURCE
.IP
Use of this macro requires compiler support, available with
.BR gcc (1)
-since version 4.0.
+since glibc 4.0.
.IP
Use of
.B _FORTIFY_SOURCE
.BR _POSIX_SOURCE ,
and
.BR _POSIX_C_SOURCE =200809L
-(200112L in glibc versions before 2.10;
-199506L in glibc versions before 2.4;
-199309L in glibc versions before 2.1).
+(200112L before glibc 2.10;
+199506L before glibc 2.4;
+199309L before glibc 2.1).
.PP
If any of
.BR __STRICT_ANSI__ ,
is undefined, then the setting of
.B _POSIX_C_SOURCE
depends on the glibc version:
-199506L, in glibc versions before 2.4;
-200112L, in glibc 2.4 to 2.9; and
+199506L, before glibc 2.4;
+200112L, since glibc 2.4 to glibc 2.9; and
200809L, since glibc 2.10.
.RE
.PP
A jiffy is a system dependent unit, usually 10ms on i386 and
about 1ms on alpha and ia64.
.TP
-.IR icmp_destunreach_rate " (Linux 2.2 to 2.4.9)"
-.\" Precisely: from 2.1.102
+.IR icmp_destunreach_rate " (Linux 2.2 to Linux 2.4.9)"
+.\" Precisely: from Linux 2.1.102
Maximum rate to send ICMP Destination Unreachable packets.
This limits the rate at which packets are sent to any individual
route or destination.
requests.
.TP
.IR icmp_echo_ignore_broadcasts " (since Linux 2.2)"
-.\" Precisely: from 2.1.68
+.\" Precisely: from Linux 2.1.68
If this value is nonzero, Linux will ignore all
.B ICMP_ECHO
packets sent to broadcast addresses.
.TP
-.IR icmp_echoreply_rate " (Linux 2.2 to 2.4.9)"
-.\" Precisely: from 2.1.102
+.IR icmp_echoreply_rate " (Linux 2.2 to Linux 2.4.9)"
+.\" Precisely: from Linux 2.1.102
Maximum rate for sending
.B ICMP_ECHOREPLY
packets in response to
packets.
.TP
.IR icmp_errors_use_inbound_ifaddr " (Boolean; default: disabled; since Linux 2.6.12)"
-.\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
+.\" The following taken from Linux 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
If disabled, ICMP error messages are sent with the primary address of
the exiting interface.
.IP
has one will be used regardless of this setting.
.TP
.IR icmp_ignore_bogus_error_responses " (Boolean; default: disabled; since Linux 2.2)"
-.\" precisely: since 2.1.32
-.\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
+.\" precisely: since Linux 2.1.32
+.\" The following taken from Linux 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
Some routers violate RFC1122 by sending bogus responses to broadcast frames.
Such violations are normally logged via a kernel warning.
If this parameter is enabled, the kernel will not give such warnings,
which will avoid log file clutter.
.TP
-.IR icmp_paramprob_rate " (Linux 2.2 to 2.4.9)"
-.\" Precisely: from 2.1.102
+.IR icmp_paramprob_rate " (Linux 2.2 to Linux 2.4.9)"
+.\" Precisely: from Linux 2.1.102
Maximum rate for sending
.B ICMP_PARAMETERPROB
packets.
These packets are sent when a packet arrives with an invalid IP header.
.TP
.IR icmp_ratelimit " (integer; default: 1000; since Linux 2.4.10)"
-.\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
+.\" The following taken from Linux 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
Limit the maximum rates for sending ICMP packets whose type matches
.I icmp_ratemask
(see below) to specific targets.
otherwise the minimum space between responses in milliseconds.
.TP
.IR icmp_ratemask " (integer; default: see below; since Linux 2.4.10)"
-.\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
+.\" The following taken from Linux 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
Mask made of ICMP types for which rates are being limited.
.IP
Significant bits: IHGFEDCBA9876543210
The bits marked with an asterisk are rate limited by default
(see the default mask above).
.TP
-.IR icmp_timeexceed_rate " (Linux 2.2 to 2.4.9)"
+.IR icmp_timeexceed_rate " (Linux 2.2 to Linux 2.4.9)"
Maximum rate for sending
.B ICMP_TIME_EXCEEDED
packets.
.SH VERSIONS
Support for the
.B ICMP_ADDRESS
-request was removed in 2.2.
+request was removed in Linux 2.2.
.PP
Support for
.B ICMP_SOURCE_QUENCH
The behavior when the buffer given to
.BR read (2)
is too small to return information about the next event depends
-on the kernel version: in kernels before 2.6.21,
+on the kernel version: before Linux 2.6.21,
.BR read (2)
-returns 0; since kernel 2.6.21,
+returns 0; since Linux 2.6.21,
.BR read (2)
fails with the error
.BR EINVAL .
This specifies an upper limit on the number of watches
that can be created per real user ID.
.SH VERSIONS
-Inotify was merged into the 2.6.13 Linux kernel.
-The required library interfaces were added to glibc in version 2.4.
+Inotify was merged into Linux 2.6.13.
+The required library interfaces were added in glibc 2.4.
.RB ( IN_DONT_FOLLOW ,
.BR IN_MASK_ADD ,
and
.B IN_ONLYDIR
-were added in glibc version 2.5.)
+were added in glibc 2.5.)
.SH STANDARDS
The inotify API is Linux-specific.
.SH NOTES
events.
.PP
.\" FIXME . kernel commit 611da04f7a31b2208e838be55a42c7a1310ae321
-.\" implies that unmount events were buggy 2.6.11 to 2.6.36
+.\" implies that unmount events were buggy since Linux 2.6.11 to Linux 2.6.36
.\"
-In kernels before 2.6.16, the
+Before Linux 2.6.16, the
.B IN_ONESHOT
.I mask
flag does not work.
.B IN_IGNORED
event is generated in this case.
.PP
-Before kernel 2.6.25,
+Before Linux 2.6.25,
.\" commit 1c17d18e3775485bf1e0ce79575eb637a94494a2
the kernel code that was intended to coalesce successive identical events
(i.e., the two most recent events could potentially be coalesced
.BR setsockopt (2).
.\"
.TP
-.BR IP_ADD_SOURCE_MEMBERSHIP " (since Linux 2.4.22 / 2.5.68)"
+.BR IP_ADD_SOURCE_MEMBERSHIP " (since Linux 2.4.22 / Linux 2.5.68)"
Join a multicast group and allow receiving data only
from a specified source.
Argument is an
.BR IP_ADD_SOURCE_MEMBERSHIP .
.TP
.BR IP_FREEBIND " (since Linux 2.4)"
-.\" Precisely: 2.4.0-test10
+.\" Precisely: since Linux 2.4.0-test10
If enabled, this boolean option allows binding to an IP address
that is nonlocal or does not (yet) exist.
This permits listening on a socket,
refer to RFC 3376.
.TP
.BR IP_MTU " (since Linux 2.2)"
-.\" Precisely: 2.1.124
+.\" Precisely: since Linux 2.1.124
Retrieve the current known path MTU of the current socket.
Returns an integer.
.IP
and can be employed only when the socket has been connected.
.TP
.BR IP_MTU_DISCOVER " (since Linux 2.2)"
-.\" Precisely: 2.1.124
+.\" Precisely: since Linux 2.1.124
Set or receive the Path MTU Discovery setting for a socket.
When enabled, Linux will perform Path MTU Discovery
as defined in RFC\ 1191 on
sockets.
.TP
.BR IP_OPTIONS " (since Linux 2.0)"
-.\" Precisely: 1.3.30
+.\" Precisely: since Linux 1.3.30
Set or get the IP options to be sent with every packet from this socket.
The arguments are a pointer to a memory buffer containing the options
and the option length.
and this is never used for a control message type.
.TP
.BR IP_PKTINFO " (since Linux 2.2)"
-.\" Precisely: 2.1.68
+.\" Precisely: since Linux 2.1.68
Pass an
.B IP_PKTINFO
ancillary message that contains a
for the routing table lookup.
.TP
.BR IP_RECVERR " (since Linux 2.2)"
-.\" Precisely: 2.1.15
+.\" Precisely: since Linux 2.1.15
Enable extended reliable error message passing.
When enabled on a datagram socket, all
generated errors will be queued in a per-socket error queue.
defaults to off.
.TP
.BR IP_RECVOPTS " (since Linux 2.2)"
-.\" Precisely: 2.1.15
+.\" Precisely: since Linux 2.1.15
Pass all incoming IP options to the user in a
.B IP_OPTIONS
control message.
.IR "struct sockaddr_in" .
.TP
.BR IP_RECVTOS " (since Linux 2.2)"
-.\" Precisely: 2.1.68
+.\" Precisely: since Linux 2.1.68
If enabled, the
.B IP_TOS
ancillary message is passed with incoming packets.
Expects a boolean integer flag.
.TP
.BR IP_RECVTTL " (since Linux 2.2)"
-.\" Precisely: 2.1.68
+.\" Precisely: since Linux 2.1.68
When this flag is set, pass a
.B IP_TTL
control message with the time-to-live
sockets.
.TP
.BR IP_RETOPTS " (since Linux 2.2)"
-.\" Precisely: 2.1.15
+.\" Precisely: since Linux 2.1.15
Identical to
.BR IP_RECVOPTS ,
but returns raw unprocessed options with timestamp and route record
options not filled in for this hop.
.TP
.BR IP_ROUTER_ALERT " (since Linux 2.2)"
-.\" Precisely: 2.1.68
+.\" Precisely: since Linux 2.1.68
Pass all to-be forwarded packets with the
IP Router Alert option set to this socket.
Valid only for raw sockets.
.\"
.TP
.IR ip_always_defrag " (Boolean; since Linux 2.2.13)"
-[New with kernel 2.2.13; in earlier kernel versions this feature
+[New with Linux 2.2.13; in earlier kernel versions this feature
was controlled at compile time by the
.B CONFIG_IP_ALWAYS_DEFRAG
-option; this option is not present in 2.4.x and later]
+option; this option is not present in Linux 2.4.x and later]
.IP
When this boolean flag is enabled (not equal 0), incoming fragments
(parts of IP packets
proxying are configured.
.\"
.TP
-.IR ip_autoconfig " (since Linux 2.2 to 2.6.17)"
-.\" Precisely: since 2.1.68
+.IR ip_autoconfig " (since Linux 2.2 to Linux 2.6.17)"
+.\" Precisely: since Linux 2.1.68
.\" FIXME document ip_autoconfig
Not documented.
.\"
.TP
.IR ip_default_ttl " (integer; default: 64; since Linux 2.2)"
-.\" Precisely: 2.1.15
+.\" Precisely: since Linux 2.1.15
Set the default time-to-live value of outgoing packets.
This can be changed per socket with the
.B IP_TTL
.\"
.TP
.IR ip_local_port_range " (since Linux 2.2)"
-.\" Precisely: since 2.1.68
+.\" Precisely: since Linux 2.1.68
This file contains two integers that define the default local port range
allocated to sockets that are not explicitly bound to a port number\(emthat
is, the range used for
Path MTU Discovery globally, because not doing it incurs a high cost
to the network.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR ip_nonlocal_bind " (Boolean; default: disabled; since Linux 2.4)"
.\" Precisely: patch-2.4.0-test10
to nonlocal IP addresses,
which can be quite useful, but may break some applications.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR ip6frag_time " (integer; default: 30)"
Time in seconds to keep an IPv6 fragment in memory.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR ip6frag_secret_interval " (integer; default: 600)"
Regeneration interval (in seconds) of the hash secret (or lifetime
.\" IPV6_RECVRTHDR (2.6.14)
.\" IPV6_RECVDSTOPTS (2.6.14)
.\"
-.\" IPV6_RECVPATHMTU (2.6.35, flag value added in 2.6.14)
+.\" IPV6_RECVPATHMTU (Linux 2.6.35, flag value added in Linux 2.6.14)
.\" commit 793b14731686595a741d9f47726ad8b9a235385a
.\" Author: Brian Haley <brian.haley@hp.com>
-.\" IPV6_PATHMTU (2.6.35, flag value added in 2.6.14)
+.\" IPV6_PATHMTU (Linux 2.6.35, flag value added in Linux 2.6.14)
.\" commit 793b14731686595a741d9f47726ad8b9a235385a
.\" Author: Brian Haley <brian.haley@hp.com>
-.\" IPV6_DONTFRAG (2.6.35, flag value added in 2.6.14)
+.\" IPV6_DONTFRAG (Linux 2.6.35, flag value added in Linux 2.6.14)
.\" commit 793b14731686595a741d9f47726ad8b9a235385a
.\" Author: Brian Haley <brian.haley@hp.com>
.\" commit 4b340ae20d0e2366792abe70f46629e576adaf5e
.\" Author: Brian Haley <brian.haley@hp.com>
.\"
-.\" IPV6_RECVTCLASS (2.6.14)
+.\" IPV6_RECVTCLASS (Linux 2.6.14)
.\" commit 41a1f8ea4fbfcdc4232f023732584aae2220de31
.\" Author: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
.\" Based on patch from David L Stevens <dlstevens@us.ibm.com>
.\"
-.\" IPV6_CHECKSUM (2.2)
-.\" IPV6_NEXTHOP (2.2)
-.\" IPV6_JOIN_ANYCAST (2.4.21 / 2.6)
-.\" IPV6_LEAVE_ANYCAST (2.4.21 / 2.6)
-.\" IPV6_FLOWLABEL_MGR (2.2.7 / 2.4)
-.\" IPV6_FLOWINFO_SEND (2.2.7 / 2.4)
-.\" IPV6_IPSEC_POLICY (2.6)
-.\" IPV6_XFRM_POLICY (2.6)
-.\" IPV6_TCLASS (2.6)
+.\" IPV6_CHECKSUM (Linux 2.2)
+.\" IPV6_NEXTHOP (Linux 2.2)
+.\" IPV6_JOIN_ANYCAST (Linux 2.4.21 / Linux 2.6)
+.\" IPV6_LEAVE_ANYCAST (Linux 2.4.21 / Linux 2.6)
+.\" IPV6_FLOWLABEL_MGR (Linux 2.2.7 / Linux 2.4)
+.\" IPV6_FLOWINFO_SEND (Linux 2.2.7 / Linux 2.4)
+.\" IPV6_IPSEC_POLICY (Linux 2.6)
+.\" IPV6_XFRM_POLICY (Linux 2.6)
+.\" IPV6_TCLASS (Linux 2.6)
.\"
-.\" IPV6_ADDR_PREFERENCES (2.6.26)
+.\" IPV6_ADDR_PREFERENCES (Linux 2.6.26)
.\" commit 7cbca67c073263c179f605bdbbdc565ab29d801d
.\" Author: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
-.\" IPV6_MINHOPCOUNT (2.6.35)
+.\" IPV6_MINHOPCOUNT (Linux 2.6.35)
.\" commit e802af9cabb011f09b9c19a82faef3dd315f27eb
.\" Author: Stephen Hemminger <shemminger@vyatta.com>
-.\" IPV6_ORIGDSTADDR (2.6.37)
+.\" IPV6_ORIGDSTADDR (Linux 2.6.37)
.\" Actually a CMSG rather than a sockopt?
.\" In header file, we have IPV6_RECVORIGDSTADDR == IPV6_ORIGDSTADDR
.\" commit 6c46862280c5f55eda7750391bc65cd7e08c7535
.\" Author: Balazs Scheidler <bazsi@balabit.hu>
-.\" IPV6_RECVORIGDSTADDR (2.6.37)
+.\" IPV6_RECVORIGDSTADDR (Linux 2.6.37)
.\" commit 6c46862280c5f55eda7750391bc65cd7e08c7535
.\" Author: Balazs Scheidler <bazsi@balabit.hu>
.\" Support for IPV6_RECVORIGDSTADDR sockopt for UDP sockets
.\" were contributed by Harry Mason.
-.\" IPV6_TRANSPARENT (2.6.37)
+.\" IPV6_TRANSPARENT (Linux 2.6.37)
.\" commit 6c46862280c5f55eda7750391bc65cd7e08c7535
.\" Author: Balazs Scheidler <bazsi@balabit.hu>
-.\" IPV6_UNICAST_IF (3.4)
+.\" IPV6_UNICAST_IF (Linux 3.4)
.\" commit c4062dfc425e94290ac427a98d6b4721dd2bc91f
.\" Author: Erich E. Hoover <ehoover@mines.edu>
.\"
in_port_t sin6_port; /* port number */
uint32_t sin6_flowinfo; /* IPv6 flow information */
struct in6_addr sin6_addr; /* IPv6 address */
- uint32_t sin6_scope_id; /* Scope ID (new in 2.4) */
+ uint32_t sin6_scope_id; /* Scope ID (new in Linux 2.4) */
};
struct in6_addr {
.in
.SS POSIX.1-2008 extensions to the locale API
POSIX.1-2008 standardized a number of extensions to the locale API,
-based on implementations that first appeared in version 2.3
-of the GNU C library.
+based on implementations that first appeared in glibc 2.3.
These extensions are designed to address the problem that
the traditional locale APIs do not mix well with multithreaded applications
and with applications that must deal with multiple locales.
but, from the perspective of programmers writing new code,
this information probably matters only in the case of kernel
interfaces that have been added in Linux 2.4 or later
-(i.e., changes since kernel 2.2),
-and library functions that have been added to glibc since version 2.1
+(i.e., changes since Linux 2.2),
+and library functions that have been added to glibc since glibc 2.1
(i.e., changes since glibc 2.0).
.IP
The
is in use.
The standards require that at least one be in use,
but permit both to be available.
-The current (version 2.8) situation under glibc is messy.
+The current (glibc 2.8) situation under glibc is messy.
Most (but not all) functions raise exceptions on errors.
Some also set
.IR errno .
.BR unshare (1)
(since
.I util\-linux
-version 2.27) in turn reverses the step performed by
+ 2.27) in turn reverses the step performed by
.BR systemd (1),
by making all mounts private in the new namespace.
That is,
.TE
.RE
.SS Versions
-POSIX message queues have been supported on Linux since kernel 2.6.6.
-Glibc support has been provided since version 2.3.4.
+POSIX message queues have been supported since Linux 2.6.6.
+Glibc support has been provided since glibc 2.3.4.
.SS Kernel configuration
Support for POSIX message queues is configurable via the
.B CONFIG_POSIX_MQUEUE
.I msg_default
and
.IR msg_max .
-Up until Linux 2.6.28, the default
+Before Linux 2.6.28, the default
.I mq_maxmsg
was 10;
from Linux 2.6.28 to Linux 3.4, the default was the value defined for the
The default value for
.I msg_max
is 10.
-The minimum value is 1 (10 in kernels before 2.6.28).
+The minimum value is 1 (10 before Linux 2.6.28).
The upper limit is
.BR HARD_MSGMAX .
The
Up to Linux 2.6.32:
.I 131072\~/\~sizeof(void\~*)
.IP \(bu
-Linux 2.6.33 to 3.4:
+Linux 2.6.33 to Linux 3.4:
.I (32768\~*\~sizeof(void\~*) / 4)
.IP \(bu
Since Linux 3.5:
value is capped to the
.I msgsize_max
limit.
-Up until Linux 2.6.28, the default
+Before Linux 2.6.28, the default
.I mq_msgsize
was 8192;
from Linux 2.6.28 to Linux 3.4, the default was the value defined for the
The default value for
.I msgsize_max
is 8192 bytes.
-The minimum value is 128 (8192 in kernels before 2.6.28).
+The minimum value is 128 (8192 before Linux 2.6.28).
The upper limit for
.I msgsize_max
has varied across kernel versions:
Before Linux 2.6.28, the upper limit is
.BR INT_MAX .
.IP \(bu
-From Linux 2.6.28 to 3.4, the limit is 1,048,576.
+From Linux 2.6.28 to Linux 3.4, the limit is 1,048,576.
.IP \(bu
Since Linux 3.5, the limit is 16,777,216
.RB ( HARD_MSGSIZEMAX ).
on the other hand POSIX message queues are less widely available
(especially on older systems) than System V message queues.
.PP
-Linux does not currently (2.6.26) support the use of access control
+Linux does not currently (Linux 2.6.26) support the use of access control
lists (ACLs) for POSIX message queues.
.SH BUGS
-In Linux versions 3.5 to 3.14, the kernel imposed a ceiling of 1024
+Since Linux 3.5 to Linux 3.14, the kernel imposed a ceiling of 1024
.RB ( HARD_QUEUESMAX )
on the value to which the
.I queues_max
limit could be raised,
and the ceiling was enforced even for privileged processes.
This ceiling value was removed in Linux 3.14,
-and patches to stable kernels 3.5.x to 3.13.x also removed the ceiling.
+and patches to stable Linux 3.5.x to Linux 3.13.x also removed the ceiling.
.PP
As originally implemented (and documented),
the QSIZE field displayed the total number of (user-supplied)
structures,
.B EFAULT
will be returned.
-.\" Slaving isn't supported in 2.2
+.\" Slaving isn't supported in Linux 2.2
.\" .
.\" .TP
.\" .BR SIOCGIFSLAVE ", " SIOCSIFSLAVE
packet classifiers (see
.BR rtnetlink (7)).
.TP
-.BR NETLINK_W1 " (Linux 2.6.13 to 2.16.17)"
+.BR NETLINK_W1 " (Linux 2.6.13 to Linux 2.16.17)"
Messages from 1-wire subsystem.
.TP
.B NETLINK_USERSOCK
(or
.I /Documentation/connector/connector.*
.\" commit baa293e9544bea71361950d071579f0e4d5713ed
-in kernel 5.2 and earlier)
+in Linux 5.2 and earlier)
in the Linux kernel source tree for further information.
.TP
.BR NETLINK_NETFILTER " (since Linux 2.6.14)"
As currently implemented on Linux, the maximum number
.\" MAXSYMLINKS is 40
of symbolic links that will be followed while resolving a pathname is 40.
-In kernels before 2.6.18, the limit on the recursion depth was 5.
+Before Linux 2.6.18, the limit on the recursion depth was 5.
Starting with Linux 2.6.18, this limit
.\" MAX_NESTED_LINKS
was raised to 8.
as soon as it is available,
so that a writing process does not remain blocked.
.PP
-In Linux versions before 2.6.11, the capacity of a pipe was the same as
+Before Linux 2.6.11, the capacity of a pipe was the same as
the system page size (e.g., 4096 bytes on i386).
Since Linux 2.6.11, the pipe capacity is 16 pages
(i.e., 65,536 bytes in a system with a page size of 4096 bytes).
command.
On Linux,
.B O_ASYNC
-is supported for pipes and FIFOs only since kernel 2.6.
+is supported for pipes and FIFOs only since Linux 2.6.
.SS Portability notes
On some systems (but not Linux), pipes are bidirectional:
data can be transmitted in both directions between the pipe ends.
.BR times (2)
and
.BR getrusage (2)
-is per-thread rather than process-wide (fixed in kernel 2.6.9).
+is per-thread rather than process-wide (fixed in Linux 2.6.9).
.IP \(bu
-Threads do not share resource limits (fixed in kernel 2.6.10).
+Threads do not share resource limits (fixed in Linux 2.6.10).
.IP \(bu
-Threads do not share interval timers (fixed in kernel 2.6.12).
+Threads do not share interval timers (fixed in Linux 2.6.12).
.IP \(bu
Only the main thread is permitted to start a new session using
.BR setsid (2)
-(fixed in kernel 2.6.16).
+(fixed in Linux 2.6.16).
.IP \(bu
Only the main thread is permitted to make the process into a
process group leader using
.BR setpgid (2)
-(fixed in kernel 2.6.16).
+(fixed in Linux 2.6.16).
.IP \(bu
Threads have distinct alternate signal stack settings.
However, a new thread's alternate signal stack settings
are copied from the thread that created it, so that
the threads initially share an alternate signal stack
-(fixed in kernel 2.6.16).
+(fixed in Linux 2.6.16).
.PP
Note the following further points about the NPTL implementation:
.IP \(bu 3
System V-style terminals are commonly called UNIX 98 pseudoterminals
on Linux systems.
.PP
-Since kernel 2.6.4, BSD-style pseudoterminals are considered deprecated:
+Since Linux 2.6.4, BSD-style pseudoterminals are considered deprecated:
support can be disabled when building the kernel by disabling the
.B CONFIG_LEGACY_PTYS
option.
.PP
The Linux kernel imposes a limit on the number of available
UNIX 98 pseudoterminals.
-In kernels up to and including 2.6.3, this limit is configured
+Up to and including Linux 2.6.3, this limit is configured
at kernel compilation time
.RB ( CONFIG_UNIX98_PTYS ),
and the permitted number of pseudoterminals can be up to 2048,
with a default setting of 256.
-Since kernel 2.6.4, the limit is dynamically adjustable via
+Since Linux 2.6.4, the limit is dynamically adjustable via
.IR /proc/sys/kernel/pty/max ,
and a corresponding file,
.IR /proc/sys/kernel/pty/nr ,
Add, remove, or receive information about an IP address associated with
an interface.
In Linux 2.2, an interface can carry multiple IP addresses,
-this replaces the alias device concept in 2.0.
+this replaces the alias device concept in Linux 2.0.
In Linux 2.2, these messages
support IPv4 and IPv6 addresses.
They contain an
.BR pthread_setschedprio (3)
should result in the thread being placed at the end of
the list for its priority.
-.\" In 2.2.x and 2.4.x, the thread is placed at the front of the queue
-.\" In 2.0.x, the Right Thing happened: the thread went to the back -- MTK
+.\" In Linux 2.2.x and Linux 2.4.x, the thread is placed at the front of the queue
+.\" In Linux 2.0.x, the Right Thing happened: the thread went to the back -- MTK
.IP \(bu
A thread calling
.BR sched_yield (2)
.\" by the process nice value -- MTK
.\"
.SS SCHED_DEADLINE: Sporadic task model deadline scheduling
-Since version 3.14, Linux provides a deadline scheduling policy
+Since Linux 3.14, Linux provides a deadline scheduling policy
.RB ( SCHED_DEADLINE ).
This policy is currently implemented using
GEDF (Global Earliest Deadline First)
varies across UNIX systems.
On modern Linux, the range is \-20 (high priority) to +19 (low priority).
On some other systems, the range is \-20..20.
-Very early Linux kernels (Before Linux 2.0) had the range \-infinity..15.
+Very early Linux kernels (before Linux 2.0) had the range \-infinity..15.
.\" Linux before 1.3.36 had \-infinity..15.
-.\" Since kernel 1.3.43, Linux has the range \-20..19.
+.\" Since Linux 1.3.43, Linux has the range \-20..19.
.PP
The degree to which the nice value affects the relative scheduling of
.B SCHED_OTHER
processes likewise varies across UNIX systems and
across Linux kernel versions.
.PP
-With the advent of the CFS scheduler in kernel 2.6.23,
+With the advent of the CFS scheduler in Linux 2.6.23,
Linux adopted an algorithm that causes
relative differences in nice values to have a much stronger effect.
In the current implementation, each unit of difference in the
.BR fork (2).
.\"
.SS Privileges and resource limits
-In Linux kernels before 2.6.12, only privileged
+Before Linux 2.6.12, only privileged
.RB ( CAP_SYS_NICE )
threads can set a nonzero static priority (i.e., set a real-time
scheduling policy).
Special rules apply for the
.B SCHED_IDLE
policy.
-In Linux kernels before 2.6.39,
+Before Linux 2.6.39,
an unprivileged thread operating under this policy cannot
change its policy, regardless of the value of its
.B RLIMIT_RTPRIO
resource limit.
-In Linux kernels since 2.6.39,
+Since Linux 2.6.39,
.\" commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8
an unprivileged thread can switch to either the
.B SCHED_BATCH
.B SCHED_DEADLINE
policy can potentially block all other threads from accessing
the CPU forever.
-Prior to Linux 2.6.25, the only way of preventing a runaway real-time
+Before Linux 2.6.25, the only way of preventing a runaway real-time
process from freezing the system was to run (at the console)
a shell scheduled under a higher static priority than the tested application.
This allows an emergency kill of tested
.BR getrlimit (2)
for details.
.PP
-Since version 2.6.25, Linux also provides two
+Since Linux 2.6.25, Linux also provides two
.I /proc
files that can be used to reserve a certain amount of CPU time
to be used by non-real-time processes.
.BR INT_MAX \-1.
Specifying \-1 makes the run time the same as the period;
that is, no CPU time is set aside for non-real-time processes
-(which was the Linux behavior before kernel 2.6.25).
+(which was the behavior before Linux 2.6.25).
The default value in this file is 950,000 (0.95 seconds),
meaning that 5% of the CPU time is reserved for processes that
don't run under a real-time or deadline scheduling policy.
.SS Real-time features in the mainline Linux kernel
.\" FIXME . Probably this text will need some minor tweaking
.\" ask Carsten Emde about this.
-Since kernel version 2.6.18, Linux is gradually
+Since Linux 2.6.18, Linux is gradually
becoming equipped with real-time capabilities,
most of which are derived from the former
.I realtime\-preempt
system being able to handle background processes, interactive
applications, and less demanding real-time applications (applications that
need to usually meet timing deadlines).
-Although the Linux kernel 2.6
+Although the Linux 2.6
allowed for kernel preemption and the newly introduced O(1) scheduler
ensures that the time needed to schedule is fixed and deterministic
irrespective of the number of active tasks, true real-time computing
-was not possible up to kernel version 2.6.17.
+was not possible up to Linux 2.6.17.
.SH SEE ALSO
.ad l
.nh
The remainder of this section describes some specific details
of the Linux implementation of POSIX semaphores.
.SS Versions
-Prior to kernel 2.6, Linux supported only unnamed,
+Before Linux 2.6, Linux supported only unnamed,
thread-shared semaphores.
On a system with Linux 2.6 and a glibc that provides the NPTL
threading implementation,
.RB ( tmpfs (5))
virtual filesystem, normally mounted under
.IR /dev/shm .
-Since kernel 2.6.19, Linux supports the use of access control lists (ACLs)
+Since Linux 2.6.19, Linux supports the use of access control lists (ACLs)
to control the permissions of objects in the virtual filesystem.
.SH NOTES
Typically, processes must synchronize their access to a shared
on SPARC.
.\"
.SS Real-time signals
-Starting with version 2.2,
+Starting with Linux 2.2,
Linux supports real-time signals as originally defined in the POSIX.1b
real-time extensions (and now included in POSIX.1-2001).
The range of supported real-time signals is defined by the macros
(32) real-time signals to be queued to
a process.
However, Linux does things differently.
-In kernels up to and including 2.6.7, Linux imposes
+Up to and including Linux 2.6.7, Linux imposes
a system-wide limit on the number of queued real-time signals
for all processes.
This limit can be viewed and (with privilege) changed via the
.\" If a timeout (setsockopt()) is in effect on the socket, then these
.\" system calls switch to using EINTR. Consequently, they and are not
.\" automatically restarted, and they show the stop/cont behavior
-.\" described below. (Verified from 2.6.26 source, and by experiment; mtk)
+.\" described below. (Verified from Linux 2.6.26 source, and by experiment; mtk)
.BR accept (2),
.BR connect (2),
.BR recv (2),
bytes are available.
.TP
.BR SO_RCVTIMEO " and " SO_SNDTIMEO
-.\" Not implemented in 2.0.
-.\" Implemented in 2.1.11 for getsockopt: always return a zero struct.
-.\" Implemented in 2.3.41 for setsockopt, and actually used.
+.\" Not implemented in Linux 2.0.
+.\" Implemented in Linux 2.1.11 for getsockopt: always return a zero struct.
+.\" Implemented in Linux 2.3.41 for setsockopt, and actually used.
Specify the receiving or sending timeouts until reporting an error.
The argument is a
.IR "struct timeval" .
.\" Author: Pavel Emelyanov <xemul@parallels.com>
.\"
.\" TCP_FASTOPEN (3.6)
-.\" (Fast Open server side implementation completed in 3.7)
+.\" (Fast Open server side implementation completed in Linux 3.7)
.\" http://lwn.net/Articles/508865/
.\"
.\" TCP_TIMESTAMP (3.9)
meaning that the option is disabled.
.TP
.IR tcp_abc " (Integer; default: 0; Linux 2.6.15 to Linux 3.8)"
-.\" Since 2.6.15; removed in 3.9
+.\" Since Linux 2.6.15; removed in Linux 3.9
.\" commit ca2eb5679f8ddffff60156af42595df44a315ef0
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
Control the Appropriate Byte Count (ABC), defined in RFC 3465.
ABC is a way of increasing the congestion window
.RI ( cwnd )
.RE
.TP
.IR tcp_abort_on_overflow " (Boolean; default: disabled; since Linux 2.4)"
-.\" Since 2.3.41
+.\" Since Linux 2.3.41
Enable resetting connections if the listening service is too
slow and unable to keep up and accept them.
It means that if overflow occurred due
Enabling this option can harm the clients of your server.
.TP
.IR tcp_adv_win_scale " (integer; default: 2; since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
Count buffering overhead as
.IR "bytes/2^tcp_adv_win_scale" ,
if
used for the application buffer is one fourth that of the total.
.TP
.IR tcp_allowed_congestion_control " (String; default: see text; since Linux 2.4.20)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
Show/set the congestion control algorithm choices available to unprivileged
processes (see the description of the
.B TCP_CONGESTION
when they know how/when to uncork their sockets.
.TP
.IR tcp_available_congestion_control " (String; read-only; since Linux 2.4.20)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
Show a list of the congestion-control algorithms
that are registered.
The items in the list are separated by white space and
but not loaded.
.TP
.IR tcp_app_win " (integer; default: 31; since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
This variable defines how many
bytes of the TCP window are reserved for buffering overhead.
.IP
are reserved for the application buffer.
A value of 0 implies that no amount is reserved.
.\"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_base_mss " (Integer; default: 512; since Linux 2.6.17)"
The initial value of
If MTU probing is enabled,
this is the initial MSS used by the connection.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_bic " (Boolean; default: disabled; Linux 2.4.27/2.6.6 to 2.6.13)"
+.IR tcp_bic " (Boolean; default: disabled; Linux 2.4.27/2.6.6 to Linux 2.6.13)"
Enable BIC TCP congestion control algorithm.
BIC-TCP is a sender-side-only change that ensures a linear RTT
fairness under large windows while offering both scalability and
Under small congestion windows, binary search
increase provides TCP friendliness.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_bic_low_window " (integer; default: 14; Linux 2.4.27/2.6.6 to 2.6.13)"
+.IR tcp_bic_low_window " (integer; default: 14; Linux 2.4.27/2.6.6 to Linux 2.6.13)"
Set the threshold window (in packets) where BIC TCP starts to
adjust the congestion window.
Below this threshold BIC TCP behaves the same as the default TCP Reno.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_bic_fast_convergence " (Boolean; default: enabled; Linux 2.4.27/2.6.6 to 2.6.13)"
+.IR tcp_bic_fast_convergence " (Boolean; default: enabled; Linux 2.4.27/2.6.6 to Linux 2.6.13)"
Force BIC TCP to more quickly respond to changes in congestion window.
Allows two flows sharing the same connection to converge more rapidly.
.TP
.IR tcp_congestion_control " (String; default: see text; since Linux 2.4.13)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
Set the default congestion-control algorithm to be used for new connections.
The algorithm "reno" is always available,
but additional choices may be available depending on kernel configuration.
option.
.TP
.IR tcp_dsack " (Boolean; default: enabled; since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
Enable RFC\ 2883 TCP Duplicate SACK support.
.TP
.IR tcp_fastopen " (Bitmask; default: 0x1; since Linux 3.7)"
when server side Fast Open support is enabled.
.TP
.IR tcp_ecn " (Integer; default: see below; since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
Enable RFC\ 3168 Explicit Congestion Notification.
.IP
This file can have one of the following values:
ECE cleared.
.TP
.IR tcp_fack " (Boolean; default: enabled; since Linux 2.2)"
-.\" Since 2.1.92
+.\" Since Linux 2.1.92
Enable TCP Forward Acknowledgement support.
.TP
.IR tcp_fin_timeout " (integer; default: 60; since Linux 2.2)"
-.\" Since 2.1.53
+.\" Since Linux 2.1.53
This specifies how many seconds to wait for a final FIN packet before the
socket is forcibly closed.
This is strictly a violation of the TCP specification,
but required to prevent denial-of-service attacks.
In Linux 2.2, the default value was 180.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_frto " (integer; default: see below; since Linux 2.4.21/2.6)"
-.\" Since 2.4.21/2.5.43
+.\" Since Linux 2.4.21/2.5.43
Enable F-RTO, an enhanced recovery algorithm for TCP retransmission
timeouts (RTOs).
It is particularly beneficial in wireless environments
.RE
.TP
.IR tcp_keepalive_intvl " (integer; default: 75; since Linux 2.4)"
-.\" Since 2.3.18
+.\" Since Linux 2.3.18
The number of seconds between TCP keep-alive probes.
.TP
.IR tcp_keepalive_probes " (integer; default: 9; since Linux 2.2)"
-.\" Since 2.1.43
+.\" Since Linux 2.1.43
The maximum number of TCP keep-alive probes to send
before giving up and killing the connection if
no response is obtained from the other end.
.TP
.IR tcp_keepalive_time " (integer; default: 7200; since Linux 2.2)"
-.\" Since 2.1.43
+.\" Since Linux 2.1.43
The number of seconds a connection needs to be idle
before TCP begins sending out keep-alive probes.
Keep-alives are sent only when the
Note that underlying connection tracking mechanisms and
application timeouts may be much shorter.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_low_latency " (Boolean; default: disabled; since Linux 2.4.21/2.6; \
obsolete since Linux 4.14)"
-.\" Since 2.4.21/2.5.60
+.\" Since Linux 2.4.21/2.5.60
If enabled, the TCP stack makes decisions that prefer lower
latency as opposed to higher throughput.
It this option is disabled, then higher throughput is preferred.
this file still exists, but its value is ignored.
.TP
.IR tcp_max_orphans " (integer; default: see below; since Linux 2.4)"
-.\" Since 2.3.41
+.\" Since Linux 2.3.41
The maximum number of orphaned (not attached to any user file
handle) TCP sockets allowed in the system.
When this number is exceeded,
This initial default is adjusted depending on the memory in the system.
.TP
.IR tcp_max_syn_backlog " (integer; default: see below; since Linux 2.2)"
-.\" Since 2.1.53
+.\" Since Linux 2.1.53
The maximum number of queued connection requests which have
still not received an acknowledgement from the connecting client.
If this number is exceeded, the kernel will begin
greater (>= 128\ MB), and reduced to 128 for those systems with
very low memory (<= 32\ MB).
.IP
-Prior to Linux 2.6.20,
+Before Linux 2.6.20,
.\" commit 72a3effaf633bcae9034b7e176bdbd78d64a71db
it was recommended that if this needed to be increased above 1024,
the size of the SYNACK hash table
was removed in favor of dynamic sizing.
.TP
.IR tcp_max_tw_buckets " (integer; default: see below; since Linux 2.4)"
-.\" Since 2.3.41
+.\" Since Linux 2.3.41
The maximum number of sockets in TIME_WAIT state allowed in
the system.
This limit exists only to prevent simple denial-of-service attacks.
exceeded, the socket is closed and a warning is printed.
.TP
.IR tcp_moderate_rcvbuf " (Boolean; default: enabled; since Linux 2.4.17/2.6.7)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
If enabled, TCP performs receive buffer auto-tuning,
attempting to automatically size the buffer (no greater than
.IR tcp_rmem[2] )
to match the size required by the path for full throughput.
.TP
.IR tcp_mem " (since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
This is a vector of 3 integers: [low, pressure, high].
These bounds, measured in units of the system page size,
are used by TCP to track its memory usage.
.RE
.TP
.IR tcp_mtu_probing " (integer; default: 0; since Linux 2.6.17)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
This parameter controls TCP Packetization-Layer Path MTU Discovery.
The following values may be assigned to the file:
.RS
.RE
.TP
.IR tcp_no_metrics_save " (Boolean; default: disabled; since Linux 2.6.6)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
By default, TCP saves various connection metrics in the route cache
when the connection closes, so that connections established in the
near future can use these to set initial conditions.
is enabled, TCP will not cache metrics on closing connections.
.TP
.IR tcp_orphan_retries " (integer; default: 8; since Linux 2.4)"
-.\" Since 2.3.41
+.\" Since Linux 2.3.41
The maximum number of attempts made to probe the other
end of a connection which has been closed by our end.
.TP
.IR tcp_reordering " (integer; default: 3; since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
The maximum a packet can be reordered in a TCP packet stream
without TCP assuming packet loss and going into slow start.
It is not advisable to change this number.
reordering of packets on a connection.
.TP
.IR tcp_retrans_collapse " (Boolean; default: enabled; since Linux 2.2)"
-.\" Since 2.1.96
+.\" Since Linux 2.1.96
Try to send full-sized packets during retransmit.
.TP
.IR tcp_retries1 " (integer; default: 3; since Linux 2.2)"
-.\" Since 2.1.43
+.\" Since Linux 2.1.43
The number of times TCP will attempt to retransmit a
packet on an established connection normally,
without the extra effort of getting the network layers involved.
The default is the RFC specified minimum of 3.
.TP
.IR tcp_retries2 " (integer; default: 15; since Linux 2.2)"
-.\" Since 2.1.43
+.\" Since Linux 2.1.43
The maximum number of times a TCP packet is retransmitted
in established state before giving up.
The default value is 15, which corresponds to a duration of
minimum limit of 100 seconds is typically deemed too short.
.TP
.IR tcp_rfc1337 " (Boolean; default: disabled; since Linux 2.2)"
-.\" Since 2.1.90
+.\" Since Linux 2.1.90
Enable TCP behavior conformant with RFC\ 1337.
When disabled,
if a RST is received in TIME_WAIT state, we close
of the TIME_WAIT period.
.TP
.IR tcp_rmem " (since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
This is a vector of 3 integers: [min, default, max].
These parameters are used by TCP to regulate receive buffer sizes.
TCP dynamically adjusts the size of the
.RE
.TP
.IR tcp_sack " (Boolean; default: enabled; since Linux 2.2)"
-.\" Since 2.1.36
+.\" Since Linux 2.1.36
Enable RFC\ 2018 TCP Selective Acknowledgements.
.TP
.IR tcp_slow_start_after_idle " (Boolean; default: enabled; since Linux 2.6.18)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
If enabled, provide RFC 2861 behavior and time out the congestion
window after an idle period.
An idle period is defined as the current RTO (retransmission timeout).
be timed out after an idle period.
.TP
.IR tcp_stdurg " (Boolean; default: disabled; since Linux 2.2)"
-.\" Since 2.1.44
+.\" Since Linux 2.1.44
If this option is enabled, then use the RFC\ 1122 interpretation
of the TCP urgent-pointer field.
.\" RFC 793 was ambiguous in its specification of the meaning of the
Enabling this option may lead to interoperability problems.
.TP
.IR tcp_syn_retries " (integer; default: 6; since Linux 2.2)"
-.\" Since 2.1.38
+.\" Since Linux 2.1.38
The maximum number of times initial SYNs for an active TCP
connection attempt will be retransmitted.
This value should not be higher than 255.
corresponded to approximately 180 seconds.
.TP
.IR tcp_synack_retries " (integer; default: 5; since Linux 2.2)"
-.\" Since 2.1.38
+.\" Since Linux 2.1.38
The maximum number of times a SYN/ACK segment
for a passive TCP connection will be retransmitted.
This number should not be higher than 255.
.TP
.IR tcp_syncookies " (integer; default: 1; since Linux 2.2)"
-.\" Since 2.1.43
+.\" Since Linux 2.1.43
Enable TCP syncookies.
The kernel must be compiled with
.BR CONFIG_SYN_COOKIES .
.RE
.TP
.IR tcp_timestamps " (integer; default: 1; since Linux 2.2)"
-.\" Since 2.1.36
+.\" Since Linux 2.1.36
Set to one of the following values to enable or disable RFC\ 1323
TCP timestamps:
.RS
The setting of this parameter is a tradeoff between burstiness and
building larger TSO frames.
.TP
-.IR tcp_tw_recycle " (Boolean; default: disabled; Linux 2.4 to 4.11)"
-.\" Since 2.3.15
-.\" removed in 4.12; commit 4396e46187ca5070219b81773c4e65088dac50cc
+.IR tcp_tw_recycle " (Boolean; default: disabled; Linux 2.4 to Linux 4.11)"
+.\" Since Linux 2.3.15
+.\" removed in Linux 4.12; commit 4396e46187ca5070219b81773c4e65088dac50cc
Enable fast recycling of TIME_WAIT sockets.
Enabling this option is
not recommended as the remote IP may not use monotonically increasing
offsets).
See RFC 1323 (PAWS) and RFC 6191.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_tw_reuse " (Boolean; default: disabled; since Linux 2.4.19/2.6)"
-.\" Since 2.4.19/2.5.43
+.\" Since Linux 2.4.19/2.5.43
Allow to reuse TIME_WAIT sockets for new connections when it is
safe from protocol viewpoint.
It should not be changed without advice/request of technical experts.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_vegas_cong_avoid " (Boolean; default: disabled; Linux 2.2 to 2.6.13)"
-.\" Since 2.1.8; removed in 2.6.13
+.IR tcp_vegas_cong_avoid " (Boolean; default: disabled; Linux 2.2 to Linux 2.6.13)"
+.\" Since Linux 2.1.8; removed in Linux 2.6.13
Enable TCP Vegas congestion avoidance algorithm.
TCP Vegas is a sender-side-only change to TCP that anticipates
the onset of congestion by estimating the bandwidth.
TCP Vegas should provide less packet loss, but it is
not as aggressive as TCP Reno.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_westwood " (Boolean; default: disabled; Linux 2.4.26/2.6.3 to 2.6.13)"
+.IR tcp_westwood " (Boolean; default: disabled; Linux 2.4.26/2.6.3 to Linux 2.6.13)"
Enable TCP Westwood+ congestion control algorithm.
TCP Westwood+ is a sender-side-only modification of the TCP Reno
protocol stack that optimizes the performance of TCP congestion control.
TCP Reno in wired networks and throughput over wireless links.
.TP
.IR tcp_window_scaling " (Boolean; default: enabled; since Linux 2.2)"
-.\" Since 2.1.36
+.\" Since Linux 2.1.36
Enable RFC\ 1323 TCP window scaling.
This feature allows the use of a large window
(> 64\ kB) on a TCP connection, should the other end support it.
scaling with the other end during connection setup.
.TP
.IR tcp_wmem " (since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
This is a vector of 3 integers: [min, default, max].
These parameters are used by TCP to regulate send buffer sizes.
TCP dynamically adjusts the size of the send buffer from the
above).
.TP
.BR TCP_CORK " (since Linux 2.2)"
-.\" precisely: since 2.1.127
+.\" precisely: since Linux 2.1.127
If set, don't send out partial frames.
All queued partial frames are sent when the option is cleared again.
This is useful for prepending headers before calling
This option should not be used in code intended to be portable.
.TP
.BR TCP_DEFER_ACCEPT " (since Linux 2.4)"
-.\" Precisely: since 2.3.38
+.\" Precisely: since Linux 2.3.38
.\" Useful references:
.\" http://www.techrepublic.com/article/take-advantage-of-tcp-ip-options-to-optimize-data-transmission/
.\" http://unix.stackexchange.com/questions/94104/real-world-use-of-tcp-defer-accept
This option should not be used in code intended to be portable.
.TP
.BR TCP_KEEPCNT " (since Linux 2.4)"
-.\" Precisely: since 2.3.18
+.\" Precisely: since Linux 2.3.18
The maximum number of keepalive probes TCP should send
before dropping the connection.
This option should not be
used in code intended to be portable.
.TP
.BR TCP_KEEPIDLE " (since Linux 2.4)"
-.\" Precisely: since 2.3.18
+.\" Precisely: since Linux 2.3.18
The time (in seconds) the connection needs to remain idle
before TCP starts sending keepalive probes, if the socket
option
This option should not be used in code intended to be portable.
.TP
.BR TCP_KEEPINTVL " (since Linux 2.4)"
-.\" Precisely: since 2.3.18
+.\" Precisely: since Linux 2.3.18
The time (in seconds) between individual keepalive probes.
This option should not be used in code intended to be portable.
.TP
.BR TCP_LINGER2 " (since Linux 2.4)"
-.\" Precisely: since 2.3.41
+.\" Precisely: since Linux 2.3.41
The lifetime of orphaned FIN_WAIT2 state sockets.
This option can be used to override the system-wide setting in the file
.I /proc/sys/net/ipv4/tcp_fin_timeout
portable.
.TP
.BR TCP_SYNCNT " (since Linux 2.4)"
-.\" Precisely: since 2.3.18
+.\" Precisely: since Linux 2.3.18
Set the number of SYN retransmits that TCP should send before
aborting the attempt to connect.
It cannot exceed 255.
RFC\ 793 and RFC\ 5482 ("TCP User Timeout Option").
.TP
.BR TCP_WINDOW_CLAMP " (since Linux 2.4)"
-.\" Precisely: since 2.3.41
+.\" Precisely: since Linux 2.3.41
Bound the size of the advertised window to this value.
The kernel imposes a minimum size of SOCK_MIN_RCVBUF/2.
This option should not be used in code intended to be
.B MSG_PEEK
flag.
.PP
-Since version 2.4, Linux supports the use of
+Since Linux 2.4, Linux supports the use of
.B MSG_TRUNC
in the
.I flags
Support for Explicit Congestion Notification, zero-copy
.BR sendfile (2),
reordering support and some SACK extensions
-(DSACK) were introduced in 2.4.
+(DSACK) were introduced in Linux 2.4.
Support for forward acknowledgement (FACK), TIME_WAIT recycling,
-and per-connection keepalive socket options were introduced in 2.3.
+and per-connection keepalive socket options were introduced in Linux 2.3.
.SH BUGS
Not all errors are documented.
.PP
giving a jiffy value of 0.01 seconds;
starting with 2.6.0, HZ was raised to 1000, giving a jiffy of
0.001 seconds.
-Since kernel 2.6.13, the HZ value is a kernel
+Since Linux 2.6.13, the HZ value is a kernel
configuration parameter and can be 100, 250 (the default) or 1000,
yielding a jiffies value of, respectively, 0.01, 0.004, or 0.001 seconds.
-Since kernel 2.6.20, a further frequency is available:
+Since Linux 2.6.20, a further frequency is available:
300, a number that divides evenly for the common video
frame rates (PAL, 25 Hz; NTSC, 30 Hz).
.PP
the option is disabled.
This option should not be used in code intended to be
portable.
-.\" FIXME document UDP_ENCAP (new in kernel 2.5.67)
+.\" FIXME document UDP_ENCAP (new in Linux 2.5.67)
.\" From include/linux/udp.h:
.\" UDP_ENCAP_ESPINUDP_NON_IKE draft-ietf-ipsec-nat-t-ike-00/01
.\" UDP_ENCAP_ESPINUDP draft-ietf-ipsec-udp-encaps-06
.BR EINVAL .
.B SCM_MAX_FD
has the value 253
-(or 255 in kernels
.\" commit bba14de98753cb6599a2dae0e520714b2153522d
-before 2.6.38).
+(or 255 before Linux 2.6.38).
.TP
.B SCM_CREDENTIALS
Send or receive UNIX credentials.
.B CLONE_NEWUSER
flag.
.PP
-The kernel imposes (since version 3.11) a limit of 32 nested levels of
+The kernel imposes (since Linux 3.11) a limit of 32 nested levels of
.\" commit 8742f229b635bf1c1c84a3dfe5e47c814c20b5c8
user namespaces.
.\" FIXME Explain the rationale for this limit. (What is the rationale?)
.ft P
\}
.PP
-In kernel versions before Linux 5.6,
+Before Linux 5.6,
.\" commit 654abc69ef2e69712e6d4e8a6cb9292b97a4aa39
the
.B CLOCK_REALTIME_COARSE
.ft P
\}
.PP
-In kernel versions before Linux 4.16,
+Before Linux 4.16,
.\" commit 5c929885f1bb4b77f85b1769c49405a0e0f154a1
the
.B CLOCK_REALTIME_COARSE
.B \-\-list
List all dependencies and how they are resolved.
.TP
-.BR \-\-list\-tunables " (since 2.33)"
+.BR \-\-list\-tunables " (since glibc 2.33)"
Print the names and values of all tunables,
along with the minimum and maximum allowed values.
.TP
By default, when searching shared libraries to resolve a symbol reference,
the dynamic linker will resolve to the first definition it finds.
.IP
-Old glibc versions (before 2.2), provided a different behavior:
+Old glibc versions (before glibc 2.2), provided a different behavior:
if the linker found a symbol that was weak,
it would remember that symbol and
keep searching in the remaining shared libraries.
.B LD_ORIGIN_PATH
is ignored in secure-execution mode.
.TP
-.BR LD_POINTER_GUARD " (glibc from 2.4 to 2.22)"
+.BR LD_POINTER_GUARD " (from glibc 2.4 to glibc 2.22)"
Set to 0 to disable pointer guarding.
Any other value enables pointer guarding, which is also the default.
Pointer guarding is a security mechanism whereby some pointers to code