HACK: 1. try to match RowsetProperties
[wireshark-wip.git] / summary.h
blobb1cf07ea8c510defc051fa2f9f572fc98a5ba75d
1 /* summary.h
2 * Definitions for capture file summary data
4 * $Id$
6 * Wireshark - Network traffic analyzer
7 * By Gerald Combs <gerald@wireshark.org>
8 * Copyright 1998 Gerald Combs
10 * This program is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License
12 * as published by the Free Software Foundation; either version 2
13 * of the License, or (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25 #ifndef __SUMMARY_H__
26 #define __SUMMARY_H__
28 #ifdef HAVE_LIBPCAP
29 #include "capture.h"
30 #endif
32 #ifdef __cplusplus
33 extern "C" {
34 #endif /* __cplusplus */
36 typedef struct iface_options_tag {
37 char *name;
38 char *descr;
39 char *cfilter;
40 char *isb_comment;
41 guint64 drops; /**< number of packet drops */
42 gboolean drops_known; /**< TRUE if number of packet drops is known */
43 gboolean has_snap; /**< TRUE if maximum capture packet length is known */
44 int snap; /**< Maximum captured packet length */
45 int encap_type; /**< wiretap encapsulation type */
46 } iface_options;
48 typedef struct _summary_tally {
49 guint64 bytes; /**< total bytes */
50 double start_time; /**< seconds, with msec resolution */
51 double stop_time; /**< seconds, with msec resolution */
52 double elapsed_time; /**< seconds, with msec resolution,
53 includes time before first packet
54 and after last packet */
55 guint32 marked_count; /**< number of marked packets */
56 guint32 marked_count_ts; /**< number of time-stamped marked packets */
57 guint64 marked_bytes; /**< total bytes in the marked packets */
58 double marked_start; /**< time in seconds, with msec resolution */
59 double marked_stop; /**< time in seconds, with msec resolution */
60 guint32 ignored_count; /**< number of ignored packets */
61 guint32 packet_count; /**< total number of packets in trace */
62 guint32 packet_count_ts; /**< total number of time-stamped packets in trace */
63 guint32 filtered_count; /**< number of filtered packets */
64 guint32 filtered_count_ts; /**< number of time-stamped filtered packets */
65 guint64 filtered_bytes; /**< total bytes in the filtered packets */
66 double filtered_start; /**< time in seconds, with msec resolution */
67 double filtered_stop; /**< time in seconds, with msec resolution */
68 const char *filename;
69 gint64 file_length; /**< file length in bytes */
70 int file_type; /**< wiretap file type */
71 int iscompressed; /**< TRUE if file is compressed */
72 int file_encap_type; /**< wiretap encapsulation type for file */
73 GArray *packet_encap_types; /**< wiretap encapsulation types for packets */
74 gboolean has_snap; /**< TRUE if maximum capture packet length is known */
75 int snap; /**< Maximum captured packet length */
76 gboolean drops_known; /**< TRUE if number of packet drops is known */
77 guint64 drops; /**< number of packet drops */
78 const char *dfilter; /**< display filter */
79 gboolean is_tempfile;
80 /* from SHB, use summary_fill_shb_inf() to get values */
81 gchar *opt_comment; /**< comment from SHB block */
82 gchar *shb_hardware; /**< Capture HW from SHB block */
83 gchar *shb_os; /**< The OS the capture was made on from SHB block */
84 const gchar *shb_user_appl; /**< The application that made the capture from SHB block */
85 /* capture related, use summary_fill_in_capture() to get values */
86 GArray *ifaces;
87 gboolean legacy;
88 } summary_tally;
90 extern void
91 summary_fill_in(capture_file *cf, summary_tally *st);
93 #ifdef HAVE_LIBPCAP
94 extern void
95 summary_fill_in_capture(capture_file *cf, capture_options *capture_opts, summary_tally *st);
96 #endif
98 #ifdef __cplusplus
100 #endif /* __cplusplus */
102 #endif /* summary.h */