Add "Apply as filter" button to Coloring Rules Dialog
[metze/wireshark/wip.git] / summary.h
1 /* summary.h
2  * Definitions for capture file summary data
3  *
4  * Wireshark - Network traffic analyzer
5  * By Gerald Combs <gerald@wireshark.org>
6  * Copyright 1998 Gerald Combs
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21  */
22
23 #ifndef __SUMMARY_H__
24 #define __SUMMARY_H__
25
26 #ifdef HAVE_LIBPCAP
27 #include "ui/capture.h"
28 #endif
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif /* __cplusplus */
33
34 typedef struct iface_options_tag {
35   char     *name;
36   char     *descr;
37   char     *cfilter;
38   char     *isb_comment;
39   guint64   drops;                 /**< number of packet drops */
40   gboolean  drops_known;           /**< TRUE if number of packet drops is known */
41   int       snap;                  /**< Maximum captured packet length; 0 if not known */
42   int       encap_type;            /**< wiretap encapsulation type */
43 } iface_options;
44
45 typedef struct _summary_tally {
46   guint64      bytes;              /**< total bytes */
47   double       start_time;         /**< seconds, with msec resolution */
48   double       stop_time;          /**< seconds, with msec resolution */
49   double       elapsed_time;       /**< seconds, with msec resolution,
50                                      includes time before first packet
51                                      and after last packet */
52   guint32      marked_count;       /**< number of marked packets */
53   guint32      marked_count_ts;    /**< number of time-stamped marked packets */
54   guint64      marked_bytes;       /**< total bytes in the marked packets */
55   double       marked_start;       /**< time in seconds, with msec resolution */
56   double       marked_stop;        /**< time in seconds, with msec resolution */
57   guint32      ignored_count;      /**< number of ignored packets */
58   guint32      packet_count;       /**< total number of packets in trace */
59   guint32      packet_count_ts;    /**< total number of time-stamped packets in trace */
60   guint32      filtered_count;     /**< number of filtered packets */
61   guint32      filtered_count_ts;  /**< number of time-stamped filtered packets */
62   guint64      filtered_bytes;     /**< total bytes in the filtered packets */
63   double       filtered_start;     /**< time in seconds, with msec resolution */
64   double       filtered_stop;      /**< time in seconds, with msec resolution */
65   const char  *filename;
66   gint64       file_length;        /**< file length in bytes */
67   int          file_type;          /**< wiretap file type */
68   int          iscompressed;       /**< TRUE if file is compressed */
69   int          file_encap_type;    /**< wiretap encapsulation type for file */
70   GArray      *packet_encap_types; /**< wiretap encapsulation types for packets */
71   int          snap;               /**< Maximum captured packet length; 0 if not known */
72   gboolean     drops_known;        /**< TRUE if number of packet drops is known */
73   guint64      drops;              /**< number of packet drops */
74   const char  *dfilter;            /**< display filter */
75   gboolean     is_tempfile;
76   /* capture related, use summary_fill_in_capture() to get values */
77   GArray      *ifaces;
78   gboolean     legacy;
79 } summary_tally;
80
81 extern void
82 summary_fill_in(capture_file *cf, summary_tally *st);
83
84 #ifdef HAVE_LIBPCAP
85 extern void
86 summary_fill_in_capture(capture_file *cf, capture_options *capture_opts, summary_tally *st);
87 #endif
88
89 #ifdef __cplusplus
90 }
91 #endif /* __cplusplus */
92
93 #endif /* summary.h */
94
95 /*
96  * Editor modelines  -  http://www.wireshark.org/tools/modelines.html
97  *
98  * Local Variables:
99  * c-basic-offset: 2
100  * tab-width: 8
101  * indent-tabs-mode: nil
102  * End:
103  *
104  * vi: set shiftwidth=2 tabstop=8 expandtab:
105  * :indentSize=2:tabSize=8:noTabs=true:
106  */