blob: e035a74d89a78fa0d7059050957228b77d5edf7f [file] [log] [blame]
Marri Devender Raoa62bacc2017-06-04 23:40:16 -05001#ifndef OPENBMC_IPMI_FRU_READ_H
2#define OPENBMC_IPMI_FRU_READ_H
3
4#include <systemd/sd-bus.h>
5#include <array>
6#include <string>
7#include <map>
8#include <vector>
9
10struct IPMIFruData
11{
12 std::string section;
13 std::string property;
14 std::string delimiter;
15};
16
17using DbusProperty = std::string;
18using DbusPropertyVec = std::vector<std::pair<DbusProperty, IPMIFruData>>;
19
20using DbusInterface = std::string;
21using DbusInterfaceVec = std::vector<std::pair<DbusInterface, DbusPropertyVec>>;
22
23using FruInstancePath = std::string;
Ratan Gupta00330972018-01-19 16:23:10 +053024
25struct FruInstance
26{
27 uint8_t entityID;
28 uint8_t entityInstance;
29 FruInstancePath path;
30 DbusInterfaceVec interfaces;
31};
32
33using FruInstanceVec = std::vector<FruInstance>;
Marri Devender Raoa62bacc2017-06-04 23:40:16 -050034
35using FruId = uint32_t;
36using FruMap = std::map<FruId, FruInstanceVec>;
37
38#endif