diff options
author | ticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2008-12-14 23:25:08 (EST) |
---|---|---|
committer | ticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2008-12-14 23:25:08 (EST) |
commit | 4b0b7ca249bfa4ecc099c2ca56527eb91776f198 (patch) | |
tree | db5d2602d75a69cc9e1f7f30cbac584f0ab45c45 /libopkg/nv_pair_list.h | |
parent | 868cbd739052719d5e0580a0fda6101dada1ce1e (diff) |
opkg: re-arrange source code into sub-directories
git-svn-id: http://opkg.googlecode.com/svn/trunk@33 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'libopkg/nv_pair_list.h')
-rw-r--r-- | libopkg/nv_pair_list.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/libopkg/nv_pair_list.h b/libopkg/nv_pair_list.h new file mode 100644 index 0000000..8638dd1 --- /dev/null +++ b/libopkg/nv_pair_list.h @@ -0,0 +1,60 @@ +/* nv_pair_list.h - the itsy package management system + + Carl D. Worth + + Copyright (C) 2001 University of Southern California + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2, or (at + your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. +*/ + +#ifndef NV_PAIR_LIST_H +#define NV_PAIR_LIST_H + +#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 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; +}; + +static inline int nv_pair_list_empty(nv_pair_list_t *list) +{ + if (list->head == NULL) + return 1; + else + return 0; +} + +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); + +nv_pair_t *nv_pair_list_append(nv_pair_list_t *list, + const char *name, const char *value); +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); + +#endif + |