summaryrefslogtreecommitdiff
path: root/drivers/staging/bcm/Queue.h
blob: 460c0aee67f6a41eaa9a1f946521d278c83813f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*************************************
* 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__ */