]> Chaos Git - corbenik/ctrulib.git/commitdiff
Add srvGetServiceHandleDirect()
authorfincs <fincs.alt1@gmail.com>
Wed, 16 Sep 2015 21:57:28 +0000 (23:57 +0200)
committerfincs <fincs.alt1@gmail.com>
Wed, 16 Sep 2015 21:57:28 +0000 (23:57 +0200)
libctru/include/3ds/srv.h
libctru/source/srv.c

index 64455cf3abe04e3c1185918f9f510fa99a9fe95a..7f1f2be33331950d33fa0e426d2809182b01d1b6 100644 (file)
@@ -4,6 +4,7 @@ Result srvInit(void);
 Result srvExit(void);
 Handle *srvGetSessionHandle(void);
 Result srvRegisterClient(void);
+Result srvGetServiceHandleDirect(Handle* out, const char* name);
 Result srvGetServiceHandle(Handle* out, const char* name);
 Result srvRegisterService(Handle* out, const char* name, int maxSessions);
 Result srvUnregisterService(const char* name);
index 0b5a527113012984a6aa102ce8f39f2204a51d0c..b67cbfe6227f1e2a5b85e49ca8810b6ab101b932 100644 (file)
@@ -116,19 +116,10 @@ Result srvRegisterClient(void)
        return cmdbuf[1];
 }
 
-Result srvGetServiceHandle(Handle* out, const char* name)
+Result srvGetServiceHandleDirect(Handle* out, const char* name)
 {
        Result rc = 0;
 
-       /* Look in service-list given to us by loader. If we find find a match,
-          we return it. */
-       Handle h = __get_handle_from_list(name);
-
-       if(h != 0) {
-               return svcDuplicateHandle(out, h);
-       }
-
-       /* Normal request to service manager. */
        u32* cmdbuf = getThreadCommandBuffer();
        cmdbuf[0] = 0x50100;
        strcpy((char*) &cmdbuf[1], name);
@@ -141,6 +132,20 @@ Result srvGetServiceHandle(Handle* out, const char* name)
        return cmdbuf[1];
 }
 
+Result srvGetServiceHandle(Handle* out, const char* name)
+{
+       /* Look in service-list given to us by loader. If we find find a match,
+          we return it. */
+       Handle h = __get_handle_from_list(name);
+
+       if(h != 0) {
+               return svcDuplicateHandle(out, h);
+       }
+
+       /* Normal request to service manager. */
+       return srvGetServiceHandleDirect(out, name);
+}
+
 Result srvRegisterService(Handle* out, const char* name, int maxSessions)
 {
        u32* cmdbuf = getThreadCommandBuffer();