xref: /openbmc/phosphor-pid-control/ipmi/manual_messages.hpp (revision 9bf5cef4d4f7646a0a87cebd2058cffae9dd2786)
1*9bf5cef4SPatrick Venture #pragma once
2*9bf5cef4SPatrick Venture 
3*9bf5cef4SPatrick Venture #include <cstdint>
4*9bf5cef4SPatrick Venture 
5*9bf5cef4SPatrick Venture namespace pid_control
6*9bf5cef4SPatrick Venture {
7*9bf5cef4SPatrick Venture namespace ipmi
8*9bf5cef4SPatrick Venture {
9*9bf5cef4SPatrick Venture 
10*9bf5cef4SPatrick Venture enum ManualSubCmd
11*9bf5cef4SPatrick Venture {
12*9bf5cef4SPatrick Venture     getControlState = 0,
13*9bf5cef4SPatrick Venture     setControlState = 1,
14*9bf5cef4SPatrick Venture     getFailsafeState = 2,
15*9bf5cef4SPatrick Venture };
16*9bf5cef4SPatrick Venture 
17*9bf5cef4SPatrick Venture struct FanCtrlRequest
18*9bf5cef4SPatrick Venture {
19*9bf5cef4SPatrick Venture     uint8_t command;
20*9bf5cef4SPatrick Venture     uint8_t zone;
21*9bf5cef4SPatrick Venture } __attribute__((packed));
22*9bf5cef4SPatrick Venture 
23*9bf5cef4SPatrick Venture struct FanCtrlRequestSet
24*9bf5cef4SPatrick Venture {
25*9bf5cef4SPatrick Venture     uint8_t command;
26*9bf5cef4SPatrick Venture     uint8_t zone;
27*9bf5cef4SPatrick Venture     uint8_t value;
28*9bf5cef4SPatrick Venture } __attribute__((packed));
29*9bf5cef4SPatrick Venture 
30*9bf5cef4SPatrick Venture } // namespace ipmi
31*9bf5cef4SPatrick Venture } // namespace pid_control
32