9#ifndef PCMK__CRM_COMMON_RESULTS__H
10#define PCMK__CRM_COMMON_RESULTS__H
27# if (defined __cplusplus \
28 && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
29 || (defined _MSC_VER && 1900 <= _MSC_VER)))
30# define _Noreturn [[noreturn]]
31# elif ((!defined __cplusplus || defined __clang__) \
32 && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
33 || 4 < __GNUC__ + (7 <= __GNUC_MINOR__)))
35# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C
36# define _Noreturn __attribute__ ((__noreturn__))
37# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
38# define _Noreturn __declspec (noreturn)
67#define PCMK_ERROR_OFFSET 190
68#define PCMK_CUSTOM_OFFSET 200
69#define pcmk_err_generic 201
70#define pcmk_err_no_quorum 202
71#define pcmk_err_schema_validation 203
72#define pcmk_err_transform_failed 204
73#define pcmk_err_old_data 205
76#define pcmk_err_diff_failed 206
79#define pcmk_err_diff_resync 207
81#define pcmk_err_cib_modified 208
82#define pcmk_err_cib_backup 209
83#define pcmk_err_cib_save 210
84#define pcmk_err_schema_unchanged 211
85#define pcmk_err_cib_corrupt 212
86#define pcmk_err_multiple 213
87#define pcmk_err_node_unknown 214
88#define pcmk_err_already 215
91#define pcmk_err_bad_nvpair 250
92#define pcmk_err_unknown_format 252
94#define pcmk_err_bad_nvpair 216
95#define pcmk_err_unknown_format 217
349 const char **
name,
const char **desc);
372void crm_abort(
const char *file,
const char *function,
int line,
373 const char *condition, gboolean do_core, gboolean do_fork);
375static inline const char *
392 default:
return "Unrecognized status (bug?)";
400#if !defined(PCMK_ALLOW_DEPRECATED) || (PCMK_ALLOW_DEPRECATED == 1)
enum pcmk_ipc_server type
const char * pcmk_rc_name(int rc)
Get a return code constant name as a string.
const char * pcmk_strerror(int rc)
const char * pcmk_rc_str(int rc)
Get a user-friendly description of a return code.
crm_exit_e
Exit status codes for tools and daemons.
@ CRM_EX_IOERR
File I/O error.
@ CRM_EX_PANIC
Panic the local host.
@ CRM_EX_PROTOCOL
Protocol violated.
@ CRM_EX_NOSUCH
Requested item does not exist.
@ CRM_EX_DATAERR
User-supplied data incorrect.
@ CRM_EX_UNSATISFIED
Requested item does not satisfy constraints.
@ CRM_EX_UNSAFE
Requires –force or new conditions.
@ CRM_EX_EXISTS
Requested item already exists.
@ CRM_EX_TIMEOUT
Convention from timeout(1)
@ CRM_EX_NOT_RUNNING
Service safely stopped.
@ CRM_EX_MULTIPLE
Requested item has multiple matches.
@ CRM_EX_UNIMPLEMENT_FEATURE
Requested action not implemented.
@ CRM_EX_ERROR
Unspecified error.
@ CRM_EX_NOT_YET_IN_EFFECT
Requested item is not in effect.
@ CRM_EX_DEGRADED
Service active but more likely to fail soon.
@ CRM_EX_FAILED_PROMOTED
Service failed and possibly promoted.
@ CRM_EX_CANTCREAT
File couldn't be created.
@ CRM_EX_NONE
No exit status available.
@ CRM_EX_OLD
Update older than existing config.
@ CRM_EX_SOFTWARE
Internal software bug.
@ CRM_EX_OSFILE
System file not usable.
@ CRM_EX_NOHOST
Host unknown.
@ CRM_EX_CONFIG
Misconfiguration.
@ CRM_EX_NOPERM
Non-file permission issue.
@ CRM_EX_NOT_CONFIGURED
Parameter invalid (inherently)
@ CRM_EX_NOINPUT
Input file not available.
@ CRM_EX_NO_DC
DC is not yet elected, e.g. right after cluster restart.
@ CRM_EX_UNAVAILABLE
Needed service unavailable.
@ CRM_EX_OSERR
External (OS/environmental) problem.
@ CRM_EX_DISCONNECT
Lost connection to something.
@ CRM_EX_FATAL
Do not respawn.
@ CRM_EX_DIGEST
Digest comparison failed.
@ CRM_EX_PROMOTED
Service active and promoted.
@ CRM_EX_EXPIRED
Requested item has expired.
@ CRM_EX_NOUSER
User does not exist.
@ CRM_EX_DEGRADED_PROMOTED
Service promoted but more likely to fail soon.
@ CRM_EX_USAGE
Command line usage error.
@ CRM_EX_MAX
Ensure crm_exit_t can hold this.
@ CRM_EX_QUORUM
Local partition does not have quorum.
@ CRM_EX_NOT_INSTALLED
Dependencies not available locally.
@ CRM_EX_INVALID_PARAM
Parameter invalid (in local context)
@ CRM_EX_INSUFFICIENT_PRIV
Insufficient privileges.
@ CRM_EX_TEMPFAIL
Try again.
@ CRM_EX_INDETERMINATE
Could not determine status.
int pcmk_result_get_strings(int code, enum pcmk_result_type type, const char **name, const char **desc)
Get the name and description of a given result code.
_Noreturn crm_exit_t crm_exit(crm_exit_t rc)
enum ocf_exitcode pcmk_rc2ocf(int rc)
Map a function return code to the most similar OCF exit code.
ocf_exitcode
Exit status codes for resource agents.
@ PCMK_OCF_INSUFFICIENT_PRIV
Insufficient privileges.
@ PCMK_OCF_FAILED_PROMOTED
Service failed and possibly in promoted role.
@ PCMK_OCF_RUNNING_PROMOTED
Service active and promoted.
@ PCMK_OCF_DEGRADED_PROMOTED
Service promoted but more likely to fail soon.
@ PCMK_OCF_UNIMPLEMENT_FEATURE
Requested action not implemented.
@ PCMK_OCF_NOT_CONFIGURED
Parameter invalid (inherently)
@ PCMK_OCF_DEGRADED
Service active but more likely to fail soon.
@ PCMK_OCF_NOT_INSTALLED
Dependencies not available locally.
@ PCMK_OCF_UNKNOWN_ERROR
Unspecified error.
@ PCMK_OCF_INVALID_PARAM
Parameter invalid (in local context)
@ PCMK_OCF_NOT_RUNNING
Service safely stopped.
@ PCMK_OCF_UNKNOWN
Action is pending.
@ PCMK_OCF_CONNECTION_DIED
pcmk_rc_e
Return codes for Pacemaker API functions.
@ pcmk_rc_transform_failed
@ pcmk_rc_schema_validation
@ pcmk_rc_ipc_unauthorized
@ pcmk_rc_schema_unchanged
@ pcmk_rc_ipc_unresponsive
@ pcmk_rc_invalid_transition
void crm_abort(const char *file, const char *function, int line, const char *condition, gboolean do_core, gboolean do_fork)
const char * crm_exit_name(crm_exit_t exit_code)
int pcmk_rc2legacy(int rc)
const char * pcmk_errorname(int rc)
pcmk_result_type
Types of Pacemaker result codes.
@ pcmk_result_exitcode
Exit status code.
@ pcmk_result_legacy
Legacy API function return code.
@ pcmk_result_rc
Standard Pacemaker return code.
@ pcmk_result_exec_status
Execution status.
const char * crm_exit_str(crm_exit_t exit_code)
pcmk_exec_status
Execution status.
@ PCMK_EXEC_CANCELLED
Action was cancelled.
@ PCMK_EXEC_NO_SECRETS
Necessary CIB secrets are unavailable.
@ PCMK_EXEC_ERROR_FATAL
Execution failed, do not retry anywhere.
@ PCMK_EXEC_NOT_INSTALLED
Agent or dependency not available locally.
@ PCMK_EXEC_INVALID
Action cannot be attempted (e.g. shutdown)
@ PCMK_EXEC_DONE
Action completed, result is known.
@ PCMK_EXEC_ERROR
Execution failed, may be retried.
@ PCMK_EXEC_NOT_SUPPORTED
Agent does not implement requested action.
@ PCMK_EXEC_TIMEOUT
Action did not complete in time.
@ PCMK_EXEC_PENDING
Action is in progress.
@ PCMK_EXEC_UNKNOWN
Used only to initialize variables.
@ PCMK_EXEC_ERROR_HARD
Execution failed, do not retry on node.
@ PCMK_EXEC_MAX
Maximum value for this enum.
@ PCMK_EXEC_NO_FENCE_DEVICE
No fence device is configured for target.
@ PCMK_EXEC_NOT_CONNECTED
No connection to executor.
int pcmk_legacy2rc(int legacy_rc)
enum crm_exit_e crm_exit_t
Exit status codes for tools and daemons.
crm_exit_t pcmk_rc2exitc(int rc)
Map a function return code to the most similar exit code.
Deprecated Pacemaker results API.