From 926279465a5ade5f2c075b2086fed0c1d4c7ce7b Mon Sep 17 00:00:00 2001 From: LiquidFenrir Date: Tue, 23 Jul 2019 09:33:16 +0200 Subject: [PATCH] put functions in command id order in ac.C --- libctru/source/services/ac.c | 272 +++++++++++++++++------------------ 1 file changed, 136 insertions(+), 136 deletions(-) diff --git a/libctru/source/services/ac.c b/libctru/source/services/ac.c index 342422d..007a70c 100644 --- a/libctru/source/services/ac.c +++ b/libctru/source/services/ac.c @@ -38,16 +38,62 @@ Result acWaitInternetConnection(void) return ret; } -Result ACU_GetWifiStatus(u32 *out) +Result ACU_CreateDefaultConfig(acuConfig* config) +{ + Result ret=0; + u32 *cmdbuf = getThreadCommandBuffer(); + u32 *staticbufs = getThreadStaticBuffers(); + + cmdbuf[0] = IPC_MakeHeader(0x1,0,0); // 0x10000 + staticbufs[0] = IPC_Desc_StaticBuffer(0x200, 0); + staticbufs[1] = (u32)config; + + if(R_FAILED(ret = svcSendSyncRequest(acHandle))) return ret; + + return (Result)cmdbuf[1]; +} + +Result ACU_ConnectAsync(const acuConfig* config, Handle connectionHandle) { Result ret=0; u32 *cmdbuf = getThreadCommandBuffer(); - cmdbuf[0] = IPC_MakeHeader(0xD,0,0); // 0xD0000 + cmdbuf[0] = IPC_MakeHeader(0x4,0,6); // 0x40006 + cmdbuf[1] = 0x20; + cmdbuf[3] = 0; + cmdbuf[4] = connectionHandle; + cmdbuf[5] = IPC_Desc_StaticBuffer(0x200, 1); + cmdbuf[6] = (u32)config; + + if(R_FAILED(ret = svcSendSyncRequest(acHandle))) return ret; + + return (Result)cmdbuf[1]; +} + +Result ACU_GetLastErrorCode(u32* errorCode) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0xA,0,0); // 0xA0000 if(R_FAILED(ret = svcSendSyncRequest(acHandle)))return ret; - *out = cmdbuf[2]; + if(errorCode) *errorCode = cmdbuf[2]; + + return (Result)cmdbuf[1]; +} + +Result ACU_GetLastDetailErrorCode(u32* errorCode) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0xB,0,0); // 0xB0000 + + if(R_FAILED(ret = svcSendSyncRequest(acHandle)))return ret; + + if(errorCode) *errorCode = cmdbuf[2]; return (Result)cmdbuf[1]; } @@ -66,6 +112,91 @@ Result ACU_GetStatus(u32 *out) return (Result)cmdbuf[1]; } +Result ACU_GetWifiStatus(u32 *out) +{ + Result ret=0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0xD,0,0); // 0xD0000 + + if(R_FAILED(ret = svcSendSyncRequest(acHandle)))return ret; + + *out = cmdbuf[2]; + + return (Result)cmdbuf[1]; +} + +Result ACU_SetAllowApType(acuConfig* config, u8 type) +{ + Result ret=0; + u32 *cmdbuf = getThreadCommandBuffer(); + u32 *staticbufs = getThreadStaticBuffers(); + + cmdbuf[0] = IPC_MakeHeader(0x22,1,2); // 0x220042 + cmdbuf[1] = type; + cmdbuf[2] = IPC_Desc_StaticBuffer(0x200, 0); + cmdbuf[3] = (u32)config; + staticbufs[0] = IPC_Desc_StaticBuffer(0x200, 0); + staticbufs[1] = (u32)config; + + if(R_FAILED(ret = svcSendSyncRequest(acHandle))) return ret; + + return (Result)cmdbuf[1]; +} + +Result ACU_SetNetworkArea(acuConfig* config, u8 area) +{ + Result ret=0; + u32 *cmdbuf = getThreadCommandBuffer(); + u32 *staticbufs = getThreadStaticBuffers(); + + cmdbuf[0] = IPC_MakeHeader(0x25,1,2); // 0x250042 + cmdbuf[1] = area; + cmdbuf[2] = IPC_Desc_StaticBuffer(0x200, 0); + cmdbuf[3] = (u32)config; + staticbufs[0] = IPC_Desc_StaticBuffer(0x200, 0); + staticbufs[1] = (u32)config; + + if(R_FAILED(ret = svcSendSyncRequest(acHandle))) return ret; + + return (Result)cmdbuf[1]; +} + +Result ACU_SetRequestEulaVersion(acuConfig* config) +{ + Result ret=0; + u32 *cmdbuf = getThreadCommandBuffer(); + u32 *staticbufs = getThreadStaticBuffers(); + + cmdbuf[0] = IPC_MakeHeader(0x2D,2,2); // 0x2D0082 + cmdbuf[1] = 0; + cmdbuf[2] = 0; + cmdbuf[3] = IPC_Desc_StaticBuffer(0x200, 0); + cmdbuf[4] = (u32)config; + staticbufs[0] = IPC_Desc_StaticBuffer(0x200, 0); + staticbufs[1] = (u32)config; + + if(R_FAILED(ret = svcSendSyncRequest(acHandle))) return ret; + + return (Result)cmdbuf[1]; +} + +Result ACU_GetProxyPassword(char *password) +{ + Result ret=0; + u32 *cmdbuf = getThreadCommandBuffer(); + u32 *staticbufs = getThreadStaticBuffers(); + + cmdbuf[0] = IPC_MakeHeader(0x3B,0,0); // 0x3B0000 + + staticbufs[0] = IPC_Desc_StaticBuffer(0x20, 0); + staticbufs[1] = (u32)password; + + if(R_FAILED(ret = svcSendSyncRequest(acHandle)))return ret; + + return (Result)cmdbuf[1]; +} + Result ACU_GetSecurityMode(acSecurityMode *mode) { Result ret=0; @@ -87,7 +218,7 @@ Result ACU_GetSSID(char *SSID) u32 *staticbufs = getThreadStaticBuffers(); cmdbuf[0] = IPC_MakeHeader(0x34,0,0); // 0x340000 - + staticbufs[0] = IPC_Desc_StaticBuffer(0x20, 0); staticbufs[1] = (u32)SSID; @@ -145,7 +276,7 @@ Result ACU_GetProxyUserName(char *username) u32 *staticbufs = getThreadStaticBuffers(); cmdbuf[0] = IPC_MakeHeader(0x3A,0,0); // 0x3A0000 - + staticbufs[0] = IPC_Desc_StaticBuffer(0x20, 0); staticbufs[1] = (u32)username; @@ -153,134 +284,3 @@ Result ACU_GetProxyUserName(char *username) return (Result)cmdbuf[1]; } - -Result ACU_GetProxyPassword(char *password) -{ - Result ret=0; - u32 *cmdbuf = getThreadCommandBuffer(); - u32 *staticbufs = getThreadStaticBuffers(); - - cmdbuf[0] = IPC_MakeHeader(0x3B,0,0); // 0x3B0000 - - staticbufs[0] = IPC_Desc_StaticBuffer(0x20, 0); - staticbufs[1] = (u32)password; - - if(R_FAILED(ret = svcSendSyncRequest(acHandle)))return ret; - - return (Result)cmdbuf[1]; -} - -Result ACU_GetLastErrorCode(u32* errorCode) -{ - Result ret = 0; - u32 *cmdbuf = getThreadCommandBuffer(); - - cmdbuf[0] = IPC_MakeHeader(0xA,0,0); // 0xA0000 - - if(R_FAILED(ret = svcSendSyncRequest(acHandle)))return ret; - - if(errorCode) *errorCode = cmdbuf[2]; - - return (Result)cmdbuf[1]; -} - -Result ACU_GetLastDetailErrorCode(u32* errorCode) -{ - Result ret = 0; - u32 *cmdbuf = getThreadCommandBuffer(); - - cmdbuf[0] = IPC_MakeHeader(0xB,0,0); // 0xB0000 - - if(R_FAILED(ret = svcSendSyncRequest(acHandle)))return ret; - - if(errorCode) *errorCode = cmdbuf[2]; - - return (Result)cmdbuf[1]; -} - -Result ACU_CreateDefaultConfig(acuConfig* config) -{ - Result ret=0; - u32 *cmdbuf = getThreadCommandBuffer(); - u32 *staticbufs = getThreadStaticBuffers(); - - cmdbuf[0] = IPC_MakeHeader(0x1,0,0); // 0x10000 - staticbufs[0] = IPC_Desc_StaticBuffer(0x200, 0); - staticbufs[1] = (u32)config; - - if(R_FAILED(ret = svcSendSyncRequest(acHandle))) return ret; - - return (Result)cmdbuf[1]; -} - -Result ACU_SetNetworkArea(acuConfig* config, u8 area) -{ - Result ret=0; - u32 *cmdbuf = getThreadCommandBuffer(); - u32 *staticbufs = getThreadStaticBuffers(); - - cmdbuf[0] = IPC_MakeHeader(0x25,1,2); // 0x250042 - cmdbuf[1] = area; - cmdbuf[2] = IPC_Desc_StaticBuffer(0x200, 0); - cmdbuf[3] = (u32)config; - staticbufs[0] = IPC_Desc_StaticBuffer(0x200, 0); - staticbufs[1] = (u32)config; - - if(R_FAILED(ret = svcSendSyncRequest(acHandle))) return ret; - - return (Result)cmdbuf[1]; -} - -Result ACU_SetAllowApType(acuConfig* config, u8 type) -{ - Result ret=0; - u32 *cmdbuf = getThreadCommandBuffer(); - u32 *staticbufs = getThreadStaticBuffers(); - - cmdbuf[0] = IPC_MakeHeader(0x22,1,2); // 0x220042 - cmdbuf[1] = type; - cmdbuf[2] = IPC_Desc_StaticBuffer(0x200, 0); - cmdbuf[3] = (u32)config; - staticbufs[0] = IPC_Desc_StaticBuffer(0x200, 0); - staticbufs[1] = (u32)config; - - if(R_FAILED(ret = svcSendSyncRequest(acHandle))) return ret; - - return (Result)cmdbuf[1]; -} - -Result ACU_SetRequestEulaVersion(acuConfig* config) -{ - Result ret=0; - u32 *cmdbuf = getThreadCommandBuffer(); - u32 *staticbufs = getThreadStaticBuffers(); - - cmdbuf[0] = IPC_MakeHeader(0x2D,2,2); // 0x2D0082 - cmdbuf[1] = 0; - cmdbuf[2] = 0; - cmdbuf[3] = IPC_Desc_StaticBuffer(0x200, 0); - cmdbuf[4] = (u32)config; - staticbufs[0] = IPC_Desc_StaticBuffer(0x200, 0); - staticbufs[1] = (u32)config; - - if(R_FAILED(ret = svcSendSyncRequest(acHandle))) return ret; - - return (Result)cmdbuf[1]; -} - -Result ACU_ConnectAsync(const acuConfig* config, Handle connectionHandle) -{ - Result ret=0; - u32 *cmdbuf = getThreadCommandBuffer(); - - cmdbuf[0] = IPC_MakeHeader(0x4,0,6); // 0x40006 - cmdbuf[1] = 0x20; - cmdbuf[3] = 0; - cmdbuf[4] = connectionHandle; - cmdbuf[5] = IPC_Desc_StaticBuffer(0x200, 1); - cmdbuf[6] = (u32)config; - - if(R_FAILED(ret = svcSendSyncRequest(acHandle))) return ret; - - return (Result)cmdbuf[1]; -}