1 #pragma once
2 
3 #include <map>
4 #include <string>
5 #include <vector>
6 
7 namespace ipmi
8 {
9 namespace fru
10 {
11 using FruAreaData = std::vector<uint8_t>;
12 using Section = std::string;
13 using Value = std::string;
14 using Property = std::string;
15 using PropertyMap = std::map<Property, Value>;
16 using FruInventoryData = std::map<Section, PropertyMap>;
17 
18 /**
19  * @brief Builds Fru area data from inventory data
20  *
21  * @param[in] invData FRU properties values read from inventory
22  *
23  * @return FruAreaData FRU area data as per IPMI specification
24  */
25 FruAreaData buildFruAreaData(const FruInventoryData& inventory);
26 
27 } // namespace fru
28 } // namespace ipmi
29