4 * Copyright 1998 Patrik Stridvall
13 /***********************************************************************
14 * InitializeListHead32
16 VOID
InitializeListHead32(PLIST_ENTRY32 pListHead
)
18 pListHead
->Flink
= pListHead
;
19 pListHead
->Blink
= pListHead
;
22 /***********************************************************************
25 VOID
InsertHeadList32(PLIST_ENTRY32 pListHead
, PLIST_ENTRY32 pEntry
)
27 pEntry
->Blink
= pListHead
;
28 pEntry
->Flink
= pListHead
->Flink
;
29 pListHead
->Flink
= pEntry
;
32 /***********************************************************************
35 VOID
InsertTailList32(PLIST_ENTRY32 pListHead
, PLIST_ENTRY32 pEntry
)
37 pEntry
->Flink
= pListHead
;
38 pEntry
->Blink
= pListHead
->Blink
;
39 pListHead
->Blink
= pEntry
;
42 /***********************************************************************
45 BOOLEAN
IsListEmpty32(PLIST_ENTRY32 pListHead
)
50 /***********************************************************************
53 PSINGLE_LIST_ENTRY32
PopEntryList32(PSINGLE_LIST_ENTRY32 pListHead
)
55 pListHead
->Next
= NULL
;
59 /***********************************************************************
63 PSINGLE_LIST_ENTRY32 pListHead
, PSINGLE_LIST_ENTRY32 pEntry
)
65 pEntry
->Next
=pListHead
;
68 /***********************************************************************
71 VOID
RemoveEntryList32(PLIST_ENTRY32 pEntry
)
73 pEntry
->Flink
->Blink
= pEntry
->Blink
;
74 pEntry
->Blink
->Flink
= pEntry
->Flink
;
79 /***********************************************************************
82 PLIST_ENTRY32
RemoveHeadList32(PLIST_ENTRY32 pListHead
)
84 PLIST_ENTRY32 p
= pListHead
->Flink
;
88 RemoveEntryList32(pListHead
);
93 pListHead
->Flink
= NULL
;
94 pListHead
->Blink
= NULL
;
99 /***********************************************************************
102 PLIST_ENTRY32
RemoveTailList32(PLIST_ENTRY32 pListHead
)
104 RemoveHeadList32(pListHead
->Blink
);
105 if(pListHead
!= pListHead
->Blink
)