syscall

NAME

syscall - indirect system call

SYNOPSIS

#define _BSD_SOURCE        /* or _GNU_SOURCE or _SVID_SOURCE */
#include <unistd.h>
#include <sys/syscall.h>   /* For SYS_xxx definitions */

I int syscall(int  number , ...);

DESCRIPTION

R syscall () performs the system call whose assembly language interface has the specified number with the specified arguments. Symbolic constants for system calls can be found in the header file R <sys/syscall.h> .

RETURN VALUE

The return value is defined by the system call being invoked. In general, a 0 return value indicates success. A -1 return value indicates an error, and an error code is stored in R errno .

NOTES

R syscall () first appeared in 4BSD.

EXAMPLE

#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/types.h>

int
main(int argc, char *argv[])
{
    pid_t tid;
    tid = (long) syscall(SYS_gettid);
}