diff options
author | rsiddharth <s@ricketyspace.net> | 2020-04-09 20:37:12 -0400 |
---|---|---|
committer | rsiddharth <s@ricketyspace.net> | 2020-04-17 20:56:37 -0400 |
commit | d5cedc6f28a60301bad21a16fdb047fdb82ff883 (patch) | |
tree | 8cb7e49633c52250447843e06b34b51e2eca8669 /nserver/src | |
parent | 3430edf9a8497ae4552d44b753a674da9167b577 (diff) |
nserver: Add db.h
* nserver/.gitignore: Add nserver.db
* nserver/Makefile ($(PROGRAMS))
(tests): Link gdbm.
(clean): Remove nserver.db
* nserver/src/db.c (db_init): New function.
* nserver/src/db.h (db_init): New function declaration.
* nserver/tests/db_tests.c: Tests for db.h
Diffstat (limited to 'nserver/src')
-rw-r--r-- | nserver/src/db.c | 20 | ||||
-rw-r--r-- | nserver/src/db.h | 11 |
2 files changed, 31 insertions, 0 deletions
diff --git a/nserver/src/db.c b/nserver/src/db.c new file mode 100644 index 0000000..315bf7b --- /dev/null +++ b/nserver/src/db.c @@ -0,0 +1,20 @@ +#include <db.h> + + +static const char *DB_FILE = "nserver.db"; + +int db_init() +{ + // Create DB if it's not already created. + GDBM_FILE gf = gdbm_open(DB_FILE, 0, GDBM_WRCREAT, + S_IRUSR|S_IWUSR, NULL); + check(gf != NULL, "unable to init db"); + + // Close the DB. + int rc = gdbm_close(gf); + check(rc == 0, "error closing db after init"); + + return 0; + error: + return -1; +} diff --git a/nserver/src/db.h b/nserver/src/db.h new file mode 100644 index 0000000..433f812 --- /dev/null +++ b/nserver/src/db.h @@ -0,0 +1,11 @@ +#ifndef _db_h +#define _db_h + +#include <gdbm.h> +#include <dbg.h> +#include <sys/stat.h> + +int db_init(); + +#endif + |