From 51b6c413d30ba2a3e6fbaa23797785142048e010 Mon Sep 17 00:00:00 2001 From: Juliusz Sosinowicz Date: Fri, 16 Jul 2021 14:31:26 +0200 Subject: [PATCH] For Windows API `socklen_t` = `int` --- src/wolfio.c | 8 ++++++++ wolfssl/wolfio.h | 4 ++++ 2 files changed, 12 insertions(+) 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);