Mercurial > pidgin.yaz
view plugins/icq/list.h @ 1487:7bb7eca3fa14
[gaim-migrate @ 1497]
i thought i fixed this already. maybe that was yahoo. sigh.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Fri, 09 Feb 2001 03:44:06 +0000 |
parents | 4c510ca3563f |
children | 0ef6603d986e |
line wrap: on
line source
/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ #ifndef _LIST_H #define _LIST_H #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <stdarg.h> #define list_enqueue(plist, p) \ list_insert(plist, 0, p) #define list_dequeue(plist) \ list_remove_node(plist, plist->head) typedef struct list_node_s list_node; typedef struct list_s list; struct list_node_s { list_node *next; list_node *previous; void *item; }; struct list_s { list_node *head; list_node *tail; int count; }; list *list_new(void); void list_delete(list *plist, void (*item_free_f)(void *)); void list_free(list *plist, void (*item_free_f)(void *)); void list_insert(list *plist, list_node *pnode, void *pitem); void *list_remove(list *plist, void *pitem); void *list_traverse(list *plist, int (*item_f)(void *, va_list), ...); int list_dump(list *plist); void *list_first(list *plist); void *list_last(list *plist); void *list_at(list *plist, int num); list_node *list_find(list *plist, void *pitem); void *list_remove_node(list *plist, list_node *p); #endif /* _LIST_H */