BadVPN – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | #ifndef LWIP_HDR_TCP_HELPER_H |
2 | #define LWIP_HDR_TCP_HELPER_H |
||
3 | |||
4 | #include "../lwip_check.h" |
||
5 | #include "lwip/arch.h" |
||
6 | #include "lwip/tcp.h" |
||
7 | #include "lwip/netif.h" |
||
8 | |||
9 | /* counters used for test_tcp_counters_* callback functions */ |
||
10 | struct test_tcp_counters { |
||
11 | u32_t recv_calls; |
||
12 | u32_t recved_bytes; |
||
13 | u32_t recv_calls_after_close; |
||
14 | u32_t recved_bytes_after_close; |
||
15 | u32_t close_calls; |
||
16 | u32_t err_calls; |
||
17 | err_t last_err; |
||
18 | char* expected_data; |
||
19 | u32_t expected_data_len; |
||
20 | }; |
||
21 | |||
22 | struct test_tcp_txcounters { |
||
23 | u32_t num_tx_calls; |
||
24 | u32_t num_tx_bytes; |
||
25 | u8_t copy_tx_packets; |
||
26 | struct pbuf *tx_packets; |
||
27 | }; |
||
28 | |||
29 | extern const ip_addr_t test_local_ip; |
||
30 | extern const ip_addr_t test_remote_ip; |
||
31 | extern const ip_addr_t test_netmask; |
||
32 | #define TEST_REMOTE_PORT 0x100 |
||
33 | #define TEST_LOCAL_PORT 0x101 |
||
34 | |||
35 | /* Helper functions */ |
||
36 | void tcp_remove_all(void); |
||
37 | |||
38 | struct pbuf* tcp_create_segment(ip_addr_t* src_ip, ip_addr_t* dst_ip, |
||
39 | u16_t src_port, u16_t dst_port, void* data, size_t data_len, |
||
40 | u32_t seqno, u32_t ackno, u8_t headerflags); |
||
41 | struct pbuf* tcp_create_rx_segment(struct tcp_pcb* pcb, void* data, size_t data_len, |
||
42 | u32_t seqno_offset, u32_t ackno_offset, u8_t headerflags); |
||
43 | struct pbuf* tcp_create_rx_segment_wnd(struct tcp_pcb* pcb, void* data, size_t data_len, |
||
44 | u32_t seqno_offset, u32_t ackno_offset, u8_t headerflags, u16_t wnd); |
||
45 | void tcp_set_state(struct tcp_pcb* pcb, enum tcp_state state, const ip_addr_t* local_ip, |
||
46 | const ip_addr_t* remote_ip, u16_t local_port, u16_t remote_port); |
||
47 | void test_tcp_counters_err(void* arg, err_t err); |
||
48 | err_t test_tcp_counters_recv(void* arg, struct tcp_pcb* pcb, struct pbuf* p, err_t err); |
||
49 | |||
50 | struct tcp_pcb* test_tcp_new_counters_pcb(struct test_tcp_counters* counters); |
||
51 | |||
52 | void test_tcp_input(struct pbuf *p, struct netif *inp); |
||
53 | |||
54 | void test_tcp_init_netif(struct netif *netif, struct test_tcp_txcounters *txcounters, |
||
55 | const ip_addr_t *ip_addr, const ip_addr_t *netmask); |
||
56 | |||
57 | |||
58 | #endif |