/* list functions */
/* pointers for the list */
-typedef struct _DL_LIST {
- struct _DL_LIST *pPrev;
- struct _DL_LIST *pNext;
-}DL_LIST, *PDL_LIST;
+struct dl_list {
+ struct dl_list *pPrev;
+ struct dl_list *pNext;
+};
/*
* DL_LIST_INIT , initialize doubly linked list
*/
*/
#define ITERATE_OVER_LIST_ALLOW_REMOVE(pStart,pItem,st,offset) \
{ \
- PDL_LIST pTemp; \
+ struct dl_list * pTemp; \
pTemp = (pStart)->pNext; \
while (pTemp != (pStart)) { \
(pItem) = A_CONTAINING_STRUCT(pTemp,st,offset); \
/*
* DL_ListInsertTail - insert pAdd to the end of the list
*/
-static INLINE PDL_LIST DL_ListInsertTail(PDL_LIST pList, PDL_LIST pAdd) {
+static INLINE struct dl_list *DL_ListInsertTail(struct dl_list *pList, struct dl_list *pAdd) {
/* insert at tail */
pAdd->pPrev = pList->pPrev;
pAdd->pNext = pList;
/*
* DL_ListInsertHead - insert pAdd into the head of the list
*/
-static INLINE PDL_LIST DL_ListInsertHead(PDL_LIST pList, PDL_LIST pAdd) {
+static INLINE struct dl_list * DL_ListInsertHead(struct dl_list * pList, struct dl_list * pAdd) {
/* insert at head */
pAdd->pPrev = pList;
pAdd->pNext = pList->pNext;
/*
* DL_ListRemove - remove pDel from list
*/
-static INLINE PDL_LIST DL_ListRemove(PDL_LIST pDel) {
+static INLINE struct dl_list * DL_ListRemove(struct dl_list * pDel) {
pDel->pNext->pPrev = pDel->pPrev;
pDel->pPrev->pNext = pDel->pNext;
/* point back to itself just to be safe, incase remove is called again */
/*
* DL_ListRemoveItemFromHead - get a list item from the head
*/
-static INLINE PDL_LIST DL_ListRemoveItemFromHead(PDL_LIST pList) {
- PDL_LIST pItem = NULL;
+static INLINE struct dl_list * DL_ListRemoveItemFromHead(struct dl_list * pList) {
+ struct dl_list * pItem = NULL;
if (pList->pNext != pList) {
pItem = pList->pNext;
/* remove the first item from head */
return pItem;
}
-static INLINE PDL_LIST DL_ListRemoveItemFromTail(PDL_LIST pList) {
- PDL_LIST pItem = NULL;
+static INLINE struct dl_list * DL_ListRemoveItemFromTail(struct dl_list * pList) {
+ struct dl_list * pItem = NULL;
if (pList->pPrev != pList) {
pItem = pList->pPrev;
/* remove the item from tail */
}
/* transfer src list items to the tail of the destination list */
-static INLINE void DL_ListTransferItemsToTail(PDL_LIST pDest, PDL_LIST pSrc) {
+static INLINE void DL_ListTransferItemsToTail(struct dl_list * pDest, struct dl_list * pSrc) {
/* only concatenate if src is not empty */
if (!DL_LIST_IS_EMPTY(pSrc)) {
/* cut out circular list in src and re-attach to end of dest */
/* wrapper around endpoint-specific packets */
typedef struct _HTC_PACKET {
- DL_LIST ListLink; /* double link */
+ struct dl_list ListLink; /* double link */
void *pPktContext; /* caller's per packet specific context */
u8 *pBufferStart; /* the true buffer start , the caller can
/* HTC Packet Queueing Macros */
typedef struct _HTC_PACKET_QUEUE {
- DL_LIST QueueHead;
+ struct dl_list QueueHead;
int Depth;
} HTC_PACKET_QUEUE;
/* dequeue an HTC packet from the head of the queue */
static INLINE HTC_PACKET *HTC_PACKET_DEQUEUE(HTC_PACKET_QUEUE *queue) {
- DL_LIST *pItem = DL_ListRemoveItemFromHead(&queue->QueueHead);
+ struct dl_list *pItem = DL_ListRemoveItemFromHead(&queue->QueueHead);
if (pItem != NULL) {
queue->Depth--;
return A_CONTAINING_STRUCT(pItem, HTC_PACKET, ListLink);
/* dequeue an HTC packet from the tail of the queue */
static INLINE HTC_PACKET *HTC_PACKET_DEQUEUE_TAIL(HTC_PACKET_QUEUE *queue) {
- DL_LIST *pItem = DL_ListRemoveItemFromTail(&queue->QueueHead);
+ struct dl_list *pItem = DL_ListRemoveItemFromTail(&queue->QueueHead);
if (pItem != NULL) {
queue->Depth--;
return A_CONTAINING_STRUCT(pItem, HTC_PACKET, ListLink);