14#ifndef __TAP_TCP_STREAM_H__
15#define __TAP_TCP_STREAM_H__
21typedef enum tcp_graph_type_ {
35typedef enum rtt_sampling_method_ {
67 uint8_t num_sack_ranges;
68 uint32_t sack_left_edge[MAX_TCP_SACK_RANGES];
69 uint32_t sack_right_edge[MAX_TCP_SACK_RANGES];
112#define COMPARE_CURR_DIR 0
113#define COMPARE_ANY_DIR 1
160 unsigned int end_seqno;
216tcp_seq_eq(uint32_t s1, uint32_t s2) {
217 return (int32_t)(s1 - s2) == 0;
228tcp_seq_before(uint32_t s1, uint32_t s2) {
229 return (int32_t)(s1 - s2) < 0;
240tcp_seq_eq_or_after(uint32_t s1, uint32_t s2) {
241 return !tcp_seq_before(s1, s2);
252tcp_seq_after(uint32_t s1, uint32_t s2) {
253 return (int32_t)(s1 - s2) > 0;
265tcp_seq_before_or_eq(uint32_t s1, uint32_t s2) {
266 return !tcp_seq_after(s1, s2);
Definition tap-tcp-stream.h:156
Definition tap-tcp-stream.h:43
Definition tap-tcp-stream.h:72
bool rtt_is_retrans(struct rtt_unack *list, unsigned int seqno)
Definition tap-tcp-stream.c:360
int compare_headers(address *saddr1, address *daddr1, uint16_t sport1, uint16_t dport1, const address *saddr2, const address *daddr2, uint16_t sport2, uint16_t dport2, int dir)
Compares the headers of two TCP segments.
Definition tap-tcp-stream.c:180
void rtt_put_unack_on_list(struct rtt_unack **l, struct rtt_unack *new_unack)
Adds a new unacknowledged packet to the list.
Definition tap-tcp-stream.c:386
uint32_t select_tcpip_session(capture_file *cf)
Selects a TCP/IP session based on capture file.
Definition tap-tcp-stream.c:285
int get_num_dsegs(struct tcp_graph *tg)
Gets the number of data segments in a TCP graph.
Definition tap-tcp-stream.c:201
void graph_segment_list_get(capture_file *cf, struct tcp_graph *tg)
Fill in the segment list for a TCP graph.
Definition tap-tcp-stream.c:138
int get_num_acks(struct tcp_graph *tg, int *num_sack_ranges)
Gets the number of ACKs in a TCP graph.
Definition tap-tcp-stream.c:219
void rtt_destroy_unack_list(struct rtt_unack **l)
Destroys the unacknowledged list of TCP sequences.
Definition tap-tcp-stream.c:424
struct rtt_unack * rtt_get_new_unack(double time_val, unsigned int seqno, unsigned int seglen)
Creates a new RTT unacknowledged packet structure.
Definition tap-tcp-stream.c:374
void graph_segment_list_free(struct tcp_graph *tg)
Frees the memory allocated for a TCP graph segment list.
Definition tap-tcp-stream.c:162
void rtt_delete_unack_from_list(struct rtt_unack **l, struct rtt_unack *dead)
Removes a specific RTT unacknowledged packet from the list.
Definition tap-tcp-stream.c:402