Update codebase to remove clang warnings (and a couple of legit errors
[typhoon.git] / src / list.c
1 /*++
2
3 Copyright (c) Scott Gasch
4
5 Module Name:
6
7     list.c
8
9 Abstract:
10
11     Random doubly linked list helper routines.
12
13 Author:
14
15     Scott Gasch ([email protected]) 29 Nov 2007
16
17 Revision History:
18
19 --*/
20
21 #include "chess.h"
22
23 INLINE void
24 InitializeListHead(IN DLIST_ENTRY *pListHead)
25 {
26     pListHead->pFlink = pListHead->pBlink = pListHead;
27 }
28
29 INLINE FLAG
30 IsListEmpty(IN DLIST_ENTRY *pListHead)
31 {
32     return (FLAG)(pListHead->pFlink == pListHead);
33 }
34
35 INLINE FLAG
36 RemoveEntryList(IN DLIST_ENTRY *pEntry)
37 {
38     DLIST_ENTRY *pBlink;
39     DLIST_ENTRY *pFlink;
40
41     pFlink = pEntry->pFlink;
42     pBlink = pEntry->pBlink;
43     pBlink->pFlink = pFlink;
44     pFlink->pBlink = pBlink;
45     return (FLAG)(pFlink == pBlink);
46 }
47
48 INLINE DLIST_ENTRY *
49 RemoveHeadList(IN DLIST_ENTRY *pListHead)
50 {
51     DLIST_ENTRY *pFlink;
52     DLIST_ENTRY *pEntry;
53
54     pEntry = pListHead->pFlink;
55     pFlink = pEntry->pFlink;
56     pListHead->pFlink = pFlink;
57     pFlink->pBlink = pListHead;
58
59     return(pEntry);
60 }
61
62 INLINE DLIST_ENTRY *
63 RemoveTailList(IN DLIST_ENTRY *pListHead)
64 {
65     DLIST_ENTRY *pBlink;
66     DLIST_ENTRY *pEntry;
67
68     pEntry = pListHead->pBlink;
69     pBlink = pEntry->pBlink;
70     pListHead->pBlink = pBlink;
71     pBlink->pFlink = pListHead;
72
73     return(pEntry);
74 }
75
76 INLINE void
77 InsertTailList(IN DLIST_ENTRY *pListHead,
78                IN DLIST_ENTRY *pEntry)
79 {
80     DLIST_ENTRY *pBlink;
81
82     pBlink = pListHead->pBlink;
83     pEntry->pFlink = pListHead;
84     pEntry->pBlink = pBlink;
85     pBlink->pFlink = pEntry;
86     pListHead->pBlink = pEntry;
87 }
88
89 INLINE void
90 InsertHeadList(IN DLIST_ENTRY *pListHead,
91                IN DLIST_ENTRY *pEntry)
92 {
93     DLIST_ENTRY *pFlink;
94
95     pFlink = pListHead->pFlink;
96     pEntry->pFlink = pFlink;
97     pEntry->pBlink = pListHead;
98     pFlink->pBlink = pEntry;
99     pListHead->pFlink = pEntry;
100 }