extern unsigned long ** __syscall_vtbl;
extern long __syscall_alert(long);
typedef long __syscall0_fn(void);
typedef long __syscall1_fn(long a1);
typedef long __syscall2_fn(long a1, long a2);
typedef long __syscall3_fn(long a1, long a2, long a3);
typedef long __syscall4_fn(long a1, long a2, long a3, long a4);
typedef long __syscall5_fn(long a1, long a2, long a3, long a4, long a5);
typedef long __syscall6_fn(long a1, long a2, long a3, long a4, long a5, long a6);
#define sysfn_from_fn(x) \
x * sysfn = (x *)__syscall_vtbl[n]
static __inline long __syscall0(long n)
{
sysfn_from_fn(__syscall0_fn);
return sysfn ? sysfn() : __syscall_alert(n);
}
static __inline long __syscall1(long n, long a1)
{
sysfn_from_fn(__syscall1_fn);
return sysfn ? sysfn(a1) : __syscall_alert(n);
}
static __inline long __syscall2(long n, long a1, long a2)
{
sysfn_from_fn(__syscall3_fn);
return sysfn ? sysfn(a1, a2, 0) : __syscall_alert(n);
}
static __inline long __syscall3(long n, long a1, long a2, long a3)
{
sysfn_from_fn(__syscall4_fn);
return sysfn ? sysfn(a1, a2, a3, 0) : __syscall_alert(n);
}
static __inline long __syscall4(long n, long a1, long a2, long a3, long a4)
{
sysfn_from_fn(__syscall4_fn);
return sysfn ? sysfn(a1, a2, a3, a4) : __syscall_alert(n);
}
static __inline long __syscall5(long n, long a1, long a2, long a3, long a4, long a5)
{
sysfn_from_fn(__syscall5_fn);
return sysfn ? sysfn(a1, a2, a3, a4, a5) : __syscall_alert(n);
}
static __inline long __syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6)
{
sysfn_from_fn(__syscall6_fn);
return sysfn ? sysfn(a1, a2, a3, a4, a5, a6) : __syscall_alert(n);
}
#define __SYSCALL_LL_E(x) (x)
#define __SYSCALL_LL_O(x) (x)