]> arthur.barton.de Git - netatalk.git/blobdiff - etc/cnid_dbd/dbif.h
Merge master
[netatalk.git] / etc / cnid_dbd / dbif.h
index 9c886fb1f9d60e960c099cb0b5c4920ab2af575c..8c71de36b96221f598f64f4943b0878e7906f444 100644 (file)
@@ -53,7 +53,6 @@
 #ifndef CNID_DBD_DBIF_H
 #define CNID_DBD_DBIF_H 1
 
-#include <sys/cdefs.h>
 #include <db.h>
 #include <atalk/adouble.h>
 #include "db_param.h"
 #define DBIF_IDX_DIDNAME   2
 #define DBIF_IDX_NAME      3
 
+/* get_lock cmd and return value */
+#define LOCKFILENAME  "lock"
+#define LOCK_FREE          0
+#define LOCK_UNLOCK        1
+#define LOCK_EXCL          2
+#define LOCK_SHRD          3
+
 /* Structures */
 typedef struct {
     char     *name;
@@ -76,6 +82,7 @@ typedef struct {
 
 typedef struct {
     DB_ENV   *db_env;
+    struct db_param db_param;
     DB_TXN   *db_txn;
     DBC      *db_cur;              /* for dbif_walk */
     char     *db_envhome;
@@ -85,6 +92,8 @@ typedef struct {
 } DBD;
 
 /* Functions */
+extern int get_lock(int cmd, const char *dbpath);
+
 extern DBD *dbif_init(const char *envhome, const char *dbname);
 extern int dbif_env_open(DBD *dbd, struct db_param *dbp, uint32_t dbenv_oflags);
 extern int dbif_open(DBD *dbd, struct db_param *dbp, int reindex);
@@ -101,7 +110,7 @@ extern int dbif_copy_rootinfokey(DBD *srcdbd, DBD *destdbd);
 extern int dbif_txn_begin(DBD *);
 extern int dbif_txn_commit(DBD *);
 extern int dbif_txn_abort(DBD *);
-extern void dbif_txn_close(DBD *dbd, int ret); /* Switch between commit+abort */
+extern int dbif_txn_close(DBD *dbd, int ret); /* Switch between commit+abort */
 extern int dbif_txn_checkpoint(DBD *, u_int32_t, u_int32_t, u_int32_t);
 
 extern int dbif_dump(DBD *dbd, int dumpindexes);