summaryrefslogtreecommitdiffstats
path: root/ctdb/include/ctdb.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-07-30 19:58:27 +1000
committerAndrew Tridgell <tridge@samba.org>2008-07-30 19:58:27 +1000
commit237e2f5409f0de2e3ab916072cdff7eedad882ee (patch)
tree4f8b1377ed0d813de3b0eca81f7d5a3d1abab5af /ctdb/include/ctdb.h
parentb8e93a9233da5e356f105567c69e0a6cde063a86 (diff)
downloadsamba-237e2f5409f0de2e3ab916072cdff7eedad882ee.tar.gz
samba-237e2f5409f0de2e3ab916072cdff7eedad882ee.tar.xz
samba-237e2f5409f0de2e3ab916072cdff7eedad882ee.zip
new prototypes
(This used to be ctdb commit 71d9d24abae62f70acbd7c1ded8af0b817607c2a)
Diffstat (limited to 'ctdb/include/ctdb.h')
-rw-r--r--ctdb/include/ctdb.h21
1 files changed, 21 insertions, 0 deletions
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