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"
00052 U_STABLE void U_EXPORT2
00053 u_init(UErrorCode *status);
00054
00055 #ifndef U_HIDE_SYSTEM_API
00056
00101 U_STABLE void U_EXPORT2
00102 u_cleanup(void);
00103
00104 U_CDECL_BEGIN
00113 typedef void *U_CALLCONV UMemAllocFn(const void *context, size_t size);
00122 typedef void *U_CALLCONV UMemReallocFn(const void *context, void *mem, size_t size);
00133 typedef void U_CALLCONV UMemFreeFn (const void *context, void *mem);
00134
00151 U_STABLE void U_EXPORT2
00152 u_setMemoryFunctions(const void *context, UMemAllocFn * U_CALLCONV_FPTR a, UMemReallocFn * U_CALLCONV_FPTR r, UMemFreeFn * U_CALLCONV_FPTR f,
00153 UErrorCode *status);
00154
00155 U_CDECL_END
00156
00157 #ifndef U_HIDE_DEPRECATED_API
00158
00159
00160
00161
00162
00163
00164
00165
00166
00174 typedef void *UMTX;
00175
00176 U_CDECL_BEGIN
00193 typedef void U_CALLCONV UMtxInitFn (const void *context, UMTX *mutex, UErrorCode* status);
00194
00195
00205 typedef void U_CALLCONV UMtxFn (const void *context, UMTX *mutex);
00206 U_CDECL_END
00207
00225 U_DEPRECATED void U_EXPORT2
00226 u_setMutexFunctions(const void *context, UMtxInitFn *init, UMtxFn *destroy, UMtxFn *lock, UMtxFn *unlock,
00227 UErrorCode *status);
00228
00229
00238 typedef int32_t U_CALLCONV UMtxAtomicFn(const void *context, int32_t *p);
00239
00255 U_DEPRECATED void U_EXPORT2
00256 u_setAtomicIncDecFunctions(const void *context, UMtxAtomicFn *inc, UMtxAtomicFn *dec,
00257 UErrorCode *status);
00258
00259 #endif
00260 #endif
00261
00262 #endif