40 #ifndef LWIP_HDR_ALTCP_H 41 #define LWIP_HDR_ALTCP_H 57 struct altcp_functions;
59 typedef err_t (*altcp_accept_fn)(
void *arg,
struct altcp_pcb *new_conn, err_t err);
60 typedef err_t (*altcp_connected_fn)(
void *arg,
struct altcp_pcb *conn, err_t err);
61 typedef err_t (*altcp_recv_fn)(
void *arg,
struct altcp_pcb *conn,
struct pbuf *p, err_t err);
62 typedef err_t (*altcp_sent_fn)(
void *arg,
struct altcp_pcb *conn, u16_t len);
63 typedef err_t (*altcp_poll_fn)(
void *arg,
struct altcp_pcb *conn);
64 typedef void (*altcp_err_fn)(
void *arg, err_t err);
66 typedef struct altcp_pcb* (*altcp_new_fn)(
void *arg, u8_t ip_type);
69 const struct altcp_functions *fns;
70 struct altcp_pcb *inner_conn;
74 altcp_accept_fn accept;
75 altcp_connected_fn connected;
84 typedef struct altcp_allocator_s {
91 struct altcp_pcb *altcp_new(altcp_allocator_t *allocator);
92 struct altcp_pcb *altcp_new_ip6(altcp_allocator_t *allocator);
93 struct altcp_pcb *altcp_new_ip_type(altcp_allocator_t *allocator, u8_t ip_type);
95 void altcp_arg(
struct altcp_pcb *conn,
void *arg);
96 void altcp_accept(
struct altcp_pcb *conn, altcp_accept_fn accept);
97 void altcp_recv(
struct altcp_pcb *conn, altcp_recv_fn recv);
98 void altcp_sent(
struct altcp_pcb *conn, altcp_sent_fn sent);
99 void altcp_poll(
struct altcp_pcb *conn, altcp_poll_fn
poll, u8_t interval);
100 void altcp_err(
struct altcp_pcb *conn, altcp_err_fn err);
102 void altcp_recved(
struct altcp_pcb *conn, u16_t len);
103 err_t altcp_bind(
struct altcp_pcb *conn,
const ip_addr_t *ipaddr, u16_t port);
104 err_t altcp_connect(
struct altcp_pcb *conn,
const ip_addr_t *ipaddr, u16_t port, altcp_connected_fn connected);
107 struct altcp_pcb *altcp_listen_with_backlog_and_err(
struct altcp_pcb *conn, u8_t backlog, err_t *err);
108 #define altcp_listen_with_backlog(conn, backlog) altcp_listen_with_backlog_and_err(conn, backlog, NULL) 110 #define altcp_listen(conn) altcp_listen_with_backlog_and_err(conn, TCP_DEFAULT_LISTEN_BACKLOG, NULL) 112 void altcp_abort(
struct altcp_pcb *conn);
113 err_t altcp_close(
struct altcp_pcb *conn);
114 err_t altcp_shutdown(
struct altcp_pcb *conn,
int shut_rx,
int shut_tx);
116 err_t altcp_write(
struct altcp_pcb *conn,
const void *dataptr, u16_t len, u8_t apiflags);
117 err_t altcp_output(
struct altcp_pcb *conn);
119 u16_t altcp_mss(
struct altcp_pcb *conn);
120 u16_t altcp_sndbuf(
struct altcp_pcb *conn);
121 u16_t altcp_sndqueuelen(
struct altcp_pcb *conn);
122 void altcp_nagle_disable(
struct altcp_pcb *conn);
123 void altcp_nagle_enable(
struct altcp_pcb *conn);
124 int altcp_nagle_disabled(
struct altcp_pcb *conn);
126 void altcp_setprio(
struct altcp_pcb *conn, u8_t prio);
128 err_t altcp_get_tcp_addrinfo(
struct altcp_pcb *conn,
int local,
ip_addr_t *addr, u16_t *port);
129 ip_addr_t *altcp_get_ip(
struct altcp_pcb *conn,
int local);
130 u16_t altcp_get_port(
struct altcp_pcb *conn,
int local);
133 enum tcp_state altcp_dbg_get_tcp_state(
struct altcp_pcb *conn);
146 #define altcp_accept_fn tcp_accept_fn 147 #define altcp_connected_fn tcp_connected_fn 148 #define altcp_recv_fn tcp_recv_fn 149 #define altcp_sent_fn tcp_sent_fn 150 #define altcp_poll_fn tcp_poll_fn 151 #define altcp_err_fn tcp_err_fn 153 #define altcp_pcb tcp_pcb 154 #define altcp_tcp_new_ip_type tcp_new_ip_type 155 #define altcp_tcp_new tcp_new 156 #define altcp_tcp_new_ip6 tcp_new_ip6 158 #define altcp_new(allocator) tcp_new() 159 #define altcp_new_ip6(allocator) tcp_new_ip6() 160 #define altcp_new_ip_type(allocator, ip_type) tcp_new_ip_type(ip_type) 162 #define altcp_arg tcp_arg 163 #define altcp_accept tcp_accept 164 #define altcp_recv tcp_recv 165 #define altcp_sent tcp_sent 166 #define altcp_poll tcp_poll 167 #define altcp_err tcp_err 169 #define altcp_recved tcp_recved 170 #define altcp_bind tcp_bind 171 #define altcp_connect tcp_connect 173 #define altcp_listen_with_backlog_and_err tcp_listen_with_backlog_and_err 174 #define altcp_listen_with_backlog tcp_listen_with_backlog 175 #define altcp_listen tcp_listen 177 #define altcp_abort tcp_abort 178 #define altcp_close tcp_close 179 #define altcp_shutdown tcp_shutdown 181 #define altcp_write tcp_write 182 #define altcp_output tcp_output 184 #define altcp_mss tcp_mss 185 #define altcp_sndbuf tcp_sndbuf 186 #define altcp_sndqueuelen tcp_sndqueuelen 187 #define altcp_nagle_disable tcp_nagle_disable 188 #define altcp_nagle_enable tcp_nagle_enable 189 #define altcp_nagle_disabled tcp_nagle_disabled 190 #define altcp_setprio tcp_setprio 192 #define altcp_get_tcp_addrinfo tcp_get_tcp_addrinfo 193 #define altcp_get_ip(pcb, local) ((local) ? (&(pcb)->local_ip) : (&(pcb)->remote_ip)) 196 #define altcp_dbg_get_tcp_state tcp_dbg_get_tcp_state
lwIP Options Configuration
Main packet buffer struct.
s8_t err_t
Define LWIP_ERR_T in cc.h if you want to use a different type for your platform (must be signed)...
IP address structure for passing IP addresses by value.
TCP API (to be used from TCPIP thread) See also tcp_raw.
IP address API (common IPv4 and IPv6)
Base TCP API definitions shared by TCP and ALTCP See also tcp_raw.