]> wimlib.net Git - wimlib/blobdiff - include/wimlib/encoding.h
x86_cpu_features.c: cpuid fix for x86_32 PIC with old GCC versions
[wimlib] / include / wimlib / encoding.h
index 3d3c6852c82aa66e5672e6673d3be880dcd2ad58..c3b7fb8cf79b2c85127f23af749de223cef19477 100644 (file)
@@ -1,12 +1,12 @@
 #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);
 
@@ -37,6 +37,15 @@ varname1##_to_##varname2##_buf(const chartype1 *in, size_t in_nbytes,        \
 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);
@@ -72,6 +81,10 @@ cmp_utf16le_strings(const utf16lechar *s1, size_t n1,
                    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.  */