Implement createWithFFDCFiles

This commit adds support for the createWithFFDCFiles D-Bus method.  This
method creates a new OpenBMC event log, just like create() does, but it
also adds a new parameter to pass through information about files
containing FFDC (First Failure Data Capture) to any extensions.  This
FFDC may be stored by the extensions code to provide additional debug
information about an error.

The FFDC parameter is a vector of tuples.  Each tuple contains:
* Format Type - An enumeration describing the format of the data
* Subtype - If the format type is custom, then this can be used
            to provide a format type that is specific to the
            creator.
* Version - If the format type is custom, then this can be used
            to provide the version of the custom data.
* FD      - A file descriptor to the file containing the FFDC.
            This does not need to be closed (an attempt will fail)
            by phosphor-log-manager.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I3e8e03d6393dfc145e9fd11bd078595868bb3767
diff --git a/extensions.hpp b/extensions.hpp
index 3897894..4e38f1d 100644
--- a/extensions.hpp
+++ b/extensions.hpp
@@ -19,6 +19,8 @@
 
 using AdditionalDataArg = std::vector<std::string>;
 using AssociationEndpointsArg = std::vector<std::string>;
+using FFDCArg = FFDCEntries;
+
 /**
  *  @brief The function type that will be called after an event log
  *         is created.
@@ -28,10 +30,11 @@
  * @param[in] Level - The event level
  * @param[in] const AdditionalDataArg&) - the additional data
  * @param[in] const AssociationEndpoints& - Association endpoints (callouts)
+ * @param[in] const FFDCArg& - A vector of FFDC file info.
  */
 using CreateFunction = std::function<void(
     const std::string&, uint32_t, uint64_t, Entry::Level,
-    const AdditionalDataArg&, const AssociationEndpointsArg&)>;
+    const AdditionalDataArg&, const AssociationEndpointsArg&, const FFDCArg&)>;
 
 /**
  * @brief The function type that will be called after an event log is deleted.