1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
|
/*
* Copyright 2004-2013, Irene Ruengeler <i.ruengeler [AT] fh-muenster.de>
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef __SCTP_STAT_GTK_H__
#define __SCTP_STAT_GTK_H__
#include "ui/tap-sctp-analysis.h"
struct notes {
GtkWidget *checktype;
GtkWidget *checksum;
GtkWidget *bundling;
GtkWidget *padding;
GtkWidget *length;
GtkWidget *value;
GtkWidget *chunks_ep1;
GtkWidget *bytes_ep1;
GtkWidget *chunks_ep2;
GtkWidget *bytes_ep2;
struct page *page2;
struct page *page3;
};
struct page {
GtkWidget *addr_frame;
GtkWidget *scrolled_window;
GtkWidget *clist;
GtkWidget *port;
GtkWidget *veritag;
GtkWidget *max_in;
GtkWidget *min_in;
GtkWidget *max_out;
GtkWidget *min_out;
};
struct sctp_analyse {
sctp_assoc_info_t *assoc;
GtkWidget* window;
struct notes *analyse_nb;
GList *children;
guint16 num_children;
};
typedef struct _sctp_graph_t {
gboolean needs_redraw;
gfloat x_interval;
gfloat y_interval;
GtkWidget *window;
GtkWidget *draw_area;
#if GTK_CHECK_VERSION(2,22,0)
cairo_surface_t *surface;
#else
GdkPixmap *pixmap;
#endif
gint surface_width;
gint surface_height;
gint graph_type;
gdouble x_old;
gdouble y_old;
gdouble x_new;
gdouble y_new;
guint16 offset;
guint16 length;
gboolean tmp;
gboolean rectangle;
gboolean rectangle_present;
guint32 rect_x_min;
guint32 rect_x_max;
guint32 rect_y_min;
guint32 rect_y_max;
guint32 x1_tmp_sec;
guint32 x2_tmp_sec;
guint32 x1_tmp_usec;
guint32 x2_tmp_usec;
guint32 x1_akt_sec;
guint32 x2_akt_sec;
guint32 x1_akt_usec;
guint32 x2_akt_usec;
guint32 tmp_width;
guint32 axis_width;
guint32 y1_tmp;
guint32 y2_tmp;
guint32 tmp_min_tsn1;
guint32 tmp_max_tsn1;
guint32 tmp_min_tsn2;
guint32 tmp_max_tsn2;
guint32 min_x;
guint32 max_x;
guint32 min_y;
guint32 max_y;
gboolean uoff;
} sctp_graph_t;
struct sctp_udata {
sctp_assoc_info_t *assoc;
sctp_graph_t *io;
struct sctp_analyse *parent;
guint16 dir;
};
void assoc_analyse(sctp_assoc_info_t* assoc);
void set_child(struct sctp_udata *child, struct sctp_analyse *parent);
void remove_child(struct sctp_udata *child, struct sctp_analyse *parent);
void decrease_analyse_childcount(void);
void increase_analyse_childcount(void);
void increase_childcount(struct sctp_analyse *parent);
void decrease_childcount(struct sctp_analyse *parent);
void set_analyse_child(struct sctp_analyse *child);
void remove_analyse_child(struct sctp_analyse *child);
void create_graph(guint16 dir, struct sctp_analyse* u_data);
void create_byte_graph(guint16 dir, struct sctp_analyse* u_data);
void sctp_error_dlg_show(sctp_assoc_info_t* assoc);
void sctp_stat_dlg_update(void);
void sctp_chunk_stat_dlg_update(struct sctp_udata* udata, unsigned int direction);
void sctp_chunk_dlg_show(struct sctp_analyse* userdata);
void sctp_chunk_stat_dlg_show(unsigned int direction, struct sctp_analyse* userdata);
GtkWidget *get_stat_dlg(void);
GtkWidget *get_chunk_stat_dlg(void);
void update_analyse_dlg(struct sctp_analyse* u_data);
void sctp_set_assoc_filter(void);
#endif
|