mirror of https://github.com/acidanthera/audk.git
81 lines
3.3 KiB
C
81 lines
3.3 KiB
C
/** @file
|
|
Definitinos of RedfishContentCodingLib.
|
|
|
|
(C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef REDFISH_CONTENT_CODING_LIB_H_
|
|
#define REDFISH_CONTENT_CODING_LIB_H_
|
|
|
|
/**
|
|
This is the function to encode the content use the
|
|
algorithm indicated in ContentEncodedValue. The naming of
|
|
ContentEncodedValue is follow HTTP spec or could be a
|
|
platform-specific value.
|
|
|
|
@param[in] ContentEncodedValue HTTP conent encoded value.
|
|
The value could be one of below
|
|
or any which is platform-specific.
|
|
- HTTP_CONTENT_ENCODING_IDENTITY "identity"
|
|
- HTTP_CONTENT_ENCODING_GZIP "gzip"
|
|
- HTTP_CONTENT_ENCODING_COMPRESS "compress"
|
|
- HTTP_CONTENT_ENCODING_DEFLATE "deflate"
|
|
- HTTP_CONTENT_ENCODING_BROTLI "br"
|
|
@param[in] OriginalContent Original content.
|
|
@param[in] OriginalContentLength The length of original content.
|
|
@param[out] EncodedContentPointer Pointer to receive the encoded content pointer.
|
|
@param[out] EncodedContentLength Length of encoded content.
|
|
|
|
@retval EFI_SUCCESS Content is encoded successfully.
|
|
@retval EFI_UNSUPPORTED No supported encoding funciton,
|
|
@retval EFI_INVALID_PARAMETER One of the given parameter is invalid.
|
|
|
|
**/
|
|
|
|
EFI_STATUS
|
|
RedfishContentEncode (
|
|
IN CHAR8 *ContentEncodedValue,
|
|
IN CHAR8 *OriginalContent,
|
|
IN UINTN OriginalContentLength,
|
|
OUT VOID **EncodedContentPointer,
|
|
OUT UINTN *EncodedLength
|
|
);
|
|
|
|
/**
|
|
This is the function to decode the content use the
|
|
algorithm indicated in ContentEncodedValue. The naming of
|
|
ContentEncodedValue is follow HTTP spec or could be a
|
|
platform-specific value.
|
|
|
|
@param[in] ContentDecodedValue HTTP conent decoded value.
|
|
The value could be one of below
|
|
or any which is platform-specific.
|
|
- HTTP_CONTENT_ENCODING_IDENTITY "identity"
|
|
- HTTP_CONTENT_ENCODING_GZIP "gzip"
|
|
- HTTP_CONTENT_ENCODING_COMPRESS "compress"
|
|
- HTTP_CONTENT_ENCODING_DEFLATE "deflate"
|
|
- HTTP_CONTENT_ENCODING_BROTLI "br"
|
|
@param[in] ContentPointer Original content.
|
|
@param[in] ContentLength The length of original content.
|
|
@param[out] DecodedContentPointer Pointer to receive decoded content pointer.
|
|
@param[out] DecodedContentLength Length of decoded content.
|
|
|
|
@retval EFI_SUCCESS Content is decoded successfully.
|
|
@retval EFI_UNSUPPORTED No supported decoding funciton,
|
|
@retval EFI_INVALID_PARAMETER One of the given parameter is invalid.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
RedfishContentDecode (
|
|
IN CHAR8 *ContentEncodedValue,
|
|
IN VOID *ContentPointer,
|
|
IN UINTN ContentLength,
|
|
OUT VOID **DecodedContentPointer,
|
|
OUT UINTN *DecodedLength
|
|
);
|
|
|
|
#endif
|