40#ifndef LWIP_HDR_ALTCP_H
41#define LWIP_HDR_ALTCP_H
57struct altcp_functions;
59typedef err_t (*altcp_accept_fn)(
void *arg,
struct altcp_pcb *new_conn,
err_t err);
60typedef err_t (*altcp_connected_fn)(
void *arg,
struct altcp_pcb *conn,
err_t err);
61typedef err_t (*altcp_recv_fn)(
void *arg,
struct altcp_pcb *conn,
struct pbuf *p,
err_t err);
62typedef err_t (*altcp_sent_fn)(
void *arg,
struct altcp_pcb *conn, u16_t len);
63typedef err_t (*altcp_poll_fn)(
void *arg,
struct altcp_pcb *conn);
64typedef void (*altcp_err_fn)(
void *arg,
err_t err);
66typedef 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;
84typedef struct altcp_allocator_s {
91struct altcp_pcb *altcp_new(altcp_allocator_t *allocator);
92struct altcp_pcb *altcp_new_ip6(altcp_allocator_t *allocator);
93struct altcp_pcb *altcp_new_ip_type(altcp_allocator_t *allocator, u8_t ip_type);
95void altcp_arg(
struct altcp_pcb *conn,
void *arg);
96void altcp_accept(
struct altcp_pcb *conn, altcp_accept_fn accept);
97void altcp_recv(
struct altcp_pcb *conn, altcp_recv_fn recv);
98void altcp_sent(
struct altcp_pcb *conn, altcp_sent_fn sent);
99void altcp_poll(
struct altcp_pcb *conn, altcp_poll_fn poll, u8_t interval);
100void altcp_err(
struct altcp_pcb *conn, altcp_err_fn err);
102void altcp_recved(
struct altcp_pcb *conn, u16_t len);
103err_t altcp_bind(
struct altcp_pcb *conn,
const ip_addr_t *ipaddr, u16_t port);
104err_t altcp_connect(
struct altcp_pcb *conn,
const ip_addr_t *ipaddr, u16_t port, altcp_connected_fn connected);
107struct 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)
112void altcp_abort(
struct altcp_pcb *conn);
113err_t altcp_close(
struct altcp_pcb *conn);
114err_t altcp_shutdown(
struct altcp_pcb *conn,
int shut_rx,
int shut_tx);
116err_t altcp_write(
struct altcp_pcb *conn,
const void *dataptr, u16_t len, u8_t apiflags);
117err_t altcp_output(
struct altcp_pcb *conn);
119u16_t altcp_mss(
struct altcp_pcb *conn);
120u16_t altcp_sndbuf(
struct altcp_pcb *conn);
121u16_t altcp_sndqueuelen(
struct altcp_pcb *conn);
122void altcp_nagle_disable(
struct altcp_pcb *conn);
123void altcp_nagle_enable(
struct altcp_pcb *conn);
124int altcp_nagle_disabled(
struct altcp_pcb *conn);
126void altcp_setprio(
struct altcp_pcb *conn, u8_t prio);
128err_t altcp_get_tcp_addrinfo(
struct altcp_pcb *conn,
int local, ip_addr_t *addr, u16_t *port);
129ip_addr_t *altcp_get_ip(
struct altcp_pcb *conn,
int local);
130u16_t altcp_get_port(
struct altcp_pcb *conn,
int local);
133enum 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
s8_t err_t
Definition: err.h:96