aboutsummaryrefslogtreecommitdiffstats
path: root/packet-vines.c
diff options
context:
space:
mode:
authorgerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>1998-11-17 04:29:13 +0000
committergerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>1998-11-17 04:29:13 +0000
commit470fffbe32e31e4c164477cd823fd3b92780e325 (patch)
tree750ab11a6661c391b126d4ce990b7fc01cb98d46 /packet-vines.c
parent69fa1398275aa35864ebd22acfc7dfe3f0151c15 (diff)
* Added column formatting functionality.
* Added check_col(), add_col_str() and add_col_fmt() to replace references to ft->win_info. * Added column prefs handling code. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@97 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-vines.c')
-rw-r--r--packet-vines.c76
1 files changed, 42 insertions, 34 deletions
diff --git a/packet-vines.c b/packet-vines.c
index 453cf60447..a174902949 100644
--- a/packet-vines.c
+++ b/packet-vines.c
@@ -1,7 +1,7 @@
/* packet-vines.c
* Routines for Banyan VINES protocol packet disassembly
*
- * $Id: packet-vines.c,v 1.3 1998/11/12 00:06:39 gram Exp $
+ * $Id: packet-vines.c,v 1.4 1998/11/17 04:29:08 gerald Exp $
*
* Don Lafontaine <lafont02@cn.ca>
*
@@ -65,26 +65,31 @@ dissect_vines(const u_char *pd, int offset, frame_data *fd, GtkTree *tree)
iph.vip_dsub = pntohs(&pd[offset+10]);
iph.vip_ssub = pntohs(&pd[offset+16]);
- if (fd->win_info[COL_NUM])
- {
switch (iph.vip_proto)
{
case VINES_VSPP:
- strcpy(fd->win_info[COL_PROTOCOL], "Vines");
- sprintf(fd->win_info[COL_INFO], "VSPP (%02x)", iph.vip_proto);
+ if (check_col(fd, COL_PROTOCOL))
+ col_add_str(fd, COL_PROTOCOL, "Vines");
+ if (check_col(fd, COL_INFO))
+ col_add_fstr(fd, COL_INFO, "VSPP (%02x)", iph.vip_proto);
break;
case VINES_DATA:
- strcpy(fd->win_info[COL_PROTOCOL], "Vines IP");
- sprintf(fd->win_info[COL_INFO], "DATA (%02x)", iph.vip_proto);
+ if (check_col(fd, COL_PROTOCOL))
+ col_add_str(fd, COL_PROTOCOL, "Vines IP");
+ if (check_col(fd, COL_INFO))
+ col_add_fstr(fd, COL_INFO, "DATA (%02x)", iph.vip_proto);
break;
default:
- strcpy(fd->win_info[COL_PROTOCOL], "Vines IP");
- sprintf(fd->win_info[COL_INFO], "Unknown VIP protocol (%02x)", iph.vip_proto);
+ if (check_col(fd, COL_PROTOCOL))
+ col_add_str(fd, COL_PROTOCOL, "Vines IP");
+ if (check_col(fd, COL_INFO))
+ col_add_fstr(fd, COL_INFO, "Unknown VIP protocol (%02x)", iph.vip_proto);
}
- sprintf(fd->win_info[COL_SOURCE], "%08x.%04x", iph.vip_snet, iph.vip_ssub);
- sprintf(fd->win_info[COL_DESTINATION], "%08x.%04x", iph.vip_dnet, iph.vip_dsub);
- }
+ if (check_col(fd, COL_RES_NET_SRC))
+ col_add_fstr(fd, COL_RES_NET_SRC, "%08x.%04x", iph.vip_snet, iph.vip_ssub);
+ if (check_col(fd, COL_RES_NET_DST))
+ col_add_fstr(fd, COL_RES_NET_DST, "%08x.%04x", iph.vip_dnet, iph.vip_dsub);
/*
iph.ip_tos = IPTOS_TOS(iph.ip_tos);
switch (iph.ip_tos)
@@ -148,28 +153,31 @@ void dissect_vspp(const u_char *pd, int offset, frame_data *fd, GtkTree *tree)
iph.vspp_lclid = ntohs(iph.vspp_lclid);
iph.vspp_rmtid = ntohs(iph.vspp_rmtid);
- if (fd->win_info[COL_NUM])
- {
- switch (iph.vspp_pkttype)
- {
- case VINES_VSPP_DATA:
- strcpy(fd->win_info[COL_PROTOCOL], "Vines");
- sprintf(fd->win_info[COL_INFO], "VSPP Data Port=%04x(Transient) NS=%04x NR=%04x Window=%04x RID=%04x LID=%04x D=%04x S=%04x",
- iph.vspp_sport, iph.vspp_seq, iph.vspp_ack, iph.vspp_win, iph.vspp_rmtid,
- iph.vspp_lclid, iph.vspp_dport, iph.vspp_sport);
- break;
- case VINES_VSPP_ACK:
- strcpy(fd->win_info[COL_PROTOCOL], "Vines");
- sprintf(fd->win_info[COL_INFO], "VSPP Ack Port=%04x(Transient) NS=%04x NR=%04x Window=%04x RID=%04x LID=%04x",
- iph.vspp_sport, iph.vspp_seq, iph.vspp_ack, iph.vspp_win, iph.vspp_rmtid,
- iph.vspp_lclid);
-
- break;
- default:
- strcpy(fd->win_info[COL_PROTOCOL], "Vines IP");
- sprintf(fd->win_info[COL_INFO], "Unknown VSPP packet type (%02x)", iph.vspp_pkttype);
- }
- }
+ switch (iph.vspp_pkttype)
+ {
+ case VINES_VSPP_DATA:
+ if (check_col(fd, COL_PROTOCOL))
+ col_add_str(fd, COL_PROTOCOL, "Vines");
+ if (check_col(fd, COL_INFO))
+ col_add_fstr(fd, COL_INFO, "VSPP Data Port=%04x(Transient) NS=%04x NR=%04x Window=%04x RID=%04x LID=%04x D=%04x S=%04x",
+ iph.vspp_sport, iph.vspp_seq, iph.vspp_ack, iph.vspp_win, iph.vspp_rmtid,
+ iph.vspp_lclid, iph.vspp_dport, iph.vspp_sport);
+ break;
+ case VINES_VSPP_ACK:
+ if (check_col(fd, COL_PROTOCOL))
+ col_add_str(fd, COL_PROTOCOL, "Vines");
+ if (check_col(fd, COL_INFO))
+ col_add_fstr(fd, COL_INFO, "VSPP Ack Port=%04x(Transient) NS=%04x NR=%04x Window=%04x RID=%04x LID=%04x",
+ iph.vspp_sport, iph.vspp_seq, iph.vspp_ack, iph.vspp_win, iph.vspp_rmtid,
+ iph.vspp_lclid);
+
+ break;
+ default:
+ if (check_col(fd, COL_PROTOCOL))
+ col_add_str(fd, COL_PROTOCOL, "Vines IP");
+ if (check_col(fd, COL_INFO))
+ col_add_fstr(fd, COL_INFO, "Unknown VSPP packet type (%02x)", iph.vspp_pkttype);
+ }
/*
iph.ip_tos = IPTOS_TOS(iph.ip_tos);
switch (iph.ip_tos)