Xinu7/include/mark.h

/* mark.h - marked, unmarked */

#ifndef	MAXMARK
#define	MAXMARK	20		/* maximum number of marked locations	*/
#endif
#ifdef	MEMMARK
extern	int	*(marks[]);
extern	int	nmarks;
extern	int	mkmutex;
typedef	int	MARKER[1];	/* by declaring it to be an array, the	*/
				/* name provides an address so forgotten*/
				/* &'s don't become a problem		*/

#define	unmarked(L)		(L[0]<0 || L[0]>=nmarks || marks[L[0]]!=L)
#define	marked(L)		!unmarked(L)
#endif