A tabela abaixo lista as chamadas de sistema do kernel 2.2 do Linux. Ela foi elaborada a partir do merge das tabelas de Derick Swanepoel e de Jialong He.
Na esquerda estao os numeros das chamadas de sistema. Este numero sera armazenado no registrador %eax. Do lado direito da tabela estao os tipos de valores a serem colocados nos demais registradores antes de chamar a interrupcao int 0x80. Apos cada chamada de sistema, um inteiro é devolvido em %eax.
%eax | Name | Source | %ebx | %ecx | %edx | %esx | %edi | Description |
---|---|---|---|---|---|---|---|---|
1 | sys_exit | kernel/exit.c | int | - | - | - | - | terminate the current process |
2 | sys_fork | arch/i386/kernel/process.c | struct pt_regs | - | - | - | - | create a child process |
3 | sys_read | fs/read_write.c | unsigned int | char * | size_t | - | - | read from a file descriptor |
4 | sys_write | fs/read_write.c | unsigned int | const char * | size_t | - | - | write to a file descriptor |
5 | sys_open | fs/open.c | const char * | int | int | - | - | open a file or device |
6 | sys_close | fs/open.c | unsigned int | - | - | - | - | close a file descriptor |
7 | sys_waitpid | kernel/exit.c | pid_t | unsigned int * | int | - | - | wait for process termination |
8 | sys_creat | fs/open.c | const char * | int | - | - | - | create a file or device ("man 2 open" for information) |
9 | sys_link | fs/namei.c | const char * | const char * | - | - | - | make a new name for a file |
10 | sys_unlink | fs/namei.c | const char * | - | - | - | - | delete a name and possibly the file it refers to |
11 | sys_execve | arch/i386/kernel/process.c | struct pt_regs | - | - | - | - | execute program |
12 | sys_chdir | fs/open.c | const char * | - | - | - | - | change working directory |
13 | sys_time | kernel/time.c | int * | - | - | - | - | get time in seconds |
14 | sys_mknod | fs/namei.c | const char * | int | dev_t | - | - | create a special or ordinary file |
15 | sys_chmod | fs/open.c | const char * | mode_t | - | - | - | change permissions of a file |
16 | sys_lchown | fs/open.c | const char * | uid_t | gid_t | - | - | change ownership of a file |
18 | sys_stat | fs/stat.c | char * | struct __old_kernel_stat * | - | - | - | get file status |
19 | sys_lseek | fs/read_write.c | unsigned int | off_t | unsigned int | - | - | reposition read/write file offset |
20 | sys_getpid | kernel/sched.c | - | - | - | - | - | get process identification |
21 | sys_mount | fs/super.c | char * | char * | char * | - | - | mount filesystems |
22 | sys_oldumount | fs/super.c | char * | - | - | - | - | unmount filesystems |
23 | sys_setuid | kernel/sys.c | uid_t | - | - | - | - | set real user ID |
24 | sys_getuid | kernel/sched.c | - | - | - | - | - | get real user ID |
25 | sys_stime | kernel/time.c | int * | - | - | - | - | set system time and date |
26 | sys_ptrace | arch/i386/kernel/ptrace.c | long | long | long | long | - | allows a parent process to control the execution of a child process |
27 | sys_alarm | kernel/sched.c | unsigned int | - | - | - | - | set an alarm clock for delivery of a signal |
28 | sys_fstat | fs/stat.c | unsigned int | struct __old_kernel_stat * | - | - | - | get file status |
29 | sys_pause | arch/i386/kernel/sys_i386.c | - | - | - | - | - | suspend process until signal |
30 | sys_utime | fs/open.c | char * | struct utimbuf * | - | - | - | set file access and modification times |
33 | sys_access | fs/open.c | const char * | int | - | - | - | check user's permissions for a file |
34 | sys_nice | kernel/sched.c | int | - | - | - | - | change process priority |
36 | sys_sync | fs/buffer.c | - | - | - | - | - | update the super block |
37 | sys_kill | kernel/signal.c | int | int | - | - | - | send signal to a process |
38 | sys_rename | fs/namei.c | const char * | const char * | - | - | - | change the name or location of a file |
39 | sys_mkdir | fs/namei.c | const char * | int | - | - | - | create a directory |
40 | sys_rmdir | fs/namei.c | const char * | - | - | - | - | remove a directory |
41 | sys_dup | fs/fcntl.c | unsigned int | - | - | - | - | duplicate an open file descriptor |
42 | sys_pipe | arch/i386/kernel/sys_i386.c | unsigned long * | - | - | - | - | create an interprocess channel |
43 | sys_times | kernel/sys.c | struct tms * | - | - | - | - | get process times |
45 | sys_brk | mm/mmap.c | unsigned long | - | - | - | - | change the amount of space allocated for the calling process's data segment |
46 | sys_setgid | kernel/sys.c | gid_t | - | - | - | - | set real group ID |
47 | sys_getgid | kernel/sched.c | - | - | - | - | - | get real group ID |
48 | sys_signal | kernel/signal.c | int | __sighandler_t | - | - | - | ANSI C signal handling |
49 | sys_geteuid | kernel/sched.c | - | - | - | - | - | get effective user ID |
50 | sys_getegid | kernel/sched.c | - | - | - | - | - | get effective group ID |
51 | sys_acct | kernel/acct.c | const char * | - | - | - | - | enable or disable process accounting |
52 | sys_umount | fs/super.c | char * | int | - | - | - | unmount a file system |
54 | sys_ioctl | fs/ioctl.c | unsigned int | unsigned int | unsigned long | - | - | control device |
55 | sys_fcntl | fs/fcntl.c | unsigned int | unsigned int | unsigned long | - | - | file control |
57 | sys_setpgid | kernel/sys.c | pid_t | pid_t | - | - | - | set process group ID |
59 | sys_olduname | arch/i386/kernel/sys_i386.c | struct oldold_utsname * | - | - | - | - | obsolete uname system call |
60 | sys_umask | kernel/sys.c | int | - | - | - | - | set file creation mask |
61 | sys_chroot | fs/open.c | const char * | - | - | - | - | change root directory |
62 | sys_ustat | fs/super.c | dev_t | struct ustat * | - | - | - | get file system statistics |
63 | sys_dup2 | fs/fcntl.c | unsigned int | unsigned int | - | - | - | duplicate a file descriptor |
64 | sys_getppid | kernel/sched.c | - | - | - | - | - | get parent process ID |
65 | sys_getpgrp | kernel/sys.c | - | - | - | - | - | get the process group ID |
66 | sys_setsid | kernel/sys.c | - | - | - | - | - | creates a session and sets the process group ID |
67 | sys_sigaction | arch/i386/kernel/signal.c | int | const struct old_sigaction * | struct old_sigaction * | - | - | POSIX signal handling functions |
68 | sys_sgetmask | kernel/signal.c | - | - | - | - | - | ANSI C signal handling |
69 | sys_ssetmask | kernel/signal.c | int | - | - | - | - | ANSI C signal handling |
70 | sys_setreuid | kernel/sys.c | uid_t | uid_t | - | - | - | set real and effective user IDs |
71 | sys_setregid | kernel/sys.c | gid_t | gid_t | - | - | - | set real and effective group IDs |
72 | sys_sigsuspend | arch/i386/kernel/signal.c | int | int | old_sigset_t | - | - | install a signal mask and suspend caller until signal |
73 | sys_sigpending | kernel/signal.c | old_sigset_t * | - | - | - | - | examine signals that are blocked and pending |
74 | sys_sethostname | kernel/sys.c | char * | int | - | - | - | set hostname |
75 | sys_setrlimit | kernel/sys.c | unsigned int | struct rlimit * | - | - | - | set maximum system resource con sumption |
76 | sys_getrlimit | kernel/sys.c | unsigned int | struct rlimit * | - | - | - | get maximum system resource con sumption |
77 | sys_getrusage | kernel/sys.c | int | struct rusage * | - | - | - | get maximum system resource con sumption |
78 | sys_gettimeofday | kernel/time.c | struct timeval * | struct timezone * | - | - | - | get the date and time |
79 | sys_settimeofday | kernel/time.c | struct timeval * | struct timezone * | - | - | - | set the date and time |
80 | sys_getgroups | kernel/sys.c | int | gid_t * | - | - | - | get list of supplementary group IDs |
81 | sys_setgroups | kernel/sys.c | int | gid_t * | - | - | - | set list of supplementary group IDs |
82 | old_select | arch/i386/kernel/sys_i386.c | struct sel_arg_struct * | - | - | - | - | sync. I/O multiplexing |
83 | sys_symlink | fs/namei.c | const char * | const char * | - | - | - | make a symbolic link to a file |
84 | sys_lstat | fs/stat.c | char * | struct __old_kernel_stat * | - | - | - | get file status |
85 | sys_readlink | fs/stat.c | const char * | char * | int | - | - | read the contents of a symbolic link |
86 | sys_uselib | fs/exec.c | const char * | - | - | - | - | select shared library |
87 | sys_swapon | mm/swapfile.c | const char * | int | - | - | - | start swapping to file/device |
88 | sys_reboot | kernel/sys.c | int | int | int | void * | - | reboot or enable/disable Ctrl-Alt -Del |
89 | old_readdir | fs/readdir.c | unsigned int | void * | unsigned int | - | - | read directory entry |
90 | old_mmap | arch/i386/kernel/sys_i386.c | struct mmap_arg_struct * | - | - | - | - | map pages of memory |
91 | sys_munmap | mm/mmap.c | unsigned long | size_t | - | - | - | unmap pages of memory |
92 | sys_truncate | fs/open.c | const char * | unsigned long | - | - | - | set a file to a specified length |
93 | sys_ftruncate | fs/open.c | unsigned int | unsigned long | - | - | - | set a file to a specified length |
94 | sys_fchmod | fs/open.c | unsigned int | mode_t | - | - | - | change access permission mode of file |
95 | sys_fchown | fs/open.c | unsigned int | uid_t | gid_t | - | - | change owner and group of a file |
96 | sys_getpriority | kernel/sys.c | int | int | - | - | - | get program scheduling priority |
97 | sys_setpriority | kernel/sys.c | int | int | int | - | - | set program scheduling priority |
99 | sys_statfs | fs/open.c | const char * | struct statfs * | - | - | - | get file system statistics |
100 | sys_fstatfs | fs/open.c | unsigned int | struct statfs * | - | - | - | get file system statistics |
101 | sys_ioperm | arch/i386/kernel/ioport.c | unsigned long | unsigned long | int | - | - | set port input/output permissions |
102 | sys_socketcall | net/socket.c | int | unsigned long * | - | - | - | socket system calls net/so |
103 | sys_syslog | kernel/printk.c | int | char * | int | - | - | read and/or clear kernel message ring buffer |
104 | sys_setitimer | kernel/itimer.c | int | struct itimerval * | struct itimerval * | - | - | set value of interval timer |
105 | sys_getitimer | kernel/itimer.c | int | struct itimerval * | - | - | - | get value of interval timer |
106 | sys_newstat | fs/stat.c | char * | struct stat * | - | - | - | get file status |
107 | sys_newlstat | fs/stat.c | char * | struct stat * | - | - | - | get file status |
108 | sys_newfstat | fs/stat.c | unsigned int | struct stat * | - | - | - | get file status |
109 | sys_uname | arch/i386/kernel/sys_i386.c | struct old_utsname * | - | - | - | - | get name and information about current kernel |
110 | sys_iopl | arch/i386/kernel/ioport.c | unsigned long | - | - | - | - | change I/O privilege level |
111 | sys_vhangup | fs/open.c | - | - | - | - | - | virtually hangup the current tty |
112 | sys_idle | arch/i386/kernel/process.c | - | - | - | - | - | make process 0 idle |
113 | sys_vm86old | arch/i386/kernel/vm86.c | unsigned long | struct vm86plus_struct * | - | - | - | enter virtual 8086 mode |
114 | sys_wait4 | kernel/exit.c | pid_t | unsigned long * | int options | struct rusage * | - | wait for process termination, BSD style |
115 | sys_swapoff | mm/swapfile.c | const char * | - | - | - | - | stop swapping to file/device |
116 | sys_sysinfo | kernel/info.c | struct sysinfo * | - | - | - | - | returns information on overall system statistics |
117 | sys_ipc (*Note) | arch/i386/kernel/sys_i386.c | uint | int | int | int | void * | System V IPC system calls |
118 | sys_fsync | fs/buffer.c | unsigned int | - | - | - | - | synchronize a file's complete in-core state with that on disk |
119 | sys_sigreturn | arch/i386/kernel/signal.c | unsigned long | - | - | - | - | return from signal handler and cleanup stack frame |
120 | sys_clone | arch/i386/kernel/process.c | struct pt_regs | - | - | - | - | create a child process |
121 | sys_setdomainname | kernel/sys.c | char * | int | - | - | - | set domain name |
122 | sys_newuname | kernel/sys.c | struct new_utsname * | - | - | - | - | get name and information about current kernel |
123 | sys_modify_ldt | arch/i386/kernel/ldt.c | int | void * | unsigned long | - | - | get or set ldt |
124 | sys_adjtimex | kernel/time.c | struct timex * | - | - | - | - | tune kernel clock |
125 | sys_mprotect | mm/mprotect.c | unsigned long | size_t | unsigned long | - | - | set protection of memory mapping |
126 | sys_sigprocmask | kernel/signal.c | int | old_sigset_t * | old_sigset_t * | - | - | POSIX signal handling functions |
127 | sys_create_module | kernel/module.c | const char * | size_t | - | - | - | create a loadable module entry |
128 | sys_init_module | kernel/module.c | const char * | struct module * | - | - | - | initialize a loadable module entry |
129 | sys_delete_module | kernel/module.c | const char * | - | - | - | - | delete a loadable module entry |
130 | sys_get_kernel_syms | kernel/module.c | struct kernel_sym * | - | - | - | - | retrieve exported kernel and module symbols |
131 | sys_quotactl | fs/dquot.c | int | const char * | int | caddr_t | - | manipulate disk quotas |
132 | sys_getpgid | kernel/sys.c | pid_t | - | - | - | - | get process group ID |
133 | sys_fchdir | fs/open.c | unsigned int | - | - | - | - | change working directory |
134 | sys_bdflush | fs/buffer.c | int | long | - | - | - | start, flush, or tune buffer-dirty-flush daemon |
135 | sys_sysfs | fs/super.c | int | unsigned long | unsigned long | - | - | get file system type information |
136 | sys_personality | kernel/exec_domain.c | unsigned long | - | - | - | - | set the process execution domain |
138 | sys_setfsuid | kernel/sys.c | uid_t | - | - | - | - | set user identity used for file system checks |
139 | sys_setfsgid | kernel/sys.c | gid_t | - | - | - | - | set group identity used for file system checks |
140 | sys_llseek | fs/read_write.c | unsigned int | unsigned long | unsigned long | loff_t * | unsigned int | move extended read/write file pointer |
141 | sys_getdents | fs/readdir.c | unsigned int | void * | unsigned int | - | - | read directory entries |
142 | sys_select | fs/select.c | int | fd_set * | fd_set * | fd_set * | struct timeval * | sync. I/O multiplexing |
143 | sys_flock | fs/locks.c | unsigned int | unsigned int | - | - | - | apply or remove an advisory lock on an open file |
144 | sys_msync | mm/filemap.c | unsigned long | size_t | int | - | - | synchronize a file with a memory map |
145 | sys_readv | fs/read_write.c | unsigned long | const struct iovec * | unsigned long | - | - | read data into multiple buffers |
146 | sys_writev | fs/read_write.c | unsigned long | const struct iovec * | unsigned long | - | - | write data into multiple buffers |
147 | sys_getsid | kernel/sys.c | pid_t | - | - | - | - | get process group ID of session leader |
148 | sys_fdatasync | fs/buffer.c | unsigned int | - | - | - | - | synchronize a file's in-core data with that on disk |
149 | sys_sysctl | kernel/sysctl.c | struct __sysctl_args * | - | - | - | - | read/write system parameters |
150 | sys_mlock | mm/mlock.c | unsigned long | size_t | - | - | - | lock pages in memory |
151 | sys_munlock | mm/mlock.c | unsigned long | size_t | - | - | - | unlock pages in memory |
152 | sys_mlockall | mm/mlock.c | int | - | - | - | - | disable paging for calling process |
153 | sys_munlockall | mm/mlock.c | - | - | - | - | - | reenable paging for calling process |
154 | sys_sched_setparam | kernel/sched.c | pid_t | struct sched_param * | - | - | - | set scheduling parameters |
155 | sys_sched_getparam | kernel/sched.c | pid_t | struct sched_param * | - | - | - | get scheduling parameters |
156 | sys_sched_setscheduler | kernel/sched.c | pid_t | int | struct sched_param * | - | - | set scheduling algorithm parameters |
157 | sys_sched_getscheduler | kernel/sched.c | pid_t | - | - | - | - | get scheduling algorithm parameters |
158 | sys_sched_yield | kernel/sched.c | - | - | - | - | - | yield the processor |
159 | sys_sched_get_priority_max | kernel/sched.c | int | - | - | - | - | get max static priority range |
160 | sys_sched_get_priority_min | kernel/sched.c | int | - | - | - | - | get min static priority range |
161 | sys_sched_rr_get_interval | kernel/sched.c | pid_t | struct timespec * | - | - | - | val get the SCHED_RR interval for the named process |
162 | sys_nanosleep | kernel/sched.c | struct timespec * | struct timespec * | - | - | - | pause execution for a specified time (nano seconds) |
163 | sys_mremap | mm/mremap.c | unsigned long | unsigned long | unsigned long | unsigned long | - | re-map a virtual memory address |
164 | sys_setresuid | kernel/sys.c | uid_t | uid_t | uid_t | - | - | set real, effective and saved user or group ID |
165 | sys_getresuid | kernel/sys.c | uid_t * | uid_t * | uid_t * | - | - | get real, effective and saved user or group ID |
166 | sys_vm86 | arch/i386/kernel/vm86.c | struct vm86_struct * | - | - | - | - | enter virtual 8086 mode |
167 | sys_query_module | kernel/module.c | const char * | int | char * | size_t | size_t * | query the kernel for various bits pertain ing to modules |
168 | sys_poll | fs/select.c | struct pollfd * | unsigned int | long | - | - | wait for some event on a file descriptor |
169 | sys_nfsservctl | fs/filesystems.c | int | void * | void * | - | - | syscall interface to kernel nfs daemon |
170 | sys_setresgid | kernel/sys.c | gid_t | gid_t | gid_t | - | - | set real, effective and saved user or group ID |
171 | sys_getresgid | kernel/sys.c | gid_t * | gid_t * | gid_t * | - | - | get real, effective and saved user or group ID |
172 | sys_prctl | kernel/sys.c | int | unsigned long | unsigned long | unsigned long | unsigned long | operations on a process |
173 | sys_rt_sigreturn | arch/i386/kernel/signal.c | unsigned long | - | - | - | - | - |
174 | sys_rt_sigaction | kernel/signal.c | int | const struct sigaction * | struct sigaction * | size_t | - | - |
175 | sys_rt_sigprocmask | kernel/signal.c | int | sigset_t * | sigset_t * | size_t | - | - |
176 | sys_rt_sigpending | kernel/signal.c | sigset_t * | size_t | - | - | - | - |
177 | sys_rt_sigtimedwait | kernel/signal.c | const sigset_t * | siginfo_t * | const struct timespec * | size_t | - | - |
178 | sys_rt_sigqueueinfo | kernel/signal.c | int | int | siginfo_t * | - | - | - |
179 | sys_rt_sigsuspend | arch/i386/kernel/signal.c | sigset_t * | size_t | - | - | - | - |
180 | sys_pread | fs/read_write.c | unsigned int | char * | size_t | loff_t | - | read from a file descriptor at a given offset |
181 | sys_pwrite | fs/read_write.c | unsigned int | const char * | size_t | loff_t | - | write to a file descriptor at a given offset |
182 | sys_chown | fs/open.c | const char * | uid_t | gid_t | - | - | change ownership of a file |
183 | sys_getcwd | fs/dcache.c | char * | unsigned long | - | - | - | Get current working directory |
184 | sys_capget | kernel/capability.c | cap_user_header_t | cap_user_data_t | - | - | - | get process capabilities |
185 | sys_capset | kernel/capability.c | cap_user_header_t | const cap_user_data_t | - | - | - | set process capabilities |
186 | sys_sigaltstack | arch/i386/kernel/signal.c | const stack_t * | stack_t * | - | - | - | set/get signal stack context |
187 | sys_sendfile | mm/filemap.c | int | int | off_t * | size_t | - | transfer data between file descriptors |
190 | sys_vfork | arch/i386/kernel/process.c | struct pt_regs | - | - | - | - | create a child process and block parent |