22#include <l4/cxx/string>
77 for (
unsigned i = 0; n && i <
sizeof(
name); ++i, ++n)
85 static bool is_valid_name(
char const *n)
L4_NOTHROW
87 for (
unsigned i = 0; *n; ++i, ++n)
94 cxx::String get_name() const noexcept
97 while (len <
sizeof(
name) &&
name[len] !=
'\0')
100 return cxx::String(
name, len);
103 explicit operator bool() const noexcept
104 {
return flags != ~0UL; }
199{
return l4re_global_env; }
209 for (; c && c->
flags != ~0UL; ++c)
213 i <
sizeof(c->
name) && i < l && c->
name[i] && name[i] && name[i] == c->
name[i];
217 if (i == l && (i ==
sizeof(c->
name) || !c->
name[i]))
228 for (l = 0; name[l]; ++l) ;
L4 compiler related defines.
l4_cap_idx_t l4re_env_get_cap(char const *name) L4_NOTHROW
Get the capability selector for the object named name.
l4_cap_idx_t l4re_env_get_cap_e(char const *name, l4re_env_t const *e) L4_NOTHROW
Get the capability selector for the object named name.
l4_kernel_info_t const * l4re_kip(void) L4_NOTHROW
Get Kernel Info Page.
l4re_env_t * l4re_env(void) L4_NOTHROW
Get L4Re initial environment.
l4re_env_cap_entry_t const * l4re_env_get_cap_l(char const *name, unsigned l, l4re_env_t const *e) L4_NOTHROW
Get the full l4re_env_cap_entry_t for the object named name.
unsigned long l4_umword_t
Unsigned machine word.
unsigned long l4_addr_t
Address type.
unsigned long l4_cap_idx_t
Capability selector type.
#define L4_INVALID_CAP
Invalid capability selector; see l4_cap_idx_t.
l4_kernel_info_t const * l4_kip(void) L4_NOTHROW
Get Kernel Info Page.
#define L4_NOTHROW
Mark a function declaration and definition as never throwing an exception.
#define L4_INLINE
L4 Inline function attribute.
Kernel Info Page access functions.
Common L4 ABI Data Types.
L4 Kernel Interface Page.
Entry in the L4Re environment array for the named initial objects.
l4re_env_cap_entry_t() L4_NOTHROW
Create an invalid entry.
l4_cap_idx_t cap
The capability selector for the object.
char name[16]
The name of the object.
l4re_env_cap_entry_t(char const *n, l4_cap_idx_t c, l4_umword_t f=0) L4_NOTHROW
Create an entry with the name n, capability c, and flags f.
l4_umword_t flags
Flags for the object.
Initial environment data structure.
l4_cap_idx_t factory
Object-capability of the factory available to the task.
l4_umword_t first_free_reply_cap
First reply capability index available to the application.
l4_cap_idx_t mem_alloc
Memory allocator object-capability.
l4_cap_idx_t scheduler
Object capability for the scheduler set to use.
l4_cap_idx_t rm
Region map object-capability.
l4_addr_t first_free_utcb
First UTCB within the UTCB area available to the application.
l4_cap_idx_t first_free_cap
First capability index available to the application.
l4_cap_idx_t itas
ITAS services object-capability.
l4_cap_idx_t dbg_events
Object-capability of the debug events service.
l4re_env_cap_entry_t * caps
Pointer to the first entry in the initial objects array which contains l4re_env_cap_entry_t elements.
l4_cap_idx_t main_thread
Object-capability of the first user thread.
l4_fpage_t utcb_area
UTCB area of the task.
l4_cap_idx_t parent
Parent object-capability.
l4_cap_idx_t log
Logging object-capability.