.\" Looking at scripts/checksyscalls.sh in the kernel source is
.\" instructive about x86 specifics.
.\"
+.nh
.ad l
.TS
l2 le l
\fB_llseek\fP(2) 1.2
\fB_newselect\fP(2) 2.0
\fB_sysctl\fP(2) 2.0 Removed in 5.5
-\fBaccept\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBaccept\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBaccept4\fP(2) 2.6.28
\fBaccess\fP(2) 1.0
\fBacct\fP(2) 1.0
.\" 91e040a79df73d371f70792f30380d4e44805250
\fBarc_usr_cmpxchg\fP(2) 4.9 ARC only
.\" x86: 79170fda313ed5be2394f87aa2a00d597f8ed4a1
-\fBarch_prctl\fP(2) 2.6 x86_64, x86 since 4.12
+\fBarch_prctl\fP(2) 2.6 T{
+x86_64, x86 since 4.12
+T}
.\" 9674cdc74d63f346870943ef966a034f8c71ee57
\fBatomic_barrier\fP(2) 2.6.34 m68k only
\fBatomic_cmpxchg_32\fP(2) 2.6.34 m68k only
\fBbdflush\fP(2) 1.2 T{
Deprecated (does nothing)
-.br
since 2.6
T}
-\fBbind\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBbind\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBbpf\fP(2) 3.18
\fBbrk\fP(2) 1.0
\fBbreakpoint\fP(2) 2.2 T{
ARM OABI only, defined with
-.br
\fB__ARM_NR\fP prefix
T}
\fBcacheflush\fP(2) 1.2 Not on x86
\fBchmod\fP(2) 1.0
\fBchown\fP(2) 2.2 T{
See \fBchown\fP(2) for
-.br
version details
T}
\fBchown32\fP(2) 2.4
.\" .\" db695c0509d6ec9046ee5e4c520a19fa17d9fce2
.\" \fBcmpxchg\fP(2) 2.6.12 T{
.\" ARM, syscall constant never was
-.\" .br
.\" exposed to user space, in-kernel
-.\" .br
.\" definition had \fB__ARM_NR\fP prefix,
-.\" .br
.\" removed in 4.4
.\" T}
.\" 867e359b97c970a60626d5d76bbe2a8fadbf38fb
.\" bb9d812643d8a121df7d614a2b9c60193a92deb0
-\fBconnect\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBconnect\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBcopy_file_range\fP(2) 4.5
\fBcreat\fP(2) 1.0
\fBcreate_module\fP(2) 1.0 Removed in 2.6
\fBeventfd2\fP(2) 2.6.27
\fBexecv\fP(2) 2.0 T{
SPARC/SPARC64 only, for
-.br
compatibility with SunOS
T}
\fBexecve\fP(2) 1.0
.\" 8fcd6c45f5a65621ec809b7866a3623e9a01d4ed
\fBget_tls\fP(2) 4.15 T{
ARM OABI only, has
-.br
\fB__ARM_NR\fP prefix
T}
\fBgetcpu\fP(2) 2.6.19
.\" parisc: 863722e856e64dae0e252b6bb546737c6c5626ce
\fBgetdomainname\fP(2) 2.2 T{
SPARC, SPARC64; available
-.br
as \fBosf_getdomainname\fP(2)
-.br
on Alpha since Linux 2.0
T}
.\" ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16
\fBgetdtablesize\fP(2) 2.0 T{
SPARC (removed in 2.6.26),
-.br
available on Alpha as
-.br
\fBosf_getdtablesize\fP(2)
T}
\fBgetegid\fP(2) 1.0
.\" SPARC removal: ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16
\fBgethostname\fP(2) 2.0 T{
Alpha, was available on
-.br
SPARC up to Linux 2.6.26
T}
\fBgetitimer\fP(2) 1.0
-\fBgetpeername\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBgetpeername\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBgetpagesize\fP(2) 2.0 Not on x86
\fBgetpgid\fP(2) 1.0
\fBgetpgrp\fP(2) 1.0
\fBgetrlimit\fP(2) 1.0
\fBgetrusage\fP(2) 1.0
\fBgetsid\fP(2) 2.0
-\fBgetsockname\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
-\fBgetsockopt\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBgetsockname\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
+\fBgetsockopt\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBgettid\fP(2) 2.4.11
\fBgettimeofday\fP(2) 1.0
\fBgetuid\fP(2) 1.0
\fBgetuid32\fP(2) 2.4
-\fBgetunwind\fP(2) 2.4.8 IA-64 only; deprecated
+\fBgetunwind\fP(2) 2.4.8 T{
+IA-64 only; deprecated
+T}
\fBgetxattr\fP(2) 2.6; 2.4.18
-\fBgetxgid\fP(2) 2.0 Alpha only; see NOTES
-\fBgetxpid\fP(2) 2.0 Alpha only; see NOTES
-\fBgetxuid\fP(2) 2.0 Alpha only; see NOTES
+\fBgetxgid\fP(2) 2.0 T{
+Alpha only; see NOTES
+T}
+\fBgetxpid\fP(2) 2.0 T{
+Alpha only; see NOTES
+T}
+\fBgetxuid\fP(2) 2.0 T{
+Alpha only; see NOTES
+T}
\fBinit_module\fP(2) 1.0
\fBinotify_add_watch\fP(2) 2.6.13
\fBinotify_init\fP(2) 2.6.13
\fBkill\fP(2) 1.0
\fBlchown\fP(2) 1.0 T{
See \fBchown\fP(2) for
-.br
version details
T}
\fBlchown32\fP(2) 2.4
\fBlgetxattr\fP(2) 2.6; 2.4.18
\fBlink\fP(2) 1.0
\fBlinkat\fP(2) 2.6.16
-\fBlisten\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBlisten\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBlistxattr\fP(2) 2.6; 2.4.18
\fBllistxattr\fP(2) 2.6; 2.4.18
\fBlookup_dcookie\fP(2) 2.6
\fBmq_timedsend\fP(2) 2.6.6
\fBmq_unlink\fP(2) 2.6.6
\fBmremap\fP(2) 2.0
-\fBmsgctl\fP(2) 2.0 See notes on \fBipc\fP(2)
-\fBmsgget\fP(2) 2.0 See notes on \fBipc\fP(2)
-\fBmsgrcv\fP(2) 2.0 See notes on \fBipc\fP(2)
-\fBmsgsnd\fP(2) 2.0 See notes on \fBipc\fP(2)
+\fBmsgctl\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
+\fBmsgget\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
+\fBmsgrcv\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
+\fBmsgsnd\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
\fBmsync\fP(2) 2.0
.\" \fBmultiplexer\fP(2) ?? __NR_multiplexer reserved on
.\" PowerPC, but unimplemented?
\fBnewfstatat\fP(2) 2.6.16 See \fBstat\fP(2)
\fBnfsservctl\fP(2) 2.2 Removed in 3.1
\fBnice\fP(2) 1.0
-\fBold_adjtimex\fP(2) 2.0 Alpha only; see NOTES
+\fBold_adjtimex\fP(2) 2.0 T{
+Alpha only; see NOTES
+T}
\fBold_getrlimit\fP(2) 2.4 T{
Old variant of \fBgetrlimit\fP(2)
-.br
that used a different value
-.br
for \fBRLIM_INFINITY\fP
T}
\fBoldfstat\fP(2) 1.0
\fBoldstat\fP(2) 1.0
\fBoldumount\fP(2) 2.4.116 T{
Name of the old \fBumount\fP(2)
-.br
syscall on Alpha
T}
\fBolduname\fP(2) 1.0
\fBopenat\fP(2) 2.6.16
\fBopenat2\fP(2) 5.6
.\" 9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a
-\fBor1k_atomic\fP(2) 3.1 OpenRISC 1000 only
+\fBor1k_atomic\fP(2) 3.1 T{
+OpenRISC 1000 only
+T}
\fBpause\fP(2) 1.0
\fBpciconfig_iobase\fP(2) 2.2.15; 2.4 Not on x86
.\" Alpha, PowerPC, ARM; not x86
.\" , PowerPC, ARM; not x86
\fBperf_event_open\fP(2) 2.6.31 T{
Was perf_counter_open() in
-.br
2.6.31; renamed in 2.6.32
T}
\fBpersonality\fP(2) 1.2
-\fBperfctr\fP(2) 2.2 SPARC only; removed in 2.6.34
+\fBperfctr\fP(2) 2.2 T{
+SPARC only; removed in 2.6.34
+T}
.\" commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
\fBperfmonctl\fP(2) 2.4 IA-64 only
\fBpidfd_getfd\fP(2) 5.6
\fBprctl\fP(2) 2.2
\fBpread64\fP(2) T{
Added as "pread" in 2.2;
-.br
renamed "pread64" in 2.6
T}
\fBpreadv\fP(2) 2.6.30
\fBptrace\fP(2) 1.0
\fBpwrite64\fP(2) T{
Added as "pwrite" in 2.2;
-.br
renamed "pwrite64" in 2.6
T}
\fBpwritev\fP(2) 2.6.30
\fBreadlinkat\fP(2) 2.6.16
\fBreadv\fP(2) 2.0
\fBreboot\fP(2) 1.0
-\fBrecv\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
-\fBrecvfrom\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
-\fBrecvmsg\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBrecv\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
+\fBrecvfrom\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
+\fBrecvmsg\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBrecvmmsg\fP(2) 2.6.33
-\fBremap_file_pages\fP(2) 2.6 Deprecated since 3.16
+\fBremap_file_pages\fP(2) 2.6 T{
+Deprecated since 3.16
+T}
\fBremovexattr\fP(2) 2.6; 2.4.18
\fBrename\fP(2) 1.0
\fBrenameat\fP(2) 2.6.16
\fBrt_sigsuspend\fP(2) 2.2
\fBrt_sigtimedwait\fP(2) 2.2
\fBrt_tgsigqueueinfo\fP(2) 2.6.31
-\fBrtas\fP(2) 2.6.2 PowerPC/PowerPC64 only
+\fBrtas\fP(2) 2.6.2 T{
+PowerPC/PowerPC64 only
+T}
\fBs390_runtime_instr\fP(2) 3.7 s390 only
\fBs390_pci_mmio_read\fP(2) 3.19 s390 only
\fBs390_pci_mmio_write\fP(2) 3.19 s390 only
\fBs390_guarded_storage\fP(2) 4.12 s390 only
\fBsched_get_affinity\fP(2) 2.6 T{
Name of \fBsched_getaffinity\fP(2)
-.br
on SPARC and SPARC64
T}
\fBsched_get_priority_max\fP(2) 2.0
\fBsched_rr_get_interval\fP(2) 2.0
\fBsched_set_affinity\fP(2) 2.6 T{
Name of \fBsched_setaffinity\fP(2)
-.br
on SPARC and SPARC64
T}
\fBsched_setaffinity\fP(2) 2.6
\fBsched_yield\fP(2) 2.0
\fBseccomp\fP(2) 3.17
\fBselect\fP(2) 1.0
-\fBsemctl\fP(2) 2.0 See notes on \fBipc\fP(2)
-\fBsemget\fP(2) 2.0 See notes on \fBipc\fP(2)
-\fBsemop\fP(2) 2.0 See notes on \fBipc\fP(2)
+\fBsemctl\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
+\fBsemget\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
+\fBsemop\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
\fBsemtimedop\fP(2) 2.6; 2.4.22
-\fBsend\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBsend\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBsendfile\fP(2) 2.2
\fBsendfile64\fP(2) 2.6; 2.4.19
\fBsendmmsg\fP(2) 3.0
-\fBsendmsg\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
-\fBsendto\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBsendmsg\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
+\fBsendto\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBset_mempolicy\fP(2) 2.6.6
\fBset_robust_list\fP(2) 2.6.17
\fBset_thread_area\fP(2) 2.6
\fBset_tid_address\fP(2) 2.6
\fBset_tls\fP(2) 2.6.11 T{
ARM OABI/EABI only (constant
-.br
has \fB__ARM_NR\fP prefix)
T}
.\" \fBsetaltroot\fP(2) 2.6.10 T{
\fBsetgroups\fP(2) 1.0
\fBsetgroups32\fP(2) 2.4
.\" arch/alpha/include/asm/core_lca.h
-\fBsethae\fP(2) 2.0 Alpha only; see NOTES
+\fBsethae\fP(2) 2.0 T{
+Alpha only; see NOTES
+T}
\fBsethostname\fP(2) 1.0
\fBsetitimer\fP(2) 1.0
\fBsetns\fP(2) 3.0
\fBsetpgid\fP(2) 1.0
\fBsetpgrp\fP(2) 2.0 T{
Alternative name for
-.br
\fBsetpgid\fP(2) on Alpha
T}
\fBsetpriority\fP(2) 1.0
\fBsetreuid32\fP(2) 2.4
\fBsetrlimit\fP(2) 1.0
\fBsetsid\fP(2) 1.0
-\fBsetsockopt\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBsetsockopt\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBsettimeofday\fP(2) 1.0
\fBsetuid\fP(2) 1.0
\fBsetuid32\fP(2) 2.4
\fBsetup\fP(2) 1.0 Removed in 2.2
\fBsetxattr\fP(2) 2.6; 2.4.18
\fBsgetmask\fP(2) 1.0
-\fBshmat\fP(2) 2.0 See notes on \fBipc\fP(2)
-\fBshmctl\fP(2) 2.0 See notes on \fBipc\fP(2)
-\fBshmdt\fP(2) 2.0 See notes on \fBipc\fP(2)
-\fBshmget\fP(2) 2.0 See notes on \fBipc\fP(2)
-\fBshutdown\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBshmat\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
+\fBshmctl\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
+\fBshmdt\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
+\fBshmget\fP(2) 2.0 T{
+See notes on \fBipc\fP(2)
+T}
+\fBshutdown\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBsigaction\fP(2) 1.0
\fBsigaltstack\fP(2) 2.2
\fBsignal\fP(2) 1.0
\fBsigprocmask\fP(2) 1.0
\fBsigreturn\fP(2) 1.0
\fBsigsuspend\fP(2) 1.0
-\fBsocket\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBsocket\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
\fBsocketcall\fP(2) 1.0
.\" Implements BSD socket calls
-\fBsocketpair\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBsocketpair\fP(2) 2.0 T{
+See notes on \fBsocketcall\fP(2)
+T}
.\" 5a0015d62668e64c8b6e02e360fbbea121bfd5e6
\fBspill\fP(2) 2.6.13 Xtensa only
\fBsplice\fP(2) 2.6.17
-\fBspu_create\fP(2) 2.6.16 PowerPC/PowerPC64 only
-\fBspu_run\fP(2) 2.6.16 PowerPC/PowerPC64 only
+\fBspu_create\fP(2) 2.6.16 T{
+PowerPC/PowerPC64 only
+T}
+\fBspu_run\fP(2) 2.6.16 T{
+PowerPC/PowerPC64 only
+T}
\fBssetmask\fP(2) 1.0
\fBstat\fP(2) 1.0
\fBstat64\fP(2) 2.4
\fBstatfs64\fP(2) 2.6
\fBstatx\fP(2) 4.11
\fBstime\fP(2) 1.0
-\fBsubpage_prot\fP(2) 2.6.25 PowerPC/PowerPC64 only
-\fBswapcontext\fP(2) 2.6.3 PowerPC/PowerPC64 only
+\fBsubpage_prot\fP(2) 2.6.25 T{
+PowerPC/PowerPC64 only
+T}
+\fBswapcontext\fP(2) 2.6.3 T{
+PowerPC/PowerPC64 only
+T}
.\" 529d235a0e190ded1d21ccc80a73e625ebcad09b
\fBswitch_endian\fP(2) 4.1 PowerPC64 only
\fBswapoff\fP(2) 1.0
\fBsys_debug_setcontext\fP(2) 2.6.11 PowerPC only
\fBsyscall\fP(2) 1.0 T{
Still available on ARM OABI
-.br
and MIPS O32 ABI
T}
\fBsysfs\fP(2) 1.2
\fBvhangup\fP(2) 1.0
\fBvm86old\fP(2) 1.0 T{
Was "vm86"; renamed in
-.br
2.0.28/2.2
T}
\fBvm86\fP(2) 2.0.28; 2.2
\fBxtensa\fP(2) 2.6.13 Xtensa only
.TE
.ad
+.hy
.PP
On many platforms, including x86-32, socket calls are all multiplexed
(via glibc wrapper functions) through