10#define OS_PRIORITY_MIN 0
11#define OS_PRIORITY_MAX 31
13#define OS_THREAD_ATTR_DETACH 0x0001u
15#define OS_THREAD_STACK_MAGIC 0xDEADBABE
17#define OS_THREAD_SPECIFIC_MAX 2
void OSInitMutexQueue(OSMutexQueue *)
void OSExitThread(OSThread *)
Definition OSThread.c:121
void OSCancelThread(OSThread *)
Definition OSThread.c:126
s32 __OSGetEffectivePriority(OSThread *)
Definition OSThread.c:79
OSThread * OSGetCurrentThread(void)
Definition OSThread.c:23
void OSWakeupThread(OSThreadQueue *)
Definition OSThread.c:146
void __OSReschedule(void)
Definition OSThread.c:106
bool OSJoinThread(OSThread *, void *)
OSThreadState
Definition OSThread.h:30
@ OS_THREAD_STATE_MORIBUND
Definition OSThread.h:35
@ OS_THREAD_STATE_WAITING
Definition OSThread.h:34
@ OS_THREAD_STATE_EXITED
Definition OSThread.h:31
@ OS_THREAD_STATE_READY
Definition OSThread.h:32
@ OS_THREAD_STATE_RUNNING
Definition OSThread.h:33
#define OS_THREAD_SPECIFIC_MAX
Definition OSThread.h:17
void UnsetRun(OSThread *thread)
Definition OSThread.c:50
void OSInitThreadQueue(OSThreadQueue *)
Definition OSThread.c:17
void SetEffectivePriority(void)
Definition OSThread.c:96
struct OSCond OSCond
Definition OSThread.h:28
s32 OSPriority
Definition OSThread.h:19
bool OSCreateThread(OSThread *thread, void *(*func)(void *), void *param, void *stack, u32 stackSize, OSPriority priority, u16 attr)
Definition OSThread.c:115
s32 OSDisableScheduler(void)
Definition OSThread.c:28
void OSSleepThread(OSThreadQueue *)
Definition OSThread.c:141
void(* OSSwitchThreadCallback)(OSThread *from, OSThread *to)
Definition OSThread.h:82
void OSCheckActiveThreads(void)
Definition OSThread.c:156
OSThreadFlag
Definition OSThread.h:38
@ OS_THREAD_DETACHED
Definition OSThread.h:39
void OSDetachThread(OSThread *)
void __OSPromoteThread(OSThread *, s32)
void CheckThreadQueue(void)
Definition OSThread.c:151
void __OSThreadInit(void)
Definition OSThread.c:12
s32 OSEnableScheduler(void)
Definition OSThread.c:39
bool OSSetThreadPriority(OSThread *, s32)
s32 OSSuspendThread(OSThread *)
Definition OSThread.c:136
s32 OSResumeThread(OSThread *)
Definition OSThread.c:131
bool OSIsThreadTerminated(OSThread *)
void OSSetCurrentThread(OSThread *)
OSSwitchThreadCallback OSSetSwitchThreadCallback(OSSwitchThreadCallback)
void(* func)(void)
Definition state.c:134
Definition OSContext.h:133
OSMutex * next
Definition OSThread.h:58
OSMutex * prev
Definition OSThread.h:59
OSMutex * tail
Definition OSThread.h:54
OSMutex * head
Definition OSThread.h:53
OSThread * prev
Definition OSThread.h:49
OSThread * next
Definition OSThread.h:48
OSThread * tail
Definition OSThread.h:44
OSThread * head
Definition OSThread.h:43
OSThreadLink linkActive
Definition OSThread.h:75
void * specific[OS_THREAD_SPECIFIC_MAX]
Definition OSThread.h:79
u16 state
Definition OSThread.h:64
OSPriority priority
Definition OSThread.h:67
OSMutex * mutex
Definition OSThread.h:73
OSPriority base
Definition OSThread.h:68
s32 suspend
Definition OSThread.h:66
u8 * stackBase
Definition OSThread.h:76
OSMutexQueue queueMutex
Definition OSThread.h:74
OSThreadQueue queueJoin
Definition OSThread.h:72
u32 * stackEnd
Definition OSThread.h:77
void * val
Definition OSThread.h:69
OSThreadLink link
Definition OSThread.h:71
OSThreadQueue * queue
Definition OSThread.h:70
s32 error
Definition OSThread.h:78
u16 attr
Definition OSThread.h:65
OSContext context
Definition OSThread.h:63