pacemaker  2.0.1-57cc9c14bf
Scalable High-Availability cluster resource manager
complex.h
Go to the documentation of this file.
1 /*
2  * Copyright 2004-2018 Andrew Beekhof <andrew@beekhof.net>
3  *
4  * This source code is licensed under the GNU Lesser General Public License
5  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
6  */
7 
8 #ifndef PENGINE_COMPLEX__H
9 # define PENGINE_COMPLEX__H
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
16  pe_unknown = -1,
17  pe_native = 0,
18  pe_group = 1,
19  pe_clone = 2,
21 };
22 
25  pe_resource_t *(*find_rsc) (pe_resource_t *parent, const char *search,
26  const pe_node_t *node, int flags);
27  /* parameter result must be free'd */
28  char *(*parameter) (pe_resource_t*, pe_node_t*, gboolean, const char*,
30  void (*print) (pe_resource_t*, const char*, long, void*);
31  gboolean (*active) (pe_resource_t*, gboolean);
32  enum rsc_role_e (*state) (const pe_resource_t*, gboolean);
33  pe_node_t *(*location) (const pe_resource_t*, GList**, int);
34  void (*free) (pe_resource_t*);
36 
38 void get_meta_attributes(GHashTable * meta_hash, pe_resource_t *rsc,
39  pe_node_t *node, pe_working_set_t *data_set);
40 void get_rsc_attributes(GHashTable *meta_hash, pe_resource_t *rsc,
41  pe_node_t *node, pe_working_set_t *data_set);
42 
43 #ifdef ENABLE_VERSIONED_ATTRS
44 void pe_get_versioned_attributes(xmlNode *meta_hash, pe_resource_t *rsc,
45  pe_node_t *node, pe_working_set_t *data_set);
46 #endif
47 
48 typedef struct resource_alloc_functions_s resource_alloc_functions_t;
49 
50 gboolean is_parent(pe_resource_t *child, pe_resource_t *rsc);
52 
53 #ifdef __cplusplus
54 }
55 #endif
56 
57 #endif
void get_meta_attributes(GHashTable *meta_hash, pe_resource_t *rsc, pe_node_t *node, pe_working_set_t *data_set)
Definition: complex.c:91
gboolean is_parent(pe_resource_t *child, pe_resource_t *rsc)
Definition: complex.c:727
struct resource_object_functions_s resource_object_functions_t
pe_resource_t * uber_parent(pe_resource_t *rsc)
Definition: complex.c:744
pe_obj_types
Definition: complex.h:15
void(* print)(pe_resource_t *, const char *, long, void *)
Definition: complex.h:30
void(* free)(pe_resource_t *)
Definition: complex.h:34
resource_object_functions_t resource_class_functions[]
Definition: complex.c:18
enum rsc_role_e(* state)(const pe_resource_t *, gboolean)
Definition: complex.h:32
void get_rsc_attributes(GHashTable *meta_hash, pe_resource_t *rsc, pe_node_t *node, pe_working_set_t *data_set)
Definition: complex.c:125
rsc_role_e
Definition: common.h:86
struct resource_alloc_functions_s resource_alloc_functions_t
Definition: complex.h:48
uint64_t flags
Definition: remote.c:148
gboolean(* unpack)(pe_resource_t *, pe_working_set_t *)
Definition: complex.h:24
gboolean(* active)(pe_resource_t *, gboolean)
Definition: complex.h:31