ctdb-daemon: Add implementation of tunnel controls
[Samba.git] / ctdb / server / ctdb_cluster_mutex.h
blob4587290e2e5ec0b2c95d776e8c74518c1305d66a
1 /*
2 CTDB cluster mutex handling
4 Copyright (C) Andrew Tridgell 2007
5 Copyright (C) Ronnie Sahlberg 2007
6 Copyright (C) Martin Schwenke 2016
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, see <http://www.gnu.org/licenses/>.
22 #ifndef __CTDB_CLUSTER_MUTEX_H__
23 #define __CTDB_CLUSTER_MUTEX_H__
25 #include <talloc.h>
27 #include "replace.h"
28 #include "system/network.h"
30 #include "ctdb_private.h"
32 struct ctdb_cluster_mutex_handle;
34 typedef void (*cluster_mutex_handler_t) (
35 char status,
36 double latency,
37 void *private_data);
39 typedef void (*cluster_mutex_lost_handler_t) (void *private_data);
41 struct ctdb_cluster_mutex_handle *
42 ctdb_cluster_mutex(TALLOC_CTX *mem_ctx,
43 struct ctdb_context *ctdb,
44 const char *argstring,
45 int timeout,
46 cluster_mutex_handler_t handler,
47 void *private_data,
48 cluster_mutex_lost_handler_t lost_handler,
49 void *lost_data);
51 #endif /* __CTDB_CLUSTER_MUTEX_H__ */