From 5f550c85c4d2308a15f49f4d2d975b0614867412 Mon Sep 17 00:00:00 2001 From: ticktock35 Date: Thu, 18 Dec 2008 12:47:41 -0500 Subject: using list_head to handle the list git-svn-id: http://opkg.googlecode.com/svn/trunk@185 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358 --- (limited to 'libopkg/nv_pair_list.h') 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 -- cgit v0.9.1