スポンサーリンク

SYSCALL(2) FreeBSD システムコールマニュアル SYSCALL(2)

名称

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

ライブラリ

標準 C ライブラリ (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 に設定さ れます。

バグ

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

歴史

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

FreeBSD 10.0 June 16, 1993 FreeBSD 10.0

スポンサーリンク