pacemaker  2.1.6-802a72226b
Scalable High-Availability cluster resource manager
Macros | Functions | Variables
internal.h File Reference
#include <unistd.h>
#include <stdbool.h>
#include <stdint.h>
#include <glib.h>
#include <libxml/tree.h>
#include <crm/common/util.h>
#include <crm/common/logging.h>
#include <crm/common/mainloop.h>
#include <crm/common/health_internal.h>
#include <crm/common/io_internal.h>
#include <crm/common/iso8601_internal.h>
#include <crm/common/results_internal.h>
#include <crm/common/messages_internal.h>
#include <crm/common/strings_internal.h>
#include <crm/common/acl_internal.h>
Include dependency graph for internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PCMK__NELEM(a)   ((int) (sizeof(a)/sizeof(a[0])) )
 
#define PCMK__OP_FMT   "%s_%s_%u"
 
#define PCMK__FAIL_COUNT_PREFIX   "fail-count"
 
#define PCMK__LAST_FAILURE_PREFIX   "last-failure"
 

Functions

bool pcmk__verify_digest (xmlNode *input, const char *expected)
 
int pcmk__add_mainloop_ipc (crm_ipc_t *ipc, int priority, void *userdata, const struct ipc_client_callbacks *callbacks, mainloop_io_t **source)
 Connect to IPC and add it as a main loop source. More...
 
guint pcmk__mainloop_timer_get_period (const mainloop_timer_t *timer)
 Get period for mainloop timer. More...
 
void pcmk__xe_add_node (xmlNode *xml, const char *node, int nodeid)
 
int pcmk__scan_nvpair (const char *input, char **name, char **value)
 
char * pcmk__format_nvpair (const char *name, const char *value, const char *units)
 
void pcmk__xe_set_bool_attr (xmlNodePtr node, const char *name, bool value)
 
bool pcmk__xe_attr_is_true (const xmlNode *node, const char *name)
 
int pcmk__xe_get_bool_attr (const xmlNode *node, const char *name, bool *value)
 
pid_t pcmk__procfs_pid_of (const char *name)
 
unsigned int pcmk__procfs_num_cores (void)
 
int pcmk__procfs_pid2path (pid_t pid, char path[], size_t path_size)
 
bool pcmk__procfs_has_pids (void)
 
void crm_schema_init (void)
 
void crm_schema_cleanup (void)
 
int pcmk__pid_active (pid_t pid, const char *daemon)
 
int pcmk__read_pidfile (const char *filename, pid_t *pid)
 
int pcmk__pidfile_matches (const char *filename, pid_t expected_pid, const char *expected_name, pid_t *pid)
 
int pcmk__lock_pidfile (const char *filename, const char *name)
 
char * pcmk__op_key (const char *rsc_id, const char *op_type, guint interval_ms)
 Generate an operation key (RESOURCE_ACTION_INTERVAL) More...
 
char * pcmk__notify_key (const char *rsc_id, const char *notify_type, const char *op_type)
 
char * pcmk__transition_key (int transition_id, int action_id, int target_rc, const char *node)
 
void pcmk__filter_op_for_digest (xmlNode *param_set)
 
bool pcmk__is_fencing_action (const char *action)
 
void pcmk__daemonize (const char *name, const char *pidfile)
 
void pcmk__panic (const char *origin)
 
pid_t pcmk__locate_sbd (void)
 
void pcmk__sleep_ms (unsigned int ms)
 
int pcmk__effective_rc (int rc)
 

Variables

bool pcmk__is_daemon
 
char * pcmk__our_nodename
 Node name of the local node. More...
 
int pcmk__score_red
 
int pcmk__score_green
 
int pcmk__score_yellow
 

Macro Definition Documentation

◆ PCMK__FAIL_COUNT_PREFIX

#define PCMK__FAIL_COUNT_PREFIX   "fail-count"

Definition at line 313 of file internal.h.

◆ PCMK__LAST_FAILURE_PREFIX

#define PCMK__LAST_FAILURE_PREFIX   "last-failure"

Definition at line 314 of file internal.h.

◆ PCMK__NELEM

#define PCMK__NELEM (   a)    ((int) (sizeof(a)/sizeof(a[0])) )

Definition at line 44 of file internal.h.

◆ PCMK__OP_FMT

#define PCMK__OP_FMT   "%s_%s_%u"

Definition at line 170 of file internal.h.

Function Documentation

◆ crm_schema_cleanup()

void crm_schema_cleanup ( void  )

Definition at line 554 of file schemas.c.

◆ crm_schema_init()

void crm_schema_init ( void  )

Definition at line 377 of file schemas.c.

◆ pcmk__add_mainloop_ipc()

int pcmk__add_mainloop_ipc ( crm_ipc_t ipc,
int  priority,
void *  userdata,
const struct ipc_client_callbacks callbacks,
mainloop_io_t **  source 
)

Connect to IPC and add it as a main loop source.

Parameters
[in,out]ipcIPC connection to add
[in]priorityEvent source priority to use for connection
[in]userdataData to register with callbacks
[in]callbacksDispatch and destroy callbacks for connection
[out]sourceNewly allocated event source
Returns
Standard Pacemaker return code
Note
On failure, the caller is still responsible for ipc. On success, the caller should call mainloop_del_ipc_client() when source is no longer needed, which will lead to the disconnection of the IPC later in the main loop if it is connected. However the IPC disconnects, mainloop_gio_destroy() will free ipc and source after calling the destroy callback.

Definition at line 873 of file mainloop.c.

◆ pcmk__daemonize()

void pcmk__daemonize ( const char *  name,
const char *  pidfile 
)

Definition at line 421 of file utils.c.

◆ pcmk__effective_rc()

int pcmk__effective_rc ( int  rc)

Definition at line 71 of file agents.c.

◆ pcmk__filter_op_for_digest()

void pcmk__filter_op_for_digest ( xmlNode *  param_set)

Definition at line 344 of file operations.c.

◆ pcmk__format_nvpair()

char* pcmk__format_nvpair ( const char *  name,
const char *  value,
const char *  units 
)

Definition at line 284 of file nvpair.c.

◆ pcmk__is_fencing_action()

bool pcmk__is_fencing_action ( const char *  action)

Definition at line 489 of file operations.c.

◆ pcmk__locate_sbd()

pid_t pcmk__locate_sbd ( void  )

Definition at line 195 of file watchdog.c.

◆ pcmk__lock_pidfile()

int pcmk__lock_pidfile ( const char *  filename,
const char *  name 
)

Definition at line 214 of file pid.c.

◆ pcmk__mainloop_timer_get_period()

guint pcmk__mainloop_timer_get_period ( const mainloop_timer_t timer)

Get period for mainloop timer.

Parameters
[in]timerTimer
Returns
Period in ms

Definition at line 906 of file mainloop.c.

◆ pcmk__notify_key()

char* pcmk__notify_key ( const char *  rsc_id,
const char *  notify_type,
const char *  op_type 
)

Definition at line 183 of file operations.c.

◆ pcmk__op_key()

char* pcmk__op_key ( const char *  rsc_id,
const char *  op_type,
guint  interval_ms 
)

Generate an operation key (RESOURCE_ACTION_INTERVAL)

Parameters
[in]rsc_idID of resource being operated on
[in]op_typeOperation name
[in]interval_msOperation interval
Returns
Newly allocated memory containing operation key as string
Note
This function asserts on errors, so it will never return NULL. The caller is responsible for freeing the result with free().

Definition at line 42 of file operations.c.

◆ pcmk__panic()

void pcmk__panic ( const char *  origin)

Definition at line 162 of file watchdog.c.

◆ pcmk__pid_active()

int pcmk__pid_active ( pid_t  pid,
const char *  daemon 
)

Definition at line 23 of file pid.c.

◆ pcmk__pidfile_matches()

int pcmk__pidfile_matches ( const char *  filename,
pid_t  expected_pid,
const char *  expected_name,
pid_t *  pid 
)

Definition at line 172 of file pid.c.

◆ pcmk__procfs_has_pids()

bool pcmk__procfs_has_pids ( void  )

Definition at line 211 of file procfs.c.

◆ pcmk__procfs_num_cores()

unsigned int pcmk__procfs_num_cores ( void  )

Definition at line 145 of file procfs.c.

◆ pcmk__procfs_pid2path()

int pcmk__procfs_pid2path ( pid_t  pid,
char  path[],
size_t  path_size 
)

Definition at line 179 of file procfs.c.

◆ pcmk__procfs_pid_of()

pid_t pcmk__procfs_pid_of ( const char *  name)

Definition at line 111 of file procfs.c.

◆ pcmk__read_pidfile()

int pcmk__read_pidfile ( const char *  filename,
pid_t *  pid 
)

Definition at line 111 of file pid.c.

◆ pcmk__scan_nvpair()

int pcmk__scan_nvpair ( const char *  input,
char **  name,
char **  value 
)

Definition at line 221 of file nvpair.c.

◆ pcmk__sleep_ms()

void pcmk__sleep_ms ( unsigned int  ms)

Definition at line 561 of file utils.c.

◆ pcmk__transition_key()

char* pcmk__transition_key ( int  transition_id,
int  action_id,
int  target_rc,
const char *  node 
)

Definition at line 250 of file operations.c.

◆ pcmk__verify_digest()

bool pcmk__verify_digest ( xmlNode *  input,
const char *  expected 
)

Definition at line 202 of file digest.c.

◆ pcmk__xe_add_node()

void pcmk__xe_add_node ( xmlNode *  xml,
const char *  node,
int  nodeid 
)

Definition at line 15 of file nodes.c.

◆ pcmk__xe_attr_is_true()

bool pcmk__xe_attr_is_true ( const xmlNode *  node,
const char *  name 
)

Definition at line 954 of file nvpair.c.

◆ pcmk__xe_get_bool_attr()

int pcmk__xe_get_bool_attr ( const xmlNode *  node,
const char *  name,
bool *  value 
)

Definition at line 927 of file nvpair.c.

◆ pcmk__xe_set_bool_attr()

void pcmk__xe_set_bool_attr ( xmlNodePtr  node,
const char *  name,
bool  value 
)

Definition at line 921 of file nvpair.c.

Variable Documentation

◆ pcmk__is_daemon

bool pcmk__is_daemon

Definition at line 47 of file logging.c.

◆ pcmk__our_nodename

char* pcmk__our_nodename

Node name of the local node.

Definition at line 48 of file logging.c.

◆ pcmk__score_green

int pcmk__score_green

Definition at line 21 of file scores.c.

◆ pcmk__score_red

int pcmk__score_red

Definition at line 20 of file scores.c.

◆ pcmk__score_yellow

int pcmk__score_yellow

Definition at line 22 of file scores.c.