From 464d6c636321f8d3f6b20d368a8ff3e749e7c9fb Mon Sep 17 00:00:00 2001 From: Lectem Date: Sat, 16 Jan 2016 21:13:22 -0500 Subject: [PATCH] SOC:u added close/shutdown sockets --- libctru/include/3ds/services/soc.h | 3 +++ libctru/source/services/soc/soc_closesockets.c | 15 +++++++++++++++ libctru/source/services/soc/soc_shutdownsockets.c | 14 ++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 libctru/source/services/soc/soc_closesockets.c create mode 100644 libctru/source/services/soc/soc_shutdownsockets.c diff --git a/libctru/include/3ds/services/soc.h b/libctru/include/3ds/services/soc.h index b5ac85e..60f7b27 100644 --- a/libctru/include/3ds/services/soc.h +++ b/libctru/include/3ds/services/soc.h @@ -27,3 +27,6 @@ Result socExit(void); */ long gethostid(void); +int SOCU_ShutdownSockets(); + +int SOCU_CloseSockets(); diff --git a/libctru/source/services/soc/soc_closesockets.c b/libctru/source/services/soc/soc_closesockets.c new file mode 100644 index 0000000..6b5a8aa --- /dev/null +++ b/libctru/source/services/soc/soc_closesockets.c @@ -0,0 +1,15 @@ +#include "soc_common.h" +#include <3ds/ipc.h> +#include <3ds/result.h> + +int SOCU_CloseSockets() +{ + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0x21,0,2); // 0x210002; + cmdbuf[1] = IPC_Desc_CurProcessHandle(); + + int ret = svcSendSyncRequest(SOCU_handle); + if(R_FAILED(ret))return ret; + return cmdbuf[1]; +} diff --git a/libctru/source/services/soc/soc_shutdownsockets.c b/libctru/source/services/soc/soc_shutdownsockets.c new file mode 100644 index 0000000..1649846 --- /dev/null +++ b/libctru/source/services/soc/soc_shutdownsockets.c @@ -0,0 +1,14 @@ +#include "soc_common.h" +#include <3ds/ipc.h> +#include <3ds/result.h> + +int SOCU_ShutdownSockets() +{ + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0x19,0,0); // 0x190000 + + int ret = svcSendSyncRequest(SOCU_handle); + if(R_FAILED(ret))return ret; + return cmdbuf[1]; +}