NOM¶
syscall - appel système indirect
SYNOPSIS¶
#define _GNU_SOURCE /* Consultez feature_test_macros(7) */
#include <unistd.h>
#include <sys/syscall.h> /* Pour les définitions de SYS_xxx */
int syscall(int numéro, ...);
DESCRIPTION¶
syscall() est une petite fonction de bibliothèque qui invoque
l'appel système dont l'interface en assembleur a le
numéro
indiqué avec les arguments donnés. L'utilisation de
syscall()
est pratique, par exemple, pour invoquer un appel système qui n'a pas de
fonction autour de cet appel système dans la bibliothèque C.
syscall() sauve les registres du processeur avant de faire l'appel
système, restaure les registres au retour de l'appel système et
stocke tous les codes d'erreur renvoyés par l'appel système dans
errno(3) en cas d'erreur.
Les constantes symboliques correspondant aux appels système sont dans le
fichier d'en-tête
<sys/syscall.h>.
VALEUR RENVOYÉE¶
La valeur de retour est définie par l'appel système invoqué. En
général, une valeur de retour nulle indique une réussite. Une
valeur de retour de -1 indique une erreur, et un code d'erreur est fourni dans
errno.
NOTES¶
syscall() est apparu dans BSD 4.
EXEMPLE¶
#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/types.h>
int
main(int argc, char *argv[])
{
pid_t tid;
tid = syscall(SYS_gettid);
tid = syscall(SYS_tgkill, getpid(), tid);
}
VOIR AUSSI¶
_syscall(2),
intro(2),
syscalls(2)
COLOPHON¶
Cette page fait partie de la publication 3.44 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
<
http://www.kernel.org/doc/man-pages/>.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Thierry Vignaud (2002), Alain Portal
<
http://manpagesfr.free.fr/> (2006). Julien Cristau et
l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande «
man -L C
<section> <page_de_man> ».