31 #include <l4/sys/cxx/ipc_array>
32 #include <l4/sys/cxx/ipc_string>
61 public L4::Kobject_t<Namespace, L4::Kobject, L4RE_PROTO_NAMESPACE,
62 L4::Type_info::Demand_t<1> >
77 Cap_flags = Ro | Rw | Strong | Trusted,
90 Partly_resolved = 0x020,
132 int timeout = To_default,
133 l4_umword_t *local_id = 0,
bool iterate =
true) const noexcept;
144 long query(
char const *name,
unsigned len,
L4::Cap<
void> const &cap,
145 int timeout = To_default,
146 l4_umword_t *local_id = 0,
bool iterate = true) const noexcept;
148 L4_RPC_NF(
long, register_obj, (
unsigned flags,
149 L4::Ipc::Array<
char const,
unsigned long> name,
150 L4::Ipc::Opt<
L4::Ipc::Cap<
void> > obj),
176 long register_obj(
char const *name,
L4::Ipc::Cap<
void> obj,
177 unsigned flags = Rw) const noexcept
179 return register_obj_t::call(c(), flags,
181 __builtin_strlen(name), name),
205 __builtin_strlen(name), name));
211 long _query(
char const *name,
unsigned len,
213 bool iterate)
const noexcept;
L4::Cap related definitions.
Query_result_flags
Flags returned by query IPC, only used internally.
long unlink(char const *name)
Remove an entry from the name space.
Register_flags
Flags for registering name spaces.
C++ interface for capabilities.
Generic RPC wrapper for L4 flex-pages.
A receive item for receiving a single capability.
Helper class to create an L4Re interface class that is derived from a single base class.
unsigned long l4_umword_t
Unsigned machine word.
@ L4_CAP_FPAGE_RO
Read right for capability flex-pages.
@ L4_CAP_FPAGE_RW
Read and interface specific 'W' right for capability flex-pages.
@ L4_CAP_FPAGE_W
Interface specific 'W' right for capability flex-pages.
@ L4_CAP_FPAGE_RS
Read and interface specific 'S' right for capability flex-pages.
@ L4_CAP_FPAGE_RWS
Read, interface specific 'W', and 'S' rights for capability flex-pages.
@ L4_CAP_FPAGE_S
Interface specific 'S' right for capability flex-pages.
Interface Definition Language.
#define L4_RPC_NF_OP(op, res, name, args...)
Define an RPC call type with specific opcode (the type only, no callable).
#define L4_RPC_NF(res, name, args...)
Define an RPC call type (the type only, no callable).
L4 low-level kernel interface.
L4Re Protocol Constants (C version)
RPC attribute for an RPC call with required rights.
Attribute for defining an optional RPC argument.
Standard list of RPCs of an interface.