libpldm: Add decode API for ComponentParameterTable entry

ComponentParameterTable is present in the response of
GetFirmwareParameters command. ComponentParameterTable is a table that
contains component entries for all of the updateable components which
reside on the firmware device.

decode_get_firmware_parameters_resp_comp_entry decodes each entry in
the ComponentParameterTable.

Tested: Unit tests passed

Signed-off-by: gokulsanker <gokul.sanker.v.g@intel.com>
Change-Id: I3698b268cf42345d80d7d218919d42ffad0b011f
diff --git a/libpldm/pldm_types.h b/libpldm/pldm_types.h
index ee823a5..5e7e068 100644
--- a/libpldm/pldm_types.h
+++ b/libpldm/pldm_types.h
@@ -31,6 +31,28 @@
 typedef uint8_t bool8_t;
 
 typedef union {
+	uint16_t value;
+	struct {
+		uint8_t bit0 : 1;
+		uint8_t bit1 : 1;
+		uint8_t bit2 : 1;
+		uint8_t bit3 : 1;
+		uint8_t bit4 : 1;
+		uint8_t bit5 : 1;
+		uint8_t bit6 : 1;
+		uint8_t bit7 : 1;
+		uint8_t bit8 : 1;
+		uint8_t bit9 : 1;
+		uint8_t bit10 : 1;
+		uint8_t bit11 : 1;
+		uint8_t bit12 : 1;
+		uint8_t bit13 : 1;
+		uint8_t bit14 : 1;
+		uint8_t bit15 : 1;
+	} __attribute__((packed)) bits;
+} bitfield16_t;
+
+typedef union {
 	uint32_t value;
 	struct {
 		uint8_t bit0 : 1;