Changeset 2002 for Whitix/trunk

Show
Ignore:
Timestamp:
04/02/09 21:09:50 (3 years ago)
Author:
mwhitworth
Message:

Add ListMove and ListMoveTail functions.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Whitix/trunk/include/llist.h

    r1930 r2002  
    140140} 
    141141 
     142static inline void ListMove(struct ListHead* list, struct ListHead* head) 
     143{ 
     144        DoListRemove(list->prev, list->next); 
     145        ListAdd(list, head); 
     146} 
     147 
     148static inline void ListMoveTail(struct ListHead* list, struct ListHead* head) 
     149{ 
     150        DoListRemove(list->prev, list->next); 
     151        ListAddTail(list, head); 
     152} 
     153 
    142154/* Minus the address of the list_struct within the struct by the start of the struct */ 
    143155#define ListEntry(ptr,type,member) \ 
     
    148160         &(pos->member) != head; \ 
    149161         pos=ListEntry(pos->member.next, typeof(*pos), member)) 
     162 
     163#define ListForEachEntryReverse(pos, head, member) \ 
     164        for (pos=ListEntry((head)->prev, typeof(*pos), member); \ 
     165        &(pos->member) != head;                                                                 \ 
     166        pos = ListEntry(pos->member.prev, typeof(*pos), member)) 
    150167 
    151168#define ListForEachEntrySafe(pos,n,head,member) \