#define SYSCALL(name) …
static uptr internal_syscall(u64 nr) { … }
template <typename T1>
static uptr internal_syscall(u64 nr, T1 arg1) { … }
template <typename T1, typename T2>
static uptr internal_syscall(u64 nr, T1 arg1, T2 arg2) { … }
template <typename T1, typename T2, typename T3>
static uptr internal_syscall(u64 nr, T1 arg1, T2 arg2, T3 arg3) { … }
template <typename T1, typename T2, typename T3, typename T4>
static uptr internal_syscall(u64 nr, T1 arg1, T2 arg2, T3 arg3, T4 arg4) { … }
template <typename T1, typename T2, typename T3, typename T4, typename T5>
static uptr internal_syscall(u64 nr, T1 arg1, T2 arg2, T3 arg3, T4 arg4,
T5 arg5) { … }
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6>
static uptr internal_syscall(u64 nr, T1 arg1, T2 arg2, T3 arg3, T4 arg4,
T5 arg5, T6 arg6) { … }
bool internal_iserror(uptr retval, int *rverrno) { … }