From 237e2f5409f0de2e3ab916072cdff7eedad882ee Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 30 Jul 2008 19:58:27 +1000 Subject: new prototypes (This used to be ctdb commit 71d9d24abae62f70acbd7c1ded8af0b817607c2a) --- ctdb/include/ctdb.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'ctdb') diff --git a/ctdb/include/ctdb.h b/ctdb/include/ctdb.h index 985b78f7d5..c6f257433b 100644 --- a/ctdb/include/ctdb.h +++ b/ctdb/include/ctdb.h @@ -106,6 +106,8 @@ struct ctdb_call_info { /* send a broadcast to all connected nodes */ #define CTDB_BROADCAST_CONNECTED 0xF0000004 +/* the key used for transaction locking on persistent databases */ +#define CTDB_TRANSACTION_LOCK_KEY "__transaction_lock__" enum control_state {CTDB_CONTROL_WAIT, CTDB_CONTROL_DONE, CTDB_CONTROL_ERROR, CTDB_CONTROL_TIMEOUT}; @@ -546,4 +548,23 @@ struct ctdb_client_control_state *ctdb_ctrl_getcapabilities_send(struct ctdb_con int ctdb_ctrl_getcapabilities_recv(struct ctdb_context *ctdb, TALLOC_CTX *mem_ctx, struct ctdb_client_control_state *state, uint32_t *capabilities); +struct ctdb_marshall_buffer *ctdb_marshall_add(TALLOC_CTX *mem_ctx, + struct ctdb_marshall_buffer *m, + uint64_t db_id, + uint32_t reqid, + TDB_DATA key, + struct ctdb_ltdb_header *header, + TDB_DATA data); +TDB_DATA ctdb_marshall_finish(struct ctdb_marshall_buffer *m); + +struct ctdb_transaction_handle *ctdb_transaction_start(struct ctdb_db_context *ctdb_db, + TALLOC_CTX *mem_ctx); +int ctdb_transaction_fetch(struct ctdb_transaction_handle *h, + TALLOC_CTX *mem_ctx, + TDB_DATA key, TDB_DATA *data); +int ctdb_transaction_store(struct ctdb_transaction_handle *h, + TDB_DATA key, TDB_DATA data); +int ctdb_transaction_commit(struct ctdb_transaction_handle *h); + + #endif -- cgit