1 /* Header for queue management module */
9 typedef struct queuelem *queue;
14 stack push(stack,selem);
17 queue qdelete(queue,qelem);
30 #define qinsert(q, e) (((queue) push((stack) (q), (selem) (e)))->next)
31 #define qempty(q) ((q) == NULL)
32 #define pinsert(q, p) (qinsert(q, (qelem) (p)))
33 #define pfront(q) ((word) qfront(q))
34 #define minsert(q, m) (qinsert(q, (qelem) (m)))
35 #define mfront(q) ((message *) qfront(q))
36 #define mdelete(q, m) (qdelete(q, (qelem) (m)))
37 #define mpush(q, m) ((queue) push((stack) q, (selem) m))
38 #define sfree(s) qfree((queue) s)
40 #define pop(s) ((stack) qremove((queue) s))
41 #define top(s) ((selem) qfront((queue) s))