PEL: Create PrivateHeader from parameters

Add a constructor to the PrivateHeader class so it can be built from the
creator's component ID, the OpenBMC log ID, and the creation timestamp.

This will be used when creating PELs from OpenBMC event logs.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I2d1217b9ff0317195366bee50fa72953fd5341dc
diff --git a/extensions/openpower-pels/private_header.hpp b/extensions/openpower-pels/private_header.hpp
index 66126a0..9c522a2 100644
--- a/extensions/openpower-pels/private_header.hpp
+++ b/extensions/openpower-pels/private_header.hpp
@@ -12,6 +12,11 @@
 struct CreatorVersion
 {
     uint8_t version[8];
+
+    CreatorVersion()
+    {
+        memset(version, '\0', sizeof(version));
+    }
 };
 
 static constexpr uint8_t privateHeaderVersion = 0x01;
@@ -42,6 +47,17 @@
     /**
      * @brief Constructor
      *
+     * Creates a valid PrivateHeader with the passed in data
+     *
+     * @param[in] componentID - the creator's component ID
+     * @param[in] obmcLogID - the corresponding OpenBMC event log ID
+     * @param[in] timestamp - the creation timestamp, in epoch milliseconds
+     */
+    PrivateHeader(uint16_t componentID, uint32_t obmcLogID, uint64_t timestamp);
+
+    /**
+     * @brief Constructor
+     *
      * Fills in this class's data fields from the stream.
      *
      * @param[in] pel - the PEL data stream