summaryrefslogtreecommitdiffstats
path: root/man2/syscalls.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/syscalls.2')
-rw-r--r--man2/syscalls.2128
1 files changed, 64 insertions, 64 deletions
diff --git a/man2/syscalls.2 b/man2/syscalls.2
index 2014a8ea9..fd03be075 100644
--- a/man2/syscalls.2
+++ b/man2/syscalls.2
@@ -23,7 +23,7 @@ and the Linux kernel.
System calls are generally not invoked directly,
but rather via wrapper functions in glibc (or perhaps some other library).
For details of direct invocation of a system call, see
-.BR intro (2).
+.MR intro 2 .
Often, but not always, the name of the wrapper function is the same
as the name of the system call that it invokes.
For example, glibc contains a function
@@ -37,13 +37,13 @@ and then setting
.I errno
appropriately after the system call has returned.
(These are the same steps that are performed by
-.BR syscall (2),
+.MR syscall 2 ,
which can be used to invoke system calls
for which no wrapper function is provided.)
Note: system calls indicate a failure by returning a negative error
number to the caller on architectures without a separate error register/flag,
as noted in
-.BR syscall (2);
+.MR syscall 2 ;
when this happens,
the wrapper function negates the returned error number
(to make it positive), copies it to
@@ -54,9 +54,9 @@ Sometimes, however, the wrapper function does some extra work
before invoking the system call.
For example, nowadays there are (for reasons described below) two
related system calls,
-.BR truncate (2)
+.MR truncate 2
and
-.BR truncate64 (2),
+.MR truncate64 2 ,
and the glibc
.BR truncate ()
wrapper function checks which of those system calls
@@ -596,7 +596,7 @@ T}
\fBs390_guarded_storage\fP(2) 4.12 s390 only
\fBsched_get_affinity\fP(2) 2.6 T{
Name of
-.BR \%sched_getaffinity (2)
+.MR sched_getaffinity 2
on SPARC and SPARC64
T}
\fBsched_get_priority_max\fP(2) 2.0
@@ -608,7 +608,7 @@ T}
\fBsched_rr_get_interval\fP(2) 2.0
\fBsched_set_affinity\fP(2) 2.6 T{
Name of
-.BR \%sched_setaffinity (2)
+.MR sched_setaffinity 2
on SPARC and SPARC64
T}
\fBsched_setaffinity\fP(2) 2.6
@@ -836,9 +836,9 @@ T}
.P
On many platforms, including x86-32, socket calls are all multiplexed
(via glibc wrapper functions) through
-.BR socketcall (2)
+.MR socketcall 2
and similarly System\ V IPC calls are multiplexed through
-.BR ipc (2).
+.MR ipc 2 .
.P
Although slots are reserved for them in the system call table,
the following system calls are not implemented in the standard kernel:
@@ -863,30 +863,30 @@ the following system calls are not implemented in the standard kernel:
.BR tuxcall (2), \" __NR_tuxcall is 184 on x86_64, also on PPC and alpha
.BR ulimit (2), \" __NR_ulimit is 58 on Linux 2.6.22/i386
and
-.BR vserver (2) \" __NR_vserver is 273 on Linux 2.6.22/i386
+.MR vserver 2 \" __NR_vserver is 273 on Linux 2.6.22/i386
(see also
-.BR unimplemented (2)).
+.MR unimplemented 2 ).
However,
-.BR ftime (3),
-.BR profil (3),
+.MR ftime 3 ,
+.MR profil 3 ,
and
-.BR ulimit (3)
+.MR ulimit 3
exist as library routines.
The slot for
-.BR phys (2)
+.MR phys 2
is in use since Linux 2.1.116 for
-.BR umount (2);
-.BR phys (2)
+.MR umount 2 ;
+.MR phys 2
will never be implemented.
The
-.BR getpmsg (2)
+.MR getpmsg 2
and
-.BR putpmsg (2)
+.MR putpmsg 2
calls are for kernels patched to support STREAMS,
and may never be in the standard kernel.
.P
There was briefly
-.BR set_zone_reclaim (2),
+.MR set_zone_reclaim 2 ,
added in Linux 2.6.13, and removed in Linux 2.6.16;
this system call was never available to user space.
.\"
@@ -898,9 +898,9 @@ AVR32 (port removed in Linux 4.12)
.RS
.PD 0
.IP \[bu] 3
-.BR pread (2)
+.MR pread 2
.IP \[bu]
-.BR pwrite (2)
+.MR pwrite 2
.PD
.RE
.TP
@@ -908,22 +908,22 @@ Blackfin (port removed in Linux 4.17)
.RS
.PD 0
.IP \[bu] 3
-.BR bfin_spinlock (2)
+.MR bfin_spinlock 2
(added in Linux 2.6.22)
.IP \[bu]
-.BR dma_memcpy (2)
+.MR dma_memcpy 2
(added in Linux 2.6.22)
.IP \[bu]
-.BR pread (2)
+.MR pread 2
(added in Linux 2.6.22)
.IP \[bu]
-.BR pwrite (2)
+.MR pwrite 2
(added in Linux 2.6.22)
.IP \[bu]
-.BR sram_alloc (2)
+.MR sram_alloc 2
(added in Linux 2.6.22)
.IP \[bu]
-.BR sram_free (2)
+.MR sram_free 2
(added in Linux 2.6.22)
.PD
.RE
@@ -932,16 +932,16 @@ Metag (port removed in Linux 4.17)
.RS
.PD 0
.IP \[bu] 3
-.BR metag_get_tls (2)
+.MR metag_get_tls 2
(add in Linux 3.9)
.IP \[bu]
-.BR metag_set_fpu_flags (2)
+.MR metag_set_fpu_flags 2
(add in Linux 3.9)
.IP \[bu]
-.BR metag_set_tls (2)
+.MR metag_set_tls 2
(add in Linux 3.9)
.IP \[bu]
-.BR metag_setglobalbit (2)
+.MR metag_setglobalbit 2
(add in Linux 3.9)
.PD
.RE
@@ -950,7 +950,7 @@ Tile (port removed in Linux 4.17)
.RS
.PD 0
.IP \[bu] 3
-.BR cmpxchg_badaddr (2)
+.MR cmpxchg_badaddr 2
(added in Linux 2.6.36)
.PD
.RE
@@ -976,9 +976,9 @@ structures or scalar values passed to the system call.
Because of these changes, certain architectures
(notably, longstanding 32-bit architectures such as i386)
now have various groups of related system calls (e.g.,
-.BR truncate (2)
+.MR truncate 2
and
-.BR truncate64 (2))
+.MR truncate64 2 )
which perform similar tasks, but which vary in
details such as the size of their arguments.
(As noted earlier, applications are generally unaware of this:
@@ -989,7 +989,7 @@ Examples of systems calls that exist in multiple versions are
the following:
.IP \[bu] 3
By now there are three different versions of
-.BR stat (2):
+.MR stat 2 :
.IR sys_stat ()
(slot
.IR __NR_oldstat ),
@@ -1005,9 +1005,9 @@ with the last being the most current.
.\" The stat system calls deal with three different data structures,
.\" defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
A similar story applies for
-.BR lstat (2)
+.MR lstat 2
and
-.BR fstat (2).
+.MR fstat 2 .
.IP \[bu]
Similarly, the defines
.IR __NR_oldolduname ,
@@ -1021,14 +1021,14 @@ and
.IR sys_newuname ().
.IP \[bu]
In Linux 2.0, a new version of
-.BR vm86 (2)
+.MR vm86 2
appeared, with the old and the new kernel routines being named
.IR sys_vm86old ()
and
.IR sys_vm86 ().
.IP \[bu]
In Linux 2.4, a new version of
-.BR getrlimit (2)
+.MR getrlimit 2
appeared, with the old and the new kernel routines being named
.IR sys_old_getrlimit ()
(slot
@@ -1043,10 +1043,10 @@ Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.
.\" fcntl64 (because of the flock structure), getdents64, *statfs64
To support this change, a range of system calls were added
(e.g.,
-.BR chown32 (2),
-.BR getuid32 (2),
-.BR getgroups32 (2),
-.BR setresuid32 (2)),
+.MR chown32 2 ,
+.MR getuid32 2 ,
+.MR getgroups32 2 ,
+.MR setresuid32 2 ),
superseding earlier calls of the same name without the
"32" suffix.
.IP \[bu]
@@ -1056,11 +1056,11 @@ file offsets can't be represented in 32 bits.)
To support this change, replacements were required for system calls
that deal with file offsets and sizes.
Thus the following system calls were added:
-.BR fcntl64 (2),
-.BR getdents64 (2),
-.BR stat64 (2),
-.BR statfs64 (2),
-.BR truncate64 (2),
+.MR fcntl64 2 ,
+.MR getdents64 2 ,
+.MR stat64 2 ,
+.MR statfs64 2 ,
+.MR truncate64 2 ,
and their analogs that work with file descriptors or
symbolic links.
These system calls supersede the older system calls
@@ -1077,14 +1077,14 @@ The
.I rt_sig*
calls were added in Linux 2.2 to support the addition
of real-time signals (see
-.BR signal (7)).
+.MR signal 7 ).
These system calls supersede the older system calls of the same
name without the "rt_" prefix.
.IP \[bu]
The
-.BR select (2)
+.MR select 2
and
-.BR mmap (2)
+.MR mmap 2
system calls use five or more arguments,
which caused problems in the way
argument passing on the i386 used to be set up.
@@ -1136,34 +1136,34 @@ s390x is the only 64-bit architecture that has
.\"
.SS "Architecture-specific details: Alpha"
.TP
-.BR getxgid (2)
+.MR getxgid 2
returns a pair of GID and effective GID via registers
\fBr0\fP and \fBr20\fP; it is provided
instead of
\fBgetgid\fP(2) and \fBgetegid\fP(2).
.TP
-.BR getxpid (2)
+.MR getxpid 2
returns a pair of PID and parent PID via registers
\fBr0\fP and \fBr20\fP; it is provided instead of
\fBgetpid\fP(2) and \fBgetppid\fP(2).
.TP
-.BR old_adjtimex (2)
+.MR old_adjtimex 2
is a variant of \fBadjtimex\fP(2) that uses \fIstruct timeval32\fP,
for compatibility with OSF/1.
.TP
-.BR getxuid (2)
+.MR getxuid 2
returns a pair of GID and effective GID via registers
\fBr0\fP and \fBr20\fP; it is provided instead of
\fBgetuid\fP(2) and \fBgeteuid\fP(2).
.TP
-.BR sethae (2)
+.MR sethae 2
is used for configuring the Host Address Extension register on
low-cost Alphas in order to access address space beyond first 27 bits.
.SH SEE ALSO
-.BR ausyscall (1),
-.BR intro (2),
-.BR syscall (2),
-.BR unimplemented (2),
-.BR errno (3),
-.BR libc (7),
-.BR vdso (7)
+.MR ausyscall 1 ,
+.MR intro 2 ,
+.MR syscall 2 ,
+.MR unimplemented 2 ,
+.MR errno 3 ,
+.MR libc 7 ,
+.MR vdso 7