.\" Modifications for 2.2 and 2.4 Copyright (C) 2002 Ian Redfern
.\" <redferni@logica.com>
.\"
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
.\"
-.TH SYSCALLS 2 2012-03-23 "Linux" "Linux Programmer's Manual"
+.TH SYSCALLS 2 2013-03-10 "Linux" "Linux Programmer's Manual"
.SH NAME
syscalls \- Linux system calls
.SH SYNOPSIS
wrapper function checks which of those system calls
are provided by the kernel and determines which should be employed.
.SS System call list
-Below is a list of those system calls that are common to most platforms.
+Below is a list of the Linux system calls.
In the list, the
.I Kernel
column indicates the kernel version
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 3.1
+The list of system calls that are available as at kernel 3.5
(or in a few cases only on older kernels) is as follows:
.\"
.\" Looking at scripts/checksyscalls.sh in the kernel source is
-.\" instructive about i386 specifics.
+.\" instructive about x86 specifics.
.\"
.ad l
.TS
\fBSystem call\fP \fBKernel\fP \fBNotes\fP
\fB_llseek\fP(2) 1.2
-\fB_newselect\fP(2)
-\fB_sysctl\fP(2)
-\fBaccept\fP(2)
+\fB_newselect\fP(2) 2.0
+\fB_sysctl\fP(2) 2.0
+\fBaccept\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
\fBaccept4\fP(2) 2.6.28
-\fBaccess\fP(2)
-\fBacct\fP(2)
+\fBaccess\fP(2) 1.0
+\fBacct\fP(2) 1.0
\fBadd_key\fP(2) 2.6.11
-\fBadjtimex\fP(2)
-\fBalarm\fP(2)
+\fBadjtimex\fP(2) 1.0
+\fBalarm\fP(2) 1.0
\fBalloc_hugepages\fP(2) 2.5.36 Removed in 2.5.44
-\fBbdflush\fP(2) T{
+\fBbdflush\fP(2) 1.2 T{
Deprecated (does nothing) since 2.6
T}
-\fBbind\fP(2)
-\fBbrk\fP(2)
-\fBcacheflush\fP(2) 1.2 Not on i386
+\fBbind\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBbrk\fP(2) 1.0
+\fBcacheflush\fP(2) 1.2 Not on x86
\fBcapget\fP(2) 2.2
\fBcapset\fP(2) 2.2
-\fBchdir\fP(2)
-\fBchmod\fP(2)
-\fBchown\fP(2)
+\fBchdir\fP(2) 1.0
+\fBchmod\fP(2) 1.0
+\fBchown\fP(2) 2.2 T{
+See \fBchown\fP(2) for version details
+T}
\fBchown32\fP(2) 2.4
-\fBchroot\fP(2)
+\fBchroot\fP(2) 1.0
\fBclock_adjtime\fP(2) 2.6.39
\fBclock_getres\fP(2) 2.6
\fBclock_gettime\fP(2) 2.6
\fBclock_nanosleep\fP(2) 2.6
\fBclock_settime\fP(2) 2.6
-\fBclone\fP(2)
-\fBclose\fP(2)
-\fBconnect\fP(2)
-\fBcreat\fP(2)
+\fBclone\fP(2) 1.0
+\fBclose\fP(2) 1.0
+\fBconnect\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBcreat\fP(2) 1.0
\fBcreate_module\fP(2) Removed in 2.6
-\fBdelete_module\fP(2)
-\fBdup\fP(2)
-\fBdup2\fP(2)
+\fBdelete_module\fP(2) 1.0
+\fBdup\fP(2) 1.0
+\fBdup2\fP(2) 1.0
\fBdup3\fP(2) 2.6.27
\fBepoll_create\fP(2) 2.6
\fBepoll_create1\fP(2) 2.6.27
\fBepoll_wait\fP(2) 2.6
\fBeventfd\fP(2) 2.6.22
\fBeventfd2\fP(2) 2.6.27
-\fBexecve\fP(2)
-\fBexit\fP(2)
+\fBexecve\fP(2) 1.0
+\fBexit\fP(2) 1.0
\fBexit_group\fP(2) 2.6
\fBfaccessat\fP(2) 2.6.16
\fBfadvise64\fP(2) 2.6
\fBfanotify_mark\fP(2) 2.6.37
.\" The fanotify calls were added in Linux 2.6.36,
.\" but disabled while the API was finalized.
-\fBfchdir\fP(2)
-\fBfchmod\fP(2)
+\fBfchdir\fP(2) 1.0
+\fBfchmod\fP(2) 1.0
\fBfchmodat\fP(2) 2.6.16
-\fBfchown\fP(2)
+\fBfchown\fP(2) 1.0
\fBfchown32\fP(2) 2.4
\fBfchownat\fP(2) 2.6.16
-\fBfcntl\fP(2)
+\fBfcntl\fP(2) 1.0
\fBfcntl64\fP(2) 2.4
-\fBfdatasync\fP(2)
+\fBfdatasync\fP(2) 2.0
\fBfgetxattr\fP(2) 2.6; 2.4.18
+\fBfinit_module\fP(2) 3.8
\fBflistxattr\fP(2) 2.6; 2.4.18
\fBflock\fP(2) 2.0
-\fBfork\fP(2)
+\fBfork\fP(2) 1.0
\fBfree_hugepages\fP(2) 2.5.36 Removed in 2.5.44
\fBfremovexattr\fP(2) 2.6; 2.4.18
\fBfsetxattr\fP(2) 2.6; 2.4.18
-\fBfstat\fP(2)
+\fBfstat\fP(2) 1.0
\fBfstat64\fP(2) 2.4
\fBfstatat64\fP(2) 2.6.16
-\fBfstatfs\fP(2)
+\fBfstatfs\fP(2) 1.0
\fBfstatfs64\fP(2) 2.6
-\fBfsync\fP(2)
-\fBftruncate\fP(2)
+\fBfsync\fP(2) 1.0 1.0
+\fBftruncate\fP(2) 1.0
\fBftruncate64\fP(2) 2.4
\fBfutex\fP(2) 2.6
\fBfutimesat\fP(2) 2.6.16
\fBgetcwd\fP(2) 2.2
\fBgetdents\fP(2) 2.0
\fBgetdents64\fP(2) 2.4
-\fBgetegid\fP(2)
+\fBgetegid\fP(2) 1.0
\fBgetegid32\fP(2) 2.4
-\fBgeteuid\fP(2)
+\fBgeteuid\fP(2) 1.0
\fBgeteuid32\fP(2) 2.4
-\fBgetgid\fP(2)
+\fBgetgid\fP(2) 1.0
\fBgetgid32\fP(2) 2.4
-\fBgetgroups\fP(2)
+\fBgetgroups\fP(2) 1.0
\fBgetgroups32\fP(2) 2.4
-\fBgetitimer\fP(2)
-\fBgetpeername\fP(2)
-\fBgetpagesize\fP(2) 2.0 Not on i386
-\fBgetpgid\fP(2)
-\fBgetpgrp\fP(2)
-\fBgetpid\fP(2)
-\fBgetppid\fP(2)
-\fBgetpriority\fP(2)
+\fBgetitimer\fP(2) 1.0
+\fBgetpeername\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBgetpagesize\fP(2) 2.0 Not on x86
+\fBgetpgid\fP(2) 1.0
+\fBgetpgrp\fP(2) 1.0
+\fBgetpid\fP(2) 1.0
+\fBgetppid\fP(2) 1.0
+\fBgetpriority\fP(2) 1.0
\fBgetresgid\fP(2) 2.2
\fBgetresgid32\fP(2) 2.4
\fBgetresuid\fP(2) 2.2
\fBgetresuid32\fP(2) 2.4
-\fBgetrlimit\fP(2)
-\fBgetrusage\fP(2)
+\fBgetrlimit\fP(2) 1.0
+\fBgetrusage\fP(2) 1.0
\fBgetsid\fP(2) 2.0
-\fBgetsockname\fP(2)
-\fBgetsockopt\fP(2)
+\fBgetsockname\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBgetsockopt\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
\fBgettid\fP(2) 2.4.11
-\fBgettimeofday\fP(2)
-\fBgetuid\fP(2)
+\fBgettimeofday\fP(2) 1.0
+\fBgetuid\fP(2) 1.0
\fBgetuid32\fP(2) 2.4
.\" \fBgetunwind\fP(2) 2.4.8 ia64; DEPRECATED
\fBgetxattr\fP(2) 2.6; 2.4.18
-\fBinit_module\fP(2)
+\fBinit_module\fP(2) 1.0
\fBinotify_add_watch\fP(2) 2.6.13
\fBinotify_init\fP(2) 2.6.13
\fBinotify_init1\fP(2) 2.6.27
\fBio_getevents\fP(2) 2.6
\fBio_setup\fP(2) 2.6
\fBio_submit\fP(2) 2.6
-\fBioctl\fP(2)
-\fBioperm\fP(2)
-\fBiopl\fP(2)
+\fBioctl\fP(2) 1.0
+\fBioperm\fP(2) 1.0
+\fBiopl\fP(2) 1.0
\fBioprio_get\fP(2) 2.6.13
\fBioprio_set\fP(2) 2.6.13
-\fBipc\fP(2)
+\fBipc\fP(2) 1.0
.\" Implements System V IPC calls
+\fBkcmp\fP(2) 3.5
+\fBkern_features\fP(2) 3.7 Sparc64
\fBkexec_load\fP(2) 2.6.13
.\" The entry in the syscall table was reserved starting in 2.6.7
.\" Was named sys_kexec_load() from 2.6.7 to 2.6.16
\fBkeyctl\fP(2) 2.6.11
-\fBkill\fP(2)
-\fBlchown\fP(2) 2.2
+\fBkill\fP(2) 1.0
+\fBlchown\fP(2) 1.0 T{
+See \fBchown\fP(2) for version details
+T}
\fBlchown32\fP(2) 2.4
\fBlgetxattr\fP(2) 2.6; 2.4.18
-\fBlink\fP(2)
+\fBlink\fP(2) 1.0
\fBlinkat\fP(2) 2.6.16
-\fBlisten\fP(2)
+\fBlisten\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
\fBlistxattr\fP(2) 2.6; 2.4.18
\fBllistxattr\fP(2) 2.6; 2.4.18
\fBlookup_dcookie\fP(2) 2.6
\fBlremovexattr\fP(2) 2.6; 2.4.18
-\fBlseek\fP(2)
+\fBlseek\fP(2) 1.0
\fBlsetxattr\fP(2) 2.6; 2.4.18
-\fBlstat\fP(2)
+\fBlstat\fP(2) 1.0
\fBlstat64\fP(2) 2.4
\fBmadvise\fP(2) 2.4
\fBmadvise1\fP(2) 2.4
.\" \fBmemory_ordering\fP(2) ??? Sparc64
\fBmigrate_pages\fP(2) 2.6.16
\fBmincore\fP(2) 2.4
-\fBmkdir\fP(2)
+\fBmkdir\fP(2) 1.0
\fBmkdirat\fP(2) 2.6.16
-\fBmknod\fP(2)
+\fBmknod\fP(2) 1.0
\fBmknodat\fP(2) 2.6.16
-\fBmlock\fP(2)
-\fBmlockall\fP(2)
-\fBmmap\fP(2)
+\fBmlock\fP(2) 2.0
+\fBmlockall\fP(2) 2.0
+\fBmmap\fP(2) 1.0
\fBmmap2\fP(2) 2.4
-\fBmodify_ldt\fP(2)
-\fBmount\fP(2)
+\fBmodify_ldt\fP(2) 1.0
+\fBmount\fP(2) 1.0
\fBmove_pages\fP(2) 2.6.18
-\fBmprotect\fP(2)
+\fBmprotect\fP(2) 1.0
\fBmq_getsetattr\fP(2) 2.6.6
.\" Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
\fBmq_notify\fP(2) 2.6.6
\fBmq_open\fP(2) 2.6.6
\fBmq_timedreceive\fP(2) 2.6.6
\fBmq_timedsend\fP(2) 2.6.6
-\fBmq_unlink\fP(2)
+\fBmq_unlink\fP(2) 2.6.6
\fBmremap\fP(2) 2.0
-\fBmsgctl\fP(2)
-\fBmsgget\fP(2)
-\fBmsgrcv\fP(2)
-\fBmsgsnd\fP(2)
+\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)
\fBmsync\fP(2) 2.0
.\" \fBmultiplexer\fP(2) ?? __NR_multiplexer reserved on
.\" PowerPC, but unimplemented?
-\fBmunlock\fP(2)
-\fBmunlockall\fP(2)
-\fBmunmap\fP(2)
+\fBmunlock\fP(2) 2.0
+\fBmunlockall\fP(2) 2.0
+\fBmunmap\fP(2) 1.0
\fBname_to_handle_at\fP(2) 2.6.39
\fBnanosleep\fP(2) 2.0
\fBnfsservctl\fP(2) 2.2 Removed in 3.1
-\fBnice\fP(2)
-\fBoldfstat\fP(2)
-\fBoldlstat\fP(2)
-\fBoldolduname\fP(2)
-\fBoldstat\fP(2)
-\fBolduname\fP(2)
-\fBopen\fP(2)
+\fBnice\fP(2) 1.0
+\fBoldfstat\fP(2) 1.0
+\fBoldlstat\fP(2) 1.0
+\fBoldolduname\fP(2) 1.0
+\fBoldstat\fP(2) 1.0
+\fBolduname\fP(2) 1.0
+\fBopen\fP(2) 1.0
\fBopen_by_handle_at\fP(2) 2.6.39
\fBopenat\fP(2) 2.6.16
-\fBpause\fP(2)
-\fBpciconfig_iobase\fP(2) 2.2.15; 2.4 Not on i386
-.\" Alpha, PowerPC, ARM; not i386
-\fBpciconfig_read\fP(2) 2.0.26; 2.2 Not on i386
-.\" , PowerPC, ARM; not i386
-\fBpciconfig_write\fP(2) 2.0.26; 2.2 Not on i386
-.\" , PowerPC, ARM; not i386
+\fBpause\fP(2) 1.0
+\fBpciconfig_iobase\fP(2) 2.2.15; 2.4 Not on x86
+.\" Alpha, PowerPC, ARM; not x86
+\fBpciconfig_read\fP(2) 2.0.26; 2.2 Not on x86
+.\" , PowerPC, ARM; not x86
+\fBpciconfig_write\fP(2) 2.0.26; 2.2 Not on x86
+.\" , PowerPC, ARM; not x86
\fBperf_event_open\fP(2) 2.6.31 T{
Was called perf_counter_open() in 2.6.31; renamed in 2.6.32
T}
\fBpersonality\fP(2) 1.2
-.\" \fBperfctr\fP(2) ??? Sparc32, Sparc64
-.\" \fBperfmonctl\fP(2) ??? ia64
-\fBpipe\fP(2)
+\fBperfctr\fP(2) 2.2 Sparc; removed in 2.6.34
+.\" commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
+\fBperfmonctl\fP(2) 2.4 ia64
+\fBpipe\fP(2) 1.0
\fBpipe2\fP(2) 2.6.27
\fBpivot_root\fP(2) 2.4
-\fBpoll\fP(2) 2.2
+\fBpoll\fP(2) 2.0.36; 2.2
+\fBppc_rtas\fP(2) PowerPC only
\fBppoll\fP(2) 2.6.16
\fBprctl\fP(2) 2.2
\fBpread64\fP(2) T{
T}
\fBpreadv\fP(2) 2.6.30
\fBprlimit\fP(2) 2.6.36
-\fBprocess_vm_readv(2)\fP 3.2
-\fBprocess_vm_writev(2)\fP 3.2
+\fBprocess_vm_readv\fP(2) 3.2
+\fBprocess_vm_writev\fP(2) 3.2
\fBpselect6\fP(2) 2.6.16
.\" Implements \fBpselect\fP(2)
-\fBptrace\fP(2)
+\fBptrace\fP(2) 1.0
\fBpwrite64\fP(2) T{
Added as "pwrite" in 2.2; renamed "pwrite64" in 2.6
T}
\fBpwritev\fP(2) 2.6.30
\fBquery_module\fP(2) 2.2 Removed in 2.6
-\fBquotactl\fP(2)
-\fBread\fP(2)
+\fBquotactl\fP(2) 1.0
+\fBread\fP(2) 1.0
\fBreadahead\fP(2) 2.4.13
-\fBreaddir\fP(2)
+\fBreaddir\fP(2) 1.0
.\" Supersedes \fBgetdents\fP(2)
-\fBreadlink\fP(2)
+\fBreadlink\fP(2) 1.0
\fBreadlinkat\fP(2) 2.6.16
\fBreadv\fP(2) 2.0
-\fBreboot\fP(2)
-\fBrecv\fP(2)
-\fBrecvfrom\fP(2)
-\fBrecvmsg\fP(2)
+\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)
\fBrecvmmsg\fP(2) 2.6.33
\fBremap_file_pages\fP(2) 2.6
\fBremovexattr\fP(2) 2.6; 2.4.18
-\fBrename\fP(2)
+\fBrename\fP(2) 1.0
\fBrenameat\fP(2) 2.6.16
\fBrequest_key\fP(2) 2.6.11
\fBrestart_syscall\fP(2) 2.6
-\fBrmdir\fP(2)
+\fBrmdir\fP(2) 1.0
\fBrt_sigaction\fP(2) 2.2
\fBrt_sigpending\fP(2) 2.2
\fBrt_sigprocmask\fP(2) 2.2
\fBrt_sigsuspend\fP(2) 2.2
\fBrt_sigtimedwait\fP(2) 2.2
\fBrt_tgsigqueueinfo\fP(2) 2.6.31
+\fBs390_runtime_instr\fP(2) 3.7 s390 only
\fBsched_get_priority_max\fP(2) 2.0
\fBsched_get_priority_min\fP(2) 2.0
\fBsched_getaffinity\fP(2) 2.6
\fBsched_setparam\fP(2) 2.0
\fBsched_setscheduler\fP(2) 2.0
\fBsched_yield\fP(2) 2.0
-\fBselect\fP(2)
-\fBsemctl\fP(2)
-\fBsemget\fP(2)
-\fBsemop\fP(2)
+\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)
\fBsemtimedop\fP(2) 2.6; 2.4.22
-\fBsend\fP(2)
+\fBsend\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
\fBsendfile\fP(2) 2.2
\fBsendfile64\fP(2) 2.6; 2.4.19
\fBsendmmsg\fP(2) 3.0
-\fBsendmsg\fP(2)
-\fBsendto\fP(2)
+\fBsendmsg\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBsendto\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
\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_zone_reclaim\fP(2) 2.6.13 T{
-Removed in 2.6.16 (was never available to userspace)
-T}
.\" See http://lkml.org/lkml/2005/8/1/83
.\" "[PATCH] remove sys_set_zone_reclaim()"
-\fBsetdomainname\fP(2)
+\fBsetdomainname\fP(2) 1.0
\fBsetfsgid\fP(2) 1.2
\fBsetfsgid32\fP(2) 2.4
\fBsetfsuid\fP(2) 1.2
\fBsetfsuid32\fP(2) 2.4
-\fBsetgid\fP(2)
+\fBsetgid\fP(2) 1.0
\fBsetgid32\fP(2) 2.4
-\fBsetgroups\fP(2)
+\fBsetgroups\fP(2) 1.0
\fBsetgroups32\fP(2) 2.4
-\fBsethostname\fP(2)
-\fBsetitimer\fP(2)
+\fBsethostname\fP(2) 1.0
+\fBsetitimer\fP(2) 1.0
\fBsetns\fP(2) 3.0
-\fBsetpgid\fP(2)
-\fBsetpriority\fP(2)
-\fBsetregid\fP(2)
+\fBsetpgid\fP(2) 1.0
+\fBsetpriority\fP(2) 1.0
+\fBsetregid\fP(2) 1.0
\fBsetregid32\fP(2) 2.4
\fBsetresgid\fP(2) 2.2
\fBsetresgid32\fP(2) 2.4
\fBsetresuid\fP(2) 2.2
\fBsetresuid32\fP(2) 2.4
-\fBsetreuid\fP(2)
+\fBsetreuid\fP(2) 1.0
\fBsetreuid32\fP(2) 2.4
-\fBsetrlimit\fP(2)
-\fBsetsid\fP(2)
-\fBsetsockopt\fP(2)
-\fBsettimeofday\fP(2)
-\fBsetuid\fP(2)
+\fBsetrlimit\fP(2) 1.0
+\fBsetsid\fP(2) 1.0
+\fBsetsockopt\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
+\fBsettimeofday\fP(2) 1.0
+\fBsetuid\fP(2) 1.0
\fBsetuid32\fP(2) 2.4
\fBsetup\fP(2) Removed in 2.2
\fBsetxattr\fP(2) 2.6; 2.4.18
-\fBsgetmask\fP(2)
-\fBshmat\fP(2)
-\fBshmctl\fP(2)
-\fBshmdt\fP(2)
-\fBshmget\fP(2)
-\fBshutdown\fP(2)
-\fBsigaction\fP(2)
+\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)
+\fBsigaction\fP(2) 1.0
\fBsigaltstack\fP(2) 2.2
-\fBsignal\fP(2)
+\fBsignal\fP(2) 1.0
\fBsignalfd\fP(2) 2.6.22
\fBsignalfd4\fP(2) 2.6.27
-\fBsigpending\fP(2)
-\fBsigprocmask\fP(2)
-\fBsigreturn\fP(2)
-\fBsigsuspend\fP(2)
-\fBsocket\fP(2)
-\fBsocketcall\fP(2)
+\fBsigpending\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)
+\fBsocketcall\fP(2) 1.0
.\" Implements BSD socket calls
-\fBsocketpair\fP(2)
+\fBsocketpair\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
\fBsplice\fP(2) 2.6.17
\fBspu_create\fP(2) 2.6.16 PowerPC only
\fBspu_run\fP(2) 2.6.16 PowerPC only
-\fBssetmask\fP(2)
-\fBstat\fP(2)
+\fBssetmask\fP(2) 1.0
+\fBstat\fP(2) 1.0
\fBstat64\fP(2) 2.4
-\fBstatfs\fP(2)
+\fBstatfs\fP(2) 1.0
\fBstatfs64\fP(2) 2.6
-\fBstime\fP(2)
+\fBstime\fP(2) 1.0
\fBsubpage_prot\fP(2) 2.6.25 PowerPC if
CONFIG_PPC_64K_PAGES
-\fBswapoff\fP(2)
-\fBswapon\fP(2)
-\fBsymlink\fP(2)
+\fBswapoff\fP(2) 1.0
+\fBswapon\fP(2) 1.0
+\fBsymlink\fP(2) 1.0
\fBsymlinkat\fP(2) 2.6.16
-\fBsync\fP(2)
+\fBsync\fP(2) 1.0
\fBsync_file_range\fP(2) 2.6.17
\fBsync_file_range2\fP(2) 2.6.22 T{
Architecture-specific variant of \fBsync_file_range\fP(2)
.\" \fBsys_debug_setcontext\fP(2) ??? PowerPC if CONFIG_PPC32
\fBsyncfs\fP(2) 2.6.39
\fBsysfs\fP(2) 1.2
-\fBsysinfo\fP(2)
-\fBsyslog\fP(2)
+\fBsysinfo\fP(2) 1.0
+\fBsyslog\fP(2) 1.0
.\" glibc interface is \fBklogctl\fP(3)
\fBtee\fP(2) 2.6.17
\fBtgkill\fP(2) 2.6
-\fBtime\fP(2)
+\fBtime\fP(2) 1.0
\fBtimer_create\fP(2) 2.6
\fBtimer_delete\fP(2) 2.6
\fBtimer_getoverrun\fP(2) 2.6
\fBtimerfd_create\fP(2) 2.6.25
\fBtimerfd_gettime\fP(2) 2.6.25
\fBtimerfd_settime\fP(2) 2.6.25
-\fBtimes\fP(2)
+\fBtimes\fP(2) 1.0
\fBtkill\fP(2) 2.6; 2.4.22
-\fBtruncate\fP(2)
+\fBtruncate\fP(2) 1.0
\fBtruncate64\fP(2) 2.4
\fBugetrlimit\fP(2) 2.4
-\fBumask\fP(2)
-\fBumount\fP(2)
+\fBumask\fP(2) 1.0
+\fBumount\fP(2) 1.0
.\" sys_oldumount() -- __NR_umount
\fBumount2\fP(2) 2.2
.\" sys_umount() -- __NR_umount2
-\fBuname\fP(2)
-\fBunlink\fP(2)
+\fBuname\fP(2) 1.0
+\fBunlink\fP(2) 1.0
\fBunlinkat\fP(2) 2.6.16
\fBunshare\fP(2) 2.6.16
-\fBuselib\fP(2)
-\fBustat\fP(2)
-\fButime\fP(2)
+\fBuselib\fP(2) 1.0
+\fBustat\fP(2) 1.0
+\fButime\fP(2) 1.0
\fButimensat\fP(2) 2.6.22
\fButimes\fP(2) 2.2
-\fBvfork\fP(2)
-\fBvhangup\fP(2)
-\fBvm86old\fP(2)
-.\" Superseded by \fBvm86\fP(2)
+\fButrap_install\fP(2) 2.2 Sparc
+\fBvfork\fP(2) 2.2
+\fBvhangup\fP(2) 1.0
+\fBvm86old\fP(2) 1.0 Was "vm86"; renamed in 2.0.28/2.2
+\fBvm86\fP(2) 2.0.28; 2.2
\fBvmsplice\fP(2) 2.6.17
-\fBwait4\fP(2)
+\fBwait4\fP(2) 1.0
\fBwaitid\fP(2) 2.6.10
-\fBwaitpid\fP(2)
-\fBwrite\fP(2)
+\fBwaitpid\fP(2) 1.0
+\fBwrite\fP(2) 1.0
\fBwritev\fP(2) 2.0
.TE
.ad
.PP
-On many platforms, including i386, socket calls are all multiplexed
+On many platforms, including x86-32, socket calls are all multiplexed
(via glibc wrapper functions) through
.BR socketcall (2)
and similarly System V IPC calls are multiplexed through
.BR putpmsg (2)
calls are for kernels patched to support STREAMS,
and may never be in the standard kernel.
+
+There was briefly
+.BR set_zone_reclaim (2),
+added in Linux 2.6.13, and removed in 2.6.16;
+this system call was never available to user space.
.SH NOTES
.PP
Roughly speaking, the code belonging to the system call
with number __NR_xxx defined in
.I /usr/include/asm/unistd.h
-can be found in the kernel source in the routine
+can be found in the Linux kernel source in the routine
.IR sys_xxx ().
(The dispatch table for i386 can be found in
.IR /usr/src/linux/arch/i386/kernel/entry.S .)
older system calls were superseded by newer ones,
and this has been treated somewhat unsystematically.
On platforms with
-proprietary OS emulation, such as parisc, sparc, sparc64 and alpha,
+proprietary operating-system emulation,
+such as parisc, sparc, sparc64 and alpha,
there are many additional system calls; mips64 also contains a full
set of 32-bit system calls.
and
.BR mmap (2)
system calls use five or more arguments,
-which caused problems the way
+which caused problems in the way
argument passing on the i386 used to be set up.
Thus, while other architectures have
.IR sys_select ()