version 1.1, 2012/02/21 23:16:22
|
version 1.1.1.2, 2013/07/22 00:36:10
|
Line 36
|
Line 36
|
#define _SYS_QUEUE_H_ |
#define _SYS_QUEUE_H_ |
|
|
/* |
/* |
* This file defines five types of data structures: singly-linked lists, | * This file defines five types of data structures: singly-linked lists, |
* lists, simple queues, tail queues, and circular queues. |
* lists, simple queues, tail queues, and circular queues. |
* |
* |
* |
* |
Line 95
|
Line 95
|
struct name { \ |
struct name { \ |
struct type *slh_first; /* first element */ \ |
struct type *slh_first; /* first element */ \ |
} |
} |
| |
#define SLIST_HEAD_INITIALIZER(head) \ |
#define SLIST_HEAD_INITIALIZER(head) \ |
{ NULL } |
{ NULL } |
|
|
Line 107 struct name { \
|
Line 107 struct name { \
|
struct { \ |
struct { \ |
struct type *sle_next; /* next element */ \ |
struct type *sle_next; /* next element */ \ |
} |
} |
| |
/* |
/* |
* Singly-linked List access methods. |
* Singly-linked List access methods. |
*/ |
*/ |
Line 322 struct { \
|
Line 322 struct { \
|
struct type **tqe_prev; /* address of previous next element */ \ |
struct type **tqe_prev; /* address of previous next element */ \ |
} |
} |
|
|
/* | /* |
* tail queue access methods | * tail queue access methods |
*/ |
*/ |
#define TAILQ_FIRST(head) ((head)->tqh_first) |
#define TAILQ_FIRST(head) ((head)->tqh_first) |
#define TAILQ_END(head) NULL |
#define TAILQ_END(head) NULL |
Line 430 struct { \
|
Line 430 struct { \
|
} |
} |
|
|
/* |
/* |
* Circular queue access methods | * Circular queue access methods |
*/ |
*/ |
#define CIRCLEQ_FIRST(head) ((head)->cqh_first) |
#define CIRCLEQ_FIRST(head) ((head)->cqh_first) |
#define CIRCLEQ_LAST(head) ((head)->cqh_last) |
#define CIRCLEQ_LAST(head) ((head)->cqh_last) |