ChibiOS 21.11.5
rt/include/ch.h
Go to the documentation of this file.
1/*
2 ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
3
4 This file is part of ChibiOS.
5
6 ChibiOS is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation version 3 of the License.
9
10 ChibiOS is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19/**
20 * @file rt/include/ch.h
21 * @brief ChibiOS/RT main include file.
22 *
23 * @addtogroup kernel_info
24 * @details This header includes all the required kernel headers so it is the
25 * only kernel header you usually want to include in your application.
26 * @details Kernel related info.
27 * @{
28 */
29
30#ifndef CH_H
31#define CH_H
32
33/**
34 * @brief ChibiOS/RT identification macro.
35 */
36#define __CHIBIOS_RT__
37
38/**
39 * @brief Stable release flag.
40 */
41#define CH_KERNEL_STABLE 1
42
43/**
44 * @name ChibiOS/RT version identification
45 * @{
46 */
47/**
48 * @brief Kernel version string.
49 */
50#define CH_KERNEL_VERSION "7.0.6"
51
52/**
53 * @brief Kernel version major number.
54 */
55#define CH_KERNEL_MAJOR 7
56
57/**
58 * @brief Kernel version minor number.
59 */
60#define CH_KERNEL_MINOR 0
61
62/**
63 * @brief Kernel version patch number.
64 */
65#define CH_KERNEL_PATCH 6
66/** @} */
67
68/**
69 * @name Constants for configuration options
70 * @{
71 */
72/**
73 * @brief Generic 'false' preprocessor boolean constant.
74 * @note It is meant to be used in configuration files as switch.
75 */
76#if !defined(FALSE) || defined(__DOXYGEN__)
77#define FALSE 0
78#endif
79
80/**
81 * @brief Generic 'true' preprocessor boolean constant.
82 * @note It is meant to be used in configuration files as switch.
83 */
84#if !defined(TRUE) || defined(__DOXYGEN__)
85#define TRUE 1
86#endif
87/** @} */
88
89/* License.*/
90#include "chlicense.h"
91
92/* Configuration headers, checks and licensing restrictions.*/
93#include "chconf.h"
94#include "chchecks.h"
95#include "chrestrictions.h"
96
97/* Base kernel headers.*/
98#include "chearly.h"
99#include "chrfcu.h"
100#include "chdebug.h"
101#include "chtime.h"
102#include "chlists.h"
103#include "chalign.h"
104#include "chtrace.h"
105#include "chport.h"
106#include "chtm.h"
107#include "chstats.h"
108#include "chobjects.h"
109#include "chsys.h"
110#include "chinstances.h"
111#include "chvt.h"
112#include "chschd.h"
113#include "chthreads.h"
114
115/* Optional subsystems headers.*/
116#include "chregistry.h"
117#include "chsem.h"
118#include "chmtx.h"
119#include "chcond.h"
120#include "chevents.h"
121#include "chmsg.h"
122
123/* OSLIB.*/
124#include "chlib.h"
125
126/* Headers dependent on the OSLIB.*/
127#include "chdynamic.h"
128
129#endif /* CH_H */
130
131/** @} */
Memory alignment macros and structures.
Configuration file checks header.
Condition Variables macros and structures.
Debug support macros and structures.
Dynamic threads macros and structures.
Early forward types declarations header.
Events macros and structures.
OS instances macros and structures.
ChibiOS/LIB main include file.
License Module macros and structures.
Lists and Queues header.
Mutexes macros and structures.
Operating System Objects macros and structures.
Port wrapper header.
Threads registry macros and structures.
Licensing restrictions header.
Runtime Faults Collection Unit macros and structures.
Scheduler macros and structures.
Statistics module macros and structures.
System related macros and structures.
Threads module macros and structures.
Time and intervals macros and structures.
Time Measurement module macros and structures.
Tracer macros and structures.
Time and Virtual Timers module macros and structures.
Messages macros and structures.
Semaphores macros and structures.