1 | /** @file
|
---|
2 | Common Header file for Redfish Configuration Handler UEFI driver
|
---|
3 | and DXE driver.
|
---|
4 |
|
---|
5 | (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
|
---|
6 |
|
---|
7 | SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
8 |
|
---|
9 | **/
|
---|
10 |
|
---|
11 | #ifndef EFI_REDFISH_CONFIG_HANDLER_COMMON_H_
|
---|
12 | #define EFI_REDFISH_CONFIG_HANDLER_COMMON_H_
|
---|
13 |
|
---|
14 | #include <Uefi.h>
|
---|
15 |
|
---|
16 | //
|
---|
17 | // Libraries
|
---|
18 | //
|
---|
19 | #include <Library/BaseLib.h>
|
---|
20 | #include <Library/BaseMemoryLib.h>
|
---|
21 | #include <Library/DebugLib.h>
|
---|
22 | #include <Library/MemoryAllocationLib.h>
|
---|
23 | #include <Library/NetLib.h>
|
---|
24 | #include <Library/UefiBootServicesTableLib.h>
|
---|
25 | #include <Library/UefiDriverEntryPoint.h>
|
---|
26 | #include <Library/UefiLib.h>
|
---|
27 |
|
---|
28 | //
|
---|
29 | // Consumed Protocols
|
---|
30 | //
|
---|
31 | #include <Protocol/EdkIIRedfishCredential.h>
|
---|
32 | #include <Protocol/EdkIIRedfishConfigHandler.h>
|
---|
33 |
|
---|
34 | //
|
---|
35 | // Driver Version
|
---|
36 | //
|
---|
37 | #define REDFISH_CONFIG_VERSION 0x00000001
|
---|
38 |
|
---|
39 | ///
|
---|
40 | /// Internal structure used by Redfish Config DXE driver.
|
---|
41 | ///
|
---|
42 | typedef struct {
|
---|
43 | UINT32 CallerId; ///< Caller ID used to indicate Redfish Config Handler
|
---|
44 | ///< has been initiated
|
---|
45 | EFI_HANDLE Image; ///< Image handle of Redfish Config Driver
|
---|
46 | EFI_EVENT Event; ///< Event for the notification of EFI_REDFISH_CONFIG_HANDLER_PROTOCOL
|
---|
47 | REDFISH_CONFIG_SERVICE_INFORMATION RedfishServiceInfo; /// Redfish Service information discovered
|
---|
48 | } REDFISH_CONFIG_DRIVER_DATA;
|
---|
49 |
|
---|
50 | /**
|
---|
51 | Common code of unloading image for both UEFI/DXE Redfish Configuration drivers.
|
---|
52 |
|
---|
53 | @param[in] ImageHandle Handle that identifies the image to be unloaded.
|
---|
54 |
|
---|
55 | @retval EFI_SUCCESS The image has been unloaded.
|
---|
56 |
|
---|
57 | **/
|
---|
58 | EFI_STATUS
|
---|
59 | RedfishConfigDriverCommonUnload (
|
---|
60 | IN EFI_HANDLE ImageHandle
|
---|
61 | );
|
---|
62 |
|
---|
63 | /**
|
---|
64 | This is the common code for Redfish configuration UEFI and DXE driver
|
---|
65 | initialization.
|
---|
66 |
|
---|
67 | @param[in] ImageHandle The firmware allocated handle for the UEFI image.
|
---|
68 | @param[in] SystemTable A pointer to the EFI System Table.
|
---|
69 |
|
---|
70 | @retval EFI_SUCCESS The operation completed successfully.
|
---|
71 | @retval Others An unexpected error occurred.
|
---|
72 | **/
|
---|
73 | EFI_STATUS
|
---|
74 | RedfishConfigCommonInit (
|
---|
75 | IN EFI_HANDLE ImageHandle,
|
---|
76 | IN EFI_SYSTEM_TABLE *SystemTable
|
---|
77 | );
|
---|
78 |
|
---|
79 | /**
|
---|
80 | This is the common code to stop EDK2 Redfish feature driver.
|
---|
81 |
|
---|
82 | @retval EFI_SUCCESS All EDK2 Redfish feature drivers are
|
---|
83 | stopped.
|
---|
84 | @retval Others An unexpected error occurred.
|
---|
85 | **/
|
---|
86 | EFI_STATUS
|
---|
87 | RedfishConfigCommonStop (
|
---|
88 | VOID
|
---|
89 | );
|
---|
90 |
|
---|
91 | /**
|
---|
92 | Callback function executed when a Redfish Config Handler Protocol is installed
|
---|
93 | by EDK2 Redfish Feature Drivers.
|
---|
94 |
|
---|
95 | **/
|
---|
96 | VOID
|
---|
97 | RedfishConfigHandlerInitialization (
|
---|
98 | VOID
|
---|
99 | );
|
---|
100 |
|
---|
101 | #endif
|
---|