Decode APIs now accept const struct pldm_msg *msg

All the decode_xxx APIs were changed to accept the complete pldm_msg
instead of working with just a specific member (payload) making it
consistent with the encode_xxx APIs.

Following changes were made through out the code,
 - decode_xxx now requires to send the const struct pldm_msg *msg
   instead of a const uint8_t *msg.
 - Within the decode_xxx function the payload is extracted and used
   accordingly.
 - All the calls made to decode_xxx APIs have been modified to now
   pass the pointer to pldm_msg_hdr (struct pldm_msg *msg).
 - The test code was modified to now pass the appropriate data
   to all the encode_xxx APIs.

Change-Id: I16a3f6e554ea2c9fa44d55dc8f21f65022bd983a
Signed-off-by: Zahed Hossain <zahzahed@in.ibm.com>
diff --git a/libpldm/bios.c b/libpldm/bios.c
index 358fb38..9664318 100644
--- a/libpldm/bios.c
+++ b/libpldm/bios.c
@@ -55,7 +55,7 @@
 	return PLDM_SUCCESS;
 }
 
-int decode_get_date_time_resp(const uint8_t *msg, size_t payload_length,
+int decode_get_date_time_resp(const struct pldm_msg *msg, size_t payload_length,
 			      uint8_t *completion_code, uint8_t *seconds,
 			      uint8_t *minutes, uint8_t *hours, uint8_t *day,
 			      uint8_t *month, uint16_t *year)
@@ -71,7 +71,7 @@
 	}
 
 	struct pldm_get_date_time_resp *response =
-	    (struct pldm_get_date_time_resp *)msg;
+	    (struct pldm_get_date_time_resp *)msg->payload;
 	*completion_code = response->completion_code;
 
 	if (PLDM_SUCCESS != *completion_code) {