| /** @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 |