X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftdb%2Ftdb.h;h=80bf89617e7d2dcdf13f23a82d047c340ec800ba;hb=ccce1aa254cb9c7a2796e3171c7146703ab7ae40;hp=628118172e807ed10762f631bae0b8168fe37f38;hpb=7104b7bc2e7f9829891477dbb04a9df926a656a7;p=ccan diff --git a/ccan/tdb/tdb.h b/ccan/tdb/tdb.h index 62811817..80bf8961 100644 --- a/ccan/tdb/tdb.h +++ b/ccan/tdb/tdb.h @@ -30,6 +30,14 @@ extern "C" { #endif +#ifndef _SAMBA_BUILD_ +/* For mode_t */ +#include +/* For O_* flags. */ +#include +/* For sig_atomic_t. */ +#include +#endif /* flags to tdb_store() */ #define TDB_REPLACE 1 /* Unused */ @@ -129,6 +137,7 @@ int tdb_fd(struct tdb_context *tdb); tdb_log_func tdb_log_fn(struct tdb_context *tdb); void *tdb_get_logging_private(struct tdb_context *tdb); int tdb_transaction_start(struct tdb_context *tdb); +int tdb_transaction_prepare_commit(struct tdb_context *tdb); int tdb_transaction_commit(struct tdb_context *tdb); int tdb_transaction_cancel(struct tdb_context *tdb); int tdb_transaction_recover(struct tdb_context *tdb); @@ -152,11 +161,14 @@ int tdb_chainlock_unmark(struct tdb_context *tdb, TDB_DATA key); void tdb_setalarm_sigptr(struct tdb_context *tdb, volatile sig_atomic_t *sigptr); +/* wipe and repack */ +int tdb_wipe_all(struct tdb_context *tdb); +int tdb_repack(struct tdb_context *tdb); + /* Debug functions. Not used in production. */ void tdb_dump_all(struct tdb_context *tdb); int tdb_printfreelist(struct tdb_context *tdb); int tdb_validate_freelist(struct tdb_context *tdb, int *pnum_entries); -int tdb_wipe_all(struct tdb_context *tdb); int tdb_freelist_size(struct tdb_context *tdb); extern TDB_DATA tdb_null;