*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> syscalls (2)              



NAME    [Toc]    [Back]

       none - list of all system calls

SYNOPSIS    [Toc]    [Back]

       Linux 2.0 system calls.

DESCRIPTION    [Toc]    [Back]

       As   of	 Linux	 2.0.34,   there   are	164  system  calls  listed  in
       /usr/include/asm/unistd.h.  This man page lists them.

       _llseek(2), _newselect(2), _sysctl(2), access(2), acct(2), adjtimex(2),
       afs_syscall,  alarm(2),	bdflush(2), break, brk(2), chdir(2), chmod(2),
       chown(2), chroot(2), clone(2),  close(2),  creat(2),  create_module(2),
       delete_module(2),  dup(2), dup2(2), execve(2), exit(2), fchdir(2), fchmod(2), fchown(2), fcntl(2), fdatasync(2), flock(2), fork(2), fstat(2),
       fstatfs(2),  fsync(2),  ftime,  ftruncate(2),  get_kernel_syms(2), getdents(2),  getegid(2),  geteuid(2),   getgid(2),   getgroups(2),   getitimer(2),   getpgid(2),   getpgrp(2),	getpid(2),   getppid(2),  getpriority(2), getrlimit(2),  getrusage(2),  getsid(2),  gettimeofday(2),
       getuid(2), gtty, idle(2), init_module(2), ioctl(2), ioperm(2), iopl(2),
       ipc(2), kill(2), link(2), lock, lseek(2), lstat(2), mkdir(2), mknod(2),
       mlock(2),  mlockall(2),	mmap(2), modify_ldt(2), mount(2), mprotect(2),
       mpx,  mremap(2),  msync(2),   munlock(2),   munlockall(2),   munmap(2),
       nanosleep(2),   nice(2),   oldfstat,  oldlstat,	oldolduname,  oldstat,
       olduname, open(2), pause(2), personality(2), phys, pipe(2), prof,  profil,
   ptrace(2),   quotactl(2),   read(2),   readdir(2),  readlink(2),
       readv(2), reboot(2),  rename(2),  rmdir(2),  sched_get_priority_max(2),
       sched_get_priority_min(2),   sched_getparam(2),	sched_getscheduler(2),
       sched_rr_get_interval(2),   sched_setparam(2),	sched_setscheduler(2),
       sched_yield(2),	select(2), setdomainname(2), setfsgid(2), setfsuid(2),
       setgid(2), setgroups(2), sethostname(2), setitimer(2), setpgid(2), setpriority(2),  setregid(2),  setreuid(2),  setrlimit(2), setsid(2), settimeofday(2),  setuid(2),  setup(2),  sgetmask(2),  sigaction(2),  signal(2),	sigpending(2),	sigprocmask(2),  sigreturn(2),	sigsuspend(2),
       socketcall(2),  ssetmask(2),  stat(2),	statfs(2),   stime(2),	 stty,
       swapoff(2),  swapon(2), symlink(2), sync(2), sysfs(2), sysinfo(2), syslog(2), time(2), times(2), truncate(2),	ulimit,  umask(2),  umount(2),
       uname(2),   unlink(2),	uselib(2),   ustat(2),	utime(2),  vhangup(2),
       vm86(2), wait4(2), waitpid(2), write(2), writev(2).

       Of the above, 5 are obsolete, namely oldfstat,  oldlstat,  oldolduname,
       oldstat	and olduname (see also obsolete(2)), and 11 are unimplemented,
       namely afs_syscall, break, ftime, gtty, lock, mpx, phys, prof,  profil,
       stty  and  ulimit (see also unimplemented(2)).  However, ftime(3), profil(3) and ulimit(3) exist as library routines.	The slot for  phys  is
       in use since 2.1.116 for umount2; phys will never be implemented.

       Roughly	speaking,  the	code  belonging to the system call with number
       __NR_xxx defined in /usr/include/asm/unistd.h can be found in the  kernel
  source in the routine sys_xxx().  (The dispatch table for i386 can
       be found in /usr/src/linux/arch/i386/kernel/entry.S.)  There  are  many
       exceptions,  however, mostly because older system calls were superseded
       by newer ones, and this has  been  treated  somewhat  unsystematically.
       Below the details for Linux 2.0.34.

       The defines __NR_oldstat and __NR_stat refer to the routines sys_stat()
       and sys_newstat(), and similarly for fstat and lstat.   Similarly,  the
       defines	__NR_oldolduname,  __NR_olduname  and  __NR_uname refer to the
       routines  sys_olduname(),  sys_uname()	and   sys_newuname().	 Thus,
       __NR_stat  and __NR_uname have always referred to the latest version of
       the system call, and the older ones are for backward compatibility.

       It is different with select and mmap.  These use five or  more  parameters,
 and caused problems the way parameter passing on the i386 used to
       be set up.  Thus,  while  other	architectures  have  sys_select()  ans
       sys_mmap()  corresponding  to  __NR_select  and	__NR_mmap, on i386 one
       finds old_select() and old_mmap() (routines that use  a	pointer  to  a
       parameter  block)  instead. These days passing five parameters is not a
       problem anymore, and there is a __NR__newselect (used by libc  6)  that
       corresponds directly to sys_select().

       Two  other  system  call numbers, __NR__llseek and __NR__sysctl have an
       additional underscore absent in sys_llseek() and sys_sysctl().

       Then there is __NR_readdir corresponding to old_readdir(),  which  will
       read  at  most  one  directory  entry  at  a time, and is superseded by

       Finally, the system call 166, with entry point sys_vm86() does not have
       a  symbolic  number  at all. This version supersedes sys_vm86old() with
       number __NR_vm86.

Linux 2.0			  1996-04-12			   SYSCALLS(2)
[ Back ]
 Similar pages
Name OS Title
ioctl_list Linux list of ioctl calls in Linux/i386 kernel
pthread_stubs HP-UX list of pthread calls for which the stubs are provided in the C library
intro Tru64 Introduction to system calls
intro HP-UX introduction to system calls
obsolete Linux obsolete system calls
syscall OpenBSD system calls overview
socketcall Linux socket system calls
intro Linux Introduction to system calls
truss FreeBSD trace system calls
unimplemented Linux unimplemented system calls
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service