L4Re/departure

Annotated libsystypes/idl/pipe.idl

665:5c24477f91bf
5 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
};