SYSCALL(2) FreeBSD システムコールマニュアル SYSCALL(2)
名称
syscall, __syscall − 間接的なシステムコール |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <sys/syscall.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 |