QP/C 6.8.1
qpc.h File Reference
QEP | QF | QV | QK | QXK | QS

QP/C public interface including backwards-compatibility layer. More...

#include "qf_port.h"
#include "qassert.h"
#include "qs_port.h"
Include dependency graph for qpc.h:

Go to the source code of this file.

Macros

#define QP_API_VERSION   0
 Specifies the backwards compatibility with the QP/C API version. More...
 
#define Q_XTHREAD_CAST(handler_)   ((QXThreadHandler)(handler_))
 
#define QMSM_INIT(me_, e_)   QHSM_INIT((me_), (e_))
 
#define QMSM_DISPATCH(me_, e_)   QHSM_DISPATCH((me_), (e_))
 
#define QFsm_ctor   QHsm_ctor
 
#define Q_IGNORED()   (Q_SUPER(&QHsm_top))
 deprecated macro to call in QFsm state-handler when it ignores (does not handle) an event (instead use Q_SUPER()) More...
 
#define QF_onIdle   QV_onIdle
 

Typedefs

typedef QHsm QFsm
 

Variables

char_t const Q_APP_BUILD_DATE [12]
 Symbols for time-stamping the application build. More...
 
char_t const Q_APP_BUILD_TIME [9]
 

Detailed Description

QP/C public interface including backwards-compatibility layer.

Definition in file qpc.h.

Macro Definition Documentation

◆ QP_API_VERSION

#define QP_API_VERSION   0

Specifies the backwards compatibility with the QP/C API version.

Description
For example, QP_API_VERSION=580 will cause generating the compatibility layer with QP/C version 5.8.0 and newer, but not older than 5.8.0. QP_API_VERSION=0 causes generation of the maximum currently supported backwards compatibilty. This is the default.

Conversely, QP_API_VERSION=9999 means that no compatibility layer should be generated. This setting is useful for checking if an application complies with the latest QP/C API.

Definition at line 90 of file qpc.h.

◆ Q_XTHREAD_CAST

#define Q_XTHREAD_CAST (   handler_)    ((QXThreadHandler)(handler_))
Deprecated:
casting to QXThreadHandler instead use: the new signature of QXThreadHandler and don't cast

Definition at line 101 of file qpc.h.

◆ QMSM_INIT

#define QMSM_INIT (   me_,
  e_ 
)    QHSM_INIT((me_), (e_))
Deprecated:
call to the QMSM_INIT() operation; instead use: QHSM_INIT()

Definition at line 107 of file qpc.h.

◆ QMSM_DISPATCH

#define QMSM_DISPATCH (   me_,
  e_ 
)    QHSM_DISPATCH((me_), (e_))
Deprecated:
call to the QMSM_DISPATCH() operation; instead use: QHSM_DISPATCH()

Definition at line 111 of file qpc.h.

◆ QFsm_ctor

#define QFsm_ctor   QHsm_ctor
Deprecated:
QFsm state machine constructor; instead use: QHsm_ctor()

Definition at line 129 of file qpc.h.

◆ Q_IGNORED

#define Q_IGNORED ( )    (Q_SUPER(&QHsm_top))

deprecated macro to call in QFsm state-handler when it ignores (does not handle) an event (instead use Q_SUPER())

Definition at line 134 of file qpc.h.

◆ QF_onIdle

#define QF_onIdle   QV_onIdle
Deprecated:
macro for cooperativew "Vanilla" kernel; instead use: QV_onIdle()

Definition at line 138 of file qpc.h.

Typedef Documentation

◆ QFsm

typedef QHsm QFsm
Deprecated:
QFsm state machine; instead use: QHsm.

Legacy state machines coded in the "QFsm-style" will continue to work, but will use the QHsm implementation internally. There is no longer any efficiency advantage in using the "QFsm-style" state machines.

Note
For efficiency, the recommended migration path is to use the QMsm state machine and the QM modeling tool.

Definition at line 125 of file qpc.h.

Variable Documentation

◆ Q_APP_BUILD_DATE

char_t const Q_APP_BUILD_DATE[12]

Symbols for time-stamping the application build.

Description
This header file must be included directly or indirectly in all application modules (*.c files) that use QP/C.
Description
The exernal symbols Q_APP_BUILD_DATE and Q_APP_BUILD_TIME are defined in the module qstamp.c. This module needs to be re-compiled for every software build.

◆ Q_APP_BUILD_TIME

char_t const Q_APP_BUILD_TIME[9]