diff --git a/src/wolfio.c b/src/wolfio.c index 0ab1b8ac2..73b21df38 100644 --- a/src/wolfio.c +++ b/src/wolfio.c @@ -884,7 +884,11 @@ int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port) && !defined(WOLFSSL_KEIL_TCP_NET) && !defined(WOLFSSL_ZEPHYR) { int optval = 1; +#ifndef USE_WINDOWS_API socklen_t optlen = sizeof(optval); +#else + int optlen = sizeof(optval); +#endif if (setsockopt(*sockfd, SOL_SOCKET, SO_REUSEADDR, &optval, optlen) < 0) { WOLFSSL_MSG("setsockopt SO_REUSEADDR failed"); CloseSocket(*sockfd); @@ -917,7 +921,11 @@ int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port) } #ifdef HAVE_SOCKADDR +#ifndef USE_WINDOWS_API int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, socklen_t* peer_len) +#else +int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, int* peer_len) +#endif { return accept(sockfd, peer_addr, peer_len); } diff --git a/wolfssl/wolfio.h b/wolfssl/wolfio.h index 9ab060d05..7e7355bfb 100644 --- a/wolfssl/wolfio.h +++ b/wolfssl/wolfio.h @@ -373,7 +373,11 @@ #endif WOLFSSL_API int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip, unsigned short port, int to_sec); +#ifndef USE_WINDOWS_API WOLFSSL_API int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, socklen_t* peer_len); +#else +WOLFSSL_API int wolfIO_TcpAccept(SOCKET_T sockfd, SOCKADDR* peer_addr, int* peer_len); +#endif WOLFSSL_API int wolfIO_TcpBind(SOCKET_T* sockfd, word16 port); WOLFSSL_API int wolfIO_Send(SOCKET_T sd, char *buf, int sz, int wrFlags); WOLFSSL_API int wolfIO_Recv(SOCKET_T sd, char *buf, int sz, int rdFlags);