pacemaker  2.0.2-debe490
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
utils.c File Reference
#include <crm_internal.h>
#include <dlfcn.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/stat.h>
#include <sys/utsname.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <limits.h>
#include <pwd.h>
#include <time.h>
#include <libgen.h>
#include <signal.h>
#include <qb/qbdefs.h>
#include <crm/crm.h>
#include <crm/services.h>
#include <crm/msg_xml.h>
#include <crm/cib/internal.h>
#include <crm/common/xml.h>
#include <crm/common/util.h>
#include <crm/common/ipc.h>
#include <crm/common/iso8601.h>
#include <crm/common/mainloop.h>
#include <libxml2/libxml/relaxng.h>
#include <md5.h>
Include dependency graph for utils.c:

Go to the source code of this file.

Macros

#define _GNU_SOURCE
 
#define MAXLINE   512
 
#define PW_BUFFER_LEN   500
 
#define NUMCHARS   "0123456789."
 
#define WHITESPACE   " \t\n\r\f"
 

Functions

 CRM_TRACE_INIT_DATA (common)
 
gboolean check_time (const char *value)
 
gboolean check_timer (const char *value)
 
gboolean check_boolean (const char *value)
 
gboolean check_number (const char *value)
 
gboolean check_positive_number (const char *value)
 
gboolean check_quorum (const char *value)
 
gboolean check_script (const char *value)
 
gboolean check_utilization (const char *value)
 
void crm_args_fini ()
 
int char2score (const char *score)
 
char * score2char_stack (int score, char *buf, size_t len)
 
char * score2char (int score)
 
const char * cluster_option (GHashTable *options, gboolean(*validate)(const char *), const char *name, const char *old_name, const char *def_value)
 
const char * get_cluster_pref (GHashTable *options, pe_cluster_option *option_list, int len, const char *name)
 
void config_metadata (const char *name, const char *version, const char *desc_short, const char *desc_long, pe_cluster_option *option_list, int len)
 
void verify_all_options (GHashTable *options, pe_cluster_option *option_list, int len)
 
char * generate_hash_key (const char *crm_msg_reference, const char *sys)
 
int crm_user_lookup (const char *name, uid_t *uid, gid_t *gid)
 
int compare_version (const char *version1, const char *version2)
 
guint crm_parse_interval_spec (const char *input)
 
long long crm_get_msec (const char *input)
 
void crm_abort (const char *file, const char *function, int line, const char *assert_condition, gboolean do_core, gboolean do_fork)
 
void crm_make_daemon (const char *name, gboolean daemonize, const char *pidfile)
 
char * crm_meta_name (const char *field)
 
const char * crm_meta_value (GHashTable *hash, const char *field)
 
void crm_set_options (const char *short_options, const char *app_usage, struct crm_option *long_options, const char *app_desc)
 
int crm_get_option (int argc, char **argv, int *index)
 
int crm_get_option_long (int argc, char **argv, int *index, const char **longname)
 
void crm_help (char cmd, crm_exit_t exit_code)
 
void cib_ipc_servers_init (qb_ipcs_service_t **ipcs_ro, qb_ipcs_service_t **ipcs_rw, qb_ipcs_service_t **ipcs_shm, struct qb_ipcs_service_handlers *ro_cb, struct qb_ipcs_service_handlers *rw_cb)
 
void cib_ipc_servers_destroy (qb_ipcs_service_t *ipcs_ro, qb_ipcs_service_t *ipcs_rw, qb_ipcs_service_t *ipcs_shm)
 
qb_ipcs_service_t * crmd_ipc_server_init (struct qb_ipcs_service_handlers *cb)
 
void attrd_ipc_server_init (qb_ipcs_service_t **ipcs, struct qb_ipcs_service_handlers *cb)
 
void stonith_ipc_server_init (qb_ipcs_service_t **ipcs, struct qb_ipcs_service_handlers *cb)
 
void * find_library_function (void **handle, const char *lib, const char *fn, gboolean fatal)
 
char * crm_generate_uuid (void)
 
const char * pcmk_message_name (const char *name)
 Get name to be used as identifier for cluster messages. More...
 
bool crm_is_daemon_name (const char *name)
 Check whether a string represents a cluster daemon name. More...
 
char * crm_md5sum (const char *buffer)
 
char * pcmk_hostname ()
 Get the local hostname. More...
 

Variables

gboolean crm_config_error = FALSE
 
gboolean crm_config_warning = FALSE
 
char * crm_system_name = NULL
 
int node_score_red = 0
 
int node_score_green = 0
 
int node_score_yellow = 0
 
gboolean do_stderr = FALSE
 
bool crm_is_daemon
 

Macro Definition Documentation

#define _GNU_SOURCE

Definition at line 14 of file utils.c.

#define MAXLINE   512

Definition at line 46 of file utils.c.

#define NUMCHARS   "0123456789."

Definition at line 534 of file utils.c.

#define PW_BUFFER_LEN   500

Definition at line 54 of file utils.c.

#define WHITESPACE   " \t\n\r\f"

Definition at line 538 of file utils.c.

Function Documentation

void attrd_ipc_server_init ( qb_ipcs_service_t **  ipcs,
struct qb_ipcs_service_handlers *  cb 
)

Definition at line 1020 of file utils.c.

int char2score ( const char *  score)

Definition at line 199 of file utils.c.

gboolean check_boolean ( const char *  value)

Definition at line 91 of file utils.c.

gboolean check_number ( const char *  value)

Definition at line 102 of file utils.c.

gboolean check_positive_number ( const char *  value)

Definition at line 123 of file utils.c.

gboolean check_quorum ( const char *  value)

Definition at line 132 of file utils.c.

gboolean check_script ( const char *  value)

Definition at line 150 of file utils.c.

gboolean check_time ( const char *  value)

Definition at line 73 of file utils.c.

gboolean check_timer ( const char *  value)

Definition at line 82 of file utils.c.

gboolean check_utilization ( const char *  value)

Definition at line 177 of file utils.c.

void cib_ipc_servers_destroy ( qb_ipcs_service_t *  ipcs_ro,
qb_ipcs_service_t *  ipcs_rw,
qb_ipcs_service_t *  ipcs_shm 
)

Definition at line 1004 of file utils.c.

void cib_ipc_servers_init ( qb_ipcs_service_t **  ipcs_ro,
qb_ipcs_service_t **  ipcs_rw,
qb_ipcs_service_t **  ipcs_shm,
struct qb_ipcs_service_handlers *  ro_cb,
struct qb_ipcs_service_handlers *  rw_cb 
)

Definition at line 987 of file utils.c.

const char* cluster_option ( GHashTable *  options,
gboolean(*)(const char *)  validate,
const char *  name,
const char *  old_name,
const char *  def_value 
)

Definition at line 263 of file utils.c.

int compare_version ( const char *  version1,
const char *  version2 
)

Definition at line 461 of file utils.c.

void config_metadata ( const char *  name,
const char *  version,
const char *  desc_short,
const char *  desc_long,
pe_cluster_option option_list,
int  len 
)

Definition at line 344 of file utils.c.

void crm_abort ( const char *  file,
const char *  function,
int  line,
const char *  assert_condition,
gboolean  do_core,
gboolean  do_fork 
)

Definition at line 625 of file utils.c.

void crm_args_fini ( void  )

Definition at line 192 of file utils.c.

char* crm_generate_uuid ( void  )

Definition at line 1078 of file utils.c.

long long crm_get_msec ( const char *  input)

Definition at line 567 of file utils.c.

int crm_get_option ( int  argc,
char **  argv,
int *  index 
)

Definition at line 860 of file utils.c.

int crm_get_option_long ( int  argc,
char **  argv,
int *  index,
const char **  longname 
)

Definition at line 866 of file utils.c.

void crm_help ( char  cmd,
crm_exit_t  exit_code 
)

Definition at line 911 of file utils.c.

bool crm_is_daemon_name ( const char *  name)

Check whether a string represents a cluster daemon name.

Parameters
[in]nameString to check
Returns
TRUE if name is standard client name used by daemons, FALSE otherwise

Definition at line 1136 of file utils.c.

void crm_make_daemon ( const char *  name,
gboolean  daemonize,
const char *  pidfile 
)

Definition at line 687 of file utils.c.

char* crm_md5sum ( const char *  buffer)

Definition at line 1153 of file utils.c.

char* crm_meta_name ( const char *  field)

Definition at line 734 of file utils.c.

const char* crm_meta_value ( GHashTable *  hash,
const char *  field 
)

Definition at line 756 of file utils.c.

guint crm_parse_interval_spec ( const char *  input)

Definition at line 542 of file utils.c.

void crm_set_options ( const char *  short_options,
const char *  app_usage,
struct crm_option long_options,
const char *  app_desc 
)

Definition at line 819 of file utils.c.

CRM_TRACE_INIT_DATA ( common  )
int crm_user_lookup ( const char *  name,
uid_t *  uid,
gid_t *  gid 
)

Definition at line 402 of file utils.c.

qb_ipcs_service_t* crmd_ipc_server_init ( struct qb_ipcs_service_handlers *  cb)

Definition at line 1014 of file utils.c.

void* find_library_function ( void **  handle,
const char *  lib,
const char *  fn,
gboolean  fatal 
)

Definition at line 1044 of file utils.c.

char* generate_hash_key ( const char *  crm_msg_reference,
const char *  sys 
)

Definition at line 392 of file utils.c.

const char* get_cluster_pref ( GHashTable *  options,
pe_cluster_option option_list,
int  len,
const char *  name 
)

Definition at line 325 of file utils.c.

char* pcmk_hostname ( void  )

Get the local hostname.

Returns
Newly allocated string with name, or NULL (and set errno) on error

Definition at line 1195 of file utils.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 1100 of file utils.c.

char* score2char ( int  score)

Definition at line 251 of file utils.c.

char* score2char_stack ( int  score,
char *  buf,
size_t  len 
)

Definition at line 237 of file utils.c.

void stonith_ipc_server_init ( qb_ipcs_service_t **  ipcs,
struct qb_ipcs_service_handlers *  cb 
)

Definition at line 1032 of file utils.c.

void verify_all_options ( GHashTable *  options,
pe_cluster_option option_list,
int  len 
)

Definition at line 379 of file utils.c.

Variable Documentation

gboolean crm_config_error = FALSE

Definition at line 59 of file utils.c.

gboolean crm_config_warning = FALSE

Definition at line 60 of file utils.c.

bool crm_is_daemon

Definition at line 40 of file logging.c.

char* crm_system_name = NULL

Definition at line 61 of file utils.c.

gboolean do_stderr = FALSE

Definition at line 531 of file utils.c.

int node_score_green = 0

Definition at line 64 of file utils.c.

int node_score_red = 0

Definition at line 63 of file utils.c.

int node_score_yellow = 0

Definition at line 65 of file utils.c.