int8_t ipmi_cmd_cold_reset (ipmi_ctx_t ctx, fiid_obj_t obj_cmd_rs) { fiid_obj_t obj_cmd_rq = NULL; int8_t rv = -1; API_ERR_CTX_CHECK (ctx && ctx->magic == IPMI_CTX_MAGIC); API_ERR_PARAMETERS (fiid_obj_valid(obj_cmd_rs)); API_FIID_OBJ_TEMPLATE_COMPARE(obj_cmd_rs, tmpl_cmd_cold_reset_rs); API_FIID_OBJ_CREATE(obj_cmd_rq, tmpl_cmd_cold_reset_rq); API_ERR_CLEANUP (!(fill_cmd_cold_reset (obj_cmd_rq) < 0)); API_ERR_IPMI_CMD_CLEANUP (ctx, IPMI_BMC_IPMB_LUN_BMC, IPMI_NET_FN_APP_RQ, obj_cmd_rq, obj_cmd_rs); rv = 0; cleanup: API_FIID_OBJ_DESTROY(obj_cmd_rq); return (rv); }
int ipmi_cmd_cold_reset (ipmi_ctx_t ctx, fiid_obj_t obj_cmd_rs) { fiid_obj_t obj_cmd_rq = NULL; int rv = -1; if (!ctx || ctx->magic != IPMI_CTX_MAGIC) { ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); return (-1); } if (!fiid_obj_valid (obj_cmd_rs)) { API_SET_ERRNUM (ctx, IPMI_ERR_PARAMETERS); return (-1); } if (FIID_OBJ_TEMPLATE_COMPARE (obj_cmd_rs, tmpl_cmd_cold_reset_rs) < 0) { API_FIID_OBJECT_ERROR_TO_API_ERRNUM (ctx, obj_cmd_rs); return (-1); } if (!(obj_cmd_rq = fiid_obj_create (tmpl_cmd_cold_reset_rq))) { API_ERRNO_TO_API_ERRNUM (ctx, errno); goto cleanup; } if (fill_cmd_cold_reset (obj_cmd_rq) < 0) { API_ERRNO_TO_API_ERRNUM (ctx, errno); goto cleanup; } if (api_ipmi_cmd (ctx, IPMI_BMC_IPMB_LUN_BMC, IPMI_NET_FN_APP_RQ, obj_cmd_rq, obj_cmd_rs) < 0) { ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); goto cleanup; } rv = 0; cleanup: fiid_obj_destroy (obj_cmd_rq); return (rv); }