/* packet.c
* Routines for packet disassembly
*
- * $Id: packet.c,v 1.40 1999/08/24 03:19:23 guy Exp $
+ * $Id: packet.c,v 1.45 1999/09/29 22:19:12 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
#endif
#include "packet.h"
+#include "print.h"
#include "file.h"
extern capture_file cf;
+gboolean tree_is_expanded[NUM_TREE_TYPES];
+
int proto_frame = -1;
int hf_frame_arrival_time = -1;
+int hf_frame_time_delta = -1;
+int hf_frame_number = -1;
int hf_frame_packet_len = -1;
int hf_frame_capture_len = -1;
}
/* Max string length for displaying byte string. */
-#define MAX_BYTE_STR_LEN 16
+#define MAX_BYTE_STR_LEN 20
/* Turn an array of bytes into a string showing the bytes in hex. */
gchar *
return cur;
}
+gchar *
+rel_time_to_str(struct timeval *rel_time)
+{
+ static gchar *cur;
+ static char str[3][10+1+6+1];
+
+ if (cur == &str[0][0]) {
+ cur = &str[1][0];
+ } else if (cur == &str[1][0]) {
+ cur = &str[2][0];
+ } else {
+ cur = &str[0][0];
+ }
+
+ sprintf(cur, "%ld.%06ld", (long)rel_time->tv_sec,
+ (long)rel_time->tv_usec);
+
+ return cur;
+}
/*
* Given a pointer into a data buffer, and to the end of the buffer,
proto_tree_add_item(fh_tree, hf_frame_arrival_time,
0, 0, &tv);
+ tv.tv_sec = fd->del_secs;
+ tv.tv_usec = fd->del_usecs;
+
+ proto_tree_add_item(fh_tree, hf_frame_time_delta,
+ 0, 0, &tv);
+
+ proto_tree_add_item(fh_tree, hf_frame_number,
+ 0, 0, fd->num);
+
proto_tree_add_item_format(fh_tree, hf_frame_packet_len,
0, 0, fd->pkt_len, "Packet Length: %d byte%s", fd->pkt_len,
plurality(fd->pkt_len, "", "s"));
case WTAP_ENCAP_ATM_SNIFFER :
dissect_atm(pd, fd, tree);
break;
+ case WTAP_ENCAP_ASCEND :
+ dissect_ascend(pd, fd, tree);
+ break;
}
}
{ &hf_frame_arrival_time,
{ "Arrival Time", "frame.time", FT_ABSOLUTE_TIME, NULL }},
+ { &hf_frame_time_delta,
+ { "Time delta from previous packet", "frame.time_delta", FT_RELATIVE_TIME, NULL }},
+
+ { &hf_frame_number,
+ { "Frame Number", "frame.number", FT_UINT32, NULL }},
+
{ &hf_frame_packet_len,
{ "Total Frame Length", "frame.pkt_len", FT_UINT32, NULL }},