diff -r 5229a5d098b2 -r cefec18b8268 src/tcp.c --- a/src/tcp.c Thu May 28 00:35:02 2009 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -#include "tcp_internal.h" - -int tcp_sock_create (const struct addrinfo *addr, error_t *err) -{ - int sock; - - // create a new socket using addr->ai_family/socktype/protocol - if ((sock = socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol)) < 0) - JUMP_SET_ERROR_ERRNO(err, ERR_SOCKET); - - return sock; - -error: - return -ERROR_CODE(err); -} - -err_t tcp_sock_error (evutil_socket_t sock, error_t *err) -{ - int optval; - socklen_t optlen; - - RESET_ERROR(err); - - // init params - optval = 0; - optlen = sizeof(optval); - - // read error code - if (getsockopt(sock, SOL_SOCKET, SO_ERROR, &optval, &optlen)) - RETURN_SET_ERROR_ERRNO(err, ERR_GETSOCKOPT); - - // sanity-check optlen... not sure if this is sensible - if (optlen != sizeof(optval)) - RETURN_SET_ERROR_EXTRA(err, ERR_GETSOCKOPT, EINVAL); - - // then store the system error code - ERROR_EXTRA(err) = optval; - - // ok - return SUCCESS; -} - -