summaryrefslogtreecommitdiff
path: root/source3/tdb/tdb.h
diff options
context:
space:
mode:
authorMartin Pool <mbp@samba.org>2001-12-04 07:40:25 +0000
committerMartin Pool <mbp@samba.org>2001-12-04 07:40:25 +0000
commit7d9e09f5279ee19a69a0f9e09fe3bb9eb51cc885 (patch)
tree487f92c99205a86c8fbff77c2b63e95e838a1ad4 /source3/tdb/tdb.h
parentc75ef67f9741d0acdd8b6be91b710fab6bd0b8e7 (diff)
downloadsamba-7d9e09f5279ee19a69a0f9e09fe3bb9eb51cc885.tar.gz
samba-7d9e09f5279ee19a69a0f9e09fe3bb9eb51cc885.tar.bz2
samba-7d9e09f5279ee19a69a0f9e09fe3bb9eb51cc885.zip
Better error handling:
- tdb_open api changed so that you now pass an error handling callback when opening the file, so that errors detected during opening have somewhere to go. (All calls from the body of Samba to this function go through a wrapper in tdbutil, which has been updated.) - Clean up logic for deciding how to open tdb. Emit log messages if something goes wrong (e.g. bad magic.) - tdbtool now logs errors to stderr. (This used to be commit 0aa800618eab1043d802c04fb1d125cd07936769)
Diffstat (limited to 'source3/tdb/tdb.h')
-rw-r--r--source3/tdb/tdb.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/source3/tdb/tdb.h b/source3/tdb/tdb.h
index 9989474a94..991343a67c 100644
--- a/source3/tdb/tdb.h
+++ b/source3/tdb/tdb.h
@@ -99,12 +99,15 @@ typedef struct tdb_context {
} TDB_CONTEXT;
typedef int (*tdb_traverse_func)(TDB_CONTEXT *, TDB_DATA, TDB_DATA, void *);
+typedef void (*tdb_log_func)(TDB_CONTEXT *, int , const char *, ...);
-TDB_CONTEXT *tdb_open(char *name, int hash_size, int tdb_flags,
- int open_flags, mode_t mode);
int tdb_reopen(TDB_CONTEXT *tdb);
int tdb_reopen_all(void);
-void tdb_logging_function(TDB_CONTEXT *tdb, void (*fn)(TDB_CONTEXT *, int , const char *, ...));
+void tdb_log_to_stderr(TDB_CONTEXT *tdb, int level, const char *format, ...);
+void tdb_logging_function(TDB_CONTEXT *tdb, tdb_log_func fn);
+TDB_CONTEXT *tdb_open(char *name, int hash_size, int tdb_flags,
+ int open_flags, mode_t mode,
+ tdb_log_func log_func);
enum TDB_ERROR tdb_error(TDB_CONTEXT *tdb);
const char *tdb_errorstr(TDB_CONTEXT *tdb);
TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key);