1// vi:ft=c
2/* -*- c -*- */
3
4/* SPDX-License-Identifier: GPL-2.0-only or License-Ref-kk-custom */
5/*
6 * Copyright (C) 2009-2010 Technische Universität Dresden.
7 * Copyright (C) 2015-2020 Kernkonzept GmbH.
8 */
9
10/**
11 * \defgroup l4_api Base API
12 * \brief Interfaces for all kinds of base functionality.
13 *
14 * Some notes on Inter Process Communication (IPC)
15 *
16 * IPC in L4 is always synchronous and unbuffered: a message is
17 * transferred from the sender to the recipient if and only if the
18 * recipient has invoked a corresponding IPC operation. The sender blocks
19 * until this happens or a timeout specified by the sender elapsed
20 * without the destination becoming ready to receive.
21 */
22
23/**
24 * \defgroup l4_kernel_object_gate_api IPC-Gate API
25 * \ingroup l4_kernel_object_api
26 * \copydoc ipc_gate.h
27 */
28
29
30/*
31 * IPC can be used to copy data as well as to map or grant flexpages from
32 * the sender to the recipient.
33 */
34
35/**
36 * \defgroup l4sys_defines Basic Macros
37 * \ingroup l4_api
38 * \brief L4 standard macros for header files, function definitions,
39 *        and public APIs etc.
40 */
41
42
43/*****************************************************************************
44 *** System calls
45 *****************************************************************************/
46
47/**
48 * \brief L4 low-level kernel interface.
49 */
50namespace L4 { };
51
52
53/**
54 * \defgroup api_calls_fiasco Fiasco extensions
55 * \ingroup  l4_api
56 * \brief    Kernel debugger extensions of the Fiasco L4 implementation
57 */
58
59/**
60 * \defgroup api_calls_rt_sched Fiasco real time scheduling extensions
61 * \ingroup  api_calls_fiasco
62 * \brief    Real time scheduling extension for the Fiasco L4 implementation
63 */
64
65/**
66 * \defgroup l4_protocol_ops L4 IPC Opcodes
67 * \brief    List of protocol specific opcodes used for communication with L4Re
68 *           and Kernel objects.
69 */
70