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