9#define __LOCK_INIT(CLASS,NAME) CLASS _LOCK_T NAME = 0
10#define __LOCK_INIT_RECURSIVE(CLASS,NAME) CLASS _LOCK_RECURSIVE_T NAME = 0
12#define __lock_init(NAME) \
13 __libc_lock_init(&(NAME),0)
15#define __lock_init_recursive(NAME) \
16 __libc_lock_init(&(NAME),1)
18#define __lock_close(NAME) \
19 __libc_lock_close(&(NAME))
21#define __lock_close_recursive(NAME) \
22 __libc_lock_close(&(NAME))
24#define __lock_acquire(NAME) \
25 if(!(NAME)) __libc_lock_init(&(NAME),0); \
26 __libc_lock_acquire(&(NAME))
28#define __lock_acquire_recursive(NAME) \
29 if(!(NAME)) __libc_lock_init(&(NAME),1); \
30 __libc_lock_acquire(&(NAME))
32#define __lock_try_acquire(NAME) \
33 if(!(NAME)) __libc_lock_init(&(NAME),0); \
34 __libc_lock_try_acquire(&(NAME))
36#define __lock_try_acquire_recursive(NAME) \
37 if(!(NAME)) __libc_lock_init(&(NAME),1); \
38 __libc_lock_try_acquire(&(NAME))
40#define __lock_release(NAME) \
41 __libc_lock_release(&(NAME))
43#define __lock_release_recursive(NAME) \
44 __libc_lock_release(&(NAME))
int __libc_lock_acquire(int *)
int __libc_lock_close(int *)
int __libc_lock_release(int *)
int __libc_lock_init(int *, int)
int __libc_lock_try_acquire(int *)