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