3 * Wireshark - Network traffic analyzer
4 * By Gerald Combs <gerald@wireshark.org>
5 * Copyright 1998 Gerald Combs
7 * SPDX-License-Identifier: GPL-2.0-or-later
10 #ifndef SCTP_GRAPH_DIALOG_H
11 #define SCTP_GRAPH_DIALOG_H
20 class SCTPGraphDialog
;
23 class QCPAbstractPlottable
;
26 struct _sctp_assoc_info
;
34 struct data_chunk_header
{
49 struct sack_chunk_header
{
60 struct nr_sack_chunk_header
{
67 uint16_t nr_of_nr_gaps
;
74 class SCTPGraphDialog
: public QDialog
79 explicit SCTPGraphDialog(QWidget
*parent
= 0, const _sctp_assoc_info
*assoc
= NULL
,
80 capture_file
*cf
= NULL
, int dir
= 0);
82 static void save_graph(QDialog
*dlg
, QCustomPlot
*plot
);
85 void setCaptureFile(capture_file
*cf
) { cap_file_
= cf
; }
88 void on_pushButton_clicked();
90 void on_pushButton_2_clicked();
92 void on_pushButton_3_clicked();
94 void on_pushButton_4_clicked();
96 void graphClicked(QCPAbstractPlottable
* plottable
, int, QMouseEvent
* event
);
98 void on_saveButton_clicked();
100 void on_relativeTsn_stateChanged(int arg1
);
103 Ui::SCTPGraphDialog
*ui
;
104 uint16_t selected_assoc_id
;
105 capture_file
*cap_file_
;
108 QVector
<double> xt
, yt
, xs
, ys
, xg
, yg
, xd
, yd
, xn
, yn
;
109 QVector
<uint32_t> ft
, fs
, fg
, fd
, fn
;
110 QVector
<QString
> typeStrings
;
114 void drawGraph(const _sctp_assoc_info
* selected_assoc
= NULL
);
115 void drawTSNGraph(const _sctp_assoc_info
* selected_assoc
);
116 void drawSACKGraph(const _sctp_assoc_info
* selected_assoc
);
117 void drawNRSACKGraph(const _sctp_assoc_info
* selected_assoc
);
120 #endif // SCTP_GRAPH_DIALOG_H