GNU Linux-libre 6.9.2-gnu
[releases.git] / include / linux / ucs2_string.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_UCS2_STRING_H_
3 #define _LINUX_UCS2_STRING_H_
4
5 #include <linux/types.h>        /* for size_t */
6 #include <linux/stddef.h>       /* for NULL */
7
8 typedef u16 ucs2_char_t;
9
10 unsigned long ucs2_strnlen(const ucs2_char_t *s, size_t maxlength);
11 unsigned long ucs2_strlen(const ucs2_char_t *s);
12 unsigned long ucs2_strsize(const ucs2_char_t *data, unsigned long maxlength);
13 ssize_t ucs2_strscpy(ucs2_char_t *dst, const ucs2_char_t *src, size_t count);
14 int ucs2_strncmp(const ucs2_char_t *a, const ucs2_char_t *b, size_t len);
15
16 unsigned long ucs2_utf8size(const ucs2_char_t *src);
17 unsigned long ucs2_as_utf8(u8 *dest, const ucs2_char_t *src,
18                            unsigned long maxlength);
19
20 #endif /* _LINUX_UCS2_STRING_H_ */