1 #include <l4/re/protocols.h> /* L4RE_PROTO_DATASPACE */ 2 #include <systypes/base.h> /* map_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 map_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 offset_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 offset_t dest_offset, in cap source, 25 in offset_t source_offset, in offset_t size); 26 27 /* Allocate at least the given size at the given address in a dataspace. */ 28 29 [opcode(6)] void allocate(in offset_t offset, in l4_size_t size); 30 };