KEMBAR78
LINUX System Call Quick Reference | PDF | Kernel (Operating System) | File System
100% found this document useful (4 votes)
4K views3 pages

LINUX System Call Quick Reference

This document provides a quick reference for Linux system calls. It lists 51 system calls along with their function number, name, description, and source code location in the Linux kernel. System calls provide an interface for programs to request services from the Linux kernel, such as opening files, reading/writing files, creating processes, and more. They are invoked using the syscall() function or libc wrapper functions.

Uploaded by

Sneetsher Crispy
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (4 votes)
4K views3 pages

LINUX System Call Quick Reference

This document provides a quick reference for Linux system calls. It lists 51 system calls along with their function number, name, description, and source code location in the Linux kernel. System calls provide an interface for programs to request services from the Linux kernel, such as opening files, reading/writing files, creating processes, and more. They are invoked using the syscall() function or libc wrapper functions.

Uploaded by

Sneetsher Crispy
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

create a file or device ("man 2 open" for fs/open.

c
LINUX System Call Quick Reference 8 creat
information)
Jialong He make a new name for a file fs/namei.c
Jialong_he@bigfoot.com 9 link
http://www.bigfoot.com/~jialong_he 10 unlink delete a name and possibly the file it refers to fs/namei.c
11 execve execute program arch/i386/kernel/process.c
Introduction 12 chdir change working directory fs/open.c
System call is the services provided by Linux kernel. In C programming, it often uses functions defined in libc 13 time get time in seconds kernel/time.c
which provides a wrapper for many system calls. Manual page section 2 provides more information about
system calls. To get an overview, use “man 2 intro” in a command shell. 14 mknod create a special or ordinary file fs/namei.c
15 chmod change permissions of a file fs/open.c
It is also possible to invoke syscall() function directly. Each system call has a function number defined in
<syscall.h> or <unistd.h>. Internally, system call is invokded by software interrupt 0x80 to transfer control to 16 lchown change ownership of a file fs/open.c
the kernel. System call table is defined in Linux kernel source file “arch/i386/kernel/entry.S ”. 18 stat get file status fs/stat.c
System Call Example 19 lseek reposition read/write file offset fs/read_write.c

#include <syscall.h> 20 getpid get process identification kernel/sched.c


#include <unistd.h> 21 mount mount filesystems fs/super.c
#include <stdio.h>
#include <sys/types.h> 22 umount unmount filesystems fs/super.c
23 setuid set real user ID kernel/sys.c
int main(void) {
24 getuid get real user ID kernel/sched.c
long ID1, ID2; 25 stime set system time and date kernel/time.c
/*-----------------------------*/
/* direct system call */ allows a parent process to control the execution of arch/i386/kernel/ptrace.c
26 ptrace a child process
/* SYS_getpid (func no. is 20) */
/*-----------------------------*/ 27 alarm set an alarm clock for delivery of a signal kernel/sched.c
ID1 = syscall(SYS_getpid);
printf ("syscall(SYS_getpid)=%ld\n", ID1); 28 fstat get file status fs/stat.c
29 pause suspend process until signal arch/i386/kernel/sys_i386.c
/*-----------------------------*/
/* "libc" wrapped system call */ 30 utime set file access and modification times fs/open.c
/* SYS_getpid (Func No. is 20) */ 33 access check user's permissions for a file fs/open.c
/*-----------------------------*/
ID2 = getpid(); 34 nice change process priority kernel/sched.c
printf ("getpid()=%ld\n", ID2); 36 sync update the super block fs/buffer.c
return(0); 37 kill send signal to a process kernel/signal.c
} 38 rename change the name or location of a file fs/namei.c
39 mkdir create a directory fs/namei.c
System Call Quick Reference 40 rmdir remove a directory fs/namei.c

No Func Name Description Source 41 dup duplicate an open file descriptor fs/fcntl.c
42 pipe create an interprocess channel arch/i386/kernel/sys_i386.c
1 exit terminate the current process kernel/exit.c
43 times get process times kernel/sys.c
2 fork create a child process arch/i386/kernel/process.c
change the amount of space allocated for the mm/mmap.c
read from a file descriptor fs/read_write.c 45 brk
3 read calling process's data segment
4 write write to a file descriptor fs/read_write.c 46 setgid set real group ID kernel/sys.c
5 open open a file or device fs/open.c 47 getgid get real group ID kernel/sched.c
6 close close a file descriptor fs/open.c 48 sys_signal ANSI C signal handling kernel/signal.c
7 waitpid wait for process termination kernel/exit.c 49 geteuid get effective user ID kernel/sched.c
50 getegid get effective group ID kernel/sched.c
51 acct enable or disable process accounting kernel/acct.c 91 munmap unmap pages of memory mm/mmap.c
52 umount2 unmount a file system fs/super.c 92 truncate set a file to a specified length fs/open.c
54 ioctl control device fs/ioctl.c 93 ftruncate set a file to a specified length fs/open.c
55 fcntl file control fs/fcntl.c 94 fchmod change access permission mode of file fs/open.c
56 mpx (unimplemented) 95 fchown change owner and group of a file fs/open.c
57 setpgid set process group ID kernel/sys.c 96 getpriority get program scheduling priority kernel/sys.c
58 ulimit (unimplemented) 97 setpriority set program scheduling priority kernel/sys.c
59 olduname obsolete uname system call arch/i386/kernel/sys_i386.c 98 profil execut ion time profile
60 umask set file creation mask kernel/sys.c 99 statfs get file system statistics fs/open.c
61 chroot change root directory fs/open.c 100 fstatfs get file system statistics fs/open.c
62 ustat get file system statistics fs/super.c 101 ioperm set port input/output permissions arch/i386/kernel/ioport.c
63 dup2 duplicate a file descriptor fs/fcntl.c 102 socketcall socket system calls net/so cket.c
64 getppid get parent process ID kernel/sched.c 103 syslog read and/or clear kernel message ring buffer kernel/printk.c
65 getpgrp get the process group ID kernel/sys.c 104 setitimer set value of interval timer kernel/itimer.c
66 setsid creates a session and sets the process group ID kernel/sys.c 105 getitimer get value of interval timer kernel/itimer.c
67 sigaction POSIX signal handling functions arch/i386/kernel/signal.c 106 sys_newstat get file status fs/stat.c
68 sgetmask ANSI C signal handling kernel/signal.c 107 sys_newlstat get file status fs/stat.c
69 ssetmask ANSI C signal handling kernel/signal.c 108 sys_newfstat get file status fs/stat.c
70 setreuid set real and effective user IDs kernel/sys.c 109 olduname get name and information about current kernel arch/i386/kernel/sys_i386.c
71 setregid set real and effective group IDs kernel/sys.c 110 iopl change I/O privilege level arch/i386/kernel/ioport.c
install a signal mask and suspend caller until arch/i386/kernel/signal.c 111 vhangup virtually hangup the current tty fs/open.c
72 sigsuspend signal
112 idle make process 0 idle arch/i386/kernel/process.c
73 sigpending examine signals that are blocked and pending kernel/signal.c
113 vm86old enter virtual 8086 mode arch/i386/kernel/vm86.c
74 sethostname set hostname kernel/sys.c
114 wait4 wait for process termination, BSD style kernel/exit.c
75 setrlimit set maximum system resource con sumption kernel/sys.c
115 swapoff stop swapping to file/device mm/swapfile.c
76 getrlimit get maximum system resource con sumption kernel/sys.c
116 sysinfo returns information on overall system statistics kernel/info.c
77 getrusage get maximum system resource con sumption kernel/sys.c
117 ipc System V IPC system calls arch/i386/kernel/sys_i386.c
78 gettimeofday get the date and time kernel/time.c
synchronize a file's complete in-core state with that fs/buffer.c
set the date and time kernel/time.c 118 fsync on disk
79 settimeofday
80 getgroups get list of supplementary group IDs kernel/sys.c return from signal handler and cleanup stack arch/i386/kernel/signal.c
119 sigreturn frame
81 setgroups set list of supplementary group IDs kernel/sys.c
120 clone create a child process arch/i386/kernel/process.c
82 old_select sync. I/O multiplexing arch/i386/kernel/sys_i386.c
121 setdomainname set domain name kernel/sys.c
83 symlink make a symbolic link to a file fs/namei.c
122 uname get name and information about current kernel kernel/sys.c
84 lstat get file status fs/stat.c
123 modify_ldt get or set ldt arch/i386/kernel/ldt.c
85 readlink read the contents of a symbolic link fs/stat.c
124 adjtimex tune kernel clock kernel/time.c
86 uselib select shared library fs/exec.c
125 mprotect set protection of memory mapping mm/mprotect.c
87 swapon start swapping to file/device mm/swapfile.c
126 sigprocmask POSIX signal handling functions kernel/signal.c
88 reboot reboot or enable/disable Ctrl-Alt -Del kernel/sys.c
127 create_module create a loadable module entry kernel/module.c
89 old_readdir read directory entry fs/readdir.c
128 init_module initialize a loadable module entry kernel/module.c
90 old_mmap map pages of memory arch/i386/kernel/sys_i386.c
129 delete_module delete a loadable module entry kernel/module.c
130 get_kernel_syms retrieve exported kernel and module symbols kernel/module.c query the kernel for various bits pertain ing to kernel/module.c
167 query_module
modules
131 quotactl manipulate disk quotas fs/dquot.c
168 poll wait for some event on a file descriptor fs/select.c
132 getpgid get process group ID kernel/sys.c
169 nfsservctl syscall interface to kernel nfs daemon fs/filesystems.c
133 fchdir change working directory fs/open.c
170 setresgid set real, effective and saved user or group ID kernel/sys.c
134 bdflush start, flush, or tune buffer-dirty-flush daemon fs/buffer.c
171 getresgid get real, effective and saved user or group ID kernel/sys.c
135 sysfs get file system type information fs/super.c
172 prctl operations on a process kernel/sys.c
136 personality set the process execution domain kernel/exec_domain.c
173 rt_sigreturn arch/i386/kernel/signal.c
137 afs_syscall (unimplemented)
174 rt_sigaction kernel/signal.c
138 setfsuid set user identity used for file system checks kernel/sys.c
175 rt_sigprocmask kernel/signal.c
139 setfsgid set group identity used for file system checks kernel/sys.c
176 rt_sigpending kernel/signal.c
140 sys_llseek move extended read/write file pointer fs/read_write.c
177 rt_sigtimedwait kernel/signal.c
141 getdents read directory entries fs/readdir.c
178 rt_sigqueueinfo kernel/signal.c
142 select sync. I/O multiplexing fs/select.c
179 rt_sigsuspend arch/i386/kernel/signal.c
143 flock apply or remove an advisory lock on an open file fs/locks.c
180 pread read from a file descriptor at a given offset fs/read_write.c
144 msync synchronize a file with a memory map mm/filemap.c
181 sys_pwrite write to a file descriptor at a given offset fs/read_write.c
145 readv read data into multiple buffers fs/read_write.c
182 chown change ownership of a file fs/open.c
146 writev write data into multiple buffers fs/read_write.c
183 getcwd Get current working directory fs/dcache.c
147 sys_getsid get process group ID of session leader kernel/sys.c
184 capget get process capabilities kernel/capability.c
148 fdatasync synchronize a file's in-core data with that on disk fs/buffer.c
185 capset set process capabilities kernel/capability.c
149 sysctl read/write system parameters kernel/sysctl.c
186 sigaltstack set/get signal stack context arch/i386/kernel/signal.c
150 mlock lock pages in memory mm/mlock.c
187 sendfile transfer data between file descriptors mm/filemap.c
151 munlock unlock pages in memory mm/mlock.c
188 getpmsg (unimplemented)
152 mlockall disable paging for calling process mm/mlock.c
189 putpmsg (unimplemented)
153 munlockall reenable paging for calling process mm/mlock.c
190 vfork create a child process and block parent arch/i386/kernel/process.c
154 sched_setparam set scheduling parameters kernel/sched.c
155 sched_getparam get scheduling parameters kernel/sched.c
156 sched_setscheduler set scheduling algorithm parameters kernel/sched.c
157 sched_getscheduler get scheduling algorithm parameters kernel/sched.c
158 sched_yield yield the processor kernel/sched.c
sched_get_priority_ get max static priority range kernel/sched.c
159
max
sched_get_priority_ get min static priority range kernel/sched.c
160
min
sched_rr_get_inter get the SCHED_RR interval for the named process kernel/sched.c
161
val
162 nanosleep pause execution for a specified time (nano seconds) kernel/sched.c
163 mremap re-map a virtual memory address mm/mremap.c
164 setresuid set real, effective and saved user or group ID kernel/sys.c
165 getresuid get real, effective and saved user or group ID kernel/sys.c
166 vm86 enter virtual 8086 mode arch/i386/kernel/vm86.c

You might also like