QXK (preemptive dual-mode kernel) platform-independent public interface. More...
Go to the source code of this file.
Classes | |
| class | QXK |
| QXK dual-mode kernel (QXK namespace emulated as a "class" in C). More... | |
| class | QXK_Attr |
| Private attributes of the QXK kernel. More... | |
| class | QXThread |
| eXtended (blocking) thread of the QXK preemptive kernel More... | |
| class | QXSemaphore |
| Counting Semaphore of the QXK preemptive kernel. More... | |
| class | QXMutex |
| Blocking Mutex of the QXK preemptive kernel. More... | |
Macros | |
| #define | QXTHREAD_NO_TIMEOUT ((QTimeEvtCtr)0) |
| No-timeout when blocking on semaphores/mutexes/queues. | |
| #define | QXK_PTR_CAST_(type_, ptr_) |
| Internal macro to encapsulate casting of pointers for MISRA deviations. | |
| #define | QXTHREAD_CAST_(ptr_) |
| Internal macro to encapsulate casting of pointers for MISRA deviations. | |
Typedefs | |
| typedef uint_fast16_t | QSchedStatus |
Enumerations | |
| enum | QXK_TimeoutSigs { QXK_DELAY_SIG = 1 , QXK_TIMEOUT_SIG } |
QXK (preemptive dual-mode kernel) platform-independent public interface.
Forward Traceability
Definition in file qxk.h.
| #define QXTHREAD_NO_TIMEOUT ((QTimeEvtCtr)0) |
| #define QXK_PTR_CAST_ | ( | type_, | |
| ptr_ ) |
Internal macro to encapsulate casting of pointers for MISRA deviations.
Details
This macro is specifically and exclusively used for casting pointers that are never de-referenced, but only used for internal bookkeeping and checking (via assertions) the correct operation of the QXK kernel. Such pointer casting is not compliant with MISRA-C:2025-Rule 11.3(R) as well as other messages (e.g., PC-Lint-Plus warning 826). Defining this specific macro for this purpose allows to selectively disable the warnings for this particular case.
| #define QXTHREAD_CAST_ | ( | ptr_ | ) |
Internal macro to encapsulate casting of pointers for MISRA deviations.
Details
This macro is specifically and exclusively used for casting pointers that are never de-referenced, but only used for internal bookkeeping and checking (via assertions) the correct operation of the QXK kernel. Such pointer casting is not compliant with MISRA-C:2025-Rule 11.3(R) as well as other messages (e.g., PC-Lint-Plus warning 826). Defining this specific macro for this purpose allows to selectively disable the warnings for this particular case.
| typedef uint_fast16_t QSchedStatus |
| enum QXK_TimeoutSigs |