Linux system calls table for x86-64

A searchable x86-64 Linux syscall table with syscall numbers, argument registers, man-page links, kernel entry points, and common flag values.

1 min readSwitch Case

Click a system call name to view more details.

x86-64 Linux syscall reference

380 of 380 entries shown

NRSyscallArgumentsDocs
0unsigned int fd, char *buf, size_t countman(2)
1unsigned int fd, const char *buf, size_t countman(2)
2const char *filename, int flags, umode_t modeman(2)
3unsigned int fdman(2)
4const char *filename, struct stat *statbufman(2)
5unsigned int fd, struct stat *statbufman(2)
6const char *filename, struct stat *statbufman(2)
7struct pollfd *ufds, unsigned int nfds, int timeoutman(2)
8unsigned int fd, off_t offset, unsigned int whenceman(2)
9unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoffman(2)
10unsigned long start, size_t len, unsigned long protman(2)
11unsigned long addr, size_t lenman(2)
12unsigned long brkman(2)
13int, const struct sigaction *, struct sigaction *, size_tman(2)
14int how, sigset_t *set, sigset_t *oset, size_t sigsetsizeman(2)
15voidman(2)
16unsigned int fd, unsigned int cmd, unsigned long argman(2)
17unsigned int fd, char *buf, size_t count, loff_t posman(2)
18unsigned int fd, const char *buf, size_t count, loff_t posman(2)
19unsigned long fd, const struct iovec *vec, unsigned long vlenman(2)
20unsigned long fd, const struct iovec *vec, unsigned long vlenman(2)
21const char *filename, int modeman(2)
22int *fildesman(2)
23int n, fd_set *inp, fd_set *outp, fd_set *exp, struct __kernel_old_timeval *tvpman(2)
24voidman(2)
25unsigned long addr, unsigned long old_len, unsigned long new_len, unsigned long flags, unsigned long new_addrman(2)
26unsigned long start, size_t len, int flagsman(2)
27unsigned long start, size_t len, unsigned char * vecman(2)
28unsigned long start, size_t len, int behaviorman(2)
29key_t key, size_t size, int flagman(2)
30int shmid, char *shmaddr, int shmflgman(2)
31int shmid, int cmd, struct shmid_ds *bufman(2)
32unsigned int fildesman(2)
33unsigned int oldfd, unsigned int newfdman(2)
34voidman(2)
35struct __kernel_timespec *rqtp, struct __kernel_timespec *rmtpman(2)
36int which, struct __kernel_old_itimerval *valueman(2)
37unsigned int secondsman(2)
38int which, struct __kernel_old_itimerval *value, struct __kernel_old_itimerval *ovalueman(2)
39voidman(2)
40int out_fd, int in_fd, loff_t *offset, size_t countman(2)
41int, int, intman(2)
42int, struct sockaddr *, intman(2)
43int, struct sockaddr *, int *man(2)
44int, void *, size_t, unsigned, struct sockaddr *, intman(2)
45int, void *, size_t, unsigned, struct sockaddr *, int *man(2)
46int fd, struct user_msghdr *msg, unsigned flagsman(2)
47int fd, struct user_msghdr *msg, unsigned flagsman(2)
48int, intman(2)
49int, struct sockaddr *, intman(2)
50int, intman(2)
51int, struct sockaddr *, int *man(2)
52int, struct sockaddr *, int *man(2)
53int, int, int, int *man(2)
54int fd, int level, int optname, char *optval, int optlenman(2)
55int fd, int level, int optname, char *optval, int *optlenman(2)
56unsigned long, unsigned long, int *, unsigned long, int *man(2)
57voidman(2)
58voidman(2)
59const char *filename, const char *const *argv, const char *const *envpman(2)
60int error_codeman(2)
61pid_t pid, int *stat_addr, int options, struct rusage *ruman(2)
62pid_t pid, int sigman(2)
63struct new_utsname *nameman(2)
64key_t key, int nsems, int semflgman(2)
65int semid, struct sembuf *sops, unsigned nsopsman(2)
66int semid, int semnum, int cmd, unsigned long argman(2)
67char *shmaddrman(2)
68key_t key, int msgflgman(2)
69int msqid, struct msgbuf *msgp, size_t msgsz, int msgflgman(2)
70int msqid, struct msgbuf *msgp, size_t msgsz, long msgtyp, int msgflgman(2)
71int msqid, int cmd, struct msqid_ds *bufman(2)
72unsigned int fd, unsigned int cmd, unsigned long argman(2)
73unsigned int fd, unsigned int cmdman(2)
74unsigned int fdman(2)
75unsigned int fdman(2)
76const char *path, long lengthman(2)
77unsigned int fd, off_t lengthman(2)
78unsigned int fd, struct linux_dirent *dirent, unsigned int countman(2)
79char *buf, unsigned long sizeman(2)
80const char *filenameman(2)
81unsigned int fdman(2)
82const char *oldname, const char *newnameman(2)
83const char *pathname, umode_t modeman(2)
84const char *pathnameman(2)
85const char *pathname, umode_t modeman(2)
86const char *oldname, const char *newnameman(2)
87const char *pathnameman(2)
88const char *old, const char *newman(2)
89const char *path, char *buf, int bufsizman(2)
90const char *filename, umode_t modeman(2)
91unsigned int fd, umode_t modeman(2)
92const char *filename, uid_t user, gid_t groupman(2)
93unsigned int fd, uid_t user, gid_t groupman(2)
94const char *filename, uid_t user, gid_t groupman(2)
95int maskman(2)
96struct __kernel_old_timeval *tv, struct timezone *tzman(2)
97unsigned int resource, struct rlimit *rlimman(2)
98int who, struct rusage *ruman(2)
99struct sysinfo *infoman(2)
100struct tms *tbufman(2)
101long request, long pid, unsigned long addr, unsigned long dataman(2)
102voidman(2)
103int type, char *buf, int lenman(2)
104voidman(2)
105uid_t uidman(2)
106gid_t gidman(2)
107voidman(2)
108voidman(2)
109pid_t pid, pid_t pgidman(2)
110voidman(2)
111voidman(2)
112voidman(2)
113uid_t ruid, uid_t euidman(2)
114gid_t rgid, gid_t egidman(2)
115int gidsetsize, gid_t *grouplistman(2)
116int gidsetsize, gid_t *grouplistman(2)
117uid_t ruid, uid_t euid, uid_t suidman(2)
118uid_t *ruid, uid_t *euid, uid_t *suidman(2)
119gid_t rgid, gid_t egid, gid_t sgidman(2)
120gid_t *rgid, gid_t *egid, gid_t *sgidman(2)
121pid_t pidman(2)
122uid_t uidman(2)
123gid_t gidman(2)
124pid_t pidman(2)
125cap_user_header_t header, cap_user_data_t dataptrman(2)
126cap_user_header_t header, const cap_user_data_t dataman(2)
127sigset_t *set, size_t sigsetsizeman(2)
128const sigset_t *uthese, siginfo_t *uinfo, const struct __kernel_timespec *uts, size_t sigsetsizeman(2)
129pid_t pid, int sig, siginfo_t *uinfoman(2)
130sigset_t *unewset, size_t sigsetsizeman(2)
131const struct sigaltstack *uss, struct sigaltstack *uossman(2)
132char *filename, struct utimbuf *timesman(2)
133const char *filename, umode_t mode, unsigned devman(2)
134voidman(2)
135unsigned int personalityman(2)
136unsigned dev, struct ustat *ubufman(2)
137const char * path, struct statfs *bufman(2)
138unsigned int fd, struct statfs *bufman(2)
139int option, unsigned long arg1, unsigned long arg2man(2)
140int which, int whoman(2)
141int which, int who, int nicevalman(2)
142pid_t pid, struct sched_param *paramman(2)
143pid_t pid, struct sched_param *paramman(2)
144pid_t pid, int policy, struct sched_param *paramman(2)
145pid_t pidman(2)
146int policyman(2)
147int policyman(2)
148pid_t pid, struct __kernel_timespec *intervalman(2)
149unsigned long start, size_t lenman(2)
150unsigned long start, size_t lenman(2)
151int flagsman(2)
152voidman(2)
153voidman(2)
154int func, void *ptr, unsigned long bytecountman(2)
155const char *new_root, const char *put_oldman(2)
156voidman(2)
157int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5man(2)
158int option, unsigned long arg2man(2)
159struct __kernel_timex *txc_pman(2)
160unsigned int resource, struct rlimit *rlimman(2)
161const char *filenameman(2)
162voidman(2)
163const char *nameman(2)
164struct __kernel_old_timeval *tv, struct timezone *tzman(2)
165char *dev_name, char *dir_name, char *type, unsigned long flags, void *dataman(2)
166char *name, int flagsman(2)
167const char *specialfile, int swap_flagsman(2)
168const char *specialfileman(2)
169int magic1, int magic2, unsigned int cmd, void *argman(2)
170char *name, int lenman(2)
171char *name, int lenman(2)
172unsigned int levelman(2)
173unsigned long from, unsigned long num, int onman(2)
174voidman(2)
175void *umod, unsigned long len, const char *uargsman(2)
176const char *name_user, unsigned int flagsman(2)
177voidman(2)
178voidman(2)
179unsigned int cmd, const char *special, qid_t id, void *addrman(2)
180voidman(2)
181voidman(2)
182voidman(2)
183voidman(2)
184voidman(2)
185voidman(2)
186voidman(2)
187int fd, loff_t offset, size_t countman(2)
188const char *path, const char *name, const void *value, size_t size, int flagsman(2)
189const char *path, const char *name, const void *value, size_t size, int flagsman(2)
190int fd, const char *name, const void *value, size_t size, int flagsman(2)
191const char *path, const char *name, void *value, size_t sizeman(2)
192const char *path, const char *name, void *value, size_t sizeman(2)
193int fd, const char *name, void *value, size_t sizeman(2)
194const char *path, char *list, size_t sizeman(2)
195const char *path, char *list, size_t sizeman(2)
196int fd, char *list, size_t sizeman(2)
197const char *path, const char *nameman(2)
198const char *path, const char *nameman(2)
199int fd, const char *nameman(2)
200pid_t pid, int sigman(2)
201__kernel_old_time_t *tlocman(2)
202u32 *uaddr, int op, u32 val, const struct __kernel_timespec *utime, u32 *uaddr2, u32 val3man(2)
203pid_t pid, unsigned int len, unsigned long *user_mask_ptrman(2)
204pid_t pid, unsigned int len, unsigned long *user_mask_ptrman(2)
205voidman(2)
206unsigned nr_reqs, aio_context_t *ctxman(2)
207aio_context_t ctxman(2)
208aio_context_t ctx_id, long min_nr, long nr, struct io_event *events, struct __kernel_timespec *timeoutman(2)
209aio_context_t, long, struct iocb * *man(2)
210aio_context_t ctx_id, struct iocb *iocb, struct io_event *resultman(2)
211voidman(2)
212voidman(2)
213int sizeman(2)
214voidman(2)
215voidman(2)
216unsigned long start, unsigned long size, unsigned long prot, unsigned long pgoff, unsigned long flagsman(2)
217unsigned int fd, struct linux_dirent64 *dirent, unsigned int countman(2)
218int *tidptrman(2)
219voidman(2)
220int semid, struct sembuf *sops, unsigned nsops, const struct __kernel_timespec *timeoutman(2)
221int fd, loff_t offset, size_t len, int adviceman(2)
222clockid_t which_clock, struct sigevent *timer_event_spec, timer_t * created_timer_idman(2)
223timer_t timer_id, int flags, const struct __kernel_itimerspec *new_setting, struct __kernel_itimerspec *old_settingman(2)
224timer_t timer_id, struct __kernel_itimerspec *settingman(2)
225timer_t timer_idman(2)
226timer_t timer_idman(2)
227clockid_t which_clock, const struct __kernel_timespec *tpman(2)
228clockid_t which_clock, struct __kernel_timespec *tpman(2)
229clockid_t which_clock, struct __kernel_timespec *tpman(2)
230clockid_t which_clock, int flags, const struct __kernel_timespec *rqtp, struct __kernel_timespec *rmtpman(2)
231int error_codeman(2)
232int epfd, struct epoll_event *events, int maxevents, int timeoutman(2)
233int epfd, int op, int fd, struct epoll_event *eventman(2)
234pid_t tgid, pid_t pid, int sigman(2)
235char *filename, struct __kernel_old_timeval *utimesman(2)
236voidman(2)
237unsigned long start, unsigned long len, unsigned long mode, const unsigned long *nmask, unsigned long maxnode, unsigned flagsman(2)
238int mode, const unsigned long *nmask, unsigned long maxnodeman(2)
239int *policy, unsigned long *nmask, unsigned long maxnode, unsigned long addr, unsigned long flagsman(2)
240const char *name, int oflag, umode_t mode, struct mq_attr *attrman(2)
241const char *nameman(2)
242mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct __kernel_timespec *abs_timeoutman(2)
243mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned int *msg_prio, const struct __kernel_timespec *abs_timeoutman(2)
244mqd_t mqdes, const struct sigevent *notificationman(2)
245mqd_t mqdes, const struct mq_attr *mqstat, struct mq_attr *omqstatman(2)
246unsigned long entry, unsigned long nr_segments, struct kexec_segment *segments, unsigned long flagsman(2)
247int which, pid_t pid, struct siginfo *infop, int options, struct rusage *ruman(2)
248const char *_type, const char *_description, const void *_payload, size_t plen, key_serial_t destringidman(2)
249const char *_type, const char *_description, const char *_callout_info, key_serial_t destringidman(2)
250int cmd, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5man(2)
251int which, int who, int ioprioman(2)
252int which, int whoman(2)
253voidman(2)
254int fd, const char *path, u32 maskman(2)
255int fd, __s32 wdman(2)
256pid_t pid, unsigned long maxnode, const unsigned long *from, const unsigned long *toman(2)
257int dfd, const char *filename, int flags, umode_t modeman(2)
258int dfd, const char * pathname, umode_t modeman(2)
259int dfd, const char * filename, umode_t mode, unsigned devman(2)
260int dfd, const char *filename, uid_t user, gid_t group, int flagman(2)
261int dfd, const char *filename, struct __kernel_old_timeval *utimesman(2)
262int dfd, const char *filename, struct stat *statbuf, int flagman(2)
263int dfd, const char * pathname, int flagman(2)
264int olddfd, const char * oldname, int newdfd, const char * newnameman(2)
265int olddfd, const char *oldname, int newdfd, const char *newname, int flagsman(2)
266const char * oldname, int newdfd, const char * newnameman(2)
267int dfd, const char *path, char *buf, int bufsizman(2)
268int dfd, const char *filename, umode_t modeman(2)
269int dfd, const char *filename, int modeman(2)
270int, fd_set *, fd_set *, fd_set *, struct __kernel_timespec *, void *man(2)
271struct pollfd *, unsigned int, struct __kernel_timespec *, const sigset_t *, size_tman(2)
272unsigned long unshare_flagsman(2)
273struct robust_list_head *head, size_t lenman(2)
274int pid, struct robust_list_head * *head_ptr, size_t *len_ptrman(2)
275int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flagsman(2)
276int fdin, int fdout, size_t len, unsigned int flagsman(2)
277int fd, loff_t offset, loff_t nbytes, unsigned int flagsman(2)
278int fd, const struct iovec *iov, unsigned long nr_segs, unsigned int flagsman(2)
279pid_t pid, unsigned long nr_pages, const void * *pages, const int *nodes, int *status, int flagsman(2)
280int dfd, const char *filename, struct __kernel_timespec *utimes, int flagsman(2)
281int epfd, struct epoll_event *events, int maxevents, int timeout, const sigset_t *sigmask, size_t sigsetsizeman(2)
282int ufd, sigset_t *user_mask, size_t sizemaskman(2)
283int clockid, int flagsman(2)
284unsigned int countman(2)
285int fd, int mode, loff_t offset, loff_t lenman(2)
286int ufd, int flags, const struct __kernel_itimerspec *utmr, struct __kernel_itimerspec *otmrman(2)
287int ufd, struct __kernel_itimerspec *otmrman(2)
288int, struct sockaddr *, int *, intman(2)
289int ufd, sigset_t *user_mask, size_t sizemask, int flagsman(2)
290unsigned int count, int flagsman(2)
291int flagsman(2)
292unsigned int oldfd, unsigned int newfd, int flagsman(2)
293int *fildes, int flagsman(2)
294int flagsman(2)
295unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_hman(2)
296unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_hman(2)
297pid_t tgid, pid_t pid, int sig, siginfo_t *uinfoman(2)
298struct perf_event_attr *attr_uptr, pid_t pid, int cpu, int group_fd, unsigned long flagsman(2)
299int fd, struct mmsghdr *msg, unsigned int vlen, unsigned flags, struct __kernel_timespec *timeoutman(2)
300unsigned int flags, unsigned int event_f_flagsman(2)
301int fanotify_fd, unsigned int flags, unsigned int mask_1, unsigned int mask_2, int dfd, const char * pathnameman(2)
302pid_t pid, unsigned int resource, const struct rlimit64 *new_rlim, struct rlimit64 *old_rlimman(2)
303int dfd, const char *name, struct file_handle *handle, void *mnt_id, int flagman(2)
304int mountdirfd, struct file_handle *handle, int flagsman(2)
305clockid_t which_clock, struct __kernel_timex *txman(2)
306int fdman(2)
307int fd, struct mmsghdr *msg, unsigned int vlen, unsigned flagsman(2)
308int fd, int nstypeman(2)
309unsigned *cpu, unsigned *node, struct getcpu_cache *cacheman(2)
310pid_t pid, const struct iovec *lvec, unsigned long liovcnt, const struct iovec *rvec, unsigned long riovcnt, unsigned long flagsman(2)
311pid_t pid, const struct iovec *lvec, unsigned long liovcnt, const struct iovec *rvec, unsigned long riovcnt, unsigned long flagsman(2)
312pid_t pid1, pid_t pid2, int type, unsigned long idx1, unsigned long idx2man(2)
313int fd, const char *uargs, int flagsman(2)
314pid_t pid, struct sched_attr *attr, unsigned int flagsman(2)
315pid_t pid, struct sched_attr *attr, unsigned int size, unsigned int flagsman(2)
316int olddfd, const char *oldname, int newdfd, const char *newname, unsigned int flagsman(2)
317unsigned int op, unsigned int flags, void *uargsman(2)
318char *buf, size_t count, unsigned int flagsman(2)
319const char *uname_ptr, unsigned int flagsman(2)
320int kernel_fd, int initrd_fd, unsigned long cmdline_len, const char *cmdline_ptr, unsigned long flagsman(2)
321int cmd, union bpf_attr *attr, unsigned int sizeman(2)
322int dfd, const char *filename, const char *const *argv, const char *const *envp, int flagsman(2)
323int flagsman(2)
324int cmd, unsigned int flags, int cpu_idman(2)
325unsigned long start, size_t len, int flagsman(2)
326int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flagsman(2)
327unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h, rwf_t flagsman(2)
328unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h, rwf_t flagsman(2)
329unsigned long start, size_t len, unsigned long prot, int pkeyman(2)
330unsigned long flags, unsigned long init_valman(2)
331int pkeyman(2)
332int dfd, const char *path, unsigned flags, unsigned mask, struct statx *bufferman(2)
333aio_context_t ctx_id, long min_nr, long nr, struct io_event *events, struct __kernel_timespec *timeout, const struct __aio_sigset *sigman(2)
334struct rseq *rseq, uint32_t rseq_len, int flags, uint32_t sigman(2)
335voidman(2)
424int pidfd, int sig, siginfo_t *info, unsigned int flagsman(2)
425u32 entries, struct io_uring_params *pman(2)
426unsigned int fd, u32 to_submit, u32 min_complete, u32 flags, const void *argp, size_t argszman(2)
427unsigned int fd, unsigned int op, void *arg, unsigned int nr_argsman(2)
428int dfd, const char *path, unsigned flagsman(2)
429int from_dfd, const char *from_path, int to_dfd, const char *to_path, unsigned int ms_flagsman(2)
430const char *fs_name, unsigned int flagsman(2)
431int fs_fd, unsigned int cmd, const char *key, const void *value, int auxman(2)
432int fs_fd, unsigned int flags, unsigned int ms_flagsman(2)
433int dfd, const char *path, unsigned int flagsman(2)
434pid_t pid, unsigned int flagsman(2)
435struct clone_args *uargs, size_t sizeman(2)
436unsigned int fd, unsigned int max_fd, unsigned int flagsman(2)
437int dfd, const char *filename, struct open_how *how, size_t sizeman(2)
438int pidfd, int fd, unsigned int flagsman(2)
439int dfd, const char *filename, int mode, int flagsman(2)
440int pidfd, const struct iovec *vec, size_t vlen, int behavior, unsigned int flagsman(2)
441int epfd, struct epoll_event *events, int maxevents, const struct __kernel_timespec *timeout, const sigset_t *sigmask, size_t sigsetsizeman(2)
442int dfd, const char *path, unsigned int flags, struct mount_attr *uattr, size_t usizeman(2)
443unsigned int fd, unsigned int cmd, qid_t id, void *addrman(2)
444const struct landlock_ruleset_attr *attr, size_t size, __u32 flagsman(2)
445int ruleset_fd, enum landlock_rule_type rule_type, const void *rule_attr, __u32 flagsman(2)
446int ruleset_fd, __u32 flagsman(2)
447unsigned int flagsman(2)
448int pidfd, unsigned int flagsman(2)
449struct futex_waitv *waiters, unsigned int nr_futexes, unsigned int flags, struct __kernel_timespec *timeout, clockid_t clockidman(2)
450unsigned long start, unsigned long len, unsigned long home_node, unsigned long flagsman(2)
451unsigned int fd, struct cachestat_range *cstat_range, struct cachestat *cstat, unsigned int flagsman(2)
452int dfd, const char *filename, umode_t mode, unsigned int flagsman(2)
453unsigned long addr, unsigned long size, unsigned int flagsman(2)
454void *uaddr, unsigned long mask, int nr, unsigned int flagsman(2)
455void *uaddr, unsigned long val, unsigned long mask, unsigned int flags, struct __kernel_timespec *timespec, clockid_t clockidman(2)
456struct futex_waitv *waiters, unsigned int flags, int nr_wake, int nr_requeueman(2)
457const struct mnt_id_req *req, struct statmount *buf, size_t bufsize, unsigned int flagsman(2)
458const struct mnt_id_req *req, u64 *mnt_ids, size_t nr_mnt_ids, unsigned int flagsman(2)
459unsigned int attr, struct lsm_ctx *ctx, u32 *size, u32 flagsman(2)
460unsigned int attr, struct lsm_ctx *ctx, u32 size, u32 flagsman(2)
461u64 *ids, u32 *size, u32 flagsman(2)
462unsigned long start, size_t len, unsigned long flagsman(2)
463int dfd, const char *path, unsigned int at_flags, const char *name, const struct xattr_args *args, size_t sizeman(2)
464int dfd, const char *path, unsigned int at_flags, const char *name, struct xattr_args *args, size_t sizeman(2)
465int dfd, const char *path, unsigned int at_flags, char *list, size_t sizeman(2)
466int dfd, const char *path, unsigned int at_flags, const char *nameman(2)
467int dfd, const char *path, unsigned flags, struct mount_attr *uattr, size_t usizeman(2)

▸ stay subscribed

Liked this?

Drop your email and you'll get the next post when it's published. No tracking, one-click unsubscribe.