2 * Copyright (C) 1994, Index Data.
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
7 * Revision 1.2 1995-11-01 13:54:57 quinn
10 * Revision 1.1 1995/05/15 12:12:22 quinn
17 * Simple queue management.
19 * We also use the request-freelist to store encoding buffers, rather than
20 * freeing and xmalloc'ing them on each cycle.
28 static request *request_list = 0; /* global freelist for requests */
30 void request_enq(request_q *q, request *r)
40 request *request_head(request_q *q)
45 request *request_deq(request_q *q)
51 q->head = q->head->next;
58 void request_initq(request_q *q)
60 q->head = q->tail = 0;
64 request *request_get(void)
66 request *r = request_list;
69 request_list = r->next;
72 if (!(r = xmalloc(sizeof(*r))))
81 r->state = REQUEST_IDLE;
86 void request_release(request *r)
88 r->next = request_list;