Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
qvanilla.h
00001 ////////////////////////////////////////////////////////////////////////////// 00002 // Product: QF/C++ 00003 // Last Updated for Version: 4.0.00 00004 // Date of the Last Update: Apr 06, 2008 00005 // 00006 // Q u a n t u m L e a P s 00007 // --------------------------- 00008 // innovating embedded systems 00009 // 00010 // Copyright (C) 2002-2008 Quantum Leaps, LLC. All rights reserved. 00011 // 00012 // This software may be distributed and modified under the terms of the GNU 00013 // General Public License version 2 (GPL) as published by the Free Software 00014 // Foundation and appearing in the file GPL.TXT included in the packaging of 00015 // this file. Please note that GPL Section 2[b] requires that all works based 00016 // on this software must also be made publicly available under the terms of 00017 // the GPL ("Copyleft"). 00018 // 00019 // Alternatively, this software may be distributed and modified under the 00020 // terms of Quantum Leaps commercial licenses, which expressly supersede 00021 // the GPL and are specifically designed for licensees interested in 00022 // retaining the proprietary status of their code. 00023 // 00024 // Contact information: 00025 // Quantum Leaps Web site: http://www.quantum-leaps.com 00026 // e-mail: info@quantum-leaps.com 00027 ////////////////////////////////////////////////////////////////////////////// 00028 #ifndef qvanilla_h 00029 #define qvanilla_h 00030 00031 /// \file 00032 /// \ingroup qf 00033 /// \brief platform-independent interface to the cooperative "vanilla" kernel. 00034 00035 #include "qequeue.h" // "Vanilla" kernel uses the native QF event queue 00036 #include "qmpool.h" // "Vanilla" kernel uses the native QF memory pool 00037 #include "qpset.h" // "Vanilla" kernel uses the native QF priority set 00038 00039 // the event queue type for the "Vanilla" kernel 00040 #define QF_EQUEUE_TYPE QEQueue 00041 // native event queue operations 00042 #define QACTIVE_EQUEUE_WAIT_(me_) \ 00043 Q_ASSERT((me_)->m_eQueue.m_frontEvt != (QEvent *)0) 00044 00045 #define QACTIVE_EQUEUE_SIGNAL_(me_) \ 00046 QF_readySet_.insert((me_)->m_prio) 00047 00048 #define QACTIVE_EQUEUE_ONEMPTY_(me_) \ 00049 QF_readySet_.remove((me_)->m_prio) 00050 00051 // native QF event pool operations 00052 #define QF_EPOOL_TYPE_ QMPool 00053 #define QF_EPOOL_INIT_(p_, poolSto_, poolSize_, evtSize_) \ 00054 (p_).init(poolSto_, poolSize_, evtSize_) 00055 #define QF_EPOOL_EVENT_SIZE_(p_) ((p_).getBlockSize()) 00056 #define QF_EPOOL_GET_(p_, e_) ((e_) = (QEvent *)(p_).get()) 00057 #define QF_EPOOL_PUT_(p_, e_) ((p_).put(e_)) 00058 00059 #if (QF_MAX_ACTIVE <= 8) 00060 extern QPSet8 volatile QF_readySet_; ///< QF-ready set of active objects 00061 #else 00062 extern QPSet64 volatile QF_readySet_; ///< QF-ready set of active objects 00063 #endif 00064 00065 #endif // qvanilla_h
Generated on Tue Jul 12 2022 20:22:36 by
1.7.2