| 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_ */ |