{section: Converting each socket functions } Now, I would like to enumerate all the functions that must be addressed in proxy socket interface. +*:convert_ip_to_hostname + +This one is little tricky. Given parameter, const char* addr is actually in_addr*. Inside of the function, it explicitly type-cast const char* addr to in_addr*. It calls inet_ntoa and convert every '.' char to '-'. + *:getaddrinfo Converting existing code to call getaddrinfo() is not trivial as I expected. This function returns addrinfo structure which embeds sockaddr*. Since it is not sockaddr_in(IPv4 address), the caller must check sockaddr::sin_family to see whether it belongs to IPv4 or IPv6 address.