X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftdb%2Ftdb_private.h;h=4993ff811041e8d4fcdaf375a246a705eb9a0069;hb=e84f843dfeb798e66b32a212bb7ffb095eebd7aa;hp=ffac89ff0e315195b3defdebc35184ef7ab6a038;hpb=7104b7bc2e7f9829891477dbb04a9df926a656a7;p=ccan
diff --git a/ccan/tdb/tdb_private.h b/ccan/tdb/tdb_private.h
index ffac89ff..4993ff81 100644
--- a/ccan/tdb/tdb_private.h
+++ b/ccan/tdb/tdb_private.h
@@ -1,3 +1,5 @@
+#ifndef TDB_PRIVATE_H
+#define TDB_PRIVATE_H
/*
Unix SMB/CIFS implementation.
@@ -23,15 +25,33 @@
License along with this library; if not, see .
*/
+#ifdef _SAMBA_BUILD_
#include "replace.h"
#include "system/filesys.h"
#include "system/time.h"
#include "system/shmem.h"
#include "system/select.h"
#include "system/wait.h"
+#else
+#define _XOPEN_SOURCE 500
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "config.h"
+#endif
#include "tdb.h"
-#ifndef HAVE_GETPAGESIZE
+/* #define TDB_TRACE 1 */
+
+#if HAVE_GETPAGESIZE
#define getpagesize() 0x2000
#endif
@@ -68,6 +88,18 @@ typedef uint32_t tdb_off_t;
* argument. */
#define TDB_LOG(x) tdb->log.log_fn x
+#ifdef TDB_TRACE
+void tdb_trace(const struct tdb_context *tdb, const char *fmt, ...);
+void tdb_trace_record(const struct tdb_context *tdb, TDB_DATA rec);
+#else
+static inline void tdb_trace(const struct tdb_context *tdb, const char *fmt, ...)
+{
+}
+static inline void tdb_trace_record(const struct tdb_context *tdb, TDB_DATA rec)
+{
+}
+#endif /* !TDB_TRACE */
+
/* lock offsets */
#define GLOBAL_LOCK 0
#define ACTIVE_LOCK 4
@@ -167,6 +199,7 @@ struct tdb_context {
int page_size;
int max_dead_records;
bool have_transaction_lock;
+ int tracefd;
volatile sig_atomic_t *interrupt_sig_ptr;
};
@@ -194,6 +227,7 @@ int tdb_ofs_read(struct tdb_context *tdb, tdb_off_t offset, tdb_off_t *d);
int tdb_ofs_write(struct tdb_context *tdb, tdb_off_t offset, tdb_off_t *d);
int tdb_lock_record(struct tdb_context *tdb, tdb_off_t off);
int tdb_unlock_record(struct tdb_context *tdb, tdb_off_t off);
+int tdb_transaction_cancel_internal(struct tdb_context *tdb);
int tdb_rec_read(struct tdb_context *tdb, tdb_off_t offset, struct list_struct *rec);
int tdb_rec_write(struct tdb_context *tdb, tdb_off_t offset, struct list_struct *rec);
int tdb_do_delete(struct tdb_context *tdb, tdb_off_t rec_ptr, struct list_struct *rec);
@@ -211,3 +245,4 @@ int tdb_rec_free_read(struct tdb_context *tdb, tdb_off_t off,
struct list_struct *rec);
+#endif