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__
|