summaryrefslogtreecommitdiffstats
path: root/fruread.hpp
blob: e035a74d89a78fa0d7059050957228b77d5edf7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef OPENBMC_IPMI_FRU_READ_H
#define OPENBMC_IPMI_FRU_READ_H

#include <systemd/sd-bus.h>
#include <array>
#include <string>
#include <map>
#include <vector>

struct IPMIFruData
{
    std::string section;
    std::string property;
    std::string delimiter;
};

using DbusProperty = std::string;
using DbusPropertyVec = std::vector<std::pair<DbusProperty, IPMIFruData>>;

using DbusInterface = std::string;
using DbusInterfaceVec = std::vector<std::pair<DbusInterface, DbusPropertyVec>>;

using FruInstancePath = std::string;

struct FruInstance
{
    uint8_t entityID;
    uint8_t entityInstance;
    FruInstancePath path;
    DbusInterfaceVec interfaces;
};

using FruInstanceVec = std::vector<FruInstance>;

using FruId = uint32_t;
using FruMap = std::map<FruId, FruInstanceVec>;

#endif
OpenPOWER on IntegriCloud