root/include/crm/common/location_internal.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   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 
  23 //! Location constraint object
  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
  30 } pcmk__location_t;
  31 
  32 #ifdef __cplusplus
  33 }
  34 #endif
  35 
  36 #endif // PCMK__CRM_COMMON_LOCATION_INTERNAL__H

/* [previous][next][first][last][top][bottom][index][help] */