#ifndef _WC_CES_H
#define _WC_CES_H
#include "ccs.h"
#define WC_CES_T_INDEX 0x0000ff
#define WC_CES_T_TYPE 0x31ff00
#define WC_CES_T_NASCII 0x01fe00
#define WC_CES_T_8BIT 0x100000
#define WC_CES_T_MBYTE 0x200000
#define WC_CES_T_ASCII 0x000100
#define WC_CES_T_ISO_8859 0x000200
#define WC_CES_T_PRIV1 0x000400
#define WC_CES_T_ISO_2022 0x000800
#define WC_CES_T_EUC 0x001000
#define WC_CES_T_PRIV2 0x002000
#define WC_CES_T_VIET 0x004000
#define WC_CES_T_UTF 0x008000
#define WC_CES_T_WTF 0x010000
#define WC_CES_E_ISO_8859 (WC_CES_T_ISO_8859|WC_CES_T_8BIT)
#define WC_CES_E_PRIV1 (WC_CES_T_PRIV1|WC_CES_T_8BIT)
#define WC_CES_E_ISO_2022 (WC_CES_T_ISO_2022|WC_CES_T_MBYTE)
#define WC_CES_E_EUC (WC_CES_T_EUC|WC_CES_T_8BIT|WC_CES_T_MBYTE)
#define WC_CES_E_PRIV2 (WC_CES_T_PRIV2|WC_CES_T_8BIT|WC_CES_T_MBYTE)
#define WC_CES_E_VIET (WC_CES_T_VIET|WC_CES_T_PRIV1|WC_CES_T_8BIT)
#define WC_CES_WTF (WC_CES_T_WTF|WC_CES_T_8BIT|WC_CES_T_MBYTE)
#define WC_CES_INDEX(c) ((c)&WC_CES_T_INDEX)
#define WC_CES_TYPE(c) ((c)&WC_CES_T_TYPE)
enum {
WC_CES_N_US_ASCII,
WC_CES_N_ISO_8859_1,
WC_CES_N_ISO_8859_2,
WC_CES_N_ISO_8859_3,
WC_CES_N_ISO_8859_4,
WC_CES_N_ISO_8859_5,
WC_CES_N_ISO_8859_6,
WC_CES_N_ISO_8859_7,
WC_CES_N_ISO_8859_8,
WC_CES_N_ISO_8859_9,
WC_CES_N_ISO_8859_10,
WC_CES_N_ISO_8859_11,
WC_CES_N_ISO_8859_12,
WC_CES_N_ISO_8859_13,
WC_CES_N_ISO_8859_14,
WC_CES_N_ISO_8859_15,
WC_CES_N_ISO_8859_16,
WC_CES_N_ISO_2022_JP,
WC_CES_N_ISO_2022_JP_2,
WC_CES_N_ISO_2022_JP_3,
WC_CES_N_ISO_2022_CN,
WC_CES_N_ISO_2022_KR,
WC_CES_N_EUC_JP,
WC_CES_N_EUC_CN,
WC_CES_N_EUC_TW,
WC_CES_N_EUC_KR,
WC_CES_N_CP437,
WC_CES_N_CP737,
WC_CES_N_CP775,
WC_CES_N_CP850,
WC_CES_N_CP852,
WC_CES_N_CP855,
WC_CES_N_CP856,
WC_CES_N_CP857,
WC_CES_N_CP860,
WC_CES_N_CP861,
WC_CES_N_CP862,
WC_CES_N_CP863,
WC_CES_N_CP864,
WC_CES_N_CP865,
WC_CES_N_CP866,
WC_CES_N_CP869,
WC_CES_N_CP874,
WC_CES_N_CP1006,
WC_CES_N_CP1250,
WC_CES_N_CP1251,
WC_CES_N_CP1252,
WC_CES_N_CP1253,
WC_CES_N_CP1254,
WC_CES_N_CP1255,
WC_CES_N_CP1256,
WC_CES_N_CP1257,
WC_CES_N_KOI8_R,
WC_CES_N_KOI8_U,
WC_CES_N_NEXTSTEP,
WC_CES_N_RAW,
WC_CES_N_SHIFT_JIS,
WC_CES_N_SHIFT_JISX0213,
WC_CES_N_GBK,
WC_CES_N_GB18030,
WC_CES_N_HZ_GB_2312,
WC_CES_N_BIG5,
WC_CES_N_HKSCS,
WC_CES_N_UHC,
WC_CES_N_JOHAB,
WC_CES_N_CP1258,
WC_CES_N_TCVN_5712,
WC_CES_N_VISCII_11,
WC_CES_N_VPS,
WC_CES_N_UTF_8,
WC_CES_N_UTF_7
};
#define WC_CES_US_ASCII (WC_CES_T_ASCII|WC_CES_N_US_ASCII)
#define WC_CES_ISO_8859_1 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_1)
#define WC_CES_ISO_8859_2 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_2)
#define WC_CES_ISO_8859_3 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_3)
#define WC_CES_ISO_8859_4 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_4)
#define WC_CES_ISO_8859_5 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_5)
#define WC_CES_ISO_8859_6 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_6)
#define WC_CES_ISO_8859_7 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_7)
#define WC_CES_ISO_8859_8 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_8)
#define WC_CES_ISO_8859_9 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_9)
#define WC_CES_ISO_8859_10 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_10)
#define WC_CES_ISO_8859_11 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_11)
#define WC_CES_TIS_620 WC_CES_ISO_8859_11
#define WC_CES_ISO_8859_12 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_12)
/* not yet exist */
#define WC_CES_ISO_8859_13 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_13)
#define WC_CES_ISO_8859_14 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_14)
#define WC_CES_ISO_8859_15 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_15)
#define WC_CES_ISO_8859_16 (WC_CES_E_ISO_8859|WC_CES_N_ISO_8859_16)
#define WC_CES_ISO_2022_JP (WC_CES_E_ISO_2022|WC_CES_N_ISO_2022_JP)
#define WC_CES_ISO_2022_JP_2 (WC_CES_E_ISO_2022|WC_CES_N_ISO_2022_JP_2)
#define WC_CES_ISO_2022_JP_3 (WC_CES_E_ISO_2022|WC_CES_N_ISO_2022_JP_3)
#define WC_CES_ISO_2022_CN (WC_CES_E_ISO_2022|WC_CES_N_ISO_2022_CN)
#define WC_CES_ISO_2022_KR (WC_CES_E_ISO_2022|WC_CES_N_ISO_2022_KR)
#define WC_CES_EUC_JP (WC_CES_E_EUC|WC_CES_N_EUC_JP)
#define WC_CES_EUC_CN (WC_CES_E_EUC|WC_CES_N_EUC_CN)
#define WC_CES_EUC_TW (WC_CES_E_EUC|WC_CES_N_EUC_TW)
#define WC_CES_EUC_KR (WC_CES_E_EUC|WC_CES_N_EUC_KR)
#define WC_CES_CP437 (WC_CES_E_PRIV1|WC_CES_N_CP437)
#define WC_CES_CP737 (WC_CES_E_PRIV1|WC_CES_N_CP737)
#define WC_CES_CP775 (WC_CES_E_PRIV1|WC_CES_N_CP775)
#define WC_CES_CP850 (WC_CES_E_PRIV1|WC_CES_N_CP850)
#define WC_CES_CP852 (WC_CES_E_PRIV1|WC_CES_N_CP852)
#define WC_CES_CP855 (WC_CES_E_PRIV1|WC_CES_N_CP855)
#define WC_CES_CP856 (WC_CES_E_PRIV1|WC_CES_N_CP856)
#define WC_CES_CP857 (WC_CES_E_PRIV1|WC_CES_N_CP857)
#define WC_CES_CP860 (WC_CES_E_PRIV1|WC_CES_N_CP860)
#define WC_CES_CP861 (WC_CES_E_PRIV1|WC_CES_N_CP861)
#define WC_CES_CP862 (WC_CES_E_PRIV1|WC_CES_N_CP862)
#define WC_CES_CP863 (WC_CES_E_PRIV1|WC_CES_N_CP863)
#define WC_CES_CP864 (WC_CES_E_PRIV1|WC_CES_N_CP864)
#define WC_CES_CP865 (WC_CES_E_PRIV1|WC_CES_N_CP865)
#define WC_CES_CP866 (WC_CES_E_PRIV1|WC_CES_N_CP866)
#define WC_CES_CP869 (WC_CES_E_PRIV1|WC_CES_N_CP869)
#define WC_CES_CP874 (WC_CES_E_PRIV1|WC_CES_N_CP874)
#define WC_CES_CP1006 (WC_CES_E_PRIV1|WC_CES_N_CP1006)
#define WC_CES_CP1250 (WC_CES_E_PRIV1|WC_CES_N_CP1250)
#define WC_CES_CP1251 (WC_CES_E_PRIV1|WC_CES_N_CP1251)
#define WC_CES_CP1252 (WC_CES_E_PRIV1|WC_CES_N_CP1252)
#define WC_CES_CP1253 (WC_CES_E_PRIV1|WC_CES_N_CP1253)
#define WC_CES_CP1254 (WC_CES_E_PRIV1|WC_CES_N_CP1254)
#define WC_CES_CP1255 (WC_CES_E_PRIV1|WC_CES_N_CP1255)
#define WC_CES_CP1256 (WC_CES_E_PRIV1|WC_CES_N_CP1256)
#define WC_CES_CP1257 (WC_CES_E_PRIV1|WC_CES_N_CP1257)
#define WC_CES_KOI8_R (WC_CES_E_PRIV1|WC_CES_N_KOI8_R)
#define WC_CES_KOI8_U (WC_CES_E_PRIV1|WC_CES_N_KOI8_U)
#define WC_CES_NEXTSTEP (WC_CES_E_PRIV1|WC_CES_N_NEXTSTEP)
#define WC_CES_RAW (WC_CES_E_PRIV1|WC_CES_N_RAW)
#define WC_CES_SHIFT_JIS (WC_CES_E_PRIV2|WC_CES_N_SHIFT_JIS)
#define WC_CES_CP932 WC_CES_SHIFT_JIS
#define WC_CES_SHIFT_JISX0213 (WC_CES_E_PRIV2|WC_CES_N_SHIFT_JISX0213)
#define WC_CES_GBK (WC_CES_E_PRIV2|WC_CES_N_GBK)
#define WC_CES_CP936 WC_CES_GBK
#define WC_CES_GB18030 (WC_CES_E_PRIV2|WC_CES_N_GB18030)
#define WC_CES_HZ_GB_2312 (WC_CES_T_PRIV2|WC_CES_T_MBYTE|WC_CES_N_HZ_GB_2312)
#define WC_CES_BIG5 (WC_CES_E_PRIV2|WC_CES_N_BIG5)
#define WC_CES_CP950 WC_CES_BIG5
#define WC_CES_HKSCS (WC_CES_E_PRIV2|WC_CES_N_HKSCS)
#define WC_CES_UHC (WC_CES_E_PRIV2|WC_CES_N_UHC)
#define WC_CES_CP949 WC_CES_UHC
#define WC_CES_JOHAB (WC_CES_E_PRIV2|WC_CES_N_JOHAB)
#define WC_CES_CP1258 (WC_CES_E_PRIV1|WC_CES_N_CP1258)
#define WC_CES_TCVN_5712 (WC_CES_E_VIET|WC_CES_N_TCVN_5712)
#define WC_CES_VISCII_11 (WC_CES_E_VIET|WC_CES_N_VISCII_11)
#define WC_CES_VPS (WC_CES_E_VIET|WC_CES_N_VPS)
#define WC_CES_UTF_8 (WC_CES_T_UTF|WC_CES_T_8BIT|WC_CES_T_MBYTE|WC_CES_N_UTF_8)
#define WC_CES_UTF_7 (WC_CES_T_UTF|WC_CES_T_MBYTE|WC_CES_N_UTF_7)
#define WC_CES_END WC_CES_N_UTF_7
#endif