Provided by: manpages-fr-dev_4.23.1-1_all bug

NOM

       syscalls - Appels système de Linux

SYNOPSIS

       Appels système de Linux.

DESCRIPTION

       L'appel système est l'interface fondamentale entre une application et le noyau Linux.

   Appels système et fonctions de bibliothèque
       Les  appels système ne sont en général pas appelés directement, mais à partir de fonctions
       enveloppe de la glibc (ou d'une autre bibliothèque). Pour avoir des détails  pour  l'appel
       direct  d'un  appel  système, consultez intro(2). Souvent, mais pas toujours, le nom de la
       fonction enveloppe est le même que celui de l'appel système à invoquer.  Par  exemple,  la
       glibc contient une fonction chdir() qui invoque l'appel système « chdir » sous-jacent.

       Souvent,  la  fonction  enveloppe  de la glibc est très petite, ne faisant que très peu en
       plus de placer les paramètres dans les bons registres avant d'appeler l'appel système puis
       de  positionner errno comme il faut une fois que l'appel système a rendu la main. (Ce sont
       les mêmes étapes qui sont effectuées par syscall(2), qui peut être utilisé pour les appels
       système  pour  lesquels il n'y a pas de fonction enveloppe de fournies.) Note : les appels
       système indiquent un échec en renvoyant un numéro d'erreur négatif à  l'appelant  sur  les
       architectures  n'ayant  pas  de  registre  ou  d'attribut  d'erreur séparé comme noté dans
       syscall(2) ; quand cela arrive, la fonction enveloppe prend l'opposé  du  numéro  d'erreur
       (pour  le  rendre  positif), le copie dans errno et renvoie -1 à l'appelant de la fonction
       enveloppe.

       Des fois, cependant, la fonction réalise certaines  opérations  avant  d'invoquer  l'appel
       système.  Par exemple, de nos jour il y a deux appels système truncate(2) et truncate64(2)
       (pour les raisons données ci-dessous) et la fonction truncate() de la glibc vérifie  quels
       appels système sont fournis par le noyau et détermine lequel doit être utilisé.

   Liste des appels système
       Voici  une  liste  des appels système Linux. Dans cette liste, la colonne Noyau indique la
       version du noyau dans laquelle ils sont apparus, s'ils sont apparu dans la version 2.2  de
       Linux ou après. Remarquez les points suivants :

       -  Si aucune version de noyau n'est indiquée, l'appel système est apparu dans Linux 1.0 ou
          auparavant.

       -  Quand un appel système est marqué  « 1.2 »,  cela  signifie  que  l'appel  système  est
          probablement  apparu  dans  une  version 1.1.x du noyau Linux et est apparu la première
          fois dans un noyau stable dans la version 1.2. (Le développement du noyau  Linux 1.2  a
          débuté à partir d'une branche de Linux 1.0.6, au travers de la série « non stable » des
          noyaux Linux 1.1.x.)

       -  Quand un appel système est marqué  « 2.0 »,  cela  signifie  que  l'appel  système  est
          probablement  apparu  dans  une  version 1.3.x du noyau Linux et est apparu la première
          fois dans un noyau stable dans Linux 2.0. (Le développement du noyau Linux 2.0 a débuté
          à  partir  d'une branche de Linux 1.2.x, aux alentours de la branche 1.2.10, au travers
          de la série « non stable » des noyaux Linux 1.3.x.)

       -  Quand un appel système est marqué  « 2.2 »,  cela  signifie  que  l'appel  système  est
          probablement  apparu  dans  une  version 2.1.x du noyau Linux et est apparu la première
          fois dans un noyau stable dans Linux 2.2.0. (Le  développement  du  noyau  Linux 2.2  a
          débuté  à  partir  d'une branche de Linux 2.0.21, au travers de la série « non stable »
          des noyaux Linux 2.1.x.)

       -  Quand un appel système est marqué  « 2.4 »,  cela  signifie  que  l'appel  système  est
          probablement  apparu  dans  une  version 2.3.x du noyau Linux et est apparu la première
          fois dans un noyau stable dans Linux 2.4.0. (Le  développement  du  noyau  Linux 2.4  a
          débuté  à partir d'une branche de Linux 2.2.8 au travers de la série « non stable » des
          noyaux Linux 2.3.x.)

       -  Quand un appel système est marqué  « 2.6 »,  cela  signifie  que  l'appel  système  est
          probablement  apparu  dans  une  version 2.5.x du noyau Linux et est apparu la première
          fois dans un noyau stable dans Linux 2.6.0. (Le  développement  du  noyau  Linux 2.6  a
          débuté à partir d'une branche de Linux 2.4.15 au travers de la série « non stable » des
          noyaux Linux 2.5.x.)

       -  À partir de Linux 2.6.0, le mode de  développement  a  changé  et  de  nouveaux  appels
          système pouvaient apparaître à chaque version de Linux 2.6.x. Dans ce cas, le numéro de
          version exact où l'appel système est apparu est indiqué. Cette convention  continue  de
          s'appliquer  à  la série des noyaux Linux 3.x, qui ont succédé au noyau Linux 2.6.39, à
          la série des noyaux Linux 4.x qui ont succédé au  noyau  Linux 3.19,  à  la  série  des
          noyaux Linux 5.x qui ont succédé au noyau Linux 4.20 et à la série des noyaux Linux 6.x
          qui ont succédé au noyau Linux 5.19.

       -  Dans certains cas, un appel système a été ajouté à un noyau de la  série  stable  après
          l'embranchement  provenant  de  la  série  stable précédente, puis a été porté dans les
          séries stables précédentes du noyau. Par exemple certains appels système  apparus  dans
          Linux 2.6.x  ont été rétroportés dans les publications Linux 2.4.x postérieures à Linux
          2.4.15. Dans ce cas,  les  deux  versions  des  deux  séries  majeures  du  noyau  dans
          lesquelles l'appel système est apparu sont mentionnées.

       La  liste  des  appels système qui sont disponibles dans la version 5.14 (ou dans certains
       cas, uniquement pour certains noyaux plus anciens) est la suivante :

       Appel système               Noyau          Notes
       ─────────────────────────────────────────────────────────────────────────────────
       _llseek(2)                  1.2
       _newselect(2)               2.0
       _sysctl(2)                  2.0            Retiré dans 5.5
       accept(2)                   2.0            Voir les notes de socketcall(2)
       accept4(2)                  2.6.28
       access(2)                   1.0
       acct(2)                     1.0
       add_key(2)                  2.6.10
       adjtimex(2)                 1.0
       alarm(2)                    1.0
       alloc_hugepages(2)          2.5.36         Retiré dans 2.5.44
       arc_gettls(2)               3.9            ARC uniquement
       arc_settls(2)               3.9            ARC uniquement
       arc_usr_cmpxchg(2)          4.9            ARC uniquement
       arch_prctl(2)               2.6            x86_64, x86 depuis 4.12
       atomic_barrier(2)           2.6.34         m68k uniquement
       atomic_cmpxchg_32(2)        2.6.34         m68k uniquement
       bdflush(2)                  1.2            Obsolète (ne fait rien) depuis 2.6
       bind(2)                     2.0            Voir les notes de socketcall(2)
       bpf(2)                      3.18
       brk(2)                      1.0
       breakpoint(2)               2.2            OABI ARM uniquement,  défini  par  le
                                                  préfixe __ARM_NR
       cacheflush(2)               1.2            Pas dans x86
       capget(2)                   2.2
       capset(2)                   2.2
       chdir(2)                    1.0
       chmod(2)                    1.0
       chown(2)                    2.2            Consulter chown(2) pour le détail des
                                                  versions
       chown32(2)                  2.4
       chroot(2)                   1.0
       clock_adjtime(2)            2.6.39
       clock_getres(2)             2.6
       clock_gettime(2)            2.6
       clock_nanosleep(2)          2.6
       clock_settime(2)            2.6

       clone2(2)                   2.4            IA-64 uniquement
       clone(2)                    1.0
       clone3(2)                   5.3
       close(2)                    1.0
       close_range(2)              5.9
       connect(2)                  2.0            Voir les notes de socketcall(2)
       copy_file_range(2)          4.5
       creat(2)                    1.0
       create_module(2)            1.0            Retiré dans 2.6
       delete_module(2)            1.0
       dup(2)                      1.0
       dup2(2)                     1.0
       dup3(2)                     2.6.27
       epoll_create(2)             2.6
       epoll_create(2)             2.6.27
       epoll_ctl(2)                2.6
       epoll_pwait(2)              2.6.19
       epoll_pwait2(2)             5.11
       epoll_wait(2)               2.6
       eventfd(2)                  2.6.22
       eventfd2(2)                 2.6.27
       execv(2)                    2.0            SPARC/SPARC64    uniquement,     pour
                                                  compatibilité avec SunOS
       execve(2)                   1.0
       execveat(2)                 3.19
       exit(2)                     1.0
       exit_group(2)               2.6
       faccessat(2)                2.6.16
       faccessat2(2)               5.8
       fadvise64(2)                2.6
       fadvise64_64(2)             2.6
       fallocate(2)                2.6.23
       fanotify_init(2)            2.6.37
       fanotify_mark(2)            2.6.37
       fchdir(3)                   1.0
       fchmod(2)                   1.0
       fchmodat(2)                 2.6.16
       fchown(2)                   1.0
       fchown32(2)                 2.4
       fchownat(2)                 2.6.16
       fcntl(2)                    1.0
       fcntl64(2)                  2.4
       fdatasync(2)                2.0
       fgetxattr(2)                2.6 ; 2.4.18
       finit_module(2)             3.8
       flistxattr(2)               2.6 ; 2.4.18
       flock(2)                    2.0
       fork(2)                     1.0
       free_hugepages(2)           2.5.36         Retiré dans 2.5.44
       fremovexattr(2)             2.6 ; 2.4.18
       fsconfig(2)                 5.2
       fsetxattr(2)                2.6 ; 2.4.18
       fsmount(2)                  5.2
       fsopen(2)                   5.2
       fspick(2)                   5.2
       fstat(2)                    1.0
       fstat64(2)                  2.4
       fstatat64(2)                2.6.16
       fstatfs(2)                  1.0
       fstatfs64(2)                2.6
       fsync(2)                    1.0
       ftruncate(2)                1.0
       ftruncate64(2)              2.4
       futex(2)                    2.6
       futimesat(2)                2.6.16

       get_kernel_syms(2)          1.0            Retiré dans 2.6
       get_mempolicy(2)            2.6.6
       get_robust_list(2)          2.6.17
       get_thread_area(2)          2.6
       get_tls(2)                  4.15           OABI  ARM  uniquement,  a  le préfixe
                                                  __ARM_NR
       getcpu(2)                   2.6.19
       getcwd(2)                   2.2
       getdents(2)                 2.0
       getdents64(2)               2.4
       getdomainname(2)            2.2            SPARC, SPARC64 ; disponible  sous  le
                                                  nom  osf_getdomainname(2)  sur  Alpha
                                                  depuis Linux 2.0
       getdtablesize(2)            2.0            SPARC    (retiré    dans     2.6.26),
                                                  disponible  sur  Alpha  sous  le  nom
                                                  osf_getdtablesize(2)
       getegid(2)                  1.0
       getegid32(2)                2.4
       geteuid(2)                  1.0
       geteuid32(2)                2.4
       getgid(2)                   1.0
       getgid32(2)                 2.4
       getgroups(2)                1.0
       getgroups32(2)              2.4
       gethostname(2)              2.0            Alpha, disponible sur  SPARC  jusqu'à
                                                  Linux 2.6.26
       getitimer(2)                1.0
       getpeername(2)              2.0            Voir les notes de socketcall(2)
       getpagesize(2)              2.0            Alpha, SPARC/SPARC64 uniquement
       getpgid(2)                  1.0
       getpgrp(2)                  1.0
       getpid(2)                   1.0
       getppid(2)                  1.0
       getpriority(2)              1.0
       getrandom(2)                3.17
       getresgid(2)                2.2
       getresgid32(2)              2.4
       getresuid(2)                2.2
       getresuid32(2)              2.4
       getrlimit(2)                1.0
       getrusage(2)                1.0
       getsid(2)                   2.0
       getsockname(2)              2.0            Voir les notes de socketcall(2)
       getsockopt(2)               2.0            Voir les notes de socketcall(2)
       gettid(2)                   2.4.11
       gettimeofday(2)             1.0
       getuid(2)                   1.0
       getuid32(2)                 2.4
       getunwind(2)                2.4.8          IA-64 uniquement ; obsolète
       getxattr(2)                 2.6 ; 2.4.18
       getxgid(2)                  2.0            Alpha uniquement ; voir NOTES
       getxpid(2)                  2.0            Alpha uniquement ; voir NOTES
       getxuid(2)                  2.0            Alpha uniquement ; voir NOTES
       init_module(2)              1.0
       inotify_add_watch(2)        2.6.13
       inotify_init(2)             2.6.13
       inotify_init1(2)            2.6.27
       inotify_rm_watch(2)         2.6.13
       io_cancel(2)                2.6
       io_destroy(2)               2.6
       io_getevents(2)             2.6
       io_pgetevents(2)            4.18
       io_setup(2)                 2.6
       io_submit(2)                2.6
       io_uring_enter(2)           5.1

       io_uring_register(2)        5.1
       io_uring_setup(2)           5.1
       ioctl(2)                    1.0
       ioperm(2)                   1.0
       iopl(2)                     1.0
       ioprio_get(2)               2.6.13
       ioprio_set(2)               2.6.13
       ipc(2)                      1.0
       kcmp(2)                     3.5
       kern_features(2)            3.7            SPARC64 uniquement
       kexec_file_load(2)          3.17
       kexec_load(2)               2.6.13
       keyctl(2)                   2.6.10
       kill(2)                     1.0
       landlock_add_rule(2)        5.13
       landlock_create_ruleset(2)  5.13
       landlock_restrict_self(2    5.13
       lchown(2)                   1.0            Consulter chown(2) pour le détail des
                                                  versions
       lchown32(2)                 2.4
       lgetxattr(2)                2.6 ; 2.4.18
       link(2)                     1.0
       linkat(2)                   2.6.16
       listen(2)                   2.0            Voir les notes de socketcall(2)
       listxattr(2)                2.6 ; 2.4.18
       llistxattr(2)               2.6 ; 2.4.18
       lookup_dcookie(2)           2.6
       lremovexattr(2)             2.6 ; 2.4.18
       lseek(2)                    1.0
       lsetxattr(2)                2.6 ; 2.4.18
       lstat(2)                    1.0
       lstat64(2)                  2.4
       madvise(2)                  2.4
       mbind(2)                    2.6.6
       memory_ordering(2)          2.2            SPARC64 uniquement
       membarrier(2)               3.17
       memfd_create(2)             3.17
       memfd_secret(2)             5.14
       migrate_pages(2)            2.6.16
       mincore(2)                  2.4
       mkdir(2)                    1.0
       mkdirat(2)                  2.6.16
       mknod(2)                    1.0
       mknodat(2)                  2.6.16
       mlock(2)                    2.0
       mlock2(2)                   4.4
       mlockall(2)                 2.0
       mmap(2)                     1.0
       mmap2(2)                    2.4
       modify_ldt(2)               1.0
       mount(2)                    1.0
       move_mount(2)               5.2
       move_pages(2)               2.6.18
       mprotect(2)                 1.0
       mq_getsetattr(2)            2.6.6
       mq_notify(2)                2.6.6
       mq_open(2)                  2.6.6
       mq_timedreceive(2)          2.6.6
       mq_timedsend(2)             2.6.6
       mq_unlink(2)                2.6.6
       mremap(2)                   2.0
       msgctl(2)                   2.0            Voir notes de ipc(2)
       msgget(2)                   2.0            Voir notes de ipc(2)
       msgrcv(2)                   2.0            Voir notes de ipc(2)
       msgsnd(2)                   2.0            Voir notes de ipc(2)

       msync(2)                    2.0
       munlock(2)                  2.0
       munlockall(2)               2.0
       munmap(2)                   1.0
       name_to_handle_at(2)        2.6.39
       nanosleep(2)                2.0
       newfstatat(2)               2.6.16         Voir stat(2)
       nfsservctl(2)               2.2            Retiré dans 3.1
       nice(2)                     1.0
       old_adjtimex(2)             2.0            Alpha uniquement ; voir NOTES
       old_getrlimit(2)            2.4            Variante ancienne de getrlimit(2) qui
                                                  utilisait  une valeur différente pour
                                                  RLIM_INFINITY
       oldfstat(2)                 1.0
       oldlstat(2)                 1.0
       oldolduname(2)              1.0
       oldstat(2)                  1.0
       oldumount(2)                2.4.116        Nom   de   l'ancien   appel   système
                                                  umount(2) sur Alpha
       olduname(2)                 1.0
       open(2)                     1.0
       open_by_handle_at(2)        2.6.39
       open_tree(2)                5.2
       openat(2)                   2.6.16
       openat2(2)                  5.6
       or1k_atomic(2)              3.1            OpenRISC 1000 uniquement
       pause(2)                    1.0
       pciconfig_iobase(2)         2.2.15 ; 2.4   Pas dans x86
       pciconfig_read(2)           2.0.26 ; 2.2   Pas dans x86
       pciconfig_write(2)          2.0.26 ; 2.2   Pas dans x86
       perf_event_open(2)          2.6.31         Ancien    perf_counter_open()    dans
                                                  2.6.31 ; renommé dans 2.6.32
       personality(2)              1.2
       perfctr(2)                  2.2            SPARC  uniquement  ;  retiré   depuis
                                                  2.6.34
       perfmonctl(2)               2.4            IA-64 uniquement ; retiré depuis 5.10
       pidfd_getfd(2)              5.6
       pidfd_send_signal(2)        5.1
       pidfd_open(2)               5.3
       pipe(2)                     1.0
       pipe2(2)                    2.6.27
       pivot_root(2)               2.4
       pkey_alloc(2)               4.8
       pkey_free(2)                4.8
       pkey_mprotect(2)            4.8
       poll(2)                     2.0.36 ; 2.2
       ppoll(2)                    2.6.16
       prctl(2)                    2.2
       pread64(2)                                 Ajouté  comme  « pread  »  dans 2.2 ;
                                                  renommé « pread64 » depuis 2.6
       preadv(2)                   2.6.30
       preadv2(2)                  4.6
       prlimit64(2)                2.6.36
       process_madvise(2)          5.10
       process_vm_readv(2)         3.2
       process_vm_writev(2)        3.2
       pselect6(2)                 2.6.16
       ptrace(2)                   1.0
       pwrite64(2)                                Ajouté comme « pwrite »  dans  2.2  ;
                                                  renommé « pwrite64 » depuis 2.6
       pwritev(2)                  2.6.30
       pwritev2(2)                 4.6
       query_module(2)             2.2            Retiré dans 2.6
       quotactl(2)                 1.0
       quotactl_fd(2)              5.14

       read(2)                     1.0
       readahead(2)                2.4.13
       readdir(2)                  1.0
       readlink(2)                 1.0
       readlinkat(2)               2.6.16
       readv(2)                    2.0
       reboot(2)                   1.0
       recv(2)                     2.0            Voir les notes de socketcall(2)
       recvfrom(2)                 2.0            Voir les notes de socketcall(2)
       recvmsg(2)                  2.0            Voir les notes de socketcall(2)
       recvmmsg(2)                 2.6.33
       remap_file_pages(2)         2.6            Obsolète depuis 3.16
       removexattr(2)              2.6 ; 2.4.18
       rename(2)                   1.0
       renameat(2)                 2.6.16
       renameat2(2)                3.15
       request_key(2)              2.6.10
       restart_syscall(2)          2.6
       riscv_flush_icache(2)       4.15           RISC-V uniquement
       rmdir(2)                    1.0
       rseq(2)                     4.18
       rt_sigaction(2)             2.2
       rt_sigpending(2)            2.2
       rt_sigprocmask(2)           2.2
       rt_sigqueueinfo(2)          2.2
       rt_sigreturn(2)             2.2
       rt_sigsuspend(2)            2.2
       rt_sigtimedwait(2)          2.2
       rt_tgsigqueueinfo(2)        2.6.31
       rtas(2)                     2.6.2          PowerPC/PowerPC64 uniquement
       s390_runtime_instr(2)       3.7            s390 uniquement
       s390_pci_mmio_read(2)       3.19           s390 uniquement
       s390_pci_mmio_write(2)      3.19           s390 uniquement
       s390_sthyi(2)               4.15           s390 uniquement
       s390_guarded_storage(2)     4.12           s390 uniquement
       sched_get_affinity(2)       2.6            Nom de sched_getaffinity(2) sur SPARC
                                                  et SPARC64
       sched_get_priority_max(2)   2.0
       sched_get_priority_min(2)   2.0
       sched_getaffinity(2)        2.6
       sched_getattr(2)            3.14
       sched_getparam(2)           2.0
       sched_getscheduler(2)       2.0
       sched_rr_get_interval(2)    2.0
       sched_set_affinity(2)       2.6            Nom de sched_setaffinity(2) sur SPARC
                                                  et SPARC64
       sched_setaffinity(2)        2.6
       sched_setattr(2)            3.14
       sched_setparam(2)           2.0
       sched_setscheduler(2)       2.0
       sched_yield(2)              2.0
       seccomp(2)                  3.17
       select(2)                   1.0
       semctl(2)                   2.0            Voir notes de ipc(2)
       semget(2)                   2.0            Voir notes de ipc(2)
       semop(2)                    2.0            Voir notes de ipc(2)
       semtimedop(2)               2.6 ; 2.4.22
       send(2)                     2.0            Voir les notes de socketcall(2)
       sendfile(2)                 2.2
       sendfile64(2)               2.6 ; 2.4.19
       sendmmsg(2)                 3.0
       sendmsg(2)                  2.0            Voir les notes de socketcall(2)
       sendto(2)                   2.0            Voir les notes de socketcall(2)
       set_mempolicy(2)            2.6.6
       set_robust_list(2)          2.6.17

       set_thread_area(2)          2.6
       set_tid_address(2)          2.6
       set_tls(2)                  2.6.11         OABI/EABI    ARM    uniquement    (la
                                                  constante a le préfixe __ARM_NR)
       setdomainname(2)            1.0
       setfsgid(2)                 1.2
       setfsgid32(2)               2.4
       setfsuid(2)                 1.2
       setfsuid32(2)               2.4
       setgid(2)                   1.0
       setgid32(2)                 2.4
       setgroups(2)                1.0
       setgroups32(2)              2.4
       sethae(2)                   2.0            Alpha uniquement ; voir NOTES
       sethostname(2)              1.0
       setitimer(2)                1.0
       setns(2)                    3.0
       setpgid(2)                  1.0
       getpgrp(2)                  2.0            Nom alternatif  pour  setpgid(2)  sur
                                                  Alpha
       setpriority(2)              1.0
       setregid(2)                 1.0
       setregid32(2)               2.4
       setresgid(2)                2.2
       setresgid32(2)              2.4
       setresuid(2)                2.2
       setresuid32(2)              2.4
       setreuid(2)                 1.0
       setreuid32(2)               2.4
       setrlimit(2)                1.0
       setsid(2)                   1.0
       setsockopt(2)               2.0            Voir les notes de socketcall(2)
       settimeofday(2)             1.0
       setuid(2)                   1.0
       setuid32(2)                 2.4
       setup(2)                    1.0            Retiré dans 2.2
       setxattr(2)                 2.6 ; 2.4.18
       sgetmask(2)                 1.0
       shmat(2)                    2.0            Voir notes de ipc(2)
       shmctl(2)                   2.0            Voir notes de ipc(2)
       shmdt(2)                    2.0            Voir notes de ipc(2)
       shmget(2)                   2.0            Voir notes de ipc(2)
       shutdown(2)                 2.0            Voir les notes de socketcall(2)
       sigaction(2)                1.0
       sigaltstack(2)              2.2
       signal(2)                   1.0
       signalfd(2)                 2.6.22
       signalfd4(2)                2.6.27
       sigpending(2)               1.0
       sigprocmask(2)              1.0
       sigreturn(2)                1.0
       sigsuspend(2)               1.0
       socket(2)                   2.0            Voir les notes de socketcall(2)
       socketcall(2)               1.0
       socketpair(2)               2.0            Voir les notes de socketcall(2)
       spill(2)                    2.6.13         Xtensa uniquement
       splice(2)                   2.6.17
       spu_create(2)               2.6.16         PowerPC/PowerPC64 uniquement
       spu_run(2)                  2.6.16         PowerPC/PowerPC64 uniquement
       ssetmask(2)                 1.0
       stat(2)                     1.0
       stat64(2)                   2.4
       statfs(2)                   1.0
       statfs64(2)                 2.6
       statx(2)                    4.11

       stime(2)                    1.0
       subpage_prot(2)             2.6.25         PowerPC/PowerPC64 uniquement
       swapcontext(2)              2.6.3          PowerPC/PowerPC64 uniquement
       switch_endian(2)            4.1            PowerPC64 uniquement
       swapoff(2)                  1.0
       swapon(2)                   1.0
       symlink(2)                  1.0
       symlinkat(2)                2.6.16
       sync(2)                     1.0
       sync_file_range(2)          2.6.17
       sync_file_range2(2)         2.6.22
       syncfs(2)                   2.6.39
       sys_debug_setcontext(2)     2.6.11         PowerPC uniquement
       syscall(2)                  1.0            Encore disponible sur OABI ARM et O32
                                                  ABI MIPS
       sysfs(2)                    1.2
       sysinfo(2)                  1.0
       syslog(2)                   1.0
       sysmips(2)                  2.6.0          MIPS uniquement
       tee(2)                      2.6.17
       tgkill(2)                   2.6
       time(2)                     1.0
       timer_create(2)             2.6
       timer_delete(2)             2.6
       timer_getoverrun(2)         2.6
       timer_gettime(2)            2.6
       timer_settime(2)            2.6
       timerfd_create(2)           2.6.25
       timerfd_gettime(2)          2.6.25
       timerfr_settime(2)          2.6.25
       times(2)                    1.0
       tkill(2)                    2.6 ; 2.4.22
       truncate(2)                 1.0
       truncate64(2)               2.4
       ugetrlimit(2)               2.4
       umask(2)                    1.0
       umount(2)                   1.0
       umount2(2)                  2.2
       uname(2)                    1.0
       unlink(2)                   1.0
       unlinkat(2)                 2.6.16
       unshare(2)                  2.6.16
       uselib(2)                   1.0
       ustat(2)                    1.0
       userfaultfd(2)              4.3
       usr26(2)                    2.4.8.1        OABI ARM uniquement
       usr32(2)                    2.4.8.1        OABI ARM uniquement
       utime(2)                    1.0
       utimensat(2)                2.6.22
       utimes(2)                   2.2
       utrap_install(2)            2.2            SPARC64 uniquement
       vfork(2)                    2.2
       vhangup(2)                  1.0
       vm86old(2)                  1.0            Précédemment « vm86 »,  renommé  dans
                                                  2.0.28/2.2
       vm86(2)                     2.0.28 ; 2.2
       vmsplice(2)                 2.6.17
       wait4(2)                    1.0
       waitpid(2)                  2.6.10
       waitpid(2)                  1.0
       write(2)                    1.0
       writev(2)                   2.0
       xtensa(2)                   2.6.13         Xtensa uniquement

       Sur  de  nombreuses  plates-formes,  y  compris  les  x86-32,  les  appels  de socket sont
       multiplexés (par des fonctions de la glibc) à travers socketcall(2) et  de  même  les  IPC
       System V à l’aide d’ipc(2).

       Même si des entrées ont été réservées dans la table des appels système, les appels système
       suivants ne sont pas implémentés  dans  le  noyaux  standard :  afs_syscall(2),  break(2),
       ftime(2),  getpmsg(2),  gtty(2),  idle(2), lock(2), madvise1(2), mpx(2), phys(2), prof(2),
       profil(2), putpmsg(2), security(2), stty(2), tuxcall(2),  ulimit(2)  et  vserver(2)  (voir
       aussi unimplemented(2)). Toutefois, ftime(3), profil(3) et ulimit(3) sont disponibles sous
       forme de fonctions de bibliothèque. L'entrée pour  phys(2)  est  utilisée  pour  umount(2)
       depuis  Linux 2.1.116,  phys(2)  ne  sera  jamais  implémenté.  Les  appels  getpmsg(2) et
       putpmsg(2) sont pour les noyaux modifiés qui supportent les FLUX et  ne  seront  peut-être
       jamais dans le noyau standard.

       set_zone_reclaim(2)  a  existé  brièvement :  ajouté  dans  Linux 2.6.13,  et  retiré dans
       Linux 2.6.16. Cet appel système n'a jamais été disponible dans l'espace utilisateur.

   Appels système sur des portages supprimés
       Certains appels système ont existé uniquement dans des architectures  Linux  qui  ont  été
       depuis supprimées du noyau :

       AVR32 (portage retiré dans Linux 4.12)
              -  pread(2)
              -  pwrite(2)

       Blackfin (portage retiré dans Linux 4.17)
              -  bfin_spinlock(2) (ajouté dans Linux 2.6.22)
              -  dma_memcpy(2)  (ajouté dans Linux 2.6.22)
              -  pread(2) (ajouté dans Linux 2.6.22)
              -  pwrite(2) (ajouté dans Linux 2.6.22)
              -  sram_alloc(2) (ajouté dans Linux 2.6.22)
              -  sram_free(2) (ajouté dans Linux 2.6.22)

       Metag (portage retiré dans Linux 4.17)
              -  metag_get_tls(2) (ajouté dans Linux 3.9)
              -  metag_set_fpu_flags(2) (ajouté dans Linux 3.9)
              -  metag_set_tls(2) (ajouté dans Linux 3.9)
              -  metag_setglobalbit(2) (ajouté dans Linux 3.9)

       Tile (portage retiré dans Linux 4.17)
              -  cmpxchg_badaddr(2) (ajouté dans Linux 2.6.36)

NOTES

       En  général, le code implémentant l'appel système ayant le numéro __NR_xxx dans le fichier
       /usr/include/asm/unistd.h se trouve dans la routine sys_xxx() du source du noyau Linux. Il
       y  a  néanmoins  plusieurs exceptions, principalement lorsque d'anciens appels système ont
       été remplacés par des nouveaux. Ces cas n'ont pas été traités de manière homogène. Sur les
       plate-formes avec une émulation de système propriétaire, comme sparc, sparc64 et alpha, il
       existe de nombreux appels supplémentaires ;mips64 contient aussi un jeu  complet  d'appels
       système 32 bits.

       Avec  le  temps,  des  changements  dans les interfaces de certains appels système ont été
       nécessaires. Une raison pour ces changements a été le besoin  d'augmenter  la  taille  des
       structures  ou  des  valeurs  scalaires  passées  aux  appels  système.  À  cause  de  ces
       changements, certaines architectures (particulièrement des vieilles architectures  32 bits
       comme  i386)  ont  maintenant  divers  groupes  d'appels  système  apparentés (par exemple
       truncate(2) et truncate64(2)) qui remplissent des tâches similaires mais qui  varient  sur
       des   détails  comme  la  taille  de  leurs  paramètres.  (Comme  noté  précédemment,  les
       applications ne sont généralement pas conscientes de cela : les fonctions enveloppe de  la
       glibc  remplissent  certaines tâches pour s'assurer que c'est le bon appel système qui est
       appelé et la compatibilité de l'ABI est préservée avec  les  vieux  binaires.)  Voici  des
       exemples d'appels système qui existent dans plusieurs versions :

       -  À  ce  jour,  il  y  a  trois  versions  de stat(2) : sys_stat() (entrée __NR_oldstat),
          sys_newstat() (entrée __NR_stat) et  sys_stat64()  (entrée  __NR_stat64),  la  dernière
          étant celle utilisée actuellement. La même histoire s'applique à lstat(2) et fstat(2).

       -  De  même,  les définitions __NR_oldolduname, __NR_olduname et __NR_uname concernent les
          routines sys_olduname(), sys_uname() et sys_newuname().

       -  Dans Linux 2.0, une nouvelle version de vm86(2) est apparue, l'ancienne et la  nouvelle
          routine du noyau étant appelées sys_vm86old() et sys_vm86().

       -  Dans  Linux 2.4,  une  nouvelle  version  de getrlimit(2) est apparue, l'ancienne et la
          nouvelle routine du noyau étant appelées sys_old_getrlimit() (entrée __NR_getrlimit) et
          sys_getrlimit() (entrée __NR_ugetrlimit).

       -  Linux 2.4 a augmenté la taille des identifiants d'utilisateur et de groupe de 16 bits à
          32 bits. Pour permettre ce changement, un jeu d'appels système  ont  été  ajoutés  (par
          exemple,  chown32(2),  getuid32(2),  getgroups32(2),  setresuid32(2)), surchargeant les
          précédents appels système du même nom n'ayant pas le suffixe « 32 ».

       -  Linux 2.4 a ajouté la gestion des gros fichiers pour les applications sur  architecture
          32 bits  (c'est-à-dire  la gestion des fichiers dont la taille et les décalages dans le
          fichier ne peuvent pas être représentés sur 32 bits). Pour  gérer  ce  changement,  des
          appels  système,  qui  utilisent  des décalages et des tailles de fichiers, ont dû être
          remplacés.  Ainsi,  les  appels  système  suivants  ont   été   ajoutés :   fcntl64(2),
          getdents64(2),  stat64(2), statfs64(2), truncate64(2) et leurs appels système analogues
          qui fonctionnent avec des descripteurs de fichier ou des liens symboliques. Ces  appels
          système  remplacent  les anciens appels système qui, sauf pour les appels « stat », ont
          le même nom sans le suffixe « 64 ».

          Sur les plates-formes récentes qui n'ont que des accès aux fichiers 64 bits et des  UID
          ou  GID  32 bits (par exemple alpha, ia64, s390x, x86-64), il y a une seule version des
          appels  système  pour  l'accès  aux  fichiers,  UID  ou  GID.  Sur  les   plates-formes
          (habituellement  des  plates-formes 32 bits) où les les appels *64 et *32 existent, les
          autres versions sont obsolètes.

       -  Les appels rt_sig* ont été ajoutés dans Linux 2.2 pour gérer l'ajout des signaux  temps
          réel  (consultez  signal(7)).  Ces  appels  système remplacent les appels précédents de
          mêmes noms sans le préfixe « rt_ ».

       -  Les appels système select(2) et mmap(2) utilisent cinq paramètres ou  plus,  ce  qui  a
          posé  des  problèmes  avec  les  méthodes classiques de passage de paramètres sur i386.
          Ainsi, alors que les autres  architectures  disposent  de  sys_select()  et  sys_mmap()
          correspondant  à  __NR_select  et  __NR_mmap,  on  trouve  sur les i386 old_select() et
          old_mmap() (des routines utilisant un pointeur vers  un  bloc  de  paramètres)  à  leur
          place.  De  nos jours, passer cinq paramètres n'est plus un problème, et il existe donc
          un __NR__newselect correspondant directement à sys_select() ; il en est  de  même  pour
          __NR_mmap2. s390x est la seule architecture 64 bits qui a old_mmap().

   Détails spécifiques à l'architecture : Alpha
       getxgid(2)
              renvoie  une  paire de GID et de GID effectif au moyen des registres r0 et r20 ; il
              est fourni à la place de getgid(2) et getegid(2).

       getxpid(2)
              renvoie une paire de PID et de PID parent au moyen des registres r0 et r20 ; il est
              fourni à la place de getpid(2) et getppid(2).

       old_adjtimex(2)
              est   une   variante   de  adjtimex(2)  qui  utilise  struct  timeval32,  pour  une
              compatibilité avec OSF/1.

       getxuid(2)
              renvoie une paire de GID et de GID effectif au moyen des registres r0 et  r20 ;  il
              est fourni à la place de getuid(2) et geteuid(2).

       sethae(2)
              est  utilisé  pour  configurer  le registre Host Address Extension sur les systèmes
              Alpha bon marché afin d'accéder à l'espace d'adresses au-delà des 27 premiers bits.

VOIR AUSSI

       ausyscall(1), intro(2), syscall(2), unimplemented(2), errno(3), libc(7), vdso(7)

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier  <barbier@debian.org>,  David  Prévot  <david@tilapin.org>  et  Jean-Pierre Giraud
       <jean-pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.