System Reference
Data Structures
-
typedef uint32_t
sys_thread_t Handle to a kernel thread.
-
typedef uint32_t
sys_mutex_t Handle to a kernel mutex.
-
typedef
sys_thread_func Function to run inside a thread.
void sys_thread_cb(void* arg)- Parameters
arg-Parameter passed to the thread function.
Functions
-
int
sys_thread_create(sys_thread_t *id, sys_thread_func entry, void *arg, uint32_t *stack_top, int priority, SYSProcessorID idnum) Create a new thread.
Obtains a handle to a thread created by the kernel.
- Return
- On success, 0 is returned. On error, -1 is returned.
- Parameters
id-Thread ID.
entry-Function to execute inside the new thread.
arg-Argument given to the thread function.
stack_top-Address to use for the thread-specific stack.
priority-Priority assigned to the new thread.
idnum-Processor the thread should be created by.
-
int
sys_thread_join(sys_thread_t id) Wait for a thread to finish.
- Return
- On success, 0 is returned. On error, -1 is returned.
- Parameters
id-Thread ID.
-
void
sys_thread_sleep(uint64_t nsec) Put the current thread to sleep.
- Parameters
nsec-Time to suspend execution, in nanoseconds.
-
void
sys_thread_exit(void) Exit the current thread.
-
int
sys_mutex_new(sys_mutex_t *mutex_id, sys_lock_t status) Create a new mutex.
- Return
- On success, 0 is returned. On error, -1 is returned.
- Parameters
mutex_id-Mutex ID.
status-Boolean indicating if mutex should be locked upon creation.
-
int
sys_mutex_free(sys_mutex_t mutex_id) Destroy a mutex variable.
- Return
- On success, 0 is returned. On error, -1 is returned.
- Parameters
mutex_id-Mutex ID.
-
int
sys_mutex_lock(sys_mutex_t mutex_id) Lock a mutex variable.
- Return
- On success, 0 is returned. On error, -1 is returned.
- Parameters
mutex_id-Mutex ID.
-
int
sys_mutex_unlock(sys_mutex_t mutex_id) Unlock a mutex variable.
- Return
- On success, 0 is returned. On error, -1 is returned.
- Parameters
mutex_id-Mutex ID.
-
void
sys_debug_printf(const char *str, ...) Print a debug string.
String is printed to the debug console. On retail consoles this function has no effect. On emulators it will be printed as debug output.
- Parameters
str-String to print.