X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fcnid_dbd%2Fdbif.h;h=8c71de36b96221f598f64f4943b0878e7906f444;hb=6d60f95c388da5f8f901d67e0018cf4896e6c6dc;hp=9c886fb1f9d60e960c099cb0b5c4920ab2af575c;hpb=ffd50caa895e01aed02dcf0543700488463c3a2b;p=netatalk.git diff --git a/etc/cnid_dbd/dbif.h b/etc/cnid_dbd/dbif.h index 9c886fb1..8c71de36 100644 --- a/etc/cnid_dbd/dbif.h +++ b/etc/cnid_dbd/dbif.h @@ -53,7 +53,6 @@ #ifndef CNID_DBD_DBIF_H #define CNID_DBD_DBIF_H 1 -#include #include #include #include "db_param.h" @@ -65,6 +64,13 @@ #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);