SYSCALL(2)

ИМЯ
syscall - непрямой системный вызов

ОБЗОР
#define _GNU_SOURCE         /* см. feature_test_macros(7) */
#include <unistd.h>
#include <sys/syscall.h>   /* для определений SYS_xxx */
int syscall(int number, ...);

ОПИСАНИЕ
syscall() выполняет системный вызов, чей интерфейс ассемблерного языка был указан значением number и заданными аргументами. Символьные константы для системных вызовов можно найти в заголовочном файле <sys/syscall.h>.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращаемое значение определяется вызываемым системным вызовом. При успешном выполнении обычно возвращается 0. При ошибке возвращается -1, при этом код ошибки сохраняется в errno.

ЗАМЕЧАНИЯ
Вызов syscall() впервые появился в 4BSD.

ПРИМЕР
#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);
}

СМОТРИТЕ ТАКЖЕ
_syscall(2), intro(2), syscalls(2)