|  | /* | 
|  | ******************************************************************************* | 
|  | * | 
|  | *   Copyright (C) 2000-2003, International Business Machines | 
|  | *   Corporation and others.  All Rights Reserved. | 
|  | * | 
|  | ******************************************************************************* | 
|  | *   file name:  genmbcs.h | 
|  | *   encoding:   US-ASCII | 
|  | *   tab size:   8 (not used) | 
|  | *   indentation:4 | 
|  | * | 
|  | *   created on: 2000jul10 | 
|  | *   created by: Markus W. Scherer | 
|  | */ | 
|  |  | 
|  | #ifndef __GENMBCS_H__ | 
|  | #define __GENMBCS_H__ | 
|  |  | 
|  | #include "makeconv.h" | 
|  |  | 
|  | enum { | 
|  | MBCS_STAGE_2_BLOCK_SIZE=0x40, /* 64; 64=1<<6 for 6 bits in stage 2 */ | 
|  | MBCS_STAGE_2_BLOCK_SIZE_SHIFT=6, /* log2(MBCS_STAGE_2_BLOCK_SIZE) */ | 
|  | MBCS_STAGE_1_SIZE=0x440, /* 0x110000>>10, or 17*64 for one entry per 1k code points */ | 
|  | MBCS_STAGE_2_SIZE=0xfbc0, /* 0x10000-MBCS_STAGE_1_SIZE */ | 
|  | MBCS_MAX_STAGE_2_TOP=MBCS_STAGE_2_SIZE, | 
|  | MBCS_STAGE_2_MAX_BLOCKS=MBCS_STAGE_2_SIZE>>MBCS_STAGE_2_BLOCK_SIZE_SHIFT, | 
|  |  | 
|  | MBCS_STAGE_2_ALL_UNASSIGNED_INDEX=0, /* stage 1 entry for the all-unassigned stage 2 block */ | 
|  | MBCS_STAGE_2_FIRST_ASSIGNED=MBCS_STAGE_2_BLOCK_SIZE, /* start of the first stage 2 block after the all-unassigned one */ | 
|  |  | 
|  | MBCS_STAGE_3_BLOCK_SIZE=16, /* 16; 16=1<<4 for 4 bits in stage 3 */ | 
|  | MBCS_STAGE_3_FIRST_ASSIGNED=MBCS_STAGE_3_BLOCK_SIZE, /* start of the first stage 3 block after the all-unassigned one */ | 
|  |  | 
|  | MBCS_MAX_FALLBACK_COUNT=8192 | 
|  | }; | 
|  |  | 
|  | U_CFUNC NewConverter * | 
|  | MBCSOpen(UCMFile *ucm); | 
|  |  | 
|  | U_CFUNC NewConverter * | 
|  | CnvExtOpen(UCMFile *ucm); | 
|  |  | 
|  | #endif |