UNIMPLEMENTED_FUNC(sys_net); return CELL_OK; } s32 sys_net_free_thread_context() { UNIMPLEMENTED_FUNC(sys_net); return CELL_OK; } // define additional macro for specific namespace #define REG_FUNC_(name) add_ppu_func(ModuleFunc(get_function_id(#name), 0, &sys_net, #name, bind_func(sys_net_func::name))) Module sys_net("sys_net", []() { REG_FUNC_(accept); REG_FUNC_(bind); REG_FUNC_(connect); REG_FUNC_(gethostbyaddr); REG_FUNC_(gethostbyname); REG_FUNC_(getpeername); REG_FUNC_(getsockname); REG_FUNC_(getsockopt); REG_FUNC_(inet_addr); REG_FUNC_(inet_aton); REG_FUNC_(inet_lnaof); REG_FUNC_(inet_makeaddr); REG_FUNC_(inet_netof); REG_FUNC_(inet_network); REG_FUNC_(inet_ntoa); REG_FUNC_(inet_ntop);
return CELL_OK; } s32 sys_net_free_thread_context() { UNIMPLEMENTED_FUNC(libnet); return CELL_OK; } } // define additional macro for specific namespace #define REG_FUNC_(name) add_ppu_func(ModuleFunc(get_function_id(#name), 0, &libnet, #name, BIND_FUNC(sys_net::name))) Module<> libnet("sys_net", []() { REG_FUNC_(accept); REG_FUNC_(bind); REG_FUNC_(connect); REG_FUNC_(gethostbyaddr); REG_FUNC_(gethostbyname); REG_FUNC_(getpeername); REG_FUNC_(getsockname); REG_FUNC_(getsockopt); REG_FUNC_(inet_addr); REG_FUNC_(inet_aton); REG_FUNC_(inet_lnaof); REG_FUNC_(inet_makeaddr); REG_FUNC_(inet_netof); REG_FUNC_(inet_network); REG_FUNC_(inet_ntoa); REG_FUNC_(inet_ntop);
return CELL_OK; } s32 _sce_net_set_name_server() { UNIMPLEMENTED_FUNC(libnet); return CELL_OK; } } // Define macro for namespace #define REG_FUNC_(name) REG_FNID(sys_net, ppu_generate_id(#name), sys_net::name) DECLARE(ppu_module_manager::libnet)("sys_net", []() { REG_FUNC_(accept); REG_FUNC_(bind); REG_FUNC_(connect); REG_FUNC_(gethostbyaddr); REG_FUNC_(gethostbyname); REG_FUNC_(getpeername); REG_FUNC_(getsockname); REG_FUNC_(getsockopt); REG_FUNC_(inet_addr); REG_FUNC_(inet_aton); REG_FUNC_(inet_lnaof); REG_FUNC_(inet_makeaddr); REG_FUNC_(inet_netof); REG_FUNC_(inet_network); REG_FUNC_(inet_ntoa); REG_FUNC_(inet_ntop);