L4Re/departure

libsystypes/idl/dataspace.idl

391:bc65615a8fed
2022-06-30 Paul Boddie Added missing structure members. mmap-region-flags
     1 #include <l4/re/protocols.h>  /* L4RE_PROTO_DATASPACE */     2 #include <systypes/base.h>    /* address_t, offset_t */     3      4 /* A dataspace interface. */     5      6 [protocol(L4RE_PROTO_DATASPACE)]     7 interface Dataspace     8 {     9   /* Map memory within a dataspace. */    10     11   [opcode(0)] void map(in offset_t offset, in address_t hot_spot,    12                        in map_flags_t flags, out fpage region);    13     14   /* Clear a dataspace. */    15     16   [opcode(1)] void clear(in address_t offset, in offset_t size);    17     18   /* Obtain statistics about a dataspace. */    19     20   [opcode(2)] void info(out offset_t size, out map_flags_t flags);    21     22   /* Copy data between dataspaces. */    23     24   [opcode(3)] void copy_in(in address_t dest_offset, in cap source,    25                            in address_t source_offset, in offset_t size);    26     27   /* Deprecated: take a reference to a dataspace. */    28     29   [opcode(4)] void take();    30     31   /* Deprecated: release a reference to a dataspace. */    32     33   [opcode(5)] void release();    34     35   /* Obtain the physical address of the given offset in a dataspace, along with    36      the largest physically contiguous region at or after the address in the    37      dataspace. */    38     39   [opcode(6)] void phys(in address_t offset, out address_t address, out l4_size_t size);    40     41   /* Allocate at least the given size at the given address in a dataspace. */    42     43   [opcode(7)] void allocate(in address_t offset, in l4_size_t size);    44 };