1#define __SYSCALL_LL_E(x) \ 2((union { long long ll; long l[2]; }){ .ll = x }).l[0], \ 3((union { long long ll; long l[2]; }){ .ll = x }).l[1] 4#define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x)) 5 6extern unsigned int __sysinfo; 7 8#define CALL_SYSINFO(n, ...) ((long(*)(long,...))__sysinfo)(n, ##__VA_ARGS__) 9 10static inline long __syscall0(long n) 11{ 12 return CALL_SYSINFO(n); 13} 14 15static inline long __syscall1(long n, long a1) 16{ 17 return CALL_SYSINFO(n, a1); 18} 19 20static inline long __syscall2(long n, long a1, long a2) 21{ 22 return CALL_SYSINFO(n, a1, a2); 23} 24 25static inline long __syscall3(long n, long a1, long a2, long a3) 26{ 27 return CALL_SYSINFO(n, a1, a2, a3); 28} 29 30static inline long __syscall4(long n, long a1, long a2, long a3, long a4) 31{ 32 return CALL_SYSINFO(n, a1, a2, a3, a4); 33} 34 35static inline long __syscall5(long n, long a1, long a2, long a3, long a4, long a5) 36{ 37 return CALL_SYSINFO(n, a1, a2, a3, a4, a5); 38} 39 40static inline long __syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6) 41{ 42 return CALL_SYSINFO(n, a1, a2, a3, a4, a5, a6); 43} 44 45#define SYSCALL_USE_SOCKETCALL 46