ChibiOS  21.6.0
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 0
43 
44 /**
45  * @name ChibiOS/RT version identification
46  * @{
47  */
48 /**
49  * @brief Kernel version string.
50  */
51 #define CH_KERNEL_VERSION "7.0.0"
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 0
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 /** @} */
chtime.h
Time and intervals macros and structures.
chrestrictions.h
Licensing restrictions header.
chlicense.h
License Module macros and structures.
chschd.h
Scheduler macros and structures.
chalign.h
Memory alignment macros and structures.
chdynamic.h
Dynamic threads macros and structures.
chmsg.h
Messages macros and structures.
chsys.h
System related macros and structures.
chvt.h
Time and Virtual Timers module macros and structures.
chtm.h
Time Measurement module macros and structures.
chlib.h
ChibiOS/LIB main include file.
chchecks.h
Configuration file checks header.
chregistry.h
Threads registry macros and structures.
chthreads.h
Threads module macros and structures.
chcond.h
Condition Variables macros and structures.
chtrace.h
Tracer macros and structures.
chinstances.h
OS instances macros and structures.
chlists.h
Lists and Queues header.
chearly.h
Early forward types declarations header.
chrfcu.h
Runtime Faults Collection Unit macros and structures.
chmtx.h
Mutexes macros and structures.
chsem.h
Semaphores macros and structures.
chdebug.h
Debug support macros and structures.
chevents.h
Events macros and structures.
chobjects.h
Operating System Objects macros and structures.
chstats.h
Statistics module macros and structures.
chport.h
Port wrapper header.