ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

cptable.c
Go to the documentation of this file.
00001 /*
00002  * Codepage tables
00003  *
00004  * Copyright 2000 Alexandre Julliard
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #include <stdlib.h>
00022 
00023 #include "wine/unicode.h"
00024 
00025 /* Everything below this line is generated automatically by cpmap.pl */
00026 /* ### cpmap begin ### */
00027 extern union cptable cptable_037;
00028 extern union cptable cptable_424;
00029 extern union cptable cptable_437;
00030 extern union cptable cptable_500;
00031 extern union cptable cptable_737;
00032 extern union cptable cptable_775;
00033 extern union cptable cptable_850;
00034 extern union cptable cptable_852;
00035 extern union cptable cptable_855;
00036 extern union cptable cptable_856;
00037 extern union cptable cptable_857;
00038 extern union cptable cptable_860;
00039 extern union cptable cptable_861;
00040 extern union cptable cptable_862;
00041 extern union cptable cptable_863;
00042 extern union cptable cptable_864;
00043 extern union cptable cptable_865;
00044 extern union cptable cptable_866;
00045 extern union cptable cptable_869;
00046 extern union cptable cptable_874;
00047 extern union cptable cptable_875;
00048 extern union cptable cptable_878;
00049 extern union cptable cptable_932;
00050 extern union cptable cptable_936;
00051 extern union cptable cptable_949;
00052 extern union cptable cptable_950;
00053 extern union cptable cptable_1006;
00054 extern union cptable cptable_1026;
00055 extern union cptable cptable_1250;
00056 extern union cptable cptable_1251;
00057 extern union cptable cptable_1252;
00058 extern union cptable cptable_1253;
00059 extern union cptable cptable_1254;
00060 extern union cptable cptable_1255;
00061 extern union cptable cptable_1256;
00062 extern union cptable cptable_1257;
00063 extern union cptable cptable_1258;
00064 extern union cptable cptable_1361;
00065 extern union cptable cptable_10000;
00066 extern union cptable cptable_10006;
00067 extern union cptable cptable_10007;
00068 extern union cptable cptable_10029;
00069 extern union cptable cptable_10079;
00070 extern union cptable cptable_10081;
00071 extern union cptable cptable_20127;
00072 extern union cptable cptable_20866;
00073 extern union cptable cptable_20932;
00074 extern union cptable cptable_21866;
00075 extern union cptable cptable_28591;
00076 extern union cptable cptable_28592;
00077 extern union cptable cptable_28593;
00078 extern union cptable cptable_28594;
00079 extern union cptable cptable_28595;
00080 extern union cptable cptable_28596;
00081 extern union cptable cptable_28597;
00082 extern union cptable cptable_28598;
00083 extern union cptable cptable_28599;
00084 extern union cptable cptable_28600;
00085 extern union cptable cptable_28603;
00086 extern union cptable cptable_28604;
00087 extern union cptable cptable_28605;
00088 extern union cptable cptable_28606;
00089 
00090 static const union cptable * const cptables[62] =
00091 {
00092     &cptable_037,
00093     &cptable_424,
00094     &cptable_437,
00095     &cptable_500,
00096     &cptable_737,
00097     &cptable_775,
00098     &cptable_850,
00099     &cptable_852,
00100     &cptable_855,
00101     &cptable_856,
00102     &cptable_857,
00103     &cptable_860,
00104     &cptable_861,
00105     &cptable_862,
00106     &cptable_863,
00107     &cptable_864,
00108     &cptable_865,
00109     &cptable_866,
00110     &cptable_869,
00111     &cptable_874,
00112     &cptable_875,
00113     &cptable_878,
00114     &cptable_932,
00115     &cptable_936,
00116     &cptable_949,
00117     &cptable_950,
00118     &cptable_1006,
00119     &cptable_1026,
00120     &cptable_1250,
00121     &cptable_1251,
00122     &cptable_1252,
00123     &cptable_1253,
00124     &cptable_1254,
00125     &cptable_1255,
00126     &cptable_1256,
00127     &cptable_1257,
00128     &cptable_1258,
00129     &cptable_1361,
00130     &cptable_10000,
00131     &cptable_10006,
00132     &cptable_10007,
00133     &cptable_10029,
00134     &cptable_10079,
00135     &cptable_10081,
00136     &cptable_20127,
00137     &cptable_20866,
00138     &cptable_20932,
00139     &cptable_21866,
00140     &cptable_28591,
00141     &cptable_28592,
00142     &cptable_28593,
00143     &cptable_28594,
00144     &cptable_28595,
00145     &cptable_28596,
00146     &cptable_28597,
00147     &cptable_28598,
00148     &cptable_28599,
00149     &cptable_28600,
00150     &cptable_28603,
00151     &cptable_28604,
00152     &cptable_28605,
00153     &cptable_28606,
00154 };
00155 /* ### cpmap end ### */
00156 /* Everything above this line is generated automatically by cpmap.pl */
00157 
00158 #define NB_CODEPAGES  (sizeof(cptables)/sizeof(cptables[0]))
00159 
00160 
00161 static int cmp_codepage( const void *codepage, const void *entry )
00162 {
00163     return *(const unsigned int *)codepage - (*(const union cptable *const *)entry)->info.codepage;
00164 }
00165 
00166 
00167 /* get the table of a given code page */
00168 const union cptable *wine_cp_get_table( unsigned int codepage )
00169 {
00170     const union cptable **res;
00171 
00172     if (!(res = bsearch( &codepage, cptables, NB_CODEPAGES,
00173                          sizeof(cptables[0]), cmp_codepage ))) return NULL;
00174     return *res;
00175 }
00176 
00177 
00178 /* enum valid codepages */
00179 const union cptable *wine_cp_enum_table( unsigned int index )
00180 {
00181     if (index >= NB_CODEPAGES) return NULL;
00182     return cptables[index];
00183 }

Generated on Sat May 26 2012 04:36:40 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.