146470a38SPatrick Venture #pragma once 246470a38SPatrick Venture 346470a38SPatrick Venture #include <stdint.h> 446470a38SPatrick Venture 546470a38SPatrick Venture #include <cstddef> 646470a38SPatrick Venture 746470a38SPatrick Venture // Command specific completion codes 846470a38SPatrick Venture enum ipmi_chassis_return_codes 946470a38SPatrick Venture { 1046470a38SPatrick Venture IPMI_OK = 0x0, 1146470a38SPatrick Venture IPMI_CC_PARM_NOT_SUPPORTED = 0x80, 12ab369285Shuanghe IPMI_CC_FAIL_SET_IN_PROGRESS = 0x81, 1346470a38SPatrick Venture }; 1446470a38SPatrick Venture 1546470a38SPatrick Venture // Generic completion codes, 1646470a38SPatrick Venture // see IPMI doc section 5.2 1746470a38SPatrick Venture enum ipmi_generic_return_codes 1846470a38SPatrick Venture { 1946470a38SPatrick Venture IPMI_OUT_OF_SPACE = 0xC4, 2046470a38SPatrick Venture }; 2146470a38SPatrick Venture 2246470a38SPatrick Venture // Various Chassis operations under a single command. 2346470a38SPatrick Venture enum ipmi_chassis_control_cmds : uint8_t 2446470a38SPatrick Venture { 2546470a38SPatrick Venture CMD_POWER_OFF = 0x00, 2646470a38SPatrick Venture CMD_POWER_ON = 0x01, 2746470a38SPatrick Venture CMD_POWER_CYCLE = 0x02, 2846470a38SPatrick Venture CMD_HARD_RESET = 0x03, 2946470a38SPatrick Venture CMD_PULSE_DIAGNOSTIC_INTR = 0x04, 3046470a38SPatrick Venture CMD_SOFT_OFF_VIA_OVER_TEMP = 0x05, 3146470a38SPatrick Venture }; 3246470a38SPatrick Venture enum class BootOptionParameter : size_t 3346470a38SPatrick Venture { 34ab369285Shuanghe setInProgress = 0x0, 35*86ac4991SChen Yugang bootFlagValidClr = 0x3, 36bfd8fc4bSjayaprakash Mutyala bootInfo = 0x4, 37bfd8fc4bSjayaprakash Mutyala bootFlags = 0x5, 38bfd8fc4bSjayaprakash Mutyala opalNetworkSettings = 0x61 3946470a38SPatrick Venture }; 4046470a38SPatrick Venture 4146470a38SPatrick Venture enum class BootOptionResponseSize : size_t 4246470a38SPatrick Venture { 43ab369285Shuanghe setInProgress = 3, 44bfd8fc4bSjayaprakash Mutyala bootFlags = 5, 45bfd8fc4bSjayaprakash Mutyala opalNetworkSettings = 50 4646470a38SPatrick Venture }; 47f4e38515SYong Li 48f4e38515SYong Li enum class ChassisIDState : uint8_t 49f4e38515SYong Li { 50f4e38515SYong Li off = 0x0, 51f4e38515SYong Li temporaryOn = 0x1, 52f4e38515SYong Li indefiniteOn = 0x2, 53f4e38515SYong Li reserved = 0x3 54f4e38515SYong Li }; 55