1 /* EINA - EFL data type library
2 * Copyright (C) 2011 Vincent Torri
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library;
16 * if not, see <http://www.gnu.org/licenses/>.
22 #include "eina_config.h"
23 #include "eina_types.h"
26 * @addtogroup Eina_Tools_Group Tools
32 * @defgroup Eina_File_Group File
39 EINA_LOCK_FAIL = EINA_FALSE,
40 EINA_LOCK_SUCCEED = EINA_TRUE,
44 #ifdef EINA_HAVE_THREADS
46 # include "eina_inline_lock_wince.x"
47 # elif defined(_WIN32)
48 # include "eina_inline_lock_win32.x"
50 # include "eina_inline_lock_posix.x"
53 # include "eina_inline_lock_void.x"
56 static inline Eina_Bool eina_lock_new(Eina_Lock *mutex);
57 static inline void eina_lock_free(Eina_Lock *mutex);
58 static inline Eina_Lock_Result eina_lock_take(Eina_Lock *mutex);
59 static inline Eina_Lock_Result eina_lock_take_try(Eina_Lock *mutex);
60 static inline Eina_Lock_Result eina_lock_release(Eina_Lock *mutex);
61 static inline void eina_lock_debug(Eina_Lock *mutex);