00001 #ifndef __TCP_HELPER_H__
00002 #define __TCP_HELPER_H__
00003
00004 #include "../lwip_check.h"
00005 #include "lwip/arch.h"
00006 #include "lwip/tcp.h"
00007
00008
00009 struct test_tcp_counters {
00010 u32_t recv_calls;
00011 u32_t recved_bytes;
00012 u32_t recv_calls_after_close;
00013 u32_t recved_bytes_after_close;
00014 u32_t close_calls;
00015 u32_t err_calls;
00016 err_t last_err;
00017 char* expected_data;
00018 u32_t expected_data_len;
00019 };
00020
00021
00022 void tcp_remove_all(void);
00023
00024 struct pbuf* tcp_create_segment(struct ip_addr* src_ip, struct ip_addr* dst_ip,
00025 u16_t src_port, u16_t dst_port, void* data, size_t data_len,
00026 u32_t seqno, u32_t ackno, u8_t headerflags);
00027 struct pbuf* tcp_create_rx_segment(struct tcp_pcb* pcb, void* data, size_t data_len,
00028 u32_t seqno_offset, u32_t ackno_offset, u8_t headerflags);
00029 void tcp_set_state(struct tcp_pcb* pcb, enum tcp_state state, struct ip_addr* local_ip,
00030 struct ip_addr* remote_ip, u16_t local_port, u16_t remote_port);
00031 void test_tcp_counters_err(void* arg, err_t err);
00032 err_t test_tcp_counters_recv(void* arg, struct tcp_pcb* pcb, struct pbuf* p, err_t err);
00033
00034 struct tcp_pcb* test_tcp_new_counters_pcb(struct test_tcp_counters* counters);
00035
00036 #endif