NAME
syscall − indirect system call
SYNOPSIS
/usr/ucb/cc
[ flag ... ] file ...
#include <sys/syscall.h>
int syscall(number, arg, ...);
DESCRIPTION
syscall() performs the function whose assembly language interface has the specified number, and arguments arg .... Symbolic constants for functions can be found in the header <sys/syscall.h>.
RETURN VALUES
On error syscall() returns −1 and sets the external variable errno (see intro(2)).
FILES
<sys/syscall.h>
SEE ALSO
NOTES
Use of these interfaces should be restricted to only applications written on BSD platforms. Use of these interfaces with any of the system libraries or in multi-thread applications is unsupported.
WARNINGS
There is no way to use syscall() to call functions such as pipe(2) which return values that do not fit into one hardware register.
Since many system calls are implemented as library wrappers around traps to the kernel, these calls may not behave as documented when called from syscall(), which bypasses these wrappers. For these reasons, using syscall() is not recommended.