2007-09-20 06:52:22 +00:00
|
|
|
.\" Copyright (C) 2007 Michael Kerrisk <mtk.manpages@gmail.com>
|
2007-06-28 06:26:51 +00:00
|
|
|
.\" with some input from Stepan Kasal <kasal@ucw.cz>
|
|
|
|
.\"
|
|
|
|
.\" Some content retained from an earlier version of this page:
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright (C) 1998 Andries Brouwer (aeb@cwi.nl)
|
|
|
|
.\" Modifications for 2.2 and 2.4 Copyright (C) 2002 Ian Redfern
|
|
|
|
.\" <redferni@logica.com>
|
|
|
|
.\"
|
intro.1, _exit.2, access.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bind.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, close.2, connect.2, delete_module.2, dup.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, fork.2, fstatat.2, fsync.2, futimesat.2, get_robust_list.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getpagesize.2, getpid.2, getresuid.2, getrlimit.2, getrusage.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, idle.2, init_module.2, intro.2, iopl.2, kcmp.2, kexec_load.2, kill.2, link.2, linkat.2, llseek.2, lookup_dcookie.2, madvise.2, mincore.2, mkdirat.2, mknodat.2, mmap.2, mmap2.2, mount.2, mprotect.2, mq_getsetattr.2, msgctl.2, msgget.2, msgop.2, msync.2, nice.2, open.2, openat.2, pause.2, perfmonctl.2, personality.2, pipe.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, quotactl.2, read.2, readahead.2, readdir.2, readlinkat.2, readv.2, reboot.2, recvmmsg.2, remap_file_pages.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, sendmmsg.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setresuid.2, setuid.2, setup.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, sigaction.2, sigaltstack.2, signal.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, splice.2, stat.2, statfs.2, stime.2, subpage_prot.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, syscalls.2, sysctl.2, sysfs.2, syslog.2, tee.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, times.2, tkill.2, umask.2, umount.2, uname.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, abort.3, abs.3, acos.3, acosh.3, adjtime.3, aio_init.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, byteorder.3, bzero.3, catgets.3, catopen.3, cbrt.3, ceil.3, clearenv.3, clock.3, clock_getcpuclockid.3, closedir.3, confstr.3, copysign.3, cos.3, cosh.3, ctermid.3, ctime.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, end.3, endian.3, erf.3, erfc.3, ether_aton.3, euidaccess.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fcloseall.3, fexecve.3, ffs.3, fgetgrent.3, fgetpwent.3, finite.3, flockfile.3, floor.3, fmod.3, fnmatch.3, fopencookie.3, fpathconf.3, fpurge.3, frexp.3, fseeko.3, ftok.3, futimes.3, gcvt.3, get_nprocs_conf.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getlogin.3, getmntent.3, getnetent.3, getnetent_r.3, getopt.3, getprotoent.3, getprotoent_r.3, getpw.3, getpwent.3, getpwnam.3, getrpcent_r.3, gets.3, getservent.3, getservent_r.3, getumask.3, getusershell.3, getutmp.3, getw.3, glob.3, gnu_get_libc_version.3, gsignal.3, hypot.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, j0.3, ldexp.3, localeconv.3, log.3, log10.3, log1p.3, log2.3, logb.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, on_exit.3, opendir.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, profil.3, psignal.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, putenv.3, putpwent.3, puts.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, re_comp.3, readdir.3, realpath.3, regex.3, remainder.3, remove.3, resolver.3, rewinddir.3, rint.3, round.3, scalb.3, scalbln.3, scandir.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setenv.3, setlocale.3, setlogmask.3, shm_open.3, siginterrupt.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdio_ext.3, stpcpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfry.3, strftime.3, string.3, strlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, trunc.3, tsearch.3, ttyslot.3, tzset.3, ulimit.3, undocumented.3, unlocked_stdio.3, usleep.3, y0.3, cpuid.4, full.4, initrd.4, mouse.4, msr.4, sd.4, st.4, acct.5, core.5, services.5, slabinfo.5, aio.7, capabilities.7, credentials.7, feature_test_macros.7, hier.7, inotify.7, libc.7, locale.7, man-pages.7, man.7, math_error.7, mq_overview.7, numa.7, path_resolution.7, pipe.7, pthreads.7, pty.7, rtld-audit.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, suffixes.7, svipc.7, termio.7, time.7, udplite.7, units.7, uri.7, sln.8: s/LICENSE_START(verbatim)/LICENSE_START(VERBATIM)/
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 09:29:01 +00:00
|
|
|
.\" %%%LICENSE_START(VERBATIM)
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" 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.
|
|
|
|
.\"
|
|
|
|
.\" Permission is granted to copy and distribute modified versions of this
|
|
|
|
.\" manual under the conditions for verbatim copying, provided that the
|
|
|
|
.\" entire resulting derived work is distributed under the terms of a
|
|
|
|
.\" permission notice identical to this one.
|
|
|
|
.\"
|
|
|
|
.\" Since the Linux kernel and libraries are constantly changing, this
|
|
|
|
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
|
|
.\" responsibility for errors or omissions, or for damages resulting from
|
|
|
|
.\" the use of the information contained herein. The author(s) may not
|
|
|
|
.\" have taken the same level of care in the production of this manual,
|
|
|
|
.\" which is licensed free of charge, as they might when working
|
|
|
|
.\" professionally.
|
|
|
|
.\"
|
|
|
|
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
|
|
.\" the source, must acknowledge the copyright and authors of this work.
|
intro.1, _exit.2, access.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bind.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, close.2, connect.2, delete_module.2, dup.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, fork.2, fstatat.2, fsync.2, futimesat.2, get_robust_list.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getpagesize.2, getpid.2, getresuid.2, getrlimit.2, getrusage.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, idle.2, init_module.2, intro.2, iopl.2, kcmp.2, kexec_load.2, kill.2, link.2, linkat.2, llseek.2, lookup_dcookie.2, madvise.2, mincore.2, mkdirat.2, mknodat.2, mmap.2, mmap2.2, mount.2, mprotect.2, mq_getsetattr.2, msgctl.2, msgget.2, msgop.2, msync.2, nice.2, open.2, openat.2, pause.2, perfmonctl.2, personality.2, pipe.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, quotactl.2, read.2, readahead.2, readdir.2, readlinkat.2, readv.2, reboot.2, recvmmsg.2, remap_file_pages.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, sendmmsg.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setresuid.2, setuid.2, setup.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, sigaction.2, sigaltstack.2, signal.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, splice.2, stat.2, statfs.2, stime.2, subpage_prot.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, syscalls.2, sysctl.2, sysfs.2, syslog.2, tee.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, times.2, tkill.2, umask.2, umount.2, uname.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, abort.3, abs.3, acos.3, acosh.3, adjtime.3, aio_init.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, byteorder.3, bzero.3, catgets.3, catopen.3, cbrt.3, ceil.3, clearenv.3, clock.3, clock_getcpuclockid.3, closedir.3, confstr.3, copysign.3, cos.3, cosh.3, ctermid.3, ctime.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, end.3, endian.3, erf.3, erfc.3, ether_aton.3, euidaccess.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fcloseall.3, fexecve.3, ffs.3, fgetgrent.3, fgetpwent.3, finite.3, flockfile.3, floor.3, fmod.3, fnmatch.3, fopencookie.3, fpathconf.3, fpurge.3, frexp.3, fseeko.3, ftok.3, futimes.3, gcvt.3, get_nprocs_conf.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getlogin.3, getmntent.3, getnetent.3, getnetent_r.3, getopt.3, getprotoent.3, getprotoent_r.3, getpw.3, getpwent.3, getpwnam.3, getrpcent_r.3, gets.3, getservent.3, getservent_r.3, getumask.3, getusershell.3, getutmp.3, getw.3, glob.3, gnu_get_libc_version.3, gsignal.3, hypot.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, j0.3, ldexp.3, localeconv.3, log.3, log10.3, log1p.3, log2.3, logb.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, on_exit.3, opendir.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, profil.3, psignal.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, putenv.3, putpwent.3, puts.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, re_comp.3, readdir.3, realpath.3, regex.3, remainder.3, remove.3, resolver.3, rewinddir.3, rint.3, round.3, scalb.3, scalbln.3, scandir.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setenv.3, setlocale.3, setlogmask.3, shm_open.3, siginterrupt.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdio_ext.3, stpcpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfry.3, strftime.3, string.3, strlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, trunc.3, tsearch.3, ttyslot.3, tzset.3, ulimit.3, undocumented.3, unlocked_stdio.3, usleep.3, y0.3, cpuid.4, full.4, initrd.4, mouse.4, msr.4, sd.4, st.4, acct.5, core.5, services.5, slabinfo.5, aio.7, capabilities.7, credentials.7, feature_test_macros.7, hier.7, inotify.7, libc.7, locale.7, man-pages.7, man.7, math_error.7, mq_overview.7, numa.7, path_resolution.7, pipe.7, pthreads.7, pty.7, rtld-audit.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, suffixes.7, svipc.7, termio.7, time.7, udplite.7, units.7, uri.7, sln.8: Global fix: Add LICENSE_START(verbatim)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 09:28:40 +00:00
|
|
|
.\" %%%LICENSE_END
|
2004-11-03 13:51:07 +00:00
|
|
|
.\"
|
2013-04-19 11:38:21 +00:00
|
|
|
.TH SYSCALLS 2 2013-04-17 "Linux" "Linux Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NAME
|
2007-06-28 06:26:51 +00:00
|
|
|
syscalls \- Linux system calls
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH SYNOPSIS
|
2007-06-28 06:26:51 +00:00
|
|
|
Linux system calls.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH DESCRIPTION
|
|
|
|
The system call is the fundamental interface between an application
|
2007-04-12 22:42:49 +00:00
|
|
|
and the Linux kernel.
|
2007-07-03 18:01:31 +00:00
|
|
|
.SS System calls and library wrapper functions
|
|
|
|
System calls are generally not invoked directly,
|
2007-07-07 19:18:58 +00:00
|
|
|
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).
|
2007-07-03 18:01:31 +00:00
|
|
|
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
|
|
|
|
.BR truncate ()
|
|
|
|
which invokes the underlying "truncate" system call.
|
2004-11-03 13:51:07 +00:00
|
|
|
|
2007-07-03 18:01:31 +00:00
|
|
|
Often the glibc wrapper function is quite thin, doing little work
|
2008-09-24 14:10:00 +00:00
|
|
|
other than copying arguments to the right registers
|
|
|
|
before invoking the system call,
|
|
|
|
and then setting
|
|
|
|
.I errno
|
|
|
|
appropriately after the system call has returned.
|
|
|
|
(These are the same steps that are performed by
|
|
|
|
.BR 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;
|
|
|
|
when this happens,
|
|
|
|
the wrapper function negates the returned error number
|
|
|
|
(to make it positive), copies it to
|
|
|
|
.IR errno ,
|
|
|
|
and returns \-1 to the caller of the wrapper.
|
2007-07-03 18:01:31 +00:00
|
|
|
|
|
|
|
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)
|
|
|
|
and
|
|
|
|
.BR truncate64 (2),
|
|
|
|
and the glibc
|
|
|
|
.BR truncate ()
|
2007-07-07 19:18:58 +00:00
|
|
|
wrapper function checks which of those system calls
|
|
|
|
are provided by the kernel and determines which should be employed.
|
2007-07-03 18:01:31 +00:00
|
|
|
.SS System call list
|
2013-02-09 18:34:10 +00:00
|
|
|
Below is a list of the Linux system calls.
|
2007-06-28 06:26:51 +00:00
|
|
|
In the list, the
|
|
|
|
.I Kernel
|
|
|
|
column indicates the kernel version
|
|
|
|
for those system calls that were new in Linux 2.2,
|
|
|
|
or have appeared since that kernel version.
|
|
|
|
Note the following points:
|
|
|
|
.IP * 3
|
|
|
|
Where no kernel version is indicated,
|
2008-06-16 10:07:46 +00:00
|
|
|
the system call appeared in kernel 1.0 or earlier.
|
|
|
|
.IP *
|
|
|
|
Where a system call is marked "1.2"
|
|
|
|
this means the system call probably appeared in a 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 *
|
|
|
|
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.)
|
2007-07-07 09:55:00 +00:00
|
|
|
.\" Was kernel 2.0 started from a branch of 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
|
2007-07-08 12:39:24 +00:00
|
|
|
.\" fact the diff doesn't seem very clear, the
|
2007-07-07 09:55:00 +00:00
|
|
|
.\" 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
|
|
|
|
.\" that there might not have been a clean branch point.
|
2007-06-28 06:26:51 +00:00
|
|
|
.IP *
|
|
|
|
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.
|
2007-07-01 14:42:40 +00:00
|
|
|
(Development of the 2.2 kernel was initiated from a branch of kernel
|
|
|
|
2.0.21 via the 2.1.x unstable kernel series.)
|
2007-06-28 06:26:51 +00:00
|
|
|
.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.
|
2007-07-01 14:42:40 +00:00
|
|
|
(Development of the 2.4 kernel was initiated from a branch of
|
|
|
|
kernel 2.2.8 via the 2.3.x unstable kernel series.)
|
2007-06-28 06:26:51 +00:00
|
|
|
.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.
|
2007-07-01 14:42:40 +00:00
|
|
|
(Development of kernel 2.6 was initiated from a branch
|
|
|
|
of kernel 2.4.15 via the 2.5.x unstable kernel series.)
|
2007-06-28 06:26:51 +00:00
|
|
|
.IP *
|
|
|
|
Starting with kernel 2.6.0, the development model changed,
|
|
|
|
and new system calls may appear in each 2.6.x release.
|
2007-07-01 14:42:40 +00:00
|
|
|
In this case, the exact version number where the system call appeared
|
|
|
|
is shown.
|
2011-09-11 15:49:47 +00:00
|
|
|
This convention continues with the 3.x kernel series,
|
|
|
|
which followed on from kernel 2.6.39.
|
2007-07-01 14:42:40 +00:00
|
|
|
.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
|
2007-06-28 06:26:51 +00:00
|
|
|
in both of the major kernel series is listed.
|
|
|
|
.PP
|
2013-03-15 12:43:11 +00:00
|
|
|
The list of system calls that are available as at kernel 3.9
|
2007-06-28 06:26:51 +00:00
|
|
|
(or in a few cases only on older kernels) is as follows:
|
|
|
|
.\"
|
|
|
|
.\" Looking at scripts/checksyscalls.sh in the kernel source is
|
2012-12-18 21:05:57 +00:00
|
|
|
.\" instructive about x86 specifics.
|
2007-06-28 06:26:51 +00:00
|
|
|
.\"
|
2012-05-06 21:07:22 +00:00
|
|
|
.ad l
|
2007-06-28 06:26:51 +00:00
|
|
|
.TS
|
2007-07-03 18:01:31 +00:00
|
|
|
l l l
|
|
|
|
---
|
2007-06-28 06:26:51 +00:00
|
|
|
l l l.
|
2007-08-27 11:38:36 +00:00
|
|
|
\fBSystem call\fP \fBKernel\fP \fBNotes\fP
|
2007-07-03 11:05:50 +00:00
|
|
|
|
2008-06-16 10:07:46 +00:00
|
|
|
\fB_llseek\fP(2) 1.2
|
2013-03-10 12:04:00 +00:00
|
|
|
\fB_newselect\fP(2) 2.0
|
|
|
|
\fB_sysctl\fP(2) 2.0
|
|
|
|
\fBaccept\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
|
2008-12-06 17:32:56 +00:00
|
|
|
\fBaccept4\fP(2) 2.6.28
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBaccess\fP(2) 1.0
|
|
|
|
\fBacct\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBadd_key\fP(2) 2.6.11
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBadjtimex\fP(2) 1.0
|
|
|
|
\fBalarm\fP(2) 1.0
|
2007-07-01 14:42:40 +00:00
|
|
|
\fBalloc_hugepages\fP(2) 2.5.36 Removed in 2.5.44
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBbdflush\fP(2) 1.2 T{
|
2013-03-28 08:43:38 +00:00
|
|
|
Deprecated (does nothing)
|
|
|
|
.br
|
|
|
|
since 2.6
|
2012-05-06 21:07:22 +00:00
|
|
|
T}
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBbind\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
|
|
|
|
\fBbrk\fP(2) 1.0
|
2012-12-18 21:05:57 +00:00
|
|
|
\fBcacheflush\fP(2) 1.2 Not on x86
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBcapget\fP(2) 2.2
|
|
|
|
\fBcapset\fP(2) 2.2
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBchdir\fP(2) 1.0
|
|
|
|
\fBchmod\fP(2) 1.0
|
|
|
|
\fBchown\fP(2) 2.2 T{
|
2013-03-28 08:43:38 +00:00
|
|
|
See \fBchown\fP(2) for
|
|
|
|
.br
|
|
|
|
version details
|
2013-03-10 12:04:00 +00:00
|
|
|
T}
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBchown32\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBchroot\fP(2) 1.0
|
2011-09-07 17:28:53 +00:00
|
|
|
\fBclock_adjtime\fP(2) 2.6.39
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBclock_getres\fP(2) 2.6
|
|
|
|
\fBclock_gettime\fP(2) 2.6
|
|
|
|
\fBclock_nanosleep\fP(2) 2.6
|
|
|
|
\fBclock_settime\fP(2) 2.6
|
2013-03-10 12:04:00 +00:00
|
|
|
\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
|
2012-05-06 21:07:22 +00:00
|
|
|
\fBcreate_module\fP(2) Removed in 2.6
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBdelete_module\fP(2) 1.0
|
|
|
|
\fBdup\fP(2) 1.0
|
|
|
|
\fBdup2\fP(2) 1.0
|
2008-10-10 13:56:34 +00:00
|
|
|
\fBdup3\fP(2) 2.6.27
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBepoll_create\fP(2) 2.6
|
2008-10-10 13:56:34 +00:00
|
|
|
\fBepoll_create1\fP(2) 2.6.27
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBepoll_ctl\fP(2) 2.6
|
|
|
|
\fBepoll_pwait\fP(2) 2.6.19
|
|
|
|
\fBepoll_wait\fP(2) 2.6
|
|
|
|
\fBeventfd\fP(2) 2.6.22
|
2008-10-10 13:56:34 +00:00
|
|
|
\fBeventfd2\fP(2) 2.6.27
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBexecve\fP(2) 1.0
|
|
|
|
\fBexit\fP(2) 1.0
|
2008-11-28 16:25:14 +00:00
|
|
|
\fBexit_group\fP(2) 2.6
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBfaccessat\fP(2) 2.6.16
|
2007-07-03 18:01:31 +00:00
|
|
|
\fBfadvise64\fP(2) 2.6
|
|
|
|
.\" Implements \fBposix_fadvise\fP(2)
|
|
|
|
\fBfadvise64_64\fP(2) 2.6
|
2007-10-13 12:42:36 +00:00
|
|
|
\fBfallocate\fP(2) 2.6.23
|
2011-01-06 20:42:41 +00:00
|
|
|
\fBfanotify_init\fP(2) 2.6.37
|
|
|
|
\fBfanotify_mark\fP(2) 2.6.37
|
|
|
|
.\" The fanotify calls were added in Linux 2.6.36,
|
|
|
|
.\" but disabled while the API was finalized.
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBfchdir\fP(2) 1.0
|
|
|
|
\fBfchmod\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBfchmodat\fP(2) 2.6.16
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBfchown\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBfchown32\fP(2) 2.4
|
|
|
|
\fBfchownat\fP(2) 2.6.16
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBfcntl\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBfcntl64\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBfdatasync\fP(2) 2.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBfgetxattr\fP(2) 2.6; 2.4.18
|
2012-12-20 17:29:34 +00:00
|
|
|
\fBfinit_module\fP(2) 3.8
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBflistxattr\fP(2) 2.6; 2.4.18
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBflock\fP(2) 2.0
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBfork\fP(2) 1.0
|
2007-07-01 14:42:40 +00:00
|
|
|
\fBfree_hugepages\fP(2) 2.5.36 Removed in 2.5.44
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBfremovexattr\fP(2) 2.6; 2.4.18
|
|
|
|
\fBfsetxattr\fP(2) 2.6; 2.4.18
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBfstat\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBfstat64\fP(2) 2.4
|
2007-07-14 05:29:58 +00:00
|
|
|
\fBfstatat64\fP(2) 2.6.16
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBfstatfs\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBfstatfs64\fP(2) 2.6
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBfsync\fP(2) 1.0 1.0
|
|
|
|
\fBftruncate\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBftruncate64\fP(2) 2.4
|
2008-11-28 16:25:14 +00:00
|
|
|
\fBfutex\fP(2) 2.6
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBfutimesat\fP(2) 2.6.16
|
2012-05-06 21:07:22 +00:00
|
|
|
\fBget_kernel_syms\fP(2) Removed in 2.6
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBget_mempolicy\fP(2) 2.6.6
|
|
|
|
\fBget_robust_list\fP(2) 2.6.17
|
2008-11-28 16:25:14 +00:00
|
|
|
\fBget_thread_area\fP(2) 2.6
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBgetcpu\fP(2) 2.6.19
|
|
|
|
\fBgetcwd\fP(2) 2.2
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBgetdents\fP(2) 2.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBgetdents64\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBgetegid\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBgetegid32\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBgeteuid\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBgeteuid32\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBgetgid\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBgetgid32\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBgetgroups\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBgetgroups32\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBgetitimer\fP(2) 1.0
|
|
|
|
\fBgetpeername\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
|
2012-12-18 21:05:57 +00:00
|
|
|
\fBgetpagesize\fP(2) 2.0 Not on x86
|
2013-03-10 12:04:00 +00:00
|
|
|
\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
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBgetresgid\fP(2) 2.2
|
|
|
|
\fBgetresgid32\fP(2) 2.4
|
|
|
|
\fBgetresuid\fP(2) 2.2
|
|
|
|
\fBgetresuid32\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBgetrlimit\fP(2) 1.0
|
|
|
|
\fBgetrusage\fP(2) 1.0
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBgetsid\fP(2) 2.0
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBgetsockname\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
|
|
|
|
\fBgetsockopt\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBgettid\fP(2) 2.4.11
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBgettimeofday\fP(2) 1.0
|
|
|
|
\fBgetuid\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBgetuid32\fP(2) 2.4
|
2008-07-08 07:27:14 +00:00
|
|
|
.\" \fBgetunwind\fP(2) 2.4.8 ia64; DEPRECATED
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBgetxattr\fP(2) 2.6; 2.4.18
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBinit_module\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBinotify_add_watch\fP(2) 2.6.13
|
|
|
|
\fBinotify_init\fP(2) 2.6.13
|
2008-10-10 13:56:34 +00:00
|
|
|
\fBinotify_init1\fP(2) 2.6.27
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBinotify_rm_watch\fP(2) 2.6.13
|
2008-11-28 16:25:14 +00:00
|
|
|
\fBio_cancel\fP(2) 2.6
|
|
|
|
\fBio_destroy\fP(2) 2.6
|
|
|
|
\fBio_getevents\fP(2) 2.6
|
|
|
|
\fBio_setup\fP(2) 2.6
|
|
|
|
\fBio_submit\fP(2) 2.6
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBioctl\fP(2) 1.0
|
|
|
|
\fBioperm\fP(2) 1.0
|
|
|
|
\fBiopl\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBioprio_get\fP(2) 2.6.13
|
|
|
|
\fBioprio_set\fP(2) 2.6.13
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBipc\fP(2) 1.0
|
2007-07-03 18:01:31 +00:00
|
|
|
.\" Implements System V IPC calls
|
2012-07-16 07:45:54 +00:00
|
|
|
\fBkcmp\fP(2) 3.5
|
2013-01-24 23:46:06 +00:00
|
|
|
\fBkern_features\fP(2) 3.7 Sparc64
|
2010-11-04 06:13:31 +00:00
|
|
|
\fBkexec_load\fP(2) 2.6.13
|
|
|
|
.\" The entry in the syscall table was reserved starting in 2.6.7
|
2007-07-03 18:01:31 +00:00
|
|
|
.\" Was named sys_kexec_load() from 2.6.7 to 2.6.16
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBkeyctl\fP(2) 2.6.11
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBkill\fP(2) 1.0
|
|
|
|
\fBlchown\fP(2) 1.0 T{
|
2013-03-28 08:43:38 +00:00
|
|
|
See \fBchown\fP(2) for
|
|
|
|
.br
|
|
|
|
version details
|
2013-03-10 12:04:00 +00:00
|
|
|
T}
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBlchown32\fP(2) 2.4
|
|
|
|
\fBlgetxattr\fP(2) 2.6; 2.4.18
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBlink\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBlinkat\fP(2) 2.6.16
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBlisten\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
|
2007-06-28 06:26:51 +00:00
|
|
|
\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
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBlseek\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBlsetxattr\fP(2) 2.6; 2.4.18
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBlstat\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBlstat64\fP(2) 2.4
|
|
|
|
\fBmadvise\fP(2) 2.4
|
|
|
|
\fBmadvise1\fP(2) 2.4
|
|
|
|
\fBmbind\fP(2) 2.6.6
|
|
|
|
.\" \fBmemory_ordering\fP(2) ??? Sparc64
|
|
|
|
\fBmigrate_pages\fP(2) 2.6.16
|
|
|
|
\fBmincore\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBmkdir\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBmkdirat\fP(2) 2.6.16
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBmknod\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBmknodat\fP(2) 2.6.16
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBmlock\fP(2) 2.0
|
|
|
|
\fBmlockall\fP(2) 2.0
|
|
|
|
\fBmmap\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBmmap2\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBmodify_ldt\fP(2) 1.0
|
|
|
|
\fBmount\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBmove_pages\fP(2) 2.6.18
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBmprotect\fP(2) 1.0
|
2007-07-03 18:01:31 +00:00
|
|
|
\fBmq_getsetattr\fP(2) 2.6.6
|
|
|
|
.\" Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
|
2007-06-28 06:26:51 +00:00
|
|
|
\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
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBmq_unlink\fP(2) 2.6.6
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBmremap\fP(2) 2.0
|
2013-03-10 12:04:00 +00:00
|
|
|
\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)
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBmsync\fP(2) 2.0
|
2007-06-29 18:30:44 +00:00
|
|
|
.\" \fBmultiplexer\fP(2) ?? __NR_multiplexer reserved on
|
|
|
|
.\" PowerPC, but unimplemented?
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBmunlock\fP(2) 2.0
|
|
|
|
\fBmunlockall\fP(2) 2.0
|
|
|
|
\fBmunmap\fP(2) 1.0
|
2011-09-07 17:28:53 +00:00
|
|
|
\fBname_to_handle_at\fP(2) 2.6.39
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBnanosleep\fP(2) 2.0
|
2012-03-05 00:15:52 +00:00
|
|
|
\fBnfsservctl\fP(2) 2.2 Removed in 3.1
|
2013-03-10 12:04:00 +00:00
|
|
|
\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
|
2011-09-07 17:28:53 +00:00
|
|
|
\fBopen_by_handle_at\fP(2) 2.6.39
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBopenat\fP(2) 2.6.16
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBpause\fP(2) 1.0
|
2012-12-18 21:05:57 +00:00
|
|
|
\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
|
2012-05-06 21:07:22 +00:00
|
|
|
\fBperf_event_open\fP(2) 2.6.31 T{
|
2013-03-28 08:43:38 +00:00
|
|
|
Was called perf_counter_open()
|
|
|
|
.br
|
|
|
|
in 2.6.31; renamed in 2.6.32
|
2012-05-06 21:07:22 +00:00
|
|
|
T}
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBpersonality\fP(2) 1.2
|
2013-02-09 18:31:23 +00:00
|
|
|
\fBperfctr\fP(2) 2.2 Sparc; removed in 2.6.34
|
|
|
|
.\" commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBperfmonctl\fP(2) 2.4 ia64
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBpipe\fP(2) 1.0
|
2008-10-10 13:56:34 +00:00
|
|
|
\fBpipe2\fP(2) 2.6.27
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBpivot_root\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBpoll\fP(2) 2.0.36; 2.2
|
2013-02-09 18:05:27 +00:00
|
|
|
\fBppc_rtas\fP(2) PowerPC only
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBppoll\fP(2) 2.6.16
|
|
|
|
\fBprctl\fP(2) 2.2
|
2012-05-06 21:07:22 +00:00
|
|
|
\fBpread64\fP(2) T{
|
2013-03-28 08:43:38 +00:00
|
|
|
Added as "pread" in 2.2;
|
|
|
|
.br
|
|
|
|
renamed "pread64" in 2.6
|
2012-05-06 21:07:22 +00:00
|
|
|
T}
|
2009-05-06 04:43:44 +00:00
|
|
|
\fBpreadv\fP(2) 2.6.30
|
2010-11-06 15:45:19 +00:00
|
|
|
\fBprlimit\fP(2) 2.6.36
|
2012-09-23 14:35:42 +00:00
|
|
|
\fBprocess_vm_readv\fP(2) 3.2
|
|
|
|
\fBprocess_vm_writev\fP(2) 3.2
|
2007-07-03 18:01:31 +00:00
|
|
|
\fBpselect6\fP(2) 2.6.16
|
|
|
|
.\" Implements \fBpselect\fP(2)
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBptrace\fP(2) 1.0
|
2012-05-06 21:07:22 +00:00
|
|
|
\fBpwrite64\fP(2) T{
|
2013-03-28 08:43:38 +00:00
|
|
|
Added as "pwrite" in 2.2;
|
|
|
|
.br
|
|
|
|
renamed "pwrite64" in 2.6
|
2012-05-06 21:07:22 +00:00
|
|
|
T}
|
2009-05-06 04:43:44 +00:00
|
|
|
\fBpwritev\fP(2) 2.6.30
|
2012-03-23 01:09:47 +00:00
|
|
|
\fBquery_module\fP(2) 2.2 Removed in 2.6
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBquotactl\fP(2) 1.0
|
|
|
|
\fBread\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBreadahead\fP(2) 2.4.13
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBreaddir\fP(2) 1.0
|
2007-07-03 18:01:31 +00:00
|
|
|
.\" Supersedes \fBgetdents\fP(2)
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBreadlink\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBreadlinkat\fP(2) 2.6.16
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBreadv\fP(2) 2.0
|
2013-03-10 12:04:00 +00:00
|
|
|
\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)
|
2010-03-06 05:46:15 +00:00
|
|
|
\fBrecvmmsg\fP(2) 2.6.33
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBremap_file_pages\fP(2) 2.6
|
|
|
|
\fBremovexattr\fP(2) 2.6; 2.4.18
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBrename\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBrenameat\fP(2) 2.6.16
|
|
|
|
\fBrequest_key\fP(2) 2.6.11
|
|
|
|
\fBrestart_syscall\fP(2) 2.6
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBrmdir\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBrt_sigaction\fP(2) 2.2
|
|
|
|
\fBrt_sigpending\fP(2) 2.2
|
|
|
|
\fBrt_sigprocmask\fP(2) 2.2
|
2007-07-03 18:01:31 +00:00
|
|
|
\fBrt_sigqueueinfo\fP(2) 2.2
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBrt_sigreturn\fP(2) 2.2
|
|
|
|
\fBrt_sigsuspend\fP(2) 2.2
|
|
|
|
\fBrt_sigtimedwait\fP(2) 2.2
|
2010-03-06 05:46:15 +00:00
|
|
|
\fBrt_tgsigqueueinfo\fP(2) 2.6.31
|
2012-12-15 18:26:01 +00:00
|
|
|
\fBs390_runtime_instr\fP(2) 3.7 s390 only
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBsched_get_priority_max\fP(2) 2.0
|
|
|
|
\fBsched_get_priority_min\fP(2) 2.0
|
2008-11-28 16:25:14 +00:00
|
|
|
\fBsched_getaffinity\fP(2) 2.6
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBsched_getparam\fP(2) 2.0
|
|
|
|
\fBsched_getscheduler\fP(2) 2.0
|
|
|
|
\fBsched_rr_get_interval\fP(2) 2.0
|
2008-11-28 16:25:14 +00:00
|
|
|
\fBsched_setaffinity\fP(2) 2.6
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBsched_setparam\fP(2) 2.0
|
|
|
|
\fBsched_setscheduler\fP(2) 2.0
|
|
|
|
\fBsched_yield\fP(2) 2.0
|
2013-03-10 12:04:00 +00:00
|
|
|
\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)
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsemtimedop\fP(2) 2.6; 2.4.22
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsend\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsendfile\fP(2) 2.2
|
|
|
|
\fBsendfile64\fP(2) 2.6; 2.4.19
|
2011-09-07 17:33:46 +00:00
|
|
|
\fBsendmmsg\fP(2) 3.0
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsendmsg\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
|
|
|
|
\fBsendto\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBset_mempolicy\fP(2) 2.6.6
|
|
|
|
\fBset_robust_list\fP(2) 2.6.17
|
2008-11-28 16:25:14 +00:00
|
|
|
\fBset_thread_area\fP(2) 2.6
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBset_tid_address\fP(2) 2.6
|
2007-09-01 17:29:49 +00:00
|
|
|
.\" See http://lkml.org/lkml/2005/8/1/83
|
|
|
|
.\" "[PATCH] remove sys_set_zone_reclaim()"
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsetdomainname\fP(2) 1.0
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBsetfsgid\fP(2) 1.2
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsetfsgid32\fP(2) 2.4
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBsetfsuid\fP(2) 1.2
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsetfsuid32\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsetgid\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsetgid32\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsetgroups\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsetgroups32\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsethostname\fP(2) 1.0
|
|
|
|
\fBsetitimer\fP(2) 1.0
|
2011-09-07 17:33:46 +00:00
|
|
|
\fBsetns\fP(2) 3.0
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsetpgid\fP(2) 1.0
|
|
|
|
\fBsetpriority\fP(2) 1.0
|
|
|
|
\fBsetregid\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\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
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsetreuid\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsetreuid32\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\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
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsetuid32\fP(2) 2.4
|
|
|
|
\fBsetup\fP(2) Removed in 2.2
|
|
|
|
\fBsetxattr\fP(2) 2.6; 2.4.18
|
2013-03-10 12:04:00 +00:00
|
|
|
\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
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsigaltstack\fP(2) 2.2
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsignal\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsignalfd\fP(2) 2.6.22
|
2008-10-10 13:56:34 +00:00
|
|
|
\fBsignalfd4\fP(2) 2.6.27
|
2013-03-10 12:04:00 +00:00
|
|
|
\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
|
2007-07-03 18:01:31 +00:00
|
|
|
.\" Implements BSD socket calls
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsocketpair\fP(2) 2.0 See notes on \fBsocketcall\fP(2)
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsplice\fP(2) 2.6.17
|
2007-07-01 14:42:40 +00:00
|
|
|
\fBspu_create\fP(2) 2.6.16 PowerPC only
|
|
|
|
\fBspu_run\fP(2) 2.6.16 PowerPC only
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBssetmask\fP(2) 1.0
|
|
|
|
\fBstat\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBstat64\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBstatfs\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBstatfs64\fP(2) 2.6
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBstime\fP(2) 1.0
|
2012-05-06 21:07:22 +00:00
|
|
|
\fBsubpage_prot\fP(2) 2.6.25 PowerPC if
|
|
|
|
CONFIG_PPC_64K_PAGES
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBswapoff\fP(2) 1.0
|
|
|
|
\fBswapon\fP(2) 1.0
|
|
|
|
\fBsymlink\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsymlinkat\fP(2) 2.6.16
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsync\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBsync_file_range\fP(2) 2.6.17
|
2012-05-06 21:07:22 +00:00
|
|
|
\fBsync_file_range2\fP(2) 2.6.22 T{
|
2013-03-28 08:43:38 +00:00
|
|
|
Architecture-specific
|
|
|
|
variant of \fBsync_file_range\fP(2)
|
2012-05-06 21:07:22 +00:00
|
|
|
T}
|
2010-10-09 03:56:14 +00:00
|
|
|
.\" PowerPC, ARM, tile
|
|
|
|
.\" First appeared on ARM, as arm_sync_file_range(), but later renamed
|
2007-06-29 18:30:44 +00:00
|
|
|
.\" \fBsys_debug_setcontext\fP(2) ??? PowerPC if CONFIG_PPC32
|
2011-10-05 04:44:40 +00:00
|
|
|
\fBsyncfs\fP(2) 2.6.39
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBsysfs\fP(2) 1.2
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBsysinfo\fP(2) 1.0
|
|
|
|
\fBsyslog\fP(2) 1.0
|
2007-07-03 18:01:31 +00:00
|
|
|
.\" glibc interface is \fBklogctl\fP(3)
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBtee\fP(2) 2.6.17
|
|
|
|
\fBtgkill\fP(2) 2.6
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBtime\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBtimer_create\fP(2) 2.6
|
|
|
|
\fBtimer_delete\fP(2) 2.6
|
|
|
|
\fBtimer_getoverrun\fP(2) 2.6
|
|
|
|
\fBtimer_gettime\fP(2) 2.6
|
|
|
|
\fBtimer_settime\fP(2) 2.6
|
2008-02-22 13:57:17 +00:00
|
|
|
\fBtimerfd_create\fP(2) 2.6.25
|
|
|
|
\fBtimerfd_gettime\fP(2) 2.6.25
|
|
|
|
\fBtimerfd_settime\fP(2) 2.6.25
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBtimes\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBtkill\fP(2) 2.6; 2.4.22
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBtruncate\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBtruncate64\fP(2) 2.4
|
|
|
|
\fBugetrlimit\fP(2) 2.4
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBumask\fP(2) 1.0
|
|
|
|
\fBumount\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
.\" sys_oldumount() -- __NR_umount
|
|
|
|
\fBumount2\fP(2) 2.2
|
|
|
|
.\" sys_umount() -- __NR_umount2
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBuname\fP(2) 1.0
|
|
|
|
\fBunlink\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBunlinkat\fP(2) 2.6.16
|
|
|
|
\fBunshare\fP(2) 2.6.16
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBuselib\fP(2) 1.0
|
|
|
|
\fBustat\fP(2) 1.0
|
|
|
|
\fButime\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fButimensat\fP(2) 2.6.22
|
2010-03-06 05:31:08 +00:00
|
|
|
\fButimes\fP(2) 2.2
|
2013-02-09 16:39:23 +00:00
|
|
|
\fButrap_install\fP(2) 2.2 Sparc
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBvfork\fP(2) 2.2
|
|
|
|
\fBvhangup\fP(2) 1.0
|
2013-03-28 08:43:38 +00:00
|
|
|
\fBvm86old\fP(2) 1.0 T{
|
|
|
|
Was "vm86"; renamed in
|
|
|
|
2.0.28/2.2
|
|
|
|
T}
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBvm86\fP(2) 2.0.28; 2.2
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBvmsplice\fP(2) 2.6.17
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBwait4\fP(2) 1.0
|
2007-06-28 06:26:51 +00:00
|
|
|
\fBwaitid\fP(2) 2.6.10
|
2013-03-10 12:04:00 +00:00
|
|
|
\fBwaitpid\fP(2) 1.0
|
|
|
|
\fBwrite\fP(2) 1.0
|
2008-06-16 10:07:46 +00:00
|
|
|
\fBwritev\fP(2) 2.0
|
2007-06-28 06:26:51 +00:00
|
|
|
.TE
|
2012-05-06 21:07:22 +00:00
|
|
|
.ad
|
2007-06-28 06:26:51 +00:00
|
|
|
.PP
|
2012-12-18 21:05:57 +00:00
|
|
|
On many platforms, including x86-32, socket calls are all multiplexed
|
2007-07-03 18:01:31 +00:00
|
|
|
(via glibc wrapper functions) through
|
|
|
|
.BR socketcall (2)
|
|
|
|
and similarly System V IPC calls are multiplexed through
|
|
|
|
.BR ipc (2).
|
2012-03-23 01:29:38 +00:00
|
|
|
|
2007-06-28 06:26:51 +00:00
|
|
|
Although slots are reserved for them in the system call table,
|
2007-07-08 12:39:24 +00:00
|
|
|
the following system calls are not implemented in the standard kernel:
|
2007-06-28 06:26:51 +00:00
|
|
|
.BR afs_syscall (2), \" __NR_afs_syscall is 53 on Linux 2.6.22/i386
|
|
|
|
.BR break (2), \" __NR_break is 17 on Linux 2.6.22/i386
|
|
|
|
.BR ftime (2), \" __NR_ftime is 35 on Linux 2.6.22/i386
|
|
|
|
.BR getpmsg (2), \" __NR_getpmsg is 188 on Linux 2.6.22/i386
|
|
|
|
.BR gtty (2), \" __NR_gtty is 32 on Linux 2.6.22/i386
|
|
|
|
.BR idle (2), \" __NR_idle is 112 on Linux 2.6.22/i386
|
|
|
|
.BR lock (2), \" __NR_lock is 53 on Linux 2.6.22/i386
|
|
|
|
.BR madvise1 (2), \" __NR_madvise1 is 219 on Linux 2.6.22/i386
|
|
|
|
.BR mpx (2), \" __NR_mpx is 66 on Linux 2.6.22/i386
|
close.2, epoll_create.2, epoll_ctl.2, fcntl.2, madvise.2, mmap.2, mremap.2, select_tut.2, setgid.2, setuid.2, syscalls.2, vmsplice.2, dlopen.3, fts.3, getpw.3, stdio.3, fd.4, initrd.4, random.4, sd.4, bootparam.7, capabilities.7, cpuset.7, epoll.7, inotify.7, man.7, socket.7, x25.7: Global fix: s/re-/re/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "re-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 17:45:23 +00:00
|
|
|
.BR phys (2), \" Slot has been reused
|
2007-06-28 06:26:51 +00:00
|
|
|
.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
|
2007-07-01 14:42:40 +00:00
|
|
|
.\" __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
|
2012-03-23 01:29:38 +00:00
|
|
|
.\" The security call is for future use.
|
2007-06-28 06:26:51 +00:00
|
|
|
.BR stty (2), \" __NR_stty is 31 on Linux 2.6.22/i386
|
2007-06-29 18:30:44 +00:00
|
|
|
.BR tuxcall (2), \" __NR_tuxcall is 184 on x86_64, also on PPC and alpha
|
2007-06-28 06:26:51 +00:00
|
|
|
.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
|
2004-11-03 13:51:07 +00:00
|
|
|
(see also
|
|
|
|
.BR unimplemented (2)).
|
|
|
|
However,
|
|
|
|
.BR ftime (3),
|
|
|
|
.BR profil (3)
|
|
|
|
and
|
|
|
|
.BR ulimit (3)
|
|
|
|
exist as library routines.
|
2007-06-28 06:26:51 +00:00
|
|
|
The slot for
|
|
|
|
.BR phys (2)
|
|
|
|
is in use since kernel 2.1.116 for
|
|
|
|
.BR umount (2);
|
2007-07-08 12:39:24 +00:00
|
|
|
.BR phys (2)
|
2007-06-28 06:26:51 +00:00
|
|
|
will never be implemented.
|
|
|
|
The
|
|
|
|
.BR getpmsg (2)
|
|
|
|
and
|
|
|
|
.BR putpmsg (2)
|
|
|
|
calls are for kernels patched to support STREAMS,
|
|
|
|
and may never be in the standard kernel.
|
2012-07-16 07:49:44 +00:00
|
|
|
|
|
|
|
There was briefly
|
|
|
|
.BR set_zone_reclaim (2),
|
|
|
|
added in Linux 2.6.13, and removed in 2.6.16;
|
eventfd.2, futex.2, mmap2.2, open.2, pciconfig_read.2, ptrace.2, reboot.2, request_key.2, sched_rr_get_interval.2, splice.2, stat.2, sync_file_range.2, syscalls.2, timer_create.2, vm86.2, pthread_attr_setscope.3, core.5, proc.5, aio.7, futex.7, netlink.7, time.7: Global fix: "userspace" ==> "user space" or "user-space"
Existing pages variously use "userspace or "user space".
But, "userspace" is not quite an English word.
So change "userspace" to "user space" or, when used
attributively, "user-space".
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-10-21 06:04:42 +00:00
|
|
|
this system call was never available to user space.
|
2012-03-23 01:29:38 +00:00
|
|
|
.SH NOTES
|
2007-06-28 06:26:51 +00:00
|
|
|
.PP
|
2004-11-03 13:51:07 +00:00
|
|
|
Roughly speaking, the code belonging to the system call
|
|
|
|
with number __NR_xxx defined in
|
|
|
|
.I /usr/include/asm/unistd.h
|
bdflush.2, get_robust_list.2, kexec_load.2, madvise.2, mmap.2, mount.2, prctl.2, query_module.2, rt_sigqueueinfo.2, shmget.2, sigaction.2, syscalls.2, umount.2, malloc.3, hpsa.4, initrd.4, proc.5, bootparam.7, icmp.7, netlink.7, signal.7: Global fix: use "Linux kernel source" consistently
Rather than "kernel source".
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-09-24 08:02:34 +00:00
|
|
|
can be found in the Linux kernel source in the routine
|
2005-10-19 07:07:02 +00:00
|
|
|
.IR sys_xxx ().
|
2004-11-03 13:51:07 +00:00
|
|
|
(The dispatch table for i386 can be found in
|
|
|
|
.IR /usr/src/linux/arch/i386/kernel/entry.S .)
|
|
|
|
There are many exceptions, however, mostly because
|
|
|
|
older system calls were superseded by newer ones,
|
2007-04-12 22:42:49 +00:00
|
|
|
and this has been treated somewhat unsystematically.
|
|
|
|
On platforms with
|
2012-09-24 08:05:20 +00:00
|
|
|
proprietary operating-system emulation,
|
|
|
|
such as parisc, sparc, sparc64 and alpha,
|
2004-11-03 13:51:07 +00:00
|
|
|
there are many additional system calls; mips64 also contains a full
|
|
|
|
set of 32-bit system calls.
|
|
|
|
|
2007-06-28 06:26:51 +00:00
|
|
|
Over time, changes to the interfaces of some system calls have been
|
|
|
|
necessary.
|
|
|
|
One reason for such changes was the need to increase the size of
|
|
|
|
structures or scalar values passed to the system call.
|
2007-07-03 18:01:31 +00:00
|
|
|
Because of these changes, there are now various groups
|
|
|
|
of related system calls
|
|
|
|
(e.g.,
|
|
|
|
.BR truncate (2)
|
|
|
|
and
|
2008-06-11 06:57:00 +00:00
|
|
|
.BR truncate64 (2))
|
2007-07-03 18:01:31 +00:00
|
|
|
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:
|
|
|
|
the glibc wrapper functions do some work to ensure that the right
|
|
|
|
system call is invoked, and that ABI compatibility is
|
|
|
|
preserved for old binaries.)
|
2007-06-28 06:26:51 +00:00
|
|
|
Examples of systems calls that exist in multiple versions are
|
|
|
|
the following:
|
|
|
|
.IP * 3
|
2007-07-03 18:01:31 +00:00
|
|
|
By now there are three different versions of
|
2007-06-28 06:26:51 +00:00
|
|
|
.BR stat (2):
|
|
|
|
.IR sys_stat ()
|
|
|
|
(slot
|
|
|
|
.IR __NR_oldstat ),
|
|
|
|
.IR sys_newstat ()
|
|
|
|
(slot
|
|
|
|
.IR __NR_stat ),
|
2004-11-03 13:51:07 +00:00
|
|
|
and
|
2007-12-17 17:06:05 +00:00
|
|
|
.IR sys_stat64 ()
|
2007-06-28 06:26:51 +00:00
|
|
|
(slot
|
|
|
|
.IR __NR_stat64 ),
|
|
|
|
with the last being the most current.
|
2007-07-01 14:42:40 +00:00
|
|
|
.\" e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
|
2007-06-28 06:26:51 +00:00
|
|
|
.\" 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)
|
|
|
|
and
|
|
|
|
.BR fstat (2).
|
|
|
|
.IP *
|
|
|
|
Similarly, the defines
|
|
|
|
.IR __NR_oldolduname ,
|
|
|
|
.IR __NR_olduname ,
|
|
|
|
and
|
2007-09-20 16:26:31 +00:00
|
|
|
.I __NR_uname
|
2007-06-28 06:26:51 +00:00
|
|
|
refer to the routines
|
|
|
|
.IR sys_olduname (),
|
|
|
|
.IR sys_uname ()
|
|
|
|
and
|
|
|
|
.IR sys_newuname ().
|
|
|
|
.IP *
|
2007-07-03 18:01:31 +00:00
|
|
|
In Linux 2.0, a new version of
|
2007-06-28 06:26:51 +00:00
|
|
|
.BR vm86 (2)
|
|
|
|
appeared, with the old and the new kernel routines being named
|
|
|
|
.IR sys_vm86old ()
|
|
|
|
and
|
|
|
|
.IR sys_vm86 ().
|
|
|
|
.IP *
|
2007-07-03 18:01:31 +00:00
|
|
|
In Linux 2.4, a new version of
|
2007-06-28 06:26:51 +00:00
|
|
|
.BR getrlimit (2)
|
|
|
|
appeared, with the old and the new kernel routines being named
|
|
|
|
.IR sys_old_getrlimit ()
|
|
|
|
(slot
|
|
|
|
.IR __NR_getrlimit )
|
|
|
|
and
|
|
|
|
.IR sys_getrlimit ()
|
|
|
|
(slot
|
|
|
|
.IR __NR_ugetrlimit ).
|
|
|
|
.IP *
|
|
|
|
Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.
|
2010-10-18 02:56:09 +00:00
|
|
|
.\" 64-bit off_t changes: ftruncate64, *stat64,
|
2007-06-28 06:26:51 +00:00
|
|
|
.\" 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)),
|
|
|
|
superseding earlier calls of the same name without the
|
|
|
|
"32" suffix.
|
|
|
|
.IP *
|
|
|
|
Linux 2.4 added support for applications on 32-bit architectures
|
|
|
|
to access large files (i.e., files for which the sizes and
|
|
|
|
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 ftruncate64 (2),
|
|
|
|
.BR getdents64 (2),
|
|
|
|
.BR stat64 (2),
|
|
|
|
.BR statfs64 (2),
|
|
|
|
and their analogs that work with file descriptors or
|
|
|
|
symbolic links.
|
|
|
|
These system calls supersede the older system calls
|
|
|
|
which, except in the case of the "stat" calls,
|
|
|
|
have the same name without the "64" suffix.
|
2008-01-01 14:13:55 +00:00
|
|
|
|
2007-06-28 06:26:51 +00:00
|
|
|
On newer platforms that only have 64-bit file access and 32-bit uids
|
|
|
|
(e.g., alpha, ia64, s390x) there are no *64 or *32 calls.
|
|
|
|
Where the *64 and *32 calls exist, the other versions are obsolete.
|
|
|
|
.IP *
|
|
|
|
The
|
|
|
|
.I rt_sig*
|
|
|
|
calls were added in kernel 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
|
|
|
|
name without the "rt_" prefix.
|
|
|
|
.IP *
|
2007-07-03 18:01:31 +00:00
|
|
|
The
|
|
|
|
.BR select (2)
|
2004-11-03 13:51:07 +00:00
|
|
|
and
|
2007-07-03 18:01:31 +00:00
|
|
|
.BR mmap (2)
|
2008-07-10 20:53:08 +00:00
|
|
|
system calls use five or more arguments,
|
2013-01-17 21:08:24 +00:00
|
|
|
which caused problems in the way
|
2008-07-10 20:53:08 +00:00
|
|
|
argument passing on the i386 used to be set up.
|
2007-07-03 18:01:31 +00:00
|
|
|
Thus, while other architectures have
|
2007-06-28 06:26:51 +00:00
|
|
|
.IR sys_select ()
|
|
|
|
and
|
|
|
|
.IR sys_mmap ()
|
|
|
|
corresponding to
|
2007-09-20 16:26:31 +00:00
|
|
|
.I __NR_select
|
2007-06-28 06:26:51 +00:00
|
|
|
and
|
|
|
|
.IR __NR_mmap ,
|
|
|
|
on i386 one finds
|
|
|
|
.IR old_select ()
|
|
|
|
and
|
|
|
|
.IR old_mmap ()
|
|
|
|
(routines that use a pointer to a
|
2008-07-10 20:53:08 +00:00
|
|
|
argument block) instead.
|
|
|
|
These days passing five arguments
|
2007-06-28 06:26:51 +00:00
|
|
|
is not a problem any more, and there is a
|
2007-09-20 16:26:31 +00:00
|
|
|
.I __NR__newselect
|
2007-07-03 18:01:31 +00:00
|
|
|
.\" (used by libc 6)
|
|
|
|
that corresponds directly to
|
2007-06-28 06:26:51 +00:00
|
|
|
.IR sys_select ()
|
|
|
|
and similarly
|
2007-07-03 18:01:31 +00:00
|
|
|
.IR __NR_mmap2 .
|
|
|
|
.\" .PP
|
|
|
|
.\" Two system call numbers,
|
|
|
|
.\" .IR __NR__llseek
|
|
|
|
.\" and
|
|
|
|
.\" .IR __NR__sysctl
|
|
|
|
.\" have an additional underscore absent in
|
|
|
|
.\" .IR sys_llseek ()
|
|
|
|
.\" and
|
|
|
|
.\" .IR sys_sysctl ().
|
2007-07-08 12:39:24 +00:00
|
|
|
.\"
|
2007-07-03 18:01:31 +00:00
|
|
|
.\" In kernel 2.1.81,
|
|
|
|
.\" .BR lchown (2)
|
2007-07-08 12:39:24 +00:00
|
|
|
.\" and
|
2007-07-03 18:01:31 +00:00
|
|
|
.\" .BR chown (2)
|
|
|
|
.\" were swapped; that is,
|
|
|
|
.\" .BR lchown (2)
|
|
|
|
.\" was added with the semantics that were then current for
|
|
|
|
.\" .BR chown (2),
|
|
|
|
.\" and the semantics of the latter call were changed to what
|
|
|
|
.\" they are today.
|
2007-06-28 06:26:51 +00:00
|
|
|
.SH SEE ALSO
|
|
|
|
.BR syscall (2),
|
2009-01-12 19:01:29 +00:00
|
|
|
.BR unimplemented (2),
|
|
|
|
.BR libc (7)
|