libpldm: Added encode API for GetFirmwareParameters cmd

Update agent sends GetFirmwareParameters command to acquire the
component details such as classification types and corresponding
versions of  firmware device. Its defined in DSP0267 Version
1.1.0 sec:10.2.

Tested: Unit tests passed

Signed-off-by: gokulsanker <gokul.sanker.v.g@intel.com>
Change-Id: I52a8b266195c3ed29aca61085518df5756ca09e2
diff --git a/libpldm/firmware_update.c b/libpldm/firmware_update.c
index 031ec85..66b4ab5 100644
--- a/libpldm/firmware_update.c
+++ b/libpldm/firmware_update.c
@@ -58,9 +58,24 @@
 	if (*descriptor_count == 0) {

 		return PLDM_ERROR_INVALID_DATA;

 	}

-

 	*descriptor_data =

 	    (uint8_t *)(msg->payload +

 			sizeof(struct pldm_query_device_identifiers_resp));

 	return PLDM_SUCCESS;

 }

+

+int encode_get_firmware_parameters_req(uint8_t instance_id,

+				       size_t payload_length,

+				       struct pldm_msg *msg)

+{

+	if (msg == NULL) {

+		return PLDM_ERROR_INVALID_DATA;

+	}

+

+	if (payload_length != PLDM_GET_FIRMWARE_PARAMETERS_REQ_BYTES) {

+		return PLDM_ERROR_INVALID_LENGTH;

+	}

+

+	return encode_pldm_header_only(PLDM_REQUEST, instance_id, PLDM_FWUP,

+				       PLDM_GET_FIRMWARE_PARAMETERS, msg);

+}