diff options
Diffstat (limited to 'include/violite.h')
-rw-r--r-- | include/violite.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/include/violite.h b/include/violite.h index 5dcf27dbab1..55f8328df47 100644 --- a/include/violite.h +++ b/include/violite.h @@ -51,6 +51,14 @@ enum enum_vio_io_event VIO_IO_EVENT_CONNECT }; +struct vio_keepalive_opts +{ + int interval; + int idle; + int probes; +}; + + #define VIO_LOCALHOST 1U /* a localhost connection */ #define VIO_BUFFERED_READ 2U /* use buffered read */ #define VIO_READ_BUFFER_SIZE 16384U /* size of read buffer */ @@ -84,6 +92,7 @@ my_bool vio_is_blocking(Vio *vio); int vio_fastsend(Vio *vio); /* setsockopt SO_KEEPALIVE at SOL_SOCKET level, when possible */ int vio_keepalive(Vio *vio, my_bool onoff); +int vio_set_keepalive_options(Vio * vio, const struct vio_keepalive_opts *opts); /* Whenever we should retry the last read/write operation. */ my_bool vio_should_retry(Vio *vio); /* Check that operation was timed out */ @@ -112,7 +121,9 @@ extern void vio_set_wait_callback(void (*before_wait)(void), my_bool vio_socket_connect(Vio *vio, struct sockaddr *addr, socklen_t len, int timeout); -my_bool vio_get_normalized_ip_string(const struct sockaddr *addr, int addr_length, +void vio_get_normalized_ip(const struct sockaddr *src, size_t src_length, struct sockaddr *dst); + +my_bool vio_get_normalized_ip_string(const struct sockaddr *addr, size_t addr_length, char *ip_string, size_t ip_string_size); my_bool vio_is_no_name_error(int err_code); @@ -212,7 +223,6 @@ enum SSL_type SSL_TYPE_SPECIFIED }; - /* HFTODO - hide this if we don't want client in embedded server */ /* This structure is for every connection on both sides */ struct st_vio @@ -222,7 +232,6 @@ struct st_vio int fcntl_mode; /* Buffered fcntl(sd,F_GETFL) */ struct sockaddr_storage local; /* Local internet address */ struct sockaddr_storage remote; /* Remote internet address */ - int addrLen; /* Length of remote address */ enum enum_vio_type type; /* Type of connection */ const char *desc; /* String description */ char *read_buffer; /* buffer for vio_read_buff */ |