summaryrefslogtreecommitdiff
path: root/source3/tdb/tdb.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-01-08 08:16:02 +0000
committerAndrew Tridgell <tridge@samba.org>2000-01-08 08:16:02 +0000
commit5b7f0c733c3381a39b9d40a6f34f4e8ea7a45243 (patch)
treeeeb88f59489c213cd2b8d180c585efc177320787 /source3/tdb/tdb.h
parente9a85623834d27f5318d29c8ebd3a42af1bc7011 (diff)
downloadsamba-5b7f0c733c3381a39b9d40a6f34f4e8ea7a45243.tar.gz
samba-5b7f0c733c3381a39b9d40a6f34f4e8ea7a45243.tar.bz2
samba-5b7f0c733c3381a39b9d40a6f34f4e8ea7a45243.zip
improved the error checking
(This used to be commit 2a152998a1489dead0edadb06f78b0ad6ede1a3a)
Diffstat (limited to 'source3/tdb/tdb.h')
-rw-r--r--source3/tdb/tdb.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/tdb/tdb.h b/source3/tdb/tdb.h
index 5ceb79ee4d..8c066e7044 100644
--- a/source3/tdb/tdb.h
+++ b/source3/tdb/tdb.h
@@ -44,6 +44,7 @@ typedef struct {
tdb_len map_size; /* how much space has been mapped */
int read_only; /* opened read-only */
int *locked; /* set if we have a chain locked */
+ int ecode; /* error code for last tdb error */
struct tdb_header header; /* a cached copy of the header */
} TDB_CONTEXT;
@@ -54,9 +55,14 @@ typedef struct {
/* flags for tdb_open() */
#define TDB_CLEAR_IF_FIRST 1
+/* error codes */
+enum TDB_ERROR {TDB_SUCCESS=0, TDB_ERR_CORRUPT, TDB_ERR_IO, TDB_ERR_LOCK,
+ TDB_ERR_OOM, TDB_ERR_EXISTS};
+
#if STANDALONE
TDB_CONTEXT *tdb_open(char *name, int hash_size, int tdb_flags,
int open_flags, mode_t mode);
+char *tdb_error(TDB_CONTEXT *tdb);
int tdb_writelock(TDB_CONTEXT *tdb);
int tdb_writeunlock(TDB_CONTEXT *tdb);
TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key);
@@ -65,6 +71,7 @@ int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag);
int tdb_close(TDB_CONTEXT *tdb);
TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb);
TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA key);
-int tdb_traverse(TDB_CONTEXT *tdb, int (*fn)(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf));
+int tdb_traverse(TDB_CONTEXT *tdb,
+ int (*fn)(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf));
int tdb_exists(TDB_CONTEXT *tdb, TDB_DATA key);
#endif