ICU 73.2  73.2
uclean.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 ******************************************************************************
00005 * Copyright (C) 2001-2014, International Business Machines
00006 *                Corporation and others. All Rights Reserved.
00007 ******************************************************************************
00008 *   file name:  uclean.h
00009 *   encoding:   UTF-8
00010 *   tab size:   8 (not used)
00011 *   indentation:4
00012 *
00013 *   created on: 2001July05
00014 *   created by: George Rhoten
00015 */
00016 
00017 #ifndef __UCLEAN_H__
00018 #define __UCLEAN_H__
00019 
00020 #include "unicode/utypes.h"
00052 U_CAPI void U_EXPORT2 
00053 u_init(UErrorCode *status);
00054 
00055 #ifndef U_HIDE_SYSTEM_API
00056 
00101 U_CAPI void U_EXPORT2 
00102 u_cleanup(void);
00103 
00104 U_CDECL_BEGIN
00113 typedef void *U_CALLCONV UMemAllocFn(const void *context, size_t size);
00123 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_CAPI 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  * Deprecated Functions
00161  *
00162  *    The following functions for user supplied mutexes are no longer supported.
00163  *    Any attempt to use them will return a U_UNSUPPORTED_ERROR.
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  /* U_HIDE_DEPRECATED_API */
00260 #endif  /* U_HIDE_SYSTEM_API */
00261 
00262 #endif