diff options
Diffstat (limited to 'libopkg/nv_pair_list.h')
-rw-r--r-- | libopkg/nv_pair_list.h | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/libopkg/nv_pair_list.h b/libopkg/nv_pair_list.h index 0040d71..fc9d9e2 100644 --- a/libopkg/nv_pair_list.h +++ b/libopkg/nv_pair_list.h @@ -21,32 +21,15 @@ #include "nv_pair.h" #include "void_list.h" -typedef struct nv_pair_list_elt nv_pair_list_elt_t; -struct nv_pair_list_elt -{ - nv_pair_list_elt_t *next; - nv_pair_t *data; -}; +typedef struct void_list_elt nv_pair_list_elt_t; -typedef struct nv_pair_list nv_pair_list_t; -struct nv_pair_list -{ - nv_pair_list_elt_t pre_head; - nv_pair_list_elt_t *head; - nv_pair_list_elt_t *tail; -}; +typedef struct void_list nv_pair_list_t; static inline int nv_pair_list_empty(nv_pair_list_t *list) { - if (list->head == NULL) - return 1; - else - return 0; + return void_list_empty ((void_list_t *)list); } -int nv_pair_list_elt_init(nv_pair_list_elt_t *elt, nv_pair_t *data); -void nv_pair_list_elt_deinit(nv_pair_list_elt_t *elt); - int nv_pair_list_init(nv_pair_list_t *list); void nv_pair_list_deinit(nv_pair_list_t *list); @@ -56,5 +39,10 @@ int nv_pair_list_push(nv_pair_list_t *list, nv_pair_t *data); nv_pair_list_elt_t *nv_pair_list_pop(nv_pair_list_t *list); char *nv_pair_list_find(nv_pair_list_t *list, char *name); +nv_pair_list_elt_t *nv_pair_list_first(nv_pair_list_t *list); +nv_pair_list_elt_t *nv_pair_list_prev(nv_pair_list_t *list, nv_pair_list_elt_t *node); +nv_pair_list_elt_t *nv_pair_list_next(nv_pair_list_t *list, nv_pair_list_elt_t *node); +nv_pair_list_elt_t *nv_pair_list_last(nv_pair_list_t *list); + #endif |