Files
system76-edk2/RedfishPkg/Include/Library/RedfishDebugLib.h
Nickle Wang 96d691166f 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>
2023-07-06 14:12:27 +00:00

125 lines
3.1 KiB
C

/** @file
This file defines the Redfish debug library interface.
Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef REDFISH_DEBUG_LIB_H_
#define REDFISH_DEBUG_LIB_H_
#include <Uefi.h>
#include <Library/HiiUtilityLib.h>
#include <Library/JsonLib.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_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.
@param[in] ErrorLevel DEBUG macro error level
@param[in] JsonValue Json value to dump.
@retval EFI_SUCCESS Json string is printed.
@retval Others Errors occur.
**/
EFI_STATUS
DumpJsonValue (
IN UINTN ErrorLevel,
IN EDKII_JSON_VALUE JsonValue
);
/**
This function dump the status code, header and body in given
Redfish payload.
@param[in] ErrorLevel DEBUG macro error level
@param[in] Payload Redfish payload to dump
@retval EFI_SUCCESS Redfish payload is printed.
@retval Others Errors occur.
**/
EFI_STATUS
DumpRedfishPayload (
IN UINTN ErrorLevel,
IN REDFISH_PAYLOAD Payload
);
/**
This function dump the status code, header and body in given
Redfish response.
@param[in] Message Message string
@param[in] ErrorLevel DEBUG macro error level
@param[in] Response Redfish response to dump
@retval EFI_SUCCESS Redfish response is printed.
@retval Others Errors occur.
**/
EFI_STATUS
DumpRedfishResponse (
IN CONST CHAR8 *Message,
IN UINTN ErrorLevel,
IN REDFISH_RESPONSE *Response
);
/**
This function dump the HTTP status code.
@param[in] ErrorLevel DEBUG macro error level
@param[in] HttpStatusCode HTTP status code
@retval EFI_SUCCESS HTTP status code is printed
**/
EFI_STATUS
DumpHttpStatusCode (
IN UINTN ErrorLevel,
IN EFI_HTTP_STATUS_CODE HttpStatusCode
);
#endif