30 services_os_get_directory_list_provider(
const char *root,
const char *provider,
31 gboolean files, gboolean executable)
34 char *dirs = strdup(root);
36 char buffer[PATH_MAX];
38 if (pcmk__str_empty(dirs)) {
43 for (dir = strtok(dirs,
":"); dir != NULL; dir = strtok(NULL,
":")) {
46 sprintf(buffer,
"%s/%s", dir, provider);
64 GList *providers = NULL;
67 return services_os_get_directory_list_provider(
OCF_RA_PATH, provider,
72 for (gIter = providers; gIter != NULL; gIter = gIter->next) {
77 result = g_list_concat(tmp1, tmp2);
80 g_list_free_full(providers, free);
93 if (provider == NULL || agent == NULL || pcmk__str_empty(dirs)) {
98 for (dir = strtok(dirs,
":"); dir != NULL; dir = strtok(NULL,
":")) {
100 if (stat(buf, &
st) == 0) {
133 for (
char *dir = strtok(dirs,
":"); dir != NULL; dir = strtok(NULL,
":")) {
136 if (stat(buf, &
st) == 0) {
168 switch (exit_status) {
ocf_exitcode
Exit status codes for resource agents.
Service failed and possibly in promoted role.
Service promoted but more likely to fail soon.
GList * resources_os_list_ocf_providers(void)
svc_action_private_t * opaque
This field should be treated as internal to Pacemaker.
char * crm_strdup_printf(char const *format,...) G_GNUC_PRINTF(1
GList * services_os_get_single_directory_list(const char *root, gboolean files, gboolean executable)
int services__ocf_prepare(svc_action_t *op)
Object for executing external actions.
char * agent
Resource agent name for resource actions, otherwise NULL.
Service active but more likely to fail soon.
char * action
Name of action being executed for resource actions, otherwise NULL.
pcmk__action_result_t result
GList * get_directory_list(const char *root, gboolean files, gboolean executable)
Get a list of files or directories in a given path.
enum ocf_exitcode services__ocf2ocf(int exit_status)
GList * resources_os_list_ocf_agents(const char *provider)
gboolean services__ocf_agent_exists(const char *provider, const char *agent)
char * provider
Resource provider for resource actions that require it, otherwise NULL.