diff options
author | bpc2003 <wpesfriendnva@gmail.com> | 2025-03-10 11:15:04 -0400 |
---|---|---|
committer | bpc2003 <wpesfriendnva@gmail.com> | 2025-03-10 11:15:04 -0400 |
commit | 7c8e83f655e41b11e970fd0abad5a96a3fb73e47 (patch) | |
tree | 057e9c4dd571a4f6f4738b51d53641fcb20ea4dc /src/include/mdb.h | |
parent | 9b568eba7d0652e9f9457958f16dc35702c4a950 (diff) |
Consolidated each header into single header
Diffstat (limited to 'src/include/mdb.h')
-rw-r--r-- | src/include/mdb.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/include/mdb.h b/src/include/mdb.h new file mode 100644 index 0000000..6e6fca9 --- /dev/null +++ b/src/include/mdb.h @@ -0,0 +1,48 @@ +#ifndef FILEOPS_H +#define FILEOPS_H + +#define TABLEN 1024 + +extern int blen; + +enum btype { + BEGIN = 1, + END, PAIR, + + ERROR +}; + +struct byte { + enum btype type; + char *value; +}; + +struct byte *parse(unsigned char *buf); + +union value { + char *str; + double num; + unsigned int b : 1; +}; + +struct keytab { + char *key; + int flag; + union value v; +}; + +struct keytablist { + struct keytab tab[TABLEN]; +}; + +int *getkeys(struct keytablist *list, int id); +struct keytab getkey(struct keytablist *list, int id, char *key); +void setkey(struct keytablist **list, int *len, int id, char *pair); +void delkey(struct keytablist *list, int id, char *key); + +// TODO: integrate every header into single file +// TODO: make readdb return struct keytab list* +unsigned char *readdb(char *filename); +void writedb(char *filename, struct keytablist *list, int len); + +#endif |