25#include <l4/util/util.h>
38Namespace::_query(
char const *name,
unsigned len,
47 while (_name.length > 0)
51 int err = query_t::call(ns, _name,
60 bool const partly = err & Partly_resolved;
63 *local_id = cap.
data();
67 if (partly && iterate)
68 ns = L4::cap_cast<Namespace>(target);
78 int timeout,
l4_umword_t *local_id,
bool iterate)
const noexcept
95 ret = _query(name, len, target, local_id, iterate);
127 bool iterate)
const noexcept
129 return query(name, __builtin_strlen(name), target,
130 timeout, local_id, iterate);
long query(char const *name, L4::Cap< void > const &cap, int timeout=To_default, l4_umword_t *local_id=0, bool iterate=true) const noexcept
Query the name space for a named object.
long register_obj(char const *name, L4::Ipc::Cap< void > obj, unsigned flags=Rw) const noexcept
Register an object with a name.
long unlink(char const *name)
Remove an entry from the name space.
C++ interface for capabilities.
bool id_received() const noexcept
Check if a label was received instead of a mapping.
l4_umword_t data() const noexcept
Return the raw flex page descriptor.
A receive item for receiving a single object capability.
unsigned long l4_umword_t
Unsigned machine word.
@ L4_EINVAL
Invalid argument.
@ L4_RCV_ITEM_LOCAL_ID
The receiver requests to receive a local ID instead of a mapping whenever possible.
#define L4_UNLIKELY(x)
Expression is unlikely to execute.
void l4_sleep(l4_uint32_t ms) L4_NOTHROW
Suspend thread for a period of ms milliseconds.
#define L4_RPC_DEF(name)
Generate the definition of an RPC stub.
int Opcode
Data type for RPC opcodes.
Array data type for dynamically sized arrays in RPCs.
Low-level assert implementation.
#define l4_assert(expr)
Low-level assert.