QP/C  7.4.0-rc.3
Real-Time Embedded Framework
Loading...
Searching...
No Matches
qp_pkg.h
Go to the documentation of this file.
1//$file${include::qp_pkg.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
2//
3// Model: qpc.qm
4// File: ${include::qp_pkg.h}
5//
6// This code has been generated by QM 6.2.0 <www.state-machine.com/qm>.
7// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
8//
9// This code is covered by the following QP license:
10// License # : LicenseRef-QL-dual
11// Issued to : Any user of the QP/C real-time embedded framework
12// Framework(s) : qpc
13// Support ends : 2025-12-31
14// License scope:
15//
16// Copyright (C) 2005 Quantum Leaps, LLC <state-machine.com>.
17//
18// Q u a n t u m L e a P s
19// ------------------------
20// Modern Embedded Software
21//
22// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
23//
24// This software is dual-licensed under the terms of the open source GNU
25// General Public License version 3 (or any later version), or alternatively,
26// under the terms of one of the closed source Quantum Leaps commercial
27// licenses.
28//
29// The terms of the open source GNU General Public License version 3
30// can be found at: <www.gnu.org/licenses/gpl-3.0>
31//
32// The terms of the closed source Quantum Leaps commercial licenses
33// can be found at: <www.state-machine.com/licensing>
34//
35// Redistributions in source code must retain this top-level comment block.
36// Plagiarizing this software to sidestep the license obligations is illegal.
37//
38// Contact information:
39// <www.state-machine.com/licensing>
40// <info@state-machine.com>
41//
42//$endhead${include::qp_pkg.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43#ifndef QP_PKG_H_
44#define QP_PKG_H_
45
46//$declare${QF::QF-pkg} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
47
48//${QF::QF-pkg::Attr} ........................................................
49//! @class QF_Attr
50typedef struct {
51// private:
52
53#if (QF_MAX_EPOOL > 0U)
54 //! @private @memberof QF_Attr
56#endif // (QF_MAX_EPOOL > 0U)
57
58#if (QF_MAX_EPOOL > 0U)
59 //! @private @memberof QF_Attr
60 uint_fast8_t maxPool_;
61#endif // (QF_MAX_EPOOL > 0U)
62
63#if (QF_MAX_EPOOL == 0U)
64 //! @private @memberof QF_Attr
65 uint8_t dummy;
66#endif // (QF_MAX_EPOOL == 0U)
67} QF_Attr;
68
69//${QF::QF-pkg::priv_} .......................................................
70//! @static @private @memberof QF
72
73//${QF::QF-pkg::bzero_} ......................................................
74//! @static @private @memberof QF
75void QF_bzero_(
76 void * const start,
77 uint_fast16_t const len);
78//$enddecl${QF::QF-pkg} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
79
80// Bitmasks are for the QTimeEvt::refCtr_ attribute (inherited from ::QEvt).
81// In ::QTimeEvt this attribute is NOT used for reference counting.
82#define QTE_IS_LINKED (1U << 7U)
83#define QTE_WAS_DISARMED (1U << 6U)
84#define QTE_TICK_RATE 0x0FU
85
86//! @private @memberof QEvt
87static inline void QEvt_refCtr_inc_(QEvt const *me) {
88 ++((QEvt *)me)->refCtr_;
89}
90
91//! @private @memberof QEvt
92static inline void QEvt_refCtr_dec_(QEvt const *me) {
93 --((QEvt *)me)->refCtr_;
94}
95
96#define QACTIVE_CAST_(ptr_) ((QActive *)(ptr_))
97#define Q_UINTPTR_CAST_(ptr_) ((uintptr_t)(ptr_))
98
99#endif // QP_PKG_H_
QF_Attr QF_priv_
Definition qp_pkg.h:71
#define QF_EPOOL_TYPE_
Definition qk.h:197
#define QF_MAX_EPOOL
Maximum # event pools in the system (0..15)
Definition qp_config.h:128
Event class.
Definition qp.h:145
static void QEvt_refCtr_dec_(QEvt const *me)
Definition qp_pkg.h:92
static void QEvt_refCtr_inc_(QEvt const *me)
Definition qp_pkg.h:87
Private attributes of the QF framework.
Definition qp_pkg.h:50
uint_fast8_t maxPool_
Definition qp_pkg.h:60