Add support for nwm::EXT::ControlWirelessEnabled.
This commit is contained in:
parent
47d9585624
commit
f744a85e5a
@ -46,6 +46,7 @@ extern "C" {
|
||||
#include <3ds/services/httpc.h>
|
||||
#include <3ds/services/uds.h>
|
||||
#include <3ds/services/ndm.h>
|
||||
#include <3ds/services/nwmext.h>
|
||||
#include <3ds/services/ir.h>
|
||||
#include <3ds/services/ns.h>
|
||||
#include <3ds/services/pm.h>
|
||||
|
13
libctru/include/3ds/services/nwmext.h
Normal file
13
libctru/include/3ds/services/nwmext.h
Normal file
@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
// Initializes NWMEXT.
|
||||
Result nwmExtInit(void);
|
||||
|
||||
// Exits NWMEXT.
|
||||
void nwmExtExit(void);
|
||||
|
||||
/**
|
||||
* @brief Turns wireless on or off.
|
||||
* @param enableWifi True enables it, false disables it.
|
||||
*/
|
||||
Result NWMEXT_ControlWirelessEnabled(bool enableWifi);
|
38
libctru/source/services/nwmext.c
Normal file
38
libctru/source/services/nwmext.c
Normal file
@ -0,0 +1,38 @@
|
||||
#include <3ds/types.h>
|
||||
#include <3ds/ipc.h>
|
||||
#include <3ds/result.h>
|
||||
#include <3ds/svc.h>
|
||||
#include <3ds/srv.h>
|
||||
#include <3ds/synchronization.h>
|
||||
#include <3ds/services/nwmext.h>
|
||||
|
||||
Handle nwmExtHandle;
|
||||
static int nwmExtRefCount;
|
||||
|
||||
Result nwmExtInit(void)
|
||||
{
|
||||
Result res=0;
|
||||
if (AtomicPostIncrement(&nwmExtRefCount)) return 0;
|
||||
res = srvGetServiceHandle(&nwmExtHandle, "nwm::EXT");
|
||||
if (R_FAILED(res)) AtomicDecrement(&nwmExtRefCount);
|
||||
return res;
|
||||
}
|
||||
|
||||
void nwmExtExit(void)
|
||||
{
|
||||
if (AtomicDecrement(&nwmExtRefCount)) return;
|
||||
svcCloseHandle(nwmExtHandle);
|
||||
}
|
||||
|
||||
Result NWMEXT_ControlWirelessEnabled(bool enableWifi)
|
||||
{
|
||||
u32 *cmdbuf = getThreadCommandBuffer();
|
||||
|
||||
cmdbuf[0] = IPC_MakeHeader(0x8, 1, 0); // 0x00080040
|
||||
cmdbuf[1] = enableWifi ? 0 : 1;
|
||||
|
||||
Result ret=0;
|
||||
if (R_FAILED(ret = svcSendSyncRequest(nwmExtHandle))) return ret;
|
||||
|
||||
return cmdbuf[1];
|
||||
}
|
Loading…
Reference in New Issue
Block a user