|
ChibiOS/RT
2.5.1 |
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 RVCT/ARMCMx/chtypes.h 00023 * @brief ARM Cortex-Mx port system types. 00024 * 00025 * @addtogroup RVCT_ARMCMx_CORE 00026 * @{ 00027 */ 00028 00029 #ifndef _CHTYPES_H_ 00030 #define _CHTYPES_H_ 00031 00032 #define __need_NULL 00033 #define __need_size_t 00034 #define __need_ptrdiff_t 00035 #include <stddef.h> 00036 00037 #include <stdint.h> 00038 00039 typedef int32_t bool_t; /**< Fast boolean type. */ 00040 typedef uint8_t tmode_t; /**< Thread flags. */ 00041 typedef uint8_t tstate_t; /**< Thread state. */ 00042 typedef uint8_t trefs_t; /**< Thread references counter. */ 00043 typedef uint8_t tslices_t; /**< Thread time slices counter. */ 00044 typedef uint32_t tprio_t; /**< Thread priority. */ 00045 typedef int32_t msg_t; /**< Inter-thread message. */ 00046 typedef int32_t eventid_t; /**< Event Id. */ 00047 typedef uint32_t eventmask_t; /**< Event mask. */ 00048 typedef uint32_t flagsmask_t; /**< Event flags. */ 00049 typedef uint32_t systime_t; /**< System time. */ 00050 typedef int32_t cnt_t; /**< Resources counter. */ 00051 00052 /** 00053 * @brief Inline function modifier. 00054 */ 00055 #define INLINE __inline 00056 00057 /** 00058 * @brief ROM constant modifier. 00059 * @note It is set to use the "const" keyword in this port. 00060 */ 00061 #define ROMCONST const 00062 00063 /** 00064 * @brief Packed structure modifier (within). 00065 * @note Empty in this port. 00066 */ 00067 #define PACK_STRUCT_STRUCT 00068 00069 /** 00070 * @brief Packed structure modifier (before). 00071 */ 00072 #define PACK_STRUCT_BEGIN __packed 00073 00074 /** 00075 * @brief Packed structure modifier (after). 00076 * @note Empty in this port. 00077 */ 00078 #define PACK_STRUCT_END 00079 00080 #endif /* _CHTYPES_H_ */ 00081 00082 /** @} */