/src/pacemaker/include/crm/common/flags_internal.h
Line | Count | Source |
1 | | /* |
2 | | * Copyright 2015-2026 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__INCLUDED_CRM_COMMON_INTERNAL_H |
11 | | #error "Include <crm/common/internal.h> instead of <flags_internal.h> directly" |
12 | | #endif |
13 | | |
14 | | #ifndef PCMK__CRM_COMMON_FLAGS_INTERNAL__H |
15 | | #define PCMK__CRM_COMMON_FLAGS_INTERNAL__H |
16 | | |
17 | | #include <inttypes.h> // PRIx64 |
18 | | #include <stdbool.h> // bool |
19 | | #include <stdint.h> // uint8_t, uint64_t |
20 | | |
21 | | #include <crm/common/logging.h> // do_crm_log_unlikely() |
22 | | #include <crm/common/strings_internal.h> // pcmk__s, pcmk__btoa |
23 | | |
24 | | #ifdef __cplusplus |
25 | | extern "C" { |
26 | | #endif |
27 | | |
28 | | /*! |
29 | | * \internal |
30 | | * \brief Set specified flags in a flag group |
31 | | * |
32 | | * \param[in] function Function name of caller |
33 | | * \param[in] line Line number of caller |
34 | | * \param[in] log_level Log a message at this level |
35 | | * \param[in] flag_type Label describing this flag group (for logging) |
36 | | * \param[in] target Name of object whose flags these are (for logging) |
37 | | * \param[in] flag_group Flag group being manipulated |
38 | | * \param[in] flags Which flags in the group should be set |
39 | | * \param[in] flags_str Readable equivalent of \p flags (for logging) |
40 | | * |
41 | | * \return Possibly modified flag group |
42 | | */ |
43 | | static inline uint64_t |
44 | | pcmk__set_flags_as(const char *function, int line, uint8_t log_level, |
45 | | const char *flag_type, const char *target, |
46 | | uint64_t flag_group, uint64_t flags, const char *flags_str) |
47 | 0 | { |
48 | 0 | uint64_t result = flag_group | flags; |
49 | |
|
50 | 0 | if (result != flag_group) { |
51 | 0 | do_crm_log_unlikely(log_level, |
52 | 0 | "%s flags %#.8" PRIx64 " (%s) for %s set by %s:%d", |
53 | 0 | pcmk__s(flag_type, "Group of"), flags, |
54 | 0 | pcmk__s(flags_str, "flags"), |
55 | 0 | pcmk__s(target, "target"), function, line); |
56 | 0 | } |
57 | 0 | return result; |
58 | 0 | } Unexecuted instantiation: scores_fuzzer.c:pcmk__set_flags_as Unexecuted instantiation: results.c:pcmk__set_flags_as Unexecuted instantiation: scores.c:pcmk__set_flags_as Unexecuted instantiation: strings.c:pcmk__set_flags_as Unexecuted instantiation: utils.c:pcmk__set_flags_as Unexecuted instantiation: iso8601.c:pcmk__set_flags_as Unexecuted instantiation: logging.c:pcmk__set_flags_as Unexecuted instantiation: mainloop.c:pcmk__set_flags_as Unexecuted instantiation: options.c:pcmk__set_flags_as Unexecuted instantiation: output.c:pcmk__set_flags_as Unexecuted instantiation: output_log.c:pcmk__set_flags_as Unexecuted instantiation: output_text.c:pcmk__set_flags_as Unexecuted instantiation: output_xml.c:pcmk__set_flags_as Unexecuted instantiation: patchset_display.c:pcmk__set_flags_as Unexecuted instantiation: schemas.c:pcmk__set_flags_as Unexecuted instantiation: xml.c:pcmk__set_flags_as Unexecuted instantiation: xml_attr.c:pcmk__set_flags_as Unexecuted instantiation: xml_comment.c:pcmk__set_flags_as Unexecuted instantiation: xml_display.c:pcmk__set_flags_as Unexecuted instantiation: xml_element.c:pcmk__set_flags_as Unexecuted instantiation: xml_idref.c:pcmk__set_flags_as Unexecuted instantiation: xml_io.c:pcmk__set_flags_as Unexecuted instantiation: xpath.c:pcmk__set_flags_as Unexecuted instantiation: acl.c:pcmk__set_flags_as Unexecuted instantiation: actions.c:pcmk__set_flags_as Unexecuted instantiation: agents.c:pcmk__set_flags_as Unexecuted instantiation: cmdline.c:pcmk__set_flags_as Unexecuted instantiation: digest.c:pcmk__set_flags_as Unexecuted instantiation: health.c:pcmk__set_flags_as Unexecuted instantiation: io.c:pcmk__set_flags_as Unexecuted instantiation: ipc_client.c:pcmk__set_flags_as Unexecuted instantiation: ipc_common.c:pcmk__set_flags_as Unexecuted instantiation: ipc_controld.c:pcmk__set_flags_as Unexecuted instantiation: ipc_pacemakerd.c:pcmk__set_flags_as Unexecuted instantiation: ipc_schedulerd.c:pcmk__set_flags_as Unexecuted instantiation: ipc_server.c:pcmk__set_flags_as Unexecuted instantiation: messages.c:pcmk__set_flags_as Unexecuted instantiation: nodes.c:pcmk__set_flags_as Unexecuted instantiation: nvpair.c:pcmk__set_flags_as Unexecuted instantiation: options_display.c:pcmk__set_flags_as Unexecuted instantiation: patchset.c:pcmk__set_flags_as Unexecuted instantiation: procfs.c:pcmk__set_flags_as Unexecuted instantiation: rules.c:pcmk__set_flags_as Unexecuted instantiation: servers.c:pcmk__set_flags_as Unexecuted instantiation: cib.c:pcmk__set_flags_as Unexecuted instantiation: ipc_attrd.c:pcmk__set_flags_as Unexecuted instantiation: pid.c:pcmk__set_flags_as Unexecuted instantiation: attrs.c:pcmk__set_flags_as Unexecuted instantiation: strings_fuzzer.c:pcmk__set_flags_as Unexecuted instantiation: cib_file_fuzzer.c:pcmk__set_flags_as Unexecuted instantiation: cib_client.c:pcmk__set_flags_as Unexecuted instantiation: cib_file.c:pcmk__set_flags_as Unexecuted instantiation: cib_native.c:pcmk__set_flags_as Unexecuted instantiation: cib_ops.c:pcmk__set_flags_as Unexecuted instantiation: cib_remote.c:pcmk__set_flags_as Unexecuted instantiation: cib_utils.c:pcmk__set_flags_as Unexecuted instantiation: remote.c:pcmk__set_flags_as Unexecuted instantiation: tls.c:pcmk__set_flags_as Unexecuted instantiation: watchdog.c:pcmk__set_flags_as Unexecuted instantiation: iso8601_fuzzer.c:pcmk__set_flags_as |
59 | | |
60 | | /*! |
61 | | * \internal |
62 | | * \brief Clear specified flags in a flag group |
63 | | * |
64 | | * \param[in] function Function name of caller |
65 | | * \param[in] line Line number of caller |
66 | | * \param[in] log_level Log a message at this level |
67 | | * \param[in] flag_type Label describing this flag group (for logging) |
68 | | * \param[in] target Name of object whose flags these are (for logging) |
69 | | * \param[in] flag_group Flag group being manipulated |
70 | | * \param[in] flags Which flags in the group should be cleared |
71 | | * \param[in] flags_str Readable equivalent of \p flags (for logging) |
72 | | * |
73 | | * \return Possibly modified flag group |
74 | | */ |
75 | | static inline uint64_t |
76 | | pcmk__clear_flags_as(const char *function, int line, uint8_t log_level, |
77 | | const char *flag_type, const char *target, |
78 | | uint64_t flag_group, uint64_t flags, const char *flags_str) |
79 | 0 | { |
80 | 0 | uint64_t result = flag_group & ~flags; |
81 | |
|
82 | 0 | if (result != flag_group) { |
83 | 0 | do_crm_log_unlikely(log_level, |
84 | 0 | "%s flags %#.8" PRIx64 |
85 | 0 | " (%s) for %s cleared by %s:%d", |
86 | 0 | pcmk__s(flag_type, "Group of"), flags, |
87 | 0 | pcmk__s(flags_str, "flags"), |
88 | 0 | pcmk__s(target, "target"), function, line); |
89 | 0 | } |
90 | 0 | return result; |
91 | 0 | } Unexecuted instantiation: scores_fuzzer.c:pcmk__clear_flags_as Unexecuted instantiation: results.c:pcmk__clear_flags_as Unexecuted instantiation: scores.c:pcmk__clear_flags_as Unexecuted instantiation: strings.c:pcmk__clear_flags_as Unexecuted instantiation: utils.c:pcmk__clear_flags_as Unexecuted instantiation: iso8601.c:pcmk__clear_flags_as Unexecuted instantiation: logging.c:pcmk__clear_flags_as Unexecuted instantiation: mainloop.c:pcmk__clear_flags_as Unexecuted instantiation: options.c:pcmk__clear_flags_as Unexecuted instantiation: output.c:pcmk__clear_flags_as Unexecuted instantiation: output_log.c:pcmk__clear_flags_as Unexecuted instantiation: output_text.c:pcmk__clear_flags_as Unexecuted instantiation: output_xml.c:pcmk__clear_flags_as Unexecuted instantiation: patchset_display.c:pcmk__clear_flags_as Unexecuted instantiation: schemas.c:pcmk__clear_flags_as Unexecuted instantiation: xml.c:pcmk__clear_flags_as Unexecuted instantiation: xml_attr.c:pcmk__clear_flags_as Unexecuted instantiation: xml_comment.c:pcmk__clear_flags_as Unexecuted instantiation: xml_display.c:pcmk__clear_flags_as Unexecuted instantiation: xml_element.c:pcmk__clear_flags_as Unexecuted instantiation: xml_idref.c:pcmk__clear_flags_as Unexecuted instantiation: xml_io.c:pcmk__clear_flags_as Unexecuted instantiation: xpath.c:pcmk__clear_flags_as Unexecuted instantiation: acl.c:pcmk__clear_flags_as Unexecuted instantiation: actions.c:pcmk__clear_flags_as Unexecuted instantiation: agents.c:pcmk__clear_flags_as Unexecuted instantiation: cmdline.c:pcmk__clear_flags_as Unexecuted instantiation: digest.c:pcmk__clear_flags_as Unexecuted instantiation: health.c:pcmk__clear_flags_as Unexecuted instantiation: io.c:pcmk__clear_flags_as Unexecuted instantiation: ipc_client.c:pcmk__clear_flags_as Unexecuted instantiation: ipc_common.c:pcmk__clear_flags_as Unexecuted instantiation: ipc_controld.c:pcmk__clear_flags_as Unexecuted instantiation: ipc_pacemakerd.c:pcmk__clear_flags_as Unexecuted instantiation: ipc_schedulerd.c:pcmk__clear_flags_as Unexecuted instantiation: ipc_server.c:pcmk__clear_flags_as Unexecuted instantiation: messages.c:pcmk__clear_flags_as Unexecuted instantiation: nodes.c:pcmk__clear_flags_as Unexecuted instantiation: nvpair.c:pcmk__clear_flags_as Unexecuted instantiation: options_display.c:pcmk__clear_flags_as Unexecuted instantiation: patchset.c:pcmk__clear_flags_as Unexecuted instantiation: procfs.c:pcmk__clear_flags_as Unexecuted instantiation: rules.c:pcmk__clear_flags_as Unexecuted instantiation: servers.c:pcmk__clear_flags_as Unexecuted instantiation: cib.c:pcmk__clear_flags_as Unexecuted instantiation: ipc_attrd.c:pcmk__clear_flags_as Unexecuted instantiation: pid.c:pcmk__clear_flags_as Unexecuted instantiation: attrs.c:pcmk__clear_flags_as Unexecuted instantiation: strings_fuzzer.c:pcmk__clear_flags_as Unexecuted instantiation: cib_file_fuzzer.c:pcmk__clear_flags_as Unexecuted instantiation: cib_client.c:pcmk__clear_flags_as Unexecuted instantiation: cib_file.c:pcmk__clear_flags_as Unexecuted instantiation: cib_native.c:pcmk__clear_flags_as Unexecuted instantiation: cib_ops.c:pcmk__clear_flags_as Unexecuted instantiation: cib_remote.c:pcmk__clear_flags_as Unexecuted instantiation: cib_utils.c:pcmk__clear_flags_as Unexecuted instantiation: remote.c:pcmk__clear_flags_as Unexecuted instantiation: tls.c:pcmk__clear_flags_as Unexecuted instantiation: watchdog.c:pcmk__clear_flags_as Unexecuted instantiation: iso8601_fuzzer.c:pcmk__clear_flags_as |
92 | | |
93 | | /*! |
94 | | * \internal |
95 | | * \brief Check whether any of specified flags are set in a flag group |
96 | | * |
97 | | * \param[in] flag_group Flag group to check whether \p flags_to_check are |
98 | | * set |
99 | | * \param[in] flags_to_check Flags to check whether set in \p flag_group |
100 | | * |
101 | | * \retval \c true if \p flags_to_check is nonzero and any of its flags are |
102 | | * set in \p flag_group |
103 | | * \retval \c false otherwise |
104 | | */ |
105 | | static inline bool |
106 | | pcmk__any_flags_set(uint64_t flag_group, uint64_t flags_to_check) |
107 | 0 | { |
108 | 0 | return (flag_group & flags_to_check) != 0; |
109 | 0 | } Unexecuted instantiation: scores_fuzzer.c:pcmk__any_flags_set Unexecuted instantiation: results.c:pcmk__any_flags_set Unexecuted instantiation: scores.c:pcmk__any_flags_set Unexecuted instantiation: strings.c:pcmk__any_flags_set Unexecuted instantiation: utils.c:pcmk__any_flags_set Unexecuted instantiation: iso8601.c:pcmk__any_flags_set Unexecuted instantiation: logging.c:pcmk__any_flags_set Unexecuted instantiation: mainloop.c:pcmk__any_flags_set Unexecuted instantiation: options.c:pcmk__any_flags_set Unexecuted instantiation: output.c:pcmk__any_flags_set Unexecuted instantiation: output_log.c:pcmk__any_flags_set Unexecuted instantiation: output_text.c:pcmk__any_flags_set Unexecuted instantiation: output_xml.c:pcmk__any_flags_set Unexecuted instantiation: patchset_display.c:pcmk__any_flags_set Unexecuted instantiation: schemas.c:pcmk__any_flags_set Unexecuted instantiation: xml.c:pcmk__any_flags_set Unexecuted instantiation: xml_attr.c:pcmk__any_flags_set Unexecuted instantiation: xml_comment.c:pcmk__any_flags_set Unexecuted instantiation: xml_display.c:pcmk__any_flags_set Unexecuted instantiation: xml_element.c:pcmk__any_flags_set Unexecuted instantiation: xml_idref.c:pcmk__any_flags_set Unexecuted instantiation: xml_io.c:pcmk__any_flags_set Unexecuted instantiation: xpath.c:pcmk__any_flags_set Unexecuted instantiation: acl.c:pcmk__any_flags_set Unexecuted instantiation: actions.c:pcmk__any_flags_set Unexecuted instantiation: agents.c:pcmk__any_flags_set Unexecuted instantiation: cmdline.c:pcmk__any_flags_set Unexecuted instantiation: digest.c:pcmk__any_flags_set Unexecuted instantiation: health.c:pcmk__any_flags_set Unexecuted instantiation: io.c:pcmk__any_flags_set Unexecuted instantiation: ipc_client.c:pcmk__any_flags_set Unexecuted instantiation: ipc_common.c:pcmk__any_flags_set Unexecuted instantiation: ipc_controld.c:pcmk__any_flags_set Unexecuted instantiation: ipc_pacemakerd.c:pcmk__any_flags_set Unexecuted instantiation: ipc_schedulerd.c:pcmk__any_flags_set Unexecuted instantiation: ipc_server.c:pcmk__any_flags_set Unexecuted instantiation: messages.c:pcmk__any_flags_set Unexecuted instantiation: nodes.c:pcmk__any_flags_set Unexecuted instantiation: nvpair.c:pcmk__any_flags_set Unexecuted instantiation: options_display.c:pcmk__any_flags_set Unexecuted instantiation: patchset.c:pcmk__any_flags_set Unexecuted instantiation: procfs.c:pcmk__any_flags_set Unexecuted instantiation: rules.c:pcmk__any_flags_set Unexecuted instantiation: servers.c:pcmk__any_flags_set Unexecuted instantiation: cib.c:pcmk__any_flags_set Unexecuted instantiation: ipc_attrd.c:pcmk__any_flags_set Unexecuted instantiation: pid.c:pcmk__any_flags_set Unexecuted instantiation: attrs.c:pcmk__any_flags_set Unexecuted instantiation: strings_fuzzer.c:pcmk__any_flags_set Unexecuted instantiation: cib_file_fuzzer.c:pcmk__any_flags_set Unexecuted instantiation: cib_client.c:pcmk__any_flags_set Unexecuted instantiation: cib_file.c:pcmk__any_flags_set Unexecuted instantiation: cib_native.c:pcmk__any_flags_set Unexecuted instantiation: cib_ops.c:pcmk__any_flags_set Unexecuted instantiation: cib_remote.c:pcmk__any_flags_set Unexecuted instantiation: cib_utils.c:pcmk__any_flags_set Unexecuted instantiation: remote.c:pcmk__any_flags_set Unexecuted instantiation: tls.c:pcmk__any_flags_set Unexecuted instantiation: watchdog.c:pcmk__any_flags_set Unexecuted instantiation: iso8601_fuzzer.c:pcmk__any_flags_set |
110 | | |
111 | | /*! |
112 | | * \internal |
113 | | * \brief Check whether all of specified flags are set in a flag group |
114 | | * |
115 | | * \param[in] flag_group Flag group to check whether \p flags_to_check are |
116 | | * set |
117 | | * \param[in] flags_to_check Flags to check whether set in \p flag_group |
118 | | * |
119 | | * \retval \c true if all flags in \p flags_to_check are set in \p flag_group |
120 | | * or if \p flags_to_check is 0 |
121 | | * \retval \c false otherwise |
122 | | */ |
123 | | static inline bool |
124 | | pcmk__all_flags_set(uint64_t flag_group, uint64_t flags_to_check) |
125 | 2.10k | { |
126 | 2.10k | return (flag_group & flags_to_check) == flags_to_check; |
127 | 2.10k | } Unexecuted instantiation: scores_fuzzer.c:pcmk__all_flags_set Unexecuted instantiation: results.c:pcmk__all_flags_set Unexecuted instantiation: scores.c:pcmk__all_flags_set strings.c:pcmk__all_flags_set Line | Count | Source | 125 | 2.10k | { | 126 | 2.10k | return (flag_group & flags_to_check) == flags_to_check; | 127 | 2.10k | } |
Unexecuted instantiation: utils.c:pcmk__all_flags_set Unexecuted instantiation: iso8601.c:pcmk__all_flags_set Unexecuted instantiation: logging.c:pcmk__all_flags_set Unexecuted instantiation: mainloop.c:pcmk__all_flags_set Unexecuted instantiation: options.c:pcmk__all_flags_set Unexecuted instantiation: output.c:pcmk__all_flags_set Unexecuted instantiation: output_log.c:pcmk__all_flags_set Unexecuted instantiation: output_text.c:pcmk__all_flags_set Unexecuted instantiation: output_xml.c:pcmk__all_flags_set Unexecuted instantiation: patchset_display.c:pcmk__all_flags_set Unexecuted instantiation: schemas.c:pcmk__all_flags_set Unexecuted instantiation: xml.c:pcmk__all_flags_set Unexecuted instantiation: xml_attr.c:pcmk__all_flags_set Unexecuted instantiation: xml_comment.c:pcmk__all_flags_set Unexecuted instantiation: xml_display.c:pcmk__all_flags_set Unexecuted instantiation: xml_element.c:pcmk__all_flags_set Unexecuted instantiation: xml_idref.c:pcmk__all_flags_set Unexecuted instantiation: xml_io.c:pcmk__all_flags_set Unexecuted instantiation: xpath.c:pcmk__all_flags_set Unexecuted instantiation: acl.c:pcmk__all_flags_set Unexecuted instantiation: actions.c:pcmk__all_flags_set Unexecuted instantiation: agents.c:pcmk__all_flags_set Unexecuted instantiation: cmdline.c:pcmk__all_flags_set Unexecuted instantiation: digest.c:pcmk__all_flags_set Unexecuted instantiation: health.c:pcmk__all_flags_set Unexecuted instantiation: io.c:pcmk__all_flags_set Unexecuted instantiation: ipc_client.c:pcmk__all_flags_set Unexecuted instantiation: ipc_common.c:pcmk__all_flags_set Unexecuted instantiation: ipc_controld.c:pcmk__all_flags_set Unexecuted instantiation: ipc_pacemakerd.c:pcmk__all_flags_set Unexecuted instantiation: ipc_schedulerd.c:pcmk__all_flags_set Unexecuted instantiation: ipc_server.c:pcmk__all_flags_set Unexecuted instantiation: messages.c:pcmk__all_flags_set Unexecuted instantiation: nodes.c:pcmk__all_flags_set Unexecuted instantiation: nvpair.c:pcmk__all_flags_set Unexecuted instantiation: options_display.c:pcmk__all_flags_set Unexecuted instantiation: patchset.c:pcmk__all_flags_set Unexecuted instantiation: procfs.c:pcmk__all_flags_set Unexecuted instantiation: rules.c:pcmk__all_flags_set Unexecuted instantiation: servers.c:pcmk__all_flags_set Unexecuted instantiation: cib.c:pcmk__all_flags_set Unexecuted instantiation: ipc_attrd.c:pcmk__all_flags_set Unexecuted instantiation: pid.c:pcmk__all_flags_set Unexecuted instantiation: attrs.c:pcmk__all_flags_set Unexecuted instantiation: strings_fuzzer.c:pcmk__all_flags_set Unexecuted instantiation: cib_file_fuzzer.c:pcmk__all_flags_set Unexecuted instantiation: cib_client.c:pcmk__all_flags_set Unexecuted instantiation: cib_file.c:pcmk__all_flags_set Unexecuted instantiation: cib_native.c:pcmk__all_flags_set Unexecuted instantiation: cib_ops.c:pcmk__all_flags_set Unexecuted instantiation: cib_remote.c:pcmk__all_flags_set Unexecuted instantiation: cib_utils.c:pcmk__all_flags_set Unexecuted instantiation: remote.c:pcmk__all_flags_set Unexecuted instantiation: tls.c:pcmk__all_flags_set Unexecuted instantiation: watchdog.c:pcmk__all_flags_set Unexecuted instantiation: iso8601_fuzzer.c:pcmk__all_flags_set |
128 | | |
129 | | /*! |
130 | | * \internal |
131 | | * \brief Convenience alias for \c pcmk__all_flags_set(), to check single flag |
132 | | * |
133 | | * This is truly identical to \c pcmk__all_flags_set() but allows a call that's |
134 | | * shorter and semantically clearer for checking a single flag. |
135 | | * |
136 | | * \param[in] flag_group Flag group (check whether \p flag is set in this) |
137 | | * \param[in] flag Flag (check whether this is set in \p flag_group) |
138 | | * |
139 | | * \retval \c true if \p flag is set in \p flag_group or if \p flag is 0 |
140 | | * \retval \c false otherwise |
141 | | */ |
142 | | static inline bool |
143 | | pcmk__is_set(uint64_t flag_group, uint64_t flag) |
144 | 2.10k | { |
145 | 2.10k | return pcmk__all_flags_set(flag_group, flag); |
146 | 2.10k | } Unexecuted instantiation: scores_fuzzer.c:pcmk__is_set Unexecuted instantiation: results.c:pcmk__is_set Unexecuted instantiation: scores.c:pcmk__is_set Line | Count | Source | 144 | 2.10k | { | 145 | 2.10k | return pcmk__all_flags_set(flag_group, flag); | 146 | 2.10k | } |
Unexecuted instantiation: utils.c:pcmk__is_set Unexecuted instantiation: iso8601.c:pcmk__is_set Unexecuted instantiation: logging.c:pcmk__is_set Unexecuted instantiation: mainloop.c:pcmk__is_set Unexecuted instantiation: options.c:pcmk__is_set Unexecuted instantiation: output.c:pcmk__is_set Unexecuted instantiation: output_log.c:pcmk__is_set Unexecuted instantiation: output_text.c:pcmk__is_set Unexecuted instantiation: output_xml.c:pcmk__is_set Unexecuted instantiation: patchset_display.c:pcmk__is_set Unexecuted instantiation: schemas.c:pcmk__is_set Unexecuted instantiation: xml.c:pcmk__is_set Unexecuted instantiation: xml_attr.c:pcmk__is_set Unexecuted instantiation: xml_comment.c:pcmk__is_set Unexecuted instantiation: xml_display.c:pcmk__is_set Unexecuted instantiation: xml_element.c:pcmk__is_set Unexecuted instantiation: xml_idref.c:pcmk__is_set Unexecuted instantiation: xml_io.c:pcmk__is_set Unexecuted instantiation: xpath.c:pcmk__is_set Unexecuted instantiation: acl.c:pcmk__is_set Unexecuted instantiation: actions.c:pcmk__is_set Unexecuted instantiation: agents.c:pcmk__is_set Unexecuted instantiation: cmdline.c:pcmk__is_set Unexecuted instantiation: digest.c:pcmk__is_set Unexecuted instantiation: health.c:pcmk__is_set Unexecuted instantiation: io.c:pcmk__is_set Unexecuted instantiation: ipc_client.c:pcmk__is_set Unexecuted instantiation: ipc_common.c:pcmk__is_set Unexecuted instantiation: ipc_controld.c:pcmk__is_set Unexecuted instantiation: ipc_pacemakerd.c:pcmk__is_set Unexecuted instantiation: ipc_schedulerd.c:pcmk__is_set Unexecuted instantiation: ipc_server.c:pcmk__is_set Unexecuted instantiation: messages.c:pcmk__is_set Unexecuted instantiation: nodes.c:pcmk__is_set Unexecuted instantiation: nvpair.c:pcmk__is_set Unexecuted instantiation: options_display.c:pcmk__is_set Unexecuted instantiation: patchset.c:pcmk__is_set Unexecuted instantiation: procfs.c:pcmk__is_set Unexecuted instantiation: rules.c:pcmk__is_set Unexecuted instantiation: servers.c:pcmk__is_set Unexecuted instantiation: cib.c:pcmk__is_set Unexecuted instantiation: ipc_attrd.c:pcmk__is_set Unexecuted instantiation: pid.c:pcmk__is_set Unexecuted instantiation: attrs.c:pcmk__is_set Unexecuted instantiation: strings_fuzzer.c:pcmk__is_set Unexecuted instantiation: cib_file_fuzzer.c:pcmk__is_set Unexecuted instantiation: cib_client.c:pcmk__is_set Unexecuted instantiation: cib_file.c:pcmk__is_set Unexecuted instantiation: cib_native.c:pcmk__is_set Unexecuted instantiation: cib_ops.c:pcmk__is_set Unexecuted instantiation: cib_remote.c:pcmk__is_set Unexecuted instantiation: cib_utils.c:pcmk__is_set Unexecuted instantiation: remote.c:pcmk__is_set Unexecuted instantiation: tls.c:pcmk__is_set Unexecuted instantiation: watchdog.c:pcmk__is_set Unexecuted instantiation: iso8601_fuzzer.c:pcmk__is_set |
147 | | |
148 | | /*! |
149 | | * \internal |
150 | | * \brief Get readable string for whether specified flags are set |
151 | | * |
152 | | * \param[in] flag_group Group of flags to check |
153 | | * \param[in] flags Which flags in \p flag_group should be checked |
154 | | * |
155 | | * \return "true" if all \p flags are set in \p flag_group, otherwise "false" |
156 | | */ |
157 | | static inline const char * |
158 | | pcmk__flag_text(uint64_t flag_group, uint64_t flags) |
159 | 0 | { |
160 | 0 | return pcmk__btoa(pcmk__all_flags_set(flag_group, flags)); |
161 | 0 | } Unexecuted instantiation: scores_fuzzer.c:pcmk__flag_text Unexecuted instantiation: results.c:pcmk__flag_text Unexecuted instantiation: scores.c:pcmk__flag_text Unexecuted instantiation: strings.c:pcmk__flag_text Unexecuted instantiation: utils.c:pcmk__flag_text Unexecuted instantiation: iso8601.c:pcmk__flag_text Unexecuted instantiation: logging.c:pcmk__flag_text Unexecuted instantiation: mainloop.c:pcmk__flag_text Unexecuted instantiation: options.c:pcmk__flag_text Unexecuted instantiation: output.c:pcmk__flag_text Unexecuted instantiation: output_log.c:pcmk__flag_text Unexecuted instantiation: output_text.c:pcmk__flag_text Unexecuted instantiation: output_xml.c:pcmk__flag_text Unexecuted instantiation: patchset_display.c:pcmk__flag_text Unexecuted instantiation: schemas.c:pcmk__flag_text Unexecuted instantiation: xml.c:pcmk__flag_text Unexecuted instantiation: xml_attr.c:pcmk__flag_text Unexecuted instantiation: xml_comment.c:pcmk__flag_text Unexecuted instantiation: xml_display.c:pcmk__flag_text Unexecuted instantiation: xml_element.c:pcmk__flag_text Unexecuted instantiation: xml_idref.c:pcmk__flag_text Unexecuted instantiation: xml_io.c:pcmk__flag_text Unexecuted instantiation: xpath.c:pcmk__flag_text Unexecuted instantiation: acl.c:pcmk__flag_text Unexecuted instantiation: actions.c:pcmk__flag_text Unexecuted instantiation: agents.c:pcmk__flag_text Unexecuted instantiation: cmdline.c:pcmk__flag_text Unexecuted instantiation: digest.c:pcmk__flag_text Unexecuted instantiation: health.c:pcmk__flag_text Unexecuted instantiation: io.c:pcmk__flag_text Unexecuted instantiation: ipc_client.c:pcmk__flag_text Unexecuted instantiation: ipc_common.c:pcmk__flag_text Unexecuted instantiation: ipc_controld.c:pcmk__flag_text Unexecuted instantiation: ipc_pacemakerd.c:pcmk__flag_text Unexecuted instantiation: ipc_schedulerd.c:pcmk__flag_text Unexecuted instantiation: ipc_server.c:pcmk__flag_text Unexecuted instantiation: messages.c:pcmk__flag_text Unexecuted instantiation: nodes.c:pcmk__flag_text Unexecuted instantiation: nvpair.c:pcmk__flag_text Unexecuted instantiation: options_display.c:pcmk__flag_text Unexecuted instantiation: patchset.c:pcmk__flag_text Unexecuted instantiation: procfs.c:pcmk__flag_text Unexecuted instantiation: rules.c:pcmk__flag_text Unexecuted instantiation: servers.c:pcmk__flag_text Unexecuted instantiation: cib.c:pcmk__flag_text Unexecuted instantiation: ipc_attrd.c:pcmk__flag_text Unexecuted instantiation: pid.c:pcmk__flag_text Unexecuted instantiation: attrs.c:pcmk__flag_text Unexecuted instantiation: strings_fuzzer.c:pcmk__flag_text Unexecuted instantiation: cib_file_fuzzer.c:pcmk__flag_text Unexecuted instantiation: cib_client.c:pcmk__flag_text Unexecuted instantiation: cib_file.c:pcmk__flag_text Unexecuted instantiation: cib_native.c:pcmk__flag_text Unexecuted instantiation: cib_ops.c:pcmk__flag_text Unexecuted instantiation: cib_remote.c:pcmk__flag_text Unexecuted instantiation: cib_utils.c:pcmk__flag_text Unexecuted instantiation: remote.c:pcmk__flag_text Unexecuted instantiation: tls.c:pcmk__flag_text Unexecuted instantiation: watchdog.c:pcmk__flag_text Unexecuted instantiation: iso8601_fuzzer.c:pcmk__flag_text |
162 | | |
163 | | #ifdef __cplusplus |
164 | | } |
165 | | #endif |
166 | | |
167 | | #endif // PCMK__CRM_COMMON_FLAGS_INTERNAL__H |