blist 15 bidlist.c int bidlistadd(bidlist* blist, void* data){ blist 18 bidlist.c newnode->prev = blist->tail; blist 20 bidlist.c if(blist->tail != NULL){ blist 21 bidlist.c blist->tail->next = newnode; blist 23 bidlist.c blist->tail = newnode; blist 24 bidlist.c if(blist->head == NULL){ blist 25 bidlist.c blist->head = newnode; blist 27 bidlist.c blist->count++; blist 28 bidlist.c return blist->count; blist 31 bidlist.c int bidlistremove(bidlist* blist, bidnode* node){ blist 34 bidlist.c if(blist->mark == node){ blist 35 bidlist.c blist->mark = node->next; blist 40 bidlist.c blist->tail = prev; blist 45 bidlist.c blist->head = next; blist 48 bidlist.c blist->count--; blist 49 bidlist.c return blist->count; blist 52 bidlist.c int bidlistcount(bidlist* blist){ blist 53 bidlist.c return blist->count; blist 56 bidlist.c bidnode* bidlistget(bidlist* blist, int num){ blist 58 bidlist.c bidnode* point = blist->head; blist 65 bidlist.c void bidlistreset(bidlist* blist){ blist 66 bidlist.c blist->mark = blist-> head; blist 69 bidlist.c bidnode* bidlistnext(bidlist* blist){ blist 70 bidlist.c bidnode* ret = blist->mark; blist 72 bidlist.c blist->mark = blist->mark->next; blist 77 bidlist.c bidnode* bidlistsetmark(bidlist* blist, bidnode* node){ blist 78 bidlist.c blist->mark = node; blist 20 bidlist.h int bidlistadd(bidlist* blist, void* data); blist 21 bidlist.h int bidlistremove(bidlist* blist, bidnode* node); blist 22 bidlist.h int bidlistcount(bidlist* blist); blist 23 bidlist.h bidnode* bidlistget(bidlist* blist, int num); blist 24 bidlist.h void bidlistreset(bidlist* blist); blist 25 bidlist.h bidnode* bidlistnext(bidlist* blist); blist 26 bidlist.h bidnode* bidlistsetmark(bidlist* blist, bidnode* node);