1/************************************* 2* Queue.h 3**************************************/ 4#ifndef __QUEUE_H__ 5#define __QUEUE_H__ 6 7 8 9#define ENQUEUEPACKET(_Head, _Tail, _Packet) \ 10do { \ 11 if (!_Head) { \ 12 _Head = _Packet; \ 13 } \ 14 else { \ 15 (_Tail)->next = _Packet; \ 16 } \ 17 (_Packet)->next = NULL; \ 18 _Tail = _Packet; \ 19} while (0) 20#define DEQUEUEPACKET(Head, Tail) \ 21do { \ 22 if (Head) { \ 23 if (!Head->next) { \ 24 Tail = NULL; \ 25 } \ 26 Head = Head->next; \ 27 } \ 28} while (0) 29#endif /* __QUEUE_H__ */ 30