Coverage Report

Created: 2026-07-12 06:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/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
strings.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