blob: ea70401f822617fa6feeedf9e9659283e999f369 [file] [log] [blame]
Gunnar Millsd8249ee2018-04-12 16:33:53 -05001#pragma once
Patrick Venture26f80ab2018-08-31 12:00:50 -07002
Patrick Williams69c945e2023-05-26 14:59:07 -05003#include <cstdint>
Patrick Venture26f80ab2018-08-31 12:00:50 -07004#include <map>
Gunnar Millsd8249ee2018-04-12 16:33:53 -05005#include <string>
6#include <vector>
7
8namespace ipmi
9{
10namespace fru
11{
12using FruAreaData = std::vector<uint8_t>;
13using Section = std::string;
14using Value = std::string;
15using Property = std::string;
16using PropertyMap = std::map<Property, Value>;
17using FruInventoryData = std::map<Section, PropertyMap>;
18
19/**
20 * @brief Builds Fru area data from inventory data
21 *
22 * @param[in] invData FRU properties values read from inventory
23 *
24 * @return FruAreaData FRU area data as per IPMI specification
25 */
26FruAreaData buildFruAreaData(const FruInventoryData& inventory);
27
Patrick Venture0b02be92018-08-31 11:55:55 -070028} // namespace fru
29} // namespace ipmi