1#[macro_export]
4macro_rules! syscall {
5 ($nr:expr) => {
6 $crate::syscall_impl::syscall0($nr.into())
7 };
8
9 ($nr:expr, $a0:expr) => {
10 $crate::syscall_impl::syscall1($nr.into(), $a0.into())
11 };
12
13 ($nr:expr, $a0:expr, $a1:expr) => {
14 $crate::syscall_impl::syscall2($nr.into(), $a0.into(), $a1.into())
15 };
16
17 ($nr:expr, $a0:expr, $a1:expr, $a2:expr) => {
18 $crate::syscall_impl::syscall3($nr.into(), $a0.into(), $a1.into(), $a2.into())
19 };
20
21 ($nr:expr, $a0:expr, $a1:expr, $a2:expr, $a3:expr) => {
22 $crate::syscall_impl::syscall4($nr.into(), $a0.into(), $a1.into(), $a2.into(), $a3.into())
23 };
24
25 ($nr:expr, $a0:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr) => {
26 $crate::syscall_impl::syscall5($nr.into(), $a0.into(), $a1.into(), $a2.into(), $a3.into(), $a4.into())
27 };
28
29 ($nr:expr, $a0:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr) => {
30 $crate::syscall_impl::syscall6($nr.into(), $a0.into(), $a1.into(), $a2.into(), $a3.into(), $a4.into(), $a5.into())
31 };
32
33 ($nr:expr, $a0:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr) => {
34 $crate::syscall_impl::syscall7(
35 $nr.into(),
36 $a0.into(),
37 $a1.into(),
38 $a2.into(),
39 $a3.into(),
40 $a4.into(),
41 $a5.into(),
42 $a6.into(),
43 )
44 };
45}
46
47#[macro_export]
48macro_rules! syscall_readonly {
49 ($nr:expr) => {
50 $crate::syscall_impl::syscall0_readonly($nr.into())
51 };
52
53 ($nr:expr, $a0:expr) => {
54 $crate::syscall_impl::syscall1_readonly($nr.into(), $a0.into())
55 };
56
57 ($nr:expr, $a0:expr, $a1:expr) => {
58 $crate::syscall_impl::syscall2_readonly($nr.into(), $a0.into(), $a1.into())
59 };
60
61 ($nr:expr, $a0:expr, $a1:expr, $a2:expr) => {
62 $crate::syscall_impl::syscall3_readonly($nr.into(), $a0.into(), $a1.into(), $a2.into())
63 };
64
65 ($nr:expr, $a0:expr, $a1:expr, $a2:expr, $a3:expr) => {
66 $crate::syscall_impl::syscall4_readonly($nr.into(), $a0.into(), $a1.into(), $a2.into(), $a3.into())
67 };
68
69 ($nr:expr, $a0:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr) => {
70 $crate::syscall_impl::syscall5_readonly($nr.into(), $a0.into(), $a1.into(), $a2.into(), $a3.into(), $a4.into())
71 };
72
73 ($nr:expr, $a0:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr) => {
74 $crate::syscall_impl::syscall6_readonly($nr.into(), $a0.into(), $a1.into(), $a2.into(), $a3.into(), $a4.into(), $a5.into())
75 };
76
77 ($nr:expr, $a0:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr) => {
78 $crate::syscall_impl::syscall7_readonly(
79 $nr.into(),
80 $a0.into(),
81 $a1.into(),
82 $a2.into(),
83 $a3.into(),
84 $a4.into(),
85 $a5.into(),
86 $a6.into(),
87 )
88 };
89}