Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Functions
ngx_queue.h File Reference
#include <ngx_config.h>
#include <ngx_core.h>
Include dependency graph for ngx_queue.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ngx_queue_s

Macros

#define ngx_queue_init(q)
#define ngx_queue_empty(h)   (h == (h)->prev)
#define ngx_queue_insert_head(h, x)
#define ngx_queue_insert_after   ngx_queue_insert_head
#define ngx_queue_insert_tail(h, x)
#define ngx_queue_head(h)   (h)->next
#define ngx_queue_last(h)   (h)->prev
#define ngx_queue_sentinel(h)   (h)
#define ngx_queue_next(q)   (q)->next
#define ngx_queue_prev(q)   (q)->prev
#define ngx_queue_remove(x)
#define ngx_queue_split(h, q, n)
#define ngx_queue_add(h, n)
#define ngx_queue_data(q, type, link)   (type *) ((u_char *) q - offsetof(type, link))

Typedefs

typedef struct ngx_queue_s ngx_queue_t

Functions

ngx_queue_tngx_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 *))

Macro Definition Documentation

#define ngx_queue_add (   h,
 
)
Value:
(h)->prev->next = (n)->next; \
(n)->next->prev = (h)->prev; \
(h)->prev = (n)->prev; \
(h)->prev->next = h;

Definition at line 96 of file ngx_queue.h.

#define ngx_queue_data (   q,
  type,
  link 
)    (type *) ((u_char *) q - offsetof(type, link))

Definition at line 103 of file ngx_queue.h.

#define ngx_queue_empty (   h)    (h == (h)->prev)

Definition at line 29 of file ngx_queue.h.

#define ngx_queue_head (   h)    (h)->next

Definition at line 50 of file ngx_queue.h.

#define ngx_queue_init (   q)
Value:
(q)->prev = q; \
(q)->next = q

Definition at line 24 of file ngx_queue.h.

#define ngx_queue_insert_after   ngx_queue_insert_head

Definition at line 40 of file ngx_queue.h.

#define ngx_queue_insert_head (   h,
 
)
Value:
(x)->next = (h)->next; \
(x)->next->prev = x; \
(x)->prev = h; \
(h)->next = x

Definition at line 33 of file ngx_queue.h.

#define ngx_queue_insert_tail (   h,
 
)
Value:
(x)->prev = (h)->prev; \
(x)->prev->next = x; \
(x)->next = h; \
(h)->prev = x

Definition at line 43 of file ngx_queue.h.

#define ngx_queue_last (   h)    (h)->prev

Definition at line 54 of file ngx_queue.h.

#define ngx_queue_next (   q)    (q)->next

Definition at line 62 of file ngx_queue.h.

#define ngx_queue_prev (   q)    (q)->prev

Definition at line 66 of file ngx_queue.h.

#define ngx_queue_remove (   x)
Value:
(x)->next->prev = (x)->prev; \
(x)->prev->next = (x)->next

Definition at line 80 of file ngx_queue.h.

#define ngx_queue_sentinel (   h)    (h)

Definition at line 58 of file ngx_queue.h.

#define ngx_queue_split (   h,
  q,
 
)
Value:
(n)->prev = (h)->prev; \
(n)->prev->next = n; \
(n)->next = q; \
(h)->prev = (q)->prev; \
(h)->prev->next = h; \
(q)->prev = n;

Definition at line 87 of file ngx_queue.h.

Typedef Documentation

typedef struct ngx_queue_s ngx_queue_t

Definition at line 16 of file ngx_queue.h.

Function Documentation

ngx_queue_t* ngx_queue_middle ( ngx_queue_t queue)

Definition at line 18 of file ngx_queue.c.

void ngx_queue_sort ( ngx_queue_t queue,
ngx_int_t(*)(const ngx_queue_t *, const ngx_queue_t *)  cmp 
)

Definition at line 51 of file ngx_queue.c.