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