17d9157edSMarri Devender Rao #pragma once 226f80ab2SPatrick Venture 3*69c945eaSPatrick Williams #include <cstdint> 426f80ab2SPatrick Venture #include <map> 57d9157edSMarri Devender Rao #include <string> 67d9157edSMarri Devender Rao #include <vector> 77d9157edSMarri Devender Rao 87d9157edSMarri Devender Rao namespace ipmi 97d9157edSMarri Devender Rao { 107d9157edSMarri Devender Rao namespace fru 117d9157edSMarri Devender Rao { 127d9157edSMarri Devender Rao using FruAreaData = std::vector<uint8_t>; 137d9157edSMarri Devender Rao using Section = std::string; 147d9157edSMarri Devender Rao using Value = std::string; 157d9157edSMarri Devender Rao using Property = std::string; 167d9157edSMarri Devender Rao using PropertyMap = std::map<Property, Value>; 177d9157edSMarri Devender Rao using FruInventoryData = std::map<Section, PropertyMap>; 187d9157edSMarri Devender Rao 197d9157edSMarri Devender Rao /** 207d9157edSMarri Devender Rao * @brief Builds Fru area data from inventory data 217d9157edSMarri Devender Rao * 227d9157edSMarri Devender Rao * @param[in] invData FRU properties values read from inventory 237d9157edSMarri Devender Rao * 247d9157edSMarri Devender Rao * @return FruAreaData FRU area data as per IPMI specification 257d9157edSMarri Devender Rao */ 267d9157edSMarri Devender Rao FruAreaData buildFruAreaData(const FruInventoryData& inventory); 277d9157edSMarri Devender Rao 280b02be92SPatrick Venture } // namespace fru 290b02be92SPatrick Venture } // namespace ipmi 30