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