comparison plugins/icq/list.h @ 1432:4c510ca3563f

[gaim-migrate @ 1442] icqlib 1.1.5 committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Sun, 28 Jan 2001 01:52:27 +0000
parents 201ec77f3a60
children 0ef6603d986e
comparison
equal deleted inserted replaced
1431:0137bacd63c8 1432:4c510ca3563f
12 list_insert(plist, 0, p) 12 list_insert(plist, 0, p)
13 13
14 #define list_dequeue(plist) \ 14 #define list_dequeue(plist) \
15 list_remove_node(plist, plist->head) 15 list_remove_node(plist, plist->head)
16 16
17 typedef struct list_node_s 17 typedef struct list_node_s list_node;
18 typedef struct list_s list;
19
20 struct list_node_s
18 { 21 {
19 struct list_node_s *next; 22 list_node *next;
20 struct list_node_s *previous; 23 list_node *previous;
21 void *item; 24 void *item;
22 } list_node; 25 };
23 26
24 typedef struct list_s 27 struct list_s
25 { 28 {
26 list_node *head; 29 list_node *head;
27 list_node *tail; 30 list_node *tail;
28 int count; 31 int count;
29 } list; 32 };
30 33
31 list *list_new(void); 34 list *list_new(void);
32 void list_delete(list *plist, void (*item_free_f)(void *)); 35 void list_delete(list *plist, void (*item_free_f)(void *));
33 void list_free(list *plist, void (*item_free_f)(void *)); 36 void list_free(list *plist, void (*item_free_f)(void *));
34 void list_insert(list *plist, list_node *pnode, void *pitem); 37 void list_insert(list *plist, list_node *pnode, void *pitem);