Update libpldm api encode_*_req functions to have payload_length param

There were a few of the APIs in libpldm's fru and platform
that Hostboot was using downstream that did not have the
payload_length param which the Hostboot templates expect. All
encode_*_req functions should end with a payload_length parameter
and this commit moves us towards that goal.

Tested: I ran run-unit-test-docker.sh from the openbmc-build-scripts
repo with the script pointed at my pldm directory.

Change-Id: Ief825111970db2faffaf00e431bc0f43f7a11b02
Signed-off-by: Christian Geddes <crgeddes@us.ibm.com>
diff --git a/libpldm/fru.h b/libpldm/fru.h
index 6addf27..4a8205e 100644
--- a/libpldm/fru.h
+++ b/libpldm/fru.h
@@ -11,10 +11,13 @@
 
 #include "base.h"
 
+#define PLDM_GET_FRU_RECORD_TABLE_METADATA_REQ_BYTES 0
 #define PLDM_GET_FRU_RECORD_TABLE_METADATA_RESP_BYTES 19
 #define PLDM_GET_FRU_RECORD_TABLE_REQ_BYTES 5
 #define PLDM_GET_FRU_RECORD_TABLE_MIN_RESP_BYTES 6
 
+#define FRU_TABLE_CHECKSUM_SIZE 4
+
 /** @brief PLDM FRU commands
  */
 enum pldm_fru_commands {
@@ -131,12 +134,14 @@
  *
  *  @param[in] instance_id - Message's instance id
  *  @param[in,out] msg - Message will be written to this
+ *  @param[in] payload_length - Length of the request message payload
  *  @return pldm_completion_codes
  *  @note  Caller is responsible for memory alloc and dealloc of param
  *         'msg.payload'
  */
 int encode_get_fru_record_table_metadata_req(uint8_t instance_id,
-					     struct pldm_msg *msg);
+					     struct pldm_msg *msg,
+					     size_t payload_length);
 
 /** @brief Decode GetFruRecordTable response data
  *