summaryrefslogtreecommitdiff
path: root/source/include/ctdbd_conn.h
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-06-10 17:02:09 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:23:14 -0500
commit15553d6327a3aecdd2b0b94a3656d04bf4106323 (patch)
tree70c68418228511624da346028927c87a38cc00a3 /source/include/ctdbd_conn.h
parent0442e680eeacb56852e200fdf6f78e4972ecad68 (diff)
downloadsamba-15553d6327a3aecdd2b0b94a3656d04bf4106323.tar.gz
r23410: Merge the core of the cluster code.
I'm 100% certain I've forgotten to merge something, but the main code should be in. It's mainly in dbwrap_ctdb.c, ctdbd_conn.c and messages_ctdbd.c. There should be no changes to the non-cluster case, it does survive make test on my laptop. It survives some very basic tests with ctdbd enables, I did not do the full test suite for clusters yet. Phew... Volker
Diffstat (limited to 'source/include/ctdbd_conn.h')
-rw-r--r--source/include/ctdbd_conn.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/source/include/ctdbd_conn.h b/source/include/ctdbd_conn.h
new file mode 100644
index 00000000000..79d8abe59d1
--- /dev/null
+++ b/source/include/ctdbd_conn.h
@@ -0,0 +1,65 @@
+/*
+ Unix SMB/CIFS implementation.
+ Samba3 ctdb connection handling
+ Copyright (C) Volker Lendecke 2007
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+struct ctdbd_connection;
+
+NTSTATUS ctdbd_init_connection(TALLOC_CTX *mem_ctx,
+ struct ctdbd_connection **pconn);
+NTSTATUS ctdbd_messaging_connection(TALLOC_CTX *mem_ctx,
+ struct ctdbd_connection **pconn);
+
+uint32 ctdbd_vnn(const struct ctdbd_connection *conn);
+
+NTSTATUS ctdbd_register_msg_ctx(struct ctdbd_connection *conn,
+ struct messaging_context *msg_ctx);
+
+NTSTATUS ctdbd_messaging_send(struct ctdbd_connection *conn,
+ uint32 dst_vnn, uint64 dst_srvid,
+ struct messaging_rec *msg);
+
+BOOL ctdbd_process_exists(struct ctdbd_connection *conn, uint32 vnn,
+ pid_t pid);
+
+char *ctdbd_dbpath(struct ctdbd_connection *conn,
+ TALLOC_CTX *mem_ctx, uint32_t db_id);
+
+NTSTATUS ctdbd_db_attach(struct ctdbd_connection *conn, const char *name,
+ uint32_t *db_id, int tdb_flags);
+
+NTSTATUS ctdbd_migrate(struct ctdbd_connection *conn, uint32 db_id,
+ TDB_DATA key);
+
+NTSTATUS ctdbd_fetch(struct ctdbd_connection *conn, uint32 db_id,
+ TDB_DATA key, TALLOC_CTX *mem_ctx, TDB_DATA *data);
+
+NTSTATUS ctdbd_traverse(uint32 db_id,
+ void (*fn)(TDB_DATA key, TDB_DATA data,
+ void *private_data),
+ void *private_data);
+
+NTSTATUS ctdbd_register_ips(struct ctdbd_connection *conn,
+ const struct sockaddr_in *server,
+ const struct sockaddr_in *client,
+ void (*release_ip_handler)(const char *ip_addr,
+ void *private_data),
+ void *private_data);
+
+NTSTATUS ctdbd_register_reconfigure(struct ctdbd_connection *conn);
+