1 /*
2 * Copyright 2023 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