diff options
-rw-r--r-- | column.c | 13 | ||||
-rw-r--r-- | epan/column-utils.c | 6 | ||||
-rw-r--r-- | epan/column_info.h | 3 | ||||
-rw-r--r-- | epan/frame_data.h | 3 | ||||
-rw-r--r-- | file.c | 7 | ||||
-rw-r--r-- | gtk/main.c | 4 | ||||
-rw-r--r-- | tethereal.c | 5 |
7 files changed, 32 insertions, 9 deletions
@@ -1,7 +1,7 @@ /* column.c * Routines for handling column preferences * - * $Id: column.c,v 1.42 2003/01/27 20:45:42 guy Exp $ + * $Id: column.c,v 1.43 2003/09/03 10:49:01 sahlberg Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -52,7 +52,8 @@ col_format_to_string(gint fmt) { "%us","%hs", "%rhs", "%uhs", "%ns", "%rns", "%uns", "%d", "%rd", "%ud", "%hd", "%rhd", "%uhd", "%nd", "%rnd", "%und", "%S", "%rS", "%uS", "%D", "%rD", "%uD", "%p", - "%i", "%L", "%XO", "%XR", "%I", "%c", "%Xs", "%Xd", "%V" }; + "%i", "%L", "%B", "%XO", "%XR", "%I", "%c", "%Xs", + "%Xd", "%V" }; if (fmt < 0 || fmt > NUM_COL_FMTS) return NULL; @@ -96,6 +97,7 @@ static gchar *dlist[NUM_COL_FMTS] = { "Protocol", "Information", "Packet length (bytes)" , + "Culmulative Bytes" , "OXID", "RXID", "FW-1 monitor if/direction", @@ -261,6 +263,9 @@ get_column_longest_string(gint format) case COL_PACKET_LENGTH: return "000000"; break; + case COL_CULMULATIVE_BYTES: + return "00000000"; + break; case COL_RXID: case COL_OXID: return "000000"; @@ -309,6 +314,7 @@ get_column_resize_type(gint format) { case COL_UNRES_DST_PORT: case COL_PROTOCOL: case COL_PACKET_LENGTH: + case COL_CULMULATIVE_BYTES: case COL_IF_DIR: case COL_CIRCUIT_ID: /* We don't want these to resize during a live capture, as that @@ -453,6 +459,9 @@ get_column_format_from_str(gchar *str) { case 'L': return COL_PACKET_LENGTH; break; + case 'B': + return COL_CULMULATIVE_BYTES; + break; case 'X': prev_code = COL_OXID; break; diff --git a/epan/column-utils.c b/epan/column-utils.c index 3b6634af2b..9f68dda50b 100644 --- a/epan/column-utils.c +++ b/epan/column-utils.c @@ -1,7 +1,7 @@ /* column-utils.c * Routines for column utilities. * - * $Id: column-utils.c,v 1.37 2003/08/26 06:40:25 guy Exp $ + * $Id: column-utils.c,v 1.38 2003/09/03 10:49:02 sahlberg Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -830,6 +830,10 @@ fill_in_columns(packet_info *pinfo) strcpy(pinfo->cinfo->col_expr[i], "frame.pkt_len"); strcpy(pinfo->cinfo->col_expr_val[i], pinfo->cinfo->col_buf[i]); break; + case COL_CULMULATIVE_BYTES: + snprintf(pinfo->cinfo->col_buf[i], COL_MAX_LEN, "%u", pinfo->fd->cul_bytes); + pinfo->cinfo->col_data[i] = pinfo->cinfo->col_buf[i]; + break; case COL_OXID: snprintf(pinfo->cinfo->col_buf[i], COL_MAX_LEN, "0x%x", pinfo->oxid); diff --git a/epan/column_info.h b/epan/column_info.h index 8498fd1bba..2d3a1e9b65 100644 --- a/epan/column_info.h +++ b/epan/column_info.h @@ -1,7 +1,7 @@ /* column.h * Definitions for column structures and routines * - * $Id: column_info.h,v 1.8 2003/04/16 04:52:53 guy Exp $ + * $Id: column_info.h,v 1.9 2003/09/03 10:49:02 sahlberg Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -84,6 +84,7 @@ enum { COL_PROTOCOL, /* Protocol */ COL_INFO, /* Description */ COL_PACKET_LENGTH, /* Packet length in bytes */ + COL_CULMULATIVE_BYTES, /* Culmulative number of bytes */ COL_OXID, /* Fibre Channel OXID */ COL_RXID, /* Fibre Channel RXID */ COL_IF_DIR, /* FW-1 monitor interface/direction */ diff --git a/epan/frame_data.h b/epan/frame_data.h index d2009e4275..fc68f0b6d9 100644 --- a/epan/frame_data.h +++ b/epan/frame_data.h @@ -1,7 +1,7 @@ /* frame_data.h * Definitions for frame_data structures and routines * - * $Id: frame_data.h,v 1.8 2003/07/08 05:29:42 tpot Exp $ + * $Id: frame_data.h,v 1.9 2003/09/03 10:49:02 sahlberg Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -38,6 +38,7 @@ typedef struct _frame_data { guint32 num; /* Frame number */ guint32 pkt_len; /* Packet length */ guint32 cap_len; /* Amount actually captured */ + guint32 cul_bytes; /* Culmulative bytes into the capture */ gint32 rel_secs; /* Relative seconds (yes, it can be negative) */ gint32 rel_usecs; /* Relative microseconds (yes, it can be negative) */ guint32 abs_secs; /* Absolute seconds */ @@ -1,7 +1,7 @@ /* file.c * File I/O routines * - * $Id: file.c,v 1.304 2003/08/29 04:03:45 guy Exp $ + * $Id: file.c,v 1.305 2003/09/03 10:49:01 sahlberg Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -92,6 +92,7 @@ gboolean auto_scroll_live; static guint32 firstsec, firstusec; static guint32 prevsec, prevusec; +static guint32 cul_bytes = 0; static void read_packet(capture_file *cf, long offset); @@ -351,6 +352,7 @@ read_cap_file(capture_file *cf, int *err) GTimeVal start_time; gchar status_str[100]; + cul_bytes=0; reset_tap_listeners(); name_ptr = get_basename(cf->filename); @@ -838,6 +840,8 @@ read_packet(capture_file *cf, long offset) fdata->prev = NULL; fdata->pfd = NULL; fdata->pkt_len = phdr->len; + cul_bytes += phdr->len; + fdata->cul_bytes = cul_bytes; fdata->cap_len = phdr->caplen; fdata->file_off = offset; fdata->lnk_t = phdr->pkt_encap; @@ -968,6 +972,7 @@ rescan_packets(capture_file *cf, const char *action, const char *action_item, GTimeVal start_time; gchar status_str[100]; + cul_bytes=0; reset_tap_listeners(); /* Which frame, if any, is the currently selected frame? XXX - should the selected frame or the focus frame be the "current" diff --git a/gtk/main.c b/gtk/main.c index 54cf3767f4..8cbe7080eb 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -1,6 +1,6 @@ /* main.c * - * $Id: main.c,v 1.307 2003/08/28 20:33:14 oabad Exp $ + * $Id: main.c,v 1.308 2003/09/03 10:49:03 sahlberg Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -660,7 +660,7 @@ packet_list_compare(GtkCList *clist, gconstpointer ptr1, gconstpointer ptr2) (col_fmt == COL_UNRES_SRC_PORT) || (col_fmt == COL_UNRES_DST_PORT) || ((num1 != 0) && (num2 != 0) && ((col_fmt == COL_DEF_SRC_PORT) || (col_fmt == COL_RES_SRC_PORT) || (col_fmt == COL_DEF_DST_PORT) || (col_fmt == COL_RES_DST_PORT))) || - (col_fmt == COL_PACKET_LENGTH)) { + (col_fmt == COL_PACKET_LENGTH) || (col_fmt == COL_CULMULATIVE_BYTES)) { /* Compare numeric column */ diff --git a/tethereal.c b/tethereal.c index c6dfa7a4e0..ca7cde4858 100644 --- a/tethereal.c +++ b/tethereal.c @@ -1,6 +1,6 @@ /* tethereal.c * - * $Id: tethereal.c,v 1.191 2003/08/07 00:41:27 guy Exp $ + * $Id: tethereal.c,v 1.192 2003/09/03 10:49:02 sahlberg Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -116,6 +116,7 @@ static gboolean decode; static gboolean verbose; static gboolean print_hex; static gboolean line_buffered; +static guint32 cul_bytes = 0; #ifdef HAVE_LIBPCAP typedef struct _loop_data { @@ -2031,6 +2032,8 @@ fill_in_fdata(frame_data *fdata, capture_file *cf, fdata->pfd = NULL; fdata->num = cf->count; fdata->pkt_len = phdr->len; + cul_bytes += phdr->len; + fdata->cul_bytes = cul_bytes; fdata->cap_len = phdr->caplen; fdata->file_off = offset; fdata->lnk_t = phdr->pkt_encap; |