68e8dce30b761bd9e2eb227a51ecd0d78c112b37
[musl] / arch / mips / syscall_arch.h
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) 0, __SYSCALL_LL_E((x))
5
6 #define __SYSCALL_SSLEN 16
7
8 static inline long __syscall0(long n)
9 {
10         return (__syscall)(n);
11 }
12
13 static inline long __syscall1(long n, long a)
14 {
15         return (__syscall)(n, a);
16 }
17
18 static inline long __syscall2(long n, long a, long b)
19 {
20         return (__syscall)(n, a, b);
21 }
22
23 static inline long __syscall3(long n, long a, long b, long c)
24 {
25         return (__syscall)(n, a, b, c);
26 }
27
28 static inline long __syscall4(long n, long a, long b, long c, long d)
29 {
30         return (__syscall)(n, a, b, c, d);
31 }
32
33 static inline long __syscall5(long n, long a, long b, long c, long d, long e)
34 {
35         return (__syscall)(n, a, b, c, d, e);
36 }
37
38 static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
39 {
40         return (__syscall)(n, a, b, c, d, e, f);
41 }