--- /dev/null
+/** @file\r
+ This file defines the EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL interface.\r
+\r
+ Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+ (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>\r
+\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#ifndef EDKII_REDFISH_CONFIG_HANDLER_H_\r
+#define EDKII_REDFISH_CONFIG_HANDLER_H_\r
+\r
+typedef struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL;\r
+\r
+#define EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_GUID \\r
+ { \\r
+ 0xbc0fe6bb, 0x2cc9, 0x463e, { 0x90, 0x82, 0xfa, 0x11, 0x76, 0xfc, 0x67, 0xde } \\r
+ }\r
+\r
+typedef struct {\r
+ EFI_HANDLE RedfishServiceRestExHandle; ///< REST EX EFI handle associated with this Redfish service.\r
+ UINTN RedfishServiceVersion; ///< Redfish service version.\r
+ CHAR16 *RedfishServiceLocation; ///< Redfish service location.\r
+ CHAR16 *RedfishServiceUuid; ///< Redfish service UUID.\r
+ CHAR16 *RedfishServiceOs; ///< Redfish service OS.\r
+ CHAR16 *RedfishServiceOsVersion; ///< Redfish service OS version.\r
+ CHAR16 *RedfishServiceProduct; ///< Redfish service product name.\r
+ CHAR16 *RedfishServiceProductVer; ///< Redfish service product version.\r
+ BOOLEAN RedfishServiceUseHttps; ///< Redfish service uses HTTPS.\r
+} REDFISH_CONFIG_SERVICE_INFORMATION;\r
+\r
+/**\r
+ Initialize a configure handler of EDKII Redfish feature driver.\r
+\r
+ This function will be called by the EDKII Redfish config handler driver to\r
+ initialize the configure handler of each EDKII Redfish feature driver.\r
+\r
+ @param[in] This Pointer to EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL instance.\r
+ @param[in] RedfishServiceinfo Redfish service information.\r
+\r
+ @retval EFI_SUCCESS The handler has been initialized successfully.\r
+ @retval EFI_DEVICE_ERROR Failed to create or configure the REST EX protocol instance.\r
+ @retval EFI_ALREADY_STARTED This handler has already been initialized.\r
+ @retval Other Error happens during the initialization.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_INIT) (\r
+ IN EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL *This,\r
+ IN REDFISH_CONFIG_SERVICE_INFORMATION *RedfishServiceinfo\r
+ );\r
+\r
+/**\r
+ Stop a Redfish configure handler of EDKII Redfish feature driver.\r
+\r
+ @param[in] This Pointer to EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL instance.\r
+\r
+ @retval EFI_SUCCESS This handler has been stoped successfully.\r
+ @retval Others Some error happened.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_STOP) (\r
+ IN EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL *This\r
+ );\r
+\r
+struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL {\r
+ EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_INIT Init;\r
+ EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_STOP Stop;\r
+};\r
+\r
+\r
+extern EFI_GUID gdkIIRedfishConfigHandlerProtocolGuid;\r
+\r
+#endif\r
## Include/Protocol/EdkIIRedfishCredential.h\r
gEdkIIRedfishCredentialProtocolGuid = { 0x8804377, 0xaf7a, 0x4496, { 0x8a, 0x7b, 0x17, 0x59, 0x0, 0xe9, 0xab, 0x46 } }\r
\r
+ ## Include/Protocol/Edk2RedfishConfigHandler.h\r
+ gEdkIIRedfishConfigHandlerProtocolGuid = { 0xbc0fe6bb, 0x2cc9, 0x463e, { 0x90, 0x82, 0xfa, 0x11, 0x76, 0xfc, 0x67, 0xde } }\r
+\r
[Guids]\r
gEfiRedfishPkgTokenSpaceGuid = { 0x4fdbccb7, 0xe829, 0x4b4c, { 0x88, 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }}\r
\r