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