X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb2%2Ftdb2.h;h=3577cc3500702f21891df64095bbc883a1648f17;hp=d194de36aebc568b40962ef7a29fbe1e34b97144;hb=587982955ca9c61363d6e3004622ee97eda80e4b;hpb=2523e67f154c3f8614a2ddca2cd0170d321a27d4 diff --git a/ccan/tdb2/tdb2.h b/ccan/tdb2/tdb2.h index d194de36..3577cc35 100644 --- a/ccan/tdb2/tdb2.h +++ b/ccan/tdb2/tdb2.h @@ -1,17 +1,17 @@ #ifndef CCAN_TDB2_H #define CCAN_TDB2_H -/* +/* Unix SMB/CIFS implementation. trivial database library Copyright (C) Andrew Tridgell 1999-2004 - + ** NOTE! The following LGPL license applies to the tdb ** library. This does NOT imply that all of Samba is released ** under the LGPL - + This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either @@ -60,7 +60,7 @@ extern "C" { #define TDB_ALLOW_NESTING 512 /* Allow transactions to nest */ /* error codes */ -enum TDB_ERROR {TDB_SUCCESS=0, TDB_ERR_CORRUPT, TDB_ERR_IO, TDB_ERR_LOCK, +enum TDB_ERROR {TDB_SUCCESS=0, TDB_ERR_CORRUPT, TDB_ERR_IO, TDB_ERR_LOCK, TDB_ERR_OOM, TDB_ERR_EXISTS, TDB_ERR_NOEXIST, TDB_ERR_EINVAL, TDB_ERR_RDONLY, TDB_ERR_NESTING }; @@ -68,8 +68,7 @@ enum TDB_ERROR {TDB_SUCCESS=0, TDB_ERR_CORRUPT, TDB_ERR_IO, TDB_ERR_LOCK, enum tdb_summary_flags { TDB_SUMMARY_HISTOGRAMS = 1 }; /* logging uses one of the following levels */ -enum tdb_debug_level {TDB_DEBUG_FATAL = 0, TDB_DEBUG_ERROR, - TDB_DEBUG_WARNING, TDB_DEBUG_TRACE}; +enum tdb_log_level {TDB_LOG_ERROR = 0, TDB_LOG_USE_ERROR, TDB_LOG_WARNING}; typedef struct tdb_data { unsigned char *dptr; @@ -80,7 +79,6 @@ struct tdb_context; /* FIXME: Make typesafe */ typedef int (*tdb_traverse_func)(struct tdb_context *, TDB_DATA, TDB_DATA, void *); -typedef void (*tdb_logfn_t)(struct tdb_context *, enum tdb_debug_level, void *, const char *); typedef uint64_t (*tdb_hashfn_t)(const void *key, size_t len, uint64_t seed, void *priv); @@ -98,7 +96,10 @@ struct tdb_attribute_base { struct tdb_attribute_log { struct tdb_attribute_base base; /* .attr = TDB_ATTRIBUTE_LOG */ - tdb_logfn_t log_fn; + void (*log_fn)(struct tdb_context *tdb, + enum tdb_log_level level, + void *log_private, + const char *message); void *log_private; };