diff --git a/examples/echoserver/echoserver.c b/examples/echoserver/echoserver.c index 6bb1865..823053d 100644 --- a/examples/echoserver/echoserver.c +++ b/examples/echoserver/echoserver.c @@ -21,7 +21,6 @@ #define WOLFSSH_TEST_SERVER #define WOLFSSH_TEST_ECHOSERVER - #ifdef HAVE_CONFIG_H #include #endif @@ -40,6 +39,7 @@ #include #include #include + #include "examples/echoserver/echoserver.h" #if defined(WOLFSSL_PTHREADS) && defined(WOLFSSL_TEST_GLOBAL_REQ) @@ -108,7 +108,7 @@ typedef struct WS_AgentCbActionCtx { typedef struct { WOLFSSH* ssh; - SOCKET_T fd; + WS_SOCKET_T fd; word32 id; int echo; char nonBlock; @@ -264,10 +264,10 @@ static int ssh_worker(thread_ctx_t* threadCtx) { if (!stop) { if (threadCtx->nonBlock) { - SOCKET_T sockfd; + WS_SOCKET_T sockfd; int select_ret = 0; - sockfd = (SOCKET_T)wolfSSH_get_fd(threadCtx->ssh); + sockfd = (WS_SOCKET_T)wolfSSH_get_fd(threadCtx->ssh); select_ret = tcp_select(sockfd, 1); if (select_ret != WS_SELECT_RECV_READY && @@ -899,10 +899,10 @@ static int sftp_worker(thread_ctx_t* threadCtx) { byte tmp[1]; int ret = WS_SUCCESS; int error = WS_SUCCESS; - SOCKET_T sockfd; + WS_SOCKET_T sockfd; int select_ret = 0; - sockfd = (SOCKET_T)wolfSSH_get_fd(threadCtx->ssh); + sockfd = (WS_SOCKET_T)wolfSSH_get_fd(threadCtx->ssh); do { if (threadCtx->nonBlock) { if (error == WS_WANT_READ) @@ -952,12 +952,12 @@ static int NonBlockSSH_accept(WOLFSSH* ssh) { int ret; int error; - SOCKET_T sockfd; + WS_SOCKET_T sockfd; int select_ret = 0; ret = wolfSSH_accept(ssh); error = wolfSSH_get_error(ssh); - sockfd = (SOCKET_T)wolfSSH_get_fd(ssh); + sockfd = (WS_SOCKET_T)wolfSSH_get_fd(ssh); while ((ret != WS_SUCCESS && ret != WS_SCP_COMPLETE && ret != WS_SFTP_COMPLETE) @@ -1084,7 +1084,7 @@ static int load_file(const char* fileName, byte* buf, word32 bufSz) if (WFOPEN(&file, fileName, "rb") != 0) return 0; - fseek(file, 0, SEEK_END); + fseek(file, 0, XSEEK_END); fileSz = (word32)ftell(file); rewind(file); @@ -1532,7 +1532,7 @@ THREAD_RETURN WOLFSSH_THREAD echoserver_test(void* args) func_args* serverArgs = (func_args*)args; WOLFSSH_CTX* ctx = NULL; PwMapList pwMapList; - SOCKET_T listenFd = 0; + WS_SOCKET_T listenFd = 0; word32 defaultHighwater = EXAMPLE_HIGHWATER_MARK; word32 threadCount = 0; int multipleConnections = 1; @@ -1717,7 +1717,7 @@ THREAD_RETURN WOLFSSH_THREAD echoserver_test(void* args) } do { - SOCKET_T clientFd = 0; + WS_SOCKET_T clientFd = 0; #ifdef WOLFSSL_NUCLEUS struct addr_struct clientAddr; #else diff --git a/wolfssh/port.h b/wolfssh/port.h index a713c99..ac57c63 100644 --- a/wolfssh/port.h +++ b/wolfssh/port.h @@ -164,6 +164,7 @@ extern "C" { #define WFTELL(s) ftell((s)) #define WREWIND(s) fseek((s), 0, IO_SEEK_SET) #define WSEEK_END IO_SEEK_END + #define WBADFILE NULL static inline int wChmod(void* fs, const char* f, int mode) { diff --git a/wolfssh/test.h b/wolfssh/test.h index 80b92e4..2a1e83c 100644 --- a/wolfssh/test.h +++ b/wolfssh/test.h @@ -22,11 +22,12 @@ #ifndef _WOLFSSH_TEST_H_ #define _WOLFSSH_TEST_H_ - +#ifndef NO_STDIO_FILESYSTEM #include /*#include */ #include /*#include */ +#endif #ifdef USE_WINDOWS_API #ifndef _WIN32_WCE @@ -95,7 +96,12 @@ #define sin_family family #define sin_port port +#elif defined(FREESCALE_MQX) + #ifndef SO_NOSIGPIPE + #include /* ignore SIGPIPE */ + #endif + #define NUM_SOCKETS 5 #else /* USE_WINDOWS_API */ #include #include @@ -134,7 +140,7 @@ #endif /* WOLFSSL_SOCKET_IS_INVALID */ -#if defined(__MACH__) || defined(USE_WINDOWS_API) +#if defined(__MACH__) || defined(USE_WINDOWS_API) || defined(FREESCALE_MQX) #ifndef _SOCKLEN_T typedef int socklen_t; #endif @@ -171,7 +177,7 @@ #define WOLFSSH_THREAD #define INFINITE -1 #define WAIT_OBJECT_0 0L - #elif defined(WOLFSSL_NUCLEUS) + #elif defined(WOLFSSL_NUCLEUS) || defined(FREESCALE_MQX) typedef unsigned int THREAD_RETURN; typedef intptr_t THREAD_TYPE; #define WOLFSSH_THREAD @@ -317,7 +323,7 @@ static INLINE int mygetopt(int argc, char** argv, const char* optstring) * - 4996: deprecated function */ #endif -#if defined(WOLFSSH_TEST_CLIENT) || defined(WOLFSSH_TEST_SERVER) +#if (defined(WOLFSSH_TEST_CLIENT) || defined(WOLFSSH_TEST_SERVER)) && !defined(FREESCALE_MQX) #ifdef WOLFSSL_NUCLEUS static INLINE void build_addr(struct addr_struct* addr, const char* peer, @@ -461,7 +467,7 @@ static INLINE void build_addr(SOCKADDR_IN_T* addr, const char* peer, #endif -static INLINE void tcp_socket(SOCKET_T* sockFd) +static INLINE void tcp_socket(WS_SOCKET_T* sockFd) { #ifdef MICROCHIP_MPLAB_HARMONY /* creates socket in listen or connect */ @@ -528,9 +534,9 @@ static INLINE void tcp_socket(SOCKET_T* sockFd) #endif -#ifdef WOLFSSH_TEST_SERVER +#if defined(WOLFSSH_TEST_SERVER) && !defined(FREESCALE_MQX) -static INLINE void tcp_listen(SOCKET_T* sockfd, word16* port, int useAnyAddr) +static INLINE void tcp_listen(WS_SOCKET_T* sockfd, word16* port, int useAnyAddr) { #ifdef MICROCHIP_MPLAB_HARMONY /* does bind and listen and returns the socket */ @@ -594,10 +600,16 @@ static INLINE void tcp_listen(SOCKET_T* sockfd, word16* port, int useAnyAddr) #endif /* WOLFSSH_TEST_SERVER */ +enum { + WS_SELECT_FAIL, + WS_SELECT_TIMEOUT, + WS_SELECT_RECV_READY, + WS_SELECT_ERROR_READY +}; -#if (defined(WOLFSSH_TEST_SERVER) || defined(WOLFSSH_TEST_CLIENT)) +#if (defined(WOLFSSH_TEST_SERVER) || defined(WOLFSSH_TEST_CLIENT)) && !defined(FREESCALE_MQX) -static INLINE void tcp_set_nonblocking(SOCKET_T* sockfd) +static INLINE void tcp_set_nonblocking(WS_SOCKET_T* sockfd) { #ifdef USE_WINDOWS_API unsigned long blocking = 1; @@ -619,13 +631,6 @@ static INLINE void tcp_set_nonblocking(SOCKET_T* sockfd) } -enum { - WS_SELECT_FAIL, - WS_SELECT_TIMEOUT, - WS_SELECT_RECV_READY, - WS_SELECT_ERROR_READY -}; - #ifdef WOLFSSL_NUCLEUS #define WFD_SET_TYPE FD_SET #define WFD_SET NU_FD_Set