summaryrefslogtreecommitdiffstats
path: root/RedfishPkg/RedfishHttpDxe/RedfishHttpOperation.h
diff options
context:
space:
mode:
Diffstat (limited to 'RedfishPkg/RedfishHttpDxe/RedfishHttpOperation.h')
-rw-r--r--RedfishPkg/RedfishHttpDxe/RedfishHttpOperation.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/RedfishPkg/RedfishHttpDxe/RedfishHttpOperation.h b/RedfishPkg/RedfishHttpDxe/RedfishHttpOperation.h
new file mode 100644
index 0000000000..79954744ad
--- /dev/null
+++ b/RedfishPkg/RedfishHttpDxe/RedfishHttpOperation.h
@@ -0,0 +1,77 @@
+/** @file
+ Definitions of RedfishHttpOperation
+
+ Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef EDKII_REDFISH_HTTP_OPERATION_H_
+#define EDKII_REDFISH_HTTP_OPERATION_H_
+
+#include "RedfishHttpDxe.h"
+
+#define REDFISH_CONTENT_LENGTH_SIZE 80
+#define REDFISH_COMMON_HEADER_SIZE 5
+#define REDFISH_HTTP_HEADER_ODATA_VERSION_STR "OData-Version"
+#define REDFISH_HTTP_HEADER_ODATA_VERSION_VALUE "4.0"
+#define REDFISH_HTTP_HEADER_USER_AGENT_VALUE "edk2redfish"
+#define REDFISH_HTTP_HEADER_CONNECTION_STR "Connection"
+#define REDFISH_HTTP_HEADER_CONNECTION_VALUE "Keep-Alive"
+#define REDFISH_HTTP_CONTENT_ENCODING_NONE "None"
+#define ASCII_STR_DUPLICATE(a) (AllocateCopyPool (AsciiStrSize ((a)), (a)))
+
+/**
+ This function free resources in Request. Request is no longer available
+ after this function returns successfully.
+
+ @param[in] Request HTTP request to be released.
+
+ @retval EFI_SUCCESS Resource is released successfully.
+ @retval Others Errors occur.
+
+**/
+EFI_STATUS
+ReleaseRedfishRequest (
+ IN REDFISH_REQUEST *Request
+ );
+
+/**
+ This function free resources in given Response.
+
+ @param[in] Response HTTP response to be released.
+
+ @retval EFI_SUCCESS Resource is released successfully.
+ @retval Others Errors occur.
+
+**/
+EFI_STATUS
+ReleaseRedfishResponse (
+ IN REDFISH_RESPONSE *Response
+ );
+
+/**
+ This function send Redfish request to Redfish service by calling
+ Rest Ex protocol.
+
+ @param[in] Service Pointer to Redfish service.
+ @param[in] Uri Uri of Redfish service.
+ @param[in] Method HTTP method.
+ @param[in] Request Request data. This is optional.
+ @param[out] Response Redfish response data.
+
+ @retval EFI_SUCCESS Request is sent and received successfully.
+ @retval Others Errors occur.
+
+**/
+EFI_STATUS
+HttpSendReceive (
+ IN REDFISH_SERVICE Service,
+ IN EFI_STRING Uri,
+ IN EFI_HTTP_METHOD Method,
+ IN REDFISH_REQUEST *Request OPTIONAL,
+ OUT REDFISH_RESPONSE *Response
+ );
+
+#endif