diff options
author | Gerald Combs <gerald@wireshark.org> | 1998-11-17 04:29:13 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 1998-11-17 04:29:13 +0000 |
commit | 6ca358948b8c5aa99a4e0db8595f601ab834e76e (patch) | |
tree | 750ab11a6661c391b126d4ce990b7fc01cb98d46 /packet-osi.c | |
parent | 8d616b03429fe2185782f5153d7b187a44698b5d (diff) | |
download | wireshark-6ca358948b8c5aa99a4e0db8595f601ab834e76e.tar.gz wireshark-6ca358948b8c5aa99a4e0db8595f601ab834e76e.tar.bz2 wireshark-6ca358948b8c5aa99a4e0db8595f601ab834e76e.zip |
* 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.
svn path=/trunk/; revision=97
Diffstat (limited to 'packet-osi.c')
-rw-r--r-- | packet-osi.c | 115 |
1 files changed, 59 insertions, 56 deletions
diff --git a/packet-osi.c b/packet-osi.c index 7434ff0261..65dcc919d4 100644 --- a/packet-osi.c +++ b/packet-osi.c @@ -1,7 +1,7 @@ /* packet-osi.c * Routines for ISO/OSI network and transport protocol packet disassembly * - * $Id: packet-osi.c,v 1.4 1998/11/12 00:06:35 gram Exp $ + * $Id: packet-osi.c,v 1.5 1998/11/17 04:29:01 gerald Exp $ * Laurent Deniel <deniel@worldnet.fr> * * Ethereal - Network traffic analyzer @@ -240,11 +240,11 @@ static int osi_decode_DR(const u_char *pd, int offset, break; } - if (fd->win_info[COL_NUM]) { - strcpy(fd->win_info[COL_PROTOCOL], "COTP"); - sprintf(fd->win_info[COL_INFO], "DR TPDU src-ref: 0x%04x dst-ref: 0x%04x", + if (check_col(fd, COL_PROTOCOL)) + col_add_str(fd, COL_PROTOCOL, "COTP"); + if (check_col(fd, COL_INFO)) + col_add_fstr(fd, COL_INFO, "DR TPDU src-ref: 0x%04x dst-ref: 0x%04x", src_ref, dst_ref); - } if (tree) { ti = add_item_to_tree(GTK_WIDGET(tree), offset, li + 1, @@ -331,13 +331,13 @@ static int osi_decode_DT(const u_char *pd, int offset, break; } - if (fd->win_info[COL_NUM]) { - strcpy(fd->win_info[COL_PROTOCOL], "COTP"); - sprintf(fd->win_info[COL_INFO], "DT TPDU (%d) dst-ref: 0x%04x %s", + if (check_col(fd, COL_PROTOCOL)) + col_add_str(fd, COL_PROTOCOL, "COTP"); + if (check_col(fd, COL_INFO)) + col_add_fstr(fd, COL_INFO, "DT TPDU (%d) dst-ref: 0x%04x %s", tpdu_nr, dst_ref, (fragment)? "(fragment)" : ""); - } if (tree) { ti = add_item_to_tree(GTK_WIDGET(tree), offset, li + 1, @@ -469,10 +469,10 @@ static int osi_decode_ED(const u_char *pd, int offset, break; } /* li */ - if (fd->win_info[COL_NUM]) { - strcpy(fd->win_info[COL_PROTOCOL], "COTP"); - sprintf(fd->win_info[COL_INFO], "ED TPDU (%d) dst-ref: 0x%04x", tpdu_nr, dst_ref); - } + if (check_col(fd, COL_PROTOCOL)) + col_add_str(fd, COL_PROTOCOL, "COTP"); + if (check_col(fd, COL_INFO)) + col_add_fstr(fd, COL_INFO, "ED TPDU (%d) dst-ref: 0x%04x", tpdu_nr, dst_ref); if (tree) { ti = add_item_to_tree(GTK_WIDGET(tree), offset, li + 1, @@ -552,10 +552,10 @@ static int osi_decode_RJ(const u_char *pd, int offset, break; } - if (fd->win_info[COL_NUM]) { - strcpy(fd->win_info[COL_PROTOCOL], "COTP"); - sprintf(fd->win_info[COL_INFO], "RJ TPDU (%d) dst-ref: 0x%04x", tpdu_nr, dst_ref); - } + if (check_col(fd, COL_PROTOCOL)) + col_add_str(fd, COL_PROTOCOL, "COTP"); + if (check_col(fd, COL_INFO)) + col_add_fstr(fd, COL_INFO, "RJ TPDU (%d) dst-ref: 0x%04x", tpdu_nr, dst_ref); if (tree) { ti = add_item_to_tree(GTK_WIDGET(tree), offset, li + 1, @@ -638,13 +638,13 @@ static int osi_decode_CC(const u_char *pd, int offset, if (class_option > 4) return -1; - if (fd->win_info[COL_NUM]) { - strcpy(fd->win_info[COL_PROTOCOL], "COTP"); - sprintf(fd->win_info[COL_INFO], "%s TPDU src-ref: 0x%04x dst-ref: 0x%04x", + if (check_col(fd, COL_PROTOCOL)) + col_add_str(fd, COL_PROTOCOL, "COTP"); + if (check_col(fd, COL_INFO)) + col_add_fstr(fd, COL_INFO, "%s TPDU src-ref: 0x%04x dst-ref: 0x%04x", (tpdu == CR_TPDU) ? "CR" : "CC", src_ref, dst_ref); - } if (tree) { ti = add_item_to_tree(GTK_WIDGET(tree), offset, li + 1, @@ -912,12 +912,12 @@ static int osi_decode_DC(const u_char *pd, int offset, break; } /* li */ - if (fd->win_info[COL_NUM]) { - strcpy(fd->win_info[COL_PROTOCOL], "COTP"); - sprintf(fd->win_info[COL_INFO], "DC TPDU src-ref: 0x%04x dst-ref: 0x%04x", + if (check_col(fd, COL_PROTOCOL)) + col_add_str(fd, COL_PROTOCOL, "COTP"); + if (check_col(fd, COL_INFO)) + col_add_fstr(fd, COL_INFO, "DC TPDU src-ref: 0x%04x dst-ref: 0x%04x", src_ref, dst_ref); - } if (tree) { ti = add_item_to_tree(GTK_WIDGET(tree), offset, li + 1, @@ -967,11 +967,11 @@ static int osi_decode_AK(const u_char *pd, int offset, if (!is_LI_NORMAL_AK(li)) { tpdu_nr = pd[offset + P_TPDU_NR_234]; - if (fd->win_info[COL_NUM]) { - strcpy(fd->win_info[COL_PROTOCOL], "COTP"); - sprintf(fd->win_info[COL_INFO], "AK TPDU (%d) dst-ref: 0x%04x", + if (check_col(fd, COL_PROTOCOL)) + col_add_str(fd, COL_PROTOCOL, "COTP"); + if (check_col(fd, COL_INFO)) + col_add_fstr(fd, COL_INFO, "AK TPDU (%d) dst-ref: 0x%04x", tpdu_nr, dst_ref); - } if (tree) { ti = add_item_to_tree(GTK_WIDGET(tree), offset, li + 1, @@ -1075,11 +1075,11 @@ static int osi_decode_AK(const u_char *pd, int offset, tpdu_nr = EXTRACT_LONG(&pd[offset + P_TPDU_NR_234]); cdt_in_ak = EXTRACT_SHORT(&pd[offset + P_CDT_IN_AK]); - if (fd->win_info[COL_NUM]) { - strcpy(fd->win_info[COL_PROTOCOL], "COTP"); - sprintf(fd->win_info[COL_INFO], "AK TPDU (%d) dst-ref: 0x%04x", + if (check_col(fd, COL_PROTOCOL)) + col_add_str(fd, COL_PROTOCOL, "COTP"); + if (check_col(fd, COL_INFO)) + col_add_fstr(fd, COL_INFO, "AK TPDU (%d) dst-ref: 0x%04x", tpdu_nr, dst_ref); - } if (tree) { ti = add_item_to_tree(GTK_WIDGET(tree), offset, li + 1, @@ -1229,10 +1229,10 @@ static int osi_decode_EA(const u_char *pd, int offset, break; } /* li */ - if (fd->win_info[COL_NUM]) { - strcpy(fd->win_info[COL_PROTOCOL], "COTP"); - sprintf(fd->win_info[COL_INFO], "EA TPDU (%d) dst-ref: 0x%04x", tpdu_nr, dst_ref); - } + if (check_col(fd, COL_PROTOCOL)) + col_add_str(fd, COL_PROTOCOL, "COTP"); + if (check_col(fd, COL_INFO)) + col_add_fstr(fd, COL_INFO, "EA TPDU (%d) dst-ref: 0x%04x", tpdu_nr, dst_ref); if (tree) { ti = add_item_to_tree(GTK_WIDGET(tree), offset, li + 1, @@ -1315,10 +1315,10 @@ static int osi_decode_ER(const u_char *pd, int offset, break; } - if (fd->win_info[COL_NUM]) { - strcpy(fd->win_info[COL_PROTOCOL], "COTP"); - sprintf(fd->win_info[COL_INFO], "ER TPDU dst-ref: 0x%04x", dst_ref); - } + if (check_col(fd, COL_PROTOCOL)) + col_add_str(fd, COL_PROTOCOL, "COTP"); + if (check_col(fd, COL_INFO)) + col_add_fstr(fd, COL_INFO, "ER TPDU dst-ref: 0x%04x", dst_ref); if (tree) { ti = add_item_to_tree(GTK_WIDGET(tree), offset, li + 1, @@ -1514,12 +1514,12 @@ void dissect_clnp(const u_char *pd, int offset, frame_data *fd, GtkTree *tree) print_nsap(&pd[offset + dst_len + 2], src_len)); } - if (fd->win_info[COL_NUM]) { - sprintf(fd->win_info[COL_SOURCE], "%s", + if (check_col(fd, COL_RES_NET_SRC)) + col_add_fstr(fd, COL_RES_NET_SRC, "%s", print_nsap(&pd[offset + dst_len + 2], src_len)); - sprintf(fd->win_info[COL_DESTINATION], "%s", + if (check_col(fd, COL_RES_NET_DST)) + col_add_fstr(fd, COL_RES_NET_DST, "%s", print_nsap(&pd[offset + 1], dst_len)); - } /* Segmentation Part */ @@ -1576,38 +1576,41 @@ void dissect_osi(const u_char *pd, int offset, frame_data *fd, GtkTree *tree) /* only CLNP is currently decoded */ case ISO8473_CLNP: - if (fd->win_info[COL_NUM]) + if (check_col(fd, COL_PROTOCOL)) { - strcpy(fd->win_info[COL_PROTOCOL], "CLNP"); + col_add_str(fd, COL_PROTOCOL, "CLNP"); } dissect_clnp(pd, offset, fd, tree); break; case ISO9542_ESIS: - if (fd->win_info[COL_NUM]) + if (check_col(fd, COL_PROTOCOL)) { - strcpy(fd->win_info[COL_PROTOCOL], "ESIS"); + col_add_str(fd, COL_PROTOCOL, "ESIS"); } dissect_data(pd, offset, fd, tree); break; case ISO9542X25_ESIS: - if (fd->win_info[COL_NUM]) + if (check_col(fd, COL_PROTOCOL)) { - strcpy(fd->win_info[COL_PROTOCOL], "ESIS(X25)"); + col_add_str(fd, COL_PROTOCOL, "ESIS(X25)"); } dissect_data(pd, offset, fd, tree); break; case ISO10589_ISIS: - if (fd->win_info[COL_NUM]) + if (check_col(fd, COL_PROTOCOL)) { - strcpy(fd->win_info[COL_PROTOCOL], "ISIS"); + col_add_str(fd, COL_PROTOCOL, "ISIS"); } dissect_data(pd, offset, fd, tree); break; default: - if (fd->win_info[COL_NUM]) + if (check_col(fd, COL_PROTOCOL)) + { + col_add_str(fd, COL_PROTOCOL, "ISO"); + } + if (check_col(fd, COL_INFO)) { - strcpy(fd->win_info[COL_PROTOCOL], "ISO"); - sprintf(fd->win_info[COL_INFO], "Unknown ISO protocol (%02x)", pd[offset]); + col_add_fstr(fd, COL_INFO, "Unknown ISO protocol (%02x)", pd[offset]); } dissect_data(pd, offset, fd, tree); break; |