My Project
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules
svc.h File Reference

Go to the source code of this file.

Data Structures

struct  MemInfo
 
struct  PageInfo
 

Enumerations

enum  MemOp {
  MEMOP_FREE =1, MEMOP_ALLOC =3, MEMOP_MAP =4, MEMOP_UNMAP =5,
  MEMOP_PROT =6, MEMOP_FREE_LINEAR =0x10001, MEMOP_ALLOC_LINEAR =0x10003
}
 
enum  MemPerm { MEMPERM_READ =1, MEMPERM_WRITE =2, MEMPERM_EXECUTE =4, MEMPERM_MAX =0xFFFFFFFF }
 
enum  ArbitrationType {
  ARBITER_FREE =0, ARBITER_ACQUIRE =1, ARBITER_KERNEL2 =2, ARBITER_ACQUIRE_TIMEOUT =3,
  ARBITER_KERNEL4 =4
}
 

Functions

u32getThreadCommandBuffer (void)
 
s32 svcControlMemory (u32 *addr_out, u32 addr0, u32 addr1, u32 size, MemOp op, MemPerm perm)
 
s32 svcQueryMemory (MemInfo *info, PageInfo *out, u32 addr)
 
void __attribute__ ((noreturn)) svcExitProcess()
 
s32 svcCreateThread (Handle *thread, ThreadFunc entrypoint, u32 arg, u32 *stack_top, s32 thread_priority, s32 processor_id)
 
void svcSleepThread (s64 ns)
 
s32 svcCreateMutex (Handle *mutex, bool initially_locked)
 
s32 svcReleaseMutex (Handle handle)
 
s32 svcCreateEvent (Handle *event, u8 reset_type)
 
s32 svcSignalEvent (Handle handle)
 
s32 svcClearEvent (Handle handle)
 
s32 svcCreateTimer (Handle *timer, u8 reset_type)
 
s32 svcSetTimer (Handle timer, s64 initial, s64 interval)
 
s32 svcCancelTimer (Handle timer)
 
s32 svcClearTimer (Handle timer)
 
s32 svcCreateMemoryBlock (Handle *memblock, u32 addr, u32 size, MemPerm my_perm, MemPerm other_perm)
 
s32 svcMapMemoryBlock (Handle memblock, u32 addr, MemPerm my_perm, MemPerm other_perm)
 
s32 svcUnmapMemoryBlock (Handle memblock, u32 addr)
 
s32 svcCreateAddressArbiter (Handle *arbiter)
 
s32 svcArbitrateAddress (Handle arbiter, u32 addr, ArbitrationType type, s32 value, s64 nanoseconds)
 
s32 svcWaitSynchronization (Handle handle, s64 nanoseconds)
 
s32 svcWaitSynchronizationN (s32 *out, Handle *handles, s32 handles_num, bool wait_all, s64 nanoseconds)
 
s32 svcCloseHandle (Handle handle)
 
s32 svcDuplicateHandle (Handle *out, Handle original)
 
u64 svcGetSystemTick ()
 
s32 svcGetSystemInfo (s64 *out, u32 type, s32 param)
 
s32 svcGetProcessInfo (s64 *out, Handle process, u32 type)
 
s32 svcConnectToPort (volatile Handle *out, const char *portName)
 
s32 svcSendSyncRequest (Handle session)
 
s32 svcGetProcessId (u32 *out, Handle handle)
 
s32 svcOutputDebugString (const char *str, int length)
 

Enumeration Type Documentation

Enumerator
ARBITER_FREE 
ARBITER_ACQUIRE 
ARBITER_KERNEL2 
ARBITER_ACQUIRE_TIMEOUT 
ARBITER_KERNEL4 

Definition at line 37 of file svc.h.

enum MemOp
Enumerator
MEMOP_FREE 
MEMOP_ALLOC 
MEMOP_MAP 
MEMOP_UNMAP 
MEMOP_PROT 
MEMOP_FREE_LINEAR 
MEMOP_ALLOC_LINEAR 

Definition at line 8 of file svc.h.

enum MemPerm
Enumerator
MEMPERM_READ 
MEMPERM_WRITE 
MEMPERM_EXECUTE 
MEMPERM_MAX 

Definition at line 19 of file svc.h.

Function Documentation

void __attribute__ ( (noreturn)  )

Definition at line 27 of file initSystem.c.

u32* getThreadCommandBuffer ( void  )
s32 svcArbitrateAddress ( Handle  arbiter,
u32  addr,
ArbitrationType  type,
s32  value,
s64  nanoseconds 
)
s32 svcCancelTimer ( Handle  timer)
s32 svcClearEvent ( Handle  handle)
s32 svcClearTimer ( Handle  timer)
s32 svcCloseHandle ( Handle  handle)
s32 svcConnectToPort ( volatile Handle out,
const char *  portName 
)
s32 svcControlMemory ( u32 addr_out,
u32  addr0,
u32  addr1,
u32  size,
MemOp  op,
MemPerm  perm 
)
s32 svcCreateAddressArbiter ( Handle arbiter)
s32 svcCreateEvent ( Handle event,
u8  reset_type 
)
s32 svcCreateMemoryBlock ( Handle memblock,
u32  addr,
u32  size,
MemPerm  my_perm,
MemPerm  other_perm 
)
s32 svcCreateMutex ( Handle mutex,
bool  initially_locked 
)
s32 svcCreateThread ( Handle thread,
ThreadFunc  entrypoint,
u32  arg,
u32 stack_top,
s32  thread_priority,
s32  processor_id 
)
s32 svcCreateTimer ( Handle timer,
u8  reset_type 
)
s32 svcDuplicateHandle ( Handle out,
Handle  original 
)
s32 svcGetProcessId ( u32 out,
Handle  handle 
)
s32 svcGetProcessInfo ( s64 out,
Handle  process,
u32  type 
)
s32 svcGetSystemInfo ( s64 out,
u32  type,
s32  param 
)
u64 svcGetSystemTick ( )
s32 svcMapMemoryBlock ( Handle  memblock,
u32  addr,
MemPerm  my_perm,
MemPerm  other_perm 
)
s32 svcOutputDebugString ( const char *  str,
int  length 
)
s32 svcQueryMemory ( MemInfo info,
PageInfo out,
u32  addr 
)
s32 svcReleaseMutex ( Handle  handle)
s32 svcSendSyncRequest ( Handle  session)
s32 svcSetTimer ( Handle  timer,
s64  initial,
s64  interval 
)
s32 svcSignalEvent ( Handle  handle)
void svcSleepThread ( s64  ns)
s32 svcUnmapMemoryBlock ( Handle  memblock,
u32  addr 
)
s32 svcWaitSynchronization ( Handle  handle,
s64  nanoseconds 
)
s32 svcWaitSynchronizationN ( s32 out,
Handle handles,
s32  handles_num,
bool  wait_all,
s64  nanoseconds 
)