# Channels are objects that enable synchronous IPC of # arbitrary-sized messages. object endpoint : kobject { uid c5882f24a4c03b7e method create [constructor] # Send a message on a channel. Blocks until the message # is received. method send { param tag uint64 param data buffer } # Receieve a message on a channel. Blocks until a message # is available. method receive { param tag uint64 [out] param data buffer [out] } # Send a message on a channel and then await a new message. # Equivalent to calling send and then recieve, as a single # operation. method sendrecv { param tag uint64 [inout] param data buffer [inout] } }