20#include <l4/sys/cxx/ipc_array>
21#include <l4/sys/cxx/ipc_string>
50 public L4::Kobject_t<Namespace, L4::Kobject, L4RE_PROTO_NAMESPACE,
51 L4::Type_info::Demand_t<1> >
123 int timeout = To_default,
124 l4_umword_t *local_id = 0,
bool iterate =
true) const noexcept;
135 l4_ret_t query(
char const *name,
unsigned len,
L4::Cap<
void> const &cap,
136 int timeout = To_default,
137 l4_umword_t *local_id = 0,
bool iterate = true) const noexcept;
140 L4::Ipc::Array<
char const,
unsigned long> name,
141 L4::Ipc::Opt<
L4::Ipc::Cap<
void> > obj),
168 unsigned flags =
Rw) const noexcept
170 return register_obj_t::call(
c(), flags,
172 __builtin_strlen(name), name),
197 __builtin_strlen(name), name));
203 l4_ret_t _query(
char const *name,
unsigned len,
205 bool iterate)
const noexcept;
L4::Cap related definitions.
l4_ret_t register_obj(char const *name, L4::Ipc::Cap< void > obj, unsigned flags=Rw) const noexcept
Register an object with a name.
Query_result_flags
Flags returned by query IPC, only used internally.
@ Partly_resolved
Name was only partly resolved.
l4_ret_t unlink(char const *name)
Remove an entry from the name space.
Register_flags
Flags for registering name spaces.
@ Trusted
Obsolete, do not use.
@ Overwrite
If entry already exists, overwrite it.
@ Rws
Read-write + strong.
@ Link
Obsolete, do not use.
Query_timeout
Timeout values for query operation.
@ To_non_blocking
Expect callee to answer immediately.
@ To_default
Default timeout.
C++ interface for capabilities.
A receive item for receiving a single object capability.
Send item or return item.
Helper class to create an L4Re interface class that is derived from a single base class.
L4::Cap< Class > c() const noexcept
unsigned long l4_umword_t
Unsigned machine word.
@ L4_CAP_FPAGE_RO
Read right for capability flexpages.
@ L4_CAP_FPAGE_RW
Read and interface specific 'W' right for capability flexpages.
@ L4_CAP_FPAGE_W
Interface specific 'W' right for capability flexpages.
@ L4_CAP_FPAGE_RS
Read and interface specific 'S' right for capability flexpages.
@ L4_CAP_FPAGE_RWS
Read, interface specific 'W', and 'S' rights for capability flexpages.
@ L4_CAP_FPAGE_S
Interface specific 'S' right for capability flexpages.
#define L4_EXPORT
Attribute to mark functions, variables, and data types as being exported from a library.
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_int16_t l4_ret_t
Return value of an IPC call as well as an RPC call.
L4 low-level kernel interface.
L4Re Protocol Constants (C version).
Array reference data type for arrays located in the message.
Array data type for dynamically sized arrays in RPCs.
RPC attribute for an RPC call with required rights.
Attribute for defining an optional RPC argument.
Standard list of RPCs of an interface.