#ifndef ETHERLIB_TEST_TCP_WINDOW_H #define ETHERLIB_TEST_TCP_WINDOW_H #include #include "etherlib/memory_pool.h" /** * TCP segment descriptor */ typedef struct { uint32_t seqNum; ///< sequence number (sequence number of the first octet) uint32_t size; ///< segment size uint8_t data[]; ///< Segment data } TcpWindowSegment; typedef struct { bool ackAvail; ///< acknowledge is available uint32_t seqNum; ///< Sequence number uint32_t lastAcked; ///< last acknowledged byte MP pool; ///< Pool for segment management uint8_t data[]; ///< Window data storage } TcpWindow; TcpWindow * tcpw_create(uint32_t size); #endif //ETHERLIB_TEST_TCP_WINDOW_H