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)
59 uint8_t mh_capable_flags;
62 uint64_t mh_dss_rawdsn;
63 uint64_t mh_dss_rawack;
64 uint16_t mh_dss_length;
100 #define MAX_TCP_SACK_RANGES 4
101 uint8_t num_sack_ranges;
102 uint32_t sack_left_edge[MAX_TCP_SACK_RANGES];
103 uint32_t sack_right_edge[MAX_TCP_SACK_RANGES];
121 uint16_t urgent_pointer;
146 bool proto_desegment,
unsigned fixed_len,
148 dissector_t dissect_pdu,
void* dissector_data);
151tcp_reassembly_table_functions;
154pdu_store_sequencenumber_of_next_pdu(
packet_info *pinfo, uint32_t seq, uint32_t nxtpdu,
wmem_tree_t *multisegment_pdus);
166 uint32_t frame_acked;
174 uint32_t dupack_frame;
175 uint32_t bytes_in_flight;
176 uint32_t push_bytes_sent;
178 uint32_t new_data_seq;
191 uint32_t first_frame;
194 uint32_t first_frame_with_seq;
197#define MSP_FLAGS_REASSEMBLE_ENTIRE_SEGMENT 0x00000001
199#define MSP_FLAGS_GOT_ALL_SEGMENTS 0x00000002
201#define MSP_FLAGS_MISSING_FIRST_SEGMENT 0x00000004
243 uint8_t static_flags;
259 uint32_t nextseqframe;
262 uint64_t maxseqtobeacked;
275 uint8_t static_flags;
296 MPTCP_HMAC_NOT_SET = 0,
300} mptcp_hmac_algorithm_t;
303#define MPTCP_CAPABLE_CRYPTO_MASK 0x3F
305#define MPTCP_CHECKSUM_MASK 0x80
312 uint16_t segment_count;
315 uint32_t lastnondupack;
318 uint32_t maxseqtobeacked;
321 uint32_t nextseqframe;
335 uint8_t num_sack_ranges;
336 uint32_t sack_left_edge[MAX_TCP_SACK_RANGES];
337 uint32_t sack_right_edge[MAX_TCP_SACK_RANGES];
343 uint32_t process_uid;
344 uint32_t process_pid;
351 uint8_t static_flags;
353#define TCP_MAX_UNACKED_SEGMENTS 10000
358 uint16_t maxsizeacked;
360 uint32_t push_bytes_sent;
362 uint8_t mp_operations;
364 bool closing_initiator;
371#define TCP_FLOW_REASSEMBLE_UNTIL_FIN 0x0001
375 uint32_t lastsegmentflags;
419 uint8_t mp_operations;
489 uint16_t server_port;
496 int8_t flow_direction : 2;
509 uint8_t conversation_completeness;
512 char *conversation_completeness_str;
515 bool had_acc_ecn_setup_syn;
516 bool had_acc_ecn_setup_syn_ack;
517 bool had_acc_ecn_option;
527 uint8_t tcp_snd_manual_analysis;
543 uint32_t seq, uint32_t nxtseq, uint32_t sport,
571extern 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);
577WS_DLL_PUBLIC uint32_t get_tcp_stream_count(
void);
583WS_DLL_PUBLIC uint32_t get_mptcp_stream_count(
void);
587extern char *tcp_follow_index_filter(
unsigned stream,
unsigned sub_stream);
588extern char *tcp_follow_address_filter(
address *src_addr,
address *dst_addr,
int src_port,
int dst_port);
Definition packet-tcp.h:231
Definition packet-tcp.h:209
Definition packet_info.h:43
Definition packet-tcp.h:350
Definition packet-tcp.h:156
Definition wmem_list.c:23
Definition wmem_tree-int.h:48
Definition conversation.h:224
Definition epan_dissect.h:28
Definition packet-tcp.h:401
Definition packet-tcp.h:534
Definition packet-tcp.h:274
Definition reassemble.h:149
Definition packet-tcp.h:165
Definition packet-tcp.h:422
Definition packet-tcp.h:310
Definition packet-tcp.h:188
Definition packet-tcp.h:524
Definition packet-tcp.h:342
Definition packet-tcp.h:115
Definition tvbuff-int.h:35