wut  1.0.0-alpha
Wii U Toolchain
Data Structures | Typedefs | Enumerations | Functions
Task Queue

Data Structures

struct  MPTaskInfo
 
struct  MPTask
 
struct  MPTaskQueueInfo
 
struct  MPTaskQueue
 

Typedefs

typedef struct MPTask MPTask
 
typedef struct MPTaskInfo MPTaskInfo
 
typedef struct MPTaskQueue MPTaskQueue
 
typedef struct MPTaskQueueInfo MPTaskQueueInfo
 
typedef uint32_t(* MPTaskFunc) (uint32_t, uint32_t)
 
typedef enum MPTaskState MPTaskState
 
typedef enum MPTaskQueueState MPTaskQueueState
 

Enumerations

enum  MPTaskState {
  MP_TASK_STATE_INITIALISED = 1 << 0,
  MP_TASK_STATE_READY = 1 << 1,
  MP_TASK_STATE_RUNNING = 1 << 2,
  MP_TASK_STATE_FINISHED = 1 << 3
}
 
enum  MPTaskQueueState {
  MP_TASK_QUEUE_STATE_INITIALISED = 1 << 0,
  MP_TASK_QUEUE_STATE_READY = 1 << 1,
  MP_TASK_QUEUE_STATE_STOPPING = 1 << 2,
  MP_TASK_QUEUE_STATE_STOPPED = 1 << 3,
  MP_TASK_QUEUE_STATE_FINISHED = 1 << 4
}
 

Functions

void MPInitTaskQ (MPTaskQueue *queue, MPTask **queueBuffer, uint32_t queueBufferLen)
 
BOOL MPTermTaskQ (MPTaskQueue *queue)
 
BOOL MPGetTaskQInfo (MPTaskQueue *queue, MPTaskQueueInfo *info)
 
BOOL MPStartTaskQ (MPTaskQueue *queue)
 
BOOL MPStopTaskQ (MPTaskQueue *queue)
 
BOOL MPResetTaskQ (MPTaskQueue *queue)
 
BOOL MPEnqueTask (MPTaskQueue *queue, MPTask *task)
 
MPTaskMPDequeTask (MPTaskQueue *queue)
 
uint32_t MPDequeTasks (MPTaskQueue *queue, MPTask **queueBuffer, uint32_t queueBufferLen)
 
BOOL MPWaitTaskQ (MPTaskQueue *queue, MPTaskQueueState mask)
 
BOOL MPWaitTaskQWithTimeout (MPTaskQueue *queue, MPTaskQueueState wmask, OSTime timeout)
 
BOOL MPPrintTaskQStats (MPTaskQueue *queue, uint32_t unk)
 
void MPInitTask (MPTask *task, MPTaskFunc func, uint32_t userArg1, uint32_t userArg2)
 
BOOL MPTermTask (MPTask *task)
 
BOOL MPGetTaskInfo (MPTask *task, MPTaskInfo *info)
 
void * MPGetTaskUserData (MPTask *task)
 
void MPSetTaskUserData (MPTask *task, void *userData)
 
BOOL MPRunTasksFromTaskQ (MPTaskQueue *queue, uint32_t count)
 
BOOL MPRunTask (MPTask *task)
 

Detailed Description


Data Structure Documentation

◆ MPTaskInfo

struct MPTaskInfo

Definition at line 40 of file taskqueue.h.

Data Fields
MPTaskState state
uint32_t result
uint32_t coreID
OSTime duration

◆ MPTask

struct MPTask

Definition at line 55 of file taskqueue.h.

Data Fields
MPTask * self
MPTaskQueue * queue
MPTaskState state
MPTaskFunc func
uint32_t userArg1
uint32_t userArg2
uint32_t result
uint32_t coreID
OSTime duration
void * userData

◆ MPTaskQueueInfo

struct MPTaskQueueInfo

Definition at line 81 of file taskqueue.h.

Data Fields
MPTaskQueueState state
uint32_t tasks
uint32_t tasksReady
uint32_t tasksRunning
uint32_t tasksFinished

◆ MPTaskQueue

struct MPTaskQueue

Definition at line 96 of file taskqueue.h.

Data Fields
MPTaskQueue * self
MPTaskQueueState state
uint32_t tasks
uint32_t tasksReady
uint32_t tasksRunning
uint32_t tasksFinished
uint32_t queueIndex
uint32_t queueSize
MPTask ** queue
uint32_t queueMaxSize
OSSpinLock lock

Typedef Documentation

◆ MPTask

typedef struct MPTask MPTask

Definition at line 15 of file taskqueue.h.

◆ MPTaskInfo

typedef struct MPTaskInfo MPTaskInfo

Definition at line 16 of file taskqueue.h.

◆ MPTaskQueue

typedef struct MPTaskQueue MPTaskQueue

Definition at line 17 of file taskqueue.h.

◆ MPTaskQueueInfo

Definition at line 18 of file taskqueue.h.

◆ MPTaskFunc

typedef uint32_t(* MPTaskFunc) (uint32_t, uint32_t)

Definition at line 20 of file taskqueue.h.

◆ MPTaskState

typedef enum MPTaskState MPTaskState

◆ MPTaskQueueState

Enumeration Type Documentation

◆ MPTaskState

Enumerator
MP_TASK_STATE_INITIALISED 
MP_TASK_STATE_READY 
MP_TASK_STATE_RUNNING 
MP_TASK_STATE_FINISHED 

Definition at line 22 of file taskqueue.h.

◆ MPTaskQueueState

Enumerator
MP_TASK_QUEUE_STATE_INITIALISED 
MP_TASK_QUEUE_STATE_READY 
MP_TASK_QUEUE_STATE_STOPPING 
MP_TASK_QUEUE_STATE_STOPPED 
MP_TASK_QUEUE_STATE_FINISHED 

Definition at line 30 of file taskqueue.h.

Function Documentation

◆ MPInitTaskQ()

void MPInitTaskQ ( MPTaskQueue queue,
MPTask **  queueBuffer,
uint32_t  queueBufferLen 
)

◆ MPTermTaskQ()

BOOL MPTermTaskQ ( MPTaskQueue queue)

◆ MPGetTaskQInfo()

BOOL MPGetTaskQInfo ( MPTaskQueue queue,
MPTaskQueueInfo info 
)

◆ MPStartTaskQ()

BOOL MPStartTaskQ ( MPTaskQueue queue)

◆ MPStopTaskQ()

BOOL MPStopTaskQ ( MPTaskQueue queue)

◆ MPResetTaskQ()

BOOL MPResetTaskQ ( MPTaskQueue queue)

◆ MPEnqueTask()

BOOL MPEnqueTask ( MPTaskQueue queue,
MPTask task 
)

◆ MPDequeTask()

MPTask* MPDequeTask ( MPTaskQueue queue)

◆ MPDequeTasks()

uint32_t MPDequeTasks ( MPTaskQueue queue,
MPTask **  queueBuffer,
uint32_t  queueBufferLen 
)

◆ MPWaitTaskQ()

BOOL MPWaitTaskQ ( MPTaskQueue queue,
MPTaskQueueState  mask 
)

◆ MPWaitTaskQWithTimeout()

BOOL MPWaitTaskQWithTimeout ( MPTaskQueue queue,
MPTaskQueueState  wmask,
OSTime  timeout 
)

◆ MPPrintTaskQStats()

BOOL MPPrintTaskQStats ( MPTaskQueue queue,
uint32_t  unk 
)

◆ MPInitTask()

void MPInitTask ( MPTask task,
MPTaskFunc  func,
uint32_t  userArg1,
uint32_t  userArg2 
)

◆ MPTermTask()

BOOL MPTermTask ( MPTask task)

◆ MPGetTaskInfo()

BOOL MPGetTaskInfo ( MPTask task,
MPTaskInfo info 
)

◆ MPGetTaskUserData()

void* MPGetTaskUserData ( MPTask task)

◆ MPSetTaskUserData()

void MPSetTaskUserData ( MPTask task,
void *  userData 
)

◆ MPRunTasksFromTaskQ()

BOOL MPRunTasksFromTaskQ ( MPTaskQueue queue,
uint32_t  count 
)

◆ MPRunTask()

BOOL MPRunTask ( MPTask task)