![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
| ►Ncxx | Our C++ library |
| ►NBits | Internal helpers for the cxx package |
| CAvl_map_get_key | Key-getter for Avl_map |
| CAvl_set_get_key | Internal, key-getter for Avl_set nodes |
| ►CBase_avl_set | Internal: AVL set with internally managed nodes |
| CNode | A smart pointer to a tree item |
| CBasic_list | Internal: Common functions for all head-based list implementations |
| CBst | Basic binary search tree (BST) |
| CBst_node | Basic type of a node in a binary search tree (BST) |
| CDirection | The direction to go in a binary search tree |
| CSmart_ptr_list | List of smart-pointer-managed objects |
| CSmart_ptr_list_item | List item for an arbitrary item in a Smart_ptr_list |
| CAvl_map | AVL tree based associative container |
| CAvl_set | AVL set for simple comparable items |
| CAvl_tree | A generic AVL tree |
| CAvl_tree_node | Node of an AVL tree |
| ►CBase_slab | Basic slab allocator |
| CSlab_i | Type of a slab |
| CBase_slab_static | Merged slab allocator (allocators for objects of the same size are merged together) |
| ►CBitfield | Definition for a member (part) of a bit field |
| CValue | Internal helper type |
| CValue_base | Internal helper type |
| CValue_unshifted | Internal helper type |
| CBitmap | A static bitmap |
| ►CBitmap_base | Basic bitmap abstraction |
| CBit | A writable bit in a bitmap |
| CChar | Helper abstraction for a byte contained in the bitmap |
| CWord | Helper abstraction for a word contained in the bitmap |
| CH_list | General double-linked list of unspecified cxx::H_list_item elements |
| CH_list_item_t | Basic element type for a double-linked H_list |
| CH_list_t | Double-linked list of typed H_list_item_t elements |
| ►CList | Doubly linked list, with internal allocation |
| CIter | Iterator |
| CList_alloc | Standard list-based allocator |
| ►CList_item | Basic list item |
| CIter | Iterator for a list of ListItem-s |
| CT_iter | Iterator for derived classes from ListItem |
| CLt_functor | Generic comparator class that defaults to the less-than operator |
| CNew_allocator | Standard allocator based on operator new () |
| CNothrow | Helper type to distinguish the operator new version that does not throw exceptions |
| CPair | Pair of two values |
| CPair_first_compare | Comparison functor for Pair |
| CRef_obj_list_item | Item for list linked via cxx::Ref_ptr with default refence counting |
| CRef_ptr | A reference-counting pointer with automatic cleanup |
| CS_list | Simple single-linked list |
| CSlab | Slab allocator for object of type Type |
| CSlab_static | Merged slab allocator (allocators for objects of the same size are merged together) |
| Cstatic_vector | Simple encapsulation for a dynamically allocated array |
| CString | Allocation free string class with explicit length field |
| CWeak_ref | Typed weak reference to an object of type T |
| ►CWeak_ref_base | Generic (base) weak reference to some object |
| CList | The list type for keeping all weak references to an object |
| ►NL4 | L4 low-level kernel interface |
| ►NIpc | IPC related functionality |
| ►NMsg | IPC Message related functionality |
| CClnt_val_ops | Defines client-side handling of ‘MTYPE’ as RPC argument |
| CCls_buffer | Marker type for receive buffer values |
| CCls_data | Marker type for data values |
| CCls_item | Marker type for item values |
| CDir_in | Marker type for input values |
| CDir_out | Marker type for output values |
| CDo_in_data | Marker for Input data |
| CDo_in_items | Marker for Input items |
| CDo_out_data | Marker for Output data |
| CDo_out_items | Marker for Output items |
| CDo_rcv_buffers | Marker for receive buffers |
| CElem< Array< A, LEN > & > | Array as output argument |
| CElem< Array< A, LEN > > | Array as input arguments |
| CElem< Array_ref< A, LEN > & > | Array_ref as output argument |
| CIs_valid_rpc_type | Type trait defining a valid RPC parameter type |
| CSvr_arg_pack | Server-side RPC arguments data structure used to provide arguments to the server-side implementation of an RPC function |
| CSvr_val_ops | Defines server-side handling for MTYPE server arguments |
| CArray | Array data type for dynamically sized arrays in RPCs |
| CArray_in_buf | Server-side copy in buffer for Array |
| CArray_ref | Array reference data type for arrays located in the message |
| CAs_value | Pass the argument as plain data value |
| CCall | RPC attribute for a standard RPC call |
| CCall_t | RPC attribute for an RPC call with required rights |
| CCall_zero_send_timeout | RPC attribute for an RPC call, with zero send timeout |
| CCap | Capability type for RPC interfaces (see L4::Cap<T>) |
| CGen_fpage | Generic RPC base for typed message items |
| CIn_out | Mark an argument as in-out argument |
| CIostream | Input/Output stream for IPC [un]marshalling |
| CIstream | Input stream for IPC unmarshalling |
| CMsg_ptr | Pointer to an element of type T in an Ipc::Istream |
| COpt | Attribute for defining an optional RPC argument |
| COstream | Output stream for IPC marshalling |
| COut | Mark an argument as a output value in an RPC signature |
| CRcv_fpage | Non-small receive item |
| CRet_array | Dynamically sized output array of type T |
| CSend_only | RPC attribute for a send-only RPC |
| CSmall_buf | A receive item for receiving a single object capability |
| CSnd_fpage | Send item or return item |
| CStr_cp_in | Abstraction for extracting a zero-terminated string from an Ipc::Istream |
| CVarg | Variably sized RPC argument |
| CVarg_list | Self-contained list of variable-sized RPC parameters |
| ►CVarg_list_ref | List of variable-sized RPC parameters as received by the server |
| CIterator | Iterator for Valists |
| ►NIpc_svr | Helper classes for L4::Server instantiation |
| CBr_manager_no_buffers | Empty implementation of Server_iface |
| CCompound_reply | Mix in for LOOP_HOOKS to always use compound reply and wait |
| CDbg_dispatch | Dispatch helper that, in addition to what Exc_dispatch does, prints exception messages |
| CDefault_loop_hooks | Default LOOP_HOOKS |
| CDefault_setup_wait | Mix in for LOOP_HOOKS for setup_wait no op |
| CDefault_timeout | Mix in for LOOP_HOOKS to use a 0 send and a infinite receive timeout |
| CDirect_dispatch | Direct dispatch helper, for forwarding dispatch calls to a registry R |
| CDirect_dispatch< R * > | Direct dispatch helper, for forwarding dispatch calls via a pointer to a registry R |
| CExc_dispatch | Dispatch helper wrapping try {} catch {} around the dispatch call |
| CIgnore_errors | Mix in for LOOP_HOOKS to ignore IPC errors |
| CServer_iface | Interface for server-loop related functions |
| CTimeout | Callback interface for Timeout_queue |
| CTimeout_queue | Timeout queue to be used in l4re server loop |
| CTimeout_queue_hooks | Loop hooks mixin for integrating a timeout queue into the server loop |
| ►NTypeid | Definition of interface data-type helpers |
| CP_dispatch | Use for protocol based dispatch stage |
| CRaw_ipc | RPCs list for passing raw incoming IPC to the server object |
| CRpc_nocode | List of RPCs of an interface using a single operation without an opcode |
| CRpcs | Standard list of RPCs of an interface |
| ►CRpcs_code | List of RPCs of an interface using a special opcode type |
| CF | |
| CRpcs_sys | List of RPCs typically used for kernel interfaces |
| ►NTypes | L4 basic type helpers for C++ |
| CBool | Boolean meta type |
| CFalse | False meta value |
| CFlags | Template for defining typical Flags bitmaps |
| CFlags_ops_t | Mixin class to define a set of friend bitwise operators on DT |
| CFlags_t | Template type to define a flags type with bitwise operations |
| CInt_for_size | Metafunction to get an unsigned integral type for the given size |
| CInt_for_type | Metafunction to get an integral type of the same size as T |
| CSame | Compare two data types for equality |
| CTrue | True meta value |
| CAlloc_list | A simple list-based allocator |
| CArm_smccc | Wrapper for function calls that follow the ARM SMC/HVC calling convention |
| CBase_exception | Base class for all exceptions, thrown by the L4Re framework |
| CBasic_registry | This registry returns the corresponding server object based on the label of an Ipc_gate |
| CBounds_error | Access out of bounds |
| CCap | C++ interface for capabilities |
| CCap_base | Base class for all kinds of capabilities |
| CCom_error | Error conditions during IPC |
| CDebugger | C++ kernel debugger API |
| CElement_already_exists | Exception for duplicate element insertions |
| CElement_not_found | Exception for a failed lookup (element not found) |
| CEpiface | Base class for interface implementations |
| CEpiface_t | Epiface implementation for Kobject-based interface implementations |
| CEpiface_t0 | Epiface mixin for generic Kobject-based interfaces |
| CException | Exception interface |
| CException_tracer | Back-trace support for exceptions |
| ►CFactory | C++ Factory interface, see Factory for the C interface |
| CLstr | Special type to add a pascal string into the factory create stream |
| CNil | Special type to add a void argument into the factory create stream |
| CS | Stream class for the create() argument stream |
| ►CIcu | C++ Icu interface, see Interrupt controller for the C interface |
| CInfo | This class encapsulates information about an ICU |
| CInvalid_capability | Indicates that an invalid object was invoked |
| CIo_pager | Io_pager interface |
| CIommu | Interface for IO-MMUs used for DMA remapping |
| CIOModifier | Modifier class for the IO stream |
| CIpc_gate | The C++ IPC gate interface, see IPC-Gate API for the C interface |
| CIrq | C++ Irq interface, see IRQs for the C interface |
| CIrq_eoi | Interface for sending an unmask message to an object |
| CIrq_handler_object | Server object base class for handling IRQ messages |
| CIrqep_t | Epiface implementation for interrupt handlers |
| CKobject | Base class for all kinds of kernel objects and remote objects, referenced by capabilities |
| CKobject_2t | Helper class to create an L4Re interface class that is derived from two base classes (see L4::Kobject_t) |
| CKobject_3t | Helper class to create an L4Re interface class that is derived from three base classes (see L4::Kobject_t) |
| CKobject_demand | Get the combined server-side resource requirements for all type T.. |
| CKobject_t | Helper class to create an L4Re interface class that is derived from a single base class |
| CKobject_typeid | Meta object for handling access to type information of Kobjects |
| CKobject_typeid< void > | Minimalistic ID for void interface |
| CKobject_x | Generic Kobject inheritance template |
| CLock_guard | Basic lock guard implementation that prevents forgotten unlocks on exit paths from a method or a block of code |
| CMeta | Meta interface that shall be implemented by each L4Re object and gives access to the dynamic type information for L4Re objects |
| COut_of_memory | Exception signalling insufficient memory |
| CPager | Pager interface including the Io_pager interface |
| CPlatform_control | L4 C++ interface for controlling platform-wide properties, see Platform Control C API for the C interface |
| CPoll_timeout_counter | Evaluate an expression for a maximum number of times |
| CPoll_timeout_kipclock | A polling timeout based on the L4Re clock |
| CProto_t | Data type for defining protocol numbers |
| CRcv_endpoint | Interface for kernel objects that allow to receive IPC from them |
| CRegistry_iface | Abstract interface for object registries |
| CRuntime_error | Exception for an abstract runtime error |
| CScheduler | C++ interface of the Scheduler kernel object, see Scheduler for the C interface |
| CSemaphore | C++ Kernel-provided semaphore interface, see Kernel-provided semaphore for the C interface |
| CServer | Basic server loop for handling client requests |
| CServer_object | Abstract server object to be used with L4::Server and L4::Basic_registry |
| CServer_object_t | Base class (template) for server implementing server objects |
| CServer_object_x | Helper class to implement p_dispatch based server objects |
| CSmart_cap | Smart capability class |
| CString | A null-terminated string container class |
| CTask | C++ interface of the Task kernel object, see Task for the C interface |
| ►CThread | C++ L4 kernel thread interface, see Thread for the C interface |
| CAttr | Thread attributes used for control() |
| CModify_senders | Class wrapping a list of rules which modify the sender label of IPC messages inbound to this thread |
| CThread_group | C++ L4 kernel thread group interface, see Thread groups for the C interface |
| CTriggerable | Interface that allows an object to be triggered by some source |
| ►CType_info | Dynamic Type Information for L4Re Interfaces |
| CDemand | Data type for expressing the needed receive buffers at the server-side of an interface |
| CDemand_t | Template type statically describing demand of receive buffers |
| CDemand_union_t | Template type statically describing the combination of two Demand object |
| CUart | Uart driver abstraction |
| CUart_apb | Driver for the Advanced Peripheral Bus (APB) UART from the Cortex-M System Design Kit (CMSDK) |
| CUnknown_error | Exception for an unknown condition |
| CVcon | C++ L4 Vcon interface, see Virtual Console for the C interface |
| CVm | Virtual machine host address space |
| ►NL4Re | L4Re C++ Interfaces |
| ►NUtil | Documentation of the L4 Runtime Environment utility functionality in C++ |
| C_Cap_alloc | Adapter to expose the cap allocator implementation as L4Re::Cap_alloc compatible class |
| CBr_manager | Buffer-register (BR) manager for L4::Server |
| CBr_manager_hooks | Predefined server-loop hooks for a server loop using the Br_manager |
| CBr_manager_timeout_hooks | Predefined server-loop hooks for a server with using the Br_manager and a timeout queue |
| CCap_alloc_base | Capability allocator |
| CCounter | Counter for Counting_cap_alloc with variable data width |
| CCounter_atomic | Thread safe version of counter for Counting_cap_alloc |
| CCounting_cap_alloc | Internal reference-counting cap allocator |
| CDataspace_svr | Dataspace server class |
| CEvent_buffer_consumer_t | An event buffer consumer |
| CEvent_buffer_t | Event_buffer utility class |
| CEvent_svr | Convenience wrapper for implementing an event server |
| CEvent_t | Convenience wrapper for getting access to an event object |
| CItem_alloc_base | Item allocator |
| CObject_registry | A registry that manages server objects and their attached IPC gates for a single server loop for a specific thread |
| CRef_cap | Automatic capability that implements automatic free and unmap of the capability selector |
| CRef_del_cap | Automatic capability that implements automatic free and unmap+delete of the capability selector |
| CRegistry_server | A server loop object which has a Object_registry included |
| CSmart_cap_auto | Helper for Unique_cap and Unique_del_cap |
| CSmart_count_cap | Helper for Ref_cap and Ref_del_cap |
| CVcon_svr | Console server template class |
| ►NVfs | Virtual file system for interfaces in POSIX libc |
| CBe_file | Boiler plate class for implementing an open file for L4Re::Vfs |
| CBe_file_system | Boilerplate class for implementing a L4Re::Vfs::File_system |
| CDirectory | Interface for a POSIX file that is a directory |
| CFile | The basic interface for an open POSIX file |
| CFile_system | Basic interface for an L4Re::Vfs file system |
| CFs | POSIX File-system related functionality |
| CGeneric_file | The common interface for an open POSIX file |
| CMman | Interface for POSIX memory management |
| COps | Interface for the POSIX backends of an application |
| CRegular_file | Interface for a POSIX file that provides regular file semantics |
| CSpecial_file | Interface for a POSIX file that provides special file semantics |
| CCap_alloc | Capability allocator interface |
| CConsole | Console class |
| ►CDataspace | Interface for memory-like objects |
| CF | Dataspace flags definitions |
| CStats | Information about the dataspace |
| CDebug_obj | Debug interface |
| CDefault_event_payload | Default event stream payload |
| CDma_space | Managed DMA Address Space |
| CEnv | C++ interface of the initial environment that is provided to an L4 task |
| CEvent | Event class |
| ►CEvent_buffer_t | Event buffer class |
| CEvent | Event structure used in buffer |
| CInhibitor | Set of inhibitor locks, which inhibit specific actions when held |
| CItas | Interface to the ITAS |
| CLog | Log interface class |
| ►CMem_alloc | Memory allocation interface |
| CStats | Statistics about memory-allocator |
| CMmio_space | Interface for memory-like address space accessible via IPC |
| CNamespace | Name-space interface |
| CParent | Parent interface |
| CRandom | Low-bandwidth interface for random number generators |
| ►CRm | Region map |
| CF | Rm flags definitions |
| CRange | A range of virtual addresses |
| CUnique_region | Unique region |
| CSmart_cap_auto | Helper for Unique_cap and Unique_del_cap |
| CSmart_count_cap | Helper for Ref_cap and Ref_del_cap |
| ►NL4vbus | C++ interface of the Vbus API. |
| CDevice | Device on a L4vbus::Vbus |
| ►CGpio_module | A Gpio_module groups multiple GPIO pins together |
| CPin_slice | A slice of the pins provided by this module |
| CGpio_pin | A GPIO pin |
| CIcu | Vbus Interrupt controller API |
| CPci_dev | A PCI device |
| CPci_host_bridge | A Pci host bridge |
| CPm | Power-management API mixin |
| CVbus | The virtual bus (Vbus) interface |
| ►NL4virtio | L4-VIRTIO Transport C++ API |
| CDevice | IPC interface for virtio over L4 IPC |
| CPtr | Pointer used in virtio descriptors |
| ►CVirtqueue | Low-level Virtqueue |
| ►CAvail | Type of available ring, this is read-only for the host |
| CFlags | Flags of the available ring |
| ►CDesc | Descriptor in the descriptor table |
| CFlags | Type for descriptor flags |
| ►CUsed | Used ring |
| CFlags | Flags for the used ring |
| CUsed_elem | Type of an element of the used ring |
