#include "c.h"
#include <ctype.h>
#include <unistd.h>
#include "mb/pg_wchar.h"
typedef struct pg_encname
{
const char *name;
pg_enc encoding;
} pg_encname;
#ifndef WIN32
#define DEF_ENC2NAME(name, codepage) { #name, PG_##name }
#else
#define DEF_ENC2NAME(name, codepage) { #name, PG_##name, codepage }
#endif
const pg_enc2name pg_enc2name_tbl[] =
{
[PG_SQL_ASCII] = DEF_ENC2NAME(SQL_ASCII, 0),
[PG_EUC_JP] = DEF_ENC2NAME(EUC_JP, 20932),
[PG_EUC_CN] = DEF_ENC2NAME(EUC_CN, 20936),
[PG_EUC_KR] = DEF_ENC2NAME(EUC_KR, 51949),
[PG_EUC_TW] = DEF_ENC2NAME(EUC_TW, 0),
[PG_EUC_JIS_2004] = DEF_ENC2NAME(EUC_JIS_2004, 20932),
[PG_UTF8] = DEF_ENC2NAME(UTF8, 65001),
[PG_MULE_INTERNAL] = DEF_ENC2NAME(MULE_INTERNAL, 0),
[PG_LATIN1] = DEF_ENC2NAME(LATIN1, 28591),
[PG_LATIN2] = DEF_ENC2NAME(LATIN2, 28592),
[PG_LATIN3] = DEF_ENC2NAME(LATIN3, 28593),
[PG_LATIN4] = DEF_ENC2NAME(LATIN4, 28594),
[PG_LATIN5] = DEF_ENC2NAME(LATIN5, 28599),
[PG_LATIN6] = DEF_ENC2NAME(LATIN6, 0),
[PG_LATIN7] = DEF_ENC2NAME(LATIN7, 0),
[PG_LATIN8] = DEF_ENC2NAME(LATIN8, 0),
[PG_LATIN9] = DEF_ENC2NAME(LATIN9, 28605),
[PG_LATIN10] = DEF_ENC2NAME(LATIN10, 0),
[PG_WIN1256] = DEF_ENC2NAME(WIN1256, 1256),
[PG_WIN1258] = DEF_ENC2NAME(WIN1258, 1258),
[PG_WIN866] = DEF_ENC2NAME(WIN866, 866),
[PG_WIN874] = DEF_ENC2NAME(WIN874, 874),
[PG_KOI8R] = DEF_ENC2NAME(KOI8R, 20866),
[PG_WIN1251] = DEF_ENC2NAME(WIN1251, 1251),
[PG_WIN1252] = DEF_ENC2NAME(WIN1252, 1252),
[PG_ISO_8859_5] = DEF_ENC2NAME(ISO_8859_5, 28595),
[PG_ISO_8859_6] = DEF_ENC2NAME(ISO_8859_6, 28596),
[PG_ISO_8859_7] = DEF_ENC2NAME(ISO_8859_7, 28597),
[PG_ISO_8859_8] = DEF_ENC2NAME(ISO_8859_8, 28598),
[PG_WIN1250] = DEF_ENC2NAME(WIN1250, 1250),
[PG_WIN1253] = DEF_ENC2NAME(WIN1253, 1253),
[PG_WIN1254] = DEF_ENC2NAME(WIN1254, 1254),
[PG_WIN1255] = DEF_ENC2NAME(WIN1255, 1255),
[PG_WIN1257] = DEF_ENC2NAME(WIN1257, 1257),
[PG_KOI8U] = DEF_ENC2NAME(KOI8U, 21866),
[PG_SJIS] = DEF_ENC2NAME(SJIS, 932),
[PG_BIG5] = DEF_ENC2NAME(BIG5, 950),
[PG_GBK] = DEF_ENC2NAME(GBK, 936),
[PG_UHC] = DEF_ENC2NAME(UHC, 949),
[PG_GB18030] = DEF_ENC2NAME(GB18030, 54936),
[PG_JOHAB] = DEF_ENC2NAME(JOHAB, 0),
[PG_SHIFT_JIS_2004] = DEF_ENC2NAME(SHIFT_JIS_2004, 932),
};
StaticAssertDecl(lengthof(pg_enc2icu_tbl) == PG_ENCODING_BE_LAST + 1,
"pg_enc2icu_tbl incomplete");