mirror of https://github.com/n64decomp/007.git
51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
#ifndef _ULTRA64_MESSAGE_H_
|
|
#define _ULTRA64_MESSAGE_H_
|
|
|
|
/* Events */
|
|
#define OS_EVENT_SW1 0
|
|
#define OS_EVENT_SW2 1
|
|
#define OS_EVENT_CART 2
|
|
#define OS_EVENT_COUNTER 3
|
|
#define OS_EVENT_SP 4
|
|
#define OS_EVENT_SI 5
|
|
#define OS_EVENT_AI 6
|
|
#define OS_EVENT_VI 7
|
|
#define OS_EVENT_PI 8
|
|
#define OS_EVENT_DP 9
|
|
#define OS_EVENT_CPU_BREAK 10
|
|
#define OS_EVENT_SP_BREAK 11
|
|
#define OS_EVENT_FAULT 12
|
|
#define OS_EVENT_THREADSTATUS 13
|
|
#define OS_EVENT_PRENMI 14
|
|
|
|
#define OS_MESG_NOBLOCK 0
|
|
#define OS_MESG_BLOCK 1
|
|
|
|
/* Types */
|
|
|
|
typedef u32 OSEvent;
|
|
|
|
typedef void *OSMesg;
|
|
|
|
typedef struct OSMesgQueue_s
|
|
{
|
|
OSThread *mtqueue;
|
|
OSThread *fullqueue;
|
|
s32 validCount;
|
|
s32 first;
|
|
s32 msgCount;
|
|
OSMesg *msg;
|
|
} OSMesgQueue;
|
|
|
|
/* Functions */
|
|
|
|
void osCreateMesgQueue(OSMesgQueue *mq, OSMesg *msgBuf, s32 count);
|
|
s32 osSendMesg(OSMesgQueue *mq, OSMesg msg, s32 flag);
|
|
s32 osJamMesg(OSMesgQueue *mq, OSMesg msg, s32 flag);
|
|
s32 osRecvMesg(OSMesgQueue *mq, OSMesg *msg, s32 flag);
|
|
void osSetEventMesg(OSEvent e, OSMesgQueue *mq, OSMesg msg);
|
|
void osViSetEvent(OSMesgQueue *mq, OSMesg msg, u32 retraceCount);
|
|
s32 osContStartReadData(OSMesgQueue *mq);
|
|
|
|
#endif
|