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