blob: e9089730c61c58b26554c5c12d2ffdafaae0fc2f [file] [log] [blame]
Chris Austenac4604a2015-10-13 12:43:27 -05001#ifndef __HOST_IPMI_SEN_HANDLER_H__
2#define __HOST_IPMI_SEN_HANDLER_H__
3
Chris Austen0012e9b2015-10-22 01:37:46 -05004#include <stdint.h>
5
Chris Austenac4604a2015-10-13 12:43:27 -05006// IPMI commands for net functions.
7enum ipmi_netfn_sen_cmds
8{
Chris Austen10ccc0f2015-12-10 18:27:04 -06009 IPMI_CMD_GET_SENSOR_READING = 0x2D,
Chris Austenac4604a2015-10-13 12:43:27 -050010 IPMI_CMD_GET_SENSOR_TYPE = 0x2F,
11 IPMI_CMD_SET_SENSOR = 0x30,
Chris Austenac4604a2015-10-13 12:43:27 -050012};
13
Chris Austen0012e9b2015-10-22 01:37:46 -050014#define MAX_DBUS_PATH 128
15struct dbus_interface_t {
16 uint8_t sensornumber;
17 uint8_t sensortype;
18
19 char bus[MAX_DBUS_PATH];
20 char path[MAX_DBUS_PATH];
21 char interface[MAX_DBUS_PATH];
22};
Tomd700e762016-09-20 18:24:13 +053023
24int set_sensor_dbus_state_s(uint8_t , const char *, const char *);
25int set_sensor_dbus_state_y(uint8_t , const char *, const uint8_t);
26int find_openbmc_path(const char *, const uint8_t , dbus_interface_t *);
Tom05732372016-09-06 17:21:23 +053027
Tom Josephbe703f72017-03-09 12:34:35 +053028/**
29 * @struct SetSensorReadingReq
30 *
31 * IPMI Request data for Set Sensor Reading and Event Status Command
32 */
33struct SetSensorReadingReq
34{
35 uint8_t number;
36 uint8_t operation;
37 uint8_t reading;
38 uint8_t assertOffset0_7;
39 uint8_t assertOffset8_14;
40 uint8_t deassertOffset0_7;
41 uint8_t deassertOffset8_14;
42 uint8_t eventData1;
43 uint8_t eventData2;
44 uint8_t eventData3;
45} __attribute__((packed));
46
Chris Austenac4604a2015-10-13 12:43:27 -050047#endif