1#ifndef _DOLPHIN_OSTHREAD_H_
2#define _DOLPHIN_OSTHREAD_H_
66#define OS_PRIORITY_MIN 0
67#define OS_PRIORITY_MAX 31
68#define OS_PRIORITY_IDLE OS_PRIORITY_MAX
70#define OS_THREAD_SPECIFIC_MAX 2
72#define OS_THREAD_ATTR_DETACH 0x0001u
74#define OS_THREAD_STACK_MAGIC 0xDEADBABE
106#define IsSuspended(suspend) (suspend > 0)
static u8 index[20][3]
Definition GXDraw.c:434
BOOL OSIsThreadSuspended(OSThread *thread)
Definition OSThread.c:184
BOOL OSIsThreadTerminated(OSThread *thread)
Definition OSThread.c:191
void OSExitThread(void *val)
Definition OSThread.c:473
s32 OSResumeThread(OSThread *thread)
Definition OSThread.c:584
OS_THREAD_STATE
Definition OSThread.h:59
@ OS_THREAD_STATE_MORIBUND
Definition OSThread.h:63
@ OS_THREAD_STATE_WAITING
Definition OSThread.h:62
@ OS_THREAD_STATE_READY
Definition OSThread.h:60
@ OS_THREAD_STATE_RUNNING
Definition OSThread.h:61
OSSwitchThreadCallback OSSetSwitchThreadCallback(OSSwitchThreadCallback callback)
Definition OSThread.c:100
void OSWakeupThread(OSThreadQueue *queue)
Definition OSThread.c:665
OSThread * OSSetIdleFunction(OSIdleFunction idleFunction, void *param, void *stack, u32 stackSize)
Definition OSThread.c:711
void(* OSSwitchThreadCallback)(OSThread *, OSThread *)
Definition OSThread.h:76
int OSJoinThread(OSThread *thread, void *val)
Definition OSThread.c:545
s32 OSCheckActiveThreads(void)
Definition OSThread.c:772
OSThread * OSGetCurrentThread(void)
Definition OSThread.c:174
void OSSleepThread(OSThreadQueue *queue)
Definition OSThread.c:648
void OSCancelThread(OSThread *thread)
Definition OSThread.c:505
void OSYieldThread(void)
Definition OSThread.c:406
s32 OSPriority
Definition OSThread.h:10
void OSDetachThread(OSThread *thread)
Definition OSThread.c:570
void OSClearStack(u8 val)
Definition OSThread.c:841
void OSSetThreadSpecific(s32 index, void *ptr)
Definition OSThread.c:853
s32 OSDisableScheduler(void)
Definition OSThread.c:210
int OSCreateThread(OSThread *thread, void *(*func)(void *), void *param, void *stack, u32 stackSize, OSPriority priority, u16 attr)
Definition OSThread.c:413
s32 OSGetThreadPriority(OSThread *thread)
Definition OSThread.c:707
void OSInitThreadQueue(OSThreadQueue *queue)
Definition OSThread.c:170
void(* OSIdleFunction)(void *)
Definition OSThread.h:77
int OSSetThreadPriority(OSThread *thread, OSPriority priority)
Definition OSThread.c:685
s32 OSEnableScheduler(void)
Definition OSThread.c:221
OSThread * OSGetIdleFunction(void)
Definition OSThread.c:724
s32 OSSuspendThread(OSThread *thread)
Definition OSThread.c:615
void * OSGetThreadSpecific(s32 index)
Definition OSThread.c:864
static const Attr & attr()
Definition d_a_obj_ladder.cpp:135
u8 stack[4096]
Definition m_Do_dvd_thread.h:0
Definition OSContext.h:137
OSMutex * next
Definition OSThread.h:35
OSMutex * prev
Definition OSThread.h:36
OSMutex * tail
Definition OSThread.h:31
OSMutex * head
Definition OSThread.h:30
OSThread * prev
Definition OSThread.h:26
OSThread * next
Definition OSThread.h:25
OSThread * tail
Definition OSThread.h:21
OSThread * head
Definition OSThread.h:20
OSThreadLink linkActive
Definition OSThread.h:52
u16 state
Definition OSThread.h:41
OSPriority priority
Definition OSThread.h:44
OSMutex * mutex
Definition OSThread.h:50
OSPriority base
Definition OSThread.h:45
s32 suspend
Definition OSThread.h:43
u8 * stackBase
Definition OSThread.h:53
OSMutexQueue queueMutex
Definition OSThread.h:51
OSThreadQueue queueJoin
Definition OSThread.h:49
u32 * stackEnd
Definition OSThread.h:54
void * val
Definition OSThread.h:46
OSThreadLink link
Definition OSThread.h:48
OSThreadQueue * queue
Definition OSThread.h:47
s32 error
Definition OSThread.h:55
u16 attr
Definition OSThread.h:42
void * specific[2]
Definition OSThread.h:56
OSContext context
Definition OSThread.h:40
int BOOL
Definition types.h:30
unsigned long u32
Definition types.h:9
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5