31 static Handle g_srv_handle = 0;
34 static int __name_cmp(
const char* a,
const char* b) {
48 if((
u32)__service_ptr == 0)
51 u32 i, num = __service_ptr->
num;
53 for(i=0; i<num; i++) {
54 if(__name_cmp(__service_ptr->
services[i].
name, name) == 0)
62 if((
u32)__service_ptr == 0)
65 u32 i, num = __service_ptr->
num;
70 __service_ptr->
num = 0;
124 strcpy((
char*) &cmdbuf[1], name);
125 cmdbuf[3] = strlen(name);
155 cmdbuf[0] = 0x04030082;
158 cmdbuf[3] = (count << 16) | 2;
159 cmdbuf[4] = (
u32)serviceaccesscontrol;
172 cmdbuf[0] = 0x04040040;
s32 svcCloseHandle(Handle handle)
service_list_t * __service_ptr
u32 * getThreadCommandBuffer(void)
Handle __get_handle_from_list(const char *name)
Result srvRegisterClient()
Result srvGetServiceHandle(Handle *out, const char *name)
Result srvRegisterProcess(u32 procid, u32 count, void *serviceaccesscontrol)
s32 svcConnectToPort(volatile Handle *out, const char *portName)
s32 svcSendSyncRequest(Handle session)
Result srvUnregisterProcess(u32 procid)
void __destroy_handle_list(void)
struct service_list_t::@1 services[]
s32 svcDuplicateHandle(Handle *out, Handle original)