aboutsummaryrefslogtreecommitdiff
path: root/ctru-sys/src/svc.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ctru-sys/src/svc.rs')
-rw-r--r--ctru-sys/src/svc.rs479
1 files changed, 0 insertions, 479 deletions
diff --git a/ctru-sys/src/svc.rs b/ctru-sys/src/svc.rs
deleted file mode 100644
index fb41bc0..0000000
--- a/ctru-sys/src/svc.rs
+++ /dev/null
@@ -1,479 +0,0 @@
-/* automatically generated by rust-bindgen */
-
-#![allow(dead_code,
- non_camel_case_types,
- non_upper_case_globals,
- non_snake_case)]
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum MemOp {
- MEMOP_FREE = 1,
- MEMOP_RESERVE = 2,
- MEMOP_ALLOC = 3,
- MEMOP_MAP = 4,
- MEMOP_UNMAP = 5,
- MEMOP_PROT = 6,
- MEMOP_REGION_APP = 256,
- MEMOP_REGION_SYSTEM = 512,
- MEMOP_REGION_BASE = 768,
- MEMOP_OP_MASK = 255,
- MEMOP_REGION_MASK = 3840,
- MEMOP_LINEAR_FLAG = 65536,
- MEMOP_ALLOC_LINEAR = 65539,
-}
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum MemState {
- MEMSTATE_FREE = 0,
- MEMSTATE_RESERVED = 1,
- MEMSTATE_IO = 2,
- MEMSTATE_STATIC = 3,
- MEMSTATE_CODE = 4,
- MEMSTATE_PRIVATE = 5,
- MEMSTATE_SHARED = 6,
- MEMSTATE_CONTINUOUS = 7,
- MEMSTATE_ALIASED = 8,
- MEMSTATE_ALIAS = 9,
- MEMSTATE_ALIASCODE = 10,
- MEMSTATE_LOCKED = 11,
-}
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum MemPerm {
- MEMPERM_READ = 1,
- MEMPERM_WRITE = 2,
- MEMPERM_EXECUTE = 4,
- MEMPERM_DONTCARE = 268435456,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct MemInfo {
- pub base_addr: u32_,
- pub size: u32_,
- pub perm: u32_,
- pub state: u32_,
-}
-impl ::core::default::Default for MemInfo {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct PageInfo {
- pub flags: u32_,
-}
-impl ::core::default::Default for PageInfo {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum ArbitrationType {
- ARBITRATION_SIGNAL = 0,
- ARBITRATION_WAIT_IF_LESS_THAN = 1,
- ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN = 2,
- ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT = 3,
- ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT = 4,
-}
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum ResetType { RESET_ONESHOT = 0, RESET_STICKY = 1, RESET_PULSE = 2, }
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum ThreadInfoType { THREADINFO_TYPE_UNKNOWN = 0, }
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum ProcessEventReason { REASON_CREATE = 1, REASON_ATTACH = 2, }
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct ProcessEvent {
- pub program_id: u64_,
- pub process_name: [u8_; 8usize],
- pub process_id: u32_,
- pub reason: u32_,
-}
-impl ::core::default::Default for ProcessEvent {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum ExitProcessEventReason {
- EXITPROCESS_EVENT_NONE = 0,
- EXITPROCESS_EVENT_TERMINATE = 1,
- EXITPROCESS_EVENT_UNHANDLED_EXCEPTION = 2,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct ExitProcessEvent {
- pub reason: u32_,
-}
-impl ::core::default::Default for ExitProcessEvent {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct CreateThreadEvent {
- pub creator_thread_id: u32_,
- pub base_addr: u32_,
- pub entry_point: u32_,
-}
-impl ::core::default::Default for CreateThreadEvent {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum ExitThreadEventReason {
- EXITTHREAD_EVENT_NONE = 0,
- EXITTHREAD_EVENT_TERMINATE = 1,
- EXITTHREAD_EVENT_UNHANDLED_EXC = 2,
- EXITTHREAD_EVENT_TERMINATE_PROCESS = 3,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct ExitThreadEvent {
- pub reason: u32_,
-}
-impl ::core::default::Default for ExitThreadEvent {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum UserBreakType {
- USERBREAK_PANIC = 0,
- USERBREAK_ASSERT = 1,
- USERBREAK_USER = 2,
-}
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum ExceptionEventType {
- EXC_EVENT_UNDEFINED_INSTRUCTION = 0,
- EXC_EVENT_UNKNOWN1 = 1,
- EXC_EVENT_UNKNOWN2 = 2,
- EXC_EVENT_UNKNOWN3 = 3,
- EXC_EVENT_ATTACH_BREAK = 4,
- EXC_EVENT_BREAKPOINT = 5,
- EXC_EVENT_USER_BREAK = 6,
- EXC_EVENT_DEBUGGER_BREAK = 7,
- EXC_EVENT_UNDEFINED_SYSCALL = 8,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct ExceptionEvent {
- pub type_: u32_,
- pub address: u32_,
- pub argument: u32_,
-}
-impl ::core::default::Default for ExceptionEvent {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct SchedulerInOutEvent {
- pub clock_tick: u64_,
-}
-impl ::core::default::Default for SchedulerInOutEvent {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct SyscallInOutEvent {
- pub clock_tick: u64_,
- pub syscall: u32_,
- _bindgen_padding_0_: [u8; 4usize],
-}
-impl ::core::default::Default for SyscallInOutEvent {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct OutputStringEvent {
- pub string_addr: u32_,
- pub string_size: u32_,
-}
-impl ::core::default::Default for OutputStringEvent {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct MapEvent {
- pub mapped_addr: u32_,
- pub mapped_size: u32_,
- pub memperm: u32_,
- pub memstate: u32_,
-}
-impl ::core::default::Default for MapEvent {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[derive(Copy, Clone)]
-#[repr(u32)]
-#[derive(Debug)]
-pub enum DebugEventType {
- DBG_EVENT_PROCESS = 0,
- DBG_EVENT_CREATE_THREAD = 1,
- DBG_EVENT_EXIT_THREAD = 2,
- DBG_EVENT_EXIT_PROCESS = 3,
- DBG_EVENT_EXCEPTION = 4,
- DBG_EVENT_DLL_LOAD = 5,
- DBG_EVENT_DLL_UNLOAD = 6,
- DBG_EVENT_SCHEDULE_IN = 7,
- DBG_EVENT_SCHEDULE_OUT = 8,
- DBG_EVENT_SYSCALL_IN = 9,
- DBG_EVENT_SYSCALL_OUT = 10,
- DBG_EVENT_OUTPUT_STRING = 11,
- DBG_EVENT_MAP = 12,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct DebugEventInfo {
- pub type_: u32_,
- pub thread_id: u32_,
- pub unknown: [u32_; 2usize],
- pub _bindgen_data_1_: [u64; 3usize],
-}
-impl DebugEventInfo {
- pub unsafe fn process(&mut self) -> *mut ProcessEvent {
- let raw: *mut u8 = ::core::mem::transmute(&self._bindgen_data_1_);
- ::core::mem::transmute(raw.offset(0))
- }
- pub unsafe fn create_thread(&mut self) -> *mut CreateThreadEvent {
- let raw: *mut u8 = ::core::mem::transmute(&self._bindgen_data_1_);
- ::core::mem::transmute(raw.offset(0))
- }
- pub unsafe fn exit_thread(&mut self) -> *mut ExitThreadEvent {
- let raw: *mut u8 = ::core::mem::transmute(&self._bindgen_data_1_);
- ::core::mem::transmute(raw.offset(0))
- }
- pub unsafe fn exit_process(&mut self) -> *mut ExitProcessEvent {
- let raw: *mut u8 = ::core::mem::transmute(&self._bindgen_data_1_);
- ::core::mem::transmute(raw.offset(0))
- }
- pub unsafe fn exception(&mut self) -> *mut ExceptionEvent {
- let raw: *mut u8 = ::core::mem::transmute(&self._bindgen_data_1_);
- ::core::mem::transmute(raw.offset(0))
- }
- pub unsafe fn scheduler(&mut self) -> *mut SchedulerInOutEvent {
- let raw: *mut u8 = ::core::mem::transmute(&self._bindgen_data_1_);
- ::core::mem::transmute(raw.offset(0))
- }
- pub unsafe fn syscall(&mut self) -> *mut SyscallInOutEvent {
- let raw: *mut u8 = ::core::mem::transmute(&self._bindgen_data_1_);
- ::core::mem::transmute(raw.offset(0))
- }
- pub unsafe fn output_string(&mut self) -> *mut OutputStringEvent {
- let raw: *mut u8 = ::core::mem::transmute(&self._bindgen_data_1_);
- ::core::mem::transmute(raw.offset(0))
- }
- pub unsafe fn map(&mut self) -> *mut MapEvent {
- let raw: *mut u8 = ::core::mem::transmute(&self._bindgen_data_1_);
- ::core::mem::transmute(raw.offset(0))
- }
-}
-impl ::core::default::Default for DebugEventInfo {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct CodeSetInfo {
- pub name: [u8_; 8usize],
- pub unk1: u16_,
- pub unk2: u16_,
- pub unk3: u32_,
- pub text_addr: u32_,
- pub text_size: u32_,
- pub ro_addr: u32_,
- pub ro_size: u32_,
- pub rw_addr: u32_,
- pub rw_size: u32_,
- pub text_size_total: u32_,
- pub ro_size_total: u32_,
- pub rw_size_total: u32_,
- pub unk4: u32_,
- pub program_id: u64_,
-}
-impl ::core::default::Default for CodeSetInfo {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct StartupInfo {
- pub priority: ::libc::c_int,
- pub stack_size: u32_,
- pub argc: ::libc::c_int,
- pub argv: *mut u16_,
- pub envp: *mut u16_,
-}
-impl ::core::default::Default for StartupInfo {
- fn default() -> Self { unsafe { ::core::mem::zeroed() } }
-}
-extern "C" {
- pub fn svcControlMemory(addr_out: *mut u32_, addr0: u32_, addr1: u32_,
- size: u32_, op: MemOp, perm: MemPerm) -> Result;
- pub fn svcControlProcessMemory(process: Handle, addr0: u32_, addr1: u32_,
- size: u32_, type_: u32_, perm: u32_)
- -> Result;
- pub fn svcCreateMemoryBlock(memblock: *mut Handle, addr: u32_, size: u32_,
- my_perm: MemPerm, other_perm: MemPerm)
- -> Result;
- pub fn svcMapMemoryBlock(memblock: Handle, addr: u32_, my_perm: MemPerm,
- other_perm: MemPerm) -> Result;
- pub fn svcMapProcessMemory(process: Handle, startAddr: u32_,
- endAddr: u32_) -> Result;
- pub fn svcUnmapProcessMemory(process: Handle, startAddr: u32_,
- endAddr: u32_) -> Result;
- pub fn svcUnmapMemoryBlock(memblock: Handle, addr: u32_) -> Result;
- pub fn svcStartInterProcessDma(dma: *mut Handle, dstProcess: Handle,
- dst: *mut ::libc::c_void,
- srcProcess: Handle,
- src: *const ::libc::c_void, size: u32_,
- dmaConfig: *mut ::libc::c_void) -> Result;
- pub fn svcStopDma(dma: Handle) -> Result;
- pub fn svcGetDmaState(dmaState: *mut ::libc::c_void, dma: Handle)
- -> Result;
- pub fn svcQueryMemory(info: *mut MemInfo, out: *mut PageInfo, addr: u32_)
- -> Result;
- pub fn svcQueryProcessMemory(info: *mut MemInfo, out: *mut PageInfo,
- process: Handle, addr: u32_) -> Result;
- pub fn svcInvalidateProcessDataCache(process: Handle,
- addr: *mut ::libc::c_void,
- size: u32_) -> Result;
- pub fn svcFlushProcessDataCache(process: Handle,
- addr: *const ::libc::c_void, size: u32_)
- -> Result;
- pub fn svcReadProcessMemory(buffer: *mut ::libc::c_void, debug: Handle,
- addr: u32_, size: u32_) -> Result;
- pub fn svcWriteProcessMemory(debug: Handle, buffer: *const ::libc::c_void,
- addr: u32_, size: u32_) -> Result;
- pub fn svcOpenProcess(process: *mut Handle, processId: u32_) -> Result;
- pub fn svcExitProcess();
- pub fn svcTerminateProcess(process: Handle) -> Result;
- pub fn svcGetProcessInfo(out: *mut s64, process: Handle, type_: u32_)
- -> Result;
- pub fn svcGetProcessId(out: *mut u32_, handle: Handle) -> Result;
- pub fn svcGetProcessList(processCount: *mut s32, processIds: *mut u32_,
- processIdMaxCount: s32) -> Result;
- pub fn svcCreatePort(portServer: *mut Handle, portClient: *mut Handle,
- name: *const ::libc::c_char, maxSessions: s32)
- -> Result;
- pub fn svcConnectToPort(out: *mut Handle, portName: *const ::libc::c_char)
- -> Result;
- pub fn svcCreateCodeSet(out: *mut Handle, info: *const CodeSetInfo,
- code_ptr: *mut ::libc::c_void,
- ro_ptr: *mut ::libc::c_void,
- data_ptr: *mut ::libc::c_void) -> Result;
- pub fn svcCreateProcess(out: *mut Handle, codeset: Handle,
- arm11kernelcaps: *const u32_,
- arm11kernelcaps_num: u32_) -> Result;
- pub fn svcSetProcessAffinityMask(process: Handle,
- affinitymask: *const u8_,
- processorcount: s32) -> Result;
- pub fn svcSetProcessIdealProcessor(process: Handle, processorid: s32)
- -> Result;
- pub fn svcRun(process: Handle, info: *const StartupInfo) -> Result;
- pub fn svcCreateThread(thread: *mut Handle, entrypoint: ThreadFunc,
- arg: u32_, stack_top: *mut u32_,
- thread_priority: s32, processor_id: s32) -> Result;
- pub fn svcOpenThread(thread: *mut Handle, process: Handle, threadId: u32_)
- -> Result;
- pub fn svcExitThread();
- pub fn svcSleepThread(ns: s64);
- pub fn svcGetThreadPriority(out: *mut s32, handle: Handle) -> Result;
- pub fn svcSetThreadPriority(thread: Handle, prio: s32) -> Result;
- pub fn svcGetThreadAffinityMask(affinitymask: *mut u8_, thread: Handle,
- processorcount: s32) -> Result;
- pub fn svcSetThreadAffinityMask(thread: Handle, affinitymask: *const u8_,
- processorcount: s32) -> Result;
- pub fn svcGetThreadIdealProcessor(processorid: *mut s32, thread: Handle)
- -> Result;
- pub fn svcSetThreadIdealProcessor(thread: Handle, processorid: s32)
- -> Result;
- pub fn svcGetProcessorID() -> s32;
- pub fn svcGetThreadId(out: *mut u32_, handle: Handle) -> Result;
- pub fn svcGetResourceLimit(resourceLimit: *mut Handle, process: Handle)
- -> Result;
- pub fn svcGetResourceLimitLimitValues(values: *mut s64,
- resourceLimit: Handle,
- names: *mut u32_, nameCount: s32)
- -> Result;
- pub fn svcGetResourceLimitCurrentValues(values: *mut s64,
- resourceLimit: Handle,
- names: *mut u32_, nameCount: s32)
- -> Result;
- pub fn svcGetProcessIdOfThread(out: *mut u32_, handle: Handle) -> Result;
- pub fn svcGetThreadInfo(out: *mut s64, thread: Handle,
- type_: ThreadInfoType) -> Result;
- pub fn svcCreateMutex(mutex: *mut Handle, initially_locked: u8) -> Result;
- pub fn svcReleaseMutex(handle: Handle) -> Result;
- pub fn svcCreateSemaphore(semaphore: *mut Handle, initial_count: s32,
- max_count: s32) -> Result;
- pub fn svcReleaseSemaphore(count: *mut s32, semaphore: Handle,
- release_count: s32) -> Result;
- pub fn svcCreateEvent(event: *mut Handle, reset_type: ResetType)
- -> Result;
- pub fn svcSignalEvent(handle: Handle) -> Result;
- pub fn svcClearEvent(handle: Handle) -> Result;
- pub fn svcWaitSynchronization(handle: Handle, nanoseconds: s64) -> Result;
- pub fn svcWaitSynchronizationN(out: *mut s32, handles: *mut Handle,
- handles_num: s32, wait_all: u8,
- nanoseconds: s64) -> Result;
- pub fn svcCreateAddressArbiter(arbiter: *mut Handle) -> Result;
- pub fn svcArbitrateAddress(arbiter: Handle, addr: u32_,
- type_: ArbitrationType, value: s32,
- nanoseconds: s64) -> Result;
- pub fn svcSendSyncRequest(session: Handle) -> Result;
- pub fn svcAcceptSession(session: *mut Handle, port: Handle) -> Result;
- pub fn svcReplyAndReceive(index: *mut s32, handles: *mut Handle,
- handleCount: s32, replyTarget: Handle)
- -> Result;
- pub fn svcBindInterrupt(interruptId: u32_, event: Handle, priority: s32,
- isManualClear: u8) -> Result;
- pub fn svcUnbindInterrupt(interruptId: u32_, event: Handle) -> Result;
- pub fn svcCreateTimer(timer: *mut Handle, reset_type: ResetType)
- -> Result;
- pub fn svcSetTimer(timer: Handle, initial: s64, interval: s64) -> Result;
- pub fn svcCancelTimer(timer: Handle) -> Result;
- pub fn svcClearTimer(timer: Handle) -> Result;
- pub fn svcGetSystemTick() -> u64_;
- pub fn svcCloseHandle(handle: Handle) -> Result;
- pub fn svcDuplicateHandle(out: *mut Handle, original: Handle) -> Result;
- pub fn svcGetSystemInfo(out: *mut s64, type_: u32_, param: s32) -> Result;
- pub fn svcKernelSetState(type_: u32_, param0: u32_, param1: u32_,
- param2: u32_) -> Result;
- pub fn svcBreak(breakReason: UserBreakType);
- pub fn svcOutputDebugString(str: *const ::libc::c_char,
- length: ::libc::c_int) -> Result;
- pub fn svcDebugActiveProcess(debug: *mut Handle, processId: u32_)
- -> Result;
- pub fn svcBreakDebugProcess(debug: Handle) -> Result;
- pub fn svcTerminateDebugProcess(debug: Handle) -> Result;
- pub fn svcGetProcessDebugEvent(info: *mut DebugEventInfo, debug: Handle)
- -> Result;
- pub fn svcContinueDebugEvent(debug: Handle, flags: u32_) -> Result;
- pub fn svcBackdoor(callback:
- ::core::option::Option<extern "C" fn() -> s32>)
- -> Result;
-}
-
-use ::types::*;