Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-os by
tcp_helper.h
00001 #ifndef LWIP_HDR_TCP_HELPER_H__ 00002 #define LWIP_HDR_TCP_HELPER_H__ 00003 00004 #include "../lwip_check.h" 00005 #include "lwip/arch.h" 00006 #include "lwip/tcp.h" 00007 #include "lwip/netif.h" 00008 00009 /* counters used for test_tcp_counters_* callback functions */ 00010 struct test_tcp_counters { 00011 u32_t recv_calls; 00012 u32_t recved_bytes; 00013 u32_t recv_calls_after_close; 00014 u32_t recved_bytes_after_close; 00015 u32_t close_calls; 00016 u32_t err_calls; 00017 err_t last_err; 00018 char* expected_data; 00019 u32_t expected_data_len; 00020 }; 00021 00022 struct test_tcp_txcounters { 00023 u32_t num_tx_calls; 00024 u32_t num_tx_bytes; 00025 u8_t copy_tx_packets; 00026 struct pbuf *tx_packets; 00027 }; 00028 00029 /* Helper functions */ 00030 void tcp_remove_all(void); 00031 00032 struct pbuf* tcp_create_segment(ip_addr_t* src_ip, ip_addr_t* dst_ip, 00033 u16_t src_port, u16_t dst_port, void* data, size_t data_len, 00034 u32_t seqno, u32_t ackno, u8_t headerflags); 00035 struct pbuf* tcp_create_rx_segment(struct tcp_pcb* pcb, void* data, size_t data_len, 00036 u32_t seqno_offset, u32_t ackno_offset, u8_t headerflags); 00037 struct pbuf* tcp_create_rx_segment_wnd(struct tcp_pcb* pcb, void* data, size_t data_len, 00038 u32_t seqno_offset, u32_t ackno_offset, u8_t headerflags, u16_t wnd); 00039 void tcp_set_state(struct tcp_pcb* pcb, enum tcp_state state, ip_addr_t* local_ip, 00040 ip_addr_t* remote_ip, u16_t local_port, u16_t remote_port); 00041 void test_tcp_counters_err(void* arg, err_t err); 00042 err_t test_tcp_counters_recv(void* arg, struct tcp_pcb* pcb, struct pbuf* p, err_t err); 00043 00044 struct tcp_pcb* test_tcp_new_counters_pcb(struct test_tcp_counters* counters); 00045 00046 void test_tcp_input(struct pbuf *p, struct netif *inp); 00047 00048 void test_tcp_init_netif(struct netif *netif, struct test_tcp_txcounters *txcounters, 00049 ip_addr_t *ip_addr, ip_addr_t *netmask); 00050 00051 00052 #endif
Generated on Tue Jul 12 2022 13:16:13 by
