diff options
Diffstat (limited to 'source4/cluster/ctdb/include/ctdb.h')
-rw-r--r-- | source4/cluster/ctdb/include/ctdb.h | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/source4/cluster/ctdb/include/ctdb.h b/source4/cluster/ctdb/include/ctdb.h index 9049314401..d5a1b581e5 100644 --- a/source4/cluster/ctdb/include/ctdb.h +++ b/source4/cluster/ctdb/include/ctdb.h @@ -50,6 +50,10 @@ struct ctdb_call_info { ctdb flags */ #define CTDB_FLAG_SELF_CONNECT (1<<0) +/* fork off a separate ctdb daemon */ +#define CTDB_FLAG_DAEMON_MODE (1<<1) +/* for test code only: make ctdb_start() block until all nodes are connected */ +#define CTDB_FLAG_CONNECT_WAIT (1<<2) struct event_context; @@ -70,6 +74,11 @@ int ctdb_set_transport(struct ctdb_context *ctdb, const char *transport); void ctdb_set_flags(struct ctdb_context *ctdb, unsigned flags); /* + clear some flags +*/ +void ctdb_clear_flags(struct ctdb_context *ctdb, unsigned flags); + +/* set max acess count before a dmaster migration */ void ctdb_set_max_lacount(struct ctdb_context *ctdb, unsigned count); @@ -143,8 +152,14 @@ uint32_t ctdb_get_num_nodes(struct ctdb_context *ctdb); /* setup a handler for ctdb messages */ typedef void (*ctdb_message_fn_t)(struct ctdb_context *, uint32_t srvid, TDB_DATA data, void *); -int ctdb_set_message_handler(struct ctdb_context *ctdb, ctdb_message_fn_t handler, - void *private); +int ctdb_set_message_handler(struct ctdb_context *ctdb, uint32_t srvid, + ctdb_message_fn_t handler, + void *private_data); + + +int ctdb_call(struct ctdb_db_context *ctdb_db, struct ctdb_call *call); +struct ctdb_call_state *ctdb_call_send(struct ctdb_db_context *ctdb_db, struct ctdb_call *call); +int ctdb_call_recv(struct ctdb_call_state *state, struct ctdb_call *call); /* send a ctdb message */ int ctdb_send_message(struct ctdb_context *ctdb, uint32_t vnn, @@ -164,7 +179,14 @@ struct ctdb_record_handle *ctdb_fetch_lock(struct ctdb_db_context *ctdb_db, TALL change the data in a record held with a ctdb_record_handle if the new data is zero length, this implies a delete of the record */ -int ctdb_record_store(struct ctdb_record_handle *rec, TDB_DATA data); +int ctdb_store_unlock(struct ctdb_record_handle *rec, TDB_DATA data); + +int ctdb_register_message_handler(struct ctdb_context *ctdb, + TALLOC_CTX *mem_ctx, + uint32_t srvid, + ctdb_message_fn_t handler, + void *private_data); +struct ctdb_db_context *find_ctdb_db(struct ctdb_context *ctdb, uint32_t id); #endif |