summaryrefslogtreecommitdiffstats
path: root/libopkg/nv_pair_list.h
diff options
context:
space:
mode:
Diffstat (limited to 'libopkg/nv_pair_list.h')
-rw-r--r--libopkg/nv_pair_list.h28
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