pacemaker
2.1.8-3980678f03
Scalable High-Availability cluster resource manager
|
Go to the source code of this file.
Data Structures | |
struct | pcmk__cluster_option_s |
Macros | |
#define | PCMK__CONFIG_H |
#define | PCMK__ENV_AUTHKEY_LOCATION "authkey_location" |
#define | PCMK__ENV_BLACKBOX "blackbox" |
#define | PCMK__ENV_CALLGRIND_ENABLED "callgrind_enabled" |
#define | PCMK__ENV_CLUSTER_TYPE "cluster_type" |
#define | PCMK__ENV_DEBUG "debug" |
#define | PCMK__ENV_DH_MAX_BITS "dh_max_bits" |
#define | PCMK__ENV_DH_MIN_BITS "dh_min_bits" |
#define | PCMK__ENV_FAIL_FAST "fail_fast" |
#define | PCMK__ENV_IPC_BUFFER "ipc_buffer" |
#define | PCMK__ENV_IPC_TYPE "ipc_type" |
#define | PCMK__ENV_LOGFACILITY "logfacility" |
#define | PCMK__ENV_LOGFILE "logfile" |
#define | PCMK__ENV_LOGFILE_MODE "logfile_mode" |
#define | PCMK__ENV_LOGPRIORITY "logpriority" |
#define | PCMK__ENV_NODE_ACTION_LIMIT "node_action_limit" |
#define | PCMK__ENV_NODE_START_STATE "node_start_state" |
#define | PCMK__ENV_PANIC_ACTION "panic_action" |
#define | PCMK__ENV_REMOTE_ADDRESS "remote_address" |
#define | PCMK__ENV_REMOTE_SCHEMA_DIRECTORY "remote_schema_directory" |
#define | PCMK__ENV_REMOTE_PID1 "remote_pid1" |
#define | PCMK__ENV_REMOTE_PORT "remote_port" |
#define | PCMK__ENV_RESPAWNED "respawned" |
#define | PCMK__ENV_SCHEMA_DIRECTORY "schema_directory" |
#define | PCMK__ENV_SERVICE "service" |
#define | PCMK__ENV_STDERR "stderr" |
#define | PCMK__ENV_TLS_PRIORITIES "tls_priorities" |
#define | PCMK__ENV_TRACE_BLACKBOX "trace_blackbox" |
#define | PCMK__ENV_TRACE_FILES "trace_files" |
#define | PCMK__ENV_TRACE_FORMATS "trace_formats" |
#define | PCMK__ENV_TRACE_FUNCTIONS "trace_functions" |
#define | PCMK__ENV_TRACE_TAGS "trace_tags" |
#define | PCMK__ENV_VALGRIND_ENABLED "valgrind_enabled" |
#define | PCMK__ENV_CIB_TIMEOUT "cib_timeout" |
#define | PCMK__ENV_MCP "mcp" |
#define | PCMK__ENV_QUORUM_TYPE "quorum_type" |
#define | PCMK__ENV_SHUTDOWN_DELAY "shutdown_delay" |
#define | PCMK__OPT_REMOVE_AFTER_STOP "remove-after-stop" |
#define | PCMK__META_CLONE "clone" |
#define | PCMK__META_CONTAINER "container" |
#define | PCMK__META_DIGESTS_ALL "digests-all" |
#define | PCMK__META_DIGESTS_SECURE "digests-secure" |
#define | PCMK__META_INTERNAL_RSC "internal_rsc" |
#define | PCMK__META_MIGRATE_SOURCE "migrate_source" |
#define | PCMK__META_MIGRATE_TARGET "migrate_target" |
#define | PCMK__META_ON_NODE "on_node" |
#define | PCMK__META_ON_NODE_UUID "on_node_uuid" |
#define | PCMK__META_OP_NO_WAIT "op_no_wait" |
#define | PCMK__META_OP_TARGET_RC "op_target_rc" |
#define | PCMK__META_PHYSICAL_HOST "physical-host" |
#define | PCMK__META_STONITH_ACTION "stonith_action" |
#define | PCMK__META_CLEAR_FAILURE_OP "clear_failure_op" |
#define | PCMK__META_CLEAR_FAILURE_INTERVAL "clear_failure_interval" |
#define | PCMK__META_CAN_FAIL "can_fail" |
#define | PCMK__META_PROMOTED_MAX_LEGACY "master-max" |
#define | PCMK__META_PROMOTED_NODE_MAX_LEGACY "master-node-max" |
#define | PCMK__META_RESTART_TYPE "restart-type" |
#define | PCMK__META_ROLE_AFTER_FAILURE "role_after_failure" |
#define | PCMK__VALUE_ATTRD "attrd" |
#define | PCMK__VALUE_BOLD "bold" |
#define | PCMK__VALUE_BROADCAST "broadcast" |
#define | PCMK__VALUE_CIB "cib" |
#define | PCMK__VALUE_CIB_DIFF_NOTIFY "cib_diff_notify" |
#define | PCMK__VALUE_CIB_NOTIFY "cib_notify" |
#define | PCMK__VALUE_CIB_POST_NOTIFY "cib_post_notify" |
#define | PCMK__VALUE_CIB_PRE_NOTIFY "cib_pre_notify" |
#define | PCMK__VALUE_CIB_UPDATE_CONFIRMATION "cib_update_confirmation" |
#define | PCMK__VALUE_CLUSTER "cluster" |
#define | PCMK__VALUE_CRMD "crmd" |
#define | PCMK__VALUE_EN "en" |
#define | PCMK__VALUE_EPOCH "epoch" |
#define | PCMK__VALUE_HEALTH_RED "health_red" |
#define | PCMK__VALUE_HEALTH_YELLOW "health_yellow" |
#define | PCMK__VALUE_INIT "init" |
#define | PCMK__VALUE_LOCAL "local" |
#define | PCMK__VALUE_LRMD "lrmd" |
#define | PCMK__VALUE_MAINT "maint" |
#define | PCMK__VALUE_OUTPUT "output" |
#define | PCMK__VALUE_PASSWORD "password" |
#define | PCMK__VALUE_PING "ping" |
#define | PCMK__VALUE_PRIMITIVE "primitive" |
#define | PCMK__VALUE_REFRESH "refresh" |
#define | PCMK__VALUE_REQUEST "request" |
#define | PCMK__VALUE_RESPONSE "response" |
#define | PCMK__VALUE_RSC_FAILED "rsc-failed" |
#define | PCMK__VALUE_RSC_FAILURE_IGNORED "rsc-failure-ignored" |
#define | PCMK__VALUE_RSC_MANAGED "rsc-managed" |
#define | PCMK__VALUE_RSC_MULTIPLE "rsc-multiple" |
#define | PCMK__VALUE_RSC_OK "rsc-ok" |
#define | PCMK__VALUE_RUNNING "running" |
#define | PCMK__VALUE_SHUTDOWN_COMPLETE "shutdown_complete" |
#define | PCMK__VALUE_SHUTTING_DOWN "shutting_down" |
#define | PCMK__VALUE_ST_ASYNC_TIMEOUT_VALUE "st-async-timeout-value" |
#define | PCMK__VALUE_ST_NOTIFY "st_notify" |
#define | PCMK__VALUE_ST_NOTIFY_DISCONNECT "st_notify_disconnect" |
#define | PCMK__VALUE_ST_NOTIFY_FENCE "st_notify_fence" |
#define | PCMK__VALUE_ST_NOTIFY_HISTORY "st_notify_history" |
#define | PCMK__VALUE_ST_NOTIFY_HISTORY_SYNCED "st_notify_history_synced" |
#define | PCMK__VALUE_STARTING_DAEMONS "starting_daemons" |
#define | PCMK__VALUE_STONITH_NG "stonith-ng" |
#define | PCMK__VALUE_WAIT_FOR_PING "wait_for_ping" |
#define | PCMK__VALUE_WARNING "warning" |
#define | PCMK__VALUE_GROUP "group" |
#define | PCMK__VALUE_TIME "time" |
Typedefs | |
typedef struct pcmk__cluster_option_s | pcmk__cluster_option_t |
Enumerations | |
enum | pcmk__opt_flags { pcmk__opt_none = 0U, pcmk__opt_based = (1U << 0), pcmk__opt_controld = (1U << 1), pcmk__opt_schedulerd = (1U << 2), pcmk__opt_advanced = (1U << 3), pcmk__opt_generated = (1U << 4), pcmk__opt_deprecated = (1U << 5), pcmk__opt_fencing = (1U << 6), pcmk__opt_primitive = (1U << 7) } |
Functions | |
_Noreturn void | pcmk__cli_help (char cmd) |
const char * | pcmk__env_option (const char *option) |
void | pcmk__set_env_option (const char *option, const char *value, bool compat) |
Set or unset a Pacemaker environment variable option. More... | |
bool | pcmk__env_option_enabled (const char *daemon, const char *option) |
const char * | pcmk__cluster_option (GHashTable *options, const char *name) |
int | pcmk__output_cluster_options (pcmk__output_t *out, const char *name, const char *desc_short, const char *desc_long, uint32_t filter, bool all) |
int | pcmk__output_fencing_params (pcmk__output_t *out, const char *name, const char *desc_short, const char *desc_long, bool all) |
int | pcmk__output_primitive_meta (pcmk__output_t *out, const char *name, const char *desc_short, const char *desc_long, bool all) |
int | pcmk__daemon_metadata (pcmk__output_t *out, const char *name, const char *short_desc, const char *long_desc, enum pcmk__opt_flags filter) |
void | pcmk__validate_cluster_options (GHashTable *options) |
bool | pcmk__valid_interval_spec (const char *value) |
bool | pcmk__valid_boolean (const char *value) |
bool | pcmk__valid_int (const char *value) |
bool | pcmk__valid_positive_int (const char *value) |
bool | pcmk__valid_no_quorum_policy (const char *value) |
bool | pcmk__valid_percentage (const char *value) |
bool | pcmk__valid_placement_strategy (const char *value) |
long | pcmk__get_sbd_watchdog_timeout (void) |
bool | pcmk__get_sbd_sync_resource_startup (void) |
long | pcmk__auto_stonith_watchdog_timeout (void) |
bool | pcmk__valid_stonith_watchdog_timeout (const char *value) |
#define PCMK__CONFIG_H |
Definition at line 14 of file options_internal.h.
#define PCMK__ENV_AUTHKEY_LOCATION "authkey_location" |
Definition at line 124 of file options_internal.h.
#define PCMK__ENV_BLACKBOX "blackbox" |
Definition at line 125 of file options_internal.h.
#define PCMK__ENV_CALLGRIND_ENABLED "callgrind_enabled" |
Definition at line 126 of file options_internal.h.
#define PCMK__ENV_CIB_TIMEOUT "cib_timeout" |
Definition at line 158 of file options_internal.h.
#define PCMK__ENV_CLUSTER_TYPE "cluster_type" |
Definition at line 127 of file options_internal.h.
#define PCMK__ENV_DEBUG "debug" |
Definition at line 128 of file options_internal.h.
#define PCMK__ENV_DH_MAX_BITS "dh_max_bits" |
Definition at line 129 of file options_internal.h.
#define PCMK__ENV_DH_MIN_BITS "dh_min_bits" |
Definition at line 130 of file options_internal.h.
#define PCMK__ENV_FAIL_FAST "fail_fast" |
Definition at line 131 of file options_internal.h.
#define PCMK__ENV_IPC_BUFFER "ipc_buffer" |
Definition at line 132 of file options_internal.h.
#define PCMK__ENV_IPC_TYPE "ipc_type" |
Definition at line 133 of file options_internal.h.
#define PCMK__ENV_LOGFACILITY "logfacility" |
Definition at line 134 of file options_internal.h.
#define PCMK__ENV_LOGFILE "logfile" |
Definition at line 135 of file options_internal.h.
#define PCMK__ENV_LOGFILE_MODE "logfile_mode" |
Definition at line 136 of file options_internal.h.
#define PCMK__ENV_LOGPRIORITY "logpriority" |
Definition at line 137 of file options_internal.h.
#define PCMK__ENV_MCP "mcp" |
Definition at line 161 of file options_internal.h.
#define PCMK__ENV_NODE_ACTION_LIMIT "node_action_limit" |
Definition at line 138 of file options_internal.h.
#define PCMK__ENV_NODE_START_STATE "node_start_state" |
Definition at line 139 of file options_internal.h.
#define PCMK__ENV_PANIC_ACTION "panic_action" |
Definition at line 140 of file options_internal.h.
#define PCMK__ENV_QUORUM_TYPE "quorum_type" |
Definition at line 164 of file options_internal.h.
#define PCMK__ENV_REMOTE_ADDRESS "remote_address" |
Definition at line 141 of file options_internal.h.
#define PCMK__ENV_REMOTE_PID1 "remote_pid1" |
Definition at line 143 of file options_internal.h.
#define PCMK__ENV_REMOTE_PORT "remote_port" |
Definition at line 144 of file options_internal.h.
#define PCMK__ENV_REMOTE_SCHEMA_DIRECTORY "remote_schema_directory" |
Definition at line 142 of file options_internal.h.
#define PCMK__ENV_RESPAWNED "respawned" |
Definition at line 145 of file options_internal.h.
#define PCMK__ENV_SCHEMA_DIRECTORY "schema_directory" |
Definition at line 146 of file options_internal.h.
#define PCMK__ENV_SERVICE "service" |
Definition at line 147 of file options_internal.h.
#define PCMK__ENV_SHUTDOWN_DELAY "shutdown_delay" |
Definition at line 169 of file options_internal.h.
#define PCMK__ENV_STDERR "stderr" |
Definition at line 148 of file options_internal.h.
#define PCMK__ENV_TLS_PRIORITIES "tls_priorities" |
Definition at line 149 of file options_internal.h.
#define PCMK__ENV_TRACE_BLACKBOX "trace_blackbox" |
Definition at line 150 of file options_internal.h.
#define PCMK__ENV_TRACE_FILES "trace_files" |
Definition at line 151 of file options_internal.h.
#define PCMK__ENV_TRACE_FORMATS "trace_formats" |
Definition at line 152 of file options_internal.h.
#define PCMK__ENV_TRACE_FUNCTIONS "trace_functions" |
Definition at line 153 of file options_internal.h.
#define PCMK__ENV_TRACE_TAGS "trace_tags" |
Definition at line 154 of file options_internal.h.
#define PCMK__ENV_VALGRIND_ENABLED "valgrind_enabled" |
Definition at line 155 of file options_internal.h.
#define PCMK__META_CAN_FAIL "can_fail" |
Definition at line 196 of file options_internal.h.
#define PCMK__META_CLEAR_FAILURE_INTERVAL "clear_failure_interval" |
Definition at line 193 of file options_internal.h.
#define PCMK__META_CLEAR_FAILURE_OP "clear_failure_op" |
Definition at line 192 of file options_internal.h.
#define PCMK__META_CLONE "clone" |
Definition at line 175 of file options_internal.h.
#define PCMK__META_CONTAINER "container" |
Definition at line 176 of file options_internal.h.
#define PCMK__META_DIGESTS_ALL "digests-all" |
Definition at line 177 of file options_internal.h.
#define PCMK__META_DIGESTS_SECURE "digests-secure" |
Definition at line 178 of file options_internal.h.
#define PCMK__META_INTERNAL_RSC "internal_rsc" |
Definition at line 179 of file options_internal.h.
#define PCMK__META_MIGRATE_SOURCE "migrate_source" |
Definition at line 180 of file options_internal.h.
#define PCMK__META_MIGRATE_TARGET "migrate_target" |
Definition at line 181 of file options_internal.h.
#define PCMK__META_ON_NODE "on_node" |
Definition at line 182 of file options_internal.h.
#define PCMK__META_ON_NODE_UUID "on_node_uuid" |
Definition at line 183 of file options_internal.h.
#define PCMK__META_OP_NO_WAIT "op_no_wait" |
Definition at line 184 of file options_internal.h.
#define PCMK__META_OP_TARGET_RC "op_target_rc" |
Definition at line 185 of file options_internal.h.
#define PCMK__META_PHYSICAL_HOST "physical-host" |
Definition at line 186 of file options_internal.h.
#define PCMK__META_PROMOTED_MAX_LEGACY "master-max" |
Definition at line 199 of file options_internal.h.
#define PCMK__META_PROMOTED_NODE_MAX_LEGACY "master-node-max" |
Definition at line 202 of file options_internal.h.
#define PCMK__META_RESTART_TYPE "restart-type" |
Definition at line 205 of file options_internal.h.
#define PCMK__META_ROLE_AFTER_FAILURE "role_after_failure" |
Definition at line 208 of file options_internal.h.
#define PCMK__META_STONITH_ACTION "stonith_action" |
Definition at line 187 of file options_internal.h.
#define PCMK__OPT_REMOVE_AFTER_STOP "remove-after-stop" |
Definition at line 172 of file options_internal.h.
#define PCMK__VALUE_ATTRD "attrd" |
Definition at line 211 of file options_internal.h.
#define PCMK__VALUE_BOLD "bold" |
Definition at line 212 of file options_internal.h.
#define PCMK__VALUE_BROADCAST "broadcast" |
Definition at line 213 of file options_internal.h.
#define PCMK__VALUE_CIB "cib" |
Definition at line 214 of file options_internal.h.
#define PCMK__VALUE_CIB_DIFF_NOTIFY "cib_diff_notify" |
Definition at line 215 of file options_internal.h.
#define PCMK__VALUE_CIB_NOTIFY "cib_notify" |
Definition at line 216 of file options_internal.h.
#define PCMK__VALUE_CIB_POST_NOTIFY "cib_post_notify" |
Definition at line 217 of file options_internal.h.
#define PCMK__VALUE_CIB_PRE_NOTIFY "cib_pre_notify" |
Definition at line 218 of file options_internal.h.
#define PCMK__VALUE_CIB_UPDATE_CONFIRMATION "cib_update_confirmation" |
Definition at line 219 of file options_internal.h.
#define PCMK__VALUE_CLUSTER "cluster" |
Definition at line 220 of file options_internal.h.
#define PCMK__VALUE_CRMD "crmd" |
Definition at line 221 of file options_internal.h.
#define PCMK__VALUE_EN "en" |
Definition at line 222 of file options_internal.h.
#define PCMK__VALUE_EPOCH "epoch" |
Definition at line 223 of file options_internal.h.
#define PCMK__VALUE_GROUP "group" |
Definition at line 259 of file options_internal.h.
#define PCMK__VALUE_HEALTH_RED "health_red" |
Definition at line 224 of file options_internal.h.
#define PCMK__VALUE_HEALTH_YELLOW "health_yellow" |
Definition at line 225 of file options_internal.h.
#define PCMK__VALUE_INIT "init" |
Definition at line 226 of file options_internal.h.
#define PCMK__VALUE_LOCAL "local" |
Definition at line 227 of file options_internal.h.
#define PCMK__VALUE_LRMD "lrmd" |
Definition at line 228 of file options_internal.h.
#define PCMK__VALUE_MAINT "maint" |
Definition at line 229 of file options_internal.h.
#define PCMK__VALUE_OUTPUT "output" |
Definition at line 230 of file options_internal.h.
#define PCMK__VALUE_PASSWORD "password" |
Definition at line 231 of file options_internal.h.
#define PCMK__VALUE_PING "ping" |
Definition at line 232 of file options_internal.h.
#define PCMK__VALUE_PRIMITIVE "primitive" |
Definition at line 233 of file options_internal.h.
#define PCMK__VALUE_REFRESH "refresh" |
Definition at line 234 of file options_internal.h.
#define PCMK__VALUE_REQUEST "request" |
Definition at line 235 of file options_internal.h.
#define PCMK__VALUE_RESPONSE "response" |
Definition at line 236 of file options_internal.h.
#define PCMK__VALUE_RSC_FAILED "rsc-failed" |
Definition at line 237 of file options_internal.h.
#define PCMK__VALUE_RSC_FAILURE_IGNORED "rsc-failure-ignored" |
Definition at line 238 of file options_internal.h.
#define PCMK__VALUE_RSC_MANAGED "rsc-managed" |
Definition at line 239 of file options_internal.h.
#define PCMK__VALUE_RSC_MULTIPLE "rsc-multiple" |
Definition at line 240 of file options_internal.h.
#define PCMK__VALUE_RSC_OK "rsc-ok" |
Definition at line 241 of file options_internal.h.
#define PCMK__VALUE_RUNNING "running" |
Definition at line 242 of file options_internal.h.
#define PCMK__VALUE_SHUTDOWN_COMPLETE "shutdown_complete" |
Definition at line 243 of file options_internal.h.
#define PCMK__VALUE_SHUTTING_DOWN "shutting_down" |
Definition at line 244 of file options_internal.h.
#define PCMK__VALUE_ST_ASYNC_TIMEOUT_VALUE "st-async-timeout-value" |
Definition at line 245 of file options_internal.h.
#define PCMK__VALUE_ST_NOTIFY "st_notify" |
Definition at line 246 of file options_internal.h.
#define PCMK__VALUE_ST_NOTIFY_DISCONNECT "st_notify_disconnect" |
Definition at line 247 of file options_internal.h.
#define PCMK__VALUE_ST_NOTIFY_FENCE "st_notify_fence" |
Definition at line 248 of file options_internal.h.
#define PCMK__VALUE_ST_NOTIFY_HISTORY "st_notify_history" |
Definition at line 249 of file options_internal.h.
#define PCMK__VALUE_ST_NOTIFY_HISTORY_SYNCED "st_notify_history_synced" |
Definition at line 250 of file options_internal.h.
#define PCMK__VALUE_STARTING_DAEMONS "starting_daemons" |
Definition at line 251 of file options_internal.h.
#define PCMK__VALUE_STONITH_NG "stonith-ng" |
Definition at line 252 of file options_internal.h.
#define PCMK__VALUE_TIME "time" |
Definition at line 262 of file options_internal.h.
#define PCMK__VALUE_WAIT_FOR_PING "wait_for_ping" |
Definition at line 253 of file options_internal.h.
#define PCMK__VALUE_WARNING "warning" |
Definition at line 254 of file options_internal.h.
typedef struct pcmk__cluster_option_s pcmk__cluster_option_t |
enum pcmk__opt_flags |
Enumerator | |
---|---|
pcmk__opt_none | No additional information. |
pcmk__opt_based | In CIB manager metadata.
|
pcmk__opt_controld | In controller metadata.
|
pcmk__opt_schedulerd | In scheduler metadata.
|
pcmk__opt_advanced | Advanced use only. |
pcmk__opt_generated | Generated by Pacemaker. |
pcmk__opt_deprecated | Option is deprecated. |
pcmk__opt_fencing | Common fencing resource parameter. |
pcmk__opt_primitive | Primitive resource meta-attribute. |
Definition at line 44 of file options_internal.h.
long pcmk__auto_stonith_watchdog_timeout | ( | void | ) |
Definition at line 277 of file watchdog.c.
const char* pcmk__cluster_option | ( | GHashTable * | options, |
const char * | name | ||
) |
int pcmk__daemon_metadata | ( | pcmk__output_t * | out, |
const char * | name, | ||
const char * | short_desc, | ||
const char * | long_desc, | ||
enum pcmk__opt_flags | filter | ||
) |
bool pcmk__env_option_enabled | ( | const char * | daemon, |
const char * | option | ||
) |
bool pcmk__get_sbd_sync_resource_startup | ( | void | ) |
Definition at line 254 of file watchdog.c.
long pcmk__get_sbd_watchdog_timeout | ( | void | ) |
Definition at line 243 of file watchdog.c.
int pcmk__output_cluster_options | ( | pcmk__output_t * | out, |
const char * | name, | ||
const char * | desc_short, | ||
const char * | desc_long, | ||
uint32_t | filter, | ||
bool | all | ||
) |
int pcmk__output_fencing_params | ( | pcmk__output_t * | out, |
const char * | name, | ||
const char * | desc_short, | ||
const char * | desc_long, | ||
bool | all | ||
) |
int pcmk__output_primitive_meta | ( | pcmk__output_t * | out, |
const char * | name, | ||
const char * | desc_short, | ||
const char * | desc_long, | ||
bool | all | ||
) |
void pcmk__set_env_option | ( | const char * | option, |
const char * | value, | ||
bool | compat | ||
) |
Set or unset a Pacemaker environment variable option.
Set an environment variable option with a "PCMK_"
prefix and optionally an "HA_"
prefix for backward compatibility.
[in] | option | Environment variable name (without prefix) |
[in] | value | New value (or NULL to unset) |
[in] | compat | If false and value is not NULL , set only "PCMK_<option>" ; otherwise, set (or unset) both "PCMK_<option>" and "HA_<option>" |
compat
is ignored when value
is NULL
. A NULL
value
means we're unsetting option
. pcmk__get_env_option()
checks for both prefixes, so we want to clear them both. bool pcmk__valid_placement_strategy | ( | const char * | value | ) |
bool pcmk__valid_stonith_watchdog_timeout | ( | const char * | value | ) |
Definition at line 285 of file watchdog.c.