1/* 2********************************************************************** 3* Copyright (C) 2013, International Business Machines 4* Corporation and others. All Rights Reserved. 5********************************************************************** 6* 7* File cmutex.h 8* 9* Minimal plain C declarations for ICU mutex functions. 10* This header provides a transition path for plain C files that 11* formerly included mutex.h, which is now a C++ only header. 12* 13* This header should not be used for new code. 14* 15* C++ files should include umutex.h, not this header. 16* 17*/ 18 19#ifndef __CMUTEX_H__ 20#define __CMUTEX_H__ 21 22typedef struct UMutex UMutex; 23 24 25/* Lock a mutex. 26 * @param mutex The given mutex to be locked. Pass NULL to specify 27 * the global ICU mutex. Recursive locks are an error 28 * and may cause a deadlock on some platforms. 29 */ 30U_INTERNAL void U_EXPORT2 umtx_lock(UMutex* mutex); 31 32/* Unlock a mutex. 33 * @param mutex The given mutex to be unlocked. Pass NULL to specify 34 * the global ICU mutex. 35 */ 36U_INTERNAL void U_EXPORT2 umtx_unlock (UMutex* mutex); 37 38#endif 39 40