ctdb-protocol: Add protocol marshalling for CTDB_REQ_TUNNEL
[samba.git] / ctdb / tests / src / protocol_common_ctdb.h
1 /*
2    protocol tests - ctdb protocol
3
4    Copyright (C) Amitay Isaacs  2017
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef __CTDB_PROTOCOL_COMMON_CTDB_H__
21 #define __CTDB_PROTOCOL_COMMON_CTDB_H__
22
23 #include "replace.h"
24 #include "system/network.h"
25
26 #include <talloc.h>
27 #include <tdb.h>
28
29 #include "protocol/protocol.h"
30
31 void fill_ctdb_req_header(struct ctdb_req_header *h);
32 void verify_ctdb_req_header(struct ctdb_req_header *h,
33                             struct ctdb_req_header *h2);
34
35 void fill_ctdb_req_call(TALLOC_CTX *mem_ctx, struct ctdb_req_call *c);
36 void verify_ctdb_req_call(struct ctdb_req_call *c, struct ctdb_req_call *c2);
37
38 void fill_ctdb_reply_call(TALLOC_CTX *mem_ctx, struct ctdb_reply_call *c);
39 void verify_ctdb_reply_call(struct ctdb_reply_call *c,
40                             struct ctdb_reply_call *c2);
41
42 void fill_ctdb_reply_error(TALLOC_CTX *mem_ctx, struct ctdb_reply_error *c);
43 void verify_ctdb_reply_error(struct ctdb_reply_error *c,
44                              struct ctdb_reply_error *c2);
45
46 void fill_ctdb_req_dmaster(TALLOC_CTX *mem_ctx, struct ctdb_req_dmaster *c);
47 void verify_ctdb_req_dmaster(struct ctdb_req_dmaster *c,
48                              struct ctdb_req_dmaster *c2);
49
50 void fill_ctdb_reply_dmaster(TALLOC_CTX *mem_ctx,
51                              struct ctdb_reply_dmaster *c);
52 void verify_ctdb_reply_dmaster(struct ctdb_reply_dmaster *c,
53                                struct ctdb_reply_dmaster *c2);
54
55 void fill_ctdb_req_control_data(TALLOC_CTX *mem_ctx,
56                                 struct ctdb_req_control_data *cd,
57                                 uint32_t opcode);
58 void verify_ctdb_req_control_data(struct ctdb_req_control_data *cd,
59                                   struct ctdb_req_control_data *cd2);
60
61 void fill_ctdb_req_control(TALLOC_CTX *mem_ctx, struct ctdb_req_control *c,
62                            uint32_t opcode);
63 void verify_ctdb_req_control(struct ctdb_req_control *c,
64                              struct ctdb_req_control *c2);
65
66 void fill_ctdb_reply_control_data(TALLOC_CTX *mem_ctx,
67                                   struct ctdb_reply_control_data *cd,
68                                   uint32_t opcode);
69 void verify_ctdb_reply_control_data(struct ctdb_reply_control_data *cd,
70                                     struct ctdb_reply_control_data *cd2);
71
72 void fill_ctdb_reply_control(TALLOC_CTX *mem_ctx,
73                              struct ctdb_reply_control *c, uint32_t opcode);
74 void verify_ctdb_reply_control(struct ctdb_reply_control *c,
75                                struct ctdb_reply_control *c2);
76
77 void fill_ctdb_message_data(TALLOC_CTX *mem_ctx, union ctdb_message_data *md,
78                             uint64_t srvid);
79 void verify_ctdb_message_data(union ctdb_message_data *md,
80                               union ctdb_message_data *md2, uint64_t srvid);
81
82 void fill_ctdb_req_message(TALLOC_CTX *mem_ctx, struct ctdb_req_message *c,
83                            uint64_t srvid);
84 void verify_ctdb_req_message(struct ctdb_req_message *c,
85                              struct ctdb_req_message *c2);
86
87 void fill_ctdb_req_message_data(TALLOC_CTX *mem_ctx,
88                                 struct ctdb_req_message_data *c);
89 void verify_ctdb_req_message_data(struct ctdb_req_message_data *c,
90                                   struct ctdb_req_message_data *c2);
91
92 void fill_ctdb_req_keepalive(TALLOC_CTX *mem_ctx,
93                              struct ctdb_req_keepalive *c);
94 void verify_ctdb_req_keepalive(struct ctdb_req_keepalive *c,
95                                struct ctdb_req_keepalive *c2);
96
97 void fill_ctdb_req_tunnel(TALLOC_CTX *mem_ctx, struct ctdb_req_tunnel *c);
98 void verify_ctdb_req_tunnel(struct ctdb_req_tunnel *c,
99                             struct ctdb_req_tunnel *c2);
100
101 #endif /* __CTDB_PROTOCOL_COMMON_CTDB_H__ */