Xinu7/include/sem.h

/* sem.h - isbadsem */

#ifndef	NSEM
#define	NSEM		35	/* number of semaphores, if not defined	*/
#endif

#define	SFREE	'\01'		/* this semaphore is free		*/
#define	SUSED	'\02'		/* this semaphore is used		*/

struct	sentry	{		/* semaphore table entry		*/
	char	sstate;		/* the state SFREE or SUSED		*/
	short	semcnt;		/* count for this semaphore		*/
	short	sqhead;		/* q index of head of list		*/
	short	sqtail;		/* q index of tail of list		*/
};
extern	struct	sentry	semaph[];
extern	int	nextsem;

#define	isbadsem(s)	(s<0 || s>=NSEM)