31 #include <l4/sys/l4int.h>
61 public L4::Kobject_t<Dataspace, L4::Kobject, L4RE_PROTO_DATASPACE,
62 L4::Type_info::Demand_t<1> >
112 explicit constexpr Flags(
unsigned long f) : raw(f) {}
113 constexpr Flags(F::Flags f) : raw(f) {}
114 constexpr
bool r()
const {
return raw &
L4_FPAGE_RO; }
115 constexpr
bool w()
const {
return raw &
L4_FPAGE_W; }
116 constexpr
bool x()
const {
return raw &
L4_FPAGE_X; }
118 constexpr
unsigned long fpage_rights()
const
119 {
return raw & 0xf; }
158 long map(Offset offset, Flags flags, Map_addr local_addr,
159 Map_addr min_addr, Map_addr max_addr)
const noexcept;
186 long map_region(Offset offset, Flags flags,
187 Map_addr min_addr, Map_addr max_addr)
const noexcept;
206 L4_RPC(
long, clear, (Offset offset, Size size));
227 L4_RPC(
long, allocate, (Offset offset, Size size));
247 Offset src_offs, Size size));
254 Size size() const noexcept;
264 Flags flags() const noexcept;
276 L4_RPC_NF(
long, map, (Offset offset, Map_addr spot,
282 long __map(Offset offset,
unsigned char *order, Flags flags,
283 Map_addr local_addr) const noexcept;
286 typedef
L4::Typeid::
Rpcs<map_t, clear_t, info_t, copy_in_t,
L4::Cap related definitions.
Interface for memory-like objects.
Capability type for RPC interfaces (see L4::Cap<T>).
Helper class to create an L4Re interface class that is derived from a single base class.
unsigned long long l4_uint64_t
Unsigned 64bit value.
@ L4_FPAGE_X
Executable flex page.
@ L4_FPAGE_RWX
Read-write-execute flex page.
@ L4_FPAGE_RX
Read-execute flex page.
@ L4_FPAGE_RO
Read-only flex page
@ L4_FPAGE_RW
Read-write flex page.
@ L4_FPAGE_W
Writable flex page.
Interface Definition Language.
#define L4_RPC(res, name, args, attr...)
Define an RPC call (type and callable).
#define L4_RPC_NF(res, name, args...)
Define an RPC call type (the type only, no callable).
Common L4 ABI Data Types.
Gen_fpage< Snd_item > Snd_fpage
Send flex-page.
Gen_fpage< Buf_item > Rcv_fpage
Rcv flex-page.
L4 low-level kernel interface.
L4Re Protocol Constants (C version)
Dataspace flags definitions.
Flags
Flags for map operations.
Information about the dataspace.
Standard list of RPCs of an interface.
Mixin class to define a set of friend bitwise operators on DT.
#define L4_TYPES_FLAGS_OPS_DEF(T)
Helper macro to define a set of bitwise operators on an enum type.