]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/private.h
tdb2: tdb_set_attribute, tdb_unset_attribute and tdb_get_attribute
[ccan] / ccan / tdb2 / private.h
index ab9dc35f76f3a15cb1e7a4716e9ef56359c4711f..306cb3ff467f70397fbcd91709a285c34e9e9de8 100644 (file)
@@ -365,17 +365,22 @@ struct tdb_context {
        uint32_t flags;
 
        /* Logging function */
-       void (*logfn)(struct tdb_context *tdb,
-                     enum tdb_log_level level,
-                     void *data,
-                     const char *message);
+       void (*log_fn)(struct tdb_context *tdb,
+                      enum tdb_log_level level,
+                      const char *message,
+                      void *data);
        void *log_data;
 
        /* Hash function. */
-       uint64_t (*hashfn)(const void *key, size_t len, uint64_t seed, void *);
+       uint64_t (*hash_fn)(const void *key, size_t len, uint64_t seed, void *);
        void *hash_data;
        uint64_t hash_seed;
 
+       /* low level (fnctl) lock functions. */
+       int (*lock_fn)(int fd, int rw, off_t off, off_t len, bool w, void *);
+       int (*unlock_fn)(int fd, int rw, off_t off, off_t len, void *);
+       void *lock_data;
+
        /* Set if we are in a transaction. */
        struct tdb_transaction *transaction;
        
@@ -412,8 +417,6 @@ struct tdb_methods {
   internal prototypes
 */
 /* hash.c: */
-void tdb_hash_init(struct tdb_context *tdb);
-
 tdb_bool_err first_in_hash(struct tdb_context *tdb,
                           struct traverse_info *tinfo,
                           TDB_DATA *kbuf, size_t *dlen);
@@ -584,6 +587,10 @@ bool tdb_has_expansion_lock(struct tdb_context *tdb);
 /* If it needs recovery, grab all the locks and do it. */
 enum TDB_ERROR tdb_lock_and_recover(struct tdb_context *tdb);
 
+/* Default lock and unlock functions. */
+int tdb_fcntl_lock(int fd, int rw, off_t off, off_t len, bool waitflag, void *);
+int tdb_fcntl_unlock(int fd, int rw, off_t off, off_t len, void *);
+
 /* transaction.c: */
 enum TDB_ERROR tdb_transaction_recover(struct tdb_context *tdb);
 tdb_bool_err tdb_needs_recovery(struct tdb_context *tdb);