remove trans_info parameter from dissect_usb_unknown_descriptor()
[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     gboolean has_snap;       /**< TRUE if maximum capture packet length is known */
42     int      snap;           /**< Maximum captured packet length */
43     int      encap_type;     /**< wiretap encapsulation type */
44 } iface_options;
45
46 typedef struct _summary_tally {
47     guint64      bytes;             /**< total bytes */
48     double       start_time;        /**< seconds, with msec resolution */
49     double       stop_time;         /**< seconds, with msec resolution */
50     double       elapsed_time;      /**< seconds, with msec resolution,
51                                          includes time before first packet
52                                          and after last packet */
53     guint32      marked_count;      /**< number of marked packets */
54     guint32      marked_count_ts;   /**< number of time-stamped marked packets */
55     guint64      marked_bytes;      /**< total bytes in the marked packets */
56     double       marked_start;      /**< time in seconds, with msec resolution */
57     double       marked_stop;       /**< time in seconds, with msec resolution */
58     guint32      ignored_count;     /**< number of ignored packets */
59     guint32      packet_count;      /**< total number of packets in trace */
60     guint32      packet_count_ts;   /**< total number of time-stamped packets in trace */
61     guint32      filtered_count;    /**< number of filtered packets */
62     guint32      filtered_count_ts; /**< number of time-stamped filtered packets */
63     guint64      filtered_bytes;    /**< total bytes in the filtered packets */
64     double       filtered_start;    /**< time in seconds, with msec resolution */
65     double       filtered_stop;     /**< time in seconds, with msec resolution */
66     const char  *filename;
67     gint64        file_length;      /**< file length in bytes */
68     int           file_type;        /**< wiretap file type */
69     int           iscompressed;     /**< TRUE if file is compressed */
70     int           file_encap_type;  /**< wiretap encapsulation type for file */
71     GArray       *packet_encap_types; /**< wiretap encapsulation types for packets */
72     gboolean      has_snap;         /**< TRUE if maximum capture packet length is known */
73     int           snap;             /**< Maximum captured packet length */
74     gboolean      drops_known;      /**< TRUE if number of packet drops is known */
75     guint64       drops;            /**< number of packet drops */
76     const char   *dfilter;          /**< display filter */
77     gboolean      is_tempfile;
78     /* from SHB, use summary_fill_shb_inf() to get values */
79     gchar        *opt_comment;      /**< comment from SHB block */
80     gchar        *shb_hardware;     /**< Capture HW from SHB block */
81     gchar        *shb_os;           /**< The OS the capture was made on from SHB block */
82     const gchar  *shb_user_appl;    /**< The application that made the capture from SHB block */
83     /* capture related, use summary_fill_in_capture() to get values */
84     GArray       *ifaces;
85     gboolean      legacy;
86 } summary_tally;
87
88 extern void
89 summary_fill_in(capture_file *cf, summary_tally *st);
90
91 #ifdef HAVE_LIBPCAP
92 extern void
93 summary_fill_in_capture(capture_file *cf, capture_options *capture_opts, summary_tally *st);
94 #endif
95
96 #ifdef __cplusplus
97 }
98 #endif /* __cplusplus */
99
100 #endif /* summary.h */