Thanks Dirk. I added the same to the lwipopts.h and it works. Regards Amit
On Thu, Dec 1, 2016 at 1:57 AM, Dirk Ziegelmeier <d...@ziegelmeier.net> wrote: > No, the solution is in errno.h: > > Choose one of: > > - #define LWIP_PROVIDE_ERRNO 1 > - #define LWIP_ERRNO_INCLUDE "path/my_header_file_containing_errno.h" > > HTH > Dirk > > > > On Wed, Nov 30, 2016 at 7:45 PM, Amit Ashara <ashara.a...@gmail.com> > wrote: > >> Hello All, >> >> When integrating FreeRTOS with lwIP 2.0.0 the following gives an error >> for missing defines. >> >> #if !NO_SYS >> /** Table to quickly map an lwIP error (err_t) to a socket error >> * by using -err as an index */ >> static const int err_to_errno_table[] = { >> 0, /* ERR_OK 0 No error, everything OK. */ >> ENOMEM, /* ERR_MEM -1 Out of memory error. */ >> ENOBUFS, /* ERR_BUF -2 Buffer error. */ >> EWOULDBLOCK, /* ERR_TIMEOUT -3 Timeout */ >> EHOSTUNREACH, /* ERR_RTE -4 Routing problem. */ >> EINPROGRESS, /* ERR_INPROGRESS -5 Operation in progress */ >> EINVAL, /* ERR_VAL -6 Illegal value. */ >> EWOULDBLOCK, /* ERR_WOULDBLOCK -7 Operation would block. */ >> EADDRINUSE, /* ERR_USE -8 Address in use. */ >> EALREADY, /* ERR_ALREADY -9 Already connecting. */ >> EISCONN, /* ERR_ISCONN -10 Conn already established.*/ >> ENOTCONN, /* ERR_CONN -11 Not connected. */ >> -1, /* ERR_IF -12 Low-level netif error */ >> ECONNABORTED, /* ERR_ABRT -13 Connection aborted. */ >> ECONNRESET, /* ERR_RST -14 Connection reset. */ >> ENOTCONN, /* ERR_CLSD -15 Connection closed. */ >> EIO /* ERR_ARG -16 Illegal argument. */ >> }; >> #endif /* !NO_SYS */ >> >> #if !NO_SYS >> int >> err_to_errno(err_t err) >> { >> if ((err > 0) || (-err >= (err_t)LWIP_ARRAYSIZE(err_to_errno_table))) { >> return EIO; >> } >> return err_to_errno_table[-err]; >> } >> #endif /* !NO_SYS */ >> >> The assumption is that if NO_SYS is 0, or an RTOS is used, the socket >> model will be used. However when not using the socket model this is not >> true. Instead the following should be done (in my opinion) >> >> #if !NO_SYS >> #if LWIP_SOCKET >> /** Table to quickly map an lwIP error (err_t) to a socket error >> * by using -err as an index */ >> static const int err_to_errno_table[] = { >> 0, /* ERR_OK 0 No error, everything OK. */ >> ENOMEM, /* ERR_MEM -1 Out of memory error. */ >> ENOBUFS, /* ERR_BUF -2 Buffer error. */ >> EWOULDBLOCK, /* ERR_TIMEOUT -3 Timeout */ >> EHOSTUNREACH, /* ERR_RTE -4 Routing problem. */ >> EINPROGRESS, /* ERR_INPROGRESS -5 Operation in progress */ >> EINVAL, /* ERR_VAL -6 Illegal value. */ >> EWOULDBLOCK, /* ERR_WOULDBLOCK -7 Operation would block. */ >> EADDRINUSE, /* ERR_USE -8 Address in use. */ >> EALREADY, /* ERR_ALREADY -9 Already connecting. */ >> EISCONN, /* ERR_ISCONN -10 Conn already established.*/ >> ENOTCONN, /* ERR_CONN -11 Not connected. */ >> -1, /* ERR_IF -12 Low-level netif error */ >> ECONNABORTED, /* ERR_ABRT -13 Connection aborted. */ >> ECONNRESET, /* ERR_RST -14 Connection reset. */ >> ENOTCONN, /* ERR_CLSD -15 Connection closed. */ >> EIO /* ERR_ARG -16 Illegal argument. */ >> }; >> #endif /* LWIP_SOCKET */ >> #endif /* !NO_SYS */ >> >> #if !NO_SYS >> #if LWIP_SOCKET >> int >> err_to_errno(err_t err) >> { >> if ((err > 0) || (-err >= (err_t)LWIP_ARRAYSIZE(err_to_errno_table))) { >> return EIO; >> } >> return err_to_errno_table[-err]; >> } >> #endif /* LWIP_SOCKET */ >> #endif /* !NO_SYS */ >> >> Regards >> Amit Ashara >> >> _______________________________________________ >> lwip-users mailing list >> lwip-users@nongnu.org >> https://lists.nongnu.org/mailman/listinfo/lwip-users >> > > > _______________________________________________ > lwip-users mailing list > lwip-users@nongnu.org > https://lists.nongnu.org/mailman/listinfo/lwip-users >
_______________________________________________ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users