]> git.proxmox.com Git - mirror_edk2.git/blob - RedfishPkg/Include/Protocol/EdkIIRedfishConfigHandler.h
RedfishPkg/Include: EDKII Redfish Config Handler Protocol header file
[mirror_edk2.git] / RedfishPkg / Include / Protocol / EdkIIRedfishConfigHandler.h
1 /** @file
2 This file defines the EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL interface.
3
4 Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
5 (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
6
7 SPDX-License-Identifier: BSD-2-Clause-Patent
8
9 **/
10
11 #ifndef EDKII_REDFISH_CONFIG_HANDLER_H_
12 #define EDKII_REDFISH_CONFIG_HANDLER_H_
13
14 typedef struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL;
15
16 #define EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_GUID \
17 { \
18 0xbc0fe6bb, 0x2cc9, 0x463e, { 0x90, 0x82, 0xfa, 0x11, 0x76, 0xfc, 0x67, 0xde } \
19 }
20
21 typedef struct {
22 EFI_HANDLE RedfishServiceRestExHandle; ///< REST EX EFI handle associated with this Redfish service.
23 UINTN RedfishServiceVersion; ///< Redfish service version.
24 CHAR16 *RedfishServiceLocation; ///< Redfish service location.
25 CHAR16 *RedfishServiceUuid; ///< Redfish service UUID.
26 CHAR16 *RedfishServiceOs; ///< Redfish service OS.
27 CHAR16 *RedfishServiceOsVersion; ///< Redfish service OS version.
28 CHAR16 *RedfishServiceProduct; ///< Redfish service product name.
29 CHAR16 *RedfishServiceProductVer; ///< Redfish service product version.
30 BOOLEAN RedfishServiceUseHttps; ///< Redfish service uses HTTPS.
31 } REDFISH_CONFIG_SERVICE_INFORMATION;
32
33 /**
34 Initialize a configure handler of EDKII Redfish feature driver.
35
36 This function will be called by the EDKII Redfish config handler driver to
37 initialize the configure handler of each EDKII Redfish feature driver.
38
39 @param[in] This Pointer to EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL instance.
40 @param[in] RedfishServiceinfo Redfish service information.
41
42 @retval EFI_SUCCESS The handler has been initialized successfully.
43 @retval EFI_DEVICE_ERROR Failed to create or configure the REST EX protocol instance.
44 @retval EFI_ALREADY_STARTED This handler has already been initialized.
45 @retval Other Error happens during the initialization.
46
47 **/
48 typedef
49 EFI_STATUS
50 (EFIAPI *EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_INIT) (
51 IN EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL *This,
52 IN REDFISH_CONFIG_SERVICE_INFORMATION *RedfishServiceinfo
53 );
54
55 /**
56 Stop a Redfish configure handler of EDKII Redfish feature driver.
57
58 @param[in] This Pointer to EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL instance.
59
60 @retval EFI_SUCCESS This handler has been stoped successfully.
61 @retval Others Some error happened.
62
63 **/
64 typedef
65 EFI_STATUS
66 (EFIAPI *EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_STOP) (
67 IN EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL *This
68 );
69
70 struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL {
71 EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_INIT Init;
72 EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_STOP Stop;
73 };
74
75
76 extern EFI_GUID gdkIIRedfishConfigHandlerProtocolGuid;
77
78 #endif