00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef UTYPES_H
00033 #define UTYPES_H
00034
00035
00036 #include "unicode/umachine.h"
00037 #include "unicode/utf.h"
00038 #include "unicode/uversion.h"
00039
00050
00051
00052
00053
00094 #define U_ASCII_FAMILY 0
00095 #define U_EBCDIC_FAMILY 1
00096
00097 #ifndef U_CHARSET_FAMILY
00098 # define U_CHARSET_FAMILY 0
00099 #endif
00100
00101
00102
00103
00104
00114 #if U_CHARSET_FAMILY
00115 # if U_IS_BIG_ENDIAN
00116
00117 # define U_ICUDATA_TYPE_LETTER "e"
00118 # define U_ICUDATA_TYPE_LITLETTER e
00119 # else
00120 # error "Don't know what to do with little endian EBCDIC!"
00121 # define U_ICUDATA_TYPE_LETTER "x"
00122 # define U_ICUDATA_TYPE_LITLETTER x
00123 # endif
00124 #else
00125 # if U_IS_BIG_ENDIAN
00126
00127 # define U_ICUDATA_TYPE_LETTER "b"
00128 # define U_ICUDATA_TYPE_LITLETTER b
00129 # else
00130
00131 # define U_ICUDATA_TYPE_LETTER "l"
00132 # define U_ICUDATA_TYPE_LITLETTER l
00133 # endif
00134 #endif
00135
00138 #define U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151 #define U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM)
00152 #define U_DEF2_ICUDATA_ENTRY_POINT(major, minor) U_DEF_ICUDATA_ENTRY_POINT(major, minor)
00153 #define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt##major##minor##_dat
00154
00165 #if defined(OS390) && defined(XP_CPLUSPLUS)
00166 # define U_CALLCONV __cdecl
00167 #else
00168 # define U_CALLCONV
00169 #endif
00170
00175 #ifndef NULL
00176 #ifdef XP_CPLUSPLUS
00177 #define NULL 0
00178 #else
00179 #define NULL ((void *)0)
00180 #endif
00181 #endif
00182
00183
00184
00185
00186
00193 typedef double UDate;
00194
00195
00196 #define U_MILLIS_PER_SECOND (1000)
00197 #define U_MILLIS_PER_MINUTE (60000)
00198 #define U_MILLIS_PER_HOUR (3600000)
00199 #define U_MILLIS_PER_DAY (86400000)
00200
00201
00202
00203
00204
00205
00248 typedef void* UClassID;
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00286 #if defined(U_COMBINED_IMPLEMENTATION)
00287 #define U_COMMON_API U_EXPORT
00288 #define U_I18N_API U_EXPORT
00289 #define U_LAYOUT_API U_EXPORT
00290 #define U_USTDIO_API U_EXPORT
00291 #elif defined(U_STATIC_IMPLEMENTATION)
00292 #define U_COMMON_API
00293 #define U_I18N_API
00294 #define U_LAYOUT_API
00295 #define U_USTDIO_API
00296 #elif defined(U_COMMON_IMPLEMENTATION)
00297 #define U_COMMON_API U_EXPORT
00298 #define U_I18N_API U_IMPORT
00299 #define U_LAYOUT_API U_IMPORT
00300 #define U_USTDIO_API U_IMPORT
00301 #elif defined(U_I18N_IMPLEMENTATION)
00302 #define U_COMMON_API U_IMPORT
00303 #define U_I18N_API U_EXPORT
00304 #define U_LAYOUT_API U_IMPORT
00305 #define U_USTDIO_API U_IMPORT
00306 #elif defined(U_LAYOUT_IMPLEMENTATION)
00307 #define U_COMMON_API U_IMPORT
00308 #define U_I18N_API U_IMPORT
00309 #define U_LAYOUT_API U_EXPORT
00310 #define U_USTDIO_API U_IMPORT
00311 #elif defined(U_USTDIO_IMPLEMENTATION)
00312 #define U_COMMON_API U_IMPORT
00313 #define U_I18N_API U_IMPORT
00314 #define U_LAYOUT_API U_IMPORT
00315 #define U_USTDIO_API U_EXPORT
00316 #else
00317 #define U_COMMON_API U_IMPORT
00318 #define U_I18N_API U_IMPORT
00319 #define U_LAYOUT_API U_IMPORT
00320 #define U_USTDIO_API U_IMPORT
00321 #endif
00322
00327 #ifdef __cplusplus
00328 #define U_STANDARD_CPP_NAMESPACE ::
00329 #else
00330 #define U_STANDARD_CPP_NAMESPACE
00331 #endif
00332
00333
00334
00335
00336
00350 enum UErrorCode {
00351
00352
00353
00354
00355
00356 U_USING_FALLBACK_WARNING = -128,
00358 U_USING_FALLBACK_ERROR = -128,
00360 U_ERROR_WARNING_START = -128,
00363 U_ERROR_INFO_START = U_ERROR_WARNING_START,
00365 U_USING_DEFAULT_WARNING = -127,
00367 U_USING_DEFAULT_ERROR = -127,
00369 U_SAFECLONE_ALLOCATED_WARNING = -126,
00371 U_SAFECLONE_ALLOCATED_ERROR = -126,
00373 U_STATE_OLD_WARNING = -125,
00375 U_STRING_NOT_TERMINATED_WARNING = -124,
00377 U_ERROR_WARNING_LIMIT,
00380 U_ERROR_INFO_LIMIT = U_ERROR_WARNING_LIMIT,
00382 U_ZERO_ERROR = 0,
00384 U_ILLEGAL_ARGUMENT_ERROR = 1,
00385 U_MISSING_RESOURCE_ERROR = 2,
00386 U_INVALID_FORMAT_ERROR = 3,
00387 U_FILE_ACCESS_ERROR = 4,
00388 U_INTERNAL_PROGRAM_ERROR = 5,
00389 U_MESSAGE_PARSE_ERROR = 6,
00390 U_MEMORY_ALLOCATION_ERROR = 7,
00391 U_INDEX_OUTOFBOUNDS_ERROR = 8,
00392 U_PARSE_ERROR = 9,
00393 U_INVALID_CHAR_FOUND = 10,
00394 U_TRUNCATED_CHAR_FOUND = 11,
00395 U_ILLEGAL_CHAR_FOUND = 12,
00396 U_INVALID_TABLE_FORMAT = 13,
00397 U_INVALID_TABLE_FILE = 14,
00398 U_BUFFER_OVERFLOW_ERROR = 15,
00399 U_UNSUPPORTED_ERROR = 16,
00400 U_RESOURCE_TYPE_MISMATCH = 17,
00401 U_ILLEGAL_ESCAPE_SEQUENCE = 18,
00402 U_UNSUPPORTED_ESCAPE_SEQUENCE = 19,
00403 U_NO_SPACE_AVAILABLE = 20,
00404 U_CE_NOT_FOUND_ERROR = 21,
00405 U_PRIMARY_TOO_LONG_ERROR = 22,
00406 U_STATE_TOO_OLD_ERROR = 23,
00407 U_STANDARD_ERROR_LIMIT,
00408
00409
00410
00411 U_BAD_VARIABLE_DEFINITION=0x10000,
00412 U_PARSE_ERROR_START = 0x10000,
00413 U_MALFORMED_RULE,
00414 U_MALFORMED_SET,
00415 U_MALFORMED_SYMBOL_REFERENCE,
00416 U_MALFORMED_UNICODE_ESCAPE,
00417 U_MALFORMED_VARIABLE_DEFINITION,
00418 U_MALFORMED_VARIABLE_REFERENCE,
00419 U_MISMATCHED_SEGMENT_DELIMITERS,
00420 U_MISPLACED_ANCHOR_START,
00421 U_MISPLACED_CURSOR_OFFSET,
00422 U_MISPLACED_QUANTIFIER,
00423 U_MISSING_OPERATOR,
00424 U_MISSING_SEGMENT_CLOSE,
00425 U_MULTIPLE_ANTE_CONTEXTS,
00426 U_MULTIPLE_CURSORS,
00427 U_MULTIPLE_POST_CONTEXTS,
00428 U_TRAILING_BACKSLASH,
00429 U_UNDEFINED_SEGMENT_REFERENCE,
00430 U_UNDEFINED_VARIABLE,
00431 U_UNQUOTED_SPECIAL,
00432 U_UNTERMINATED_QUOTE,
00433 U_RULE_MASK_ERROR,
00434 U_MISPLACED_COMPOUND_FILTER,
00435 U_MULTIPLE_COMPOUND_FILTERS,
00436 U_INVALID_RBT_SYNTAX,
00437 U_INVALID_PROPERTY_PATTERN,
00438 U_MALFORMED_PRAGMA,
00439 U_UNCLOSED_SEGMENT,
00440 U_ILLEGAL_CHAR_IN_SEGMENT,
00441 U_VARIABLE_RANGE_EXHAUSTED,
00442 U_VARIABLE_RANGE_OVERLAP,
00443 U_PARSE_ERROR_LIMIT,
00445
00446
00447
00448 U_UNEXPECTED_TOKEN=0x10100,
00449 U_FMT_PARSE_ERROR_START=0x10100,
00450 U_MULTIPLE_DECIMAL_SEPERATORS,
00451 U_MULTIPLE_EXPONENTIAL_SYMBOLS,
00452 U_MALFORMED_EXPONENTIAL_PATTERN,
00453 U_MULTIPLE_PERCENT_SYMBOLS,
00454 U_MULTIPLE_PERMILL_SYMBOLS,
00455 U_MULTIPLE_PAD_SPECIFIERS,
00456 U_PATTERN_SYNTAX_ERROR,
00457 U_ILLEGAL_PAD_POSITION,
00458 U_UNMATCHED_BRACES,
00459 U_UNSUPPORTED_PROPERTY,
00460 U_UNSUPPORTED_ATTRIBUTE,
00461 U_FMT_PARSE_ERROR_LIMIT,
00462
00463 U_ERROR_LIMIT=U_FMT_PARSE_ERROR_LIMIT
00464 };
00465
00466 #ifndef XP_CPLUSPLUS
00467 typedef enum UErrorCode UErrorCode;
00468 #endif
00469
00470
00471
00472
00473 #ifdef XP_CPLUSPLUS
00474
00478 static
00479 inline UBool U_SUCCESS(UErrorCode code) { return (UBool)(code<=U_ZERO_ERROR); }
00484 static
00485 inline UBool U_FAILURE(UErrorCode code) { return (UBool)(code>U_ZERO_ERROR); }
00486 #else
00487
00491 # define U_SUCCESS(x) ((x)<=U_ZERO_ERROR)
00492
00496 # define U_FAILURE(x) ((x)>U_ZERO_ERROR)
00497 #endif
00498
00504 U_CAPI const char * U_EXPORT2
00505 u_errorName(UErrorCode code);
00506
00511 typedef void *UMTX;
00512
00513
00514
00515
00516
00517
00518
00519 #include "unicode/putil.h"
00520
00521 #endif