## @file | |
# Redfish Package | |
# | |
# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> | |
# (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR> | |
# Copyright (c) 2023, American Megatrends International LLC. | |
# Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |
# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.<BR> | |
# | |
# SPDX-License-Identifier: BSD-2-Clause-Patent | |
## | |
[Defines] | |
DEC_SPECIFICATION = 0x0001001b | |
PACKAGE_NAME = RedfishPkg | |
PACKAGE_GUID = c432b76e-5232-11e7-9010-005056c00008 | |
PACKAGE_VERSION = 1.0 | |
[Includes] | |
Include | |
[Includes.Common.Private] | |
PrivateInclude/Crt # Private header files for C RTL. | |
Library/JsonLib # Private header files for jansson | |
# configuration files. | |
# - jansson_config.h | |
# - jansson_private_config.h | |
# jansson.h refers to above two configuration | |
# files for building platform jansson library. | |
Library/JsonLib/jansson/src # For referring to jannson.h | |
[LibraryClasses] | |
## @libraryclass Platform Redfish Host Interface Library | |
# Platform implementation-specific Redfish Host Interface. | |
RedfishPlatformHostInterfaceLib|Include/Library/RedfishHostInterfaceLib.h | |
## @libraryclass This library provides UCS2 to UTF8 manipulation | |
# functions. | |
# | |
Ucs2Utf8Lib|Include/Library/BaseUcs2Utf8Lib.h | |
## @libraryclass Platform Redfish Credential Library | |
# Platform implementation-specific Redfish Credential Interface. | |
RedfishPlatformCredentialLib|Include/Library/RedfishCredentialLib.h | |
## @libraryclass The helper routines to access REST EX service. | |
# This library is only intended to be used by UEFI network stack modules. | |
RestExLib|Include/Library/RestExLib.h | |
## @libraryclass Provides the library functions based on third party | |
# jansson library to manipulate JSON data structure. | |
# | |
JsonLib|Include/Library/JsonLib.h | |
## @libraryclass Provides the library functions to encode/decode | |
# Redfish packet. | |
# | |
RedfishContentCodingLib|Include/Library/RedfishContentCodingLib.h | |
## @libraryclass Redfish Debug Library | |
# Library provides Redfish debug functions. | |
RedfishDebugLib|Include/Library/RedfishDebugLib.h | |
## @libraryclass Provides the library functions to parse IFR binary data. | |
# | |
HiiUtilityLib|Include/Library/HiiUtilityLib.h | |
## @libraryclass Provides the library functions to access Redfish Platform | |
# Config protocol. | |
# | |
RedfishPlatformConfigLib|Include/Library/RedfishPlatformConfigLib.h | |
## @libraryclass Provides the library functions to access Redfish HTTP | |
# protocol. | |
# | |
RedfishHttpLib|Include/Library/RedfishHttpLib.h | |
[LibraryClasses.Common.Private] | |
## @libraryclass Provides the private C runtime library functions. | |
# CRT library is currently used by edk2 JsonLib (open source | |
# jansson project) and edk2 RedfishLib (libredfish open source | |
# project). | |
RedfishCrtLib|Include/Library/RedfishCrtLib.h | |
## @libraryclass Redfish Helper Library | |
# Library provides Redfish helper functions. | |
RedfishLib|Include/Library/RedfishLib.h | |
[Protocols] | |
## Include/Protocol/EdkIIRedfishCredential.h | |
gEdkIIRedfishCredentialProtocolGuid = { 0x8804377, 0xaf7a, 0x4496, { 0x8a, 0x7b, 0x17, 0x59, 0x0, 0xe9, 0xab, 0x46 } } | |
## Include/Protocol/Edk2RedfishConfigHandler.h | |
gEdkIIRedfishConfigHandlerProtocolGuid = { 0xbc0fe6bb, 0x2cc9, 0x463e, { 0x90, 0x82, 0xfa, 0x11, 0x76, 0xfc, 0x67, 0xde } } | |
## Include/Protocol/EdkIIRedfishPlatformConfig.h | |
gEdkIIRedfishPlatformConfigProtocolGuid = { 0X4D94A7C7, 0X4CE4, 0X4A84, { 0X88, 0XC1, 0X33, 0X0C, 0XD4, 0XA3, 0X47, 0X67 } } | |
# Redfish Host Interface ready notification protocol | |
gEdkIIRedfishHostInterfaceReadyProtocolGuid = { 0xC3F6D062, 0x3D38, 0x4EA4, { 0x92, 0xB1, 0xE8, 0xF8, 0x02, 0x27, 0x63, 0xDF } } | |
## Include/Protocol/EdkIIRedfishHttpProtocol.h | |
gEdkIIRedfishHttpProtocolGuid = { 0x58a0f47e, 0xf45f, 0x4d44, { 0x89, 0x5b, 0x2a, 0xfe, 0xb0, 0x80, 0x15, 0xe2 } } | |
[Guids] | |
gEfiRedfishPkgTokenSpaceGuid = { 0x4fdbccb7, 0xe829, 0x4b4c, { 0x88, 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }} | |
# Redfish variable guid | |
gEfiRedfishVariableGuid = { 0x85ef8dd3, 0xe606, 0x4b89, { 0x8b, 0xbd, 0x93, 0xbf, 0x5c, 0xbe, 0x1c, 0x18 } } | |
[PcdsFixedAtBuild, PcdsPatchableInModule] | |
# | |
# This PCD is the UEFI device path which is used as the Redfish host interface. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExServiceDevicePath|{0x0}|REST_EX_SERVICE_DEVICE_PATH_DATA|0x00001000 { | |
<HeaderFiles> | |
Pcd/RestExServiceDevicePath.h | |
<Packages> | |
MdePkg/MdePkg.dec | |
MdeModulePkg/MdeModulePkg.dec | |
RedfishPkg/RedfishPkg.dec | |
} | |
# | |
# This PCD indicates the EFI REST EX access mode to Redfish service. | |
# Default is set to out of band access. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExServiceAccessModeInBand|FALSE|BOOLEAN|0x00001001 | |
# | |
# This PCD indicates the access mode EFI Discover protocol uses to look for the proper EFI REST EX | |
# protocol instance. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishDiscoverAccessModeInBand|FALSE|BOOLEAN|0x00001002 | |
# | |
# This PCD indicates if the EFI REST EX sends chunk request to Redfish service. | |
# Default is set to non chunk mode. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExChunkRequestMode|FALSE|BOOLEAN|0x00001003 | |
# | |
# This PCD indicates if the EFI REST EX adds Expect header to the POST, PATCH, PUT requests to Redfish service. | |
# Default is set to not add. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExAddingExpect|FALSE|BOOLEAN|0x00001004 | |
# | |
# Use PCD to declare the Redfish host nmae becasue there is no | |
# specification for that. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishHostName|"Redfish service"|VOID*|0x00001005 | |
# | |
# Use PCD to declare the Redfish service UUID becasue there is no | |
# specification for that. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishServiceUuid|L"00000000-0000-0000-0000-000000000000"|VOID*|0x00001006 | |
# Use PCD to declare the Redfish service port, default set to port 443. | |
# Platform can overide this value in platform DSC file. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishServicePort|443|UINT16|0x00001007 | |
# | |
# This PCD indicates that if BMC bootstrap credential service will be disabled by BIOS or not. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishDisableBootstrapCredentialService|FALSE|BOOLEAN|0x00001008 | |
# | |
# The EFI_REST_EX_HTTP_CONFIG_DATA.SendReceiveTimeout value that RedfishDiscoverDxe driver | |
# set to EFI_REST_EX_PROTOCOL. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishSendReceiveTimeout|5000|UINT32|0x00001009 | |
# | |
# This PCD string is introduced for platform developer to set the encoding method supported by BMC Redfish. | |
# Currently only "None" and "gzip" are supported. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishServiceContentEncoding|"None"|VOID*|0x0000100A | |
# | |
# Use below PCDs to control Redfhs HTTP protocol. | |
# | |
## The number of retry when HTTP GET request failed. If the value is 0, there is no retry enabled. | |
gEfiRedfishPkgTokenSpaceGuid.PcdHttpGetRetry|0|UINT16|0x0000100B | |
## The number of retry when HTTP PUT request failed. If the value is 0, there is no retry enabled. | |
gEfiRedfishPkgTokenSpaceGuid.PcdHttpPutRetry|0|UINT16|0x0000100C | |
## The number of retry when HTTP PATCH request failed. If the value is 0, there is no retry enabled. | |
gEfiRedfishPkgTokenSpaceGuid.PcdHttpPatchRetry|0|UINT16|0x0000100D | |
## The number of retry when HTTP POST request failed. If the value is 0, there is no retry enabled. | |
gEfiRedfishPkgTokenSpaceGuid.PcdHttpPostRetry|0|UINT16|0x0000100E | |
## The number of retry when HTTP DELETE request failed. If the value is 0, there is no retry enabled. | |
gEfiRedfishPkgTokenSpaceGuid.PcdHttpDeleteRetry|0|UINT16|0x0000100F | |
## The number of second to wait before driver retry HTTP request. If the value is 0, there is no wait before next retry. | |
gEfiRedfishPkgTokenSpaceGuid.PcdHttpRetryWaitInSecond|1|UINT16|0x00001010 | |
## This is used to disable Redfish HTTP cache function and every request will be sent to Redfish service. | |
gEfiRedfishPkgTokenSpaceGuid.PcdHttpCacheDisabled|FALSE|BOOLEAN|0x00001011 | |
# | |
# Redfish debug catagories | |
# To enable the debug message for the entire edk2 Redfish implementation, below PCDs must be set. | |
# DEBUG_MANAGEABILITY must be set PcdDebugPrintErrorLevel. | |
# | |
# 0x0000000000000001 RedfishPlatformConfigDxe driver debug enabled. | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishDebugCategory|0|UINT64|0x00001012 | |
# | |
# Redfish RedfishPlatformConfigDxe Debug Properties | |
# 0x00000001 x-UEFI-redfish string database message enabled | |
# 0x00000002 Debug Message for dumping formset | |
# 0x00000004 Debug Message for x-UEFI-redfish searching result | |
# 0x00000008 Debug Message for x-UEFI-redfish Regular Expression searching result | |
# | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishPlatformConfigDebugProperty|0|UINT32|0x00001013 | |
# | |
# RedfishPlatformConfigDxe feature enablement | |
# 0x00000001 Enable building Redfish Attribute Registry menu path. | |
# 0x00000002 Allow supressed HII option to be exposed on Redfish. | |
# | |
# Redfish RedfishPlatformConfigDxe feature Properties | |
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishPlatformConfigFeatureProperty|0|UINT32|0x00001014 |