Lines Matching full:pdr
6 #include "pdr.hpp"
26 using namespace pldm::responder::pdr;
81 // A map of PDR type to a lambda that handles creation of that PDR type. in generate()
82 // The lambda essentially would parse the platform specific PDR JSONs to in generate()
83 // generate the PDR structures. This function iterates through the map to in generate()
84 // invoke all lambdas, so that all PDR types can be created. in generate()
141 … "PDR config directory '{PATH}' does not exist or empty for '{TYPE}' pdr, error - {ERROR}", in generate()
147 "Failed to parse PDR JSON file for '{TYPE}' pdr, error - {ERROR}", in generate()
155 "Failed to parse PDR JSON file for '{TYPE}' pdr, error - {ERROR}", in generate()
175 // Build FRU table if not built, since entity association PDR's in getPDR()
194 // on this system & continue to build the common PDR's. in getPDR()
243 auto record = pdr::getRecordByHandle(pdrRepo, recordHandle, e); in getPDR()
274 "Failed to access PDR record handle '{RECORD_HANDLE}', error - {ERROR}", in getPDR()
457 // If there are no HOST PDR's, there is no further action in sensorEvent()
463 // Handle PLDM events for which PDR is available in sensorEvent()
466 pldm::pdr::EntityInfo entityInfo{}; in sensorEvent()
467 pldm::pdr::CompositeSensorStates compositeSensorStates{}; in sensorEvent()
468 std::vector<pldm::pdr::StateSetId> stateSetIds{}; in sensorEvent()
479 // implement TL PDR. in sensorEvent()
599 // as REFRESH_ENTIRE_REPOSITORY, then delete all the PDR's that in pldmPDRRepositoryChgEvent()
738 auto pdr = new (pdrBuffer.data()) pldm_terminus_locator_pdr; in generateTerminusLocatorPDR() local
740 pdr->hdr.record_handle = 0; in generateTerminusLocatorPDR()
741 pdr->hdr.version = 1; in generateTerminusLocatorPDR()
742 pdr->hdr.type = PLDM_TERMINUS_LOCATOR_PDR; in generateTerminusLocatorPDR()
743 pdr->hdr.record_change_num = 0; in generateTerminusLocatorPDR()
744 pdr->hdr.length = sizeof(pldm_terminus_locator_pdr) - sizeof(pldm_pdr_hdr); in generateTerminusLocatorPDR()
745 pdr->terminus_handle = TERMINUS_HANDLE; in generateTerminusLocatorPDR()
746 pdr->validity = PLDM_TL_PDR_VALID; in generateTerminusLocatorPDR()
747 pdr->tid = TERMINUS_ID; in generateTerminusLocatorPDR()
748 pdr->container_id = 0x0; in generateTerminusLocatorPDR()
749 pdr->terminus_locator_type = PLDM_TERMINUS_LOCATOR_TYPE_MCTP_EID; in generateTerminusLocatorPDR()
750 pdr->terminus_locator_value_size = in generateTerminusLocatorPDR()
752 auto locatorValue = new (pdr->terminus_locator_value) in generateTerminusLocatorPDR()
763 pdr->terminus_handle, in generateTerminusLocatorPDR()
764 std::make_tuple(pdr->tid, locatorValue->eid, pdr->validity)); in generateTerminusLocatorPDR()
847 pldm_state_sensor_pdr* pdr = nullptr; in isOemStateSensor() local
853 error("Failed to instantiate state sensor PDR repository"); in isOemStateSensor()
860 error("Failed to get record by PDR type"); in isOemStateSensor()
868 pdr = new (pdrEntry.data) pldm_state_sensor_pdr; in isOemStateSensor()
869 assert(pdr != nullptr); in isOemStateSensor()
870 if (pdr->sensor_id != sensorId) in isOemStateSensor()
872 pdr = nullptr; in isOemStateSensor()
876 auto tmpEntityType = pdr->entity_type; in isOemStateSensor()
877 auto tmpEntityInstance = pdr->entity_instance; in isOemStateSensor()
878 auto tmpEntityContainerId = pdr->container_id; in isOemStateSensor()
879 auto tmpCompSensorCnt = pdr->composite_sensor_count; in isOemStateSensor()
882 pdr->possible_states); in isOemStateSensor()
918 pldm_state_effecter_pdr* pdr = nullptr; in isOemStateEffecter() local
924 error("Failed to instantiate state effecter PDR repository"); in isOemStateEffecter()
932 error("Failed to get record by PDR type"); in isOemStateEffecter()
940 pdr = new (pdrEntry.data) pldm_state_effecter_pdr; in isOemStateEffecter()
941 assert(pdr != nullptr); in isOemStateEffecter()
942 if (pdr->effecter_id != effecterId) in isOemStateEffecter()
944 pdr = nullptr; in isOemStateEffecter()
949 auto tmpEntityType = pdr->entity_type; in isOemStateEffecter()
950 auto tmpEntityInstance = pdr->entity_instance; in isOemStateEffecter()
953 pdr->possible_states); in isOemStateEffecter()
956 if (compEffecterCnt > pdr->composite_effecter_count) in isOemStateEffecter()