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