|                                                                                                        |
Copyright © h-peter recktenwald, berlin, 2000 - free for any related work and non-commercial distribution.
Lynx (etc) text mode tables arranged to 110 chars/line -
where if properly adjusted the html-lists appear most "readable"...
=> lynx

[intro] [a:index by names] [s:index by topic] [#:index by numbers]
[1..64] [65..128] [129..192] [193..256] [257..] [ref] [struc] [fcntl] [ioctl] [pguide] [man2]
[next] [back] [linux] [main] [bot] [top]
Syscalls pages archive, updated (2.3.0, ver. 1.66) man 2 & 3p pages

i386-PC-Linux System Calls

Sources: 2.2.19, 2.4.19, 2.4.20, 2.6.0


  1. exit  int - - - - : terminate the current process  -1-
  2. fork  s pt_regs - - - - : create child process  -2-
  3. read  uint ch* size_t - - : read from file descriptor  -3-
  4. write  uint c ch* size_t - - : write to file descriptor  -4-
  5. open  c ch* int int - - : open / create file or device  -5-
  6. close  uint - - - - : close a file descriptor  -6-
  7.  waitpid pid_t uint* int - - : wait for process termination  -7-
  8.  creat  c ch* int - - - : create child process  -8-
  9. link  c ch* c ch* - - - : assign new name to a file  -9-
  10. unlink  c ch* - - - - : del name & file it refers to  -10-
  11. execve  s pt_regs - - - - : execute program  -11-
  12. chdir  c ch* - - - - : change working directory  -12-
  13.  time  int* - - - - : get time in seconds  -13-
  14. mknod  c ch* int dev_t - - : create dir, special, ordinary file  -14-
  15. chmod  c ch* mode_t - - - : change permissions of a file  -15-
  16.  lchown  c ch* uid_t gid_t - - : change ownership of a file  -16-
  17.  break
  18.   oldstat
  19. lseek  uint off_t uint - - : reposition read/write file offset  -19-
  20.  getpid  - - - - - : get process identification  -20-
  21. mount  ch* ch* ch* - - : mount and unmount filesystems  -21-
  22.  umount K4(18):oldumount ch* - - - - : mount and unmount filesystems.  -22-
  23. setuid  uid_t - - - - : set user identity  -23-
  24. getuid  - - - - - : get user identity  -24-
  25.  stime  int* - - - - : set time  -25-
  26.  ptrace  l l l l - : process trace  -26-
  27. alarm  uint - - - - : set alarm clock for delivery of signal  -27-
  28.  oldfstat
  29.  pause  - - - - - : wait for signal  -29-
  30. utime  ch* s utimbuf* - - -: chg access and/or modification times  -30-
  31.  stty
  32.  gtty
  33. access  c ch* int - - - : check user's permissions for a file  -33-
  34.  nice  int - - - - : change process priority  -34-
  35.  ftime  : (re time) return date and time  -35-
  36. sync  - - - - - : commit buffer cache to disk  -36-
  37. kill  int int - - - : send signal to a process  -37-
  38. rename  c ch* c ch* - - - : change the name or location of a file  -38-
  39. mkdir  c ch* int - - - : create directory  -39-
  40. rmdir  c ch* - - - - : delete (an empty) directory  -40-
  41. dup  uint - - - - : duplicate a file descriptor  -41-
  42. pipe  ul* - - - - : create pipe  -42-
  43.  times  s tms* - - - - : get process times  -43-
  44.  prof
  45. brk  ul - - - - : change data segment size  -45-
  46. setgid  gid_t - - - - : set group identity  -46-
  47. getgid  - - - - - : get group identity  -47-
  48. signal  int __sighandler_t - - - : ANSI C signal handling  -48-
  49.  geteuid - - - - - : get user identity  -49-
  50.  getegid - - - - - : get group identity  -50-
  51.  acct  c ch* - - - - : switch process accounting on or off
  52.  umount2 K4(18):umount ch* int - - - : mount and unmount filesystems.  -52-
  53.  lock
  54. ioctl  uint uint ul - - : re ioctl assignations , control device  -54-
  55.  fcntl  uint uint ul - - : re fcntl.h, manipulate file descriptor  -55-
  56.  mpx
  57. setpgid  pid_t pid_t - - -: set/get process group  -57-
  58.  ulimit  : re getrlimit(2)  -58-
  59.   oldolduname s oldold_utsname* - - - -
  60.  umask  int - - - - : set file creation mask  -60-
  61. chroot  c ch* - - - - : change root directory  -61-
  62.  ustat  dev_t s ustat* - - - : get file system statistics  -62-
  63. dup2  uint uint - - - : replace 2nd w/ duplicate of 1st fd  -63-
  64. getppid  - - - - - : get process identification  -64-
  65. getpgrp  - - - - - : set/get process group  -65-
  66. setsid  - - - - - : crea session, set process group ID  -66-
  67. sigaction  int c s olds old_sigaction* - - : POSIX signal handling functions  -67-
  68.  sgetmask - - - - -
  69.  ssetmask - - - -
  70.  setreuid  uid_t uid_t - - - : set real and / or effective user ID  -70-
  71.  setregid  gid_t gid_t - - - : set real and / or effective group ID  -71-
  72.  sigsuspend  int int old_sigset_t - - : POSIX signal handling functions.  -72-
  73.  sigpending old_sigset_t* - - - - : POSIX signal handling functions  -73-
  74.  sethostname  ch* int - - - : set host name  -74-
  75.  setrlimit  uint s rlimit* - - - : get/set resource limits and usage  -75-
  76.  getrlimit  uint s rlimit* - - - : get/set resource limits and usage  -76-
  77.  getrusage  int s rusage* - - - : get/set resource limits and usage  -77-
  78.  gettimeofday  s timeval* s timezone* - - - : get time  -78-
  79.  settimeofday  s timeval* s timezone* - - - : set time  -79-
  80. getgroups  int gid_t* - - - : get list of supplementary group IDs  -80-
  81.  setgroups  int gid_t* - - - : set list of supplementary group IDs  -81-
  82.  select+K4:oldselect s sel_arg_s* - - - - : synchronous I/O multiplexing  -82-
  83. symlink  c ch* c ch* - - - : make new name for a file  -83-
  84.   oldlstat
  85. readlink  c ch* ch* int - - : read value of a symbolic link  -85-
  86.  uselib  c ch* - - - - : select shared library  -86-
  87.  swapon  c ch* int - - - : start swapping to file/device  -87-
  88. reboot  int int int void* - : reboot or enable/disable Ctrl-Alt-Del  -88-
  89.  readdir  uint void* uint - - : read directory entry  -89-
  90.  mmap  s mmap_arg_s* - - - - : map files or devices into memory  -90-
  91.  munmap  ul size_t - - - : unmap files or devices into memory  -91-
  92.  truncate  c ch* ul - - - : truncate file to specified length  -92-
  93.  ftruncate  uint ul - - - : truncate file to specified length  -93-
  94.  fchmod  int fd uint mode_t - - - : change permissions of a file  -94-
  95.  fchown  int fd uint uid_t gid_t - - : change ownership of a file  -95-
  96.  getpriority  int int - - - : get program scheduling priority  -96-
  97.  setpriority  int int int - - : set program scheduling priority  -97-
  98.  profil  : execution time profile  -98-
  99.  statfs  c ch* s statfs* - - - : get file system statistics  -99-
  100.  fstatfs  uint s statfs* - - - : get file system statistics  -100-
  101.  ioperm  ul ul int - - : set port input/output permissions  -101-
  102.  socketcall  int ul* - - - : socket system calls  -102-
  103.  syslog  int ch* int - - : read/clr kernel msg buffer; loglevel  -103-
  104.  setitimer  int s itimerval* s itimerval* - - : set an interval timer  -104-
  105.  getitimer  int s itimerval* - - - : get value of an interval timer  -105-
  106. stat  ch* s stat* - - - : get file status  -106-
  107.  lstat  ch* s stat* - - - : get file status  -107-
  108. fstat  uint s stat* - - - : get file status  -108-
  109.   olduname s old_utsname* - - - -
  110.  iopl  ul - - - - : change I/O privilege level  -110-
  111.  vhangup  - - - - - : virtually hangup the current tty  -111-
  112.  idle  - - - - - : make process 0 idle  -112-
  113.  vm86old  ul s vm86plus_s* - - - : enter virtual 8086 mode  -113-
  114.  wait4  ul* int options s rusage* - : wait for process termination, BSD  -114-
  115.  swapoff  c ch* - - - - : stop swapping to file/device  -115-
  116.  sysinfo  s sysinfo* - - - - : info on overall system statistics  -116-
  117.  ipc  uint int int int void* : System V IPC system calls  -117-
  118.  fsync  uint - - - - : sync complete in-core state with disk  -118-
  119.  sigreturn  ul - - - - : ret from sig hnd, cleanup stack  -119-
  120.  clone  s pt_regs - - - - : create child process  -120-
  121.  setdomainname  ch* int - - - : get/set domain name  -121-
  122. uname  s new_utsname* - - - - : get name & info about current kernel  -122-
  123.  modify_ldt  int void* ul - - : get or set ldt  -123-
  124.  adjtimex  s timex* - - - - : tune kernel clock  -124-
  125.  mprotect  ul size_t ul - - : control allowable accesses to memory  -125-
  126.  sigprocmask  int old_sigset_t* old_sigset_t* - - : POSIX signal handling functions  -126-
  127.  create_module  c ch* size_t - - - : create module entry  -127-
  128.  init_module  c ch* s module* - - - : init loadable module entry  -128-
  129.  delete_module  c ch* - - - - : delete module entry  -129-
  130.  get_kernel_syms s kernel_sym* - - - - : retrieve kernel & module syms  -130-
  131.  quotactl  int c ch* int caddr_t - : manipulate disk quotas  -131-
  132.  getpgid  pid_t - - - - : set/get process group  -132-
  133.  fchdir  uint - - - - : change working directory  -133-
  134.  bdflush  int l - - - : start/flsh/tune buf-dirty-flsh daem  -134-
  135.  sysfs  int ul ul - - : get file system type information  -135-
  136.  personality  ul - - - - : set process execution domain  -136-
  137.  afs_syscall
  138.  setfsuid  uid_t - - - - : set user id for file system checks  -138-
  139.  setfsgid  gid_t - - - - : set group id for file system checks  -139-
  140.  llseek  uint ul ul loff_t* uint : reposn r/w file offset  -140-
  141.  getdents  uint void* uint - - : get directory entries  -141-
  142.  newselect+K4:select int fd_set* fd_set* fd_set* s timeval* : sync I/O multiplexing  -142-
  143.  flock  uint uint - - - : apply/remove advisory file lock  -143-
  144.  msync  ul size_t int - - : synchronize file with a memory map  -144-
  145.  readv  ul c s iovec* ul - - : read or write a vector  -145-
  146.  writev  ul c s iovec* ul - - : read or write a vector  -146-
  147.  getsid  pid_t - - - - : get session ID  -147-
  148.  fdatasync  uint - - - - : synchronize in-core data with disk  -148-
  149.  sysctl  s __sysctl_args* - - - - :  -149-
  150.  mlock  ul size_t - - - : disable paging for parts of memory  -150-
  151.  munlock  ul size_t - - - : reenable paging for parts of memory  -151-
  152.  mlockall  int - - - - : disable paging for calling process  -152-
  153.  munlockall  - - - - - : reenable paging for calling process  -153-
  154.  sched_setparam  pid_t s sched_param* - - - : set scheduling parameters  -154-
  155.  sched_getparam  pid_t s sched_param* - - - : get scheduling parameters  -155-
  156.  sched_setscheduler  pid_t int s sched_param* - - : set scheduling algo/param  -156-
  157.  sched_getscheduler  pid_t - - - - : get scheduling algo/param  -157-
  158.  sched_yield  - - - - - : yield the processor  -158-
  159.  sched_get_priority_max  - - - - : get static priority rng  -159-
  160.  sched_get_priority_min  - - - - : get static priority rng  -160-
  161.  sched_rr_get_interval  pid_t s timespec* - - - : get SCHED_RR interval  -161-
  162. nanosleep  s timespec* s timespec* - - - : pause execution for specified time  -162-
  163.  mremap  ul ul ul ul - : re-map a virtual memory address  -163-
  164.  setresuid  uid_t uid_t uid_t - - : set real, eff. and saved user ID  -164-
  165.  getresuid  uid_t* uid_t* uid_t* - - : get real/effective/saved user ID  -165-
  166.  vm86  s vm86_s* - - - - : enter virtual 8086 mode  -166-
  167.  query_module  c ch* int ch* size_t size_t* : for bits pertaining to modules  -167-
  168.  poll  s pollfd* uint l - - : wait for event on file descriptor  -168-
  169.  nfsservctl int void* void* - - : syscall i.f. to kernel nfs daemon  -169-
  170.  setresgid  gid_t gid_t gid_t - - : set real,effective,saved group ID  -170-
  171.  getresgid  gid_t* gid_t* gid_t* - - : get real/effective/saved group ID  -171-
  172.  prctl  ul ul unsigned l ul : operations on a process  -172-
  173.  rt_sigreturn ul - - - - :
  174.  rt_sigaction int c s sigaction*, s sigaction*, size_t - : setup rt sighnd (RTL)
  175.  rt_sigprocmask int sigset_t* sigset_t* size_t - :
  176.  rt_sigpending sigset_t* size_t - - - :
  177.  rt_sigtimedwait c sigset_t* siginfo_t* c s timespec* size_t - :
  178.  rt_sigqueueinfo int int siginfo_t* - - :
  179.  rt_sigsuspend sigset_t* size_t - - - :
  180.  pread  uint ch* size_t loff_t - : read from file descr at given offset  -180-
  181.  pwrite  uint c ch* size_t loff_t - : write to file descriptor at offset  -181-
  182.  chown  c ch* uid_t gid_t - - : change ownership of a file  -182-
  183.  getcwd  ch* ul - - - : get current working directory  -183-
  184.  capget  cap_user_header_t cap_user_data_t - - - : get process capabilities  -184-
  185.  capset  cap_user_header_t c cap_user_data_t - - - : set process capabilities  -185-
  186.  sigaltstack  c stack_t* stack_t* ul ss - -
  187.  sendfile  int int off_t* size_t - : xfer data between file descriptors  -187-
  188.  getpmsg
  189.  putpmsg
  190.  vfork  s pt_regs - - - - : create child process & block parent -190-

 
Kernel 2.4.2
(Documentation delayed until/if sufficiently stable & consistent - which seems very un-likely...)

  1.  getrlimit   
  2.  mmap2   
  3.  truncate64   
  4.  ftruncate64  
  5.  stat64   -195-
  6.  lstat64   
  7.  fstat64   
  8. - re below, modified w. 2.4.18 -

  9.  lchown   
  10.  getuid   
  11.  getgid   -200-
  12.  geteuid   
  13.  getegid   
  14.  setreuid   
  15.  setregid   
  16.  getgroups   -205-
  17.  setgroups   
  18.  fchown   
  19.  setresuid   
  20.  getresuid   
  21.  setresgid   -210-
  22.  getresgid   
  23.  chown   
  24.  setuid   
  25.  setgid   
  26.  setfsuid   -215-
  27.  setfsgid   
  28.  pivot_root  
  29.  mincore   
  30.  madvise   

 
Kernel 2.4.18
different names wrt previous 2.4 kernels(!) and new system calls:

  1.  lchown32   
  2.  getuid32   
  3.  getgid32  200
  4.  geteuid32   
  5.  getegid32   
  6.  setreuid32   
  7.  setregid32   
  8.  getgroups32  205
  9.  setgroups32   
  10.  fchown32   
  11.  setresuid32   
  12.  getresuid32   
  13.  setresgid32  210
  14.  getresgid32   
  15.  chown32   
  16.  setuid32   
  17.  setgid32   
  18.  setfsuid32  215
  19.  setfsgid32   
  20.  pivot_root   
  21.  mincore   
  22.  madvise, madvise1  
  23.  getdents64  220
  24.  fcntl64   
  25.  
  26.  security   
  27.  gettid   
  28.  readahead  225
  29.  setxattr   
  30.  lsetxattr   
  31.  fsetxattr   
  32.  getxattr   
  33.  lgetxattr  230
  34.  fgetxattr   
  35.  listxattr   
  36.  llistxattr   
  37.  flistxattr   
  38.  removexattr  235
  39.  lremovexattr   
  40.  fremovexattr   

 
Kernel 2.4.19, additional system calls

  1.  tkill   238
  2.  sendfile64   
  3.  futex   240
  4.  sched_setaffinity  
  5.  sched_getaffinity  242

 
Kernel 2.4.20, additional system calls

  1.  set_thread_area  243
  2.  get_thread_area  
  3.  io_setup  245
  4.  io_destroy   
  5.  io_getevents   
  6.  io_submit   
  7.  io_cancel   
  8.  alloc_hugepages 250
  9.  free_hugepages   
  10.  exit_group  252

 
kernel 2.6.0 additional system calls

  1.  lookup_dcookie  253
  2.  epoll_create   
  3.  epoll_ctl  255
  4.  epoll_wait   
  5.  remap_file_pages  
  6.  set_tid_address  258
  7.  timer_create  259
  8.  timer_settime  (__NR_timer_create+1)
  9.  timer_gettime  (__NR_timer_create+2)
  10.  timer_getoverrun (__NR_timer_create+3)
  11.  timer_delete  (__NR_timer_create+4)
  12.  clock_settime  (__NR_timer_create+5)
  13.  clock_gettime  (__NR_timer_create+6)
  14.  clock_getres  (__NR_timer_create+7)
  15.  clock_nanosleep (__NR_timer_create+8)
  16.  statfs64  268
  17.  fstatfs64  269
  18.  tgkill  270
  19.  utimes  271

 
kernel 2.6.3 additional system calls

  1.  fadvise64_64  272
  2.  vserver  273

 
kernel 2.6.18 additional system calls

  1.  mbind  274
  2.  get_mempolicy  
  3.  set_mempolicy  
  4.  mq_open  
  5.  mq_unlink  278
  6.  mq_timedsend  
  7.  mq_timedreceive  
  8.  mq_notify  
  9.  mq_getsetattr  
  10.  kexec_load  283
  11.  waitid  
  12.  add_key  
  13.  request_key  
  14.  keyctl  
  15.  ioprio_set  298
  16.  ioprio_get  
  17.  inotify_init  
  18.  inotify_add_watch 
  19.  inotify_rm_watch  
  20.  migrate_pages  293
  21.  openat  
  22.  mkdirat  
  23.  mknodat  
  24.  fchownat  
  25.  futimesat  298
  26.  fstatat64  
  27.  unlinkat  
  28.  renameat  
  29.  linkat  
  30.  symlinkat  303
  31.  readlinkat  
  32.  fchmodat  
  33.  faccessat  
  34.  pselect6  
  35.  ppoll  308
  36.  unshare  
  37.  set_robust_list  
  38.  get_robust_list  
  39.  splice  
  40.  sync_file_range  313
  41.  tee  
  42.  vmsplice  
  43.  move_pages  316

 


 

By asmutils-0.14 supported System Calls
common to the LINUX, FREEBSD, NETBSD, OPENBSD, BEOS and ATHEOS OS's.

Several others can probably be emulated - re [pguide]

 


 

[main] [back] [intro] [bot] [top]
[a:index] [#:index] [1..64] [65..128] [129..192] [193..] [ref] [struc] [ioctl] [pguide]

 

H.-Peter Recktenwald, Berlin, 18.Feb.2000 = .hpr.l0 = : 4383