Home | History | Annotate | Download | only in lib

Lines Matching full:head

17 SHLIST *shListFindItem( SHLIST *head, void *val, shListEqual func )
21 for(item=head->next;( item != head );item=item->next)
35 SHLIST *shListGetLastItem( SHLIST *head )
37 if( head->prev != head )
38 return( head->prev );
42 SHLIST *shListGetFirstItem( SHLIST *head )
44 if( head->next != head )
45 return( head->next );
49 SHLIST *shListGetNItem( SHLIST *head, unsigned long num )
54 for(i=0,item=head->next;( (i < num) && (item != head) );i++,item=item->next);
55 if( item != head )
60 SHLIST *shListGetNextItem( SHLIST *head, SHLIST *item )
64 if( item->next != head )
69 SHLIST *shListGetPrevItem( SHLIST *head, SHLIST *item )
73 if( item->prev != head )
78 void shListDelItem( SHLIST *head, SHLIST *item, shListFree func )
91 head->data = (void *)((unsigned long)(head->data) - 1);
94 void shListInsFirstItem( SHLIST *head, void *val )
102 item->next = head->next;
103 item->prev = head;
104 (head->next)->prev = item;
105 head->next = item;
109 head->data = (void *)((unsigned long)(head->data) + 1);
112 void shListInsLastItem( SHLIST *head, void *val )
120 item->next = head;
121 item->prev = head->prev;
122 (head->prev)->next = item;
123 head->prev = item;
127 head->data = (void *)((unsigned long)(head->data) + 1);
130 void shListInsBeforeItem( SHLIST *head, void *val, void *etal,
136 shListInsFirstItem( head, val );
142 for(iptr=head->next;( iptr != head );iptr=iptr->next)
152 head->data = (void *)((unsigned long)(head->data) + 1);
156 void shListDelAllItems( SHLIST *head, shListFree func )
160 for(item=head->next;( item != head );) {
161 shListDelItem( head, item, func );
162 item = head->next;
164 head->data = (void *)0L;
167 void shListPrintAllItems( SHLIST *head, shListPrint func )
172 for(item=head->next;( item != head );item=item->next)
182 unsigned long shListGetCount( SHLIST *head )
184 return( (unsigned long)(head->data) );