SYSCALLS

Section: Manuel du programmeur Linux (2)
Updated: 12 Décembre 1998
Index Retour au Menu Principal

 

NOM

liste - liste des appels-systèmes.  

SYNOPSIS

Les appels systèmes de Linux 2.0.  

DESCRIPTION

Avec Linux 2.0.34, il existe 164 appels systèmes indiqués dans /usr/include/asm/unistd.h. Cette page de manuel les énumère, et vous fournit donc des liens hypertexte si vous utilisez un logiciel de présentation du manuel permettant les parcours.

_llseek(2), _newselect(2), _sysctl(2), access(2), acct(2), adjtimex(2), afs_syscall, alarm(2), bdflush(2), break, brk(2), chdir(2), chmod(2), chown(2), chroot(2), clone(2), close(2), creat(2), create_module(2), delete_module(2), dup(2), dup2(2), execve(2), exit(2), fchdir(2), fchmod(2), fchown(2), fcntl(2), fdatasync(2), flock(2), fork(2), fstat(2), fstatfs(2), fsync(2), ftime, ftruncate(2), get_kernel_syms(2), getdents(2), getegid(2), geteuid(2), getgid(2), getgroups(2), getitimer(2), getpgid(2), getpgrp(2), getpid(2), getppid(2), getpriority(2), getrlimit(2), getrusage(2), getsid(2), gettimeofday(2), getuid(2), gtty, idle(2), init_module(2), ioctl(2), ioperm(2), iopl(2), ipc(2), kill(2), link(2), lock, lseek(2), lstat(2), mkdir(2), mknod(2), mlock(2), mlockall(2), mmap(2), modify_ldt(2), mount(2), mprotect(2), mpx, mremap(2), msync(2), munlock(2), munlockall(2), munmap(2), nanosleep(2), nice(2), oldfstat, oldlstat, oldolduname, oldstat, olduname, open(2), pause(2), personality(2), phys(2), pipe(2), prof, profil, ptrace(2), quotactl(2), read(2), readdir(2), readlink(2), readv(2), reboot(2), rename(2), rmdir(2), sched_get_priority_max(2), sched_get_priority_min(2), sched_getparam(2), sched_getscheduler(2), sched_rr_get_interval(2), sched_setparam(2), sched_setscheduler(2), sched_yield(2), select(2), setdomainname(2), setfsgid(2), setfsuid(2), setgid(2), setgroups(2), sethostname(2), setitimer(2), setpgid(2), setpriority(2), setregid(2), setreuid(2), setrlimit(2), setsid(2), settimeofday(2), setuid(2), setup(2), sgetmask(2), sigaction(2), signal(2), sigpending(2), sigprocmask(2), sigreturn(2), sigsuspend(2), socketcall(2), ssetmask(2), stat(2), statfs(2), stime(2), stty, swapoff(2), swapon(2), symlink(2), sync(2), sysfs(2), sysinfo(2), syslog(2), time(2), times(2), truncate(2), ulimit, umask(2), umount(2), uname(2), unlink(2), uselib(2), ustat(2), utime(2), vhangup(2), vm86(2), wait4(2), waitpid(2), write(2), writev(2).

Sur l'ensemble de ces appels-système, 5 d'entre-eux sont obsolètes, oldfstat, oldlstat, oldolduname, oldstat et olduname (voir obsolete(2)), et 11 ne sont pas implémentés, afs_syscall, break, ftime, gtty, lock, mpx, phys(2), prof, profil, stty et ulimit (voyez également unimplemented(2)). Toutefois, ftime(3), profil(3) et ulimit(3) sont disponibles sous forme de fonctions de bibliothèque.

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 noyau. (La table de distribution pour la version i386 se trouve dans /usr/src/linux/arch/i386/kernel/entry.S.)

Il y a néanmoins plusieurs exceptions, principalement lorsque des anciens appels-systèmes ont été remplacés par des nouveaux. Ces cas n'ont pas été traités de manière homogène. Voici des détails en vigueur pour Linux 2.0.34.

Les définitions __NR_oldstat et __NR_stat concernent les routines sys_stat() et sys_newstat(), et similairement fstat et lstat. De même, les définitions __NR_oldolduname, __NR_olduname et __NR_uname concernent les routines sys_olduname(), sys_uname() et sys_newuname(). Quoiqu'il en soit, __NR_stat et __NR_uname se sont toujours rapportés à la dernière version de l'appel-système, et les versions plus anciennes ne sont conservées que pour assurer une compatibilité ascendante.

Les choses diffèrent avec select et mmap. Ces appels nécessitent 5 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() à leur place. Ce sont des routines utilisant un pointeur sur un bloc de paramètres. De nos jours, passer 5 paramètres n'est plus un problème, et il existe donc un __NR__newselect (utilisé par la libc 6) correspondant directement à sys_select().

Deux autres numéros d'appels systèmes, __NR__llseek et __NR__sysctl possèdent un underscore supplémentaire absent dans sys_llseek() et sys_sysctl().

Egalement, il existe un __NR_readdir correspondant à old_readdir(), qui lira au plus une entrée de répertoire à la fois, et qui est remplacé par sys_getdents().

Enfin, l'appel système 166, avec le point d'entrée sys_vm86() n'a pas du tout de numéro symbolique. Cette version remplace l'appel sys_vm86old() qui avait le numéro __NR_vm86.

 

TRADUCTION

Christophe Blaess, 1998.



 

Index

NOM
SYNOPSIS
DESCRIPTION
TRADUCTION


Time: 21:45:37 GMT, December 19, 2004