1 /*
2    protocol tests - common functions
3 
4    Copyright (C) Amitay Isaacs  2015-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_H__
21 #define __CTDB_PROTOCOL_COMMON_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 #include "tests/src/protocol_common_basic.h"
32 
33 void fill_tdb_data_nonnull(TALLOC_CTX *mem_ctx, TDB_DATA *p);
34 void fill_tdb_data(TALLOC_CTX *mem_ctx, TDB_DATA *p);
35 void verify_tdb_data(TDB_DATA *p1, TDB_DATA *p2);
36 
37 void fill_ctdb_tdb_data(TALLOC_CTX *mem_ctx, TDB_DATA *p);
38 void verify_ctdb_tdb_data(TDB_DATA *p1, TDB_DATA *p2);
39 
40 void fill_ctdb_tdb_datan(TALLOC_CTX *mem_ctx, TDB_DATA *p);
41 void verify_ctdb_tdb_datan(TDB_DATA *p1, TDB_DATA *p2);
42 
43 void fill_ctdb_latency_counter(struct ctdb_latency_counter *p);
44 void verify_ctdb_latency_counter(struct ctdb_latency_counter *p1,
45 				 struct ctdb_latency_counter *p2);
46 
47 void fill_ctdb_statistics(TALLOC_CTX *mem_ctx, struct ctdb_statistics *p);
48 void verify_ctdb_statistics(struct ctdb_statistics *p1,
49 			    struct ctdb_statistics *p2);
50 
51 void fill_ctdb_vnn_map(TALLOC_CTX *mem_ctx, struct ctdb_vnn_map *p);
52 void verify_ctdb_vnn_map(struct ctdb_vnn_map *p1, struct ctdb_vnn_map *p2);
53 
54 void fill_ctdb_dbid(TALLOC_CTX *mem_ctx, struct ctdb_dbid *p);
55 void verify_ctdb_dbid(struct ctdb_dbid *p1, struct ctdb_dbid *p2);
56 
57 void fill_ctdb_dbid_map(TALLOC_CTX *mem_ctx, struct ctdb_dbid_map *p);
58 void verify_ctdb_dbid_map(struct ctdb_dbid_map *p1, struct ctdb_dbid_map *p2);
59 
60 void fill_ctdb_pulldb(TALLOC_CTX *mem_ctx, struct ctdb_pulldb *p);
61 void verify_ctdb_pulldb(struct ctdb_pulldb *p1, struct ctdb_pulldb *p2);
62 
63 void fill_ctdb_pulldb_ext(TALLOC_CTX *mem_ctx, struct ctdb_pulldb_ext *p);
64 void verify_ctdb_pulldb_ext(struct ctdb_pulldb_ext *p1,
65 			    struct ctdb_pulldb_ext *p2);
66 
67 void fill_ctdb_db_vacuum(TALLOC_CTX *mem_ctx, struct ctdb_db_vacuum *p);
68 void verify_ctdb_db_vacuum(struct ctdb_db_vacuum *p1,
69 			   struct ctdb_db_vacuum *p2);
70 
71 void fill_ctdb_ltdb_header(struct ctdb_ltdb_header *p);
72 void verify_ctdb_ltdb_header(struct ctdb_ltdb_header *p1,
73 			     struct ctdb_ltdb_header *p2);
74 
75 void fill_ctdb_rec_data(TALLOC_CTX *mem_ctx, struct ctdb_rec_data *p);
76 void verify_ctdb_rec_data(struct ctdb_rec_data *p1, struct ctdb_rec_data *p2);
77 
78 void fill_ctdb_rec_buffer(TALLOC_CTX *mem_ctx, struct ctdb_rec_buffer *p);
79 void verify_ctdb_rec_buffer(struct ctdb_rec_buffer *p1,
80 			    struct ctdb_rec_buffer *p2);
81 
82 void fill_ctdb_traverse_start(TALLOC_CTX *mem_ctx,
83 			      struct ctdb_traverse_start *p);
84 void verify_ctdb_traverse_start(struct ctdb_traverse_start *p1,
85 				struct ctdb_traverse_start *p2);
86 
87 void fill_ctdb_traverse_all(TALLOC_CTX *mem_ctx,
88 			    struct ctdb_traverse_all *p);
89 void verify_ctdb_traverse_all(struct ctdb_traverse_all *p1,
90 			      struct ctdb_traverse_all *p2);
91 
92 void fill_ctdb_traverse_start_ext(TALLOC_CTX *mem_ctx,
93 				  struct ctdb_traverse_start_ext *p);
94 void verify_ctdb_traverse_start_ext(struct ctdb_traverse_start_ext *p1,
95 				    struct ctdb_traverse_start_ext *p2);
96 
97 void fill_ctdb_traverse_all_ext(TALLOC_CTX *mem_ctx,
98 				struct ctdb_traverse_all_ext *p);
99 void verify_ctdb_traverse_all_ext(struct ctdb_traverse_all_ext *p1,
100 				  struct ctdb_traverse_all_ext *p2);
101 
102 void fill_ctdb_sock_addr(TALLOC_CTX *mem_ctx, ctdb_sock_addr *p);
103 void verify_ctdb_sock_addr(ctdb_sock_addr *p1, ctdb_sock_addr *p2);
104 
105 void fill_ctdb_connection(TALLOC_CTX *mem_ctx, struct ctdb_connection *p);
106 void verify_ctdb_connection(struct ctdb_connection *p1,
107 			    struct ctdb_connection *p2);
108 
109 void fill_ctdb_connection_list(TALLOC_CTX *mem_ctx,
110 			       struct ctdb_connection_list *p);
111 void verify_ctdb_connection_list(struct ctdb_connection_list *p1,
112 				 struct ctdb_connection_list *p2);
113 
114 void fill_ctdb_tunable(TALLOC_CTX *mem_ctx, struct ctdb_tunable *p);
115 void verify_ctdb_tunable(struct ctdb_tunable *p1, struct ctdb_tunable *p2);
116 
117 void fill_ctdb_node_flag_change(TALLOC_CTX *mem_ctx,
118 				struct ctdb_node_flag_change *p);
119 void verify_ctdb_node_flag_change(struct ctdb_node_flag_change *p1,
120 				  struct ctdb_node_flag_change *p2);
121 
122 void fill_ctdb_var_list(TALLOC_CTX *mem_ctx, struct ctdb_var_list *p);
123 void verify_ctdb_var_list(struct ctdb_var_list *p1, struct ctdb_var_list *p2);
124 
125 void fill_ctdb_tunable_list(TALLOC_CTX *mem_ctx, struct ctdb_tunable_list *p);
126 void verify_ctdb_tunable_list(struct ctdb_tunable_list *p1,
127 			      struct ctdb_tunable_list *p2);
128 
129 void fill_ctdb_tickle_list(TALLOC_CTX *mem_ctx, struct ctdb_tickle_list *p);
130 void verify_ctdb_tickle_list(struct ctdb_tickle_list *p1,
131 			     struct ctdb_tickle_list *p2);
132 
133 void fill_ctdb_addr_info(TALLOC_CTX *mem_ctx, struct ctdb_addr_info *p);
134 void verify_ctdb_addr_info(struct ctdb_addr_info *p1,
135 			   struct ctdb_addr_info *p2);
136 
137 void fill_ctdb_transdb(TALLOC_CTX *mem_ctx, struct ctdb_transdb *p);
138 void verify_ctdb_transdb(struct ctdb_transdb *p1, struct ctdb_transdb *p2);
139 
140 void fill_ctdb_uptime(TALLOC_CTX *mem_ctx, struct ctdb_uptime *p);
141 void verify_ctdb_uptime(struct ctdb_uptime *p1, struct ctdb_uptime *p2);
142 
143 void fill_ctdb_public_ip(TALLOC_CTX *mem_ctx, struct ctdb_public_ip *p);
144 void verify_ctdb_public_ip(struct ctdb_public_ip *p1,
145 			   struct ctdb_public_ip *p2);
146 
147 void fill_ctdb_public_ip_list(TALLOC_CTX *mem_ctx,
148 			      struct ctdb_public_ip_list *p);
149 void verify_ctdb_public_ip_list(struct ctdb_public_ip_list *p1,
150 				struct ctdb_public_ip_list *p2);
151 
152 void fill_ctdb_node_and_flags(TALLOC_CTX *mem_ctx,
153 			      struct ctdb_node_and_flags *p);
154 void verify_ctdb_node_and_flags(struct ctdb_node_and_flags *p1,
155 				struct ctdb_node_and_flags *p2);
156 
157 void fill_ctdb_node_map(TALLOC_CTX *mem_ctx, struct ctdb_node_map *p);
158 void verify_ctdb_node_map(struct ctdb_node_map *p1, struct ctdb_node_map *p2);
159 
160 void fill_ctdb_script(TALLOC_CTX *mem_ctx, struct ctdb_script *p);
161 void verify_ctdb_script(struct ctdb_script *p1, struct ctdb_script *p2);
162 
163 void fill_ctdb_script_list(TALLOC_CTX *mem_ctx, struct ctdb_script_list *p);
164 void verify_ctdb_script_list(struct ctdb_script_list *p1,
165 			     struct ctdb_script_list *p2);
166 
167 void fill_ctdb_ban_state(TALLOC_CTX *mem_ctx, struct ctdb_ban_state *p);
168 void verify_ctdb_ban_state(struct ctdb_ban_state *p1,
169 			   struct ctdb_ban_state *p2);
170 
171 void fill_ctdb_notify_data(TALLOC_CTX *mem_ctx, struct ctdb_notify_data *p);
172 void verify_ctdb_notify_data(struct ctdb_notify_data *p1,
173 			     struct ctdb_notify_data *p2);
174 
175 void fill_ctdb_iface(TALLOC_CTX *mem_ctx, struct ctdb_iface *p);
176 void verify_ctdb_iface(struct ctdb_iface *p1, struct ctdb_iface *p2);
177 
178 void fill_ctdb_iface_list(TALLOC_CTX *mem_ctx, struct ctdb_iface_list *p);
179 void verify_ctdb_iface_list(struct ctdb_iface_list *p1,
180 			    struct ctdb_iface_list *p2);
181 
182 void fill_ctdb_public_ip_info(TALLOC_CTX *mem_ctx,
183 			      struct ctdb_public_ip_info *p);
184 void verify_ctdb_public_ip_info(struct ctdb_public_ip_info *p1,
185 				struct ctdb_public_ip_info *p2);
186 
187 void fill_ctdb_statistics_list(TALLOC_CTX *mem_ctx,
188 			       struct ctdb_statistics_list *p);
189 void verify_ctdb_statistics_list(struct ctdb_statistics_list *p1,
190 				 struct ctdb_statistics_list *p2);
191 
192 void fill_ctdb_key_data(TALLOC_CTX *mem_ctx, struct ctdb_key_data *p);
193 void verify_ctdb_key_data(struct ctdb_key_data *p1, struct ctdb_key_data *p2);
194 
195 void fill_ctdb_db_statistics(TALLOC_CTX *mem_ctx,
196 			     struct ctdb_db_statistics *p);
197 void verify_ctdb_db_statistics(struct ctdb_db_statistics *p1,
198 			       struct ctdb_db_statistics *p2);
199 
200 void fill_ctdb_pid_srvid(TALLOC_CTX *mem_ctx, struct ctdb_pid_srvid *p);
201 void verify_ctdb_pid_srvid(struct ctdb_pid_srvid *p1,
202 			   struct ctdb_pid_srvid *p2);
203 
204 void fill_ctdb_election_message(TALLOC_CTX *mem_ctx,
205 				struct ctdb_election_message *p);
206 void verify_ctdb_election_message(struct ctdb_election_message *p1,
207 				  struct ctdb_election_message *p2);
208 
209 void fill_ctdb_srvid_message(TALLOC_CTX *mem_ctx,
210 			     struct ctdb_srvid_message *p);
211 void verify_ctdb_srvid_message(struct ctdb_srvid_message *p1,
212 			       struct ctdb_srvid_message *p2);
213 
214 void fill_ctdb_disable_message(TALLOC_CTX *mem_ctx,
215 			       struct ctdb_disable_message *p);
216 void verify_ctdb_disable_message(struct ctdb_disable_message *p1,
217 				 struct ctdb_disable_message *p2);
218 
219 void fill_ctdb_server_id(struct ctdb_server_id *p);
220 void verify_ctdb_server_id(struct ctdb_server_id *p1,
221 			   struct ctdb_server_id *p2);
222 
223 void fill_ctdb_g_lock(struct ctdb_g_lock *p);
224 void verify_ctdb_g_lock(struct ctdb_g_lock *p1, struct ctdb_g_lock *p2);
225 
226 void fill_ctdb_g_lock_list(TALLOC_CTX *mem_ctx, struct ctdb_g_lock_list *p);
227 void verify_ctdb_g_lock_list(struct ctdb_g_lock_list *p1,
228 			     struct ctdb_g_lock_list *p2);
229 
230 void fill_sock_packet_header(struct sock_packet_header *p);
231 void verify_sock_packet_header(struct sock_packet_header *p1,
232 			       struct sock_packet_header *p2);
233 
234 #endif /* __CTDB_PROTOCOL_COMMON_H__ */
235