mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-24 14:14:31 +02:00
RedfishPkg/RedfishDebugLib: add new interfaces
Introduce DumpHiiStatementValue() and DumpRedfishValue() to RedfishDebugLib. Application uses these functions to debug print the value of HII_STATEMENT_VALUE and EDKII_REDFISH_VALUE. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
This commit is contained in:
parent
60475162a6
commit
96d691166f
@ -11,12 +11,45 @@
|
|||||||
#define REDFISH_DEBUG_LIB_H_
|
#define REDFISH_DEBUG_LIB_H_
|
||||||
|
|
||||||
#include <Uefi.h>
|
#include <Uefi.h>
|
||||||
|
#include <Library/HiiUtilityLib.h>
|
||||||
#include <Library/JsonLib.h>
|
#include <Library/JsonLib.h>
|
||||||
#include <Library/RedfishLib.h>
|
#include <Library/RedfishLib.h>
|
||||||
|
|
||||||
|
#include <Protocol/EdkIIRedfishPlatformConfig.h>
|
||||||
|
|
||||||
#define DEBUG_REDFISH_NETWORK DEBUG_MANAGEABILITY ///< Debug error level for Redfish networking function
|
#define DEBUG_REDFISH_NETWORK DEBUG_MANAGEABILITY ///< Debug error level for Redfish networking function
|
||||||
#define DEBUG_REDFISH_HOST_INTERFACE DEBUG_MANAGEABILITY ///< Debug error level for Redfish networking function
|
#define DEBUG_REDFISH_HOST_INTERFACE DEBUG_MANAGEABILITY ///< Debug error level for Redfish networking function
|
||||||
|
|
||||||
|
/**
|
||||||
|
Debug print the value of StatementValue.
|
||||||
|
|
||||||
|
@param[in] ErrorLevel DEBUG macro error level.
|
||||||
|
@param[in] StatementValue The statement value to print.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS StatementValue is printed.
|
||||||
|
@retval EFI_INVALID_PARAMETER StatementValue is NULL.
|
||||||
|
**/
|
||||||
|
EFI_STATUS
|
||||||
|
DumpHiiStatementValue (
|
||||||
|
IN UINTN ErrorLevel,
|
||||||
|
IN HII_STATEMENT_VALUE *StatementValue
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Debug print the value of RedfishValue.
|
||||||
|
|
||||||
|
@param[in] ErrorLevel DEBUG macro error level.
|
||||||
|
@param[in] RedfishValue The statement value to print.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS RedfishValue is printed.
|
||||||
|
@retval EFI_INVALID_PARAMETER RedfishValue is NULL.
|
||||||
|
**/
|
||||||
|
EFI_STATUS
|
||||||
|
DumpRedfishValue (
|
||||||
|
IN UINTN ErrorLevel,
|
||||||
|
IN EDKII_REDFISH_VALUE *RedfishValue
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
This function dump the Json string in given error level.
|
This function dump the Json string in given error level.
|
||||||
|
@ -22,6 +22,119 @@
|
|||||||
#define REDFISH_JSON_STRING_LENGTH 200
|
#define REDFISH_JSON_STRING_LENGTH 200
|
||||||
#define REDFISH_JSON_OUTPUT_FORMAT (EDKII_JSON_COMPACT | EDKII_JSON_INDENT(2))
|
#define REDFISH_JSON_OUTPUT_FORMAT (EDKII_JSON_COMPACT | EDKII_JSON_INDENT(2))
|
||||||
|
|
||||||
|
/**
|
||||||
|
Debug print the value of StatementValue.
|
||||||
|
|
||||||
|
@param[in] ErrorLevel DEBUG macro error level.
|
||||||
|
@param[in] StatementValue The statement value to print.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS StatementValue is printed.
|
||||||
|
@retval EFI_INVALID_PARAMETER StatementValue is NULL.
|
||||||
|
**/
|
||||||
|
EFI_STATUS
|
||||||
|
DumpHiiStatementValue (
|
||||||
|
IN UINTN ErrorLevel,
|
||||||
|
IN HII_STATEMENT_VALUE *StatementValue
|
||||||
|
)
|
||||||
|
{
|
||||||
|
if (StatementValue == NULL) {
|
||||||
|
return EFI_INVALID_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
DEBUG ((ErrorLevel, "BufferValueType: 0x%x\n", StatementValue->BufferValueType));
|
||||||
|
DEBUG ((ErrorLevel, "BufferLen: 0x%x\n", StatementValue->BufferLen));
|
||||||
|
DEBUG ((ErrorLevel, "Buffer: 0x%p\n", StatementValue->Buffer));
|
||||||
|
DEBUG ((ErrorLevel, "Type: 0x%p\n", StatementValue->Type));
|
||||||
|
|
||||||
|
switch (StatementValue->Type) {
|
||||||
|
case EFI_IFR_TYPE_NUM_SIZE_8:
|
||||||
|
DEBUG ((ErrorLevel, "Value: 0x%x\n", StatementValue->Value.u8));
|
||||||
|
break;
|
||||||
|
case EFI_IFR_TYPE_NUM_SIZE_16:
|
||||||
|
DEBUG ((ErrorLevel, "Value: 0x%x\n", StatementValue->Value.u16));
|
||||||
|
break;
|
||||||
|
case EFI_IFR_TYPE_NUM_SIZE_32:
|
||||||
|
DEBUG ((ErrorLevel, "Value: 0x%x\n", StatementValue->Value.u32));
|
||||||
|
break;
|
||||||
|
case EFI_IFR_TYPE_NUM_SIZE_64:
|
||||||
|
DEBUG ((ErrorLevel, "Value: 0x%lx\n", StatementValue->Value.u64));
|
||||||
|
break;
|
||||||
|
case EFI_IFR_TYPE_BOOLEAN:
|
||||||
|
DEBUG ((ErrorLevel, "Value: %a\n", (StatementValue->Value.b ? "true" : "false")));
|
||||||
|
break;
|
||||||
|
case EFI_IFR_TYPE_STRING:
|
||||||
|
DEBUG ((ErrorLevel, "Value: 0x%x\n", StatementValue->Value.string));
|
||||||
|
break;
|
||||||
|
case EFI_IFR_TYPE_TIME:
|
||||||
|
case EFI_IFR_TYPE_DATE:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Debug print the value of RedfishValue.
|
||||||
|
|
||||||
|
@param[in] ErrorLevel DEBUG macro error level.
|
||||||
|
@param[in] RedfishValue The statement value to print.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS RedfishValue is printed.
|
||||||
|
@retval EFI_INVALID_PARAMETER RedfishValue is NULL.
|
||||||
|
**/
|
||||||
|
EFI_STATUS
|
||||||
|
DumpRedfishValue (
|
||||||
|
IN UINTN ErrorLevel,
|
||||||
|
IN EDKII_REDFISH_VALUE *RedfishValue
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UINTN Index;
|
||||||
|
|
||||||
|
if (RedfishValue == NULL) {
|
||||||
|
return EFI_INVALID_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
DEBUG ((ErrorLevel, "Type: 0x%x\n", RedfishValue->Type));
|
||||||
|
DEBUG ((ErrorLevel, "ArrayCount: 0x%x\n", RedfishValue->ArrayCount));
|
||||||
|
|
||||||
|
switch (RedfishValue->Type) {
|
||||||
|
case RedfishValueTypeInteger:
|
||||||
|
DEBUG ((ErrorLevel, "Value: 0x%x\n", RedfishValue->Value.Integer));
|
||||||
|
break;
|
||||||
|
case RedfishValueTypeBoolean:
|
||||||
|
DEBUG ((ErrorLevel, "Value: %a\n", (RedfishValue->Value.Boolean ? "true" : "false")));
|
||||||
|
break;
|
||||||
|
case RedfishValueTypeString:
|
||||||
|
DEBUG ((ErrorLevel, "Value: %a\n", RedfishValue->Value.Buffer));
|
||||||
|
break;
|
||||||
|
case RedfishValueTypeStringArray:
|
||||||
|
for (Index = 0; Index < RedfishValue->ArrayCount; Index++) {
|
||||||
|
DEBUG ((ErrorLevel, "Value[%d]: %a\n", Index, RedfishValue->Value.StringArray[Index]));
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case RedfishValueTypeIntegerArray:
|
||||||
|
for (Index = 0; Index < RedfishValue->ArrayCount; Index++) {
|
||||||
|
DEBUG ((ErrorLevel, "Value[%d]: 0x%x\n", Index, RedfishValue->Value.IntegerArray[Index]));
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case RedfishValueTypeBooleanArray:
|
||||||
|
for (Index = 0; Index < RedfishValue->ArrayCount; Index++) {
|
||||||
|
DEBUG ((ErrorLevel, "Value[%d]: %a\n", Index, (RedfishValue->Value.BooleanArray[Index] ? "true" : "false")));
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case RedfishValueTypeUnknown:
|
||||||
|
case RedfishValueTypeMax:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
This function dump the Json string in given error level.
|
This function dump the Json string in given error level.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user