xref: /openbmc/phosphor-host-ipmid/chassishandler.hpp (revision f5dd1020609586b9ba023d50d8385da9fe909149)
1 #pragma once
2 
3 #include <stdint.h>
4 
5 #include <cstddef>
6 
7 // IPMI Command for a Net Function number as specified by IPMI V2.0 spec.
8 using Cmd = uint8_t;
9 
10 // Various Chassis operations under a single command.
11 constexpr Cmd cmdPowerOff = 0x00;
12 constexpr Cmd cmdPowerOn = 0x01;
13 constexpr Cmd cmdPowerCycle = 0x02;
14 constexpr Cmd cmdHardReset = 0x03;
15 constexpr Cmd cmdPulseDiagnosticInterrupt = 0x04;
16 constexpr Cmd cmdSoftOffViaOverTemp = 0x05;
17 
18 enum class BootOptionParameter : size_t
19 {
20     setInProgress = 0x0,
21     bootFlagValidClr = 0x3,
22     bootInfo = 0x4,
23     bootFlags = 0x5,
24     opalNetworkSettings = 0x61
25 };
26 
27 enum class BootOptionResponseSize : size_t
28 {
29     setInProgress = 3,
30     bootFlags = 5,
31     opalNetworkSettings = 50
32 };
33 
34 enum class ChassisIDState : uint8_t
35 {
36     off = 0x0,
37     temporaryOn = 0x1,
38     indefiniteOn = 0x2,
39     reserved = 0x3
40 };
41