10 #ifndef __PACKET_TCP_H__
11 #define __PACKET_TCP_H__
13 #include "ws_symbol_export.h"
27 #define TH_PUSH 0x0008
34 #define TH_MASK 0x0FFF
36 #define IS_TH_FIN(x) (x & TH_FIN)
37 #define IS_TH_URG(x) (x & TH_URG)
40 #define GT_SEQ(x, y) ((gint32)((y) - (x)) < 0)
41 #define LT_SEQ(x, y) ((gint32)((x) - (y)) < 0)
42 #define GE_SEQ(x, y) ((gint32)((y) - (x)) <= 0)
43 #define LE_SEQ(x, y) ((gint32)((x) - (y)) <= 0)
44 #define EQ_SEQ(x, y) (x) == (y)
56 gboolean mh_fastclose;
59 guint8 mh_capable_flags;
62 guint64 mh_dss_rawdsn;
63 guint64 mh_dss_rawack;
64 guint16 mh_dss_length;
86 gboolean th_have_seglen;
99 #define MAX_TCP_SACK_RANGES 4
100 guint8 num_sack_ranges;
101 guint32 sack_left_edge[MAX_TCP_SACK_RANGES];
102 guint32 sack_right_edge[MAX_TCP_SACK_RANGES];
120 guint16 urgent_pointer;
144 gboolean proto_desegment, guint fixed_len,
146 dissector_t dissect_pdu,
void* dissector_data);
149 tcp_reassembly_table_functions;
152 pdu_store_sequencenumber_of_next_pdu(
packet_info *pinfo, guint32 seq, guint32 nxtpdu,
wmem_tree_t *multisegment_pdus);
171 guint32 dupack_frame;
172 guint32 bytes_in_flight;
173 guint32 push_bytes_sent;
175 guint32 new_data_seq;
177 gboolean partial_ack;
190 guint32 first_frame_with_seq;
193 #define MSP_FLAGS_REASSEMBLE_ENTIRE_SEGMENT 0x00000001
195 #define MSP_FLAGS_GOT_ALL_SEGMENTS 0x00000002
197 #define MSP_FLAGS_MISSING_FIRST_SEGMENT 0x00000004
215 gboolean extended_dsn;
255 guint32 nextseqframe;
258 guint64 maxseqtobeacked;
292 MPTCP_HMAC_NOT_SET = 0,
296 } mptcp_hmac_algorithm_t;
299 #define MPTCP_CAPABLE_CRYPTO_MASK 0x3F
301 #define MPTCP_CHECKSUM_MASK 0x80
308 guint16 segment_count;
311 guint32 lastnondupack;
314 guint32 maxseqtobeacked;
317 guint32 nextseqframe;
331 guint8 num_sack_ranges;
332 guint32 sack_left_edge[MAX_TCP_SACK_RANGES];
333 guint32 sack_right_edge[MAX_TCP_SACK_RANGES];
349 #define TCP_MAX_UNACKED_SEGMENTS 10000
354 guint16 maxsizeacked;
356 guint32 push_bytes_sent;
357 gboolean push_set_last;
358 guint8 mp_operations;
359 gboolean is_first_ack;
360 gboolean closing_initiator;
367 #define TCP_FLOW_REASSEMBLE_UNTIL_FIN 0x0001
371 guint32 lastsegmentflags;
415 guint8 mp_operations;
490 guint8 tfo_syn_data : 1;
493 gint8 flow_direction : 2;
506 guint8 conversation_completeness;
509 gchar *conversation_completeness_str;
512 gboolean had_acc_ecn_setup_syn;
513 gboolean had_acc_ecn_setup_syn_ack;
514 gboolean had_acc_ecn_option;
524 guint8 tcp_snd_manual_analysis;
539 guint32 seq, guint32 nxtseq, guint32 sport,
567 extern void add_tcp_process_info(guint32 frame_num,
address *local_addr,
address *remote_addr, guint16 local_port, guint16 remote_port, guint32 uid, guint32 pid, gchar *username, gchar *command);
573 WS_DLL_PUBLIC guint32 get_tcp_stream_count(
void);
579 WS_DLL_PUBLIC guint32 get_mptcp_stream_count(
void);
583 extern gchar *tcp_follow_index_filter(guint
stream, guint sub_stream);
584 extern gchar *tcp_follow_address_filter(
address *src_addr,
address *dst_addr,
int src_port,
int dst_port);
Definition: packet-tcp.h:227
Definition: packet-tcp.h:205
Definition: packet_info.h:44
Definition: packet-tcp.h:346
Definition: packet-tcp.h:154
Definition: wmem_list.c:23
Definition: wmem_tree-int.h:48
Definition: conversation.h:220
Definition: epan_dissect.h:28
Definition: packet-tcp.h:397
Definition: packet-tcp.h:530
Definition: packet-tcp.h:270
Definition: reassemble.h:149
Definition: packet-tcp.h:162
Definition: packet-tcp.h:418
Definition: packet-tcp.h:306
Definition: packet-tcp.h:184
Definition: packet-tcp.h:521
Definition: packet-tcp.h:338
Definition: packet-tcp.h:114
Definition: tvbuff-int.h:35