cctools
nvpair_database.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2008- The University of Notre Dame
3 This software is distributed under the GNU General Public License.
4 See the file COPYING for details.
5 */
6 
7 #ifndef NVPAIR_DATABASE_H
8 #define NVPAIR_DATABASE_H
9 
10 #include "nvpair.h"
11 #include "int_sizes.h"
12 
26 struct nvpair_database *nvpair_database_open(const char *filename);
27 
31 void nvpair_database_close(struct nvpair_database *db);
32 
38 int nvpair_database_insert(struct nvpair_database *db, UINT64_T * key, struct nvpair *nv);
39 
45 struct nvpair *nvpair_database_remove(struct nvpair_database *db, UINT64_T key);
46 
52 struct nvpair *nvpair_database_lookup(struct nvpair_database *db, UINT64_T key);
53 
61 int nvpair_database_update_string(struct nvpair_database *db, UINT64_T key, const char *name, const char *value);
62 
70 int nvpair_database_update_integer(struct nvpair_database *db, UINT64_T key, const char *name, INT64_T value);
71 
78 const char *nvpair_database_lookup_string(struct nvpair_database *db, UINT64_T key, const char *name);
79 
86 INT64_T nvpair_database_lookup_integer(struct nvpair_database *db, UINT64_T key, const char *name);
87 
91 void nvpair_database_firstkey(struct nvpair_database *db);
92 
99 int nvpair_database_nextkey(struct nvpair_database *db, UINT64_T * key, struct nvpair **nv);
100 
101 #endif
int nvpair_database_insert(struct nvpair_database *db, UINT64_T *key, struct nvpair *nv)
Insert a new object into the database.
int nvpair_database_update_integer(struct nvpair_database *db, UINT64_T key, const char *name, INT64_T value)
Update an integer property of one object in the database.
const char * nvpair_database_lookup_string(struct nvpair_database *db, UINT64_T key, const char *name)
Look up a string property of one object in the database.
struct nvpair * nvpair_database_lookup(struct nvpair_database *db, UINT64_T key)
Look up an object in the database.
struct nvpair_database * nvpair_database_open(const char *filename)
Open or create a new database at the given filename.
int nvpair_database_update_string(struct nvpair_database *db, UINT64_T key, const char *name, const char *value)
Update a string property of one object in the database.
struct nvpair * nvpair_database_remove(struct nvpair_database *db, UINT64_T key)
Remove an object from the database.
void nvpair_database_close(struct nvpair_database *db)
Close an open database.
INT64_T nvpair_database_lookup_integer(struct nvpair_database *db, UINT64_T key, const char *name)
Look up an integer property of one object in the database.
An nvpair object is a collection of name-value pairs that might describe a complex object such as a h...
void nvpair_database_firstkey(struct nvpair_database *db)
Begin iterating over the database.
int nvpair_database_nextkey(struct nvpair_database *db, UINT64_T *key, struct nvpair **nv)
Continue iterating over the database.