转自:http://blog.csdn.net/sunhappy2200/article/details/5909071
#define ngx_queue_init(q) --初始化队列指针
#define ngx_queue_empty(h) --判断队列是否为空
#define ngx_queue_insert_head(h, x) --把队列成员x插入到h队列头部
#define ngx_queue_insert_after ngx_queue_insert_head --同上
#define ngx_queue_insert_tail(h, x) --把队列成员X插入到h队列尾部
#define ngx_queue_head(h) --获取队列h头部成员
#define ngx_queue_last(h) --获取队列h尾部成员
#define ngx_queue_sentinel(h) --返回h
#define ngx_queue_next(q) --获取队列成员q朝队尾方向下一个成员
#define ngx_queue_prev(q) --获取队列成员q朝队头方向上一个成员
#define ngx_queue_remove(x) --从队列中移除成员x
#define ngx_queue_split(h, q, n) --??
#define ngx_queue_add(h, n) --??
#define ngx_queue_data(q, type, link) --返回队列成员(type*)指针
ngx_queue_t *ngx_queue_middle(ngx_queue_t *queue); --??
void ngx_queue_sort(ngx_queue_t *queue,
ngx_int_t (*cmp)(const ngx_queue_t *, const ngx_queue_t *)); --对队列排序