queue: prefix private macros with underscore
This commit is contained in:
parent
2b3fddafd1
commit
e64b96542e
80
src/queue.h
80
src/queue.h
@ -21,10 +21,10 @@
|
||||
typedef void* QUEUE[2];
|
||||
|
||||
/* Private macros. */
|
||||
#define QUEUE_NEXT(q) (*(QUEUE**) &((*(q))[0]))
|
||||
#define QUEUE_PREV(q) (*(QUEUE**) &((*(q))[1]))
|
||||
#define QUEUE_PREV_NEXT(q) (QUEUE_NEXT(QUEUE_PREV(q)))
|
||||
#define QUEUE_NEXT_PREV(q) (QUEUE_PREV(QUEUE_NEXT(q)))
|
||||
#define _QUEUE_NEXT(q) (*(QUEUE**) &((*(q))[0]))
|
||||
#define _QUEUE_PREV(q) (*(QUEUE**) &((*(q))[1]))
|
||||
#define _QUEUE_PREV_NEXT(q) (_QUEUE_NEXT(_QUEUE_PREV(q)))
|
||||
#define _QUEUE_NEXT_PREV(q) (_QUEUE_PREV(_QUEUE_NEXT(q)))
|
||||
|
||||
/* Public macros. */
|
||||
#define QUEUE_DATA(ptr, type, field) \
|
||||
@ -34,34 +34,34 @@ typedef void* QUEUE[2];
|
||||
* iterating over its elements results in undefined behavior.
|
||||
*/
|
||||
#define QUEUE_FOREACH(q, h) \
|
||||
for ((q) = QUEUE_NEXT(h); (q) != (h); (q) = QUEUE_NEXT(q))
|
||||
for ((q) = _QUEUE_NEXT(h); (q) != (h); (q) = _QUEUE_NEXT(q))
|
||||
|
||||
#define QUEUE_EMPTY(q) ((const QUEUE*) (q) == (const QUEUE*) QUEUE_NEXT(q))
|
||||
#define QUEUE_EMPTY(q) ((const QUEUE*) (q) == (const QUEUE*) _QUEUE_NEXT(q))
|
||||
|
||||
#define QUEUE_HEAD(q) (QUEUE_NEXT(q))
|
||||
#define QUEUE_HEAD(q) (_QUEUE_NEXT(q))
|
||||
|
||||
#define QUEUE_INIT(q) \
|
||||
do { \
|
||||
QUEUE_NEXT(q) = (q); \
|
||||
QUEUE_PREV(q) = (q); \
|
||||
#define QUEUE_INIT(q) \
|
||||
do { \
|
||||
_QUEUE_NEXT(q) = (q); \
|
||||
_QUEUE_PREV(q) = (q); \
|
||||
} while (0)
|
||||
|
||||
#define QUEUE_ADD(h, n) \
|
||||
do { \
|
||||
QUEUE_PREV_NEXT(h) = QUEUE_NEXT(n); \
|
||||
QUEUE_NEXT_PREV(n) = QUEUE_PREV(h); \
|
||||
QUEUE_PREV(h) = QUEUE_PREV(n); \
|
||||
QUEUE_PREV_NEXT(h) = (h); \
|
||||
do { \
|
||||
_QUEUE_PREV_NEXT(h) = _QUEUE_NEXT(n); \
|
||||
_QUEUE_NEXT_PREV(n) = _QUEUE_PREV(h); \
|
||||
_QUEUE_PREV(h) = _QUEUE_PREV(n); \
|
||||
_QUEUE_PREV_NEXT(h) = (h); \
|
||||
} while (0)
|
||||
|
||||
#define QUEUE_SPLIT(h, q, n) \
|
||||
do { \
|
||||
QUEUE_PREV(n) = QUEUE_PREV(h); \
|
||||
QUEUE_PREV_NEXT(n) = (n); \
|
||||
QUEUE_NEXT(n) = (q); \
|
||||
QUEUE_PREV(h) = QUEUE_PREV(q); \
|
||||
QUEUE_PREV_NEXT(h) = (h); \
|
||||
QUEUE_PREV(q) = (n); \
|
||||
#define QUEUE_SPLIT(h, q, n) \
|
||||
do { \
|
||||
_QUEUE_PREV(n) = _QUEUE_PREV(h); \
|
||||
_QUEUE_PREV_NEXT(n) = (n); \
|
||||
_QUEUE_NEXT(n) = (q); \
|
||||
_QUEUE_PREV(h) = _QUEUE_PREV(q); \
|
||||
_QUEUE_PREV_NEXT(h) = (h); \
|
||||
_QUEUE_PREV(q) = (n); \
|
||||
} while (0)
|
||||
|
||||
#define QUEUE_MOVE(h, n) \
|
||||
@ -74,26 +74,26 @@ typedef void* QUEUE[2];
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define QUEUE_INSERT_HEAD(h, q) \
|
||||
do { \
|
||||
QUEUE_NEXT(q) = QUEUE_NEXT(h); \
|
||||
QUEUE_PREV(q) = (h); \
|
||||
QUEUE_NEXT_PREV(q) = (q); \
|
||||
QUEUE_NEXT(h) = (q); \
|
||||
#define QUEUE_INSERT_HEAD(h, q) \
|
||||
do { \
|
||||
_QUEUE_NEXT(q) = _QUEUE_NEXT(h); \
|
||||
_QUEUE_PREV(q) = (h); \
|
||||
_QUEUE_NEXT_PREV(q) = (q); \
|
||||
_QUEUE_NEXT(h) = (q); \
|
||||
} while (0)
|
||||
|
||||
#define QUEUE_INSERT_TAIL(h, q) \
|
||||
do { \
|
||||
QUEUE_NEXT(q) = (h); \
|
||||
QUEUE_PREV(q) = QUEUE_PREV(h); \
|
||||
QUEUE_PREV_NEXT(q) = (q); \
|
||||
QUEUE_PREV(h) = (q); \
|
||||
#define QUEUE_INSERT_TAIL(h, q) \
|
||||
do { \
|
||||
_QUEUE_NEXT(q) = (h); \
|
||||
_QUEUE_PREV(q) = _QUEUE_PREV(h); \
|
||||
_QUEUE_PREV_NEXT(q) = (q); \
|
||||
_QUEUE_PREV(h) = (q); \
|
||||
} while (0)
|
||||
|
||||
#define QUEUE_REMOVE(q) \
|
||||
do { \
|
||||
QUEUE_PREV_NEXT(q) = QUEUE_NEXT(q); \
|
||||
QUEUE_NEXT_PREV(q) = QUEUE_PREV(q); \
|
||||
#define QUEUE_REMOVE(q) \
|
||||
do { \
|
||||
_QUEUE_PREV_NEXT(q) = _QUEUE_NEXT(q); \
|
||||
_QUEUE_NEXT_PREV(q) = _QUEUE_PREV(q); \
|
||||
} while (0)
|
||||
|
||||
#endif /* QUEUE_H_ */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user