pacemaker  2.1.0-7c3f660
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
internal.h File Reference
#include <unistd.h>
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include <fcntl.h>
#include <sys/types.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/strings_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__RC_ERROR   pcmk__rc_error_quark()
 
#define PCMK__EXITC_ERROR   pcmk__exitc_error_quark()
 
#define PCMK__FAIL_COUNT_PREFIX   "fail-count"
 
#define PCMK__LAST_FAILURE_PREFIX   "last-failure"
 

Functions

char * pcmk__uid2username (uid_t uid)
 
const char * pcmk__update_acl_user (xmlNode *request, const char *field, const char *peer_user)
 
bool pcmk__verify_digest (xmlNode *input, const char *expected)
 
int pcmk__real_path (const char *path, char **resolved_path)
 
char * pcmk__series_filename (const char *directory, const char *series, int sequence, bool bzip)
 
int pcmk__read_series_sequence (const char *directory, const char *series, unsigned int *seq)
 
void pcmk__write_series_sequence (const char *directory, const char *series, unsigned int sequence, int max)
 
int pcmk__chown_series_sequence (const char *directory, const char *series, uid_t uid, gid_t gid)
 
int pcmk__build_path (const char *path_c, mode_t mode)
 
bool pcmk__daemon_can_write (const char *dir, const char *file)
 
void pcmk__sync_directory (const char *name)
 
int pcmk__file_contents (const char *filename, char **contents)
 
int pcmk__write_sync (int fd, const char *contents)
 
int pcmk__set_nonblocking (int fd)
 
const char * pcmk__get_tmpdir (void)
 
void pcmk__close_fds_in_child (bool)
 
int pcmk__add_mainloop_ipc (crm_ipc_t *ipc, int priority, void *userdata, 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 (mainloop_timer_t *timer)
 Get period for mainloop timer. More...
 
const char * pcmk__message_name (const char *name)
 Get name to be used as identifier for cluster messages. More...
 
int pcmk__scan_nvpair (const char *input, char **name, char **value)
 
char * pcmk__format_nvpair (const char *name, const char *value, const char *units)
 
char * pcmk__format_named_time (const char *name, time_t epoch_time)
 
pid_t pcmk__procfs_pid_of (const char *name)
 
unsigned int pcmk__procfs_num_cores (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)
 
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)
 
GQuark pcmk__rc_error_quark (void)
 
GQuark pcmk__exitc_error_quark (void)
 
int pcmk__effective_rc (int rc)
 

Variables

bool pcmk__is_daemon
 
int pcmk__score_red
 
int pcmk__score_green
 
int pcmk__score_yellow
 

Macro Definition Documentation

#define PCMK__EXITC_ERROR   pcmk__exitc_error_quark()

Definition at line 294 of file internal.h.

#define PCMK__FAIL_COUNT_PREFIX   "fail-count"

Definition at line 318 of file internal.h.

#define PCMK__LAST_FAILURE_PREFIX   "last-failure"

Definition at line 319 of file internal.h.

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

Definition at line 38 of file internal.h.

#define PCMK__OP_FMT   "%s_%s_%u"

Definition at line 168 of file internal.h.

#define PCMK__RC_ERROR   pcmk__rc_error_quark()

Definition at line 293 of file internal.h.

Function Documentation

void crm_schema_cleanup ( void  )

Definition at line 554 of file schemas.c.

void crm_schema_init ( void  )

Definition at line 379 of file schemas.c.

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

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

Parameters
[in]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 893 of file mainloop.c.

int pcmk__build_path ( const char *  path_c,
mode_t  mode 
)

Definition at line 45 of file io.c.

int pcmk__chown_series_sequence ( const char *  directory,
const char *  series,
uid_t  uid,
gid_t  gid 
)

Definition at line 237 of file io.c.

void pcmk__close_fds_in_child ( bool  )

Definition at line 558 of file io.c.

bool pcmk__daemon_can_write ( const char *  dir,
const char *  file 
)

Definition at line 327 of file io.c.

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

Definition at line 464 of file utils.c.

int pcmk__effective_rc ( int  rc)

Definition at line 71 of file agents.c.

GQuark pcmk__exitc_error_quark ( void  )
int pcmk__file_contents ( const char *  filename,
char **  contents 
)

Definition at line 431 of file io.c.

void pcmk__filter_op_for_digest ( xmlNode *  param_set)

Definition at line 390 of file operations.c.

char* pcmk__format_named_time ( const char *  name,
time_t  epoch_time 
)

Definition at line 304 of file nvpair.c.

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

Definition at line 285 of file nvpair.c.

const char* pcmk__get_tmpdir ( void  )

Definition at line 540 of file io.c.

pid_t pcmk__locate_sbd ( void  )

Definition at line 199 of file watchdog.c.

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

Definition at line 219 of file pid.c.

guint pcmk__mainloop_timer_get_period ( mainloop_timer_t timer)

Get period for mainloop timer.

Parameters
[in]timerTimer
Returns
Period in ms

Definition at line 926 of file mainloop.c.

const char* pcmk__message_name ( const char *  name)

Get name to be used as identifier for cluster messages.

Parameters
[in]nameActual system name to check
Returns
Non-NULL cluster message identifier corresponding to name
Note
The Pacemaker daemons were renamed in version 2.0.0, but the old names must continue to be used as the identifier for cluster messages, so that mixed-version clusters are possible during a rolling upgrade.

Definition at line 182 of file messages.c.

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

Definition at line 229 of file operations.c.

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 45 of file operations.c.

void pcmk__panic ( const char *  origin)

Definition at line 162 of file watchdog.c.

int pcmk__pid_active ( pid_t  pid,
const char *  daemon 
)

Definition at line 23 of file pid.c.

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

Definition at line 177 of file pid.c.

unsigned int pcmk__procfs_num_cores ( void  )

Definition at line 145 of file procfs.c.

pid_t pcmk__procfs_pid_of ( const char *  name)

Definition at line 111 of file procfs.c.

GQuark pcmk__rc_error_quark ( void  )
int pcmk__read_pidfile ( const char *  filename,
pid_t *  pid 
)

Definition at line 123 of file pid.c.

int pcmk__read_series_sequence ( const char *  directory,
const char *  series,
unsigned int *  seq 
)

Definition at line 140 of file io.c.

int pcmk__real_path ( const char *  path,
char **  resolved_path 
)

Definition at line 85 of file io.c.

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

Definition at line 222 of file nvpair.c.

char* pcmk__series_filename ( const char *  directory,
const char *  series,
int  sequence,
bool  bzip 
)

Definition at line 121 of file io.c.

int pcmk__set_nonblocking ( int  fd)

Definition at line 517 of file io.c.

void pcmk__sleep_ms ( unsigned int  ms)

Definition at line 603 of file utils.c.

void pcmk__sync_directory ( const char *  name)

Definition at line 395 of file io.c.

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

Definition at line 296 of file operations.c.

char* pcmk__uid2username ( uid_t  uid)

Definition at line 686 of file acl.c.

const char* pcmk__update_acl_user ( xmlNode *  request,
const char *  field,
const char *  peer_user 
)

Definition at line 716 of file acl.c.

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

Definition at line 220 of file digest.c.

void pcmk__write_series_sequence ( const char *  directory,
const char *  series,
unsigned int  sequence,
int  max 
)

Definition at line 187 of file io.c.

int pcmk__write_sync ( int  fd,
const char *  contents 
)

Definition at line 487 of file io.c.

Variable Documentation

bool pcmk__is_daemon

Definition at line 47 of file logging.c.

int pcmk__score_green

Definition at line 57 of file utils.c.

int pcmk__score_red

Definition at line 56 of file utils.c.

int pcmk__score_yellow

Definition at line 58 of file utils.c.