wut  v1.7.0
Wii U Toolchain
Data Structures | Typedefs | Enumerations | Functions
Task Queue
Collaboration diagram for 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 1 of file taskqueue.h.

◆ MPTaskInfo

typedef struct MPTaskInfo MPTaskInfo

Definition at line 1 of file taskqueue.h.

◆ MPTaskQueue

typedef struct MPTaskQueue MPTaskQueue

Definition at line 1 of file taskqueue.h.

◆ MPTaskQueueInfo

Definition at line 1 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)