10#ifndef __PACKET_TCP_H__
11#define __PACKET_TCP_H__
13#include "ws_symbol_export.h"
36#define IS_TH_FIN(x) (x & TH_FIN)
37#define IS_TH_URG(x) (x & TH_URG)
40#define GT_SEQ(x, y) ((int32_t)((y) - (x)) < 0)
41#define LT_SEQ(x, y) ((int32_t)((x) - (y)) < 0)
42#define GE_SEQ(x, y) ((int32_t)((y) - (x)) <= 0)
43#define LE_SEQ(x, y) ((int32_t)((x) - (y)) <= 0)
44#define EQ_SEQ(x, y) (x) == (y)
47#define MAX_CONTIGUOUS_SEQUENCES 100
62 uint8_t mh_capable_flags;
65 uint64_t mh_dss_rawdsn;
66 uint64_t mh_dss_rawack;
67 uint16_t mh_dss_length;
103 #define MAX_TCP_SACK_RANGES 4
104 uint8_t num_sack_ranges;
105 uint32_t sack_left_edge[MAX_TCP_SACK_RANGES];
106 uint32_t sack_right_edge[MAX_TCP_SACK_RANGES];
124 uint16_t urgent_pointer;
149 bool proto_desegment,
unsigned fixed_len,
151 dissector_t dissect_pdu,
void* dissector_data);
154tcp_reassembly_table_functions;
157pdu_store_sequencenumber_of_next_pdu(
packet_info *pinfo, uint32_t seq, uint32_t nxtpdu,
wmem_tree_t *multisegment_pdus);
169 uint32_t frame_acked;
177 uint32_t dupack_frame;
178 uint32_t bytes_in_flight;
179 uint32_t push_bytes_sent;
181 uint32_t new_data_seq;
194 uint32_t first_frame;
197 uint32_t first_frame_with_seq;
200#define MSP_FLAGS_REASSEMBLE_ENTIRE_SEGMENT 0x00000001
202#define MSP_FLAGS_GOT_ALL_SEGMENTS 0x00000002
204#define MSP_FLAGS_MISSING_FIRST_SEGMENT 0x00000004
246 uint8_t static_flags;
262 uint32_t nextseqframe;
265 uint64_t maxseqtobeacked;
278 uint8_t static_flags;
299 MPTCP_HMAC_NOT_SET = 0,
303} mptcp_hmac_algorithm_t;
306#define MPTCP_CAPABLE_CRYPTO_MASK 0x3F
308#define MPTCP_CHECKSUM_MASK 0x80
315 uint16_t segment_count;
318 uint32_t lastnondupack;
321 uint32_t maxseqtobeacked;
324 uint32_t nextseqframe;
336 uint32_t push_bytes_sent;
342 uint8_t num_contiguous_ranges;
343 uint32_t contiguous_ranges[MAX_CONTIGUOUS_SEQUENCES][2];
349 uint8_t num_sack_ranges;
350 uint32_t sack_left_edge[MAX_TCP_SACK_RANGES];
351 uint32_t sack_right_edge[MAX_TCP_SACK_RANGES];
357 uint32_t process_uid;
358 uint32_t process_pid;
365 uint8_t static_flags;
367#define TCP_MAX_UNACKED_SEGMENTS 10000
373 uint16_t maxsizeacked;
374 uint8_t mp_operations;
376 bool closing_initiator;
383#define TCP_FLOW_REASSEMBLE_UNTIL_FIN 0x0001
387 uint32_t lastsegmentflags;
431 uint8_t mp_operations;
502 uint16_t server_port;
510 int8_t flow_direction : 2;
523 uint8_t conversation_completeness;
526 char *conversation_completeness_str;
529 bool had_acc_ecn_setup_syn;
530 bool had_acc_ecn_setup_syn_ack;
531 bool had_acc_ecn_option;
541 uint8_t tcp_snd_manual_analysis;
557 uint32_t seq, uint32_t nxtseq, uint32_t sport,
585extern void add_tcp_process_info(uint32_t frame_num,
address *local_addr,
address *remote_addr, uint16_t local_port, uint16_t remote_port, uint32_t uid, uint32_t pid,
char *username,
char *command);
591WS_DLL_PUBLIC uint32_t get_tcp_stream_count(
void);
597WS_DLL_PUBLIC uint32_t get_mptcp_stream_count(
void);
601extern char *tcp_follow_index_filter(
unsigned stream,
unsigned sub_stream);
602extern char *tcp_follow_address_filter(
address *src_addr,
address *dst_addr,
int src_port,
int dst_port);
Definition packet-tcp.h:234
Definition packet-tcp.h:212
Definition packet_info.h:43
Definition packet-tcp.h:364
Definition packet-tcp.h:159
Definition wmem_list.c:23
Definition wmem_tree-int.h:48
Definition conversation.h:228
Definition epan_dissect.h:28
Definition packet-tcp.h:413
Definition packet-tcp.h:548
Definition packet-tcp.h:277
Definition reassemble.h:149
Definition packet-tcp.h:168
Definition packet-tcp.h:434
Definition packet-tcp.h:313
Definition packet-tcp.h:191
Definition packet-tcp.h:538
Definition packet-tcp.h:356
Definition packet-tcp.h:118
Definition tvbuff-int.h:35