RedfishPkg/Ucs2Utf8lib: UCS2 to UFT8 manipulation library
This library provides UCS2 to UFT8 or vise versa functions to manipulate UCS2/UTF8 strings. This library is currently used by edk2 port of open source jansson library. Signed-off-by: Abner Chang <abner.chang@hpe.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Nickle Wang <nickle.wang@hpe.com> Cc: Peter O'Hanley <peter.ohanley@hpe.com> Reviewed-by: Nickle Wang <nickle.wang@hpe.com> Acked-by: Leif Lindholm <leif@nuviainc.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
9783767fcf
commit
805b8b8837
61
RedfishPkg/Include/Library/BaseUcs2Utf8Lib.h
Normal file
61
RedfishPkg/Include/Library/BaseUcs2Utf8Lib.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/** @file
|
||||
UCS2 to UTF8 manipulation library header file.
|
||||
|
||||
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
||||
(C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef BASE_UCS2UTF8_LIB_H_
|
||||
#define BASE_UCS2UTF8_LIB_H_
|
||||
|
||||
///
|
||||
/// L"\u0000"
|
||||
///
|
||||
#define UNICODE_FORMAT_LEN 6
|
||||
#define UNICODE_FORMAT_CHAR_LEN 2
|
||||
#define UNICODE_FORMAT_CHAR_SIZE 3
|
||||
|
||||
#define UTF8_BUFFER_FOR_UCS2_MAX_SIZE 3
|
||||
|
||||
/**
|
||||
Convert a UCS2 string to a UTF8 encoded string.
|
||||
|
||||
@param[in] Ucs2Str The provided UCS2 string.
|
||||
@param[out] Utf8StrAddr The converted UTF8 string address. Caller
|
||||
is responsible for Free this string.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES System runs out of resources.
|
||||
@retval EFI_SUCCESS The UTF8 encoded string has been converted.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
UCS2StrToUTF8 (
|
||||
IN CHAR16 *Ucs2Str,
|
||||
OUT CHAR8 **Utf8StrAddr
|
||||
);
|
||||
|
||||
/**
|
||||
Convert a UTF8 encoded string to a UCS2 string.
|
||||
|
||||
@param[in] Utf8Str The provided UTF8 encoded string.
|
||||
@param[out] Ucs2StrAddr The converted UCS2 string address. Caller
|
||||
is responsible for Free this string.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The UTF8 encoded string is not valid to
|
||||
convert to UCS2 string.
|
||||
One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES System runs out of resources.
|
||||
@retval EFI_SUCCESS The UCS2 string has been converted.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
UTF8StrToUCS2 (
|
||||
IN CHAR8 *Utf8Str,
|
||||
OUT CHAR16 **Ucs2StrAddr
|
||||
);
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user