• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*************************************
2 * Queue.h
3 **************************************/
4 #ifndef	__QUEUE_H__
5 #define	__QUEUE_H__
6 
7 
8 
9 #define ENQUEUEPACKET(_Head, _Tail, _Packet)	\
10 do {						\
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)		\
21 do {						\
22 	if (Head) {				\
23 		if (!Head->next) {		\
24 			Tail = NULL;		\
25 		}				\
26 		Head = Head->next;		\
27 	}					\
28 } while (0)
29 #endif /* __QUEUE_H__ */
30