Line 6: |
Line 6: |
| |- | | |- |
| | 0x1 | | | 0x1 |
− | | ControlMemory(u32* outaddr, u32 addr0, u32 addr1, u32 size, u32 operation, u32 permissions) (outaddr is usually the same as the input addr0) | + | | Result ControlMemory(u32* outaddr, u32 addr0, u32 addr1, u32 size, u32 operation, u32 permissions) (outaddr is usually the same as the input addr0) |
| |- | | |- |
| | 0x2 | | | 0x2 |
− | | QueryMemory(MemoryInfo* info, PageInfo* out, u32 Addr) | + | | Result QueryMemory(MemoryInfo* info, PageInfo* out, u32 Addr) |
| |- | | |- |
| | 0x3 | | | 0x3 |
− | | ExitProcess(void) | + | | void ExitProcess(void) |
| |- | | |- |
| | 0x4 | | | 0x4 |
− | | GetProcessAffinityMask(u8* affinitymask, Handle process, s32 processorcount) | + | | Result GetProcessAffinityMask(u8* affinitymask, Handle process, s32 processorcount) |
| |- | | |- |
| | 0x5 | | | 0x5 |
− | | SetProcessAffinityMask(Handle process, u8* affinitymask, s32 processorcount) | + | | Result SetProcessAffinityMask(Handle process, u8* affinitymask, s32 processorcount) |
| |- | | |- |
| | 0x6 | | | 0x6 |
− | | GetProcessIdealProcessor(s32 *idealprocessor, Handle process) | + | | Result GetProcessIdealProcessor(s32 *idealprocessor, Handle process) |
| |- | | |- |
| | 0x7 | | | 0x7 |
− | | SetProcessIdealProcessor(Handle process, s32 idealprocessor) | + | | Result SetProcessIdealProcessor(Handle process, s32 idealprocessor) |
| |- | | |- |
| | 0x8 | | | 0x8 |
− | | CreateThread(Handle* thread, func entrypoint, u32 arg, u32 stacktop, s32 threadpriority, s32 processorid) | + | | Result CreateThread(Handle* thread, func entrypoint, u32 arg, u32 stacktop, s32 threadpriority, s32 processorid) |
| |- | | |- |
| | 0x9 | | | 0x9 |
− | | ExitThread(void) | + | | void ExitThread(void) |
| |- | | |- |
| | 0xA | | | 0xA |
− | | SleepThread(s64 nanoseconds) | + | | void SleepThread(s64 nanoseconds) |
| |- | | |- |
| | 0xB | | | 0xB |
− | | GetThreadPriority(s32* priority, Handle thread) | + | | Result GetThreadPriority(s32* priority, Handle thread) |
| |- | | |- |
| | 0xC | | | 0xC |
− | | SetThreadPriority(Handle thread, s32 priority) | + | | Result SetThreadPriority(Handle thread, s32 priority) |
| |- | | |- |
| | 0xD | | | 0xD |
− | | GetThreadAffinityMask(u8* affinitymask, Handle thread, s32 processorcount) | + | | Result GetThreadAffinityMask(u8* affinitymask, Handle thread, s32 processorcount) |
| |- | | |- |
| | 0xE | | | 0xE |
− | | SetThreadAffinityMask(Handle thread, u8* affinitymask, s32 processorcount) | + | | Result SetThreadAffinityMask(Handle thread, u8* affinitymask, s32 processorcount) |
| |- | | |- |
| | 0xF | | | 0xF |
− | | GetThreadIdealProcessor(s32* processorid, Handle thread) | + | | Result GetThreadIdealProcessor(s32* processorid, Handle thread) |
| |- | | |- |
| | 0x10 | | | 0x10 |
− | | SetThreadIdealProcessor(Handle thread, s32 processorid) | + | | Result SetThreadIdealProcessor(Handle thread, s32 processorid) |
| |- | | |- |
| | 0x11 | | | 0x11 |
− | | GetCurrentProcessorNumber(void) | + | | s32 GetCurrentProcessorNumber(void) |
| |- | | |- |
| | 0x12 | | | 0x12 |
− | | Run(Handle process, StartupInfo* info) (This starts the main() thread. Buf+0 is main-thread priority, Buf+4 is main-thread stack-size.) | + | | Result Run(Handle process, StartupInfo* info) (This starts the main() thread. Buf+0 is main-thread priority, Buf+4 is main-thread stack-size.) |
| |- | | |- |
| | 0x13 | | | 0x13 |
− | | CreateMutex(Handle* mutex, bool initialLocked) | + | | Result CreateMutex(Handle* mutex, bool initialLocked) |
| |- | | |- |
| | 0x14 | | | 0x14 |
− | | ReleaseMutex(Handle mutex) | + | | Result ReleaseMutex(Handle mutex) |
| |- | | |- |
| | 0x15 | | | 0x15 |
− | | CreateSemaphore(Handle* semaphore, s32 initialCount, s32 maxCount) | + | | Result CreateSemaphore(Handle* semaphore, s32 initialCount, s32 maxCount) |
| |- | | |- |
| | 0x16 | | | 0x16 |
− | | ReleaseSemaphore(s32* count, Handle semaphore, s32 releaseCount) | + | | Result ReleaseSemaphore(s32* count, Handle semaphore, s32 releaseCount) |
| |- | | |- |
| | 0x17 | | | 0x17 |
− | | CreateEvent(Handle* event, ResetType resettype) | + | | Result CreateEvent(Handle* event, ResetType resettype) |
| |- | | |- |
| | 0x18 | | | 0x18 |
− | | SignalEvent(Handle event) | + | | Result SignalEvent(Handle event) |
| |- | | |- |
| | 0x19 | | | 0x19 |
− | | ClearEvent(Handle event) | + | | Result ClearEvent(Handle event) |
| |- | | |- |
| | 0x1A | | | 0x1A |
− | | CreateTimer(Handle* timer, ResetType resettype) | + | | Result CreateTimer(Handle* timer, ResetType resettype) |
| |- | | |- |
| | 0x1B | | | 0x1B |
− | | SetTimer(Handle timer, s64 initial, s64 interval) | + | | Result SetTimer(Handle timer, s64 initial, s64 interval) |
| |- | | |- |
| | 0x1C | | | 0x1C |
− | | CancelTimer(Handle timer) | + | | Result CancelTimer(Handle timer) |
| |- | | |- |
| | 0x1D | | | 0x1D |
− | | ClearTimer(Handle timer) | + | | Result ClearTimer(Handle timer) |
| |- | | |- |
| | 0x1E | | | 0x1E |
− | | CreateMemoryBlock(Handle* memblock, u32 memory, u32 size, u32 mypermission, u32 otherpermission) | + | | Result CreateMemoryBlock(Handle* memblock, u32 memory, u32 size, u32 mypermission, u32 otherpermission) |
| |- | | |- |
| | 0x1F | | | 0x1F |
− | | MapMemoryBlock(Handle memblock, u32 addr, u32 mypermissions, u32 otherpermission) | + | | Result MapMemoryBlock(Handle memblock, u32 addr, u32 mypermissions, u32 otherpermission) |
| |- | | |- |
| | 0x20 | | | 0x20 |
− | | UnmapMemoryBlock(Handle memblock, u32 addr) | + | | Result UnmapMemoryBlock(Handle memblock, u32 addr) |
| |- | | |- |
| | 0x21 | | | 0x21 |
− | | CreateAddressArbiter(Handle* arbiter) | + | | Result CreateAddressArbiter(Handle* arbiter) |
| |- | | |- |
| | 0x22 | | | 0x22 |
− | | ArbitrateAddress(Handle arbiter, u32 addr, ArbitrationType type, s32 value) | + | | Result ArbitrateAddress(Handle arbiter, u32 addr, ArbitrationType type, s32 value) |
| |- | | |- |
| | 0x23 | | | 0x23 |
− | | CloseHandle(Handle handle) | + | | Result CloseHandle(Handle handle) |
| |- | | |- |
| | 0x24 | | | 0x24 |
− | | WaitSynchronization1(Handle handle, s64 nanoseconds) | + | | Result WaitSynchronization1(Handle handle, s64 nanoseconds) |
| |- | | |- |
| | 0x25 | | | 0x25 |
− | | WaitSynchronizationN(s32* out, Handle* handles, s32 handlecount, bool waitAll, s64 nanoseconds) | + | | Result WaitSynchronizationN(s32* out, Handle* handles, s32 handlecount, bool waitAll, s64 nanoseconds) |
| |- | | |- |
| | 0x26 | | | 0x26 |
− | | SignalAndWait | + | | Result SignalAndWait(s32* out, Handle signal, Handle* handles, s32 handleCount, bool waitAll, s64 nanoseconds) |
| |- | | |- |
| | 0x27 | | | 0x27 |
− | | DuplicateHandle | + | | Result DuplicateHandle(Handle* out, Handle original) |
| |- | | |- |
| | 0x28 | | | 0x28 |
− | | GetSystemTick | + | | s64 GetSystemTick(void) |
| |- | | |- |
| | 0x29 | | | 0x29 |
− | | GetHandleInfo | + | | Result GetHandleInfo(s64* out, Handle handle, HandleInfoType type) |
| |- | | |- |
| | 0x2A | | | 0x2A |
− | | GetSystemInfo(unsigned long long *Output, unsigned int Type0, unsigned int Type1) | + | | Result GetSystemInfo(s64* out, SystemInfoType type, s32 param) |
| |- | | |- |
| | 0x2B | | | 0x2B |
− | | GetProcessInfo(unsigned long long *Output, Handle KProcess, unsigned int Type) | + | | Result GetProcessInfo(s64* out, Handle process, ProcessInfoType type) |
| |- | | |- |
| | 0x2C | | | 0x2C |
− | | GetThreadInfo | + | | Result GetThreadInfo(s64* out, Handle thread, ThreadInfoType type) |
| |- | | |- |
| | 0x2D | | | 0x2D |
− | | ConnectToPort(Handle*, char *PortName) | + | | Result ConnectToPort(Handle* out, const char* portName) |
| |- | | |- |
| | 0x2E | | | 0x2E |