#[macro_export]
macro_rules! syscall {
([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr $(,)?) => {
$crate::syscall6_readonly(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
($arg4) as usize,
($arg5) as usize,
)
};
([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr $(,)?) => {
$crate::syscall5_readonly(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
($arg4) as usize,
)
};
([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr $(,)?) => {
$crate::syscall4_readonly(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
)
};
([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr $(,)?) => {
$crate::syscall3_readonly($sysno, ($arg0) as usize, ($arg1) as usize, ($arg2) as usize)
};
([ro] $sysno:expr, $arg0:expr, $arg1:expr $(,)?) => {
$crate::syscall2_readonly($sysno, ($arg0) as usize, ($arg1) as usize)
};
([!] $sysno:expr, $arg0:expr $(,)?) => {
$crate::syscall1_noreturn($sysno, ($arg0) as usize)
};
([ro] $sysno:expr, $arg0:expr $(,)?) => {
$crate::syscall1_readonly($sysno, ($arg0) as usize)
};
([ro] $sysno:expr $(,)?) => {
$crate::syscall0_readonly($sysno)
};
($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr $(,)?) => {
$crate::syscall6(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
($arg4) as usize,
($arg5) as usize,
)
};
($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr $(,)?) => {
$crate::syscall5(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
($arg4) as usize,
)
};
($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr $(,)?) => {
$crate::syscall4(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
)
};
($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr $(,)?) => {
$crate::syscall3($sysno, ($arg0) as usize, ($arg1) as usize, ($arg2) as usize)
};
($sysno:expr, $arg0:expr, $arg1:expr $(,)?) => {
$crate::syscall2($sysno, ($arg0) as usize, ($arg1) as usize)
};
($sysno:expr, $arg0:expr $(,)?) => {
$crate::syscall1($sysno, ($arg0) as usize)
};
($sysno:expr $(,)?) => {
$crate::syscall0($sysno)
};
}
#[macro_export]
macro_rules! raw_syscall {
([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr $(,)?) => {
$crate::raw_syscall6_readonly(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
($arg4) as usize,
($arg5) as usize,
)
};
([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr $(,)?) => {
$crate::raw_syscall5_readonly(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
($arg4) as usize,
)
};
([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr $(,)?) => {
$crate::raw_syscall4_readonly(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
)
};
([ro] $sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr $(,)?) => {
$crate::raw_syscall3_readonly($sysno, ($arg0) as usize, ($arg1) as usize, ($arg2) as usize)
};
([ro] $sysno:expr, $arg0:expr, $arg1:expr $(,)?) => {
$crate::raw_syscall2_readonly($sysno, ($arg0) as usize, ($arg1) as usize)
};
([!] $sysno:expr, $arg0:expr $(,)?) => {
$crate::syscall1_noreturn($sysno, ($arg0) as usize)
};
([ro] $sysno:expr, $arg0:expr $(,)?) => {
$crate::raw_syscall1_readonly($sysno, ($arg0) as usize)
};
([ro] $sysno:expr $(,)?) => {
$crate::raw_syscall0_readonly($sysno)
};
($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr, $arg5:expr $(,)?) => {
$crate::raw_syscall6(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
($arg4) as usize,
($arg5) as usize,
)
};
($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr, $arg4:expr $(,)?) => {
$crate::raw_syscall5(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
($arg4) as usize,
)
};
($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr, $arg3:expr $(,)?) => {
$crate::raw_syscall4(
$sysno,
($arg0) as usize,
($arg1) as usize,
($arg2) as usize,
($arg3) as usize,
)
};
($sysno:expr, $arg0:expr, $arg1:expr, $arg2:expr $(,)?) => {
$crate::raw_syscall3($sysno, ($arg0) as usize, ($arg1) as usize, ($arg2) as usize)
};
($sysno:expr, $arg0:expr, $arg1:expr $(,)?) => {
$crate::raw_syscall2($sysno, ($arg0) as usize, ($arg1) as usize)
};
($sysno:expr, $arg0:expr $(,)?) => {
$crate::raw_syscall1($sysno, ($arg0) as usize)
};
($sysno:expr $(,)?) => {
$crate::raw_syscall0($sysno)
};
}