summaryrefslogtreecommitdiff
path: root/include/charset.h
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-05-11 14:23:23 -0400
committerTom Rini <trini@konsulko.com>2020-05-11 14:23:23 -0400
commitac14bc41692a55d5b53f73a0a5b33de2424c2cb6 (patch)
tree9b4e0a28a7b27261c187573b87e4926e0fab795a /include/charset.h
parentbb488ac34d9fbb892d870b0cbeabdbc5dc432653 (diff)
parentbdb15776f6d93a1fe7902346db06a2a9fd43381e (diff)
downloadu-boot-ac14bc41692a55d5b53f73a0a5b33de2424c2cb6.tar.gz
Merge tag 'efi-2020-07-rc2-4' of https://gitlab.denx.de/u-boot/custodians/u-boot-efiWIP/11May2020
Pull request for UEFI sub-system for efi-2020-07-rc2-4 This pull request comprises: * bug fixes * documentation fixes * a new function to determine u16 string sizes and its unit test
Diffstat (limited to 'include/charset.h')
-rw-r--r--include/charset.h49
1 files changed, 36 insertions, 13 deletions
diff --git a/include/charset.h b/include/charset.h
index fde6bddbc2..5564f3bce5 100644
--- a/include/charset.h
+++ b/include/charset.h
@@ -55,7 +55,7 @@ size_t utf8_utf16_strnlen(const char *src, size_t count);
/**
* utf8_utf16_strlen() - length of a utf-8 string after conversion to utf-16
*
- * @src: utf-8 string
+ * @a: utf-8 string
* Return: length in u16 after conversion to utf-16 without the
* trailing \0. If an invalid UTF-8 sequence is hit one
* u16 will be reserved for a replacement character.
@@ -75,8 +75,8 @@ int utf8_utf16_strncpy(u16 **dst, const char *src, size_t count);
/**
* utf8_utf16_strcpy() - copy utf-8 string to utf-16 string
*
- * @dst: destination buffer
- * @src: source buffer
+ * @d: destination buffer
+ * @s: source buffer
* Return: -1 if the input parameters are invalid
*/
#define utf8_utf16_strcpy(d, s) utf8_utf16_strncpy((d), (s), SIZE_MAX)
@@ -126,7 +126,7 @@ size_t utf16_utf8_strnlen(const u16 *src, size_t count);
/**
* utf16_utf8_strlen() - length of a utf-16 string after conversion to utf-8
*
- * @src: utf-16 string
+ * @a: utf-16 string
* Return: length in bytes after conversion to utf-8 without the
* trailing \0. If an invalid UTF-16 sequence is hit one
* byte will be reserved for a replacement character.
@@ -146,8 +146,8 @@ int utf16_utf8_strncpy(char **dst, const u16 *src, size_t count);
/**
* utf16_utf8_strcpy() - copy utf-16 string to utf-8 string
*
- * @dst: destination buffer
- * @src: source buffer
+ * @d: destination buffer
+ * @s: source buffer
* Return: -1 if the input parameters are invalid
*/
#define utf16_utf8_strcpy(d, s) utf16_utf8_strncpy((d), (s), SIZE_MAX)
@@ -168,7 +168,7 @@ s32 utf_to_lower(const s32 code);
*/
s32 utf_to_upper(const s32 code);
-/*
+/**
* u16_strncmp() - compare two u16 string
*
* @s1: first string to compare
@@ -181,6 +181,18 @@ s32 utf_to_upper(const s32 code);
* corresponding u16 in s2
*/
int u16_strncmp(const u16 *s1, const u16 *s2, size_t n);
+
+/**
+ * u16_strcmp() - compare two u16 string
+ *
+ * @s1: first string to compare
+ * @s2: second string to compare
+ * Return: 0 if the first n u16 are the same in s1 and s2
+ * < 0 if the first different u16 in s1 is less than the
+ * corresponding u16 in s2
+ * > 0 if the first different u16 in s1 is greater than the
+ * corresponding u16 in s2
+ */
#define u16_strcmp(s1, s2) u16_strncmp((s1), (s2), SIZE_MAX)
/**
@@ -190,12 +202,23 @@ int u16_strncmp(const u16 *s1, const u16 *s2, size_t n);
* In the EFI context we explicitly need a function handling u16 strings.
*
* @in: null terminated u16 string
- * ReturnValue: number of non-zero words.
+ * Return: number of non-zero words.
* This is not the number of utf-16 letters!
*/
size_t u16_strlen(const void *in);
/**
+ * u16_strsize() - count size of u16 string in bytes including the null
+ * character
+ *
+ * Counts the number of bytes occupied by a u16 string
+ *
+ * @in: null terminated u16 string
+ * Return: bytes in a u16 string
+ */
+size_t u16_strsize(const void *in);
+
+/**
* u16_strlen - count non-zero words
*
* This function matches wscnlen_s() if the -fshort-wchar compiler flag is set.
@@ -203,7 +226,7 @@ size_t u16_strlen(const void *in);
*
* @in: null terminated u16 string
* @count: maximum number of words to count
- * ReturnValue: number of non-zero words.
+ * Return: number of non-zero words.
* This is not the number of utf-16 letters!
*/
size_t u16_strnlen(const u16 *in, size_t count);
@@ -240,10 +263,10 @@ u16 *u16_strdup(const void *src);
* NOTE that a single utf16 character can generate up to 3 utf8
* characters. See MAX_UTF8_PER_UTF16.
*
- * @dest the destination buffer to write the utf8 characters
- * @src the source utf16 string
- * @size the number of utf16 characters to convert
- * @return the pointer to the first unwritten byte in 'dest'
+ * @dest: the destination buffer to write the utf8 characters
+ * @src: the source utf16 string
+ * @size: the number of utf16 characters to convert
+ * Return: the pointer to the first unwritten byte in 'dest'
*/
uint8_t *utf16_to_utf8(uint8_t *dest, const uint16_t *src, size_t size);