summaryrefslogtreecommitdiff
path: root/src/lib/mdb.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/mdb.h')
-rw-r--r--src/lib/mdb.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/lib/mdb.h b/src/lib/mdb.h
new file mode 100644
index 0000000..49f5903
--- /dev/null
+++ b/src/lib/mdb.h
@@ -0,0 +1,31 @@
+#ifndef MDB_H
+#define MDB_H
+
+#define TABLEN 1024
+
+union value {
+ char *str;
+ double num;
+ unsigned int b : 1;
+};
+
+struct keytab {
+ char *key;
+ int flag;
+ union value v;
+};
+
+struct keytablist {
+ int len;
+ struct keytab tab[TABLEN];
+};
+
+int *getkeys(struct keytablist *list, int id);
+struct keytab getkey(struct keytablist *list, int id, char *key);
+int setkey(struct keytablist **list, int *len, int id, char *pair);
+void delkey(struct keytablist *list, int id, char *key);
+
+struct keytablist *readdb(char *filename);
+void writedb(char *filename, struct keytablist *list);
+
+#endif