pub trait Hook {
// Required methods
fn connect(
&self,
socket: c_int,
address: *mut sockaddr,
len: socklen_t,
) -> c_int;
fn sendto(
&self,
socket: c_int,
msg: *const c_char,
msglen: size_t,
flags: c_int,
dest_addr: *mut sockaddr,
) -> ssize_t;
fn getaddrinfo(
&self,
node: *const c_char,
service: *const c_char,
hints: *const addrinfo,
res: *mut *const addrinfo,
) -> c_int;
}