xref: /openbmc/phosphor-pid-control/ipmi/dbus_mode.hpp (revision d82d0b7dd1096f601a00d05c76bb1ae4a4e7b74d)
1*d82d0b7dSPatrick Venture #pragma once
2*d82d0b7dSPatrick Venture 
3*d82d0b7dSPatrick Venture #include <cstdint>
4*d82d0b7dSPatrick Venture #include <string>
5*d82d0b7dSPatrick Venture 
6*d82d0b7dSPatrick Venture namespace pid_control
7*d82d0b7dSPatrick Venture {
8*d82d0b7dSPatrick Venture namespace ipmi
9*d82d0b7dSPatrick Venture {
10*d82d0b7dSPatrick Venture 
11*d82d0b7dSPatrick Venture /*
12*d82d0b7dSPatrick Venture  * busctl call xyz.openbmc_project.State.FanCtrl \
13*d82d0b7dSPatrick Venture  *     /xyz/openbmc_project/settings/fanctrl/zone1 \
14*d82d0b7dSPatrick Venture  *     org.freedesktop.DBus.Properties \
15*d82d0b7dSPatrick Venture  *     GetAll \
16*d82d0b7dSPatrick Venture  *     s \
17*d82d0b7dSPatrick Venture  *     xyz.openbmc_project.Control.Mode
18*d82d0b7dSPatrick Venture  * a{sv} 2 "Manual" b false "FailSafe" b false
19*d82d0b7dSPatrick Venture  *
20*d82d0b7dSPatrick Venture  * This returns an IPMI code as a uint8_t (which will always be sufficient to
21*d82d0b7dSPatrick Venture  * hold the result). NOTE: This does not return the typedef value to avoid
22*d82d0b7dSPatrick Venture  * including a header with conflicting types.
23*d82d0b7dSPatrick Venture  */
24*d82d0b7dSPatrick Venture uint8_t getFanCtrlProperty(uint8_t zoneId, bool* value,
25*d82d0b7dSPatrick Venture                            const std::string& property);
26*d82d0b7dSPatrick Venture 
27*d82d0b7dSPatrick Venture } // namespace ipmi
28*d82d0b7dSPatrick Venture } // namespace pid_control
29