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