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