Sat, 31 Dec 2011 17:52:26 +0100
added dlist specification
universe@4 | 1 | /* |
universe@4 | 2 | * |
universe@4 | 3 | */ |
universe@4 | 4 | |
universe@4 | 5 | #include <stddef.h> |
universe@4 | 6 | |
universe@4 | 7 | #ifndef DLIST_H |
universe@4 | 8 | #define DLIST_H |
universe@4 | 9 | |
universe@4 | 10 | #ifdef __cplusplus |
universe@4 | 11 | extern "C" { |
universe@4 | 12 | #endif |
universe@4 | 13 | |
universe@4 | 14 | typedef struct UcxDlist UcxDlist; |
universe@4 | 15 | struct UcxDlist { |
universe@4 | 16 | void *data; |
universe@4 | 17 | UcxDlist *next; |
universe@4 | 18 | UcxDlist *prev; |
universe@4 | 19 | }; |
universe@4 | 20 | |
universe@4 | 21 | UcxDlist *ucx_dlist_append(UcxDlist *l, void *data); |
universe@4 | 22 | UcxDlist *ucx_dlist_prepend(UcxDlist *l, void *data); |
universe@4 | 23 | UcxDlist *ucx_dlist_concat(UcxDlist *l1, UcxDlist *l2); |
universe@4 | 24 | UcxDlist *ucx_dlist_last(UcxDlist *l); |
universe@4 | 25 | UcxDlist *ucx_dlist_get(UcxDlist *l, int index); |
universe@4 | 26 | size_t *ucx_dlist_size(UcxDlist *l); |
universe@4 | 27 | |
universe@4 | 28 | /* dlist specific functions */ |
universe@4 | 29 | UcxDlist *ucx_dlist_first(UcxDlist *l); |
universe@4 | 30 | |
universe@4 | 31 | #ifdef __cplusplus |
universe@4 | 32 | } |
universe@4 | 33 | #endif |
universe@4 | 34 | |
universe@4 | 35 | #endif /* DLIST_H */ |
universe@4 | 36 |