- int oobinline, int nodelay, Plug plug);
-Socket new_listener(char *srcaddr, int port, Plug plug, int local_host_only);
-SockAddr name_lookup(char *host, int port, char **canonicalname);
+ int oobinline, int nodelay, int keepalive,
+ Plug plug, Conf *conf);
+Socket new_listener(const char *srcaddr, int port, Plug plug,
+ int local_host_only, Conf *conf, int addressfamily);
+SockAddr name_lookup(const char *host, int port, char **canonicalname,
+ Conf *conf, int addressfamily);
+int proxy_for_destination (SockAddr addr, const char *hostname, int port,
+ Conf *conf);
+
+/* platform-dependent callback from new_connection() */
+/* (same caveat about addr as new_connection()) */
+Socket platform_new_connection(SockAddr addr, const char *hostname,
+ int port, int privport,
+ int oobinline, int nodelay, int keepalive,
+ Plug plug, Conf *conf);