
Merged in chrishamm's changes to Network, PrintMonitor, and his support for firmware updates from SD card Fixed print monitor issue that threw out the layer count and time estimates when there was an initial extruder priming move in the start gcode
52 lines
1.8 KiB
C
52 lines
1.8 KiB
C
#ifndef __TCP_HELPER_H__
|
|
#define __TCP_HELPER_H__
|
|
|
|
#include "../lwip_check.h"
|
|
#include "lwip/arch.h"
|
|
#include "lwip/tcp.h"
|
|
#include "lwip/netif.h"
|
|
|
|
/* counters used for test_tcp_counters_* callback functions */
|
|
struct test_tcp_counters {
|
|
u32_t recv_calls;
|
|
u32_t recved_bytes;
|
|
u32_t recv_calls_after_close;
|
|
u32_t recved_bytes_after_close;
|
|
u32_t close_calls;
|
|
u32_t err_calls;
|
|
err_t last_err;
|
|
char* expected_data;
|
|
u32_t expected_data_len;
|
|
};
|
|
|
|
struct test_tcp_txcounters {
|
|
u32_t num_tx_calls;
|
|
u32_t num_tx_bytes;
|
|
u8_t copy_tx_packets;
|
|
struct pbuf *tx_packets;
|
|
};
|
|
|
|
/* Helper functions */
|
|
void tcp_remove_all(void);
|
|
|
|
struct pbuf* tcp_create_segment(ip_addr_t* src_ip, ip_addr_t* dst_ip,
|
|
u16_t src_port, u16_t dst_port, void* data, size_t data_len,
|
|
u32_t seqno, u32_t ackno, u8_t headerflags);
|
|
struct pbuf* tcp_create_rx_segment(struct tcp_pcb* pcb, void* data, size_t data_len,
|
|
u32_t seqno_offset, u32_t ackno_offset, u8_t headerflags);
|
|
struct pbuf* tcp_create_rx_segment_wnd(struct tcp_pcb* pcb, void* data, size_t data_len,
|
|
u32_t seqno_offset, u32_t ackno_offset, u8_t headerflags, u16_t wnd);
|
|
void tcp_set_state(struct tcp_pcb* pcb, enum tcp_state state, ip_addr_t* local_ip,
|
|
ip_addr_t* remote_ip, u16_t local_port, u16_t remote_port);
|
|
void test_tcp_counters_err(void* arg, err_t err);
|
|
err_t test_tcp_counters_recv(void* arg, struct tcp_pcb* pcb, struct pbuf* p, err_t err);
|
|
|
|
struct tcp_pcb* test_tcp_new_counters_pcb(struct test_tcp_counters* counters);
|
|
|
|
void test_tcp_input(struct pbuf *p, struct netif *inp);
|
|
|
|
void test_tcp_init_netif(struct netif *netif, struct test_tcp_txcounters *txcounters,
|
|
ip_addr_t *ip_addr, ip_addr_t *netmask);
|
|
|
|
|
|
#endif
|