dcmi: asset-tag: Implement Set Asset tag command

Resolves openbmc/openbmc#1854

Change-Id: Iba00a732aa30fb60fc0b1550daec0e4055af74fa
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
diff --git a/dcmihandler.hpp b/dcmihandler.hpp
index f2369a0..c64e56b 100644
--- a/dcmihandler.hpp
+++ b/dcmihandler.hpp
@@ -11,6 +11,7 @@
     // Get capability bits
     IPMI_CMD_DCMI_GET_POWER = 0x03,
     IPMI_CMD_DCMI_GET_ASSET_TAG = 0x06,
+    IPMI_CMD_DCMI_SET_ASSET_TAG = 0x08,
 };
 
 namespace dcmi
@@ -58,6 +59,27 @@
     uint8_t tagLength;          //!< Total asset tag length.
 } __attribute__((packed));
 
+/** @struct SetAssetTagRequest
+ *
+ *  DCMI payload for Set Asset Tag command request.
+ */
+struct SetAssetTagRequest
+{
+    uint8_t groupID;            //!< Group extension identification.
+    uint8_t offset;             //!< Offset to write.
+    uint8_t bytes;              //!< Number of bytes to write.
+} __attribute__((packed));
+
+/** @struct SetAssetTagResponse
+ *
+ *  DCMI payload for Set Asset Tag command response.
+ */
+struct SetAssetTagResponse
+{
+    uint8_t groupID;            //!< Group extension identification.
+    uint8_t tagLength;          //!< Total asset tag length.
+} __attribute__((packed));
+
 /** @brief Read the object tree to fetch the object path that implemented the
  *         Asset tag interface.
  *