| 
#define	Lock	Qnode*
typedef struct	Qnode	Qnode;
struct Qnode {
	Qnode	*next;
	int	locked;
};
#define lock(xyz)		mcslock(xyz)
#define unlock(xyz)	mcsunlock(xyz)
#define	canlock(xyz)	mcscanlock(xyz)
extern	void	lock(Lock*);
extern	void	unlock(Lock*);
extern	int	canlock(Lock*);
 |