14#include <l4/util/util.h>
27Namespace::_query(
char const *name,
unsigned len,
36 while (_name.length > 0)
40 int err = query_t::call(ns, _name,
49 bool const partly = err & Partly_resolved;
52 *local_id = cap.
data();
56 if (partly && iterate)
57 ns = L4::cap_cast<Namespace>(target);
67 int timeout,
l4_umword_t *local_id,
bool iterate)
const noexcept
84 ret = _query(name, len, target, local_id, iterate);
116 bool iterate)
const noexcept
118 return query(name, __builtin_strlen(name), target,
119 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.
l4_umword_t data() const noexcept
Return the raw flexpage descriptor.
A receive item for receiving a single object capability.
Send item or return item.
bool id_received() const noexcept
*(Defined for return items only.)* Check if an IPC gate label has been received instead of a mapping.
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.