table of contents
| SYSCALL(2) | Руководство программиста Linux | 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);
}
СМОТРИТЕ ТАКЖЕ¶
| 2007-07-26 | Linux |