Listing 3


/*
 * These are the functions derived from the two IPC syscalls.  For
 * normal C, function overloading is not supported. Functions with
 * unique names (i.e., with the suffix inside <> appended) have
 * therefore been provided.
 *
 *   L4_Call		(to)
 *   L4_Call<_Timeouts>		(to, SndTimeout, RcvTimeout)
 *   L4_Send		(to)
 *   L4_Send<_Timeout>		(to, SndTimeout)
 *   L4_Reply		(to)
 *   L4_Receive		(from)
 *   L4_Receive<_Timeout>	(from, RcvTimeout)
 *   L4_Wait		(&from)
 *   L4_Wait<_Timeout>		(RcvTimeout, &from)
 *   L4_ReplyWait		(to, &from)
 *   L4_ReplyWait<_Timeout>	(to, RcvTimeout, &from)
 *   L4_Sleep		(time)
 *   L4_Lcall		(to)
 *   L4_Lreply_Wait		(to, &from)
 *
 */