Data Structures | |
struct | fd_set |
struct | linger |
struct | sockaddr |
struct | sockaddr_in |
Macros | |
#define | _IO(x, y) (IOC_VOID|((x)<<8)|(y)) |
#define | _IOR(x, y, t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) |
#define | _IOW(x, y, t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) |
#define | accept(a, b, c) lwip_accept(a,b,c) |
#define | AF_INET 2 |
#define | AF_UNSPEC 0 |
#define | bind(a, b, c) lwip_bind(a,b,c) |
#define | close(s) lwip_close(s) |
#define | closesocket(s) lwip_close(s) |
#define | connect(a, b, c) lwip_connect(a,b,c) |
#define | F_GETFL 3 |
#define | F_SETFL 4 |
#define | FD_CLR(n, p) ((p)->fd_bits[(n)/8] &= ~(1 << ((n) & 7))) |
#define | FD_ISSET(n, p) ((p)->fd_bits[(n)/8] & (1 << ((n) & 7))) |
#define | FD_SET(n, p) ((p)->fd_bits[(n)/8] |= (1 << ((n) & 7))) |
#define | FD_SETSIZE MEMP_NUM_NETCONN |
#define | FD_ZERO(p) memset((void*)(p),0,sizeof(*(p))) |
#define | FIONBIO _IOW('f', 126, unsigned long) /* set/clear non-blocking i/o */ |
#define | FIONREAD _IOR('f', 127, unsigned long) /* get # bytes to read */ |
#define | getpeername(a, b, c) lwip_getpeername(a,b,c) |
#define | getsockname(a, b, c) lwip_getsockname(a,b,c) |
#define | getsockopt(a, b, c, d, e) lwip_getsockopt(a,b,c,d,e) |
#define | IOC_IN 0x80000000UL /* copy in parameters */ |
#define | IOC_INOUT (IOC_IN|IOC_OUT) |
#define | IOC_OUT 0x40000000UL /* copy out parameters */ |
#define | IOC_VOID 0x20000000UL /* no parameters */ |
#define | IOCPARM_MASK 0x7fU /* parameters must be < 128 bytes */ |
#define | ioctlsocket(a, b, c) lwip_ioctl(a,b,c) |
#define | IP_TOS 1 |
#define | IP_TTL 2 |
#define | IPPROTO_IP 0 |
#define | IPPROTO_TCP 6 |
#define | IPPROTO_UDP 17 |
#define | IPPROTO_UDPLITE 136 |
#define | IPTOS_LOWCOST 0x02 |
#define | IPTOS_LOWDELAY 0x10 |
#define | IPTOS_MINCOST IPTOS_LOWCOST |
#define | IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK) |
#define | IPTOS_PREC_CRITIC_ECP 0xa0 |
#define | IPTOS_PREC_FLASH 0x60 |
#define | IPTOS_PREC_FLASHOVERRIDE 0x80 |
#define | IPTOS_PREC_IMMEDIATE 0x40 |
#define | IPTOS_PREC_INTERNETCONTROL 0xc0 |
#define | IPTOS_PREC_MASK 0xe0 |
#define | IPTOS_PREC_NETCONTROL 0xe0 |
#define | IPTOS_PREC_PRIORITY 0x20 |
#define | IPTOS_PREC_ROUTINE 0x00 |
#define | IPTOS_RELIABILITY 0x04 |
#define | IPTOS_THROUGHPUT 0x08 |
#define | IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) |
#define | IPTOS_TOS_MASK 0x1E |
#define | listen(a, b) lwip_listen(a,b) |
#define | MSG_DONTWAIT 0x08 /* Nonblocking i/o for this operation only */ |
#define | MSG_MORE 0x10 /* Sender will send more */ |
#define | MSG_OOB 0x04 /* Unimplemented: Requests out-of-band data. The significance and semantics of out-of-band data are protocol-specific */ |
#define | MSG_PEEK 0x01 /* Peeks at an incoming message */ |
#define | MSG_WAITALL 0x02 /* Unimplemented: Requests that the function block until the full amount of data requested can be returned */ |
#define | O_NDELAY 1 /* same as O_NONBLOCK, for compatibility */ |
#define | O_NONBLOCK 1 /* nonblocking I/O */ |
#define | PF_INET AF_INET |
#define | PF_UNSPEC AF_UNSPEC |
#define | read(a, b, c) lwip_read(a,b,c) |
#define | recv(a, b, c, d) lwip_recv(a,b,c,d) |
#define | recvfrom(a, b, c, d, e, f) lwip_recvfrom(a,b,c,d,e,f) |
#define | select(a, b, c, d, e) lwip_select(a,b,c,d,e) |
#define | send(a, b, c, d) lwip_send(a,b,c,d) |
#define | sendto(a, b, c, d, e, f) lwip_sendto(a,b,c,d,e,f) |
#define | setsockopt(a, b, c, d, e) lwip_setsockopt(a,b,c,d,e) |
#define | SHUT_RD 0 |
#define | SHUT_RDWR 2 |
#define | SHUT_WR 1 |
#define | shutdown(a, b) lwip_shutdown(a,b) |
#define | SIOCATMARK _IOR('s', 7, unsigned long) /* at oob mark? */ |
#define | SIOCGHIWAT _IOR('s', 1, unsigned long) /* get high watermark */ |
#define | SIOCGLOWAT _IOR('s', 3, unsigned long) /* get low watermark */ |
#define | SIOCSHIWAT _IOW('s', 0, unsigned long) /* set high watermark */ |
#define | SIOCSLOWAT _IOW('s', 2, unsigned long) /* set low watermark */ |
#define | SO_ACCEPTCONN 0x0002 /* socket has had listen() */ |
#define | SO_BROADCAST 0x0020 /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */ |
#define | SO_CONTIMEO 0x1009 /* Unimplemented: connect timeout */ |
#define | SO_DEBUG 0x0001 /* Unimplemented: turn on debugging info recording */ |
#define | SO_DONTLINGER ((int)(~SO_LINGER)) |
#define | SO_DONTROUTE 0x0010 /* Unimplemented: just use interface addresses */ |
#define | SO_ERROR 0x1007 /* get error status and clear */ |
#define | SO_KEEPALIVE 0x0008 /* keep connections alive */ |
#define | SO_LINGER 0x0080 /* linger on close if data present */ |
#define | SO_NO_CHECK 0x100a /* don't create UDP checksum */ |
#define | SO_OOBINLINE 0x0100 /* Unimplemented: leave received OOB data in line */ |
#define | SO_RCVBUF 0x1002 /* receive buffer size */ |
#define | SO_RCVLOWAT 0x1004 /* Unimplemented: receive low-water mark */ |
#define | SO_RCVTIMEO 0x1006 /* receive timeout */ |
#define | SO_REUSEADDR 0x0004 /* Allow local address reuse */ |
#define | SO_REUSEPORT 0x0200 /* Unimplemented: allow local address & port reuse */ |
#define | SO_SNDBUF 0x1001 /* Unimplemented: send buffer size */ |
#define | SO_SNDLOWAT 0x1003 /* Unimplemented: send low-water mark */ |
#define | SO_SNDTIMEO 0x1005 /* Unimplemented: send timeout */ |
#define | SO_TYPE 0x1008 /* get socket type */ |
#define | SO_USELOOPBACK 0x0040 /* Unimplemented: bypass hardware when possible */ |
#define | SOCK_DGRAM 2 |
#define | SOCK_RAW 3 |
#define | SOCK_STREAM 1 |
#define | socket(a, b, c) lwip_socket(a,b,c) |
#define | socklen_t u32_t |
#define | SOL_SOCKET 0xfff /* options for socket level */ |
#define | TCP_KEEPALIVE 0x02 /* send KEEPALIVE probes when idle for pcb->keep_idle milliseconds */ |
#define | TCP_KEEPCNT 0x05 /* set pcb->keep_cnt - Use number of probes sent for get/setsockopt */ |
#define | TCP_KEEPIDLE 0x03 /* set pcb->keep_idle - Same as TCP_KEEPALIVE, but use seconds for get/setsockopt */ |
#define | TCP_KEEPINTVL 0x04 /* set pcb->keep_intvl - Use seconds for get/setsockopt */ |
#define | TCP_NODELAY 0x01 /* don't delay send to coalesce packets */ |
#define | write(a, b, c) lwip_write(a,b,c) |
Typedefs | |
typedef struct fd_set | fd_set |
Functions | |
int | lwip_accept (int s, struct sockaddr *addr, socklen_t *addrlen) |
int | lwip_bind (int s, const struct sockaddr *name, socklen_t namelen) |
int | lwip_close (int s) |
int | lwip_connect (int s, const struct sockaddr *name, socklen_t namelen) |
int | lwip_fcntl (int s, int cmd, int val) |
A minimal implementation of fcntl. More... | |
int | lwip_getpeername (int s, struct sockaddr *name, socklen_t *namelen) |
int | lwip_getsockname (int s, struct sockaddr *name, socklen_t *namelen) |
int | lwip_getsockopt (int s, int level, int optname, void *optval, socklen_t *optlen) |
int | lwip_ioctl (int s, long cmd, void *argp) |
int | lwip_listen (int s, int backlog) |
Set a socket into listen mode. More... | |
int | lwip_read (int s, void *mem, size_t len) |
int | lwip_recv (int s, void *mem, size_t len, int flags) |
int | lwip_recvfrom (int s, void *mem, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen) |
int | lwip_select (int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, struct timeval *timeout) |
Processing exceptset is not yet implemented. More... | |
int | lwip_send (int s, const void *dataptr, size_t size, int flags) |
int | lwip_sendto (int s, const void *dataptr, size_t size, int flags, const struct sockaddr *to, socklen_t tolen) |
int | lwip_setsockopt (int s, int level, int optname, const void *optval, socklen_t optlen) |
int | lwip_shutdown (int s, int how) |
Unimplemented: Close one end of a full-duplex connection. More... | |
int | lwip_socket (int domain, int type, int protocol) |
void | lwip_socket_init (void) |
LWIP_TIMEVAL_PRIVATE: if you want to use the struct timeval provided by your system, set this to 0 and include <sys/time.h> in cc.h. More... | |
int | lwip_write (int s, const void *dataptr, size_t size) |
#define _IO | ( | x, | |
y | |||
) | (IOC_VOID|((x)<<8)|(y)) |
#define _IOR | ( | x, | |
y, | |||
t | |||
) | (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) |
#define _IOW | ( | x, | |
y, | |||
t | |||
) | (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) |
#define accept | ( | a, | |
b, | |||
c | |||
) | lwip_accept(a,b,c) |
Referenced by tcp_accept().
#define AF_INET 2 |
Referenced by lwip_accept(), lwip_bind(), lwip_connect(), lwip_getaddrname(), lwip_recvfrom(), and lwip_sendto().
#define AF_UNSPEC 0 |
Referenced by lwip_connect().
#define bind | ( | a, | |
b, | |||
c | |||
) | lwip_bind(a,b,c) |
#define close | ( | s | ) | lwip_close(s) |
#define closesocket | ( | s | ) | lwip_close(s) |
#define connect | ( | a, | |
b, | |||
c | |||
) | lwip_connect(a,b,c) |
#define F_GETFL 3 |
Referenced by lwip_fcntl().
#define F_SETFL 4 |
Referenced by lwip_fcntl().
#define FD_CLR | ( | n, | |
p | |||
) | ((p)->fd_bits[(n)/8] &= ~(1 << ((n) & 7))) |
#define FD_ISSET | ( | n, | |
p | |||
) | ((p)->fd_bits[(n)/8] & (1 << ((n) & 7))) |
Referenced by event_callback(), lwip_select(), and lwip_selscan().
#define FD_SET | ( | n, | |
p | |||
) | ((p)->fd_bits[(n)/8] |= (1 << ((n) & 7))) |
Referenced by lwip_selscan().
#define FD_SETSIZE MEMP_NUM_NETCONN |
#define FD_ZERO | ( | p | ) | memset((void*)(p),0,sizeof(*(p))) |
Referenced by lwip_selscan().
#define FIONBIO _IOW('f', 126, unsigned long) /* set/clear non-blocking i/o */ |
Referenced by lwip_ioctl().
Referenced by lwip_ioctl().
#define getpeername | ( | a, | |
b, | |||
c | |||
) | lwip_getpeername(a,b,c) |
#define getsockname | ( | a, | |
b, | |||
c | |||
) | lwip_getsockname(a,b,c) |
#define getsockopt | ( | a, | |
b, | |||
c, | |||
d, | |||
e | |||
) | lwip_getsockopt(a,b,c,d,e) |
#define IOC_IN 0x80000000UL /* copy in parameters */ |
#define IOC_OUT 0x40000000UL /* copy out parameters */ |
#define IOC_VOID 0x20000000UL /* no parameters */ |
#define IOCPARM_MASK 0x7fU /* parameters must be < 128 bytes */ |
#define ioctlsocket | ( | a, | |
b, | |||
c | |||
) | lwip_ioctl(a,b,c) |
#define IP_TOS 1 |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define IP_TTL 2 |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define IPPROTO_IP 0 |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define IPPROTO_TCP 6 |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define IPPROTO_UDP 17 |
#define IPPROTO_UDPLITE 136 |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), lwip_setsockopt_internal(), and lwip_socket().
#define IPTOS_LOWCOST 0x02 |
#define IPTOS_LOWDELAY 0x10 |
#define IPTOS_MINCOST IPTOS_LOWCOST |
#define IPTOS_PREC | ( | tos | ) | ((tos) & IPTOS_PREC_MASK) |
#define IPTOS_PREC_CRITIC_ECP 0xa0 |
#define IPTOS_PREC_FLASH 0x60 |
#define IPTOS_PREC_FLASHOVERRIDE 0x80 |
#define IPTOS_PREC_IMMEDIATE 0x40 |
#define IPTOS_PREC_INTERNETCONTROL 0xc0 |
#define IPTOS_PREC_MASK 0xe0 |
#define IPTOS_PREC_NETCONTROL 0xe0 |
#define IPTOS_PREC_PRIORITY 0x20 |
#define IPTOS_PREC_ROUTINE 0x00 |
#define IPTOS_RELIABILITY 0x04 |
#define IPTOS_THROUGHPUT 0x08 |
#define IPTOS_TOS | ( | tos | ) | ((tos) & IPTOS_TOS_MASK) |
#define IPTOS_TOS_MASK 0x1E |
#define listen | ( | a, | |
b | |||
) | lwip_listen(a,b) |
#define MSG_DONTWAIT 0x08 /* Nonblocking i/o for this operation only */ |
Referenced by lwip_recvfrom(), and lwip_send().
#define MSG_MORE 0x10 /* Sender will send more */ |
Referenced by lwip_send().
#define MSG_OOB 0x04 /* Unimplemented: Requests out-of-band data. The significance and semantics of out-of-band data are protocol-specific */ |
#define MSG_PEEK 0x01 /* Peeks at an incoming message */ |
Referenced by lwip_recvfrom().
#define MSG_WAITALL 0x02 /* Unimplemented: Requests that the function block until the full amount of data requested can be returned */ |
#define O_NDELAY 1 /* same as O_NONBLOCK, for compatibility */ |
#define O_NONBLOCK 1 /* nonblocking I/O */ |
Referenced by lwip_fcntl().
#define PF_INET AF_INET |
Referenced by lwip_socket().
#define PF_UNSPEC AF_UNSPEC |
#define read | ( | a, | |
b, | |||
c | |||
) | lwip_read(a,b,c) |
Referenced by config_file_get_value(), config_file_set_value(), prv_cat(), and prvweb_SendFile().
#define recv | ( | a, | |
b, | |||
c, | |||
d | |||
) | lwip_recv(a,b,c,d) |
Referenced by tcp_recv().
#define recvfrom | ( | a, | |
b, | |||
c, | |||
d, | |||
e, | |||
f | |||
) | lwip_recvfrom(a,b,c,d,e,f) |
#define select | ( | a, | |
b, | |||
c, | |||
d, | |||
e | |||
) | lwip_select(a,b,c,d,e) |
#define send | ( | a, | |
b, | |||
c, | |||
d | |||
) | lwip_send(a,b,c,d) |
#define sendto | ( | a, | |
b, | |||
c, | |||
d, | |||
e, | |||
f | |||
) | lwip_sendto(a,b,c,d,e,f) |
#define setsockopt | ( | a, | |
b, | |||
c, | |||
d, | |||
e | |||
) | lwip_setsockopt(a,b,c,d,e) |
#define SHUT_RD 0 |
Referenced by lwip_shutdown().
#define SHUT_RDWR 2 |
Referenced by lwip_shutdown().
#define SHUT_WR 1 |
Referenced by lwip_shutdown().
#define shutdown | ( | a, | |
b | |||
) | lwip_shutdown(a,b) |
#define SIOCATMARK _IOR('s', 7, unsigned long) /* at oob mark? */ |
#define SIOCGHIWAT _IOR('s', 1, unsigned long) /* get high watermark */ |
#define SIOCGLOWAT _IOR('s', 3, unsigned long) /* get low watermark */ |
#define SIOCSHIWAT _IOW('s', 0, unsigned long) /* set high watermark */ |
#define SIOCSLOWAT _IOW('s', 2, unsigned long) /* set low watermark */ |
#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ |
Referenced by lwip_getsockopt(), and lwip_getsockopt_internal().
#define SO_BROADCAST 0x0020 /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define SO_CONTIMEO 0x1009 /* Unimplemented: connect timeout */ |
#define SO_DEBUG 0x0001 /* Unimplemented: turn on debugging info recording */ |
#define SO_DONTLINGER ((int)(~SO_LINGER)) |
#define SO_DONTROUTE 0x0010 /* Unimplemented: just use interface addresses */ |
#define SO_ERROR 0x1007 /* get error status and clear */ |
Referenced by lwip_getsockopt(), and lwip_getsockopt_internal().
#define SO_KEEPALIVE 0x0008 /* keep connections alive */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define SO_LINGER 0x0080 /* linger on close if data present */ |
#define SO_NO_CHECK 0x100a /* don't create UDP checksum */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define SO_OOBINLINE 0x0100 /* Unimplemented: leave received OOB data in line */ |
#define SO_RCVBUF 0x1002 /* receive buffer size */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define SO_RCVLOWAT 0x1004 /* Unimplemented: receive low-water mark */ |
#define SO_RCVTIMEO 0x1006 /* receive timeout */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define SO_REUSEADDR 0x0004 /* Allow local address reuse */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define SO_REUSEPORT 0x0200 /* Unimplemented: allow local address & port reuse */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define SO_SNDBUF 0x1001 /* Unimplemented: send buffer size */ |
#define SO_SNDLOWAT 0x1003 /* Unimplemented: send low-water mark */ |
#define SO_SNDTIMEO 0x1005 /* Unimplemented: send timeout */ |
#define SO_TYPE 0x1008 /* get socket type */ |
Referenced by lwip_getsockopt(), and lwip_getsockopt_internal().
#define SO_USELOOPBACK 0x0040 /* Unimplemented: bypass hardware when possible */ |
#define SOCK_DGRAM 2 |
Referenced by lwip_getsockopt_internal(), and lwip_socket().
#define SOCK_RAW 3 |
Referenced by lwip_getsockopt_internal(), and lwip_socket().
#define SOCK_STREAM 1 |
Referenced by lwip_getsockopt_internal(), and lwip_socket().
#define socket | ( | a, | |
b, | |||
c | |||
) | lwip_socket(a,b,c) |
#define socklen_t u32_t |
#define SOL_SOCKET 0xfff /* options for socket level */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define TCP_KEEPALIVE 0x02 /* send KEEPALIVE probes when idle for pcb->keep_idle milliseconds */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define TCP_KEEPCNT 0x05 /* set pcb->keep_cnt - Use number of probes sent for get/setsockopt */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define TCP_KEEPIDLE 0x03 /* set pcb->keep_idle - Same as TCP_KEEPALIVE, but use seconds for get/setsockopt */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define TCP_KEEPINTVL 0x04 /* set pcb->keep_intvl - Use seconds for get/setsockopt */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */ |
Referenced by lwip_getsockopt(), lwip_getsockopt_internal(), lwip_setsockopt(), and lwip_setsockopt_internal().
#define write | ( | a, | |
b, | |||
c | |||
) | lwip_write(a,b,c) |
Referenced by config_file_set_value(), and prv_vsave_logs().
References AF_INET, alloc_socket(), netconn::callback, lwip_sock::conn, ENFILE, ERR_OK, err_to_errno, event_callback(), EWOULDBLOCK, get_socket(), htons, inet_addr_from_ipaddr, ip_addr_debug_print, LWIP_ASSERT, LWIP_DEBUGF, MEMCPY, netconn_accept(), netconn_delete(), netconn_is_nonblocking, netconn_peer, netconn_set_noautorecved, NULL, NUM_SOCKETS, lwip_sock::rcvevent, sockaddr_in::sin_addr, sockaddr_in::sin_family, sockaddr_in::sin_len, sockaddr_in::sin_port, sock_set_errno, netconn::socket, sockets, SOCKETS_DEBUG, SYS_ARCH_DECL_PROTECT(), SYS_ARCH_PROTECT(), SYS_ARCH_UNPROTECT(), and U16_F.
int lwip_close | ( | int | s | ) |
References lwip_sock::conn, free_socket(), get_socket(), lwip_sock::lastdata, LWIP_ASSERT, LWIP_DEBUGF, netconn_delete(), NETCONN_TCP, NULL, set_errno, and SOCKETS_DEBUG.
int lwip_fcntl | ( | int | s, |
int | cmd, | ||
int | val | ||
) |
A minimal implementation of fcntl.
Currently only the commands F_GETFL and F_SETFL are implemented. Only the flag O_NONBLOCK is implemented.
References lwip_sock::conn, F_GETFL, F_SETFL, get_socket(), LWIP_DEBUGF, netconn_is_nonblocking, netconn_set_nonblocking, O_NONBLOCK, and SOCKETS_DEBUG.
References lwip_getaddrname().
References lwip_getaddrname().
References lwip_sock::conn, EAFNOSUPPORT, EFAULT, EINVAL, ENOPROTOOPT, lwip_setgetsockopt_data::err, ERR_OK, get_socket(), IP_TOS, IP_TTL, IPPROTO_IP, IPPROTO_TCP, IPPROTO_UDPLITE, lwip_setgetsockopt_data::level, LWIP_DEBUGF, lwip_getsockopt_internal(), NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONNTYPE_GROUP, NULL, netconn::op_completed, lwip_setgetsockopt_data::optlen, lwip_setgetsockopt_data::optname, lwip_setgetsockopt_data::optval, netconn::pcb, SO_ACCEPTCONN, SO_BROADCAST, SO_ERROR, SO_KEEPALIVE, SO_NO_CHECK, SO_RCVBUF, SO_RCVTIMEO, SO_REUSEADDR, SO_REUSEPORT, SO_TYPE, lwip_setgetsockopt_data::sock, sock_set_errno, SOCKETS_DEBUG, SOL_SOCKET, sys_arch_sem_wait(), TCP_KEEPALIVE, TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_NODELAY, tcpip_callback, netconn::type, and netconn::udp.
int lwip_ioctl | ( | int | s, |
long | cmd, | ||
void * | argp | ||
) |
int lwip_listen | ( | int | s, |
int | backlog | ||
) |
Set a socket into listen mode.
The socket may not have been used for another connection previously.
s | the socket to set to listening mode |
backlog | (ATTENTION: needs TCP_LISTEN_BACKLOG=1) |
References lwip_sock::conn, lwip_sock::err, ERR_OK, err_to_errno, get_socket(), LWIP_DEBUGF, LWIP_MAX, LWIP_MIN, netconn_listen_with_backlog(), sock_set_errno, and SOCKETS_DEBUG.
int lwip_read | ( | int | s, |
void * | mem, | ||
size_t | len | ||
) |
References lwip_recvfrom(), and NULL.
int lwip_recv | ( | int | s, |
void * | mem, | ||
size_t | len, | ||
int | flags | ||
) |
References lwip_recvfrom(), and NULL.
int lwip_recvfrom | ( | int | s, |
void * | mem, | ||
size_t | len, | ||
int | flags, | ||
struct sockaddr * | from, | ||
socklen_t * | fromlen | ||
) |
References AF_INET, lwip_sock::conn, ERR_CLSD, ERR_OK, err_to_errno, EWOULDBLOCK, pbuf::flags, get_socket(), htons, inet_addr_from_ipaddr, ip_addr_debug_print, lwip_sock::lastdata, lwip_sock::lastoffset, LWIP_ASSERT, LWIP_DEBUGF, lwip_strerr, MEMCPY, MSG_DONTWAIT, MSG_PEEK, netbuf_delete(), netbuf_fromaddr, netbuf_fromport, netconn_getaddr(), netconn_is_nonblocking, netconn_recv(), netconn_recv_tcp_pbuf(), netconn_recved(), NETCONN_TCP, NULL, pbuf_copy_partial(), PBUF_FLAG_PUSH, pbuf_free(), lwip_sock::rcvevent, sockaddr_in::sin_addr, sockaddr_in::sin_family, sockaddr_in::sin_len, sockaddr_in::sin_port, sock_set_errno, SOCKETS_DEBUG, SZT_F, pbuf::tot_len, and U16_F.
Referenced by lwip_read(), and lwip_recv().
int lwip_select | ( | int | maxfdp1, |
fd_set * | readset, | ||
fd_set * | writeset, | ||
fd_set * | exceptset, | ||
struct timeval * | timeout | ||
) |
Processing exceptset is not yet implemented.
References ENOMEM, ERR_OK, lwip_select_cb::exceptset, FD_ISSET, LWIP_ASSERT, LWIP_DEBUGF, lwip_selscan(), lwip_select_cb::next, NULL, lwip_select_cb::prev, lwip_select_cb::readset, S32_F, select_cb_ctr, select_cb_list, lwip_sock::select_waiting, lwip_select_cb::sem, lwip_select_cb::sem_signalled, set_errno, SOCKETS_DEBUG, SYS_ARCH_DECL_PROTECT(), SYS_ARCH_PROTECT(), sys_arch_sem_wait(), SYS_ARCH_TIMEOUT, SYS_ARCH_UNPROTECT(), sys_sem_free(), sys_sem_new(), tryget_socket(), and lwip_select_cb::writeset.
int lwip_send | ( | int | s, |
const void * | dataptr, | ||
size_t | size, | ||
int | flags | ||
) |
References lwip_sock::conn, EMSGSIZE, lwip_sock::err, ERR_ARG, ERR_OK, err_to_errno, get_socket(), LWIP_DEBUGF, lwip_sendto(), MSG_DONTWAIT, MSG_MORE, NETCONN_COPY, NETCONN_DONTBLOCK, netconn_is_nonblocking, NETCONN_MORE, NETCONN_TCP, netconn_write(), NULL, sock_set_errno, SOCKETS_DEBUG, SZT_F, TCP_MSS, TCP_SND_BUF, TCP_SND_QUEUELEN, and netconn::type.
Referenced by lwip_sendto(), and lwip_write().
int lwip_sendto | ( | int | s, |
const void * | dataptr, | ||
size_t | size, | ||
int | flags, | ||
const struct sockaddr * | to, | ||
socklen_t | tolen | ||
) |
References netbuf::addr, AF_INET, lwip_sock::err, ERR_ARG, ERR_MEM, ERR_OK, err_to_errno, get_socket(), inet_addr_to_ipaddr, inet_addr_to_ipaddr_p, ip_addr_debug_print, ip_addr_set_any, LOCK_TCPIP_CORE, LWIP_ASSERT, LWIP_DEBUGF, LWIP_ERROR(), lwip_send(), LWIP_UNUSED_ARG, MEMCPY, netbuf_alloc(), netbuf_free(), netbuf_fromport, netbuf_ref(), netbuf_take, NETCONN_RAW, netconn_send(), NETCONN_TCP, ntohs, NULL, netbuf::p, pbuf::payload, pbuf_alloc(), pbuf_free(), PBUF_RAM, PBUF_REF, PBUF_TRANSPORT, netbuf::ptr, sockaddr::sa_family, sock_set_errno, SOCKETS_DEBUG, U16_F, and UNLOCK_TCPIP_CORE.
Referenced by lwip_send().
References lwip_sock::conn, EAFNOSUPPORT, EFAULT, EINVAL, ENOPROTOOPT, lwip_setgetsockopt_data::err, ERR_OK, get_socket(), IP_TOS, IP_TTL, IPPROTO_IP, IPPROTO_TCP, IPPROTO_UDPLITE, lwip_setgetsockopt_data::level, LWIP_DEBUGF, lwip_setsockopt_internal(), NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NETCONNTYPE_GROUP, NULL, netconn::op_completed, lwip_setgetsockopt_data::optlen, lwip_setgetsockopt_data::optname, lwip_setgetsockopt_data::optval, netconn::pcb, SO_BROADCAST, SO_KEEPALIVE, SO_NO_CHECK, SO_RCVBUF, SO_RCVTIMEO, SO_REUSEADDR, SO_REUSEPORT, lwip_setgetsockopt_data::sock, sock_set_errno, SOCKETS_DEBUG, SOL_SOCKET, sys_arch_sem_wait(), TCP_KEEPALIVE, TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_NODELAY, tcpip_callback, netconn::type, and netconn::udp.
int lwip_shutdown | ( | int | s, |
int | how | ||
) |
Unimplemented: Close one end of a full-duplex connection.
Currently, the full connection is closed.
References lwip_sock::conn, EINVAL, ENOTCONN, EOPNOTSUPP, lwip_sock::err, ERR_OK, err_to_errno, get_socket(), LWIP_DEBUGF, netconn_shutdown(), NETCONN_TCP, NULL, SHUT_RD, SHUT_RDWR, SHUT_WR, sock_set_errno, and SOCKETS_DEBUG.
int lwip_socket | ( | int | domain, |
int | type, | ||
int | protocol | ||
) |
References alloc_socket(), EINVAL, ENFILE, ENOBUFS, event_callback(), IPPROTO_UDPLITE, LWIP_DEBUGF, LWIP_UNUSED_ARG, netconn_delete(), netconn_new_with_callback, netconn_new_with_proto_and_callback(), NETCONN_RAW, netconn_set_noautorecved, NETCONN_TCP, NETCONN_UDP, NETCONN_UDPLITE, NULL, PF_INET, set_errno, SOCK_DGRAM, SOCK_RAW, SOCK_STREAM, netconn::socket, and SOCKETS_DEBUG.
LWIP_TIMEVAL_PRIVATE: if you want to use the struct timeval provided by your system, set this to 0 and include <sys/time.h> in cc.h.
LWIP_TIMEVAL_PRIVATE: if you want to use the struct timeval provided by your system, set this to 0 and include <sys/time.h> in cc.h.
This function has to be called before any other functions in this module!
Referenced by lwip_init().
int lwip_write | ( | int | s, |
const void * | dataptr, | ||
size_t | size | ||
) |
References lwip_send().