L4Re/departure

Annotated libsystypes/idl/pipe.idl

665:5c24477f91bf
14 months ago Paul Boddie Added the retention of the current data position in pipe endpoints, allowing endpoints to be transferred to other programs and initialised appropriately. Renamed the populated_size parameter in the flush operation to indicate that a more general position is being sent, this being a populated size in a writing context and the current reading position in a reading context.
paul@181 1
#include <systypes/base.h>  /* offset_t */
paul@181 2
paul@181 3
/* A pipe interface providing access to shared memory. */
paul@181 4
paul@181 5
interface Pipe
paul@181 6
{
paul@181 7
  /* Obtain details of the current region of shared memory. */
paul@181 8
paul@665 9
  [opcode(16)] void current_region(inout offset_t position, out offset_t populated_size, out offset_t size);
paul@181 10
paul@181 11
  /* Advance to the next region of shared memory, indicating and obtaining the
paul@181 12
     populated limit of the region and obtaining the region size. */
paul@181 13
paul@181 14
  [opcode(17)] void next_region(inout offset_t populated_size, out offset_t size);
paul@181 15
paul@181 16
  /* Return whether the pipe is closed or partly closed. */
paul@181 17
paul@181 18
  [opcode(22)] void closed(out int closed);
paul@181 19
};