This source file includes following definitions.
- crm_strlen_zero
- crm_getpid_s
- crm_fail_attr_name
- crm_failcount_name
- crm_lastfailure_name
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #ifndef CRM_COMMON_INTERNAL__H
21 #define CRM_COMMON_INTERNAL__H
22
23 #include <glib.h>
24 #include <dirent.h>
25 #include <unistd.h>
26 #include <sys/types.h>
27
28 #include <crm/common/logging.h>
29
30
31
32 char *generate_series_filename(const char *directory, const char *series, int sequence,
33 gboolean bzip);
34 int get_last_sequence(const char *directory, const char *series);
35 void write_last_sequence(const char *directory, const char *series, int sequence, int max);
36 int crm_chown_last_sequence(const char *directory, const char *series, uid_t uid, gid_t gid);
37
38 gboolean crm_is_writable(const char *dir, const char *file, const char *user, const char *group,
39 gboolean need_both);
40
41 void crm_sync_directory(const char *name);
42
43 char *crm_read_contents(const char *filename);
44 int crm_write_sync(int fd, const char *contents);
45 int crm_set_nonblocking(int fd);
46
47
48
49
50 int crm_procfs_process_info(struct dirent *entry, char *name, int *pid);
51 int crm_procfs_pid_of(const char *name);
52 unsigned int crm_procfs_num_cores(void);
53
54
55
56
57 void crm_schema_init(void);
58 void crm_schema_cleanup(void);
59
60
61
62
63 char *crm_concat(const char *prefix, const char *suffix, char join);
64 void g_hash_destroy_str(gpointer data);
65 long long crm_int_helper(const char *text, char **end_text);
66 bool crm_starts_with(const char *str, const char *prefix);
67 gboolean crm_ends_with(const char *s, const char *match);
68 gboolean crm_ends_with_ext(const char *s, const char *match);
69 char *add_list_element(char *list, const char *value);
70 bool crm_compress_string(const char *data, int length, int max, char **result,
71 unsigned int *result_len);
72 gint crm_alpha_sort(gconstpointer a, gconstpointer b);
73
74 static inline int
75 crm_strlen_zero(const char *s)
76 {
77 return !s || *s == '\0';
78 }
79
80 static inline char *
81 crm_getpid_s()
82 {
83 return crm_strdup_printf("%lu", (unsigned long) getpid());
84 }
85
86
87
88 #define CRM_FAIL_COUNT_PREFIX "fail-count"
89 #define CRM_LAST_FAILURE_PREFIX "last-failure"
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108 static inline char *
109 crm_fail_attr_name(const char *prefix, const char *rsc_id, const char *op,
110 int interval)
111 {
112 CRM_CHECK(prefix && rsc_id && op, return NULL);
113 return crm_strdup_printf("%s-%s#%s_%d", prefix, rsc_id, op, interval);
114 }
115
116 static inline char *
117 crm_failcount_name(const char *rsc_id, const char *op, int interval)
118 {
119 return crm_fail_attr_name(CRM_FAIL_COUNT_PREFIX, rsc_id, op, interval);
120 }
121
122 static inline char *
123 crm_lastfailure_name(const char *rsc_id, const char *op, int interval)
124 {
125 return crm_fail_attr_name(CRM_LAST_FAILURE_PREFIX, rsc_id, op, interval);
126 }
127
128 #endif