#include "unicode/utrace.h"
#include "utracimp.h"
#include "cstring.h"
#include "uassert.h"
#include "ucln_cmn.h"
static UTraceEntry *pTraceEntryFunc = …;
static UTraceExit *pTraceExitFunc = …;
static UTraceData *pTraceDataFunc = …;
static const void *gTraceContext = …;
static int32_t
utrace_level = …;
U_CAPI void U_EXPORT2
utrace_entry(int32_t fnNumber) { … }
static const char gExitFmt[] = …;
static const char gExitFmtValue[] = …;
static const char gExitFmtStatus[] = …;
static const char gExitFmtValueStatus[] = …;
static const char gExitFmtPtrStatus[] = …;
U_CAPI void U_EXPORT2
utrace_exit(int32_t fnNumber, int32_t returnType, ...) { … }
U_CAPI void U_EXPORT2
utrace_data(int32_t fnNumber, int32_t level, const char *fmt, ...) { … }
static void outputChar(char c, char *outBuf, int32_t *outIx, int32_t capacity, int32_t indent) { … }
static void outputHexBytes(int64_t val, int32_t charsToOutput,
char *outBuf, int32_t *outIx, int32_t capacity) { … }
static void outputPtrBytes(void *val, char *outBuf, int32_t *outIx, int32_t capacity) { … }
static void outputString(const char *s, char *outBuf, int32_t *outIx, int32_t capacity, int32_t indent) { … }
static void outputUString(const char16_t *s, int32_t len,
char *outBuf, int32_t *outIx, int32_t capacity, int32_t indent) { … }
U_CAPI int32_t U_EXPORT2
utrace_vformat(char *outBuf, int32_t capacity, int32_t indent, const char *fmt, va_list args) { … }
U_CAPI int32_t U_EXPORT2
utrace_format(char *outBuf, int32_t capacity,
int32_t indent, const char *fmt, ...) { … }
U_CAPI void U_EXPORT2
utrace_setFunctions(const void *context,
UTraceEntry *e, UTraceExit *x, UTraceData *d) { … }
U_CAPI void U_EXPORT2
utrace_getFunctions(const void **context,
UTraceEntry **e, UTraceExit **x, UTraceData **d) { … }
U_CAPI void U_EXPORT2
utrace_setLevel(int32_t level) { … }
U_CAPI int32_t U_EXPORT2
utrace_getLevel() { … }
U_CFUNC UBool
utrace_cleanup() { … }
static const char * const
trFnName[] = …;
static const char * const
trConvNames[] = …;
static const char * const
trCollNames[] = …;
static const char* const
trResDataNames[] = …;
U_CAPI const char * U_EXPORT2
utrace_functionName(int32_t fnNumber) { … }