diff options
author | Guy Harris <guy@alum.mit.edu> | 1999-08-20 06:55:20 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 1999-08-20 06:55:20 +0000 |
commit | a033390918ea00a11203f5ef869e14d0609e6b6f (patch) | |
tree | a3570575a12e5fb9a383c93391a544e5a1101233 /packet-x25.c | |
parent | 57198bc28f3fd6e6f885f9fd2f0849ae937497a4 (diff) | |
download | wireshark-a033390918ea00a11203f5ef869e14d0609e6b6f.tar.gz wireshark-a033390918ea00a11203f5ef869e14d0609e6b6f.tar.bz2 wireshark-a033390918ea00a11203f5ef869e14d0609e6b6f.zip |
Add support for reading Full Frontal ATM from an ATM Sniffer capture
file, instead of throwing out all but LANE or RFC 1483 data frames and
pretending that the former are just Ethernet or Token-Ring frames.
Add some level of decoding for ATM LANE, but not all of it; the rest,
including decoding non-LANE frames, is left as an exercise for somebody
who has captures they want to decode, an interest in decoding them, ATM
expertise, and time....
svn path=/trunk/; revision=523
Diffstat (limited to 'packet-x25.c')
-rw-r--r-- | packet-x25.c | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/packet-x25.c b/packet-x25.c index dfe52b67c6..606a85eaef 100644 --- a/packet-x25.c +++ b/packet-x25.c @@ -2,7 +2,7 @@ * Routines for x25 packet disassembly * Olivier Abad <abad@daba.dhis.org> * - * $Id: packet-x25.c,v 1.4 1999/08/05 02:26:21 guy Exp $ + * $Id: packet-x25.c,v 1.5 1999/08/20 06:55:07 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -1024,14 +1024,14 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) if(check_col(fd, COL_INFO)) col_add_fstr(fd, COL_INFO, "%s VC:%d", - (fd->flags & FROM_DCE) ? "Inc. call" - : "Call req." , + (fd->pseudo_header.x25.flags & FROM_DCE) ? "Inc. call" + : "Call req." , vc); if (x25_tree) proto_tree_add_item_format(x25_tree, hf_x25_type, localoffset+2, 1, "CALL", - (fd->flags & FROM_DCE) ? "Incoming call" - : "Call request"); + (fd->pseudo_header.x25.flags & FROM_DCE) ? "Incoming call" + : "Call request"); localoffset += 3; x25_ntoa(x25_tree, &localoffset, &pd[localoffset], fd, toa); @@ -1075,14 +1075,14 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) if(check_col(fd, COL_INFO)) col_add_fstr(fd, COL_INFO, "%s VC:%d", - (fd->flags & FROM_DCE) ? "Call conn." - : "Call acc." , + (fd->pseudo_header.x25.flags & FROM_DCE) ? "Call conn." + : "Call acc." , vc); if (x25_tree) proto_tree_add_item_format(x25_tree, hf_x25_type, localoffset+2, 1, "CALL ACC", - (fd->flags & FROM_DCE) ? "Call connected" - : "Call accepted"); + (fd->pseudo_header.x25.flags & FROM_DCE) ? "Call connected" + : "Call accepted"); localoffset += 3; x25_ntoa(x25_tree, &localoffset, &pd[localoffset], fd, toa); @@ -1099,8 +1099,8 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) case X25_CLEAR_REQUEST: if(check_col(fd, COL_INFO)) { col_add_fstr(fd, COL_INFO, "%s VC:%d %s - %s", - (fd->flags & FROM_DCE) ? "Clear ind." - : "Clear req." , + (fd->pseudo_header.x25.flags & FROM_DCE) ? "Clear ind." + : "Clear req." , vc, clear_code(pd[localoffset+3]), clear_diag(pd[localoffset+4])); } @@ -1108,8 +1108,8 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) if (x25_tree) { proto_tree_add_item_format(x25_tree, hf_x25_type, localoffset+2, 1, "CLEAR", - (fd->flags & FROM_DCE) ? "Clear indication" - : "Clear request"); + (fd->pseudo_header.x25.flags & FROM_DCE) ? "Clear indication" + : "Clear request"); proto_tree_add_text(x25_tree, localoffset+3, 1, "Cause : %s", clear_code(pd[localoffset+3])); proto_tree_add_text(x25_tree, localoffset+4, 1, @@ -1167,8 +1167,8 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) case X25_RESET_REQUEST: if(check_col(fd, COL_INFO)) { col_add_fstr(fd, COL_INFO, "%s VC:%d %s - Diag.:%d", - (fd->flags & FROM_DCE) ? "Reset ind." - : "Reset req.", + (fd->pseudo_header.x25.flags & FROM_DCE) ? "Reset ind." + : "Reset req.", vc, reset_code(pd[localoffset+3]), (int)pd[localoffset+4]); } @@ -1176,8 +1176,8 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) if (x25_tree) { proto_tree_add_item_format(x25_tree, hf_x25_type, localoffset+2, 1, "RESET", - (fd->flags & FROM_DCE) ? "Reset indication" - : "Reset request"); + (fd->pseudo_header.x25.flags & FROM_DCE) ? "Reset indication" + : "Reset request"); proto_tree_add_text(x25_tree, localoffset+3, 1, "Cause : %s", reset_code(pd[localoffset+3])); proto_tree_add_text(x25_tree, localoffset+4, 1, @@ -1196,8 +1196,8 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) case X25_RESTART_REQUEST: if(check_col(fd, COL_INFO)) { col_add_fstr(fd, COL_INFO, "%s VC:%d %s - Diag.:%d", - (fd->flags & FROM_DCE) ? "Restart ind." - : "Restart req.", + (fd->pseudo_header.x25.flags & FROM_DCE) ? "Restart ind." + : "Restart req.", vc, restart_code(pd[localoffset+3]), (int)pd[localoffset+4]); } @@ -1205,8 +1205,8 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) if (x25_tree) { proto_tree_add_item_format(x25_tree, hf_x25_type, localoffset+2, 1, "RESTART", - (fd->flags & FROM_DCE) ? "Restart indication" - : "Restart request"); + (fd->pseudo_header.x25.flags & FROM_DCE) ? "Restart indication" + : "Restart request"); proto_tree_add_text(x25_tree, localoffset+3, 1, "Cause : %s", restart_code(pd[localoffset+3])); proto_tree_add_text(x25_tree, localoffset+4, 1, |