33#define list_container(entry, type, field) \
34 ((type*)((const char*)(entry) - (const char*)(&((type*)0)->field)))
36#define list_for_each(entry, head) \
37 for (entry = (head)->next; entry != (head); entry = entry->next)
39#define list_for_each_tmp(entry, tmp, head) \
40 for (entry = (head)->next, tmp = entry->next; entry != (head); \
41 entry = tmp, tmp = entry->next)
43#define list_for_each_reverse(entry, head) \
44 for (entry = (head)->prev; entry != (head); entry = entry->prev)
46#define list_for_each_reverse_tmp(entry, tmp, head) \
47 for (entry = (head)->next, tmp = entry->next; entry != (head); \
48 entry = tmp, tmp = entry->next)
struct outqueuenode * head
static void list_remove(struct list_entry *entry)
#define list_for_each(entry, head)
static int list_empty(struct list_entry *head)
int(* list_compare_fn)(const struct list_entry *, const void *)
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
static void list_add_head(struct list_entry *head, struct list_entry *entry)
static void list_add(struct list_entry *entry, struct list_entry *prev, struct list_entry *next)
static struct list_entry * list_search(const struct list_entry *head, const void *value, list_compare_fn compare)
static void list_init(struct list_entry *head)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
static unsigned __int64 next