oem-ibm: Send the event to host when BIOS attribute changes

IBM has the requirement to send a hot update to host when the
BIOS attribute changes. This patch enables sending an OEM platform
event message to host with the details of the BIOS attributes that
changed on the BMC. Once the host acknowledges the event, then BMC
updates the BaseBiosTable in the bios-config-manager. The host comes
down and reads the changed BIOS attributes by calling the command
GetBIOSAttribute value.

Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Change-Id: Id1579bfed1967e653da743313c825b765d227681
diff --git a/oem/ibm/libpldmresponder/platform_oem_ibm.hpp b/oem/ibm/libpldmresponder/platform_oem_ibm.hpp
new file mode 100644
index 0000000..639f1d5
--- /dev/null
+++ b/oem/ibm/libpldmresponder/platform_oem_ibm.hpp
@@ -0,0 +1,34 @@
+#pragma once

+

+#include "pldmd/dbus_impl_requester.hpp"

+

+#include <vector>

+

+namespace pldm

+{

+namespace responder

+{

+namespace platform

+{

+

+/** @brief To send BIOS attribute update event

+ *

+ *  When the attribute value changes for any BIOS attribute, then

+ *  PlatformEventMessage command with OEM event type

+ *  PLDM_EVENT_TYPE_OEM_EVENT_BIOS_ATTRIBUTE_UPDATE is send to host with the

+ *  list of BIOS attribute handles.

+ *

+ *  @param[in] fd - socket descriptor to communicate to host

+ *  @param[in] eid - MCTP EID of host firmware

+ *  @param[in] requester - pointer to Requester object

+ *  @param[in] handles - List of BIOS attribute handles

+ */

+int sendBiosAttributeUpdateEvent(int fd, uint8_t eid,

+                                 dbus_api::Requester* requester,

+                                 const std::vector<uint16_t>& handles);

+

+} // namespace platform

+

+} // namespace responder

+

+} // namespace pldm