pacemaker 2.1.8-2.1.8
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
roles_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_ROLES_INTERNAL__H
11#define PCMK__CRM_COMMON_ROLES_INTERNAL__H
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17// String equivalents of enum rsc_role_e
18#define PCMK__ROLE_UNKNOWN "Unknown"
19#define PCMK__ROLE_UNPROMOTED_LEGACY "Slave"
20#define PCMK__ROLE_PROMOTED_LEGACY "Master"
21
29#define pcmk__set_rsc_flags(resource, flags_to_set) do { \
30 (resource)->flags = pcmk__set_flags_as(__func__, __LINE__, \
31 LOG_TRACE, "Resource", (resource)->id, (resource)->flags, \
32 (flags_to_set), #flags_to_set); \
33 } while (0)
34
42#define pcmk__clear_rsc_flags(resource, flags_to_clear) do { \
43 (resource)->flags = pcmk__clear_flags_as(__func__, __LINE__, \
44 LOG_TRACE, "Resource", (resource)->id, (resource)->flags, \
45 (flags_to_clear), #flags_to_clear); \
46 } while (0)
47
56static inline pcmk_node_t *
57pcmk__current_node(const pcmk_resource_t *rsc)
58{
59 return (rsc == NULL)? NULL : rsc->fns->active_node(rsc, NULL, NULL);
60}
61
62#ifdef __cplusplus
63}
64#endif
65
66#endif // PCMK__CRM_COMMON_ROLES_INTERNAL__H
pcmk_rsc_methods_t * fns
Definition resources.h:412
pcmk_node_t *(* active_node)(const pcmk_resource_t *rsc, unsigned int *count_all, unsigned int *count_clean)
Definition resources.h:373