43#include "lwip/ip_addr.h"
55#define NETCONN_NOFLAG 0x00
56#define NETCONN_NOCOPY 0x00
57#define NETCONN_COPY 0x01
58#define NETCONN_MORE 0x02
59#define NETCONN_DONTBLOCK 0x04
65#define NETCONN_FLAG_WRITE_DELAYED 0x01
67#define NETCONN_FLAG_NON_BLOCKING 0x02
69#define NETCONN_FLAG_IN_NONBLOCKING_CONNECT 0x04
72#define NETCONN_FLAG_NO_AUTO_RECVED 0x08
75#define NETCONN_FLAG_CHECK_WRITESPACE 0x10
79#define NETCONNTYPE_GROUP(t) (t&0xF0)
80#define NETCONNTYPE_DATAGRAM(t) (t&0xE0)
89 NETCONN_UDPLITE = 0x21,
90 NETCONN_UDPNOCHKSUM= 0x22,
108 NETCONN_EVT_RCVMINUS,
109 NETCONN_EVT_SENDPLUS,
110 NETCONN_EVT_SENDMINUS,
136 enum netconn_type
type;
138 enum netconn_state
state;
190 struct api_msg_msg *current_msg;
197#define API_EVENT(c,e,l) if (c->callback) { \
198 (*c->callback)(c, e, l); \
202#define NETCONN_SET_SAFE_ERR(conn, err) do { \
203 SYS_ARCH_DECL_PROTECT(lev); \
204 SYS_ARCH_PROTECT(lev); \
205 if (!ERR_IS_FATAL((conn)->last_err)) { \
206 (conn)->last_err = err; \
208 SYS_ARCH_UNPROTECT(lev); \
212#define netconn_new(t) netconn_new_with_proto_and_callback(t, 0, NULL)
213#define netconn_new_with_callback(t, c) netconn_new_with_proto_and_callback(t, 0, c)
219#define netconn_type(conn) (conn->type)
223#define netconn_peer(c,i,p) netconn_getaddr(c,i,p,0)
224#define netconn_addr(c,i,p) netconn_getaddr(c,i,p,1)
230#define netconn_listen(conn) netconn_listen_with_backlog(conn, TCP_DEFAULT_LISTEN_BACKLOG)
239 u8_t apiflags,
size_t *bytes_written);
240#define netconn_write(conn, dataptr, size, apiflags) \
241 netconn_write_partly(conn, dataptr, size, apiflags, NULL)
247 ip_addr_t *netif_addr,
enum netconn_igmp join_or_leave);
253#define netconn_err(conn) ((conn)->last_err)
254#define netconn_recv_bufsize(conn) ((conn)->recv_bufsize)
257#define netconn_set_nonblocking(conn, val) do { if(val) { \
258 (conn)->flags |= NETCONN_FLAG_NON_BLOCKING; \
260 (conn)->flags &= ~ NETCONN_FLAG_NON_BLOCKING; }} while(0)
262#define netconn_is_nonblocking(conn) (((conn)->flags & NETCONN_FLAG_NON_BLOCKING) != 0)
265#define netconn_set_noautorecved(conn, val) do { if(val) { \
266 (conn)->flags |= NETCONN_FLAG_NO_AUTO_RECVED; \
268 (conn)->flags &= ~ NETCONN_FLAG_NO_AUTO_RECVED; }} while(0)
270#define netconn_get_noautorecved(conn) (((conn)->flags & NETCONN_FLAG_NO_AUTO_RECVED) != 0)
274#define netconn_set_sendtimeout(conn, timeout) ((conn)->send_timeout = (timeout))
276#define netconn_get_sendtimeout(conn) ((conn)->send_timeout)
280#define netconn_set_recvtimeout(conn, timeout) ((conn)->recv_timeout = (timeout))
282#define netconn_get_recvtimeout(conn) ((conn)->recv_timeout)
286#define netconn_set_recvbufsize(conn, recvbufsize) ((conn)->recv_bufsize = (recvbufsize))
288#define netconn_get_recvbufsize(conn) ((conn)->recv_bufsize)
void netconn_close(struct netconn *conn)
BOOL netconn_recv(struct netconn *conn, void *buf, size_t len, int flags, int *recvd)
BOOL netconn_send(struct netconn *conn, const void *msg, size_t len, int *sent)
GLuint GLuint GLsizei GLenum type
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
GLenum const GLvoid * addr
typedefPACK_STRUCT_END struct ip_addr ip_addr_t
int const JOCTET * dataptr
static IPrintDialogCallback callback