![]()  | 
  
    pacemaker
    2.0.5-ba59be712
    
   Scalable High-Availability cluster resource manager 
   | 
 
#include <stdint.h>#include <glib.h>#include <libxml/tree.h>#include <crm/common/xml.h>#include <crm/common/util.h>

Go to the source code of this file.
Data Structures | |
| struct | crm_peer_node_s | 
| struct | crm_cluster_s | 
Macros | |
| #define | CRM_NODE_LOST "lost" | 
| #define | CRM_NODE_MEMBER "member" | 
Typedefs | |
| typedef struct crm_peer_node_s | crm_node_t | 
| typedef struct crm_cluster_s | crm_cluster_t | 
Enumerations | |
| enum | crm_join_phase {  crm_join_nack = -1, crm_join_none = 0, crm_join_welcomed = 1, crm_join_integrated = 2, crm_join_finalized = 3, crm_join_confirmed = 4 }  | 
| enum | crm_node_flags { crm_remote_node = 0x0001, crm_node_dirty = 0x0010 } | 
| enum | crm_ais_msg_class { crm_class_cluster = 0 } | 
| enum | crm_ais_msg_types {  crm_msg_none = 0, crm_msg_ais = 1, crm_msg_lrmd = 2, crm_msg_cib = 3, crm_msg_crmd = 4, crm_msg_attrd = 5, crm_msg_stonithd = 6, crm_msg_te = 7, crm_msg_pe = 8, crm_msg_stonith_ng = 9 }  | 
| enum | crm_get_peer_flags { CRM_GET_PEER_CLUSTER = 0x0001, CRM_GET_PEER_REMOTE = 0x0002, CRM_GET_PEER_ANY = CRM_GET_PEER_CLUSTER|CRM_GET_PEER_REMOTE } | 
| enum | crm_status_type { crm_status_uname, crm_status_nstate, crm_status_processes } | 
| enum | cluster_type_e { pcmk_cluster_unknown = 0x0001, pcmk_cluster_invalid = 0x0002, pcmk_cluster_corosync = 0x0020 } | 
Functions | |
| void | crm_peer_init (void) | 
| void | crm_peer_destroy (void) | 
| gboolean | crm_cluster_connect (crm_cluster_t *cluster) | 
| void | crm_cluster_disconnect (crm_cluster_t *cluster) | 
| gboolean | send_cluster_message (crm_node_t *node, enum crm_ais_msg_types service, xmlNode *data, gboolean ordered) | 
| int | crm_remote_peer_cache_size (void) | 
| void | crm_remote_peer_cache_refresh (xmlNode *cib) | 
| Repopulate the remote peer cache based on CIB XML.  More... | |
| crm_node_t * | crm_remote_peer_get (const char *node_name) | 
| Get a remote node peer cache entry, creating it if necessary.  More... | |
| void | crm_remote_peer_cache_remove (const char *node_name) | 
| crm_node_t * | crm_get_peer_full (unsigned int id, const char *uname, int flags) | 
| crm_node_t * | crm_get_peer (unsigned int id, const char *uname) | 
| guint | crm_active_peers (void) | 
| gboolean | crm_is_peer_active (const crm_node_t *node) | 
| guint | reap_crm_member (uint32_t id, const char *name) | 
| Remove all peer cache entries matching a node ID and/or uname.  More... | |
| int | crm_terminate_member (int nodeid, const char *uname, void *unused) | 
| int | crm_terminate_member_no_mainloop (int nodeid, const char *uname, int *connection) | 
| const char * | crm_peer_uuid (crm_node_t *node) | 
| const char * | crm_peer_uname (const char *uuid) | 
| Get the node name corresponding to a node UUID.  More... | |
| void | set_uuid (xmlNode *xml, const char *attr, crm_node_t *node) | 
| enum crm_ais_msg_types | text2msg_type (const char *text) | 
| void | crm_set_status_callback (void(*dispatch)(enum crm_status_type, crm_node_t *, const void *)) | 
| Set a client function that will be called after peer status changes.  More... | |
| void | crm_set_autoreap (gboolean autoreap) | 
| Tell the library whether to automatically reap lost nodes.  More... | |
| enum cluster_type_e | get_cluster_type (void) | 
| const char * | name_for_cluster_type (enum cluster_type_e type) | 
| gboolean | is_corosync_cluster (void) | 
| const char * | get_local_node_name (void) | 
| char * | get_node_name (uint32_t nodeid) | 
Variables | |
| gboolean | crm_have_quorum | 
| GHashTable * | crm_peer_cache | 
| GHashTable * | crm_remote_peer_cache | 
| unsigned long long | crm_peer_seq | 
| typedef struct crm_cluster_s crm_cluster_t | 
| typedef struct crm_peer_node_s crm_node_t | 
| enum cluster_type_e | 
| enum crm_ais_msg_class | 
| enum crm_ais_msg_types | 
| enum crm_get_peer_flags | 
| enum crm_join_phase | 
| enum crm_node_flags | 
| enum crm_status_type | 
| guint crm_active_peers | ( | void | ) | 
Definition at line 365 of file membership.c.
| gboolean crm_cluster_connect | ( | crm_cluster_t * | cluster | ) | 
| void crm_cluster_disconnect | ( | crm_cluster_t * | cluster | ) | 
| crm_node_t* crm_get_peer | ( | unsigned int | id, | 
| const char * | uname | ||
| ) | 
Definition at line 654 of file membership.c.
| crm_node_t* crm_get_peer_full | ( | unsigned int | id, | 
| const char * | uname, | ||
| int | flags | ||
| ) | 
Definition at line 503 of file membership.c.
| gboolean crm_is_peer_active | ( | const crm_node_t * | node | ) | 
Definition at line 272 of file membership.c.
| void crm_peer_destroy | ( | void | ) | 
Definition at line 406 of file membership.c.
| void crm_peer_init | ( | void | ) | 
Definition at line 390 of file membership.c.
| const char* crm_peer_uname | ( | const char * | uuid | ) | 
| const char* crm_peer_uuid | ( | crm_node_t * | node | ) | 
| void crm_remote_peer_cache_refresh | ( | xmlNode * | cib | ) | 
Repopulate the remote peer cache based on CIB XML.
| [in] | xmlNode | CIB XML to parse | 
Definition at line 234 of file membership.c.
| void crm_remote_peer_cache_remove | ( | const char * | node_name | ) | 
Definition at line 120 of file membership.c.
| int crm_remote_peer_cache_size | ( | void | ) | 
Definition at line 60 of file membership.c.
| crm_node_t* crm_remote_peer_get | ( | const char * | node_name | ) | 
Get a remote node peer cache entry, creating it if necessary.
| [in] | node_name | Name of remote node | 
Definition at line 80 of file membership.c.
| void crm_set_autoreap | ( | gboolean | autoreap | ) | 
Tell the library whether to automatically reap lost nodes.
If TRUE (the default), calling crm_update_peer_proc() will also update the peer state to CRM_NODE_MEMBER or CRM_NODE_LOST, and crm_update_peer_state() will reap peers whose state changes to anything other than CRM_NODE_MEMBER. Callers should leave this enabled unless they plan to manage the cache separately on their own.
| [in] | autoreap | TRUE to enable automatic reaping, FALSE to disable | 
Definition at line 458 of file membership.c.
| void crm_set_status_callback | ( | void(*)(enum crm_status_type, crm_node_t *, const void *) | dispatch | ) | 
Set a client function that will be called after peer status changes.
| [in] | dispatch | Pointer to function to use as callback | 
Definition at line 441 of file membership.c.
| int crm_terminate_member | ( | int | nodeid, | 
| const char * | uname, | ||
| void * | unused | ||
| ) | 
Definition at line 1017 of file membership.c.
| int crm_terminate_member_no_mainloop | ( | int | nodeid, | 
| const char * | uname, | ||
| int * | connection | ||
| ) | 
Definition at line 1024 of file membership.c.
| enum cluster_type_e get_cluster_type | ( | void | ) | 
| const char* name_for_cluster_type | ( | enum cluster_type_e | type | ) | 
| guint reap_crm_member | ( | uint32_t | id, | 
| const char * | name | ||
| ) | 
Remove all peer cache entries matching a node ID and/or uname.
| [in] | id | ID of node to remove (or 0 to ignore) | 
| [in] | name | Uname of node to remove (or NULL to ignore) | 
Definition at line 324 of file membership.c.
| gboolean send_cluster_message | ( | crm_node_t * | node, | 
| enum crm_ais_msg_types | service, | ||
| xmlNode * | data, | ||
| gboolean | ordered | ||
| ) | 
| void set_uuid | ( | xmlNode * | xml, | 
| const char * | attr, | ||
| crm_node_t * | node | ||
| ) | 
| enum crm_ais_msg_types text2msg_type | ( | const char * | text | ) | 
| gboolean crm_have_quorum | 
Definition at line 56 of file membership.c.
| GHashTable* crm_peer_cache | 
Definition at line 34 of file membership.c.
| unsigned long long crm_peer_seq | 
Definition at line 55 of file membership.c.
| GHashTable* crm_remote_peer_cache | 
Definition at line 51 of file membership.c.
 1.8.15