#ifndef _WIMLIB_ENCODING_H
#define _WIMLIB_ENCODING_H
+#include <string.h>
+
#include "wimlib/error.h"
#include "wimlib/util.h"
#include "wimlib/types.h"
-#include <string.h>
-
extern void
iconv_global_init(void);
extern utf16lechar *
utf16le_dupz(const void *ustr, size_t usize);
+extern utf16lechar *
+utf16le_dup(const utf16lechar *ustr);
+
+extern size_t
+utf16le_len_bytes(const utf16lechar *s);
+
+extern size_t
+utf16le_len_chars(const utf16lechar *s);
+
#if !TCHAR_IS_UTF16LE
DECLARE_CHAR_CONVERSION_FUNCTIONS(utf16le, tstr, utf16lechar, tchar);
DECLARE_CHAR_CONVERSION_FUNCTIONS(tstr, utf16le, tchar, utf16lechar);
const utf16lechar *s2, size_t n2,
bool ignore_case);
+extern int
+cmp_utf16le_strings_z(const utf16lechar *s1, const utf16lechar *s2,
+ bool ignore_case);
+
/* Convert a string in the platform-dependent encoding to UTF-16LE, but if both
* encodings are UTF-16LE, simply re-use the string. Release with
* tstr_put_utf16le() when done. */