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;
92 #define MAX_TCP_SACK_RANGES 4
93 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];
123 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;
180 uint32_t dupack_frame;
181 uint32_t bytes_in_flight;
182 uint32_t push_bytes_sent;
184 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
245 uint8_t static_flags;
260 uint32_t nextseqframe;
263 uint64_t maxseqtobeacked;
289 uint8_t static_flags;
295 MPTCP_HMAC_NOT_SET = 0,
299} mptcp_hmac_algorithm_t;
302#define MPTCP_CAPABLE_CRYPTO_MASK 0x3F
304#define MPTCP_CHECKSUM_MASK 0x80
311 uint16_t segment_count;
321 uint8_t num_contiguous_ranges;
327 uint8_t num_sack_ranges;
330 uint32_t lastnondupack;
333 uint32_t maxseqtobeacked;
336 uint32_t nextseqframe;
339 uint32_t push_bytes_sent;
345 uint32_t sack_left_edge[MAX_TCP_SACK_RANGES];
346 uint32_t sack_right_edge[MAX_TCP_SACK_RANGES];
347 uint32_t contiguous_ranges[MAX_CONTIGUOUS_SEQUENCES][2];
353 uint32_t process_uid;
354 uint32_t process_pid;
362#define TCP_MAX_UNACKED_SEGMENTS 10000
368 uint8_t static_flags;
369 uint16_t maxsizeacked;
373#define TCP_FLOW_REASSEMBLE_UNTIL_FIN 0x0001
378 uint8_t mp_operations;
380 bool closing_initiator;
384 uint32_t lastsegmentflags;
412 uint8_t mp_operations;
500 uint16_t server_port;
508 int8_t flow_direction : 2;
515 uint8_t conversation_completeness;
517 bool had_acc_ecn_setup_syn;
518 bool had_acc_ecn_setup_syn_ack;
519 bool had_acc_ecn_option;
522 char *conversation_completeness_str;
532 uint8_t tcp_snd_manual_analysis;
548 uint32_t seq, uint32_t nxtseq, uint32_t sport,
576extern 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);
582WS_DLL_PUBLIC uint32_t get_tcp_stream_count(
void);
588WS_DLL_PUBLIC uint32_t get_mptcp_stream_count(
void);
592extern char *tcp_follow_index_filter(
unsigned stream,
unsigned sub_stream);
593extern char *tcp_follow_address_filter(
address *src_addr,
address *dst_addr,
int src_port,
int dst_port);
Definition packet-tcp.h:233
Definition packet-tcp.h:212
Definition packet_info.h:43
Definition packet-tcp.h:360
Definition packet-tcp.h:159
Definition wmem_list.c:23
Internal representation of a wmem balanced tree.
Definition wmem_tree-int.h:81
Definition conversation.h:230
Definition epan_dissect.h:28
Definition packet-tcp.h:407
Definition packet-tcp.h:539
Definition packet-tcp.h:275
Definition reassemble.h:149
Definition packet-tcp.h:168
Definition packet-tcp.h:426
Definition packet-tcp.h:309
Definition packet-tcp.h:191
Definition packet-tcp.h:529
Definition packet-tcp.h:352
Definition packet-tcp.h:118
Definition tvbuff-int.h:35