| 1 | #define __SYSCALL_LL_E(x) (x) |
| 2 | #define __SYSCALL_LL_O(x) (x) |
| 3 | |
| 4 | #define __scc(X) sizeof(1?(X):0ULL) < 8 ? (unsigned long) (X) : (long long) (X) |
| 5 | typedef long long syscall_arg_t; |
| 6 | |
| 7 | static __inline long __syscall0(long long n) |
| 8 | { |
| 9 | 	unsigned long ret; |
| 10 | 	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n) : "rcx", "r11", "memory"); |
| 11 | 	return ret; |
| 12 | } |
| 13 | |
| 14 | static __inline long __syscall1(long long n, long long a1) |
| 15 | { |
| 16 | 	unsigned long ret; |
| 17 | 	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1) : "rcx", "r11", "memory"); |
| 18 | 	return ret; |
| 19 | } |
| 20 | |
| 21 | static __inline long __syscall2(long long n, long long a1, long long a2) |
| 22 | { |
| 23 | 	unsigned long ret; |
| 24 | 	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2) |
| 25 | 					: "rcx", "r11", "memory"); |
| 26 | 	return ret; |
| 27 | } |
| 28 | |
| 29 | static __inline long __syscall3(long long n, long long a1, long long a2, long long a3) |
| 30 | { |
| 31 | 	unsigned long ret; |
| 32 | 	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2), |
| 33 | 						 "d"(a3) : "rcx", "r11", "memory"); |
| 34 | 	return ret; |
| 35 | } |
| 36 | |
| 37 | static __inline long __syscall4(long long n, long long a1, long long a2, long long a3, |
| 38 | long long a4_) |
| 39 | { |
| 40 | 	unsigned long ret; |
| 41 | 	register long long a4 __asm__("r10") = a4_; |
| 42 | 	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2), |
| 43 | 					 "d"(a3), "r"(a4): "rcx", "r11", "memory"); |
| 44 | 	return ret; |
| 45 | } |
| 46 | |
| 47 | static __inline long __syscall5(long long n, long long a1, long long a2, long long a3, |
| 48 | long long a4_, long long a5_) |
| 49 | { |
| 50 | 	unsigned long ret; |
| 51 | 	register long long a4 __asm__("r10") = a4_; |
| 52 | 	register long long a5 __asm__("r8") = a5_; |
| 53 | 	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2), |
| 54 | 					 "d"(a3), "r"(a4), "r"(a5) : "rcx", "r11", "memory"); |
| 55 | 	return ret; |
| 56 | } |
| 57 | |
| 58 | static __inline long __syscall6(long long n, long long a1, long long a2, long long a3, |
| 59 | long long a4_, long long a5_, long long a6_) |
| 60 | { |
| 61 | 	unsigned long ret; |
| 62 | 	register long long a4 __asm__("r10") = a4_; |
| 63 | 	register long long a5 __asm__("r8") = a5_; |
| 64 | 	register long long a6 __asm__("r9") = a6_; |
| 65 | 	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2), |
| 66 | 					 "d"(a3), "r"(a4), "r"(a5), "r"(a6) : "rcx", "r11", "memory"); |
| 67 | 	return ret; |
| 68 | } |
| 69 | |
| 70 | #undef SYS_futimesat |
| 71 | |
| 72 | #define SYS_clock_gettime64 SYS_clock_gettime |
| 73 | #define SYS_clock_settime64 SYS_clock_settime |
| 74 | #define SYS_clock_adjtime64 SYS_clock_adjtime |
| 75 | #define SYS_clock_nanosleep_time64 SYS_clock_nanosleep |
| 76 | #define SYS_timer_gettime64 SYS_timer_gettime |
| 77 | #define SYS_timer_settime64 SYS_timer_settime |
| 78 | #define SYS_timerfd_gettime64 SYS_timerfd_gettime |
| 79 | #define SYS_timerfd_settime64 SYS_timerfd_settime |
| 80 | #define SYS_utimensat_time64 SYS_utimensat |
| 81 | #define SYS_pselect6_time64 SYS_pselect6 |
| 82 | #define SYS_ppoll_time64 SYS_ppoll |
| 83 | #define SYS_recvmmsg_time64 SYS_recvmmsg |
| 84 | #define SYS_mq_timedsend_time64 SYS_mq_timedsend |
| 85 | #define SYS_mq_timedreceive_time64 SYS_mq_timedreceive |
| 86 | #define SYS_semtimedop_time64 SYS_semtimedop |
| 87 | #define SYS_rt_sigtimedwait_time64 SYS_rt_sigtimedwait |
| 88 | #define SYS_futex_time64 SYS_futex |
| 89 | #define SYS_sched_rr_get_interval_time64 SYS_sched_rr_get_interval |
| 90 | #define SYS_getrusage_time64 SYS_getrusage |
| 91 | #define SYS_wait4_time64 SYS_wait4 |
| 92 | |
| 93 | #define IPC_64 0 |