//============================================================================ // QP/C Real-Time Event Framework (RTEF) // // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // // Q u a n t u m L e a P s // ------------------------ // Modern Embedded Software // // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // // This software is dual-licensed under the terms of the open-source GNU // General Public License (GPL) or under the terms of one of the closed- // source Quantum Leaps commercial licenses. // // Redistributions in source code must retain this top-level comment block. // Plagiarizing this software to sidestep the license obligations is illegal. // // NOTE: // The GPL does NOT permit the incorporation of this code into proprietary // programs. Please contact Quantum Leaps for commercial licensing options, // which expressly supersede the GPL and are designed explicitly for // closed-source distribution. // // Quantum Leaps contact information: // // //============================================================================ #ifndef QP_PORT_H_ #define QP_PORT_H_ #ifdef __cplusplus // no-return function specifier (C++11 Standard) #define Q_NORETURN [[ noreturn ]] void // static assertion (C++11 Standard) #define Q_ASSERT_STATIC(expr_) static_assert((expr_), "QP static assert") #else // no-return function specifier (C11 Standard) #define Q_NORETURN _Noreturn void // static assertion (C11 Standard) #define Q_ASSERT_STATIC(expr_) _Static_assert((expr_), "QP static assert") #endif // include files ------------------------------------------------------------- #include // Exact-width types. WG14/N843 C99 Standard #include // Boolean type. WG14/N843 C99 Standard #include // size_t type ISO/IEC 9899:1990 Standard #include "qp_config.h" // QP configuration from the application #include "qp.h" // QP platform-independent public interface #endif // QP_PORT_H_