1#include <search.h>
2
3struct node {
4	struct node *next;
5	struct node *prev;
6};
7
8void insque(void *element, void *pred)
9{
10	struct node *e = element;
11	struct node *p = pred;
12
13	if (!p) {
14		e->next = e->prev = 0;
15		return;
16	}
17	e->next = p->next;
18	e->prev = p;
19	p->next = e;
20	if (e->next)
21		e->next->prev = e;
22}
23
24void remque(void *element)
25{
26	struct node *e = element;
27
28	if (e->next)
29		e->next->prev = e->prev;
30	if (e->prev)
31		e->prev->next = e->next;
32}
33