mirror of https://github.com/zeldaret/mm.git
43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
#ifndef PR_SCHED_H
|
|
#define PR_SCHED_H
|
|
|
|
#include "PR/ultratypes.h"
|
|
#include "PR/os_vi.h"
|
|
#include "PR/sptask.h"
|
|
|
|
#define OS_SC_STACKSIZE 0x2000
|
|
|
|
#define OS_SC_RETRACE_MSG 1
|
|
#define OS_SC_DONE_MSG 2
|
|
#define OS_SC_RDP_DONE_MSG 3
|
|
#define OS_SC_PRE_NMI_MSG 4
|
|
#define OS_SC_LAST_MSG 4 /* this should have highest number */
|
|
#define OS_SC_MAX_MESGS 8
|
|
|
|
#define OS_SC_NEEDS_RDP 0x0001
|
|
#define OS_SC_NEEDS_RSP 0x0002
|
|
#define OS_SC_DRAM_DLIST 0x0004
|
|
#define OS_SC_PARALLEL_TASK 0x0010
|
|
#define OS_SC_LAST_TASK 0x0020
|
|
#define OS_SC_SWAPBUFFER 0x0040
|
|
|
|
#define OS_SC_RCP_MASK 0x0003
|
|
#define OS_SC_TYPE_MASK 0x0007
|
|
|
|
typedef struct OSScTask {
|
|
/* 0x00 */ struct OSScTask* next;
|
|
/* 0x04 */ u32 state;
|
|
/* 0x08 */ u32 flags;
|
|
/* 0x0C */ void* framebuffer;
|
|
/* 0x10 */ OSTask list;
|
|
/* 0x50 */ OSMesgQueue* msgQ;
|
|
/* 0x54 */ OSMesg msg;
|
|
} OSScTask; // size = 0x58
|
|
|
|
typedef struct {
|
|
/* 0x0 */ s16 type;
|
|
/* 0x2 */ u8 misc[30];
|
|
} OSScMsg;
|
|
|
|
#endif
|