+#ifndef TDB_PRIVATE_H
+#define TDB_PRIVATE_H
/*
Unix SMB/CIFS implementation.
#include <string.h>
#include <errno.h>
#include <stdio.h>
+#include <utime.h>
+#include "config.h"
#endif
#include "tdb.h"
-#ifndef HAVE_GETPAGESIZE
+/* #define TDB_TRACE 1 */
+
+#if HAVE_GETPAGESIZE
#define getpagesize() 0x2000
#endif
* 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
int page_size;
int max_dead_records;
bool have_transaction_lock;
+ int tracefd;
volatile sig_atomic_t *interrupt_sig_ptr;
};
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);
struct list_struct *rec);
+#endif