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.