summaryrefslogtreecommitdiffstats
path: root/ctdb/include/ctdb_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'ctdb/include/ctdb_private.h')
-rw-r--r--ctdb/include/ctdb_private.h53
1 files changed, 27 insertions, 26 deletions
diff --git a/ctdb/include/ctdb_private.h b/ctdb/include/ctdb_private.h
index f44a940a84e..f73f9ef963f 100644
--- a/ctdb/include/ctdb_private.h
+++ b/ctdb/include/ctdb_private.h
@@ -61,8 +61,8 @@ typedef union {
a tcp connection description
*/
struct ctdb_tcp_connection {
- struct sockaddr_in saddr;
- struct sockaddr_in daddr;
+ ctdb_sock_addr src_addr;
+ ctdb_sock_addr dst_addr;
};
/* the wire representation for a tcp tickle array */
@@ -73,7 +73,7 @@ struct ctdb_tcp_wire_array {
/* the list of tcp tickles used by get/set tcp tickle list */
struct ctdb_control_tcp_tickle_list {
- struct sockaddr_in ip;
+ ctdb_sock_addr addr;
struct ctdb_tcp_wire_array tickles;
};
@@ -170,7 +170,7 @@ struct ctdb_vnn {
struct ctdb_vnn *prev, *next;
const char *iface;
- struct sockaddr_in public_address;
+ ctdb_sock_addr public_address;
uint8_t public_netmask_bits;
/* the node number that is serving this public address, if any.
@@ -563,26 +563,27 @@ struct ctdb_control_set_call {
/*
struct for tcp_client control
+ used by samba can not modify
*/
-struct ctdb_control_tcp {
- struct sockaddr_in src;
- struct sockaddr_in dest;
+struct ctdb_tcp_client {
+ struct sockaddr_in src; // samba uses this
+ struct sockaddr_in dest;// samba uses this
};
/*
struct for kill_tcp control
*/
struct ctdb_control_killtcp {
- struct sockaddr_in src;
- struct sockaddr_in dst;
+ ctdb_sock_addr src_addr;
+ ctdb_sock_addr dst_addr;
};
/*
- struct holding a sockaddr_in and an interface name,
+ struct holding a ctdb_sock_addr and an interface name,
used to add/remove public addresses
*/
struct ctdb_control_ip_iface {
- struct sockaddr_in sin;
+ ctdb_sock_addr addr;
uint32_t mask;
uint32_t len;
char iface[1];
@@ -603,8 +604,8 @@ struct ctdb_control_gratious_arp {
struct for tcp_add and tcp_remove controls
*/
struct ctdb_control_tcp_vnn {
- struct sockaddr_in src;
- struct sockaddr_in dest;
+ ctdb_sock_addr src;
+ ctdb_sock_addr dest;
};
/*
@@ -804,13 +805,11 @@ enum ctdb_trans2_commit_error {
void ctdb_set_error(struct ctdb_context *ctdb, const char *fmt, ...) PRINTF_ATTRIBUTE(2,3);
void ctdb_fatal(struct ctdb_context *ctdb, const char *msg);
bool ctdb_same_address(struct ctdb_address *a1, struct ctdb_address *a2);
-bool parse_ip_mask(const char *s, struct sockaddr_in *ip, unsigned *mask);
int ctdb_parse_address(struct ctdb_context *ctdb,
TALLOC_CTX *mem_ctx, const char *str,
struct ctdb_address *address);
-bool ctdb_same_ipv4(const struct sockaddr_in *ip1, const struct sockaddr_in *ip2);
-bool ctdb_same_ip(ctdb_sock_addr *ip1, ctdb_sock_addr *ip2);
-bool ctdb_same_sockaddr(const struct sockaddr_in *ip1, const struct sockaddr_in *ip2);
+bool ctdb_same_ip(const ctdb_sock_addr *ip1, const ctdb_sock_addr *ip2);
+bool ctdb_same_sockaddr(const ctdb_sock_addr *ip1, const ctdb_sock_addr *ip2);
uint32_t ctdb_hash(const TDB_DATA *key);
uint32_t ctdb_hash_string(const char *str);
void ctdb_request_call(struct ctdb_context *ctdb, struct ctdb_req_header *hdr);
@@ -1085,8 +1084,7 @@ struct ctdb_control_list_tunable {
struct ctdb_node_and_flags {
uint32_t pnn;
uint32_t flags;
- struct sockaddr_in sin;
-
+ ctdb_sock_addr addr;
};
struct ctdb_node_map {
@@ -1191,7 +1189,7 @@ int32_t ctdb_control_end_recovery(struct ctdb_context *ctdb,
struct ctdb_public_ip {
uint32_t pnn;
- struct sockaddr_in sin;
+ ctdb_sock_addr addr;
};
int ctdb_ctrl_takeover_ip(struct ctdb_context *ctdb, struct timeval timeout,
uint32_t destnode, struct ctdb_public_ip *ip);
@@ -1210,7 +1208,7 @@ int ctdb_ctrl_get_public_ips(struct ctdb_context *ctdb,
/* from takeover/system.c */
int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface);
-bool ctdb_sys_have_ip(struct sockaddr_in ip);
+bool ctdb_sys_have_ip(ctdb_sock_addr *addr);
int ctdb_sys_send_tcp(const ctdb_sock_addr *dest,
const ctdb_sock_addr *src,
uint32_t seq, uint32_t ack, int rst);
@@ -1266,13 +1264,14 @@ int ctdb_ctrl_get_all_tunables(struct ctdb_context *ctdb,
void ctdb_start_freeze(struct ctdb_context *ctdb);
-bool parse_ip_port(const char *s, ctdb_sock_addr *saddr);
-bool parse_ip(const char *s, ctdb_sock_addr *saddr);
+bool parse_ip_mask(const char *s, ctdb_sock_addr *addr, unsigned *mask);
+bool parse_ip_port(const char *s, ctdb_sock_addr *addr);
+bool parse_ip(const char *s, ctdb_sock_addr *addr);
+
int ctdb_sys_open_capture_socket(const char *iface, void **private_data);
int ctdb_sys_close_capture_socket(void *private_data);
-int ctdb_sys_read_tcp_packet(int s, void *private_data, struct sockaddr_in *src, struct sockaddr_in *dst,
- uint32_t *ack_seq, uint32_t *seq);
+int ctdb_sys_read_tcp_packet(int s, void *private_data, ctdb_sock_addr *src, ctdb_sock_addr *dst, uint32_t *ack_seq, uint32_t *seq);
int ctdb_ctrl_killtcp(struct ctdb_context *ctdb,
struct timeval timeout,
@@ -1299,7 +1298,7 @@ int ctdb_ctrl_get_tcp_tickles(struct ctdb_context *ctdb,
struct timeval timeout,
uint32_t destnode,
TALLOC_CTX *mem_ctx,
- struct sockaddr_in *ip,
+ ctdb_sock_addr *addr,
struct ctdb_control_tcp_tickle_list **list);
@@ -1376,4 +1375,6 @@ int32_t ctdb_control_trans2_finished(struct ctdb_context *ctdb,
int32_t ctdb_control_trans2_error(struct ctdb_context *ctdb,
struct ctdb_req_control *c);
+char *ctdb_addr_to_str(ctdb_sock_addr *addr);
+
#endif