#[macro_export]
macro_rules! syscall {
($nr:expr) => {
$crate::syscall0($nr)
};
($nr:expr, $a1:expr) => {
$crate::syscall1($nr, $a1 as $crate::SyscallWord)
};
($nr:expr, $a1:expr, $a2:expr) => {
$crate::syscall2(
$nr,
$a1 as $crate::SyscallWord,
$a2 as $crate::SyscallWord,
)
};
($nr:expr, $a1:expr, $a2:expr, $a3:expr) => {
$crate::syscall3(
$nr,
$a1 as $crate::SyscallWord,
$a2 as $crate::SyscallWord,
$a3 as $crate::SyscallWord,
)
};
($nr:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr) => {
$crate::syscall4(
$nr,
$a1 as $crate::SyscallWord,
$a2 as $crate::SyscallWord,
$a3 as $crate::SyscallWord,
$a4 as $crate::SyscallWord,
)
};
($nr:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr) => {
$crate::syscall5(
$nr,
$a1 as $crate::SyscallWord,
$a2 as $crate::SyscallWord,
$a3 as $crate::SyscallWord,
$a4 as $crate::SyscallWord,
$a5 as $crate::SyscallWord,
)
};
($nr:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr) => {
$crate::syscall6(
$nr,
$a1 as $crate::SyscallWord,
$a2 as $crate::SyscallWord,
$a3 as $crate::SyscallWord,
$a4 as $crate::SyscallWord,
$a5 as $crate::SyscallWord,
$a6 as $crate::SyscallWord,
)
};
}
#[macro_export]
macro_rules! raw_syscall {
($nr:expr) => {
$crate::raw::syscall0($nr as $crate::SyscallWord)
};
($nr:expr, $a1:expr) => {
$crate::raw::syscall1(
$nr as $crate::SyscallWord,
$a1 as $crate::SyscallWord,
)
};
($nr:expr, $a1:expr, $a2:expr) => {
$crate::raw::syscall2(
$nr as $crate::SyscallWord,
$a1 as $crate::SyscallWord,
$a2 as $crate::SyscallWord,
)
};
($nr:expr, $a1:expr, $a2:expr, $a3:expr) => {
$crate::raw::syscall3(
$nr as $crate::SyscallWord,
$a1 as $crate::SyscallWord,
$a2 as $crate::SyscallWord,
$a3 as $crate::SyscallWord,
)
};
($nr:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr) => {
$crate::raw::syscall4(
$nr as $crate::SyscallWord,
$a1 as $crate::SyscallWord,
$a2 as $crate::SyscallWord,
$a3 as $crate::SyscallWord,
$a4 as $crate::SyscallWord,
)
};
($nr:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr) => {
$crate::raw::syscall5(
$nr as $crate::SyscallWord,
$a1 as $crate::SyscallWord,
$a2 as $crate::SyscallWord,
$a3 as $crate::SyscallWord,
$a4 as $crate::SyscallWord,
$a5 as $crate::SyscallWord,
)
};
($nr:expr, $a1:expr, $a2:expr, $a3:expr, $a4:expr, $a5:expr, $a6:expr) => {
$crate::raw::syscall6(
$nr as $crate::SyscallWord,
$a1 as $crate::SyscallWord,
$a2 as $crate::SyscallWord,
$a3 as $crate::SyscallWord,
$a4 as $crate::SyscallWord,
$a5 as $crate::SyscallWord,
$a6 as $crate::SyscallWord,
)
};
}