Home | History | Annotate | Download | only in common
      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 
     22 typedef 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  */
     30 U_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  */
     36 U_INTERNAL void U_EXPORT2 umtx_unlock (UMutex* mutex);
     37 
     38 #endif
     39 
     40