1#ifndef _DOLPHIN_OSTHREAD_H_
2#define _DOLPHIN_OSTHREAD_H_
4#ifdef __REVOLUTION_SDK__
69#define OS_PRIORITY_MIN 0
70#define OS_PRIORITY_MAX 31
71#define OS_PRIORITY_IDLE OS_PRIORITY_MAX
73#define OS_THREAD_SPECIFIC_MAX 2
75#define OS_THREAD_ATTR_DETACH 0x0001u
77#define OS_THREAD_STACK_MAGIC 0xDEADBABE
109#define IsSuspended(suspend) (suspend > 0)
static u8 index[20][3]
Definition GXDraw.c:434
static const Attr & attr()
Definition d_a_obj_ladder.cpp:39
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:62
@ OS_THREAD_STATE_MORIBUND
Definition OSThread.h:66
@ OS_THREAD_STATE_RUNNING
Definition OSThread.h:64
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
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:13
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
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
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
u8 stack[4096]
Definition m_Do_dvd_thread.h:0
static void callback(u32 param_0)
Definition OSExec.c:308
@ OS_THREAD_STATE_WAITING
Definition OSThread.h:62
@ OS_THREAD_STATE_READY
Definition OSThread.h:60
void(* OSSwitchThreadCallback)(OSThread *, OSThread *)
Definition OSThread.h:76
void(* OSIdleFunction)(void *)
Definition OSThread.h:77
Definition OSContext.h:140
OSMutex * next
Definition OSThread.h:38
OSMutex * prev
Definition OSThread.h:39
OSMutex * tail
Definition OSThread.h:34
OSMutex * head
Definition OSThread.h:33
OSThread * next
Definition OSThread.h:28
OSThread * prev
Definition OSThread.h:29
OSThread * head
Definition OSThread.h:23
OSThread * tail
Definition OSThread.h:24
OSThreadLink linkActive
Definition OSThread.h:55
u16 state
Definition OSThread.h:44
void * specific[2]
Definition OSThread.h:59
OSPriority priority
Definition OSThread.h:47
OSPriority base
Definition OSThread.h:48
s32 suspend
Definition OSThread.h:46
OSMutexQueue queueMutex
Definition OSThread.h:54
OSThreadQueue queueJoin
Definition OSThread.h:52
u32 * stackEnd
Definition OSThread.h:57
OSMutex * mutex
Definition OSThread.h:53
OSThreadQueue * queue
Definition OSThread.h:50
OSThreadLink link
Definition OSThread.h:51
s32 error
Definition OSThread.h:58
u16 attr
Definition OSThread.h:45
u8 * stackBase
Definition OSThread.h:56
void * val
Definition OSThread.h:49
OSContext context
Definition OSThread.h:43