diff options
Diffstat (limited to '')
-rw-r--r-- | include/crm/common/group_internal.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/crm/common/group_internal.h b/include/crm/common/group_internal.h index 9e1424d..4a02e29 100644 --- a/include/crm/common/group_internal.h +++ b/include/crm/common/group_internal.h @@ -1,5 +1,5 @@ /* - * Copyright 2004-2023 the Pacemaker project contributors + * Copyright 2004-2024 the Pacemaker project contributors * * The version control history for this file may have further details. * @@ -8,7 +8,11 @@ */ #ifndef PCMK__CRM_COMMON_GROUP_INTERNAL__H -# define PCMK__CRM_COMMON_GROUP_INTERNAL__H +#define PCMK__CRM_COMMON_GROUP_INTERNAL__H + +#include <stdbool.h> // bool +#include <crm/common/scheduler_types.h> // pcmk_resource_t +#include <crm/common/resources.h> // pcmk_rsc_variant_group #ifdef __cplusplus extern "C" { @@ -20,6 +24,22 @@ enum pcmk__group_flags { pcmk__group_colocated = (1 << 1), // Members must be on same node }; +/*! + * \internal + * \brief Check whether a resource is a group resource + * + * \param[in] rsc Resource to check + * + * \return true if \p rsc is a group, otherwise false + * + * \note This does not return true if \p rsc is a clone of a group. + */ +static inline bool +pcmk__is_group(const pcmk_resource_t *rsc) +{ + return (rsc != NULL) && (rsc->variant == pcmk_rsc_variant_group); +} + #ifdef __cplusplus } #endif |