00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __UTRACE_H__
00023 #define __UTRACE_H__
00024
00025 #include <stdarg.h>
00026 #include "unicode/utypes.h"
00027
00039 U_CDECL_BEGIN
00040
00046 typedef enum UTraceLevel {
00048 UTRACE_OFF=-1,
00050 UTRACE_ERROR=0,
00052 UTRACE_WARNING=3,
00054 UTRACE_OPEN_CLOSE=5,
00056 UTRACE_INFO=7,
00058 UTRACE_VERBOSE=9
00059 } UTraceLevel;
00060
00065 typedef enum UTraceFunctionNumber {
00066 UTRACE_FUNCTION_START=0,
00067 UTRACE_U_INIT=UTRACE_FUNCTION_START,
00068 UTRACE_U_CLEANUP,
00069
00070 #ifndef U_HIDE_DEPRECATED_API
00071
00075 UTRACE_FUNCTION_LIMIT,
00076 #endif // U_HIDE_DEPRECATED_API
00077
00078 UTRACE_CONVERSION_START=0x1000,
00079 UTRACE_UCNV_OPEN=UTRACE_CONVERSION_START,
00080 UTRACE_UCNV_OPEN_PACKAGE,
00081 UTRACE_UCNV_OPEN_ALGORITHMIC,
00082 UTRACE_UCNV_CLONE,
00083 UTRACE_UCNV_CLOSE,
00084 UTRACE_UCNV_FLUSH_CACHE,
00085 UTRACE_UCNV_LOAD,
00086 UTRACE_UCNV_UNLOAD,
00087
00088 #ifndef U_HIDE_DEPRECATED_API
00089
00093 UTRACE_CONVERSION_LIMIT,
00094 #endif // U_HIDE_DEPRECATED_API
00095
00096 UTRACE_COLLATION_START=0x2000,
00097 UTRACE_UCOL_OPEN=UTRACE_COLLATION_START,
00098 UTRACE_UCOL_CLOSE,
00099 UTRACE_UCOL_STRCOLL,
00100 UTRACE_UCOL_GET_SORTKEY,
00101 UTRACE_UCOL_GETLOCALE,
00102 UTRACE_UCOL_NEXTSORTKEYPART,
00103 UTRACE_UCOL_STRCOLLITER,
00104 UTRACE_UCOL_OPEN_FROM_SHORT_STRING,
00105 UTRACE_UCOL_STRCOLLUTF8,
00107 #ifndef U_HIDE_DEPRECATED_API
00108
00112 UTRACE_COLLATION_LIMIT,
00113 #endif // U_HIDE_DEPRECATED_API
00114
00115 #ifndef U_HIDE_DRAFT_API
00116
00121 UTRACE_UDATA_START=0x3000,
00122
00138 UTRACE_UDATA_RESOURCE=UTRACE_UDATA_START,
00139
00146 UTRACE_UDATA_BUNDLE,
00147
00155 UTRACE_UDATA_DATA_FILE,
00156
00168 UTRACE_UDATA_RES_FILE,
00169
00170 #endif // U_HIDE_DRAFT_API
00171
00172 #ifndef U_HIDE_INTERNAL_API
00173
00177 UTRACE_RES_DATA_LIMIT,
00178 #endif // U_HIDE_INTERNAL_API
00179
00180 #ifndef U_HIDE_DRAFT_API
00181
00185 UTRACE_UBRK_START=0x4000,
00186
00192 UTRACE_UBRK_CREATE_CHARACTER = UTRACE_UBRK_START,
00193
00199 UTRACE_UBRK_CREATE_WORD,
00200
00209 UTRACE_UBRK_CREATE_LINE,
00210
00216 UTRACE_UBRK_CREATE_SENTENCE,
00217
00223 UTRACE_UBRK_CREATE_TITLE,
00224
00233 UTRACE_UBRK_CREATE_BREAK_ENGINE,
00234
00235 #endif // U_HIDE_DRAFT_API
00236
00237 #ifndef U_HIDE_INTERNAL_API
00238
00242 UTRACE_UBRK_LIMIT,
00243 #endif // U_HIDE_INTERNAL_API
00244
00245 } UTraceFunctionNumber;
00246
00252 U_STABLE void U_EXPORT2
00253 utrace_setLevel(int32_t traceLevel);
00254
00260 U_STABLE int32_t U_EXPORT2
00261 utrace_getLevel(void);
00262
00263
00264
00271 typedef void U_CALLCONV
00272 UTraceEntry(const void *context, int32_t fnNumber);
00273
00287 typedef void U_CALLCONV
00288 UTraceExit(const void *context, int32_t fnNumber,
00289 const char *fmt, va_list args);
00290
00302 typedef void U_CALLCONV
00303 UTraceData(const void *context, int32_t fnNumber, int32_t level,
00304 const char *fmt, va_list args);
00305
00334 U_STABLE void U_EXPORT2
00335 utrace_setFunctions(const void *context,
00336 UTraceEntry *e, UTraceExit *x, UTraceData *d);
00337
00348 U_STABLE void U_EXPORT2
00349 utrace_getFunctions(const void **context,
00350 UTraceEntry **e, UTraceExit **x, UTraceData **d);
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363
00364
00365
00366
00367
00368
00369
00370
00371
00372
00373
00374
00375
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449
00450
00470 U_STABLE int32_t U_EXPORT2
00471 utrace_vformat(char *outBuf, int32_t capacity,
00472 int32_t indent, const char *fmt, va_list args);
00473
00491 U_STABLE int32_t U_EXPORT2
00492 utrace_format(char *outBuf, int32_t capacity,
00493 int32_t indent, const char *fmt, ...);
00494
00495
00496
00497
00498
00508 U_STABLE const char * U_EXPORT2
00509 utrace_functionName(int32_t fnNumber);
00510
00511 U_CDECL_END
00512
00513 #endif