syscall

Autres langues

Langue: ja

Version: 2007-06-01 (mandriva - 01/05/08)

Section: 2 (Appels système)

名前

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);
 }