ICU 4.8.1.1  4.8.1.1
ucnv_err.h
Go to the documentation of this file.
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*/ 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines