名前


syscall - 間接システムコール

書式


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

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 = (long) syscall(SYS_gettid); }

openSUSE Logo

コンテンツ