mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-11 14:28:08 +01:00
78 lines
3.0 KiB
C
78 lines
3.0 KiB
C
|
/** @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
|