1 | ## @file
|
---|
2 | # Redfish Package
|
---|
3 | #
|
---|
4 | # Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
---|
5 | # (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
|
---|
6 | # Copyright (c) 2023, American Megatrends International LLC.
|
---|
7 | # Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
---|
8 | #
|
---|
9 | # SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
10 | ##
|
---|
11 |
|
---|
12 | [Defines]
|
---|
13 | DEC_SPECIFICATION = 0x0001001b
|
---|
14 | PACKAGE_NAME = RedfishPkg
|
---|
15 | PACKAGE_GUID = c432b76e-5232-11e7-9010-005056c00008
|
---|
16 | PACKAGE_VERSION = 1.0
|
---|
17 |
|
---|
18 | [Includes]
|
---|
19 | Include
|
---|
20 |
|
---|
21 | [Includes.Common.Private]
|
---|
22 | PrivateInclude/Crt # Private header files for C RTL.
|
---|
23 | Library/JsonLib # Private header files for jansson
|
---|
24 | # configuration files.
|
---|
25 | # - jansson_config.h
|
---|
26 | # - jansson_private_config.h
|
---|
27 | # jansson.h refers to above two configuration
|
---|
28 | # files for building platform jansson library.
|
---|
29 | Library/JsonLib/jansson/src # For referring to jannson.h
|
---|
30 |
|
---|
31 | [LibraryClasses]
|
---|
32 | ## @libraryclass Platform Redfish Host Interface Library
|
---|
33 | # Platform implementation-specific Redfish Host Interface.
|
---|
34 | RedfishPlatformHostInterfaceLib|Include/Library/RedfishHostInterfaceLib.h
|
---|
35 |
|
---|
36 | ## @libraryclass This library provides UCS2 to UTF8 manipulation
|
---|
37 | # functions.
|
---|
38 | #
|
---|
39 | Ucs2Utf8Lib|Include/Library/BaseUcs2Utf8Lib.h
|
---|
40 |
|
---|
41 | ## @libraryclass Platform Redfish Credential Library
|
---|
42 | # Platform implementation-specific Redfish Credential Interface.
|
---|
43 | RedfishPlatformCredentialLib|Include/Library/RedfishCredentialLib.h
|
---|
44 |
|
---|
45 | ## @libraryclass The helper routines to access REST EX service.
|
---|
46 | # This library is only intended to be used by UEFI network stack modules.
|
---|
47 | RestExLib|Include/Library/RestExLib.h
|
---|
48 |
|
---|
49 | ## @libraryclass Provides the library functions based on third party
|
---|
50 | # jansson library to manipulate JSON data structure.
|
---|
51 | #
|
---|
52 | JsonLib|Include/Library/JsonLib.h
|
---|
53 |
|
---|
54 | ## @libraryclass Provides the library functions to encode/decode
|
---|
55 | # Redfish packet.
|
---|
56 | #
|
---|
57 | RedfishContentCodingLib|Include/Library/RedfishContentCodingLib.h
|
---|
58 |
|
---|
59 | ## @libraryclass Redfish Debug Library
|
---|
60 | # Library provides Redfish debug functions.
|
---|
61 | RedfishDebugLib|Include/Library/RedfishDebugLib.h
|
---|
62 |
|
---|
63 | ## @libraryclass Provides the library functions to parse IFR binary data.
|
---|
64 | #
|
---|
65 | HiiUtilityLib|Include/Library/HiiUtilityLib.h
|
---|
66 |
|
---|
67 | ## @libraryclass Provides the library functions to access Redfish Platform
|
---|
68 | # Config protocol.
|
---|
69 | #
|
---|
70 | RedfishPlatformConfigLib|Include/Library/RedfishPlatformConfigLib.h
|
---|
71 |
|
---|
72 | [LibraryClasses.Common.Private]
|
---|
73 | ## @libraryclass Provides the private C runtime library functions.
|
---|
74 | # CRT library is currently used by edk2 JsonLib (open source
|
---|
75 | # jansson project) and edk2 RedfishLib (libredfish open source
|
---|
76 | # project).
|
---|
77 | RedfishCrtLib|Include/Library/RedfishCrtLib.h
|
---|
78 |
|
---|
79 | ## @libraryclass Redfish Helper Library
|
---|
80 | # Library provides Redfish helper functions.
|
---|
81 | RedfishLib|Include/Library/RedfishLib.h
|
---|
82 |
|
---|
83 | [Protocols]
|
---|
84 | ## Include/Protocol/EdkIIRedfishCredential.h
|
---|
85 | gEdkIIRedfishCredentialProtocolGuid = { 0x8804377, 0xaf7a, 0x4496, { 0x8a, 0x7b, 0x17, 0x59, 0x0, 0xe9, 0xab, 0x46 } }
|
---|
86 |
|
---|
87 | ## Include/Protocol/Edk2RedfishConfigHandler.h
|
---|
88 | gEdkIIRedfishConfigHandlerProtocolGuid = { 0xbc0fe6bb, 0x2cc9, 0x463e, { 0x90, 0x82, 0xfa, 0x11, 0x76, 0xfc, 0x67, 0xde } }
|
---|
89 |
|
---|
90 | ## Include/Protocol/EdkIIRedfishPlatformConfig.h
|
---|
91 | gEdkIIRedfishPlatformConfigProtocolGuid = { 0X4D94A7C7, 0X4CE4, 0X4A84, { 0X88, 0XC1, 0X33, 0X0C, 0XD4, 0XA3, 0X47, 0X67 } }
|
---|
92 |
|
---|
93 | [Guids]
|
---|
94 | gEfiRedfishPkgTokenSpaceGuid = { 0x4fdbccb7, 0xe829, 0x4b4c, { 0x88, 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }}
|
---|
95 |
|
---|
96 | # Redfish variable guid
|
---|
97 | gEfiRedfishVariableGuid = { 0x85ef8dd3, 0xe606, 0x4b89, { 0x8b, 0xbd, 0x93, 0xbf, 0x5c, 0xbe, 0x1c, 0x18 } }
|
---|
98 |
|
---|
99 | [PcdsFixedAtBuild, PcdsPatchableInModule]
|
---|
100 | #
|
---|
101 | # This PCD is the UEFI device path which is used as the Redfish host interface.
|
---|
102 | #
|
---|
103 | gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExServiceDevicePath|{0x0}|REST_EX_SERVICE_DEVICE_PATH_DATA|0x00001000 {
|
---|
104 | <HeaderFiles>
|
---|
105 | Pcd/RestExServiceDevicePath.h
|
---|
106 | <Packages>
|
---|
107 | MdePkg/MdePkg.dec
|
---|
108 | MdeModulePkg/MdeModulePkg.dec
|
---|
109 | RedfishPkg/RedfishPkg.dec
|
---|
110 | }
|
---|
111 | #
|
---|
112 | # This PCD indicates the EFI REST EX access mode to Redfish service.
|
---|
113 | # Default is set to out of band access.
|
---|
114 | #
|
---|
115 | gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExServiceAccessModeInBand|FALSE|BOOLEAN|0x00001001
|
---|
116 | #
|
---|
117 | # This PCD indicates the access mode EFI Discover protocol uses to look for the proper EFI REST EX
|
---|
118 | # protocol instance.
|
---|
119 | #
|
---|
120 | gEfiRedfishPkgTokenSpaceGuid.PcdRedfishDiscoverAccessModeInBand|FALSE|BOOLEAN|0x00001002
|
---|
121 | #
|
---|
122 | # This PCD indicates if the EFI REST EX sends chunk request to Redfish service.
|
---|
123 | # Default is set to non chunk mode.
|
---|
124 | #
|
---|
125 | gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExChunkRequestMode|FALSE|BOOLEAN|0x00001003
|
---|
126 | #
|
---|
127 | # This PCD indicates if the EFI REST EX adds Expect header to the POST, PATCH, PUT requests to Redfish service.
|
---|
128 | # Default is set to not add.
|
---|
129 | #
|
---|
130 | gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExAddingExpect|FALSE|BOOLEAN|0x00001004
|
---|
131 | #
|
---|
132 | # Use PCD to declare the Redfish host nmae becasue there is no
|
---|
133 | # specification for that.
|
---|
134 | #
|
---|
135 | gEfiRedfishPkgTokenSpaceGuid.PcdRedfishHostName|"Redfish service"|VOID*|0x00001005
|
---|
136 | #
|
---|
137 | # Use PCD to declare the Redfish service UUID becasue there is no
|
---|
138 | # specification for that.
|
---|
139 | #
|
---|
140 | gEfiRedfishPkgTokenSpaceGuid.PcdRedfishServiceUuid|L"00000000-0000-0000-0000-000000000000"|VOID*|0x00001006
|
---|
141 | #
|
---|
142 | # This PCD indicates that if BMC bootstrap credential service will be disabled by BIOS or not.
|
---|
143 | #
|
---|
144 | gEfiRedfishPkgTokenSpaceGuid.PcdRedfishDisableBootstrapCredentialService|FALSE|BOOLEAN|0x00001007
|
---|