userspace/target/architecture/
macros.rs

1#[macro_export]
2macro_rules! wrap_syscall {
3    ($name:ident, $syscall:ident, $($arg:ident : $type:ty),*) => {
4        fn $name($($arg: $type,)*) -> $crate::Result {
5            let return_value = $crate::target::architecture::Arch::$syscall($($arg),*);
6            $crate::info!(X "\tWrapped syscall");
7            $($crate::info!(X "\t{:?},",$arg);)*
8            $crate::info!(X "\t{:?}",return_value);
9
10            return_value
11        }
12    }
13}
14pub use wrap_syscall;