5 * \defgroup l4_api Base API
6 * \brief Interfaces for all kinds of base functionality.
8 * Some notes on Inter Process Communication (IPC)
10 * IPC in L4 is always synchronous and unbuffered: a message is
11 * transferred from the sender to the recipient if and only if the
12 * recipient has invoked a corresponding IPC operation. The sender blocks
13 * until this happens or a timeout specified by the sender elapsed
14 * without the destination becoming ready to receive.
18 * \defgroup l4_kernel_object_gate_api IPC-Gate API
19 * \ingroup l4_kernel_object_api
21 * \brief Secure comminication object.
23 * IPC-Gate objects provide a means to establish secure communication channels
24 * to L4 Threads (\ref l4_thread_api). An IPC-Gate object can be created using
25 * a \ref l4_factory_api (l4_factory_create_gate()) and get assigned a specific
26 * L4 thread and a \em label as protected payload. The \em label has the size
27 * of one machine word and can only be seen by the Task running the thread that
28 * is assigned of the IPC-gate. The \em label is received as part of the IPC
29 * message. The \em label can thus be used to securely identify the IPC-gate
30 * that was used to send a message.
32 * An IPC-gate is usually used to represent an user-level object and may be
33 * the address of the data structure for the object in the server task.
35 * With client privileges an IPC-gate does not provide any direct API and
36 * thus an IPC-gate kernel object cannot be modified by invocations. Each
37 * invocation of an IPC-gate kernel object is translated into an IPC message
38 * to the assigned thread.
40 * \see \ref l4_ipc_api
45 * IPC can be used to copy data as well as to map or grant flexpages from
46 * the sender to the recipient.
50 * \defgroup l4sys_defines Basic Macros
52 * \brief L4 standard macros for header files, function definitions,
53 * and public APIs etc.
57 /*****************************************************************************
59 *****************************************************************************/
62 * \brief L4 low-level kernel interface.
68 * \defgroup api_calls_fiasco Fiasco extensions
70 * \brief Kernel debugger extensions of the Fiasco L4 implementation
74 * \defgroup api_calls_rt_sched Fiasco real time scheduling extensions
75 * \ingroup api_calls_fiasco
76 * \brief Real time scheduling extension for the Fiasco L4 implementation