Add PDRType in string format and mention stateSetID value

./pldmtool platform GetPDR -d 1
nextRecordHandle: 2
responseCount: 29
recordHandle: 1
PDRHeaderVersion: 1
PDRType: State Effecter PDR(11)   --> latest change
recordChangeNumber: 0
dataLength: 19

PLDMTerminusHandle: 0
effecterID: 1
entityType: Virtual Machine Manager
entityInstanceNumber: 0
containerID: 0
effecterSemanticID: 0
effecterInit: noInit
effecterDescriptionPDR: false
compositeEffecterCount: 1
stateSetID: Boot Progress(196)  --> latest change
possibleStatesSize: 1
possibleStates: 1 2

Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.com>
Change-Id: If4cfffdcbc10d397acd1521af26bbd50fa35df5d
diff --git a/libpldm/platform.h b/libpldm/platform.h
index e1b5b23..ed175a9 100644
--- a/libpldm/platform.h
+++ b/libpldm/platform.h
@@ -120,11 +120,28 @@
 /** @brief PLDM PDR types
  */
 enum pldm_pdr_types {
+	PLDM_TERMINUS_LOCATOR_PDR = 1,
+	PLDM_NUMERIC_SENSOR_PDR = 2,
+	PLDM_NUMERIC_SENSOR_INITIALIZATION_PDR = 3,
 	PLDM_STATE_SENSOR_PDR = 4,
+	PLDM_STATE_SENSOR_INITIALIZATION_PDR = 5,
+	PLDM_SENSOR_AUXILIARY_NAMES_PDR = 6,
+	PLDM_OEM_UNIT_PDR = 7,
+	PLDM_OEM_STATE_SET_PDR = 8,
 	PLDM_NUMERIC_EFFECTER_PDR = 9,
+	PLDM_NUMERIC_EFFECTER_INITIALIZATION_PDR = 10,
 	PLDM_STATE_EFFECTER_PDR = 11,
+	PLDM_STATE_EFFECTER_INITIALIZATION_PDR = 12,
+	PLDM_EFFECTER_AUXILIARY_NAMES_PDR = 13,
+	PLDM_EFFECTER_OEM_SEMANTIC_PDR = 14,
 	PLDM_PDR_ENTITY_ASSOCIATION = 15,
+	PLDM_ENTITY_AUXILIARY_NAMES_PDR = 16,
+	PLDM_OEM_ENTITY_ID_PDR = 17,
+	PLDM_INTERRUPT_ASSOCIATION_PDR = 18,
+	PLDM_EVENT_LOG_PDR = 19,
 	PLDM_PDR_FRU_RECORD_SET = 20,
+	PLDM_OEM_DEVICE_PDR = 126,
+	PLDM_OEM_PDR = 127,
 };
 
 /** @brief PLDM effecter initialization schemes
diff --git a/pldmtool/pldm_platform_cmd.cpp b/pldmtool/pldm_platform_cmd.cpp
index 4f18a91..0e3cc58 100644
--- a/pldmtool/pldm_platform_cmd.cpp
+++ b/pldmtool/pldm_platform_cmd.cpp
@@ -110,6 +110,7 @@
         {PLDM_STATE_SET_SW_TERMINATION_STATUS, "Software Termination Status"},
         {PLDM_STATE_SET_BOOT_RESTART_CAUSE, "Boot/Restart Cause"},
         {PLDM_STATE_SET_BOOT_PROGRESS, "Boot Progress"},
+        {PLDM_STATE_SET_SYSTEM_POWER_STATE, "System Power State"},
     };
 
     const std::array<std::string_view, 4> sensorInit = {
@@ -118,6 +119,35 @@
     const std::array<std::string_view, 4> effecterInit = {
         "noInit", "useInitPDR", "enableEffecter", "disableEffecter"};
 
+    const std::map<uint8_t, std::string> pdrType = {
+        {PLDM_TERMINUS_LOCATOR_PDR, "Terminus Locator PDR"},
+        {PLDM_NUMERIC_SENSOR_PDR, "Numeric Sensor PDR"},
+        {PLDM_NUMERIC_SENSOR_INITIALIZATION_PDR,
+         "Numeric Sensor Initialization PDR"},
+        {PLDM_STATE_SENSOR_PDR, "State Sensor PDR"},
+        {PLDM_STATE_SENSOR_INITIALIZATION_PDR,
+         "State Sensor Initialization PDR"},
+        {PLDM_SENSOR_AUXILIARY_NAMES_PDR, "Sensor Auxiliary Names PDR"},
+        {PLDM_OEM_UNIT_PDR, "OEM Unit PDR"},
+        {PLDM_OEM_STATE_SET_PDR, "OEM State Set PDR"},
+        {PLDM_NUMERIC_EFFECTER_PDR, "Numeric Effecter PDR"},
+        {PLDM_NUMERIC_EFFECTER_INITIALIZATION_PDR,
+         "Numeric Effecter Initialization PDR"},
+        {PLDM_STATE_EFFECTER_PDR, "State Effecter PDR"},
+        {PLDM_STATE_EFFECTER_INITIALIZATION_PDR,
+         "State Effecter Initialization PDR"},
+        {PLDM_EFFECTER_AUXILIARY_NAMES_PDR, "Effecter Auxiliary Names PDR"},
+        {PLDM_EFFECTER_OEM_SEMANTIC_PDR, "Effecter OEM Semantic PDR"},
+        {PLDM_PDR_ENTITY_ASSOCIATION, "Entity Association PDR"},
+        {PLDM_ENTITY_AUXILIARY_NAMES_PDR, "Entity Auxiliary Names PDR"},
+        {PLDM_OEM_ENTITY_ID_PDR, "OEM Entity ID PDR"},
+        {PLDM_INTERRUPT_ASSOCIATION_PDR, "Interrupt Association PDR"},
+        {PLDM_EVENT_LOG_PDR, "PLDM Event Log PDR"},
+        {PLDM_PDR_FRU_RECORD_SET, "FRU Record Set PDR"},
+        {PLDM_OEM_DEVICE_PDR, "OEM Device PDR"},
+        {PLDM_OEM_PDR, "OEM PDR"},
+    };
+
     std::string getEntityName(pldm::pdr::EntityType type)
     {
         try
@@ -132,13 +162,27 @@
 
     std::string getStateSetName(uint16_t id)
     {
+        auto typeString = std::to_string(id);
         try
         {
-            return stateSet.at(id);
+            return stateSet.at(id) + "(" + typeString + ")";
         }
         catch (const std::out_of_range& e)
         {
-            return std::to_string(id);
+            return typeString;
+        }
+    }
+
+    std::string getPDRType(uint8_t type)
+    {
+        auto typeString = std::to_string(type);
+        try
+        {
+            return pdrType.at(type) + "(" + typeString + ")";
+        }
+        catch (const std::out_of_range& e)
+        {
+            return typeString;
         }
     }
 
@@ -147,7 +191,7 @@
         std::cout << "recordHandle: " << hdr->record_handle << std::endl;
         std::cout << "PDRHeaderVersion: " << unsigned(hdr->version)
                   << std::endl;
-        std::cout << "PDRType: " << unsigned(hdr->type) << std::endl;
+        std::cout << "PDRType: " << getPDRType(hdr->type) << std::endl;
         std::cout << "recordChangeNumber: " << hdr->record_change_num
                   << std::endl;
         std::cout << "dataLength: " << hdr->length << std::endl << std::endl;