pacemaker  2.1.8-3980678f03
Scalable High-Availability cluster resource manager
group_internal.h
Go to the documentation of this file.
1 /*
2  * Copyright 2004-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_GROUP_INTERNAL__H
11 #define PCMK__CRM_COMMON_GROUP_INTERNAL__H
12 
13 #include <stdbool.h> // bool
14 #include <crm/common/scheduler_types.h> // pcmk_resource_t
15 #include <crm/common/resources.h> // pcmk_rsc_variant_group
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 // Group resource flags (used in variant data)
23  pcmk__group_ordered = (1 << 0), // Members start sequentially
24  pcmk__group_colocated = (1 << 1), // Members must be on same node
25 };
26 
37 static inline bool
38 pcmk__is_group(const pcmk_resource_t *rsc)
39 {
40  return (rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group);
41 }
42 
43 #ifdef __cplusplus
44 }
45 #endif
46 
47 #endif // PCMK__CRM_COMMON_GROUP_INTERNAL__H
Scheduler API for resources.
Type aliases needed to define scheduler objects.
pcmk__group_flags
enum pe_obj_types variant
Definition: resources.h:410