#pragma once #include #include #include #include #include #include namespace openpower { namespace vpd { /** @brief The OpenPOWER VPD, in binary, is specified as a * sequence of characters */ static_assert((8 == CHAR_BIT), "A byte is not 8 bits!"); using Byte = uint8_t; using Binary = std::vector; using BIOSAttrValueType = std::variant; using PendingBIOSAttrItemType = std::pair>; using PendingBIOSAttrsType = std::vector; namespace inventory { using Path = std::string; using Property = std::string; using Value = std::variant; using PropertyMap = std::map; using kwdVpdValueTypes = std::variant; using Interface = std::string; using InterfaceMap = std::map; using Object = sdbusplus::message::object_path; using ObjectMap = std::map; using VPDfilepath = std::string; using FruIsMotherboard = bool; using FrusMap = std::multimap>; using LocationCode = std::string; using LocationCodeMap = std::unordered_multimap; using ListOfPaths = std::vector; using NodeNumber = uint16_t; using KeywordVpdMap = std::unordered_map; using systemType = std::string; using deviceTree = std::string; using deviceTreeMap = std::unordered_map; using PelAdditionalData = std::map; using Keyword = std::string; using KeywordData = std::string; using DbusPropertyMap = std::unordered_map; using PelAdditionalData = std::map; using Service = std::string; using MapperResponse = std::map>>; using MapperGetObjectResponse = std::map>; using RestoredEeproms = std::tuple; using ReplaceableFrus = std::vector; using EssentialFrus = std::vector; using RecordName = std::string; using KeywordDefault = Binary; using isPELReqOnRestoreFailure = bool; using isMFGResetRequired = bool; using SystemKeywordInfo = std::tuple; /** Map of system backplane records to list of keywords and its related data. { * Record : { Keyword, Default value, Is PEL required on restore failure, Is MFG * reset required }} **/ using SystemKeywordsMap = std::unordered_map>; using GetAllResultType = std::vector>; using IntfPropMap = std::map; using RecKwValMap = std::unordered_map>; } // namespace inventory } // namespace vpd } // namespace openpower