L4Re - L4 Runtime Environment
Namespace interface

Namespace C interface. More...

+ Collaboration diagram for Namespace interface:

Enumerations

enum  l4re_ns_register_flags
 Namespace register flags. More...
 

Functions

long l4re_ns_query_to_srv (l4re_namespace_t srv, char const *name, l4_cap_idx_t const cap, int timeout) L4_NOTHROW
 Query the name space for the object named by name. More...
 
long l4re_ns_query_srv (l4re_namespace_t srv, char const *name, l4_cap_idx_t const cap) L4_NOTHROW
 Query the name space for the object named by name. More...
 
long l4re_ns_register_obj_srv (l4re_namespace_t srv, char const *name, l4_cap_idx_t const obj, unsigned flags) L4_NOTHROW
 Register an object with a name. More...
 

Detailed Description

Namespace C interface.

Enumeration Type Documentation

◆ l4re_ns_register_flags

Namespace register flags.

See also
L4Re::Namespace::Register_flags

Definition at line 39 of file namespace.h.

Function Documentation

◆ l4re_ns_query_srv()

long l4re_ns_query_srv ( l4re_namespace_t  srv,
char const *  name,
l4_cap_idx_t const  cap 
)
inline

Query the name space for the object named by name.

Parameters
srvName space server to use for the query.
nameString to query.
capCapability slot where the received capability will be stored.
Return values
0Name could be fully resolved.
>0Name could only be partly resolved. The number of remaining characters is returned.
-L4_ENOENTEntry could not be found.
-L4_EAGAINEntry exists but no object is yet attached. Try again later.
<0IPC errors, see l4_error_code_t.

Definition at line 105 of file namespace.h.

References EXTERN_C_END, and l4re_ns_query_to_srv().

+ Here is the call graph for this function:

◆ l4re_ns_query_to_srv()

long l4re_ns_query_to_srv ( l4re_namespace_t  srv,
char const *  name,
l4_cap_idx_t const  cap,
int  timeout 
)

Query the name space for the object named by name.

Parameters
timeoutTimeout of query in milliseconds. The client will only wait if a name already has been registered with the server but no object has been attached yet.
srvName space server to use for the query.
nameString to query.
capCapability slot where the received capability will be stored.
Return values
0Name could be fully resolved.
>0Name could only be partly resolved. The number of remaining characters is returned.
-L4_ENOENTEntry could not be found.
-L4_EAGAINEntry exists but no object is yet attached. Try again later.
<0IPC errors, see l4_error_code_t.

Referenced by l4re_ns_query_srv().

+ Here is the caller graph for this function:

◆ l4re_ns_register_obj_srv()

long l4re_ns_register_obj_srv ( l4re_namespace_t  srv,
char const *  name,
l4_cap_idx_t const  obj,
unsigned  flags 
)

Register an object with a name.

Parameters
srvName space server to use for the query.
nameName under which the object should be registered.
objCapability to object to register. An invalid capability may be given to only reserve the name for later use.
flagsFlags to assign to the entry, see L4Re::Namespace::Register_flags. Note that the rights that are assigned to a capability are not only determined by the rights given in these flags but also by the rights with which the obj capability was mapped to the name space.
Return values
0Object was successfully registered with name.
-L4_EEXISTName already registered.
-L4_EPERMCaller doesn't have necessary permissions.
-L4_ENOMEMServer has insufficient resources.
-L4_EINVALInvalid parameter.
<0IPC errors, see l4_error_code_t.
Precondition
requires capability rights: {RW}