Ronald Kinard
10 years ago
20 changed files with 429 additions and 11 deletions
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
use ::{Handle, Result}; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn acInit() -> Result; |
||||
pub fn acExit() -> Result; |
||||
pub fn ACU_GetWifiStatus(servhandle: *mut Handle, out: *mut u32) -> Result; |
||||
pub fn ACU_WaitInternetConnection() -> Result; |
||||
} |
@ -0,0 +1,30 @@
@@ -0,0 +1,30 @@
|
||||
use ::raw::c_void; |
||||
use ::{Result, Handle}; |
||||
|
||||
#[repr(C)] |
||||
#[derive(Clone, Copy)] |
||||
pub struct TitleList { |
||||
titleID: u64, |
||||
size: u64, |
||||
titleVersion: u16, |
||||
unknown2: [u8; 6usize] |
||||
} |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn amInit() -> Result; |
||||
pub fn amExit() -> Result; |
||||
pub fn amGetSessionHandle() -> *mut Handle; |
||||
pub fn AM_GetTitleCount(mediatype: u8, count: *mut u32) -> Result; |
||||
pub fn AM_GetTitleIdList(mediatype: u8, count: u32, titleIDs: *mut u64) -> Result; |
||||
pub fn AM_GetDeviceId(deviceID: *mut u32) -> Result; |
||||
pub fn AM_ListTitles(mediatype: u8, titleCount: u32, titleIdList: *mut u64, titleList: *mut TitleList) -> Result; |
||||
pub fn AM_StartCiaInstall(mediatype: u8, ciaHandle: *mut Handle) -> Result; |
||||
pub fn AM_StartDlpChildCiaInstall(ciaHandle: *mut Handle) -> Result; |
||||
pub fn AM_CancelCIAInstall(ciaHandle: *mut Handle) -> Result; |
||||
pub fn AM_FinishCiaInstall(mediatype: u8, ciaHandle: *mut Handle) -> Result; |
||||
pub fn AM_DeleteTitle(mediatype: u8, titleID: u64) -> Result; |
||||
pub fn AM_DeleteAppTitle(mediatype: u8, titleID: u64) -> Result; |
||||
pub fn AM_InstallFIRM(titleID: u64) -> Result; |
||||
pub fn AM_GetTitleProductCode(mediatype: u8, titleID: u64, productCode: *mut c_void) -> Result; |
||||
} |
@ -0,0 +1,128 @@
@@ -0,0 +1,128 @@
|
||||
extern crate core; |
||||
use core::option::Option; |
||||
|
||||
use ::{Handle, Result}; |
||||
use ::raw::c_void; |
||||
|
||||
pub const RUNFLAG_APTWORKAROUND: u32 = 1; |
||||
pub const RUNFLAG_APTREINIT: u32 = 2; |
||||
|
||||
#[repr(C)] |
||||
pub enum NS_APPID { |
||||
APPID_HOMEMENU = 0x101, // Home Menu
|
||||
APPID_CAMERA = 0x110, // Camera applet
|
||||
APPID_FRIENDS_LIST = 0x112, // Friends List applet
|
||||
APPID_GAME_NOTES = 0x113, // Game Notes applet
|
||||
APPID_WEB = 0x114, // Internet Browser
|
||||
APPID_INSTRUCTION_MANUAL = 0x115, // Instruction Manual applet
|
||||
APPID_NOTIFICATIONS = 0x116, // Notifications applet
|
||||
APPID_MIIVERSE = 0x117, // Miiverse applet
|
||||
APPID_APPLICATION = 0x300, // Application
|
||||
APPID_SOFTWARE_KEYBOARD = 0x401, // Software Keyboard
|
||||
APPID_APPLETED = 0x402, // appletEd
|
||||
APPID_PNOTE_AP = 0x404, // PNOTE_AP
|
||||
APPID_SNOTE_AP = 0x405, // SNOTE_AP
|
||||
APPID_ERROR = 0x406, // error
|
||||
APPID_MINT = 0x407, // mint
|
||||
APPID_EXTRAPAD = 0x408, // extrapad
|
||||
APPID_MEMOLIB = 0x409, // memolib
|
||||
} // cf http://3dbrew.org/wiki/NS_and_APT_Services#AppIDs
|
||||
|
||||
#[repr(C)] |
||||
pub enum APP_STATUS { |
||||
APP_NOTINITIALIZED, |
||||
APP_RUNNING, |
||||
APP_SUSPENDED, |
||||
APP_EXITING, |
||||
APP_SUSPENDING, |
||||
APP_SLEEPMODE, |
||||
APP_PREPARE_SLEEPMODE, |
||||
APP_APPLETSTARTED, |
||||
APP_APPLETCLOSED |
||||
} |
||||
|
||||
#[repr(C)] |
||||
pub enum APTSIGNAL { |
||||
APTSIGNAL_HOMEBUTTON = 1, |
||||
// 2: sleep-mode related?
|
||||
APTSIGNAL_PREPARESLEEP = 3, |
||||
// 4: triggered when ptm:s GetShellStatus() returns 5.
|
||||
APTSIGNAL_ENTERSLEEP = 5, |
||||
APTSIGNAL_WAKEUP = 6, |
||||
APTSIGNAL_ENABLE = 7, |
||||
APTSIGNAL_POWERBUTTON = 8, |
||||
APTSIGNAL_UTILITY = 9, |
||||
APTSIGNAL_SLEEPSYSTEM = 10, |
||||
APTSIGNAL_ERROR = 11 |
||||
} |
||||
|
||||
#[repr(C)] |
||||
pub enum APTHOOK { |
||||
APTHOOK_ONSUSPEND = 0, |
||||
APTHOOK_ONRESTORE, |
||||
APTHOOK_ONSLEEP, |
||||
APTHOOK_ONWAKEUP, |
||||
APTHOOK_ONEXIT, |
||||
|
||||
APTHOOK_COUNT, |
||||
} |
||||
|
||||
type aptHookFn = Option<extern "C" fn(hook: i32, param: *mut c_void) -> ()>; |
||||
|
||||
#[repr(C)] |
||||
#[derive(Clone, Copy)] |
||||
pub struct aptHookCookie { |
||||
next: *mut aptHookCookie, |
||||
callback: aptHookFn, |
||||
param: *mut c_void, |
||||
} |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub static mut aptEvents: [Handle; 3usize]; |
||||
|
||||
pub fn aptInit() -> Result; |
||||
pub fn aptExit() -> (); |
||||
pub fn aptOpenSession() -> (); |
||||
pub fn aptCloseSession() -> (); |
||||
pub fn aptSetStatus(status: APP_STATUS) -> (); |
||||
pub fn aptGetStatus() -> APP_STATUS; |
||||
pub fn aptGetStatusPower() -> u32; |
||||
pub fn aptSetStatusPower(status: u32) -> (); |
||||
pub fn aptReturnToMenu() -> (); |
||||
pub fn aptWaitStatusEvent() -> (); |
||||
pub fn aptSignalReadyForSleep() -> (); |
||||
pub fn aptGetMenuAppID() -> NS_APPID; |
||||
pub fn aptMainLoop() -> u8; |
||||
pub fn APT_GetLockHandle(handle: *mut Handle, flags: u16, lockHandle: *mut Handle) -> Result; |
||||
pub fn APT_Initialize(handle: *mut Handle, appId: NS_APPID, eventHandle1: *mut Handle, eventHandle2: *mut Handle) -> Result; |
||||
pub fn APT_HardwareResetAsync(handle: *mut Handle) -> Result; |
||||
pub fn APT_Enable(handle: *mut Handle, a: u32) -> Result; |
||||
pub fn APT_GetAppletManInfo(handle: *mut Handle, inval: u8, outval8: *mut u8, outval32: *mut u32, menu_appid: *mut NS_APPID, active_appid: *mut NS_APPID) -> Result; |
||||
pub fn APT_PrepareToJumpToHomeMenu(handle: *mut Handle) -> Result; |
||||
pub fn APT_JumpToHomeMenu(handle: *mut Handle, a: u32, b: u32, c: u32) -> Result; |
||||
pub fn APT_IsRegistered(handle: *mut Handle, appID: NS_APPID, out: *mut u8) -> Result; |
||||
pub fn APT_InquireNotification(handle: *mut Handle, appID: u32, signalType: *mut u8) -> Result; |
||||
pub fn APT_NotifyToWait(handle: *mut Handle, appID: NS_APPID) -> Result; |
||||
pub fn APT_AppletUtility(handle: *mut Handle, out: *mut u32, a: u32, size1: u32, buf1: *mut u8, size2: u32, buf2: *mut u8) -> Result; |
||||
pub fn APT_GlanceParameter(handle: *mut Handle, appID: NS_APPID, bufferSize: u32, buffer: *mut u32, actualSize: *mut u32, signalType: *mut u8) -> Result; |
||||
pub fn APT_ReceiveParameter(handle: *mut Handle, appID: NS_APPID, bufferSize: u32, buffer: *mut u32, actualSize: *mut u32, signalType: *mut u8) -> Result; |
||||
pub fn APT_SendParameter(handle: *mut Handle, src_appID: NS_APPID, dst_appID: NS_APPID, bufferSize: u32, buffer: *mut u32, paramhandle: Handle, signalType: u8) -> Result; |
||||
pub fn APT_SendCaptureBufferInfo(handle: *mut Handle, bufferSize: u32, buffer: *mut u32) -> Result; |
||||
pub fn APT_ReplySleepQuery(handle: *mut Handle, appID: NS_APPID, a: u32) -> Result; |
||||
pub fn APT_ReplySleepNotificationComplete(handle: *mut Handle, appID: NS_APPID) -> Result; |
||||
pub fn APT_PrepareToCloseApplication(handle: *mut Handle, a: u8) -> Result; |
||||
pub fn APT_CloseApplication(handle: *mut Handle, a: u32, b: u32, c: u32) -> Result; |
||||
pub fn APT_SetAppCpuTimeLimit(handle: *mut Handle, percent: u32) -> Result; |
||||
pub fn APT_GetAppCpuTimeLimit(handle: *mut Handle, percent: *mut u32) -> Result; |
||||
pub fn APT_CheckNew3DS_Application(handle: *mut Handle, out: *mut u8) -> Result; |
||||
pub fn APT_CheckNew3DS_System(handle: *mut Handle, out: *mut u8) -> Result; |
||||
pub fn APT_CheckNew3DS(handle: *mut Handle, out: *mut u8) -> Result; |
||||
pub fn APT_PrepareToDoAppJump(handle: *mut Handle, flags: u8, programID: u64, mediatype: u8) -> Result; |
||||
pub fn APT_DoAppJump(handle: *mut Handle, NSbuf0Size: u32, NSbuf1Size: u32, NSbuf0Ptr: *mut u8, NSbuf1Ptr: *mut u8) -> Result; |
||||
pub fn APT_PrepareToStartLibraryApplet(handle: *mut Handle, appID: NS_APPID) -> Result; |
||||
pub fn APT_StartLibraryApplet(handle: *mut Handle, appID: NS_APPID, inhandle: Handle, parambuf: *mut u32, parambufsize: u32) -> Result; |
||||
pub fn APT_LaunchLibraryApplet(appID: NS_APPID, inhandle: Handle, parambuf: *mut u32, parambufsize: u32) -> Result; |
||||
pub fn APT_PrepareToStartSystemApplet(handle: *mut Handle, appID: NS_APPID) -> Result; |
||||
pub fn APT_StartSystemApplet(handle: *mut Handle, appID: NS_APPID, bufSize: u32, applHandle: Handle, buf: *mut u8) -> Result; |
||||
} |
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
use ::Result; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn CFGNOR_Initialize(value: u8) -> Result; |
||||
pub fn CFGNOR_Shutdown() -> Result; |
||||
pub fn CFGNOR_ReadData(offset: u32, buf: *mut u32, size: u32) -> Result; |
||||
pub fn CFGNOR_WriteData(offset: u32, buf: *mut u32, size: u32) -> Result; |
||||
pub fn CFGNOR_DumpFlash(buf: *mut u32, size: u32) -> Result; |
||||
pub fn CFGNOR_WriteFlash(buf: *mut u32, size: u32) -> Result; |
||||
} |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
use ::Result; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn initCfgu() -> Result; |
||||
pub fn exitCfgu() -> Result; |
||||
pub fn CFGU_SecureInfoGetRegion(region: *mut u8) -> Result; |
||||
pub fn CFGU_GenHashConsoleUnique(appIDSalt: u32, hash: *mut u64) -> Result; |
||||
pub fn CFGU_GetRegionCanadaUSA(value: *mut u8) -> Result; |
||||
pub fn CFGU_GetSystemModel(model: *mut u8) -> Result; |
||||
pub fn CFGU_GetModelNintendo2DS(value: *mut u8) -> Result; |
||||
pub fn CFGU_GetCountryCodeString(code: u16, string: *mut u16) -> Result; |
||||
pub fn CFGU_GetCountryCodeID(string: u16, code: *mut u16) -> Result; |
||||
pub fn CFGU_GetConfigInfoBlk2(size: u32, blkID: u32, outData: *mut u8) -> Result; |
||||
pub fn CFGU_GetSystemLanguage(language: *mut u8) -> Result; |
||||
} |
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
use ::Result; |
||||
use ::raw::c_void; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn hbInit() -> Result; |
||||
pub fn hbExit() -> (); |
||||
pub fn HB_FlushInvalidateCache() -> Result; |
||||
pub fn HB_GetBootloaderAddresses(load3dsx: *mut *mut c_void, setArgv: *mut *mut c_void) -> Result; |
||||
pub fn HB_ReprotectMemory(addr: *mut u32, pages: u32, mode: u32, reprotectedPages: *mut u32) -> Result; |
||||
} |
@ -0,0 +1,103 @@
@@ -0,0 +1,103 @@
|
||||
use ::raw::types::*; |
||||
use ::{Result, Handle}; |
||||
|
||||
pub const HID_SHAREDMEM_DEFAULT: u32 = 0x10000000; |
||||
|
||||
#[repr(C)] |
||||
pub enum PAD_KEY { |
||||
KEY_A = 1, |
||||
KEY_B = 2, |
||||
KEY_SELECT = 4, |
||||
KEY_START = 8, |
||||
KEY_DRIGHT = 16, |
||||
KEY_DLEFT = 32, |
||||
KEY_DUP = 64, |
||||
KEY_DDOWN = 128, |
||||
KEY_R = 256, |
||||
KEY_L = 512, |
||||
KEY_X = 1024, |
||||
KEY_Y = 2048, |
||||
KEY_ZL = 4096, // (new 3DS only)
|
||||
KEY_ZR = 8192, // (new 3DS only)
|
||||
KEY_TOUCH = 1048576, // Not actually provided by HID
|
||||
KEY_CSTICK_RIGHT = 16777216, // c-stick (new 3DS only)
|
||||
KEY_CSTICK_LEFT = 33554432, // c-stick (new 3DS only)
|
||||
KEY_CSTICK_UP = 67108864, // c-stick (new 3DS only)
|
||||
KEY_CSTICK_DOWN = 134217728, // c-stick (new 3DS only)
|
||||
KEY_CPAD_RIGHT = 268435456, // circle pad
|
||||
KEY_CPAD_LEFT = 536870912, // circle pad
|
||||
KEY_CPAD_UP = 1073741824, // circle pad
|
||||
KEY_CPAD_DOWN = 2147483648, // circle pad
|
||||
|
||||
// Generic catch-all directions
|
||||
/*KEY_UP = KEY_DUP | KEY_CPAD_UP,
|
||||
KEY_DOWN = KEY_DDOWN | KEY_CPAD_DOWN, |
||||
KEY_LEFT = KEY_DLEFT | KEY_CPAD_LEFT, |
||||
KEY_RIGHT = KEY_DRIGHT | KEY_CPAD_RIGHT,*/ |
||||
} |
||||
|
||||
#[repr(C)] |
||||
#[derive(Clone, Copy)] |
||||
pub struct touchPosition { |
||||
px: u16, |
||||
py: u16, |
||||
} |
||||
|
||||
#[repr(C)] |
||||
#[derive(Clone, Copy)] |
||||
pub struct circlePosition { |
||||
dx: s16, |
||||
dy: s16, |
||||
} |
||||
|
||||
#[repr(C)] |
||||
#[derive(Clone, Copy)] |
||||
pub struct accelVector { |
||||
x: s16, |
||||
y: s16, |
||||
z: s16 |
||||
} |
||||
|
||||
#[repr(C)] |
||||
#[derive(Clone, Copy)] |
||||
pub struct angularRate { |
||||
x: s16, //roll
|
||||
z: s16, //yaw
|
||||
y: s16, //pitch
|
||||
} |
||||
|
||||
#[repr(C)] |
||||
pub enum HID_Event { |
||||
HIDEVENT_PAD0 = 0, //"Event signaled by HID-module, when the sharedmem+0(PAD/circle-pad)/+0xA8(touch-screen) region was updated."
|
||||
HIDEVENT_PAD1, //"Event signaled by HID-module, when the sharedmem+0(PAD/circle-pad)/+0xA8(touch-screen) region was updated."
|
||||
HIDEVENT_Accel, //"Event signaled by HID-module, when the sharedmem accelerometer state was updated."
|
||||
HIDEVENT_Gyro, //"Event signaled by HID-module, when the sharedmem gyroscope state was updated."
|
||||
HIDEVENT_DebugPad, //"Event signaled by HID-module, when the sharedmem DebugPad state was updated."
|
||||
|
||||
HIDEVENT_MAX, // used to know how many events there are
|
||||
} |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub static hidMemHandle: Handle; |
||||
pub static hidSharedMem: *mut vu32; |
||||
|
||||
pub fn hidInit(sharedMem: *mut u32) -> Result; |
||||
pub fn hidExit() -> (); |
||||
pub fn hidScanInput() -> (); |
||||
pub fn hidKeysHeld() -> u32; |
||||
pub fn hidKeysDown() -> u32; |
||||
pub fn hidKeysUp() -> u32; |
||||
pub fn hidTouchRead(pos: *mut touchPosition) -> (); |
||||
pub fn hidCircleRead(pos: *mut circlePosition) -> (); |
||||
pub fn hidAccelRead(vector: *mut accelVector) -> (); |
||||
pub fn hidGyroRead(rate: *mut angularRate) -> (); |
||||
pub fn hidWaitForEvent(id: HID_Event, nextEvent: u8) -> (); |
||||
pub fn HIDUSER_GetHandles(outMemHandle: *mut Handle, eventpad0: *mut Handle, eventpad1: *mut Handle, eventaccel: *mut Handle, eventgyro: *mut Handle, eventdebugpad: *mut Handle) -> Result; |
||||
pub fn HIDUSER_EnableAccelerometer() -> Result; |
||||
pub fn HIDUSER_DisableAccelerometer() -> Result; |
||||
pub fn HIDUSER_EnableGyroscope() -> Result; |
||||
pub fn HIDUSER_DisableGyroscope() -> Result; |
||||
pub fn HIDUSER_GetGyroscopeRawToDpsCoefficient(coeff: *mut f32) -> Result; |
||||
pub fn HIDUSER_GetSoundVolume(volume: *mut u8) -> Result; |
||||
} |
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
use ::{Result, Handle}; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn IRU_Initialize(sharedmem_addr: *mut u32, sharedmem_size: u32) -> Result; |
||||
pub fn IRU_Shutdown() -> Result; |
||||
pub fn IRU_GetServHandle() -> Handle; |
||||
pub fn IRU_SendData(buf: *mut u8, size: u32, wait: u32) -> Result; |
||||
pub fn IRU_RecvData(buf: *mut u8, size: u32, flag: u8, transfercount: *mut u32, wait: u32) -> Result; |
||||
pub fn IRU_SetBitRate(value: u8) -> Result; |
||||
pub fn IRU_GetBitRate(out: *mut u8) -> Result; |
||||
pub fn IRU_SetIRLEDState(value: u32) -> Result; |
||||
pub fn IRU_GetIRLEDRecvState(out: *mut u32) -> Result; |
||||
} |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
use ::{Result, Handle}; |
||||
use ::raw::types::*; |
||||
|
||||
use super::hid::circlePosition; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub static irrstMemHandle: Handle; |
||||
pub static irrstSharedMem: *mut vu32; |
||||
|
||||
pub fn irrstInit(sharedMem: *mut u32) -> Result; |
||||
pub fn irrstExit() -> (); |
||||
pub fn irrstScanInput() -> (); |
||||
pub fn irrstKeysHeld() -> u32; |
||||
pub fn irrstCstickRead(pos: *mut circlePosition) -> (); |
||||
pub fn irrstWaitForEvent(nextEvent: u8) -> (); |
||||
pub fn IRRST_GetHandles(outMemHandle: *mut Handle, |
||||
outEventHandle: *mut Handle) -> Result; |
||||
pub fn IRRST_Initialize(unk1: u32, unk2: u8) -> Result; |
||||
pub fn IRRST_Shutdown() -> Result; |
||||
} |
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
use ::{Result, Handle}; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn MIC_Initialize(sharedmem: *mut u32, sharedmem_size: u32, control: u8, recording: u8, unk0: u8, unk1: u8, unk2: u8) -> Result; |
||||
pub fn MIC_Shutdown() -> Result; |
||||
pub fn MIC_GetSharedMemOffsetValue() -> u32; |
||||
pub fn MIC_ReadAudioData(outbuf: *mut u8, readsize: u32, waitforevent: u32) -> u32; |
||||
pub fn MIC_MapSharedMem(handle: Handle, size: u32) -> Result; |
||||
pub fn MIC_UnmapSharedMem() -> Result; |
||||
pub fn MIC_cmd3_Initialize(unk0: u8, unk1: u8, sharedmem_baseoffset: u32, sharedmem_endoffset: u32, unk2: u8) -> Result; |
||||
pub fn MIC_cmd5() -> Result; |
||||
pub fn MIC_GetCNTBit15(out: *mut u8) -> Result; |
||||
pub fn MIC_GetEventHandle(handle: *mut Handle) -> Result; |
||||
pub fn MIC_SetControl(value: u8) -> Result; |
||||
pub fn MIC_GetControl(value: *mut u8) -> Result; |
||||
pub fn MIC_SetRecording(value: u8) -> Result; |
||||
pub fn MIC_IsRecoding(value: *mut u8) -> Result; |
||||
} |
@ -1 +1,15 @@
@@ -1 +1,15 @@
|
||||
pub mod ac; |
||||
pub mod am; |
||||
pub mod apt; |
||||
pub mod cfgnor; |
||||
pub mod cfgu; |
||||
pub mod gsp; |
||||
pub mod hb; |
||||
pub mod hid; |
||||
pub mod ir; |
||||
pub mod irrst; |
||||
pub mod mic; |
||||
pub mod ns; |
||||
pub mod pm; |
||||
pub mod ptm; |
||||
pub mod soc; |
||||
|
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
use ::Result; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn nsInit() -> Result; |
||||
pub fn nsExit() -> Result; |
||||
pub fn NS_LaunchTitle(titleid: u64, launch_flags: u32, procid: *mut u32) -> Result; |
||||
pub fn NS_RebootToTitle(mediatype: u8, titleid: u64) -> Result; |
||||
} |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
use ::Result; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn pmInit() -> Result; |
||||
pub fn pmExit() -> Result; |
||||
pub fn PM_LaunchTitle(mediatype: u8, titleid: u64, launch_flags: u32) -> Result; |
||||
pub fn PM_GetTitleExheaderFlags(mediatype: u8, titleid: u64, out: *mut u8) -> Result; |
||||
pub fn PM_SetFIRMLaunchParams(size: u32, _in: *mut u8) -> Result; |
||||
pub fn PM_GetFIRMLaunchParams(size: u32, out: *mut u8) -> Result; |
||||
pub fn PM_LaunchFIRMSetParams(firm_titleid_low: u32, size: u32, _in: *mut u8) -> Result; |
||||
} |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
use ::{Result, Handle}; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn ptmInit() -> Result; |
||||
pub fn ptmExit() -> Result; |
||||
pub fn PTMU_GetShellState(servhandle: *mut Handle, out: *mut u8) -> Result; |
||||
pub fn PTMU_GetBatteryLevel(servhandle: *mut Handle, out: *mut u8) -> Result; |
||||
pub fn PTMU_GetBatteryChargeState(servhandle: *mut Handle, out: *mut u8) -> Result; |
||||
pub fn PTMU_GetPedometerState(servhandle: *mut Handle, out: *mut u8) -> Result; |
||||
pub fn PTMU_GetTotalStepCount(servhandle: *mut Handle, steps: *mut u32) -> Result; |
||||
} |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
use ::Result; |
||||
|
||||
#[link(name = "ctru")] |
||||
extern "C" { |
||||
pub fn SOC_Initialize(context_addr: *mut u32, context_size: u32) -> Result; |
||||
pub fn SOC_Shutdown() -> Result; |
||||
} |
Loading…
Reference in new issue