config_validate_t power_restore_policy_number_validate (const char *section_name, const char *key_name, const char *value, void *arg) { assert (section_name); assert (key_name); assert (value); if (power_restore_policy_number (value) != -1) return (CONFIG_VALIDATE_VALID_VALUE); return (CONFIG_VALIDATE_INVALID_VALUE); }
static ipmi_config_err_t power_restore_policy_commit (ipmi_config_state_data_t *state_data, const char *section_name, const struct ipmi_config_keyvalue *kv) { ipmi_config_err_t rv = IPMI_CONFIG_ERR_FATAL_ERROR; fiid_obj_t obj_cmd_rs = NULL; assert (state_data); assert (section_name); assert (kv); if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_set_power_restore_policy_rs))) { pstdout_fprintf (state_data->pstate, stderr, "fiid_obj_create: %s\n", strerror (errno)); goto cleanup; } if (ipmi_cmd_set_power_restore_policy (state_data->ipmi_ctx, power_restore_policy_number (kv->value_input), obj_cmd_rs) < 0) { ipmi_config_err_t ret; if (state_data->prog_data->args->common_args.debug) pstdout_fprintf (state_data->pstate, stderr, "ipmi_cmd_set_power_restore_policy: %s\n", ipmi_ctx_errormsg (state_data->ipmi_ctx)); if (ipmi_errnum_is_non_fatal (state_data, obj_cmd_rs, &ret)) rv = ret; goto cleanup; } rv = IPMI_CONFIG_ERR_SUCCESS; cleanup: fiid_obj_destroy (obj_cmd_rs); return (rv); }