The system types are defined into the port layer, please refer to the core port implementation section.
System types and macros.
|#define ||INLINE inline|
| ||Inline function modifier. |
|#define ||ROMCONST const|
| ||ROM constant modifier. |
|#define ||PACK_STRUCT_STRUCT __attribute__((packed))|
| ||Packed structure modifier (within). |
| ||Packed structure modifier (before). |
| ||Packed structure modifier (after). |
|typedef int32_t ||bool_t|
| ||Boolean, recommended the fastest signed. |
|typedef uint8_t ||tmode_t|
| ||Thread mode flags, uint8_t is ok. |
|typedef uint8_t ||tstate_t|
| ||Thread state, uint8_t is ok. |
|typedef uint8_t ||trefs_t|
| ||Thread references counter, uint8_t is ok. |
|typedef uint32_t ||tprio_t|
| ||Priority, use the fastest unsigned type. |
|typedef int32_t ||msg_t|
| ||Message, use signed pointer equivalent. |
|typedef int32_t ||eventid_t|
| ||Event Id, use fastest signed. |
|typedef uint32_t ||eventmask_t|
| ||Event Mask, recommended fastest unsigned. |
|typedef uint32_t ||systime_t|
| ||System Time, recommended fastest unsigned. |
|typedef int32_t ||cnt_t|
| ||Counter, recommended fastest signed. |
ROM constant modifier.
- This is required because some compilers require a custom keyword, usually this macro is just set to "const" for the GCC compiler.
This macro is not used to place constants in different address spaces (like AVR requires for example) because it is assumed that a pointer to a ROMCONST constant is compatible with a pointer to a normal variable. It is just like the "const" keyword but requires that the constant is placed in ROM if the architecture supports it.
Definition at line 118 of file kernel/templates/chtypes.h.
|#define PACK_STRUCT_STRUCT __attribute__((packed))