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;