xref: /plan9/sys/include/ape/lock.h (revision 51f48f69b4c3e5c9d9f7955d28612ef2d4048ccc)
1 #if !defined(_RESEARCH_SOURCE) && !defined(_PLAN9_SOURCE)
2    This header file is an extension of ANSI/POSIX
3 #endif
4 
5 #ifndef __LOCK_H
6 #define __LOCK_H
7 #pragma lib "/$M/lib/ape/libap.a"
8 
9 #include <u.h>
10 
11 typedef struct
12 {
13 	long	key;
14 	long	sem;
15 } Lock;
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 extern	void	lock(Lock*);
22 extern	void	unlock(Lock*);
23 extern	int	canlock(Lock*);
24 extern	int	tas(int*);
25 
26 #ifdef __cplusplus
27 }
28 #endif
29 
30 #endif
31