From 5a0932b7d480c05761a3ba9b5cf1d2fbb470c615 Mon Sep 17 00:00:00 2001 From: Nickle Wang Date: Wed, 1 Mar 2023 16:44:57 +0800 Subject: RedfishPkg/RedfishDebugLib: provide Redfish debug Introduce RedfishDebugLib to RedfishPkg. This library provides several debugging functions for Redfish application. Redfish drivers rely on Rest Ex protocol to communicate with BMC and the communication data may be big and complicated. Use RedfishDebugLib in RedfishRestExDxe to simplify debugging process. Signed-off-by: Nickle Wang Cc: Abner Chang Cc: Igor Kulchytskyy Cc: Nick Ramirez Reviewed-by: Abner Chang --- RedfishPkg/Include/Library/RedfishDebugLib.h | 90 ++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 RedfishPkg/Include/Library/RedfishDebugLib.h (limited to 'RedfishPkg/Include') diff --git a/RedfishPkg/Include/Library/RedfishDebugLib.h b/RedfishPkg/Include/Library/RedfishDebugLib.h new file mode 100644 index 0000000000..21f01353ed --- /dev/null +++ b/RedfishPkg/Include/Library/RedfishDebugLib.h @@ -0,0 +1,90 @@ +/** @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 +#include +#include + +#define DEBUG_REDFISH_NETWORK DEBUG_INFO ///< Debug error level for Redfish networking function + +/** + + 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 -- cgit