1 /* 2 * Copyright 2023-2024 the Pacemaker project contributors 3 * 4 * The version control history for this file may have further details. 5 * 6 * This source code is licensed under the GNU Lesser General Public License 7 * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY. 8 */ 9 10 #ifndef PCMK__CRM_COMMON_SCHEDULER_TYPES__H 11 #define PCMK__CRM_COMMON_SCHEDULER_TYPES__H 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 /*! 18 * \file 19 * \brief Type aliases needed to define scheduler objects 20 * \ingroup core 21 */ 22 23 //! Node object (including information that may vary depending on resource) 24 typedef struct pe_node_s pcmk_node_t; 25 26 //! Resource object 27 typedef struct pe_resource_s pcmk_resource_t; 28 29 //! Action object 30 typedef struct pe_action_s pcmk_action_t; 31 32 //! Scheduler object 33 typedef struct pe_working_set_s pcmk_scheduler_t; 34 35 #ifdef __cplusplus 36 } 37 #endif 38 39 #endif // PCMK__CRM_COMMON_SCHEDULER_TYPES__H