QP/C  7.2.2
Real-Time Embedded Framework
Loading...
Searching...
No Matches
qf_pkg.h File Reference

Internal (package scope) QF/C interface. More...

Go to the source code of this file.

Classes

struct  QFreeBlock
 structure representing a free block in the Native QF Memory Pool More...
 

Macros

#define QF_CRIT_STAT_
 
#define QF_CRIT_E_()   QF_CRIT_ENTRY(dummy)
 
#define QF_CRIT_X_()   QF_CRIT_EXIT(dummy)
 
#define Q_ASSERT_CRIT_(id_, test_)
 
#define Q_REQUIRE_CRIT_(id_, test_)   Q_ASSERT_CRIT_((id_), (test_))
 
#define Q_ERROR_CRIT_(id_)
 
#define QTE_IS_LINKED   (1U << 7U)
 
#define QTE_WAS_DISARMED   (1U << 6U)
 
#define QTE_TICK_RATE   0x0FU
 

Variables

QF_EPOOL_TYPE_ QF_ePool_ [QF_MAX_EPOOL]
 
uint_fast8_t QF_maxPool_
 

Class Documentation

◆ QFreeBlock

struct QFreeBlock

Definition at line 169 of file qf_pkg.h.

Class Members
struct QFreeBlock *volatile next

Macro Definition Documentation

◆ QF_CRIT_STAT_

#define QF_CRIT_STAT_

This is an internal macro for defining the critical section status type.

The purpose of this macro is to enable writing the same code for the case when critical section status type is defined and when it is not. If the macro QF_CRIT_STAT_TYPE is defined, this internal macro provides the definition of the critical section status variable. Otherwise this macro is empty.

See also
QF_CRIT_STAT_TYPE

Definition at line 99 of file qf_pkg.h.

◆ QF_CRIT_E_

#define QF_CRIT_E_ ( )    QF_CRIT_ENTRY(dummy)

This is an internal macro for entering a critical section.

The purpose of this macro is to enable writing the same code for the case when critical section status type is defined and when it is not. If the macro QF_CRIT_STAT_TYPE is defined, this internal macro invokes QF_CRIT_ENTRY() passing the key variable as the parameter. Otherwise QF_CRIT_ENTRY() is invoked with a dummy parameter.

See also
QF_CRIT_ENTRY()

Definition at line 111 of file qf_pkg.h.

◆ QF_CRIT_X_

#define QF_CRIT_X_ ( )    QF_CRIT_EXIT(dummy)

This is an internal macro for exiting a critical section.

The purpose of this macro is to enable writing the same code for the case when critical section status type is defined and when it is not. If the macro QF_CRIT_STAT_TYPE is defined, this internal macro invokes QF_CRIT_EXIT passing the key variable as the parameter. Otherwise QF_CRIT_EXIT is invoked with a dummy parameter.

See also
QF_CRIT_EXIT

Definition at line 123 of file qf_pkg.h.

◆ Q_ASSERT_CRIT_

#define Q_ASSERT_CRIT_ (   id_,
  test_ 
)
Value:
do { \
if ((test_)) {} else { \
QF_CRIT_X_(); \
Q_onAssert(&Q_this_module_[0], (int_t)(id_)); \
} \
} while (false)
int int_t
Definition: qassert.h:374

Definition at line 141 of file qf_pkg.h.

◆ Q_REQUIRE_CRIT_

#define Q_REQUIRE_CRIT_ (   id_,
  test_ 
)    Q_ASSERT_CRIT_((id_), (test_))

Definition at line 148 of file qf_pkg.h.

◆ Q_ERROR_CRIT_

#define Q_ERROR_CRIT_ (   id_)
Value:
do { \
QF_CRIT_X_(); \
Q_onAssert(&Q_this_module_[0], (int_t)(id_)); \
} while (false)

Definition at line 150 of file qf_pkg.h.

◆ QTE_IS_LINKED

#define QTE_IS_LINKED   (1U << 7U)

Definition at line 164 of file qf_pkg.h.

◆ QTE_WAS_DISARMED

#define QTE_WAS_DISARMED   (1U << 6U)

Definition at line 165 of file qf_pkg.h.

◆ QTE_TICK_RATE

#define QTE_TICK_RATE   0x0FU

Definition at line 166 of file qf_pkg.h.

Variable Documentation

◆ QF_ePool_

QF_EPOOL_TYPE_ QF_ePool_[QF_MAX_EPOOL]
extern

array of event pools managed by QF

◆ QF_maxPool_

uint_fast8_t QF_maxPool_
extern

number of initialized event pools