1#[macro_export]
36macro_rules! syscall {
37 ([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr $(,)?) => {
38 $crate::syscall6_readonly(
39 $sysno,
40 ($arg0) as usize,
41 ($arg1) as usize,
42 ($arg2) as usize,
43 ($arg3) as usize,
44 ($arg4) as usize,
45 ($arg5) as usize,
46 )
47 };
48 ([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr $(,)?) => {
49 $crate::syscall5_readonly(
50 $sysno,
51 ($arg0) as usize,
52 ($arg1) as usize,
53 ($arg2) as usize,
54 ($arg3) as usize,
55 ($arg4) as usize,
56 )
57 };
58 ([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr $(,)?) => {
59 $crate::syscall4_readonly(
60 $sysno,
61 ($arg0) as usize,
62 ($arg1) as usize,
63 ($arg2) as usize,
64 ($arg3) as usize,
65 )
66 };
67 ([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr $(,)?) => {
68 $crate::syscall3_readonly($sysno, ($arg0) as usize, ($arg1) as usize, ($arg2) as usize)
69 };
70 ([ro] $sysno:expr, $arg0:expr, $arg1:expr $(,)?) => {
71 $crate::syscall2_readonly($sysno, ($arg0) as usize, ($arg1) as usize)
72 };
73 ([!] $sysno:expr, $arg0:expr $(,)?) => {
74 $crate::syscall1_noreturn($sysno, ($arg0) as usize)
75 };
76 ([ro] $sysno:expr, $arg0:expr $(,)?) => {
77 $crate::syscall1_readonly($sysno, ($arg0) as usize)
78 };
79 ([ro] $sysno:expr $(,)?) => {
80 $crate::syscall0_readonly($sysno)
81 };
82 ($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr $(,)?) => {
83 $crate::syscall6(
84 $sysno,
85 ($arg0) as usize,
86 ($arg1) as usize,
87 ($arg2) as usize,
88 ($arg3) as usize,
89 ($arg4) as usize,
90 ($arg5) as usize,
91 )
92 };
93 ($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr $(,)?) => {
94 $crate::syscall5(
95 $sysno,
96 ($arg0) as usize,
97 ($arg1) as usize,
98 ($arg2) as usize,
99 ($arg3) as usize,
100 ($arg4) as usize,
101 )
102 };
103 ($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr $(,)?) => {
104 $crate::syscall4(
105 $sysno,
106 ($arg0) as usize,
107 ($arg1) as usize,
108 ($arg2) as usize,
109 ($arg3) as usize,
110 )
111 };
112 ($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr $(,)?) => {
113 $crate::syscall3($sysno, ($arg0) as usize, ($arg1) as usize, ($arg2) as usize)
114 };
115 ($sysno:expr, $arg0:expr, $arg1:expr $(,)?) => {
116 $crate::syscall2($sysno, ($arg0) as usize, ($arg1) as usize)
117 };
118 ($sysno:expr, $arg0:expr $(,)?) => {
119 $crate::syscall1($sysno, ($arg0) as usize)
120 };
121 ($sysno:expr $(,)?) => {
122 $crate::syscall0($sysno)
123 };
124}
125
126#[macro_export]
151macro_rules! raw_syscall {
152 ([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr $(,)?) => {
153 $crate::raw_syscall6_readonly(
154 $sysno,
155 ($arg0) as usize,
156 ($arg1) as usize,
157 ($arg2) as usize,
158 ($arg3) as usize,
159 ($arg4) as usize,
160 ($arg5) as usize,
161 )
162 };
163 ([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr $(,)?) => {
164 $crate::raw_syscall5_readonly(
165 $sysno,
166 ($arg0) as usize,
167 ($arg1) as usize,
168 ($arg2) as usize,
169 ($arg3) as usize,
170 ($arg4) as usize,
171 )
172 };
173 ([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr $(,)?) => {
174 $crate::raw_syscall4_readonly(
175 $sysno,
176 ($arg0) as usize,
177 ($arg1) as usize,
178 ($arg2) as usize,
179 ($arg3) as usize,
180 )
181 };
182 ([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr $(,)?) => {
183 $crate::raw_syscall3_readonly($sysno, ($arg0) as usize, ($arg1) as usize, ($arg2) as usize)
184 };
185 ([ro] $sysno:expr, $arg0:expr, $arg1:expr $(,)?) => {
186 $crate::raw_syscall2_readonly($sysno, ($arg0) as usize, ($arg1) as usize)
187 };
188 ([!] $sysno:expr, $arg0:expr $(,)?) => {
189 $crate::syscall1_noreturn($sysno, ($arg0) as usize)
190 };
191 ([ro] $sysno:expr, $arg0:expr $(,)?) => {
192 $crate::raw_syscall1_readonly($sysno, ($arg0) as usize)
193 };
194 ([ro] $sysno:expr $(,)?) => {
195 $crate::raw_syscall0_readonly($sysno)
196 };
197 ($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr $(,)?) => {
198 $crate::raw_syscall6(
199 $sysno,
200 ($arg0) as usize,
201 ($arg1) as usize,
202 ($arg2) as usize,
203 ($arg3) as usize,
204 ($arg4) as usize,
205 ($arg5) as usize,
206 )
207 };
208 ($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr $(,)?) => {
209 $crate::raw_syscall5(
210 $sysno,
211 ($arg0) as usize,
212 ($arg1) as usize,
213 ($arg2) as usize,
214 ($arg3) as usize,
215 ($arg4) as usize,
216 )
217 };
218 ($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr $(,)?) => {
219 $crate::raw_syscall4(
220 $sysno,
221 ($arg0) as usize,
222 ($arg1) as usize,
223 ($arg2) as usize,
224 ($arg3) as usize,
225 )
226 };
227 ($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr $(,)?) => {
228 $crate::raw_syscall3($sysno, ($arg0) as usize, ($arg1) as usize, ($arg2) as usize)
229 };
230 ($sysno:expr, $arg0:expr, $arg1:expr $(,)?) => {
231 $crate::raw_syscall2($sysno, ($arg0) as usize, ($arg1) as usize)
232 };
233 ($sysno:expr, $arg0:expr $(,)?) => {
234 $crate::raw_syscall1($sysno, ($arg0) as usize)
235 };
236 ($sysno:expr $(,)?) => {
237 $crate::raw_syscall0($sysno)
238 };
239}