00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __UCLEAN_H__
00018 #define __UCLEAN_H__
00019
00020 #include "unicode/utypes.h"
00021
00051 U_CAPI void U_EXPORT2
00052 u_init(UErrorCode *status);
00053
00090 U_CAPI void U_EXPORT2
00091 u_cleanup(void);
00092
00093
00094
00095
00103 typedef void *UMTX;
00104
00121 typedef void U_CALLCONV UMtxInitFn (const void *context, UMTX *mutex, UErrorCode* status);
00122
00123
00133 typedef void U_CALLCONV UMtxFn (const void *context, UMTX *mutex);
00134
00135
00153 U_CAPI void U_EXPORT2
00154 u_setMutexFunctions(const void *context, UMtxInitFn *init, UMtxFn *destroy, UMtxFn *lock, UMtxFn *unlock,
00155 UErrorCode *status);
00156
00157
00166 typedef int32_t U_CALLCONV UMtxAtomicFn(const void *context, int32_t *p);
00167
00183 U_CAPI void U_EXPORT2
00184 u_setAtomicIncDecFunctions(const void *context, UMtxAtomicFn *inc, UMtxAtomicFn *dec,
00185 UErrorCode *status);
00186
00187
00188
00197 typedef void *U_CALLCONV UMemAllocFn(const void *context, size_t size);
00206 typedef void *U_CALLCONV UMemReallocFn(const void *context, void *mem, size_t size);
00217 typedef void U_CALLCONV UMemFreeFn (const void *context, void *mem);
00218
00235 U_CAPI void U_EXPORT2
00236 u_setMemoryFunctions(const void *context, UMemAllocFn *a, UMemReallocFn *r, UMemFreeFn *f,
00237 UErrorCode *status);
00238
00239 #endif