92 typedef unsigned long UTF32;
93 typedef unsigned short UTF16;
94 typedef unsigned char UTF8;
95 typedef unsigned char Boolean;
98 #define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD
99 #define UNI_MAX_BMP (UTF32)0x0000FFFF
100 #define UNI_MAX_UTF16 (UTF32)0x0010FFFF
101 #define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF
102 #define UNI_MAX_LEGAL_UTF32 (UTF32)0x0010FFFF
112 strictConversion = 0,
121 ConversionResult ConvertUTF8toUTF16(
122 const UTF8** sourceStart,
const UTF8* sourceEnd,
123 UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags);
125 ConversionResult ConvertUTF16toUTF8(
126 const UTF16** sourceStart,
const UTF16* sourceEnd,
127 UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags);
129 ConversionResult ConvertUTF8toUTF32(
130 const UTF8** sourceStart,
const UTF8* sourceEnd,
131 UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags);
133 ConversionResult ConvertUTF32toUTF8(
134 const UTF32** sourceStart,
const UTF32* sourceEnd,
135 UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags);
137 ConversionResult ConvertUTF16toUTF32(
138 const UTF16** sourceStart,
const UTF16* sourceEnd,
139 UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags);
141 ConversionResult ConvertUTF32toUTF16(
142 const UTF32** sourceStart,
const UTF32* sourceEnd,
143 UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags);
145 Boolean isLegalUTF8Sequence(
const UTF8* source,
const UTF8* sourceEnd);