pldmtool: PDR: add parsers

Add parsers for FRU record set and entity association type PDRs.

Tested: Following is an example output:

pldmtool platform GetPDR -d 6

FRU Record Set
Parsed Response Msg:
nextRecordHandle: 7
responseCount: 20
recordHandle: 6
PDRHeaderVersion: 1
PDRType: 20
recordChangeNumber: 0
dataLength: 10

PLDMTerminusHandle: 0
FRURecordSetIdentifier: 4
entityType: Chassis front panel board (control panel)
entityInstanceNumber: 2
containerID: 1

pldmtool platform GetPDR -d 10

Entity Association
Parsed Response Msg:
nextRecordHandle: 0
responseCount: 56
recordHandle: 10
PDRHeaderVersion: 1
PDRType: 15
recordChangeNumber: 0
dataLength: 46

containerID: 1
associationType: Physical

containerEntityType: System Board
containerEntityInstanceNumber: 1
containerEntityContainerID: 0
containedEntityCount: 6

containedEntityType[1]: Chassis front panel board (control panel)
containedEntityInstanceNumber[1]: 1
containedEntityContainerID[1]: 1

containedEntityType[2]: Chassis front panel board (control panel)
containedEntityInstanceNumber[2]: 2
containedEntityContainerID[2]: 1

containedEntityType[3]: Management Controller
containedEntityInstanceNumber[3]: 1
containedEntityContainerID[3]: 1

containedEntityType[4]: 208
containedEntityInstanceNumber[4]: 1
containedEntityContainerID[4]: 1

containedEntityType[5]: Power converter
containedEntityInstanceNumber[5]: 1
containedEntityContainerID[5]: 1

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I475976982b7e105680f6539b7f3a706aaea444e3
diff --git a/libpldm/platform.h b/libpldm/platform.h
index ba0854c..82c2b28 100644
--- a/libpldm/platform.h
+++ b/libpldm/platform.h
@@ -9,6 +9,7 @@
 #include <stdint.h>
 
 #include "base.h"
+#include "pdr.h"
 
 /* Maximum size for request */
 #define PLDM_SET_STATE_EFFECTER_STATES_REQ_BYTES 19
@@ -174,6 +175,18 @@
 	uint16_t length;
 } __attribute__((packed));
 
+/** @struct pldm_pdr_entity_association
+ *
+ *  Structure representing PLDM Entity Association PDR
+ */
+struct pldm_pdr_entity_association {
+	uint16_t container_id;
+	uint8_t association_type;
+	pldm_entity container;
+	uint8_t num_children;
+	pldm_entity children[1];
+} __attribute__((packed));
+
 /** @struct pldm_pdr_fru_record_set
  *
  *  Structure representing PLDM FRU record set PDR