/* * Codepage tables * * Copyright 2000 Alexandre Julliard */ #include #include "wine/unicode.h" /* Everything below this line is generated automatically by cpmap.pl */ /* ### cpmap begin ### */ extern union cptable cptable_037; extern union cptable cptable_042; extern union cptable cptable_424; extern union cptable cptable_437; extern union cptable cptable_500; extern union cptable cptable_737; extern union cptable cptable_775; extern union cptable cptable_850; extern union cptable cptable_852; extern union cptable cptable_855; extern union cptable cptable_856; extern union cptable cptable_857; extern union cptable cptable_860; extern union cptable cptable_861; extern union cptable cptable_862; extern union cptable cptable_863; extern union cptable cptable_864; extern union cptable cptable_865; extern union cptable cptable_866; extern union cptable cptable_869; extern union cptable cptable_874; extern union cptable cptable_875; extern union cptable cptable_878; extern union cptable cptable_932; extern union cptable cptable_936; extern union cptable cptable_949; extern union cptable cptable_950; extern union cptable cptable_1006; extern union cptable cptable_1026; extern union cptable cptable_1250; extern union cptable cptable_1251; extern union cptable cptable_1252; extern union cptable cptable_1253; extern union cptable cptable_1254; extern union cptable cptable_1255; extern union cptable cptable_1256; extern union cptable cptable_1257; extern union cptable cptable_1258; extern union cptable cptable_10000; extern union cptable cptable_10006; extern union cptable cptable_10007; extern union cptable cptable_10029; extern union cptable cptable_10079; extern union cptable cptable_10081; extern union cptable cptable_20866; extern union cptable cptable_28591; extern union cptable cptable_28592; extern union cptable cptable_28593; extern union cptable cptable_28594; extern union cptable cptable_28595; extern union cptable cptable_28596; extern union cptable cptable_28597; extern union cptable cptable_28598; extern union cptable cptable_28599; extern union cptable cptable_28600; extern union cptable cptable_28603; extern union cptable cptable_28604; extern union cptable cptable_28605; static const union cptable * const cptables[58] = { &cptable_037, &cptable_042, &cptable_424, &cptable_437, &cptable_500, &cptable_737, &cptable_775, &cptable_850, &cptable_852, &cptable_855, &cptable_856, &cptable_857, &cptable_860, &cptable_861, &cptable_862, &cptable_863, &cptable_864, &cptable_865, &cptable_866, &cptable_869, &cptable_874, &cptable_875, &cptable_878, &cptable_932, &cptable_936, &cptable_949, &cptable_950, &cptable_1006, &cptable_1026, &cptable_1250, &cptable_1251, &cptable_1252, &cptable_1253, &cptable_1254, &cptable_1255, &cptable_1256, &cptable_1257, &cptable_1258, &cptable_10000, &cptable_10006, &cptable_10007, &cptable_10029, &cptable_10079, &cptable_10081, &cptable_20866, &cptable_28591, &cptable_28592, &cptable_28593, &cptable_28594, &cptable_28595, &cptable_28596, &cptable_28597, &cptable_28598, &cptable_28599, &cptable_28600, &cptable_28603, &cptable_28604, &cptable_28605, }; /* ### cpmap end ### */ /* Everything above this line is generated automatically by cpmap.pl */ #define NB_CODEPAGES (sizeof(cptables)/sizeof(cptables[0])) static int cmp_codepage( const void *codepage, const void *entry ) { return (unsigned int)codepage - (*(union cptable **)entry)->info.codepage; } /* get the table of a given code page */ const union cptable *cp_get_table( unsigned int codepage ) { const union cptable **res; if (!(res = bsearch( (void *)codepage, cptables, NB_CODEPAGES, sizeof(cptables[0]), cmp_codepage ))) return NULL; return *res; } /* enum valid codepages */ const union cptable *cp_enum_table( unsigned int index ) { if (index >= NB_CODEPAGES) return NULL; return cptables[index]; }