SYSCALL(2)

NOM
syscall - Appel système indirect

SYNOPSIS
#define _GNU_SOURCE        /* ou _BSD_SOURCE ou _SVID_SOURCE */
#include <unistd.h>
#include <sys/syscall.h>   /* Pour les définitions SYS_xxx */
int syscall(int numero, ...);

DESCRIPTION
syscall() invoque l'appel système dont l'interface en assembleur est indiqué par le numéro avec les arguments spécifiés. Les constantes symboliques correspondant aux appels système sont indiquées dans le fichier d'entête <sys/syscall.h>.

VALEUR RENVOYÉE
La valeur renvoyée dépend de l'appel système invoqué. En général, une valeur de retour nulle indique que l'appel système s'est bien déroulé tandis qu'une valeur de -1 indique qu'une erreur s'est produite et que le code de l'erreur est stocké 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);
}

VOIR AUSSI
intro(2), _syscall(2), syscalls(2)

TRADUCTION

Ce document est une traduction réalisée par Thierry Vignaud <tvignaud AT mandriva DOT com> en 2002 et révisée le 23 juin 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 syscall ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.