X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=src%2Fconnect.h;h=f0ae5c074443078540414597e35a9aad52d46dd8;hb=d9fea91a0a319e348adb504bd3edff148ff3d8a0;hp=8b0ed4b31d57605e8ac9ed87248fb7bb877a4fb6;hpb=6d3df65e88c5d5b828ee86660cd3830a37f39ebd;p=wget diff --git a/src/connect.h b/src/connect.h index 8b0ed4b3..f0ae5c07 100644 --- a/src/connect.h +++ b/src/connect.h @@ -32,21 +32,6 @@ so, delete this exception statement from your version. */ #include "host.h" /* for definition of ip_address */ -/* Returned by connect_to_host when host name cannot be resolved. */ -enum { - E_HOST = -100 -}; - -/* Flags for select_fd's WAIT argument. */ -enum { - WAIT_READ = 1, - WAIT_WRITE = 2 -}; - -/* bindport flags */ -#define BIND_ON_IPV4_ONLY LH_IPV4_ONLY -#define BIND_ON_IPV6_ONLY LH_IPV6_ONLY - #ifndef ENABLE_IPV6 # ifndef HAVE_SOCKADDR_STORAGE # define sockaddr_storage sockaddr_in @@ -55,18 +40,44 @@ enum { /* Function declarations */ -int connect_to_ip PARAMS ((const ip_address *, int, const char *)); +/* Returned by connect_to_host when host name cannot be resolved. */ +enum { + E_HOST = -100 +}; int connect_to_host PARAMS ((const char *, int)); +int connect_to_ip PARAMS ((const ip_address *, int, const char *)); -void sockaddr_get_data PARAMS ((const struct sockaddr *, ip_address *, int *)); +int bind_local PARAMS ((const ip_address *, int *)); +int accept_connection PARAMS ((int)); -int test_socket_open PARAMS ((int)); -int select_fd PARAMS ((int, double, int)); -uerr_t bindport PARAMS ((const ip_address *, int *, int *)); -uerr_t acceptport PARAMS ((int, int *)); -int conaddr PARAMS ((int, ip_address *)); +enum { + ENDPOINT_LOCAL, + ENDPOINT_PEER +}; +int socket_ip_address PARAMS ((int, ip_address *, int)); -int iread PARAMS ((int, char *, int)); -int iwrite PARAMS ((int, char *, int)); +int retryable_socket_connect_error PARAMS ((int)); +/* Flags for select_fd's WAIT_FOR argument. */ +enum { + WAIT_FOR_READ = 1, + WAIT_FOR_WRITE = 2 +}; +int select_fd PARAMS ((int, double, int)); +int test_socket_open PARAMS ((int)); +int socket_has_inet6 PARAMS ((void)); + +typedef int (*fd_reader_t) PARAMS ((int, char *, int, void *)); +typedef int (*fd_writer_t) PARAMS ((int, char *, int, void *)); +typedef int (*fd_poller_t) PARAMS ((int, double, int, void *)); +typedef int (*fd_peeker_t) PARAMS ((int, char *, int, void *)); +typedef void (*fd_closer_t) PARAMS ((int, void *)); +void fd_register_transport PARAMS ((int, fd_reader_t, fd_writer_t, + fd_poller_t, fd_peeker_t, fd_closer_t, + void *)); + +int fd_read PARAMS ((int, char *, int, double)); +int fd_write PARAMS ((int, char *, int, double)); +int fd_peek PARAMS ((int, char *, int, double)); +void fd_close PARAMS ((int)); #endif /* CONNECT_H */