EN JA
SYSCALL(2)
SYSCALL(2) FreeBSD System Calls Manual SYSCALL(2)

名称

syscall, __syscall間接システムコール

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/syscall.h>
#include < unistd.h>

int
syscall( int number, ...);

off_t
__syscall( quad_t number, ...);

解説

syscall() 関数は、指定された number があるアセンブリ言語インタフェースを指定された引数を付けてシステムコールを実行します。システムコールのためのシンボリック数は、ヘッダファイル < sys/syscall.h> にあります。 __syscall() 形式は、1 つ以上の引数が引数の整列が正しいことを保証する 64 ビットの引数であるなら、使用されるべきです。このシステムコールは、C ライブラリにエントリがない、新しいシステムコールをテストするために役に立ちます。

戻り値

戻り値は、呼び出されるシステムコールによって定義されています。一般的に、0 の戻り値は、成功を示しています。 -1 の戻り値は、エラーを示し、エラーコードは、 errno に格納されます。

歴史

syscall() 関数は、 4.0BSD で登場しました。

バグ

pipe(2) のような複数の戻り値があるシステムコールをシミュレートする方法はありません。
June 16, 1993 FreeBSD