From f9e4d811be69db84576bc7a60d117b8d567a43bb Mon Sep 17 00:00:00 2001 From: Michael Kerrisk Date: Sun, 1 Jul 2007 14:42:40 +0000 Subject: [PATCH] Various improvements --- man2/syscalls.2 | 76 +++++++++++++++++++------------------------------ 1 file changed, 30 insertions(+), 46 deletions(-) diff --git a/man2/syscalls.2 b/man2/syscalls.2 index c659c5474..5ca333f8b 100644 --- a/man2/syscalls.2 +++ b/man2/syscalls.2 @@ -49,33 +49,33 @@ the system call appeared in kernel 2.0 or earlier. 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. -(No new system calls were added in the stable -kernel 2.0.x series. -The 2.2 kernel was created as a branch of kernel 2.0.21 via the 2.1.x -unstable kernel series) +(Development of the 2.2 kernel was initiated from a branch of kernel +2.0.21 via the 2.1.x unstable kernel series.) .IP * 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. -(No new system calls were added in the stable -kernel 2.2.x series. -The 2.4 kernel was created as a branch of kernel 2.2.8 via the 2.3.x -unstable kernel series.) +(Development of the 2.4 kernel was initiated from a branch of +kernel 2.2.8 via the 2.3.x unstable kernel series.) .IP * 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.) .IP * Starting with kernel 2.6.0, the development model changed, and new system calls may appear in each 2.6.x release. -Kernel 2.6.0 was formed from a branch of kernel 2.4.15 via the 2.5.x -unstable kernel series. -In some cases, a system call appeared in 2.6.x and was also backported -into a 2.4.x release after 2.4.15; -where this is so, the version where the system call appeared +In this case, the exact version number where the system call appeared +is shown. +.IP * +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. +When this is so, the version where the system call appeared in both of the major kernel series is listed. -(Where a system call is listed as appearing in kernel 2.4.x, x <= 15, -then implicitly it also appeared in the later kernel 2.6.0.) .PP The list of system calls that are available as at kernel 2.6.22 (or in a few cases only on older kernels) is as follows: @@ -98,8 +98,7 @@ System call Kernel Notes \fBadjtimex\fP(2) \fBafs_syscall\fP(2) \fBalarm\fP(2) -.\" alloc_hugepages (2) appeared in 2.5.36 and went away in 2.5.44 -.\" in 2.4.x, the syscall number exists but give ENOSYS +\fBalloc_hugepages\fP(2) 2.5.36 Removed in 2.5.44 \fBbdflush\fP(2) \fBbind\fP(2) \fBbreak\fP(2) @@ -149,8 +148,7 @@ System call Kernel Notes \fBflistxattr\fP(2) 2.6; 2.4.18 \fBflock\fP(2) \fBfork\fP(2) -.\" free_hugepages (2) appeared in 2.5.36 and went away in 2.5.44 -.\" in 2.4.x, the syscall number exists but give ENOSYS +\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) @@ -205,7 +203,7 @@ System call Kernel Notes \fBgetuid\fP(2) \fBgetuid32\fP(2) 2.4 \fBgetxattr\fP(2) 2.6; 2.4.18 -.\" \fBgetunwind\fP(2) ??? i164; DEPRECATE +.\" \fBgetunwind\fP(2) ??? ia64; DEPRECATED \fBgtty\fP(2) \fBidle\fP(2) \fBinit_module\fP(2) @@ -290,9 +288,9 @@ System call Kernel Notes \fBopen\fP(2) \fBopenat\fP(2) 2.6.16 \fBpause\fP(2) -.\" \fBpciconfig_iobase\fP(2) ??? Alpha, PowerPC, ARM -.\" \fBpciconfig_read\fP(2) ??? Alpha, PowerPC, ARM -.\" \fBpciconfig_write\fP(2) ??? Alpha, PowerPC, ARM +\fBpciconfig_iobase\fP(2) 2.2.15; 2.4 Alpha, PowerPC, ARM; not i386 +\fBpciconfig_read\fP(2) 2.0.26; 2.2 Alpha, PowerPC, ARM; not i386 +\fBpciconfig_write\fP(2) 2.0.26; 2.2 Alpha, PowerPC, ARM; not i386 \fBpersonality\fP(2) .\" \fBperfctr\fP(2) ??? Sparc32, Sparc64 .\" \fBperfmonctl\fP(2) ??? IA-64 @@ -349,9 +347,7 @@ System call Kernel Notes \fBsched_setparam\fP(2) \fBsched_setscheduler\fP(2) \fBsched_yield\fP(2) -.\" 2.4.11 added security(2), but this was dropped in 2.5.x -.\" \fBsecurity\fP(2) -.\" (2.4.11; not in 2.6) +\fBsecurity\fP(2) 2.4.11 \fBselect\fP(2) \fBsemctl\fP(2) \fBsemget\fP(2) @@ -367,7 +363,7 @@ System call Kernel Notes \fBset_thread_area\fP(2) 2.6; 2.4.20 \fBset_tid_address\fP(2) 2.6 \fBset_zone_reclaim\fP(2) 2.6.13 Removed in 2.6.16 -.\" Yes, set_zone_reclaim() really was an implemented system call that +.\" Yes, set_zone_reclaim(2) really was an implemented system call that .\" went away \fBsetdomainname\fP(2) \fBsetfsgid\fP(2) @@ -416,8 +412,8 @@ System call Kernel Notes \fBsocketcall\fP(2) Implements BSD socket calls \fBsocketpair\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 +\fBspu_create\fP(2) 2.6.16 PowerPC only +\fBspu_run\fP(2) 2.6.16 PowerPC only \fBssetmask\fP(2) \fBstat\fP(2) \fBstat64\fP(2) 2.4 @@ -449,7 +445,7 @@ System call Kernel Notes \fBtruncate\fP(2) \fBtruncate64\fP(2) 2.4 \fBtuxcall\fP(2) Unimplemented; no slot on i386 -.\" As at 2.6.22, tuxcall has a slot on PowerPC, Xx86_64, and alpha +.\" As at 2.6.22, tuxcall has a slot on PowerPC, x86_64, and alpha \fBugetrlimit\fP(2) 2.4 \fBulimit\fP(2) Implemented in glibc; see \fBulimit\fP(3) @@ -480,18 +476,6 @@ System call Kernel Notes .TE .PP Note the following points: -.\" .IP * 3 -.\" These system calls are obsolete: -.\" getrlimit, -.\" .\" .\" oldfstat, -.\" .\" .\" oldlstat, -.\" .\" .\" oldolduname, -.\" .\" .\" oldstat, -.\" .\" .\" olduname, -.\" .\" .\" readdir, -.\" .\" .\" select, -.\" .\" .\" and -.\" .\" .\" vm86old .IP * 3 Although slots are reserved for them in the system call table, the following system calls are not implemented in the standard kernel: @@ -508,9 +492,9 @@ the following system calls are not implemented in the standard kernel: .BR prof (2), \" __NR_prof is 44 on Linux 2.6.22/i386 .BR profil (2), \" __NR_profil is 98 on Linux 2.6.22/i386 .BR putpmsg (2), \" __NR_putpmsg is 189 on Linux 2.6.22/i386 -.BR security (2), -.\" __NR_putpmsg is 223 on Linux 2.4/i386; absent on 2.6/i386, present -.\" on a a couple og 2.6 architectures +.\" __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present +.\" on a couple of 2.6 architectures +.BR security (2), \" __NR_security is 223 on Linux 2.4/i386 .BR stty (2), \" __NR_stty is 31 on Linux 2.6.22/i386 .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 @@ -581,7 +565,7 @@ and (slot .IR __NR_stat64 ), with the last being the most current. -.\" e.g., on 2.6.22/x86: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195 +.\" e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195 .\" 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