1 #pragma once 2 3 #include "common/utils.hpp" 4 #include "libpldmresponder/pdr_utils.hpp" 5 6 #include <stdint.h> 7 8 namespace pldm 9 { 10 11 namespace responder 12 { 13 14 namespace pdr 15 { 16 17 constexpr uint8_t BmcMctpEid = 8; 18 19 /** @brief Build (if not built already) and retrieve PDR by the PDR types 20 * 21 * @param[in] dir - directory housing platform specific PDR JSON files 22 * @param[in] pdrType - the type of PDRs 23 * 24 * @return Repo - Instance of pdr::Repo 25 */ 26 void getRepoByType(const pldm::responder::pdr_utils::Repo& inRepo, 27 pldm::responder::pdr_utils::Repo& outRepo, 28 pldm::responder::pdr_utils::Type pdrType); 29 30 /** @brief Get the record of PDR by the record handle 31 * 32 * @param[in] pdrRepo - pdr::RepoInterface 33 * @param[in] recordHandle - The recordHandle value for the PDR to be 34 * retrieved. 35 * @param[out] pdrEntry - PDR entry structure reference 36 * 37 * @return pldm_pdr_record - Instance of pdr::RepoInterface 38 */ 39 const pldm_pdr_record* 40 getRecordByHandle(const pldm::responder::pdr_utils::RepoInterface& pdrRepo, 41 pldm::responder::pdr_utils::RecordHandle recordHandle, 42 pldm::responder::pdr_utils::PdrEntry& pdrEntry); 43 44 } // namespace pdr 45 } // namespace responder 46 } // namespace pldm 47