1 #pragma once
2 
3 #include <cstdint>
4 #include <map>
5 #include <string>
6 #include <vector>
7 
8 namespace ipmi
9 {
10 namespace fru
11 {
12 using FruAreaData = std::vector<uint8_t>;
13 using Section = std::string;
14 using Value = std::string;
15 using Property = std::string;
16 using PropertyMap = std::map<Property, Value>;
17 using 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  */
26 FruAreaData buildFruAreaData(const FruInventoryData& inventory);
27 
28 } // namespace fru
29 } // namespace ipmi
30