Associates a message queue and message with an event
#include <ultra64.h> /* ultra64.h */
void osSetEventMesg(OSEvent e, OSMesgQueue *mq, OSMesg m);
osSetEventMesg associates a message queue and message with an event, which usually corresponds to an interrupt or an exception of some kind. When an event occurs, the message registered with osSetEventMesg is sent to the associated message queue. The message sending is of the non-blocking form; if the message queue is full, the message is dropped.
The following events are supported:
- CPU software interrupt 1; although supported by the CPU, this is not expected to be widely used.
- CPU software interrupt 2; not expected to be widely used.
- Indy has written to GIO bus register; intended for use by the rmon debugger program.
- CPU COUNT register has reached COMPARE value; intended for use by the VI or Timer manager.
- Signal Processor (SP) interrupt; intended for application use to indicate SP task completion.
- Serial Interface (SI) interrupt; intended for application use to indicate Controller input is available.
- Audio Interface (AI) interrupt; intended for application use to indicate that the audio buffer has been consumed.
- Video Interface (VI) interrupt; intended for application use to indicate vertical retrace.
- Parallel Interface (PI) interrupt to indicate that DMA is finished; intended for use by the PI manager.
- Display Processor (DP) interrupt triggered by the DP FullSync command
- An NMI has been requested and will occur in 0.5 seconds; intended for application use to begin graceful shutdown.
- The SP has hit a breakpoint; intended for use by the rmon program.
- The CPU has encountered an unrecoverable exception; intended for use by the rmon debugger program.
- A thread has been created or destroyed; intended for use by the rmon debugger program.
osCreateMesgQueue, osSendMesg, osSpTaskLoad, osContInit, osAiSetNextBuffer, osViSetEvent, osPiStartDma, and osDpSetNextBuffer
1999/04/30 Changed format