Locally define used RDE headers
2 RDE headers used by bios-bmc-smm-error-logger are being removed from
libbej repo. Also bios-bmc-smm-error-logger doesn't use RDE protocol.
It simply uses 2 RDE headers to encapsulate data sent from BIOS.
Therefore this change defines the RDE headers (removed from libbej)
locally.
Signed-off-by: Kasun Athukorala <kasunath@google.com>
Change-Id: I9d0dfd669283bee6443e9d542b941bf73787fe95
diff --git a/include/rde/rde_handler.hpp b/include/rde/rde_handler.hpp
index 65e9361..4b63790 100644
--- a/include/rde/rde_handler.hpp
+++ b/include/rde/rde_handler.hpp
@@ -1,7 +1,7 @@
#pragma once
-#include "bej_decoder_json.hpp"
#include "external_storer_interface.hpp"
+#include "libbej/bej_decoder_json.hpp"
#include "rde_dictionary_manager.hpp"
#include <cstdint>
@@ -58,6 +58,41 @@
};
/**
+ * @brief RDEOperationInit response header.
+ *
+ * BIOS uses this header to send the BEJ encoded data.
+ */
+struct RdeOperationInitReqHeader
+{
+ uint32_t resourceID;
+ uint16_t operationID;
+ uint8_t operationType;
+
+ // OperationFlags bits
+ uint8_t locatorValid : 1;
+ uint8_t containsRequestPayload : 1;
+ uint8_t containsCustomRequestParameters : 1;
+
+ uint8_t reserved : 5;
+ uint32_t sendDataTransferHandle;
+ uint8_t operationLocatorLength;
+ uint32_t requestPayloadLength;
+} __attribute__((__packed__));
+
+/**
+ * @brief RDEMultipartReceive response header.
+ *
+ * BIOS uses this header to send the BEJ dictionary data.
+ */
+struct MultipartReceiveResHeader
+{
+ uint8_t completionCode;
+ uint8_t transferFlag;
+ uint32_t nextDataTransferHandle;
+ uint32_t dataLengthBytes;
+} __attribute__((__packed__));
+
+/**
* @brief Handles RDE messages from the BIOS - BMC circular buffer and updates
* ExternalStorer.
*/