/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1984. */
/* $Header: /var/lib/cvsd/repos/CSRG/43BSD/contrib/B/src/bed/queu.h,v 1.1.1.1 2018/04/24 16:12:54 root Exp $ */

/*
 * B editor -- Definitions for queues of nodes.
 */

typedef struct queue *queue;

struct queue {
	char	type;
	char	_unused;
	intlet	refcnt;
	intlet	len;
	node	q_data;
	queue	q_link;
};

#define Qnil ((queue) NULL)
#define qcopy(q) ((queue)copy((value)(q)))
#define qrelease(q) release((value)(q))
#define emptyqueue(q) (!(q))

node queuebehead();
