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> >
121 int timeout = To_default,
122 l4_umword_t *local_id = 0,
bool iterate =
true) const noexcept;
133 long query(
char const *name,
unsigned len,
L4::Cap<
void> const &cap,
134 int timeout = To_default,
135 l4_umword_t *local_id = 0,
bool iterate = true) const noexcept;
137 L4_RPC_NF(
long, register_obj, (
unsigned flags,
138 L4::Ipc::Array<
char const,
unsigned long> name,
139 L4::Ipc::Opt<
L4::Ipc::Cap<
void> > obj),
166 unsigned flags =
Rw) const noexcept
168 return register_obj_t::call(
c(), flags,
170 __builtin_strlen(name), name),
192 long unlink(
char const* name)
195 __builtin_strlen(name), name));
201 long _query(
char const *name,
unsigned len,
203 bool iterate)
const noexcept;
L4::Cap related definitions.
long 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.
long 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 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.