1570af302Sopenharmony_ci#define __SYSCALL_LL_E(x) (x)
2570af302Sopenharmony_ci#define __SYSCALL_LL_O(x) (x)
3570af302Sopenharmony_ci
4570af302Sopenharmony_ci#define __scc(X) sizeof(1?(X):0ULL) < 8 ? (unsigned long) (X) : (long long) (X)
5570af302Sopenharmony_citypedef long long syscall_arg_t;
6570af302Sopenharmony_ci
7570af302Sopenharmony_cistatic __inline long __syscall0(long long n)
8570af302Sopenharmony_ci{
9570af302Sopenharmony_ci	unsigned long ret;
10570af302Sopenharmony_ci	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n) : "rcx", "r11", "memory");
11570af302Sopenharmony_ci	return ret;
12570af302Sopenharmony_ci}
13570af302Sopenharmony_ci
14570af302Sopenharmony_cistatic __inline long __syscall1(long long n, long long a1)
15570af302Sopenharmony_ci{
16570af302Sopenharmony_ci	unsigned long ret;
17570af302Sopenharmony_ci	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1) : "rcx", "r11", "memory");
18570af302Sopenharmony_ci	return ret;
19570af302Sopenharmony_ci}
20570af302Sopenharmony_ci
21570af302Sopenharmony_cistatic __inline long __syscall2(long long n, long long a1, long long a2)
22570af302Sopenharmony_ci{
23570af302Sopenharmony_ci	unsigned long ret;
24570af302Sopenharmony_ci	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2)
25570af302Sopenharmony_ci					: "rcx", "r11", "memory");
26570af302Sopenharmony_ci	return ret;
27570af302Sopenharmony_ci}
28570af302Sopenharmony_ci
29570af302Sopenharmony_cistatic __inline long __syscall3(long long n, long long a1, long long a2, long long a3)
30570af302Sopenharmony_ci{
31570af302Sopenharmony_ci	unsigned long ret;
32570af302Sopenharmony_ci	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
33570af302Sopenharmony_ci						  "d"(a3) : "rcx", "r11", "memory");
34570af302Sopenharmony_ci	return ret;
35570af302Sopenharmony_ci}
36570af302Sopenharmony_ci
37570af302Sopenharmony_cistatic __inline long __syscall4(long long n, long long a1, long long a2, long long a3,
38570af302Sopenharmony_ci                                     long long a4_)
39570af302Sopenharmony_ci{
40570af302Sopenharmony_ci	unsigned long ret;
41570af302Sopenharmony_ci	register long long a4 __asm__("r10") = a4_;
42570af302Sopenharmony_ci	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
43570af302Sopenharmony_ci					  "d"(a3), "r"(a4): "rcx", "r11", "memory");
44570af302Sopenharmony_ci	return ret;
45570af302Sopenharmony_ci}
46570af302Sopenharmony_ci
47570af302Sopenharmony_cistatic __inline long __syscall5(long long n, long long a1, long long a2, long long a3,
48570af302Sopenharmony_ci                                     long long a4_, long long a5_)
49570af302Sopenharmony_ci{
50570af302Sopenharmony_ci	unsigned long ret;
51570af302Sopenharmony_ci	register long long a4 __asm__("r10") = a4_;
52570af302Sopenharmony_ci	register long long a5 __asm__("r8") = a5_;
53570af302Sopenharmony_ci	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
54570af302Sopenharmony_ci					  "d"(a3), "r"(a4), "r"(a5) : "rcx", "r11", "memory");
55570af302Sopenharmony_ci	return ret;
56570af302Sopenharmony_ci}
57570af302Sopenharmony_ci
58570af302Sopenharmony_cistatic __inline long __syscall6(long long n, long long a1, long long a2, long long a3,
59570af302Sopenharmony_ci                                     long long a4_, long long a5_, long long a6_)
60570af302Sopenharmony_ci{
61570af302Sopenharmony_ci	unsigned long ret;
62570af302Sopenharmony_ci	register long long a4 __asm__("r10") = a4_;
63570af302Sopenharmony_ci	register long long a5 __asm__("r8") = a5_;
64570af302Sopenharmony_ci	register long long a6 __asm__("r9") = a6_;
65570af302Sopenharmony_ci	__asm__ __volatile__ ("syscall" : "=a"(ret) : "a"(n), "D"(a1), "S"(a2),
66570af302Sopenharmony_ci					  "d"(a3), "r"(a4), "r"(a5), "r"(a6) : "rcx", "r11", "memory");
67570af302Sopenharmony_ci	return ret;
68570af302Sopenharmony_ci}
69570af302Sopenharmony_ci
70570af302Sopenharmony_ci#undef SYS_futimesat
71570af302Sopenharmony_ci
72570af302Sopenharmony_ci#define SYS_clock_gettime64 SYS_clock_gettime
73570af302Sopenharmony_ci#define SYS_clock_settime64 SYS_clock_settime
74570af302Sopenharmony_ci#define SYS_clock_adjtime64 SYS_clock_adjtime
75570af302Sopenharmony_ci#define SYS_clock_nanosleep_time64 SYS_clock_nanosleep
76570af302Sopenharmony_ci#define SYS_timer_gettime64 SYS_timer_gettime
77570af302Sopenharmony_ci#define SYS_timer_settime64 SYS_timer_settime
78570af302Sopenharmony_ci#define SYS_timerfd_gettime64 SYS_timerfd_gettime
79570af302Sopenharmony_ci#define SYS_timerfd_settime64 SYS_timerfd_settime
80570af302Sopenharmony_ci#define SYS_utimensat_time64 SYS_utimensat
81570af302Sopenharmony_ci#define SYS_pselect6_time64 SYS_pselect6
82570af302Sopenharmony_ci#define SYS_ppoll_time64 SYS_ppoll
83570af302Sopenharmony_ci#define SYS_recvmmsg_time64 SYS_recvmmsg
84570af302Sopenharmony_ci#define SYS_mq_timedsend_time64 SYS_mq_timedsend
85570af302Sopenharmony_ci#define SYS_mq_timedreceive_time64 SYS_mq_timedreceive
86570af302Sopenharmony_ci#define SYS_semtimedop_time64 SYS_semtimedop
87570af302Sopenharmony_ci#define SYS_rt_sigtimedwait_time64 SYS_rt_sigtimedwait
88570af302Sopenharmony_ci#define SYS_futex_time64 SYS_futex
89570af302Sopenharmony_ci#define SYS_sched_rr_get_interval_time64 SYS_sched_rr_get_interval
90570af302Sopenharmony_ci#define SYS_getrusage_time64 SYS_getrusage
91570af302Sopenharmony_ci#define SYS_wait4_time64 SYS_wait4
92570af302Sopenharmony_ci
93570af302Sopenharmony_ci#define IPC_64 0
94