lwIP
2.1.0
Lightweight IP stack
|
Macros | |
#define | LWIP_SOCKET 1 |
#define | LWIP_COMPAT_SOCKETS 1 |
#define | LWIP_POSIX_SOCKETS_IO_NAMES 1 |
#define | LWIP_SOCKET_OFFSET 0 |
#define | LWIP_TCP_KEEPALIVE 0 |
#define | LWIP_SO_SNDTIMEO 0 |
#define | LWIP_SO_RCVTIMEO 0 |
#define | LWIP_SO_SNDRCVTIMEO_NONSTANDARD 0 |
#define | LWIP_SO_RCVBUF 0 |
#define | LWIP_SO_LINGER 0 |
#define | RECV_BUFSIZE_DEFAULT INT_MAX |
#define | LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT 20000 |
#define | SO_REUSE 0 |
#define | SO_REUSE_RXTOALL 0 |
#define | LWIP_FIONREAD_LINUXMODE 0 |
#define | LWIP_SOCKET_SELECT 1 |
#define | LWIP_SOCKET_POLL 1 |
#define LWIP_COMPAT_SOCKETS 1 |
LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names through defines. LWIP_COMPAT_SOCKETS==2: Same as ==1 but correctly named functions are created. While this helps code completion, it might conflict with existing libraries. (only used if you use sockets.c)
#define LWIP_FIONREAD_LINUXMODE 0 |
LWIP_FIONREAD_LINUXMODE==0 (default): ioctl/FIONREAD returns the amount of pending data in the network buffer. This is the way windows does it. It's the default for lwIP since it is smaller. LWIP_FIONREAD_LINUXMODE==1: ioctl/FIONREAD returns the size of the next pending datagram in bytes. This is the way linux does it. This code is only here for compatibility.
#define LWIP_POSIX_SOCKETS_IO_NAMES 1 |
LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names. Disable this option if you use a POSIX operating system that uses the same names (read, write & close). (only used if you use sockets.c)
#define LWIP_SO_LINGER 0 |
LWIP_SO_LINGER==1: Enable SO_LINGER processing.
#define LWIP_SO_RCVBUF 0 |
LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing.
#define LWIP_SO_RCVTIMEO 0 |
LWIP_SO_RCVTIMEO==1: Enable receive timeout for sockets/netconns and SO_RCVTIMEO processing.
#define LWIP_SO_SNDRCVTIMEO_NONSTANDARD 0 |
LWIP_SO_SNDRCVTIMEO_NONSTANDARD==1: SO_RCVTIMEO/SO_SNDTIMEO take an int (milliseconds, much like winsock does) instead of a struct timeval (default).
#define LWIP_SO_SNDTIMEO 0 |
LWIP_SO_SNDTIMEO==1: Enable send timeout for sockets/netconns and SO_SNDTIMEO processing.
#define LWIP_SOCKET 1 |
LWIP_SOCKET==1: Enable Socket API (require to use sockets.c)
#define LWIP_SOCKET_OFFSET 0 |
LWIP_SOCKET_OFFSET==n: Increases the file descriptor number created by LwIP with n. This can be useful when there are multiple APIs which create file descriptors. When they all start with a different offset and you won't make them overlap you can re implement read/write/close/ioctl/fnctl to send the requested action to the right library (sharing select will need more work though).
#define LWIP_SOCKET_POLL 1 |
LWIP_SOCKET_POLL==1 (default): enable poll() for sockets (including struct pollfd, nfds_t, and constants)
#define LWIP_SOCKET_SELECT 1 |
LWIP_SOCKET_SELECT==1 (default): enable select() for sockets (uses a netconn callback to keep track of events). This saves RAM (counters per socket) and code (netconn event callback), which should improve performance a bit).
#define LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT 20000 |
By default, TCP socket/netconn close waits 20 seconds max to send the FIN
#define LWIP_TCP_KEEPALIVE 0 |
#define RECV_BUFSIZE_DEFAULT INT_MAX |
If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize.
#define SO_REUSE 0 |
SO_REUSE==1: Enable SO_REUSEADDR option.
#define SO_REUSE_RXTOALL 0 |
SO_REUSE_RXTOALL==1: Pass a copy of incoming broadcast/multicast packets to all local matches if SO_REUSEADDR is turned on. WARNING: Adds a memcpy for every packet if passing to more than one pcb!