SSBM Decomp
Loading...
Searching...
No Matches
OSThread.h File Reference
#include <platform.h>
#include <dolphin/os/OSContext.h>

Go to the source code of this file.

Data Structures

struct  OSThreadQueue
 
struct  OSThreadLink
 
struct  OSMutexQueue
 
struct  OSMutexLink
 
struct  OSThread
 

Macros

#define OS_PRIORITY_MIN   0
 
#define OS_PRIORITY_MAX   31
 
#define OS_THREAD_ATTR_DETACH   0x0001u
 
#define OS_THREAD_STACK_MAGIC   0xDEADBABE
 
#define OS_THREAD_SPECIFIC_MAX   2
 

Typedefs

typedef s32 OSPriority
 
typedef struct OSCond OSCond
 
typedef void(* OSSwitchThreadCallback) (OSThread *from, OSThread *to)
 

Enumerations

enum  OSThreadState {
  OS_THREAD_STATE_EXITED = 0 ,
  OS_THREAD_STATE_READY = 1 ,
  OS_THREAD_STATE_RUNNING = 2 ,
  OS_THREAD_STATE_WAITING = 4 ,
  OS_THREAD_STATE_MORIBUND = 8
}
 
enum  OSThreadFlag { OS_THREAD_DETACHED = (1 << 0) }
 

Functions

OSThreadQueue OS_THREAD_QUEUE AT_ADDRESS (0x800000DC)
 
OSThread *OS_CURRENT_THREAD AT_ADDRESS (0x800000E4)
 
OSSwitchThreadCallback OSSetSwitchThreadCallback (OSSwitchThreadCallback)
 
void __OSThreadInit (void)
 
void OSSetCurrentThread (OSThread *)
 
void OSInitMutexQueue (OSMutexQueue *)
 
void OSInitThreadQueue (OSThreadQueue *)
 
OSThreadOSGetCurrentThread (void)
 
bool OSIsThreadTerminated (OSThread *)
 
s32 OSDisableScheduler (void)
 
s32 OSEnableScheduler (void)
 
s32 __OSGetEffectivePriority (OSThread *)
 
void __OSPromoteThread (OSThread *, s32)
 
void __OSReschedule (void)
 
void OSYieldThread (void)
 
bool OSCreateThread (OSThread *thread, void *(*func)(void *), void *param, void *stack, u32 stackSize, OSPriority priority, u16 attr)
 
void OSExitThread (OSThread *)
 
void OSCancelThread (OSThread *)
 
bool OSJoinThread (OSThread *, void *)
 
void OSDetachThread (OSThread *)
 
s32 OSResumeThread (OSThread *)
 
s32 OSSuspendThread (OSThread *)
 
void OSSleepThread (OSThreadQueue *)
 
void OSWakeupThread (OSThreadQueue *)
 
bool OSSetThreadPriority (OSThread *, s32)
 
void OSClearStack (u8)
 
void OSSleepTicks (s64)
 
void CheckThreadQueue (void)
 
void UnsetRun (OSThread *thread)
 
void OSCheckActiveThreads (void)
 
void SetEffectivePriority (void)
 

Macro Definition Documentation

◆ OS_PRIORITY_MIN

#define OS_PRIORITY_MIN   0

◆ OS_PRIORITY_MAX

#define OS_PRIORITY_MAX   31

◆ OS_THREAD_ATTR_DETACH

#define OS_THREAD_ATTR_DETACH   0x0001u

◆ OS_THREAD_STACK_MAGIC

#define OS_THREAD_STACK_MAGIC   0xDEADBABE

◆ OS_THREAD_SPECIFIC_MAX

#define OS_THREAD_SPECIFIC_MAX   2

Typedef Documentation

◆ OSPriority

typedef s32 OSPriority

◆ OSCond

typedef struct OSCond OSCond

◆ OSSwitchThreadCallback

typedef void(* OSSwitchThreadCallback) (OSThread *from, OSThread *to)

Enumeration Type Documentation

◆ OSThreadState

Enumerator
OS_THREAD_STATE_EXITED 
OS_THREAD_STATE_READY 
OS_THREAD_STATE_RUNNING 
OS_THREAD_STATE_WAITING 
OS_THREAD_STATE_MORIBUND 

◆ OSThreadFlag

Enumerator
OS_THREAD_DETACHED 

Function Documentation

◆ AT_ADDRESS() [1/2]

OSThreadQueue OS_THREAD_QUEUE AT_ADDRESS ( 0x800000DC  )
extern

◆ AT_ADDRESS() [2/2]

OSThread *OS_CURRENT_THREAD AT_ADDRESS ( 0x800000E4  )
extern

◆ OSSetSwitchThreadCallback()

OSSwitchThreadCallback OSSetSwitchThreadCallback ( OSSwitchThreadCallback  )

◆ __OSThreadInit()

void __OSThreadInit ( void  )

◆ OSSetCurrentThread()

void OSSetCurrentThread ( OSThread )

◆ OSInitMutexQueue()

void OSInitMutexQueue ( OSMutexQueue )

◆ OSInitThreadQueue()

void OSInitThreadQueue ( OSThreadQueue queue)

◆ OSGetCurrentThread()

OSThread * OSGetCurrentThread ( void  )

◆ OSIsThreadTerminated()

bool OSIsThreadTerminated ( OSThread )

◆ OSDisableScheduler()

s32 OSDisableScheduler ( void  )

◆ OSEnableScheduler()

s32 OSEnableScheduler ( void  )

◆ __OSGetEffectivePriority()

s32 __OSGetEffectivePriority ( OSThread thread)

◆ __OSPromoteThread()

void __OSPromoteThread ( OSThread ,
s32   
)

◆ __OSReschedule()

void __OSReschedule ( void  )

◆ OSYieldThread()

void OSYieldThread ( void  )

◆ OSCreateThread()

bool OSCreateThread ( OSThread thread,
void *(*)(void *)  func,
void *  param,
void *  stack,
u32  stackSize,
OSPriority  priority,
u16  attr 
)

◆ OSExitThread()

void OSExitThread ( OSThread arg0)

◆ OSCancelThread()

void OSCancelThread ( OSThread arg0)

◆ OSJoinThread()

bool OSJoinThread ( OSThread ,
void *   
)

◆ OSDetachThread()

void OSDetachThread ( OSThread )

◆ OSResumeThread()

s32 OSResumeThread ( OSThread arg0)

◆ OSSuspendThread()

s32 OSSuspendThread ( OSThread arg0)

◆ OSSleepThread()

void OSSleepThread ( OSThreadQueue arg0)

◆ OSWakeupThread()

void OSWakeupThread ( OSThreadQueue arg0)

◆ OSSetThreadPriority()

bool OSSetThreadPriority ( OSThread ,
s32   
)

◆ OSClearStack()

void OSClearStack ( u8  )

◆ OSSleepTicks()

void OSSleepTicks ( s64  )

◆ CheckThreadQueue()

void CheckThreadQueue ( void  )

◆ UnsetRun()

void UnsetRun ( OSThread thread)

◆ OSCheckActiveThreads()

void OSCheckActiveThreads ( void  )

◆ SetEffectivePriority()

void SetEffectivePriority ( void  )