## @file # Redfish Package # # Copyright (c) 2019, Intel Corporation. All rights reserved.
# (C) Copyright 2021 Hewlett Packard Enterprise Development LP
# 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.
# # 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 { Pcd/RestExServiceDevicePath.h 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