Figure 4: Support functions provided by the CPI.
Convenience Programming Interface Derived Functions:
MsgTag Call (ThreadId to)
MsgTag Call (ThreadIdto, Time SndTimeout, RcvTimeout) [Call Timeouts]
MsgTag Send (ThreadId to)
MsgTag Send (ThreadId to, TimeSndTimeout) [Send Timeout]
MsgTag Reply (ThreadId to)
MsgTag Receive (ThreadId from)
MsgTag Receive (ThreadId from, Time RcvTimeout) [Receive Timeout]
MsgTag Wait (ThreadId& from)
MsgTag Wait (Time RcvTimeout, ThreadId&from) [Wait Timeout]
MsgTag ReplyWait (ThreadId to, ThreadId&from)
MsgTag ReplyWait (ThreadId to, TimeRcvTimeout, ThreadId&from) [ReplyWait Timeout]
void Sleep (Time t)
MsgTag Lcall (ThreadId to)
MsgTag LreplyWait (ThreadId to, ThreadId&from)
Convenience Programming Interface Support Functions:
Bool IpcSucceeded (MsgTag t)
Bool IpcFailed (MsgTag t) - Delivers the state of the error indicator.
Bool IpcPropagated (MsgTag t)
Bool IpcRedirected (MsgTag t)
Bool IpcXcpu (MsgTag t) - Checks if the IPC was propagated/redirected/cross processor.
Word ErrorCode ()
ThreadId IntendedReceiver ()
ThreadId ActualSender () - Delivers the errorcode/intended receiver TCR/actual sender.
void Set Propagation (MsgTag&t)
Sets the propagationbit.
void Set VirtualSender (ThreadId t) - Sets the virtual senderTCR.
Word Timeouts (Time SndTimeout, RcvTimeout) - Delivers a word containing both timeout values.