00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00083
00084
#ifndef UCNV_H
00085
# include "unicode/ucnv.h"
00086
00087
#endif
00088
00089
#ifndef UCNV_ERR_H
00090
#define UCNV_ERR_H
00091
00092
#include "unicode/utypes.h"
00093
00094
00099
#define UCNV_SUB_STOP_ON_ILLEGAL "i"
00100
00105
#define UCNV_SKIP_STOP_ON_ILLEGAL "i"
00106
00111
#define UCNV_ESCAPE_ICU NULL
00112
00116
#define UCNV_ESCAPE_JAVA "J"
00117
00122
#define UCNV_ESCAPE_C "C"
00123
00128
#define UCNV_ESCAPE_XML_DEC "D"
00129
00134 #define UCNV_ESCAPE_XML_HEX "X"
00135
00139
#define UCNV_ESCAPE_UNICODE "U"
00140
00147 typedef enum {
00148
UCNV_UNASSIGNED = 0,
00150
UCNV_ILLEGAL = 1,
00158
UCNV_IRREGULAR = 2,
00163
UCNV_RESET = 3,
00166
UCNV_CLOSE = 4,
00168
UCNV_CLONE = 5
00177 }
UConverterCallbackReason;
00178
00179
00184
typedef struct {
00185
uint16_t size;
00186
UBool flush;
00187
UConverter *converter;
00188
const UChar *source;
00189
const UChar *sourceLimit;
00190
char *target;
00191
const char *targetLimit;
00192
int32_t *offsets;
00193 }
UConverterFromUnicodeArgs;
00194
00195
00200 typedef struct {
00201
uint16_t size;
00202 UBool flush;
00203
UConverter *converter;
00204 const char *source;
00205
const char *sourceLimit;
00206 UChar *target;
00207
const UChar *targetLimit;
00208 int32_t *offsets;
00209 }
UConverterToUnicodeArgs;
00210
00211
00226
U_STABLE void U_EXPORT2 UCNV_FROM_U_CALLBACK_STOP (
00227 const void *context,
00228
UConverterFromUnicodeArgs *fromUArgs,
00229 const UChar*
codeUnits,
00230 int32_t
length,
00231 UChar32 codePoint,
00232 UConverterCallbackReason
reason,
00233 UErrorCode * err);
00234
00235
00236
00250
U_STABLE void U_EXPORT2 UCNV_TO_U_CALLBACK_STOP (
00251
const void *context,
00252
UConverterToUnicodeArgs *toUArgs,
00253
const char* codeUnits,
00254 int32_t length,
00255 UConverterCallbackReason reason,
00256 UErrorCode * err);
00257
00277
U_STABLE void U_EXPORT2 UCNV_FROM_U_CALLBACK_SKIP (
00278
const void *context,
00279
UConverterFromUnicodeArgs *fromUArgs,
00280
const UChar* codeUnits,
00281 int32_t length,
00282 UChar32 codePoint,
00283 UConverterCallbackReason reason,
00284 UErrorCode * err);
00285
00307
U_STABLE void U_EXPORT2 UCNV_FROM_U_CALLBACK_SUBSTITUTE (
00308
const void *context,
00309
UConverterFromUnicodeArgs *fromUArgs,
00310
const UChar* codeUnits,
00311 int32_t length,
00312 UChar32 codePoint,
00313 UConverterCallbackReason reason,
00314 UErrorCode * err);
00315
00363
U_STABLE void U_EXPORT2 UCNV_FROM_U_CALLBACK_ESCAPE (
00364
const void *context,
00365
UConverterFromUnicodeArgs *fromUArgs,
00366
const UChar* codeUnits,
00367 int32_t length,
00368 UChar32 codePoint,
00369 UConverterCallbackReason reason,
00370 UErrorCode * err);
00371
00372
00391
U_STABLE void U_EXPORT2 UCNV_TO_U_CALLBACK_SKIP (
00392
const void *context,
00393
UConverterToUnicodeArgs *toUArgs,
00394
const char* codeUnits,
00395 int32_t length,
00396 UConverterCallbackReason reason,
00397 UErrorCode * err);
00398
00417
U_STABLE void U_EXPORT2 UCNV_TO_U_CALLBACK_SUBSTITUTE (
00418
const void *context,
00419
UConverterToUnicodeArgs *toUArgs,
00420
const char* codeUnits,
00421 int32_t length,
00422 UConverterCallbackReason reason,
00423 UErrorCode * err);
00424
00443
U_STABLE void U_EXPORT2 UCNV_TO_U_CALLBACK_ESCAPE (
00444
const void *context,
00445
UConverterToUnicodeArgs *toUArgs,
00446
const char* codeUnits,
00447 int32_t length,
00448 UConverterCallbackReason reason,
00449 UErrorCode * err);
00450
00451
#endif
00452
00453