1
2
3
4
5
6
7
8
9
10 #ifndef PCMK__CLUSTER_CRMCLUSTER_PRIVATE__H
11 #define PCMK__CLUSTER_CRMCLUSTER_PRIVATE__H
12
13
14
15
16
17 #include <stdbool.h>
18 #include <stdint.h>
19
20 #include <glib.h>
21 #include <libxml/tree.h>
22
23 #if SUPPORT_COROSYNC
24 #include <corosync/cpg.h>
25 #endif
26
27 #include <crm/cluster.h>
28 #include <crm/cluster/internal.h>
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34 G_GNUC_INTERNAL
35 void pcmk__cluster_set_quorum(bool quorate);
36
37 G_GNUC_INTERNAL
38 void election_fini(pcmk_cluster_t *cluster);
39
40 #if SUPPORT_COROSYNC
41
42 G_GNUC_INTERNAL
43 bool pcmk__corosync_is_active(void);
44
45 G_GNUC_INTERNAL
46 bool pcmk__corosync_has_nodelist(void);
47
48 G_GNUC_INTERNAL
49 char *pcmk__corosync_uuid(const pcmk__node_status_t *peer);
50
51 G_GNUC_INTERNAL
52 char *pcmk__corosync_name(uint64_t cmap_handle,
53 uint32_t nodeid);
54
55 G_GNUC_INTERNAL
56 int pcmk__corosync_connect(pcmk_cluster_t *cluster);
57
58 G_GNUC_INTERNAL
59 void pcmk__corosync_disconnect(pcmk_cluster_t *cluster);
60
61 G_GNUC_INTERNAL
62 bool pcmk__corosync_is_peer_active(const pcmk__node_status_t *node);
63
64 G_GNUC_INTERNAL
65 int pcmk__cpg_connect(pcmk_cluster_t *cluster);
66
67 G_GNUC_INTERNAL
68 void pcmk__cpg_disconnect(pcmk_cluster_t *cluster);
69
70 G_GNUC_INTERNAL
71 uint32_t pcmk__cpg_local_nodeid(cpg_handle_t handle);
72
73 G_GNUC_INTERNAL
74 bool pcmk__cpg_send_xml(const xmlNode *msg, const pcmk__node_status_t *node,
75 enum pcmk_ipc_server dest);
76
77 #endif
78
79 #ifdef __cplusplus
80 }
81 #endif
82
83 #endif