#define _DIOS_NORM_SYSCALLS #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace __dios { SysProxy *syscall_proxy; #define SYSCALL_DIOS(...) #define SYSCALL( name, schedule, ret, arg ) \ extern "C" ret __libc_ ## name arg noexcept \ { \ return unpad( syscall_proxy, &SysProxy::name, _1, _2, _3, _4, _5, _6 ); \ } \ extern "C" ret name arg noexcept __attribute__ ((weak, alias ("__libc_" #name))); #include #undef SYSCALL #undef SYSCALL_DIOS #define SYSCALL(...) #define SYSCALL_DIOS( name, schedule, ret, arg ) \ extern "C" __noinline ret __dios_ ## name arg noexcept \ { \ return unpad( syscall_proxy, &SysProxy::name, _1, _2, _3, _4, _5, _6 ); \ } #include #undef SYSCALL_DIOS #undef SYSCALL }