QP/C 8.1.3
Real-Time Event Framework
Loading...
Searching...
No Matches
qxk.h File Reference

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 }

Detailed Description

QXK (preemptive dual-mode kernel) platform-independent public interface.

Forward Traceability

  • DVR_QP_MC5_D4_8: MISRA-C:2025 Directive 4.8(Advisory): If a pointer to a structure or union is never dereferenced within a translation unit then the implementation of the object should be hidden
  • DVR_QP_B18_R5_1B: BARR-C:2018 Rule 5.1b: non-anonymous struct/union/enum declared outside typedef

Definition in file qxk.h.

Macro Definition Documentation

◆ QXTHREAD_NO_TIMEOUT

#define QXTHREAD_NO_TIMEOUT   ((QTimeEvtCtr)0)

No-timeout when blocking on semaphores/mutexes/queues.

Definition at line 41 of file qxk.h.

◆ QXK_PTR_CAST_

#define QXK_PTR_CAST_ ( type_,
ptr_ )
Value:
((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.

Definition at line 255 of file qxk.h.

◆ QXTHREAD_CAST_

#define QXTHREAD_CAST_ ( ptr_)
Value:
((QXThread *)(ptr_))
eXtended (blocking) thread of the QXK preemptive kernel
Definition qxk.h:88

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.

Definition at line 256 of file qxk.h.

Typedef Documentation

◆ QSchedStatus

typedef uint_fast16_t QSchedStatus

Definition at line 39 of file qxk.h.

Enumeration Type Documentation

◆ QXK_TimeoutSigs

Enumerator
QXK_DELAY_SIG 
QXK_TIMEOUT_SIG 

Definition at line 250 of file qxk.h.