![]() |
pacemaker
2.0.4-2deceaa
Scalable High-Availability cluster resource manager
|
Utility functions. More...
#include <sys/types.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <limits.h>
#include <signal.h>
#include <glib.h>
#include <libxml/tree.h>
#include <crm/lrmd.h>
#include <crm/common/acl.h>
#include <crm/common/results.h>
Go to the source code of this file.
Macros | |
#define | ONLINESTATUS "online" |
#define | OFFLINESTATUS "offline" |
#define | safe_str_eq(a, b) crm_str_eq(a, b, FALSE) |
#define | crm_str_hash g_str_hash_traditional |
#define | crm_atoi(text, default_text) crm_parse_int(text, default_text) |
#define | CRM_DEFAULT_OP_TIMEOUT_S "20s" |
#define | crm_get_interval crm_parse_interval_spec |
Enumerations | |
enum | pcmk_ra_caps { pcmk_ra_cap_none = 0, pcmk_ra_cap_provider = (1 << 0), pcmk_ra_cap_status = (1 << 1), pcmk_ra_cap_params = (1 << 2), pcmk_ra_cap_unique = (1 << 3), pcmk_ra_cap_promotable = (1 << 4), pcmk_ra_cap_stdin = (1 << 5) } |
Functions | |
int | pcmk_scan_nvpair (const char *input, char **name, char **value) |
Extract the name and value from an input string formatted as "name=value". If unable to extract them, they are returned as NULL. More... | |
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) |
int | crm_default_remote_port (void) |
Get the default remote connection TCP port on this host. More... | |
char * | crm_itoa_stack (int an_int, char *buf, size_t len) |
gboolean | crm_is_true (const char *s) |
int | crm_str_to_boolean (const char *s, int *ret) |
long long | crm_parse_ll (const char *text, const char *default_text) |
Parse a long long integer value from a string. More... | |
int | crm_parse_int (const char *text, const char *default_text) |
Parse an integer value from a string. More... | |
long long | crm_get_msec (const char *input) |
Parse a time+units string and return milliseconds equivalent. More... | |
char * | crm_strip_trailing_newline (char *str) |
gboolean | crm_str_eq (const char *a, const char *b, gboolean use_case) |
gboolean | safe_str_neq (const char *a, const char *b) |
gboolean | crm_strcase_equal (gconstpointer a, gconstpointer b) |
guint | crm_strcase_hash (gconstpointer v) |
guint | g_str_hash_traditional (gconstpointer v) |
char * | crm_strdup_printf (char const *format,...) __attribute__((__format__(__printf__ |
char int | pcmk__parse_ll_range (const char *srcstring, long long *start, long long *end) |
gboolean | pcmk__str_in_list (GList *lst, const gchar *s) |
GHashTable * | crm_str_table_dup (GHashTable *old_table) |
void | crm_build_path (const char *path_c, mode_t mode) |
Create a directory, including any parent directories needed. More... | |
guint | crm_parse_interval_spec (const char *input) |
Parse milliseconds from a Pacemaker interval specification. More... | |
int | char2score (const char *score) |
char * | score2char (int score) |
char * | score2char_stack (int score, char *buf, size_t len) |
gboolean | parse_op_key (const char *key, char **rsc_id, char **op_type, guint *interval_ms) |
gboolean | decode_transition_key (const char *key, char **uuid, int *transition_id, int *action_id, int *target_rc) |
Parse a transition key into its constituent parts. More... | |
gboolean | decode_transition_magic (const char *magic, char **uuid, int *transition_id, int *action_id, int *op_status, int *op_rc, int *target_rc) |
Parse a transition magic string into its constituent parts. More... | |
int | rsc_op_expected_rc (lrmd_event_data_t *event) |
gboolean | did_rsc_op_fail (lrmd_event_data_t *event, int target_rc) |
bool | crm_op_needs_metadata (const char *rsc_class, const char *op) |
Check whether an operation requires resource agent meta-data. More... | |
xmlNode * | crm_create_op_xml (xmlNode *parent, const char *prefix, const char *task, const char *interval_spec, const char *timeout) |
Create a CIB XML element for an operation. More... | |
uint32_t | pcmk_get_ra_caps (const char *standard) |
Get capabilities of a resource agent standard. More... | |
char * | crm_generate_ra_key (const char *standard, const char *provider, const char *type) |
int | crm_parse_agent_spec (const char *spec, char **standard, char **provider, char **type) |
Parse a "standard[:provider]:type" agent specification. More... | |
int | compare_version (const char *version1, const char *version2) |
void | crm_abort (const char *file, const char *function, int line, const char *condition, gboolean do_core, gboolean do_fork) |
char * | crm_meta_name (const char *field) |
const char * | crm_meta_value (GHashTable *hash, const char *field) |
char * | crm_md5sum (const char *buffer) |
char * | crm_generate_uuid (void) |
bool | crm_is_daemon_name (const char *name) |
Check whether a string represents a cluster daemon name. More... | |
int | crm_user_lookup (const char *name, uid_t *uid, gid_t *gid) |
int | pcmk_daemon_user (uid_t *uid, gid_t *gid) |
Get user and group IDs of pacemaker daemon user. More... | |
char * | pcmk_hostname (void) |
Get the local hostname. More... | |
bool | pcmk_str_is_infinity (const char *s) |
bool | pcmk_str_is_minus_infinity (const char *s) |
bool | crm_provider_required (const char *standard) |
Check whether a resource standard requires a provider to be specified. More... | |
Utility functions.
Definition in file util.h.
#define crm_atoi | ( | text, | |
default_text | |||
) | crm_parse_int(text, default_text) |
#define crm_get_interval crm_parse_interval_spec |
#define crm_str_hash g_str_hash_traditional |
#define safe_str_eq | ( | a, | |
b | |||
) | crm_str_eq(a, b, FALSE) |
enum pcmk_ra_caps |
int compare_version | ( | const char * | version1, |
const char * | version2 | ||
) |
void crm_abort | ( | const char * | file, |
const char * | function, | ||
int | line, | ||
const char * | condition, | ||
gboolean | do_core, | ||
gboolean | do_fork | ||
) |
void crm_build_path | ( | const char * | path_c, |
mode_t | mode | ||
) |
xmlNode* crm_create_op_xml | ( | xmlNode * | parent, |
const char * | prefix, | ||
const char * | task, | ||
const char * | interval_spec, | ||
const char * | timeout | ||
) |
Create a CIB XML element for an operation.
[in] | parent | If not NULL, make new XML node a child of this one |
[in] | prefix | Generate an ID using this prefix |
[in] | task | Operation task to set |
[in] | interval_spec | Operation interval to set |
[in] | timeout | If not NULL, operation timeout to set |
Definition at line 377 of file operations.c.
int crm_default_remote_port | ( | void | ) |
char* crm_generate_ra_key | ( | const char * | standard, |
const char * | provider, | ||
const char * | type | ||
) |
long long crm_get_msec | ( | const char * | input | ) |
bool crm_is_daemon_name | ( | const char * | name | ) |
char* crm_itoa_stack | ( | int | an_int, |
char * | buf, | ||
size_t | len | ||
) |
const char* crm_meta_value | ( | GHashTable * | hash, |
const char * | field | ||
) |
bool crm_op_needs_metadata | ( | const char * | rsc_class, |
const char * | op | ||
) |
Check whether an operation requires resource agent meta-data.
[in] | rsc_class | Resource agent class (or NULL to skip class check) |
[in] | op | Operation action (or NULL to skip op check) |
Definition at line 404 of file operations.c.
int crm_parse_agent_spec | ( | const char * | spec, |
char ** | standard, | ||
char ** | provider, | ||
char ** | type | ||
) |
Parse a "standard[:provider]:type" agent specification.
[in] | spec | Agent specification |
[out] | standard | Newly allocated memory containing agent standard (or NULL) |
[out] | provider | Newly allocated memory containing agent provider (or NULL) |
put] | type Newly allocated memory containing agent type (or NULL) |
int crm_parse_int | ( | const char * | text, |
const char * | default_text | ||
) |
Parse an integer value from a string.
[in] | text | The string to parse |
[in] | default_text | Default string to parse if text is NULL |
guint crm_parse_interval_spec | ( | const char * | input | ) |
Parse milliseconds from a Pacemaker interval specification.
[in] | input | Pacemaker time interval specification (a bare number of seconds, a number with a unit optionally with whitespace before and/or after the number, or an ISO 8601 duration) |
long long crm_parse_ll | ( | const char * | text, |
const char * | default_text | ||
) |
bool crm_provider_required | ( | const char * | standard | ) |
Check whether a resource standard requires a provider to be specified.
[in] | standard | Standard name |
gboolean crm_str_eq | ( | const char * | a, |
const char * | b, | ||
gboolean | use_case | ||
) |
gboolean crm_strcase_equal | ( | gconstpointer | a, |
gconstpointer | b | ||
) |
char* crm_strdup_printf | ( | char const * | format, |
... | |||
) |
int crm_user_lookup | ( | const char * | name, |
uid_t * | uid, | ||
gid_t * | gid | ||
) |
gboolean decode_transition_key | ( | const char * | key, |
char ** | uuid, | ||
int * | transition_id, | ||
int * | action_id, | ||
int * | target_rc | ||
) |
Parse a transition key into its constituent parts.
[in] | key | Transition key to parse (must be non-NULL) |
[out] | uuid | If non-NULL, where to store copy of parsed UUID |
[out] | transition_id | If non-NULL, where to store parsed transition ID |
[out] | action_id | If non-NULL, where to store parsed action ID |
[out] | target_rc | If non-NULL, where to stored parsed target rc |
Definition at line 218 of file operations.c.
gboolean decode_transition_magic | ( | const char * | magic, |
char ** | uuid, | ||
int * | transition_id, | ||
int * | action_id, | ||
int * | op_status, | ||
int * | op_rc, | ||
int * | target_rc | ||
) |
Parse a transition magic string into its constituent parts.
[in] | magic | Magic string to parse (must be non-NULL) |
[out] | uuid | If non-NULL, where to store copy of parsed UUID |
[out] | transition_id | If non-NULL, where to store parsed transition ID |
[out] | action_id | If non-NULL, where to store parsed action ID |
[out] | op_status | If non-NULL, where to store parsed result status |
[out] | op_rc | If non-NULL, where to store parsed actual rc |
[out] | target_rc | If non-NULL, where to stored parsed target rc |
Definition at line 155 of file operations.c.
gboolean did_rsc_op_fail | ( | lrmd_event_data_t * | event, |
int | target_rc | ||
) |
Definition at line 340 of file operations.c.
gboolean parse_op_key | ( | const char * | key, |
char ** | rsc_id, | ||
char ** | op_type, | ||
guint * | interval_ms | ||
) |
Definition at line 48 of file operations.c.
char int pcmk__parse_ll_range | ( | const char * | srcstring, |
long long * | start, | ||
long long * | end | ||
) |
gboolean pcmk__str_in_list | ( | GList * | lst, |
const gchar * | s | ||
) |
int pcmk_daemon_user | ( | uid_t * | uid, |
gid_t * | gid | ||
) |
char* pcmk_format_named_time | ( | const char * | name, |
time_t | epoch_time | ||
) |
char* pcmk_format_nvpair | ( | const char * | name, |
const char * | value, | ||
const char * | units | ||
) |
uint32_t pcmk_get_ra_caps | ( | const char * | standard | ) |
char* pcmk_hostname | ( | void | ) |
int pcmk_scan_nvpair | ( | const char * | input, |
char ** | name, | ||
char ** | value | ||
) |
Extract the name and value from an input string formatted as "name=value". If unable to extract them, they are returned as NULL.
[in] | input | The input string, likely from the command line |
[out] | name | Everything before the first '=' in the input string |
[out] | value | Everything after the first '=' in the input string |
int rsc_op_expected_rc | ( | lrmd_event_data_t * | event | ) |
Definition at line 329 of file operations.c.