Figure 2

Message Manager Functions
void MsgClearSemaphore(STRING_ATOM semaphoreAtom);
BOOL MsgConnectPorts(STRING_ATOM sourceAtom, STRING_ATOM
        destinationAtom);
void MsgDeleteTimer(EXEC_ID watchID);
EXEC_ID MsgGetMsg(void);
BOOL MsgInhibitPorts(STRING_ATOM sourceAtom, STRING_ATOM
        destinationAtom);
void *MsgOpenPort(STRING_ATOM nameAtom, PORT *pPortValue);
PORT MsgPeekPort(STRING_ATOM, PORT *);
void MsgSetSemaphore(STRING_ATOM semaphoreAtom);
BOOL MsgSuppressPorts(STRING_ATOM sourceAtom, STRING_ATOM
        destinationAtom);
EXEC_ID MsgWatchPort(STRING_ATOM portAtom, PORT *pPortValue);
EXEC_ID MsgWatchSemaphore(STRING_ATOM semaphoreAtom, BOOL
        detectOn);
EXEC_ID MsgWatchTimer(unsigned int interval);
void MsgWriteToPort(STRING_ATOM portAtom, PORT portValue);