Provided by: manpages-fr-dev_4.19.0-7_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 1.2 a  débuté
          à  partir  d'une  branche  de  la  version 1.0.6 du noyau, au travers de la série « non
          stable » des noyaux 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  du  noyau 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 et  à  la  série  des
          noyaux Linux 5.x qui ont succédé au noyau Linux 4.20.

       •  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            Pas dans x86
       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
       renameat2(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⟩.