srv: code bugfixes:
- Fix srvPublishToSubscriber documentation - Fix handling of service/named port names of length 8 - Fix srvRegisterPort
This commit is contained in:
parent
41c1fee88e
commit
62181cb504
@ -94,7 +94,7 @@ Result srvReceiveNotification(u32* notificationIdOut);
|
|||||||
/**
|
/**
|
||||||
* @brief Publishes a notification to subscribers.
|
* @brief Publishes a notification to subscribers.
|
||||||
* @param notificationId ID of the notification.
|
* @param notificationId ID of the notification.
|
||||||
* @param flags Flags to publish with. (bit 0 = only fire if not fired, bit 1 = report errors)
|
* @param flags Flags to publish with. (bit 0 = only fire if not fired, bit 1 = do not report an error if there are more than 16 pending notifications)
|
||||||
*/
|
*/
|
||||||
Result srvPublishToSubscriber(u32 notificationId, u32 flags);
|
Result srvPublishToSubscriber(u32 notificationId, u32 flags);
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ Result srvRegisterService(Handle* out, const char* name, int maxSessions)
|
|||||||
|
|
||||||
cmdbuf[0] = IPC_MakeHeader(0x3,4,0); // 0x30100
|
cmdbuf[0] = IPC_MakeHeader(0x3,4,0); // 0x30100
|
||||||
strncpy((char*) &cmdbuf[1], name,8);
|
strncpy((char*) &cmdbuf[1], name,8);
|
||||||
cmdbuf[3] = strlen(name);
|
cmdbuf[3] = strnlen(name, 8);
|
||||||
cmdbuf[4] = maxSessions;
|
cmdbuf[4] = maxSessions;
|
||||||
|
|
||||||
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
||||||
@ -107,7 +107,7 @@ Result srvUnregisterService(const char* name)
|
|||||||
|
|
||||||
cmdbuf[0] = IPC_MakeHeader(0x4,3,0); // 0x400C0
|
cmdbuf[0] = IPC_MakeHeader(0x4,3,0); // 0x400C0
|
||||||
strncpy((char*) &cmdbuf[1], name,8);
|
strncpy((char*) &cmdbuf[1], name,8);
|
||||||
cmdbuf[3] = strlen(name);
|
cmdbuf[3] = strnlen(name, 8);
|
||||||
|
|
||||||
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
||||||
|
|
||||||
@ -121,7 +121,7 @@ Result srvGetServiceHandleDirect(Handle* out, const char* name)
|
|||||||
|
|
||||||
cmdbuf[0] = IPC_MakeHeader(0x5,4,0); // 0x50100
|
cmdbuf[0] = IPC_MakeHeader(0x5,4,0); // 0x50100
|
||||||
strncpy((char*) &cmdbuf[1], name,8);
|
strncpy((char*) &cmdbuf[1], name,8);
|
||||||
cmdbuf[3] = strlen(name);
|
cmdbuf[3] = strnlen(name, 8);
|
||||||
cmdbuf[4] = 0x0;
|
cmdbuf[4] = 0x0;
|
||||||
|
|
||||||
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
||||||
@ -138,8 +138,8 @@ Result srvRegisterPort(const char* name, Handle clientHandle)
|
|||||||
|
|
||||||
cmdbuf[0] = IPC_MakeHeader(0x6,3,2); // 0x600C2
|
cmdbuf[0] = IPC_MakeHeader(0x6,3,2); // 0x600C2
|
||||||
strncpy((char*) &cmdbuf[1], name,8);
|
strncpy((char*) &cmdbuf[1], name,8);
|
||||||
cmdbuf[3] = strlen(name);
|
cmdbuf[3] = strnlen(name, 8);
|
||||||
cmdbuf[4] = IPC_Desc_SharedHandles(0);
|
cmdbuf[4] = IPC_Desc_SharedHandles(1);
|
||||||
cmdbuf[5] = clientHandle;
|
cmdbuf[5] = clientHandle;
|
||||||
|
|
||||||
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
||||||
@ -154,7 +154,7 @@ Result srvUnregisterPort(const char* name)
|
|||||||
|
|
||||||
cmdbuf[0] = IPC_MakeHeader(0x7,3,0); // 0x700C0
|
cmdbuf[0] = IPC_MakeHeader(0x7,3,0); // 0x700C0
|
||||||
strncpy((char*) &cmdbuf[1], name,8);
|
strncpy((char*) &cmdbuf[1], name,8);
|
||||||
cmdbuf[3] = strlen(name);
|
cmdbuf[3] = strnlen(name, 8);
|
||||||
|
|
||||||
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
||||||
|
|
||||||
@ -168,7 +168,7 @@ Result srvGetPort(Handle* out, const char* name)
|
|||||||
|
|
||||||
cmdbuf[0] = IPC_MakeHeader(0x8,4,0); // 0x80100
|
cmdbuf[0] = IPC_MakeHeader(0x8,4,0); // 0x80100
|
||||||
strncpy((char*) &cmdbuf[1], name,8);
|
strncpy((char*) &cmdbuf[1], name,8);
|
||||||
cmdbuf[3] = strlen(name);
|
cmdbuf[3] = strnlen(name, 8);
|
||||||
cmdbuf[4] = 0x0;
|
cmdbuf[4] = 0x0;
|
||||||
|
|
||||||
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
||||||
@ -255,7 +255,7 @@ Result srvIsServiceRegistered(bool* registeredOut, const char* name)
|
|||||||
|
|
||||||
cmdbuf[0] = IPC_MakeHeader(0xE,3,0); // 0xE00C0
|
cmdbuf[0] = IPC_MakeHeader(0xE,3,0); // 0xE00C0
|
||||||
strncpy((char*) &cmdbuf[1], name,8);
|
strncpy((char*) &cmdbuf[1], name,8);
|
||||||
cmdbuf[3] = strlen(name);
|
cmdbuf[3] = strnlen(name, 8);
|
||||||
|
|
||||||
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
if(R_FAILED(rc = svcSendSyncRequest(srvHandle)))return rc;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user