pacemaker  2.1.9-49aab99839
Scalable High-Availability cluster resource manager
location_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_LOCATION_INTERNAL__H
11 #define PCMK__CRM_COMMON_LOCATION_INTERNAL__H
12 
13 #include <glib.h> // GList
14 
15 #include <crm/common/nodes.h> // enum pe_discover_e
16 #include <crm/common/resources.h> // enum rsc_role_e
17 #include <crm/common/scheduler_types.h> // pcmk_resource_t
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
24 typedef struct {
25  char *id; // XML ID of location constraint
26  pcmk_resource_t *rsc; // Resource with location preference
27  enum rsc_role_e role_filter; // Limit to instances with this role
28  enum pe_discover_e discover_mode; // How to probe resource on node
29  GList *nodes; // Affected nodes, with preference score
31 
32 #ifdef __cplusplus
33 }
34 #endif
35 
36 #endif // PCMK__CRM_COMMON_LOCATION_INTERNAL__H
Scheduler API for resources.
Type aliases needed to define scheduler objects.
rsc_role_e
Definition: roles.h:34
pcmk_resource_t * rsc
Scheduler API for nodes.
pe_discover_e
Definition: nodes.h:55
Location constraint object.