1SYSCALLS(2)                Linux Programmer's Manual               SYSCALLS(2)
2
3
4

NAME

6       syscalls - Linux system calls
7

SYNOPSIS

9       Linux system calls.
10

DESCRIPTION

12       The system call is the fundamental interface between an application and
13       the Linux kernel.
14
15   System calls and library wrapper functions
16       System calls are generally not invoked directly, but rather via wrapper
17       functions  in  glibc  (or  perhaps some other library).  For details of
18       direct invocation of a system  call,  see  intro(2).   Often,  but  not
19       always, the name of the wrapper function is the same as the name of the
20       system call that it invokes.  For example, glibc  contains  a  function
21       truncate() which invokes the underlying "truncate" system call.
22
23       Often the glibc wrapper function is quite thin, doing little work other
24       than copying arguments to the right registers before invoking the  sys‐
25       tem  call,  and  then setting errno appropriately after the system call
26       has returned.   (These  are  the  same  steps  that  are  performed  by
27       syscall(2), which can be used to invoke system calls for which no wrap‐
28       per function is provided.)  Note: system calls indicate  a  failure  by
29       returning a negative error number to the caller; when this happens, the
30       wrapper function negates the returned error number (to  make  it  posi‐
31       tive), copies it to errno, and returns -1 to the caller of the wrapper.
32
33       Sometimes,  however,  the  wrapper function does some extra work before
34       invoking the system call.  For example, nowadays there are (for reasons
35       described  below)  two  related  system  calls,  truncate(2)  and trun‐
36       cate64(2), and the glibc truncate() wrapper function  checks  which  of
37       those  system  calls  are  provided  by the kernel and determines which
38       should be employed.
39
40   System call list
41       Below is a list of the Linux system calls.  In  the  list,  the  Kernel
42       column  indicates  the  kernel version for those system calls that were
43       new in Linux 2.2, or have appeared since that kernel version.  Note the
44       following points:
45
46       *  Where  no  kernel  version is indicated, the system call appeared in
47          kernel 1.0 or earlier.
48
49       *  Where a system call is marked "1.2" this means the system call prob‐
50          ably  appeared  in  a  1.1.x kernel version, and first appeared in a
51          stable kernel with 1.2.  (Development of the 1.2 kernel  was  initi‐
52          ated  from  a  branch  of kernel 1.0.6 via the 1.1.x unstable kernel
53          series.)
54
55       *  Where a system call is marked "2.0" this means the system call prob‐
56          ably  appeared  in  a  1.3.x kernel version, and first appeared in a
57          stable kernel with 2.0.  (Development of the 2.0 kernel  was  initi‐
58          ated from a branch of kernel 1.2.x, somewhere around 1.2.10, via the
59          1.3.x unstable kernel series.)
60
61       *  Where a system call is marked "2.2" this means the system call prob‐
62          ably  appeared  in  a  2.1.x kernel version, and first appeared in a
63          stable kernel with 2.2.0.  (Development of the 2.2 kernel was initi‐
64          ated  from  a  branch of kernel 2.0.21 via the 2.1.x unstable kernel
65          series.)
66
67       *  Where a system call is marked "2.4" this means the system call prob‐
68          ably  appeared  in  a  2.3.x kernel version, and first appeared in a
69          stable kernel with 2.4.0.  (Development of the 2.4 kernel was initi‐
70          ated  from  a  branch  of kernel 2.2.8 via the 2.3.x unstable kernel
71          series.)
72
73       *  Where a system call is marked "2.6" this means the system call prob‐
74          ably  appeared  in  a  2.5.x kernel version, and first appeared in a
75          stable kernel with 2.6.0.  (Development of kernel 2.6 was  initiated
76          from  a  branch  of  kernel  2.4.15  via  the  2.5.x unstable kernel
77          series.)
78
79       *  Starting with kernel 2.6.0, the development model changed,  and  new
80          system  calls  may  appear in each 2.6.x release.  In this case, the
81          exact version number where the system call appeared is shown.   This
82          convention  continues  with the 3.x kernel series, which followed on
83          from kernel 2.6.39.
84
85       *  In some cases, a system call was added to  a  stable  kernel  series
86          after  it  branched from the previous stable kernel series, and then
87          backported into the earlier stable kernel series.  For example  some
88          system  calls  that  appeared  in  2.6.x were also backported into a
89          2.4.x release after 2.4.15.  When this is so, the version where  the
90          system call appeared in both of the major kernel series is listed.
91
92       The  list  of system calls that are available as at kernel 3.9 (or in a
93       few cases only on older kernels) is as follows:
94
95       System call                 Kernel        Notes
96       ─────────────────────────────────────────────────────────────────────
97
98       _llseek(2)                  1.2
99       _newselect(2)               2.0
100       _sysctl(2)                  2.0
101       accept(2)                   2.0           See notes on socketcall(2)
102       accept4(2)                  2.6.28
103       access(2)                   1.0
104       acct(2)                     1.0
105       add_key(2)                  2.6.11
106       adjtimex(2)                 1.0
107       alarm(2)                    1.0
108       alloc_hugepages(2)          2.5.36        Removed in 2.5.44
109       bdflush(2)                  1.2           Deprecated (does nothing)
110                                                 since 2.6
111       bind(2)                     2.0           See notes on socketcall(2)
112       brk(2)                      1.0
113       cacheflush(2)               1.2           Not on x86
114       capget(2)                   2.2
115       capset(2)                   2.2
116       chdir(2)                    1.0
117       chmod(2)                    1.0
118       chown(2)                    2.2           See chown(2) for
119                                                 version details
120       chown32(2)                  2.4
121       chroot(2)                   1.0
122       clock_adjtime(2)            2.6.39
123       clock_getres(2)             2.6
124       clock_gettime(2)            2.6
125       clock_nanosleep(2)          2.6
126       clock_settime(2)            2.6
127       clone(2)                    1.0
128       close(2)                    1.0
129       connect(2)                  2.0           See notes on socketcall(2)
130       creat(2)                    1.0
131       create_module(2)                          Removed in 2.6
132
133       delete_module(2)            1.0
134       dup(2)                      1.0
135       dup2(2)                     1.0
136       dup3(2)                     2.6.27
137       epoll_create(2)             2.6
138       epoll_create1(2)            2.6.27
139       epoll_ctl(2)                2.6
140       epoll_pwait(2)              2.6.19
141       epoll_wait(2)               2.6
142       eventfd(2)                  2.6.22
143       eventfd2(2)                 2.6.27
144       execve(2)                   1.0
145       exit(2)                     1.0
146       exit_group(2)               2.6
147       faccessat(2)                2.6.16
148       fadvise64(2)                2.6
149       fadvise64_64(2)             2.6
150       fallocate(2)                2.6.23
151       fanotify_init(2)            2.6.37
152       fanotify_mark(2)            2.6.37
153       fchdir(2)                   1.0
154       fchmod(2)                   1.0
155       fchmodat(2)                 2.6.16
156       fchown(2)                   1.0
157       fchown32(2)                 2.4
158       fchownat(2)                 2.6.16
159       fcntl(2)                    1.0
160       fcntl64(2)                  2.4
161       fdatasync(2)                2.0
162       fgetxattr(2)                2.6; 2.4.18
163       finit_module(2)             3.8
164       flistxattr(2)               2.6; 2.4.18
165       flock(2)                    2.0
166       fork(2)                     1.0
167       free_hugepages(2)           2.5.36        Removed in 2.5.44
168       fremovexattr(2)             2.6; 2.4.18
169       fsetxattr(2)                2.6; 2.4.18
170       fstat(2)                    1.0
171       fstat64(2)                  2.4
172       fstatat64(2)                2.6.16
173       fstatfs(2)                  1.0
174       fstatfs64(2)                2.6
175       fsync(2)                    1.0           1.0
176       ftruncate(2)                1.0
177       ftruncate64(2)              2.4
178       futex(2)                    2.6
179       futimesat(2)                2.6.16
180       get_kernel_syms(2)                        Removed in 2.6
181       get_mempolicy(2)            2.6.6
182       get_robust_list(2)          2.6.17
183       get_thread_area(2)          2.6
184       getcpu(2)                   2.6.19
185       getcwd(2)                   2.2
186       getdents(2)                 2.0
187       getdents64(2)               2.4
188       getegid(2)                  1.0
189       getegid32(2)                2.4
190       geteuid(2)                  1.0
191       geteuid32(2)                2.4
192       getgid(2)                   1.0
193       getgid32(2)                 2.4
194       getgroups(2)                1.0
195       getgroups32(2)              2.4
196       getitimer(2)                1.0
197       getpeername(2)              2.0           See notes on socketcall(2)
198
199       getpagesize(2)              2.0           Not on x86
200       getpgid(2)                  1.0
201       getpgrp(2)                  1.0
202       getpid(2)                   1.0
203       getppid(2)                  1.0
204       getpriority(2)              1.0
205       getresgid(2)                2.2
206       getresgid32(2)              2.4
207       getresuid(2)                2.2
208       getresuid32(2)              2.4
209       getrlimit(2)                1.0
210       getrusage(2)                1.0
211       getsid(2)                   2.0
212       getsockname(2)              2.0           See notes on socketcall(2)
213       getsockopt(2)               2.0           See notes on socketcall(2)
214       gettid(2)                   2.4.11
215       gettimeofday(2)             1.0
216       getuid(2)                   1.0
217       getuid32(2)                 2.4
218       getxattr(2)                 2.6; 2.4.18
219       init_module(2)              1.0
220       inotify_add_watch(2)        2.6.13
221       inotify_init(2)             2.6.13
222       inotify_init1(2)            2.6.27
223       inotify_rm_watch(2)         2.6.13
224       io_cancel(2)                2.6
225       io_destroy(2)               2.6
226       io_getevents(2)             2.6
227       io_setup(2)                 2.6
228       io_submit(2)                2.6
229       ioctl(2)                    1.0
230       ioperm(2)                   1.0
231       iopl(2)                     1.0
232       ioprio_get(2)               2.6.13
233       ioprio_set(2)               2.6.13
234       ipc(2)                      1.0
235       kcmp(2)                     3.5
236       kern_features(2)            3.7           Sparc64
237       kexec_load(2)               2.6.13
238       keyctl(2)                   2.6.11
239       kill(2)                     1.0
240       lchown(2)                   1.0           See chown(2) for
241                                                 version details
242       lchown32(2)                 2.4
243       lgetxattr(2)                2.6; 2.4.18
244       link(2)                     1.0
245       linkat(2)                   2.6.16
246       listen(2)                   2.0           See notes on socketcall(2)
247       listxattr(2)                2.6; 2.4.18
248       llistxattr(2)               2.6; 2.4.18
249       lookup_dcookie(2)           2.6
250       lremovexattr(2)             2.6; 2.4.18
251       lseek(2)                    1.0
252       lsetxattr(2)                2.6; 2.4.18
253       lstat(2)                    1.0
254       lstat64(2)                  2.4
255       madvise(2)                  2.4
256       madvise1(2)                 2.4
257       mbind(2)                    2.6.6
258       migrate_pages(2)            2.6.16
259       mincore(2)                  2.4
260       mkdir(2)                    1.0
261       mkdirat(2)                  2.6.16
262       mknod(2)                    1.0
263       mknodat(2)                  2.6.16
264
265       mlock(2)                    2.0
266       mlockall(2)                 2.0
267       mmap(2)                     1.0
268       mmap2(2)                    2.4
269       modify_ldt(2)               1.0
270       mount(2)                    1.0
271       move_pages(2)               2.6.18
272       mprotect(2)                 1.0
273       mq_getsetattr(2)            2.6.6
274       mq_notify(2)                2.6.6
275       mq_open(2)                  2.6.6
276       mq_timedreceive(2)          2.6.6
277       mq_timedsend(2)             2.6.6
278       mq_unlink(2)                2.6.6
279       mremap(2)                   2.0
280       msgctl(2)                   2.0           See notes on ipc(2)
281       msgget(2)                   2.0           See notes on ipc(2)
282       msgrcv(2)                   2.0           See notes on ipc(2)
283       msgsnd(2)                   2.0           See notes on ipc(2)
284       msync(2)                    2.0
285       munlock(2)                  2.0
286       munlockall(2)               2.0
287       munmap(2)                   1.0
288       name_to_handle_at(2)        2.6.39
289       nanosleep(2)                2.0
290       nfsservctl(2)               2.2           Removed in 3.1
291       nice(2)                     1.0
292       oldfstat(2)                 1.0
293       oldlstat(2)                 1.0
294       oldolduname(2)              1.0
295       oldstat(2)                  1.0
296       olduname(2)                 1.0
297       open(2)                     1.0
298       open_by_handle_at(2)        2.6.39
299       openat(2)                   2.6.16
300       pause(2)                    1.0
301       pciconfig_iobase(2)         2.2.15; 2.4   Not on x86
302       pciconfig_read(2)           2.0.26; 2.2   Not on x86
303       pciconfig_write(2)          2.0.26; 2.2   Not on x86
304       perf_event_open(2)          2.6.31        Was called
305                                                 perf_counter_open()
306                                                 in 2.6.31; renamed in
307                                                 2.6.32
308       personality(2)              1.2
309       perfctr(2)                  2.2           Sparc; removed in 2.6.34
310       perfmonctl(2)               2.4           ia64
311       pipe(2)                     1.0
312       pipe2(2)                    2.6.27
313       pivot_root(2)               2.4
314       poll(2)                     2.0.36; 2.2
315       ppc_rtas(2)                               PowerPC only
316       ppoll(2)                    2.6.16
317       prctl(2)                    2.2
318       pread64(2)                                Added as "pread" in 2.2;
319                                                 renamed "pread64" in 2.6
320       preadv(2)                   2.6.30
321       prlimit(2)                  2.6.36
322       process_vm_readv(2)         3.2
323       process_vm_writev(2)        3.2
324       pselect6(2)                 2.6.16
325       ptrace(2)                   1.0
326       pwrite64(2)                               Added as "pwrite" in 2.2;
327                                                 renamed "pwrite64" in 2.6
328       pwritev(2)                  2.6.30
329       query_module(2)             2.2           Removed in 2.6
330
331       quotactl(2)                 1.0
332       read(2)                     1.0
333       readahead(2)                2.4.13
334       readdir(2)                  1.0
335       readlink(2)                 1.0
336       readlinkat(2)               2.6.16
337       readv(2)                    2.0
338       reboot(2)                   1.0
339       recv(2)                     2.0           See notes on socketcall(2)
340       recvfrom(2)                 2.0           See notes on socketcall(2)
341       recvmsg(2)                  2.0           See notes on socketcall(2)
342       recvmmsg(2)                 2.6.33
343       remap_file_pages(2)         2.6
344       removexattr(2)              2.6; 2.4.18
345       rename(2)                   1.0
346       renameat(2)                 2.6.16
347       request_key(2)              2.6.11
348       restart_syscall(2)          2.6
349       rmdir(2)                    1.0
350       rt_sigaction(2)             2.2
351       rt_sigpending(2)            2.2
352       rt_sigprocmask(2)           2.2
353       rt_sigqueueinfo(2)          2.2
354       rt_sigreturn(2)             2.2
355       rt_sigsuspend(2)            2.2
356       rt_sigtimedwait(2)          2.2
357       rt_tgsigqueueinfo(2)        2.6.31
358       s390_runtime_instr(2)       3.7           s390 only
359       sched_get_priority_max(2)   2.0
360       sched_get_priority_min(2)   2.0
361       sched_getaffinity(2)        2.6
362       sched_getparam(2)           2.0
363       sched_getscheduler(2)       2.0
364       sched_rr_get_interval(2)    2.0
365       sched_setaffinity(2)        2.6
366       sched_setparam(2)           2.0
367       sched_setscheduler(2)       2.0
368       sched_yield(2)              2.0
369       select(2)                   1.0
370       semctl(2)                   2.0           See notes on ipc(2)
371       semget(2)                   2.0           See notes on ipc(2)
372       semop(2)                    2.0           See notes on ipc(2)
373       semtimedop(2)               2.6; 2.4.22
374       send(2)                     2.0           See notes on socketcall(2)
375       sendfile(2)                 2.2
376       sendfile64(2)               2.6; 2.4.19
377       sendmmsg(2)                 3.0
378       sendmsg(2)                  2.0           See notes on socketcall(2)
379       sendto(2)                   2.0           See notes on socketcall(2)
380       set_mempolicy(2)            2.6.6
381       set_robust_list(2)          2.6.17
382       set_thread_area(2)          2.6
383       set_tid_address(2)          2.6
384       setdomainname(2)            1.0
385       setfsgid(2)                 1.2
386       setfsgid32(2)               2.4
387       setfsuid(2)                 1.2
388       setfsuid32(2)               2.4
389       setgid(2)                   1.0
390       setgid32(2)                 2.4
391       setgroups(2)                1.0
392       setgroups32(2)              2.4
393       sethostname(2)              1.0
394       setitimer(2)                1.0
395       setns(2)                    3.0
396
397       setpgid(2)                  1.0
398       setpriority(2)              1.0
399       setregid(2)                 1.0
400       setregid32(2)               2.4
401       setresgid(2)                2.2
402       setresgid32(2)              2.4
403       setresuid(2)                2.2
404       setresuid32(2)              2.4
405       setreuid(2)                 1.0
406       setreuid32(2)               2.4
407       setrlimit(2)                1.0
408       setsid(2)                   1.0
409       setsockopt(2)               2.0           See notes on socketcall(2)
410       settimeofday(2)             1.0
411       setuid(2)                   1.0
412       setuid32(2)                 2.4
413       setup(2)                                  Removed in 2.2
414       setxattr(2)                 2.6; 2.4.18
415       sgetmask(2)                 1.0
416       shmat(2)                    2.0           See notes on ipc(2)
417       shmctl(2)                   2.0           See notes on ipc(2)
418       shmdt(2)                    2.0           See notes on ipc(2)
419       shmget(2)                   2.0           See notes on ipc(2)
420       shutdown(2)                 2.0           See notes on socketcall(2)
421       sigaction(2)                1.0
422       sigaltstack(2)              2.2
423       signal(2)                   1.0
424       signalfd(2)                 2.6.22
425       signalfd4(2)                2.6.27
426       sigpending(2)               1.0
427       sigprocmask(2)              1.0
428       sigreturn(2)                1.0
429       sigsuspend(2)               1.0
430       socket(2)                   2.0           See notes on socketcall(2)
431       socketcall(2)               1.0
432       socketpair(2)               2.0           See notes on socketcall(2)
433       splice(2)                   2.6.17
434       spu_create(2)               2.6.16        PowerPC only
435       spu_run(2)                  2.6.16        PowerPC only
436       ssetmask(2)                 1.0
437       stat(2)                     1.0
438       stat64(2)                   2.4
439       statfs(2)                   1.0
440       statfs64(2)                 2.6
441       stime(2)                    1.0
442       subpage_prot(2)             2.6.25        PowerPC if
443                                                 CONFIG_PPC_64K_PAGES
444       swapoff(2)                  1.0
445       swapon(2)                   1.0
446       symlink(2)                  1.0
447       symlinkat(2)                2.6.16
448       sync(2)                     1.0
449       sync_file_range(2)          2.6.17
450       sync_file_range2(2)         2.6.22        Architecture-specific
451                                                 variant of
452                                                 sync_file_range(2)
453       syncfs(2)                   2.6.39
454       sysfs(2)                    1.2
455       sysinfo(2)                  1.0
456       syslog(2)                   1.0
457       tee(2)                      2.6.17
458       tgkill(2)                   2.6
459       time(2)                     1.0
460       timer_create(2)             2.6
461       timer_delete(2)             2.6
462
463       timer_getoverrun(2)         2.6
464       timer_gettime(2)            2.6
465       timer_settime(2)            2.6
466       timerfd_create(2)           2.6.25
467       timerfd_gettime(2)          2.6.25
468       timerfd_settime(2)          2.6.25
469       times(2)                    1.0
470       tkill(2)                    2.6; 2.4.22
471       truncate(2)                 1.0
472       truncate64(2)               2.4
473       ugetrlimit(2)               2.4
474       umask(2)                    1.0
475       umount(2)                   1.0
476       umount2(2)                  2.2
477       uname(2)                    1.0
478       unlink(2)                   1.0
479       unlinkat(2)                 2.6.16
480       unshare(2)                  2.6.16
481       uselib(2)                   1.0
482       ustat(2)                    1.0
483       utime(2)                    1.0
484       utimensat(2)                2.6.22
485       utimes(2)                   2.2
486       utrap_install(2)            2.2           Sparc
487       vfork(2)                    2.2
488       vhangup(2)                  1.0
489       vm86old(2)                  1.0           Was "vm86"; renamed in
490                                                 2.0.28/2.2
491       vm86(2)                     2.0.28; 2.2
492       vmsplice(2)                 2.6.17
493       wait4(2)                    1.0
494       waitid(2)                   2.6.10
495       waitpid(2)                  1.0
496       write(2)                    1.0
497       writev(2)                   2.0
498
499       On  many  platforms, including x86-32, socket calls are all multiplexed
500       (via glibc wrapper functions) through socketcall(2) and similarly  Sys‐
501       tem V IPC calls are multiplexed through ipc(2).
502
503       Although slots are reserved for them in the system call table, the fol‐
504       lowing system  calls  are  not  implemented  in  the  standard  kernel:
505       afs_syscall(2),   break(2),  ftime(2),  getpmsg(2),  gtty(2),  idle(2),
506       lock(2), madvise1(2), mpx(2), phys(2), prof(2), profil(2),  putpmsg(2),
507       security(2),  stty(2),  tuxcall(2), ulimit(2), and vserver(2) (see also
508       unimplemented(2)).  However, ftime(3), profil(3) and ulimit(3) exist as
509       library  routines.  The slot for phys(2) is in use since kernel 2.1.116
510       for umount(2); phys(2) will never be implemented.  The  getpmsg(2)  and
511       putpmsg(2)  calls  are  for kernels patched to support STREAMS, and may
512       never be in the standard kernel.
513
514       There was briefly  set_zone_reclaim(2),  added  in  Linux  2.6.13,  and
515       removed in 2.6.16; this system call was never available to user space.
516

NOTES

518       Roughly  speaking,  the  code  belonging to the system call with number
519       __NR_xxx defined in /usr/include/asm/unistd.h can be found in the Linux
520       kernel  source  in the routine sys_xxx().  (The dispatch table for i386
521       can be found in  /usr/src/linux/arch/i386/kernel/entry.S.)   There  are
522       many exceptions, however, mostly because older system calls were super‐
523       seded by newer ones, and this has been  treated  somewhat  unsystemati‐
524       cally.   On platforms with proprietary operating-system emulation, such
525       as parisc, sparc, sparc64 and alpha, there are many  additional  system
526       calls; mips64 also contains a full set of 32-bit system calls.
527
528       Over  time,  changes  to  the interfaces of some system calls have been
529       necessary.  One reason for such changes was the need  to  increase  the
530       size of structures or scalar values passed to the system call.  Because
531       of these changes, there are now various groups of related system  calls
532       (e.g.,  truncate(2) and truncate64(2)) which perform similar tasks, but
533       which vary in details such as the size of their arguments.   (As  noted
534       earlier,  applications are generally unaware of this: the glibc wrapper
535       functions do some work to ensure that the right system call is invoked,
536       and that ABI compatibility is preserved for old binaries.)  Examples of
537       systems calls that exist in multiple versions are the following:
538
539       *  By now there are three different  versions  of  stat(2):  sys_stat()
540          (slot    __NR_oldstat),    sys_newstat()   (slot   __NR_stat),   and
541          sys_stat64() (slot __NR_stat64), with the last being the  most  cur‐
542          rent.  A similar story applies for lstat(2) and fstat(2).
543
544       *  Similarly,   the   defines   __NR_oldolduname,   __NR_olduname,  and
545          __NR_uname refer to the  routines  sys_olduname(),  sys_uname()  and
546          sys_newuname().
547
548       *  In  Linux  2.0,  a new version of vm86(2) appeared, with the old and
549          the new kernel routines being named sys_vm86old() and sys_vm86().
550
551       *  In Linux 2.4, a new version of getrlimit(2) appeared, with  the  old
552          and  the  new  kernel routines being named sys_old_getrlimit() (slot
553          __NR_getrlimit) and sys_getrlimit() (slot __NR_ugetrlimit).
554
555       *  Linux 2.4 increased the size of user and group IDs  from  16  to  32
556          bits.   To  support  this change, a range of system calls were added
557          (e.g.,  chown32(2),  getuid32(2),  getgroups32(2),  setresuid32(2)),
558          superseding earlier calls of the same name without the "32" suffix.
559
560       *  Linux  2.4 added support for applications on 32-bit architectures to
561          access large files (i.e., files for which the sizes and file offsets
562          can't  be represented in 32 bits.)  To support this change, replace‐
563          ments were required for system calls that deal with file offsets and
564          sizes.   Thus  the  following  system  calls were added: fcntl64(2),
565          ftruncate64(2), getdents64(2),  stat64(2),  statfs64(2),  and  their
566          analogs  that  work  with file descriptors or symbolic links.  These
567          system calls supersede the older system calls which, except  in  the
568          case  of  the "stat" calls, have the same name without the "64" suf‐
569          fix.
570
571          On newer platforms that only have 64-bit file access and 32-bit uids
572          (e.g., alpha, ia64, s390x) there are no *64 or *32 calls.  Where the
573          *64 and *32 calls exist, the other versions are obsolete.
574
575       *  The rt_sig* calls were added in kernel 2.2 to support  the  addition
576          of  real-time signals (see signal(7)).  These system calls supersede
577          the older system calls of the same name without the "rt_" prefix.
578
579       *  The select(2) and mmap(2) system calls use five or  more  arguments,
580          which  caused  problems in the way argument passing on the i386 used
581          to be set up.  Thus, while other architectures have sys_select() and
582          sys_mmap()  corresponding  to __NR_select and __NR_mmap, on i386 one
583          finds old_select() and old_mmap() (routines that use a pointer to  a
584          argument block) instead.  These days passing five arguments is not a
585          problem any more, and there is a  __NR__newselect  that  corresponds
586          directly to sys_select() and similarly __NR_mmap2.
587

SEE ALSO

589       syscall(2), unimplemented(2), libc(7)
590

COLOPHON

592       This  page  is  part of release 3.53 of the Linux man-pages project.  A
593       description of the project, and information about reporting  bugs,  can
594       be found at http://www.kernel.org/doc/man-pages/.
595
596
597
598Linux                             2013-04-17                       SYSCALLS(2)
Impressum