ChibiOS/RT
2.5.1
ch.h
Go to the documentation of this file.
00001 /*
00002     ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
00003                  2011,2012 Giovanni Di Sirio.
00004 
00005     This file is part of ChibiOS/RT.
00006 
00007     ChibiOS/RT is free software; you can redistribute it and/or modify
00008     it under the terms of the GNU General Public License as published by
00009     the Free Software Foundation; either version 3 of the License, or
00010     (at your option) any later version.
00011 
00012     ChibiOS/RT is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015     GNU General Public License for more details.
00016 
00017     You should have received a copy of the GNU General Public License
00018     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00019 */
00020 
00021 /**
00022  * @file    ch.h
00023  * @brief   ChibiOS/RT main include file.
00024  * @details This header includes all the required kernel headers so it is the
00025  *          only kernel header you usually want to include in your application.
00026  *
00027  * @addtogroup kernel_info
00028  * @details Kernel related info.
00029  * @{
00030  */
00031 
00032 #ifndef _CH_H_
00033 #define _CH_H_
00034 
00035 /**
00036  * @brief   ChibiOS/RT identification macro.
00037  */
00038 #define _CHIBIOS_RT_
00039 
00040 /**
00041  * @brief   Kernel version string.
00042  */
00043 #define CH_KERNEL_VERSION       "2.5.1unstable"
00044 
00045 /**
00046  * @name    Kernel version
00047  * @{
00048  */
00049 /**
00050  * @brief   Kernel version major number.
00051  */
00052 #define CH_KERNEL_MAJOR         2
00053 
00054 /**
00055  * @brief   Kernel version minor number.
00056  */
00057 #define CH_KERNEL_MINOR         5
00058 
00059 /**
00060  * @brief   Kernel version patch number.
00061  */
00062 #define CH_KERNEL_PATCH         1
00063 /** @} */
00064 
00065 /**
00066  * @name    Common constants
00067  */
00068 /**
00069  * @brief   Generic 'false' boolean constant.
00070  */
00071 #if !defined(FALSE) || defined(__DOXYGEN__)
00072 #define FALSE       0
00073 #endif
00074 
00075 /**
00076  * @brief   Generic 'true' boolean constant.
00077  */
00078 #if !defined(TRUE) || defined(__DOXYGEN__)
00079 #define TRUE        (!FALSE)
00080 #endif
00081 
00082 /**
00083  * @brief   Generic success constant.
00084  * @details This constant is functionally equivalent to @p FALSE but more
00085  *          readable, it can be used as return value of all those functions
00086  *          returning a @p bool_t as a status indicator.
00087  */
00088 #if !defined(CH_SUCCESS) || defined(__DOXYGEN__)
00089 #define CH_SUCCESS  FALSE
00090 #endif
00091 
00092 /**
00093  * @brief   Generic failure constant.
00094  * @details This constant is functionally equivalent to @p TRUE but more
00095  *          readable, it can be used as return value of all those functions
00096  *          returning a @p bool_t as a status indicator.
00097  */
00098 #if !defined(CH_FAILED) || defined(__DOXYGEN__)
00099 #define CH_FAILED   TRUE
00100 #endif
00101 /** @} */
00102 
00103 #include "chconf.h"
00104 #include "chtypes.h"
00105 #include "chlists.h"
00106 #include "chcore.h"
00107 #include "chsys.h"
00108 #include "chvt.h"
00109 #include "chschd.h"
00110 #include "chsem.h"
00111 #include "chbsem.h"
00112 #include "chmtx.h"
00113 #include "chcond.h"
00114 #include "chevents.h"
00115 #include "chmsg.h"
00116 #include "chmboxes.h"
00117 #include "chmemcore.h"
00118 #include "chheap.h"
00119 #include "chmempools.h"
00120 #include "chthreads.h"
00121 #include "chdynamic.h"
00122 #include "chregistry.h"
00123 #include "chinline.h"
00124 #include "chqueues.h"
00125 #include "chstreams.h"
00126 #include "chfiles.h"
00127 #include "chdebug.h"
00128 
00129 #if !defined(__DOXYGEN__)
00130 extern WORKING_AREA(_idle_thread_wa, PORT_IDLE_THREAD_STACK_SIZE);
00131 #endif
00132 
00133 #ifdef __cplusplus
00134 extern "C" {
00135 #endif
00136   void _idle_thread(void *p);
00137 #ifdef __cplusplus
00138 }
00139 #endif
00140 
00141 #endif /* _CH_H_ */
00142 
00143 /** @} */