haiku/headers/os/support/UTF8.h

62 lines
1.7 KiB
C

/*
* Copyright 2007 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _UTF8_H
#define _UTF8_H
#include <BeBuild.h>
#include <InterfaceDefs.h>
#include <SupportDefs.h>
/* Conversion Flavors */
enum {
B_ISO1_CONVERSION, /* ISO 8859-x */
B_ISO2_CONVERSION,
B_ISO3_CONVERSION,
B_ISO4_CONVERSION,
B_ISO5_CONVERSION,
B_ISO6_CONVERSION,
B_ISO7_CONVERSION,
B_ISO8_CONVERSION,
B_ISO9_CONVERSION,
B_ISO10_CONVERSION,
B_MAC_ROMAN_CONVERSION, /* Macintosh Roman */
B_SJIS_CONVERSION, /* Shift-JIS */
B_EUC_CONVERSION, /* EUC Packed Japanese */
B_JIS_CONVERSION, /* JIS X 0208-1990 */
B_MS_WINDOWS_CONVERSION, /* Windows Latin-1 Codepage 1252 */
B_UNICODE_CONVERSION, /* Unicode 2.0, UCS-2 */
B_KOI8R_CONVERSION, /* KOI8-R */
B_MS_WINDOWS_1251_CONVERSION, /* Windows Cyrillic Codepage 1251 */
B_MS_DOS_866_CONVERSION, /* MS-DOS Codepage 866 */
B_MS_DOS_CONVERSION, /* MS-DOS Codepage 437 */
B_EUC_KR_CONVERSION, /* EUC Korean */
B_ISO13_CONVERSION,
B_ISO14_CONVERSION,
B_ISO15_CONVERSION,
B_BIG5_CONVERSION, /* Chinese Big5 */
B_GBK_CONVERSION, /* Chinese GB18030 */
B_UTF16_CONVERSION, /* Unicode UTF-16 */
B_MS_WINDOWS_1250_CONVERSION /* Windows Central European Codepage */
};
/* Conversion Functions */
#ifdef __cplusplus
status_t convert_to_utf8(uint32 sourceEncoding, const char* source,
int32* sourceLength, char* dest, int32* destLength, int32* state,
char substitute = B_SUBSTITUTE);
status_t convert_from_utf8(uint32 destEncoding, const char* source,
int32* sourceLength, char* dest, int32* destLength, int32* state,
char substitute = B_SUBSTITUTE);
#endif /* __cplusplus */
#endif /* _UTF8_H */