8 #ifndef CRM_COMMON_INTERNAL__H 9 #define CRM_COMMON_INTERNAL__H 14 #include <sys/types.h> 68 const char *caller_version,
int target_rc,
69 const char *node,
const char *origin,
87 unsigned int *result_len);
91 crm_concat(
const char *prefix,
const char *suffix,
char join)
98 crm_strlen_zero(
const char *s)
100 return !s || *s ==
'\0';
111 #define CRM_FAIL_COUNT_PREFIX "fail-count" 112 #define CRM_LAST_FAILURE_PREFIX "last-failure" 132 crm_fail_attr_name(
const char *prefix,
const char *rsc_id,
const char *op,
135 CRM_CHECK(prefix && rsc_id && op,
return NULL);
140 crm_failcount_name(
const char *rsc_id,
const char *op, guint interval_ms)
146 crm_lastfailure_name(
const char *rsc_id,
const char *op, guint interval_ms)
#define CRM_CHECK(expr, failure_action)
const char * crm_get_tmpdir(void)
void crm_schema_init(void)
int crm_lock_pidfile(const char *filename, const char *name)
int get_last_sequence(const char *directory, const char *series)
#define CRM_LAST_FAILURE_PREFIX
long long crm_int_helper(const char *text, char **end_text)
void crm_schema_cleanup(void)
char * generate_series_filename(const char *directory, const char *series, int sequence, gboolean bzip)
bool crm_starts_with(const char *str, const char *prefix)
Check whether a string starts with a certain sequence.
Wrappers for and extensions to libqb logging.
char * crm_read_contents(const char *filename)
char * generate_transition_key(int action, int transition_id, int target_rc, const char *node)
int daemon(int nochdir, int noclose)
#define CRM_FAIL_COUNT_PREFIX
char * add_list_element(char *list, const char *value)
const char * pcmk_message_name(const char *name)
Get name to be used as identifier for cluster messages.
gint crm_alpha_sort(gconstpointer a, gconstpointer b)
Compare two strings alphabetically (case-insensitive)
xmlNode * create_operation_update(xmlNode *parent, lrmd_event_data_t *event, const char *caller_version, int target_rc, const char *node, const char *origin, int level)
int crm_set_nonblocking(int fd)
bool pcmk__daemon_can_write(const char *dir, const char *file)
char * generate_notify_key(const char *rsc_id, const char *notify_type, const char *op_type)
long crm_pidfile_inuse(const char *filename, long mypid, const char *daemon)
gboolean crm_ends_with_ext(const char *s, const char *match)
gboolean crm_ends_with(const char *s, const char *match)
int crm_procfs_process_info(struct dirent *entry, char *name, int *pid)
int crm_pid_active(long pid, const char *daemon)
void write_last_sequence(const char *directory, const char *series, int sequence, int max)
bool crm_compress_string(const char *data, int length, int max, char **result, unsigned int *result_len)
guint crm_parse_ms(const char *text)
unsigned int crm_procfs_num_cores(void)
int crm_write_sync(int fd, const char *contents)
int crm_chown_last_sequence(const char *directory, const char *series, uid_t uid, gid_t gid)
void filter_action_parameters(xmlNode *param_set, const char *version)
void crm_sync_directory(const char *name)
char * generate_transition_magic(const char *transition_key, int op_status, int op_rc)
int crm_procfs_pid_of(const char *name)
char * crm_strdup_printf(char const *format,...) __attribute__((__format__(__printf__
char * generate_op_key(const char *rsc_id, const char *op_type, guint interval_ms)
Generate an operation key.
long crm_read_pidfile(const char *filename)