1 #ifndef __TCP_UTIL_H_ 2 #define __TCP_UTIL_H_ 3 4 #include "mtcp.h" 5 #include "tcp_stream.h" 6 7 struct tcp_timestamp 8 { 9 uint32_t ts_val; 10 uint32_t ts_ref; 11 }; 12 13 void ParseTCPOptions(tcp_stream *cur_stream, 14 uint32_t cur_ts, uint8_t *tcpopt, int len); 15 16 extern inline int 17 ParseTCPTimestamp(tcp_stream *cur_stream, 18 struct tcp_timestamp *ts, uint8_t *tcpopt, int len); 19 20 #if TCP_OPT_SACK_ENABLED 21 void 22 ParseSACKOption(tcp_stream *cur_stream, 23 uint32_t ack_seq, uint8_t *tcpopt, int len); 24 #endif 25 26 uint16_t 27 TCPCalcChecksum(uint16_t *buf, uint16_t len, uint32_t saddr, uint32_t daddr); 28 29 void 30 PrintTCPOptions(uint8_t *tcpopt, int len); 31 32 #endif /* __TCP_UTIL_H_ */ 33