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