diff --git a/src/io.c b/src/io.c index 24f874878..1f2d32853 100644 --- a/src/io.c +++ b/src/io.c @@ -219,12 +219,6 @@ int EmbedSend(WOLFSSL* ssl, char *buf, int sz, void *ctx) #include -#ifdef USE_WINDOWS_API - #define XSOCKLENT int -#else - #define XSOCKLENT socklen_t -#endif - #define SENDTO_FUNCTION sendto #define RECVFROM_FUNCTION recvfrom @@ -608,7 +602,7 @@ static int wolfIO_Word16ToString(char* d, word16 number) int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip, word16 port, int to_sec) { -#if defined(HAVE_GETADDRINFO) || defined(HAVE_SOCKADDR) +#ifdef HAVE_SOCKADDR int ret = 0; SOCKADDR_S addr; int sockaddr_len = sizeof(SOCKADDR_IN); @@ -653,14 +647,12 @@ int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip, word16 port, int to_sec) if (entry) { sin->sin_family = AF_INET; sin->sin_port = XHTONS(port); - XMEMCPY(&sin->sin_addr.s_addr, entry->h_addr_list[0], - entry->h_length); + XMEMCPY(&sin->sin_addr.s_addr, entry->h_addr_list[0], entry->h_length); } else { WOLFSSL_MSG("no addr info for responder"); return -1; } -} #endif *sockfd = (SOCKET_T)socket(addr.ss_family, SOCK_STREAM, 0); @@ -709,7 +701,7 @@ int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip, word16 port, int to_sec) (void)port; (void)to_sec; return -1; -#endif /* HAVE_GETADDRINFO || HAVE_SOCKADDR */ +#endif /* HAVE_SOCKADDR */ } int wolfIO_Recv(SOCKET_T sd, char *buf, int sz, int rdFlags) diff --git a/wolfssl/io.h b/wolfssl/io.h index 2d933ed7f..5d715e5ed 100644 --- a/wolfssl/io.h +++ b/wolfssl/io.h @@ -90,7 +90,7 @@ #include #include #include - #else + #elif !defined(WOLFSSL_NO_SOCK) #include #include #ifndef EBSNET @@ -224,7 +224,9 @@ #else #define SEND_FUNCTION send #define RECV_FUNCTION recv - #define HAVE_SOCKADDR + #if !defined(HAVE_SOCKADDR) && !defined(WOLFSSL_NO_SOCK) + #define HAVE_SOCKADDR + #endif #endif #ifdef USE_WINDOWS_API @@ -233,38 +235,30 @@ typedef int SOCKET_T; #endif -/* Socket Addr Support */ -#ifdef HAVE_SOCKADDR - typedef struct sockaddr SOCKADDR; - typedef struct sockaddr_storage SOCKADDR_S; - typedef struct sockaddr_in SOCKADDR_IN; - typedef struct sockaddr_in6 SOCKADDR_IN6; - typedef struct hostent HOSTENT; -#endif /* HAVE_SOCKADDR */ +#ifndef WOLFSSL_NO_SOCK + #ifndef XSOCKLENT + #ifdef USE_WINDOWS_API + #define XSOCKLENT int + #else + #define XSOCKLENT socklen_t + #endif + #endif -#ifdef HAVE_GETADDRINFO - typedef struct addrinfo ADDRINFO; -#endif + /* Socket Addr Support */ + #ifdef HAVE_SOCKADDR + typedef struct sockaddr SOCKADDR; + typedef struct sockaddr_storage SOCKADDR_S; + typedef struct sockaddr_in SOCKADDR_IN; + #ifdef TEST_IPV6 + typedef struct sockaddr_in6 SOCKADDR_IN6; + #endif + typedef struct hostent HOSTENT; + #endif /* HAVE_SOCKADDR */ -#ifndef XINET_NTOP - #define XINET_NTOP(a,b,c,d) inet_ntop((a),(b),(c),(d)) -#endif -#ifndef XINET_PTON - #define XINET_PTON(a,b,c) inet_pton((a),(b),(c)) -#endif -#ifndef XHTONS - #define XHTONS(a) htons((a)) -#endif -#ifndef XNTOHS - #define XNTOHS(a) ntohs((a)) -#endif - -#ifndef WOLFSSL_IP4 - #define WOLFSSL_IP4 AF_INET -#endif -#ifndef WOLFSSL_IP6 - #define WOLFSSL_IP6 AF_INET6 -#endif + #ifdef HAVE_GETADDRINFO + typedef struct addrinfo ADDRINFO; + #endif +#endif /* WOLFSSL_NO_SOCK */ /* IO API's */ @@ -379,6 +373,28 @@ WOLFSSL_API void wolfSSL_SetIOWriteFlags(WOLFSSL* ssl, int flags); #endif + +#ifndef XINET_NTOP + #define XINET_NTOP(a,b,c,d) inet_ntop((a),(b),(c),(d)) +#endif +#ifndef XINET_PTON + #define XINET_PTON(a,b,c) inet_pton((a),(b),(c)) +#endif +#ifndef XHTONS + #define XHTONS(a) htons((a)) +#endif +#ifndef XNTOHS + #define XNTOHS(a) ntohs((a)) +#endif + +#ifndef WOLFSSL_IP4 + #define WOLFSSL_IP4 AF_INET +#endif +#ifndef WOLFSSL_IP6 + #define WOLFSSL_IP6 AF_INET6 +#endif + + #ifdef __cplusplus } /* extern "C" */ #endif