/** @file This file defines the EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL interface. Copyright (c) 2019, Intel Corporation. All rights reserved.
(C) Copyright 2021 Hewlett Packard Enterprise Development LP
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