32 lines
918 B
C
32 lines
918 B
C
/*************************************
|
|
* Queue.h
|
|
**************************************/
|
|
#ifndef __QUEUE_H__
|
|
#define __QUEUE_H__
|
|
|
|
|
|
|
|
#define ENQUEUEPACKET(_Head, _Tail,_Packet) \
|
|
do \
|
|
{ \
|
|
if (!_Head) { \
|
|
_Head = _Packet; \
|
|
} \
|
|
else { \
|
|
(_Tail)->next = _Packet; \
|
|
} \
|
|
(_Packet)->next = NULL; \
|
|
_Tail = _Packet; \
|
|
}while(0)
|
|
#define DEQUEUEPACKET(Head, Tail ) \
|
|
do \
|
|
{ if(Head) \
|
|
{ \
|
|
if (!Head->next) { \
|
|
Tail = NULL; \
|
|
} \
|
|
Head = Head->next; \
|
|
} \
|
|
}while(0)
|
|
#endif //__QUEUE_H__
|