ICU 4.8.1.1
4.8.1.1
|
00001 /* 00002 ********************************************************************** 00003 * Copyright (C) 1999-2009, International Business Machines 00004 * Corporation and others. All Rights Reserved. 00005 ********************************************************************** 00006 * 00007 * 00008 * ucnv_err.h: 00009 */ 00010 00083 #ifndef UCNV_ERR_H 00084 #define UCNV_ERR_H 00085 00086 #include "unicode/utypes.h" 00087 00088 #if !UCONFIG_NO_CONVERSION 00089 00091 struct UConverter; 00092 00094 typedef struct UConverter UConverter; 00095 00100 #define UCNV_SUB_STOP_ON_ILLEGAL "i" 00101 00106 #define UCNV_SKIP_STOP_ON_ILLEGAL "i" 00107 00112 #define UCNV_ESCAPE_ICU NULL 00113 00117 #define UCNV_ESCAPE_JAVA "J" 00118 00123 #define UCNV_ESCAPE_C "C" 00124 00129 #define UCNV_ESCAPE_XML_DEC "D" 00130 00135 #define UCNV_ESCAPE_XML_HEX "X" 00136 00140 #define UCNV_ESCAPE_UNICODE "U" 00141 00147 #define UCNV_ESCAPE_CSS2 "S" 00148 00155 typedef enum { 00156 UCNV_UNASSIGNED = 0, 00158 UCNV_ILLEGAL = 1, 00166 UCNV_IRREGULAR = 2, 00171 UCNV_RESET = 3, 00174 UCNV_CLOSE = 4, 00176 UCNV_CLONE = 5 00185 } UConverterCallbackReason; 00186 00187 00192 typedef struct { 00193 uint16_t size; 00194 UBool flush; 00195 UConverter *converter; 00196 const UChar *source; 00197 const UChar *sourceLimit; 00198 char *target; 00199 const char *targetLimit; 00200 int32_t *offsets; 00201 } UConverterFromUnicodeArgs; 00202 00203 00208 typedef struct { 00209 uint16_t size; 00210 UBool flush; 00211 UConverter *converter; 00212 const char *source; 00213 const char *sourceLimit; 00214 UChar *target; 00215 const UChar *targetLimit; 00216 int32_t *offsets; 00217 } UConverterToUnicodeArgs; 00218 00219 00234 U_STABLE void U_EXPORT2 UCNV_FROM_U_CALLBACK_STOP ( 00235 const void *context, 00236 UConverterFromUnicodeArgs *fromUArgs, 00237 const UChar* codeUnits, 00238 int32_t length, 00239 UChar32 codePoint, 00240 UConverterCallbackReason reason, 00241 UErrorCode * err); 00242 00243 00244 00258 U_STABLE void U_EXPORT2 UCNV_TO_U_CALLBACK_STOP ( 00259 const void *context, 00260 UConverterToUnicodeArgs *toUArgs, 00261 const char* codeUnits, 00262 int32_t length, 00263 UConverterCallbackReason reason, 00264 UErrorCode * err); 00265 00285 U_STABLE void U_EXPORT2 UCNV_FROM_U_CALLBACK_SKIP ( 00286 const void *context, 00287 UConverterFromUnicodeArgs *fromUArgs, 00288 const UChar* codeUnits, 00289 int32_t length, 00290 UChar32 codePoint, 00291 UConverterCallbackReason reason, 00292 UErrorCode * err); 00293 00315 U_STABLE void U_EXPORT2 UCNV_FROM_U_CALLBACK_SUBSTITUTE ( 00316 const void *context, 00317 UConverterFromUnicodeArgs *fromUArgs, 00318 const UChar* codeUnits, 00319 int32_t length, 00320 UChar32 codePoint, 00321 UConverterCallbackReason reason, 00322 UErrorCode * err); 00323 00371 U_STABLE void U_EXPORT2 UCNV_FROM_U_CALLBACK_ESCAPE ( 00372 const void *context, 00373 UConverterFromUnicodeArgs *fromUArgs, 00374 const UChar* codeUnits, 00375 int32_t length, 00376 UChar32 codePoint, 00377 UConverterCallbackReason reason, 00378 UErrorCode * err); 00379 00380 00399 U_STABLE void U_EXPORT2 UCNV_TO_U_CALLBACK_SKIP ( 00400 const void *context, 00401 UConverterToUnicodeArgs *toUArgs, 00402 const char* codeUnits, 00403 int32_t length, 00404 UConverterCallbackReason reason, 00405 UErrorCode * err); 00406 00425 U_STABLE void U_EXPORT2 UCNV_TO_U_CALLBACK_SUBSTITUTE ( 00426 const void *context, 00427 UConverterToUnicodeArgs *toUArgs, 00428 const char* codeUnits, 00429 int32_t length, 00430 UConverterCallbackReason reason, 00431 UErrorCode * err); 00432 00451 U_STABLE void U_EXPORT2 UCNV_TO_U_CALLBACK_ESCAPE ( 00452 const void *context, 00453 UConverterToUnicodeArgs *toUArgs, 00454 const char* codeUnits, 00455 int32_t length, 00456 UConverterCallbackReason reason, 00457 UErrorCode * err); 00458 00459 #endif 00460 00461 #endif 00462 00463 /*UCNV_ERR_H*/