cctools
nvpair_database.h
Go to the documentation of this file.
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