cctools
|
00001 /* 00002 Copyright (C) 2008- The University of Notre Dame 00003 This software is distributed under the GNU General Public License. 00004 See the file COPYING for details. 00005 */ 00006 00007 #ifndef NVPAIR_DATABASE_H 00008 #define NVPAIR_DATABASE_H 00009 00010 #include "nvpair.h" 00011 #include "int_sizes.h" 00012 00026 struct nvpair_database *nvpair_database_open(const char *filename); 00027 00031 void nvpair_database_close(struct nvpair_database *db); 00032 00038 int nvpair_database_insert(struct nvpair_database *db, UINT64_T * key, struct nvpair *nv); 00039 00045 struct nvpair *nvpair_database_remove(struct nvpair_database *db, UINT64_T key); 00046 00052 struct nvpair *nvpair_database_lookup(struct nvpair_database *db, UINT64_T key); 00053 00061 int nvpair_database_update_string(struct nvpair_database *db, UINT64_T key, const char *name, const char *value); 00062 00070 int nvpair_database_update_integer(struct nvpair_database *db, UINT64_T key, const char *name, INT64_T value); 00071 00078 const char *nvpair_database_lookup_string(struct nvpair_database *db, UINT64_T key, const char *name); 00079 00086 INT64_T nvpair_database_lookup_integer(struct nvpair_database *db, UINT64_T key, const char *name); 00087 00091 void nvpair_database_firstkey(struct nvpair_database *db); 00092 00099 int nvpair_database_nextkey(struct nvpair_database *db, UINT64_T * key, struct nvpair **nv); 00100 00101 #endif