summaryrefslogtreecommitdiffstats
path: root/chassishandler.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'chassishandler.hpp')
-rw-r--r--chassishandler.hpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/chassishandler.hpp b/chassishandler.hpp
new file mode 100644
index 0000000..6535c0e
--- /dev/null
+++ b/chassishandler.hpp
@@ -0,0 +1,59 @@
+#pragma once
+
+#include <stdint.h>
+
+#include <cstddef>
+
+// IPMI commands for Chassis net functions.
+enum ipmi_netfn_chassis_cmds
+{
+ IPMI_CMD_GET_CHASSIS_CAP = 0x00,
+ // Chassis Status
+ IPMI_CMD_CHASSIS_STATUS = 0x01,
+ // Chassis Control
+ IPMI_CMD_CHASSIS_CONTROL = 0x02,
+ IPMI_CMD_CHASSIS_IDENTIFY = 0x04,
+ // Set Power Restore Policy
+ IPMI_CMD_SET_RESTORE_POLICY = 0x06,
+ // Get capability bits
+ IPMI_CMD_SET_SYS_BOOT_OPTIONS = 0x08,
+ IPMI_CMD_GET_SYS_BOOT_OPTIONS = 0x09,
+ IPMI_CMD_GET_POH_COUNTER = 0x0F,
+};
+
+// Command specific completion codes
+enum ipmi_chassis_return_codes
+{
+ IPMI_OK = 0x0,
+ IPMI_CC_PARM_NOT_SUPPORTED = 0x80,
+};
+
+// Generic completion codes,
+// see IPMI doc section 5.2
+enum ipmi_generic_return_codes
+{
+ IPMI_OUT_OF_SPACE = 0xC4,
+};
+
+// Various Chassis operations under a single command.
+enum ipmi_chassis_control_cmds : uint8_t
+{
+ CMD_POWER_OFF = 0x00,
+ CMD_POWER_ON = 0x01,
+ CMD_POWER_CYCLE = 0x02,
+ CMD_HARD_RESET = 0x03,
+ CMD_PULSE_DIAGNOSTIC_INTR = 0x04,
+ CMD_SOFT_OFF_VIA_OVER_TEMP = 0x05,
+};
+enum class BootOptionParameter : size_t
+{
+ BOOT_INFO = 0x4,
+ BOOT_FLAGS = 0x5,
+ OPAL_NETWORK_SETTINGS = 0x61
+};
+
+enum class BootOptionResponseSize : size_t
+{
+ BOOT_FLAGS = 5,
+ OPAL_NETWORK_SETTINGS = 50
+};
OpenPOWER on IntegriCloud