Provided by: manpages-fr-dev_4.26.0-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 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.

Pages du manuel de Linux 6.9.1                     2 mai 2024                                        syscalls(2)