blob: cf3ada3e820ed21e794f1f5ab911706e62c068a2 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Matthew Garrett0635eb82013-04-15 13:09:45 -07002#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
8typedef u16 ucs2_char_t;
9
10unsigned long ucs2_strnlen(const ucs2_char_t *s, size_t maxlength);
11unsigned long ucs2_strlen(const ucs2_char_t *s);
12unsigned long ucs2_strsize(const ucs2_char_t *data, unsigned long maxlength);
13int ucs2_strncmp(const ucs2_char_t *a, const ucs2_char_t *b, size_t len);
14
Peter Jones73500262016-02-08 14:48:11 -050015unsigned long ucs2_utf8size(const ucs2_char_t *src);
16unsigned long ucs2_as_utf8(u8 *dest, const ucs2_char_t *src,
17 unsigned long maxlength);
18
Matthew Garrett0635eb82013-04-15 13:09:45 -070019#endif /* _LINUX_UCS2_STRING_H_ */