Added support for Lucent/Ascend packet traces. The MAX and Pipeline router
authorgerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 11 Sep 1999 04:50:44 +0000 (04:50 +0000)
committergerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 11 Sep 1999 04:50:44 +0000 (04:50 +0000)
family has a set of debug commands that allow you to log the traffic on a
WAN or dialup connection as text, e.g.

RECV-iguana:241:(task: B04E12C0, time: 1975358.50) 15 octets @ 8003D634
  [0000]: FF 03 00 3D C0 06 C9 96 2D 04 C1 72 00 05 B8

Created wtap_seek_read() which parses the textual data for and Ascend
trace, and does a normal fseek() and fread() for any other file type.
The fseek()/fread() pairs in file.c were replaced with the new function.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@652 f5534014-38df-0310-8fa8-9805f1628bb7

Makefile.am
file.c
packet.c
wiretap/Makefile
wiretap/Makefile.am
wiretap/configure.in
wiretap/file.c
wiretap/wtap.c
wiretap/wtap.h

index 394302714d5d891a65fb19d7b21dc1b0c4c29c7d..fa5492a0446c8afd33f80f6d78f8eb278163d7a6 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile.am
 # Automake file for Ethereal
 #
-# $Id: Makefile.am,v 1.70 1999/09/10 05:15:09 gram Exp $
+# $Id: Makefile.am,v 1.71 1999/09/11 04:50:34 gerald Exp $
 #
 # Ethereal - Network traffic analyzer
 # By Gerald Combs <gerald@zing.org>
@@ -55,6 +55,7 @@ ethereal_SOURCES = \
        globals.h      \
        packet-aarp.c  \
        packet-arp.c   \
+       packet-ascend.c\
        packet-atalk.c \
        packet-atm.c   \
        packet-bootp.c \
@@ -127,8 +128,8 @@ ethereal_SOURCES = \
        resolv.c       \
        resolv.h       \
        smb.h          \
-        summary.c      \
-        summary.h      \
+       summary.c      \
+       summary.h      \
        timestamp.h    \
        util.c         \
        util.h         \
diff --git a/file.c b/file.c
index 3ce06f97761d04df03948fe5e0022c4ffe6cebfa..285388aa28ea581be1727d3a0c308cd4d6a1f0a2 100644 (file)
--- a/file.c
+++ b/file.c
@@ -1,7 +1,7 @@
 /* file.c
  * File I/O routines
  *
- * $Id: file.c,v 1.87 1999/09/09 02:42:24 gram Exp $
+ * $Id: file.c,v 1.88 1999/09/11 04:50:34 gerald Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -708,8 +708,7 @@ filter_packets(capture_file *cf)
 
     cf->count++;
 
-    fseek(cf->fh, fd->file_off, SEEK_SET);
-    fread(cf->pd, sizeof(guint8), fd->cap_len, cf->fh);
+    wtap_seek_read (cf-> cd_t, cf->fh, fd->file_off, cf->pd, fd->cap_len);
 
     add_packet_to_packet_list(fd, cf, cf->pd);
   }
@@ -754,8 +753,7 @@ print_packets(capture_file *cf, int to_file, const char *dest)
   for (fd = cf->plist; fd != NULL; fd = fd->next) {
     cf->count++;
 
-    fseek(cf->fh, fd->file_off, SEEK_SET);
-    fread(cf->pd, sizeof(guint8), fd->cap_len, cf->fh);
+    wtap_seek_read (cf-> cd_t, cf->fh, fd->file_off, cf->pd, fd->cap_len);
 
     /* create the logical protocol tree */
     protocol_tree = proto_tree_create_root();
@@ -896,8 +894,7 @@ select_packet(capture_file *cf, int row)
   cf->selected_packet = i;
 
   /* Get the data in that frame. */
-  fseek(cf->fh, cf->fd->file_off, SEEK_SET);
-  fread(cf->pd, sizeof(guint8), cf->fd->cap_len, cf->fh);
+  wtap_seek_read (cf-> cd_t, cf->fh, fd->file_off, cf->pd, fd->cap_len);
 
   /* Create the logical protocol tree. */
   if (cf->protocol_tree)
index f4fad5d69300462d0e90a1d4cb09de3444bfc3a5..7bc1fde6a1e2e25084a707d2d17b9cb93f53662c 100644 (file)
--- a/packet.c
+++ b/packet.c
@@ -1,7 +1,7 @@
 /* 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.41 1999/09/11 04:50:35 gerald Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -684,6 +684,9 @@ dissect_packet(const u_char *pd, frame_data *fd, proto_tree *tree)
                case WTAP_ENCAP_ATM_SNIFFER :
                        dissect_atm(pd, fd, tree);
                        break;
+               case WTAP_ENCAP_ASCEND :
+                       dissect_ascend(pd, fd, tree);
+                       break;
        }
 }
 
index 09f8b09b4d0d0d2d38e0265bf1235b98a3057e4f..4f98949098d54870265ef7ea8d2035ccea283433 100644 (file)
@@ -1,7 +1,7 @@
 # Generated automatically from Makefile.in by configure.
-# Makefile.in generated automatically by automake 1.3 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,7 +11,6 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-
 SHELL = /bin/sh
 
 srcdir = .
@@ -32,7 +31,7 @@ mandir = ${prefix}/man
 includedir = ${prefix}/include
 oldincludedir = /usr/include
 
-DISTDIR =
+DESTDIR =
 
 pkgdatadir = $(datadir)/libwtap.a
 pkglibdir = $(libdir)/libwtap.a
@@ -48,7 +47,8 @@ AUTOHEADER = autoheader
 INSTALL = /usr/bin/install -c
 INSTALL_PROGRAM = ${INSTALL}
 INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_SCRIPT = ${INSTALL_PROGRAM}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_FLAG =
 transform = s,x,x,
 
 NORMAL_INSTALL = :
@@ -57,27 +57,65 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+AMTAR = gtar
+AMTARFLAGS = o
 CC = gcc
-GTK_CFLAGS = -I/usr/lib/glib/include -I/usr/X11R6/include
-GTK_CONFIG = /usr/bin/gtk-config
-GTK_LIBS = -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -lglib -lXext -lX11 -lm
-LIBWIRETAP_A = 
+CPP = gcc -E
+FLEX_PATH = 
+GLIB_CFLAGS = -I/usr/lib/glib/include
+GLIB_CONFIG = /usr/bin/glib-config
+GLIB_LIBS = -L/usr/lib -lglib
+GTK_CFLAGS = 
+GTK_CONFIG = 
+GTK_LIBS = 
+LEX = /usr/bin/flex
 MAKEINFO = makeinfo
 PACKAGE = libwtap.a
 RANLIB = ranlib
 VERSION = 0.0.0
+YACC = bison -y
+
+# Makefile.am
+# Automake file for Wiretap
+#
+# $Id: Makefile,v 1.12 1999/09/11 04:50:43 gerald Exp $
+#
+# Ethereal - Network traffic analyzer
+# By Gerald Combs <gerald@zing.org>
+# Copyright 1998 Gerald Combs
+#
+# 
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+
+noinst_LIBRARIES = libwiretap.a
 
-noinst_LIBRARIES = 
+#EXTRA_LIBRARIES = libwiretap.a
 
-EXTRA_LIBRARIES = libwiretap.a
+CLEANFILES = \
+       libwiretap.a            \
+       *~
 
-CLEANFILES = libwiretap.a
 
 libwiretap_a_SOURCES = \
+       ascend-grammar.y        \
+       ascend-scanner.l        \
+       ascend.c                \
+       ascend.h                \
        buffer.c                \
        buffer.h                \
-       config.h                \
-       debug.h                 \
        file.c                  \
        iptrace.c               \
        iptrace.h               \
@@ -85,12 +123,27 @@ libwiretap_a_SOURCES = \
        lanalyzer.h             \
        libpcap.c               \
        libpcap.h               \
+       netmon.c                \
+       netmon.h                \
+       netxray.c               \
+       netxray.h               \
        ngsniffer.c             \
        ngsniffer.h             \
+       radcom.c                \
+       radcom.h                \
        snoop.c                 \
        snoop.h                 \
        wtap.c                  \
        wtap.h
+
+
+EXTRA_DIST = \
+       config.h.win32          \
+       Makefile.nmake
+
+
+# Any POSIX-compatible YACC should honor the -p flag
+YFLAGS = -d -p ascend
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
 CONFIG_HEADER = config.h
@@ -101,59 +154,76 @@ LIBRARIES =  $(noinst_LIBRARIES)
 DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I.
 CPPFLAGS = 
 LDFLAGS = 
-LIBS =  -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -lglib -lXext -lX11 -lm
+LIBS =  -L/usr/lib -lglib
 libwiretap_a_LIBADD = 
-libwiretap_a_OBJECTS =  buffer.o file.o iptrace.o lanalyzer.o libpcap.o \
-ngsniffer.o snoop.o wtap.o
+am_libwiretap_a_OBJECTS =  ascend-grammar.o ascend-scanner.o ascend.o \
+buffer.o file.o iptrace.o lanalyzer.o libpcap.o netmon.o netxray.o \
+ngsniffer.o radcom.o snoop.o wtap.o
+libwiretap_a_OBJECTS =  $(am_libwiretap_a_OBJECTS)
 AR = ar
-CFLAGS = -Wall -g -O2 -I/usr/lib/glib/include -I/usr/X11R6/include
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
-LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON =  README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
-Makefile.in NEWS acconfig.h aclocal.m4 config.h.in configure \
-configure.in stamp-h.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP = --best
-DEP_FILES =  .deps/buffer.P .deps/file.P .deps/iptrace.P \
-.deps/lanalyzer.P .deps/libpcap.P .deps/ngsniffer.P .deps/snoop.P \
-.deps/wtap.P
+LEX_OUTPUT_ROOT = lex.yy
+LEXLIB = -lfl
+CFLAGS = -Wall -g -O2 -I/usr/lib/glib/include
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES =  $(libwiretap_a_SOURCES)
+DIST_COMMON =  README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
+Makefile.am Makefile.in NEWS acconfig.h acinclude.m4 aclocal.m4 \
+ascend-grammar.c ascend-grammar.h ascend-scanner.c config.h.in \
+configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP_ENV = --best
+DEP_FILES =  .deps/ascend-grammar.P .deps/ascend-scanner.P \
+.deps/ascend.P .deps/buffer.P .deps/file.P .deps/iptrace.P \
+.deps/lanalyzer.P .deps/libpcap.P .deps/netmon.P .deps/netxray.P \
+.deps/ngsniffer.P .deps/radcom.P .deps/snoop.P .deps/wtap.P
 SOURCES = $(libwiretap_a_SOURCES)
-OBJECTS = $(libwiretap_a_OBJECTS)
-
-all: Makefile $(LIBRARIES) config.h
+OBJECTS = $(am_libwiretap_a_OBJECTS)
 
+all: all-redirect
 .SUFFIXES:
-.SUFFIXES: .S .c .o .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+.SUFFIXES: .c .l .o .y
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/$(altdir)configure.in $(ACLOCAL_M4) 
        cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile
 
 Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
        cd $(top_builddir) \
          && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
-$(ACLOCAL_M4):  configure.in 
+$(ACLOCAL_M4):  configure.in  acinclude.m4
        cd $(srcdir) && $(ACLOCAL)
 
-config.status: $(srcdir)/configure
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        $(SHELL) ./config.status --recheck
-$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
-       cd $(srcdir) && $(AUTOCONF)
+$(srcdir)/configure: $(srcdir)/$(altdir)configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+       cd $(srcdir) && $(AUTOCONF) 
 
 config.h: stamp-h
-       @:
+       @if test ! -f $@; then \
+               rm -f stamp-h; \
+               $(MAKE) stamp-h; \
+       else :; fi
 stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
+       @rm -f stamp-h stamp-hT
+       @echo timestamp > stamp-hT 2> /dev/null
        cd $(top_builddir) \
          && CONFIG_FILES= CONFIG_HEADERS=config.h \
             $(SHELL) ./config.status
-       @echo timestamp > stamp-h
-$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
-$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
-       cd $(top_srcdir) && $(AUTOHEADER)
-       @echo timestamp > $(srcdir)/stamp-h.in
+       @mv stamp-hT stamp-h
+$(srcdir)/config.h.in: $(srcdir)/./stamp-h.in
+       @if test ! -f $@; then \
+               rm -f $(srcdir)/./stamp-h.in; \
+               $(MAKE) $(srcdir)/./stamp-h.in; \
+       else :; fi
+$(srcdir)/./stamp-h.in: $(top_srcdir)/$(altdir)configure.in $(ACLOCAL_M4) acconfig.h
+       @rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT
+       @echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null
+       cd $(top_srcdir) && $(AUTOHEADER) 
+       @mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in
 
 mostlyclean-hdr:
 
@@ -173,12 +243,6 @@ distclean-noinstLIBRARIES:
 
 maintainer-clean-noinstLIBRARIES:
 
-.s.o:
-       $(COMPILE) -c $<
-
-.S.o:
-       $(COMPILE) -c $<
-
 mostlyclean-compile:
        -rm -f *.o core *.core
 
@@ -188,17 +252,44 @@ distclean-compile:
        -rm -f *.tab.c
 
 maintainer-clean-compile:
+ascend-grammar.o:
+ascend-scanner.o:
+ascend.o:
+buffer.o:
+file.o:
+iptrace.o:
+lanalyzer.o:
+libpcap.o:
+netmon.o:
+netxray.o:
+ngsniffer.o:
+radcom.o:
+snoop.o:
+wtap.o:
 
 libwiretap.a: $(libwiretap_a_OBJECTS) $(libwiretap_a_DEPENDENCIES)
        -rm -f libwiretap.a
        $(AR) cru libwiretap.a $(libwiretap_a_OBJECTS) $(libwiretap_a_LIBADD)
        $(RANLIB) libwiretap.a
+.l.c:
+       $(LEX) $(AM_LFLAGS) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@
+.y.c:
+       $(YACC) $(AM_YFLAGS) $(YFLAGS) $< && mv y.tab.c $*.c
+       if test -f y.tab.h; then \
+       if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \
+       else :; fi
+ascend-grammar.h: ascend-grammar.c
+
 
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS)'; \
+       unique=`for i in $$list; do echo $$i; done | \
+         awk '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
        here=`pwd` && cd $(srcdir) \
-         && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+         && mkid -f$$here/ID $$unique $(LISP)
 
 TAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
        tags=; \
@@ -227,29 +318,31 @@ top_distdir = $(distdir)
 # tarfile.
 distcheck: dist
        -rm -rf $(distdir)
-       GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+       GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
        mkdir $(distdir)/=build
        mkdir $(distdir)/=inst
        dc_install_base=`cd $(distdir)/=inst && pwd`; \
        cd $(distdir)/=build \
          && ../configure --srcdir=.. --prefix=$$dc_install_base \
-         && $(MAKE) \
-         && $(MAKE) dvi \
-         && $(MAKE) check \
-         && $(MAKE) install \
-         && $(MAKE) installcheck \
-         && $(MAKE) dist
+         && $(MAKE) $(AM_MAKEFLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) dvi \
+         && $(MAKE) $(AM_MAKEFLAGS) check \
+         && $(MAKE) $(AM_MAKEFLAGS) install \
+         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+         && $(MAKE) $(AM_MAKEFLAGS) dist
        -rm -rf $(distdir)
-       @echo "========================"; \
-       echo "$(distdir).tar.gz is ready for distribution"; \
-       echo "========================"
+       @banner="$(distdir).tar.gz is ready for distribution"; \
+       dashes=`echo "$$banner" | sed s/./=/g`; \
+       echo "$$dashes"; \
+       echo "$$banner"; \
+       echo "$$dashes"
 dist: distdir
        -chmod -R a+r $(distdir)
-       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       $(AMTAR) ch$(AMTARFLAGS)f - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
        -rm -rf $(distdir)
 dist-all: distdir
        -chmod -R a+r $(distdir)
-       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       $(AMTAR) ch$(AMTARFLAGS)f - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
        -rm -rf $(distdir)
 distdir: $(DISTFILES)
        -rm -rf $(distdir)
@@ -262,9 +355,13 @@ distdir: $(DISTFILES)
          && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
-         test -f $(distdir)/$$file \
-         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-         || cp -p $$d/$$file $(distdir)/$$file; \
+         if test -d $$d/$$file; then \
+           cp -pr $$d/$$file $(distdir)/$$file; \
+         else \
+           test -f $(distdir)/$$file \
+           || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+           || cp -p $$d/$$file $(distdir)/$$file || :; \
+         fi; \
        done
 
 DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
@@ -276,72 +373,95 @@ mostlyclean-depend:
 clean-depend:
 
 distclean-depend:
+       -rm -rf .deps
 
 maintainer-clean-depend:
-       -rm -rf .deps
 
 %.o: %.c
        @echo '$(COMPILE) -c $<'; \
-       $(COMPILE) -Wp,-MD,.deps/$(*F).P -c $<
+       $(COMPILE) -Wp,-MD,.deps/$(*D)/$(*F).pp -c $<
+       @-cp .deps/$(*D)/$(*F).pp .deps/$(*D)/$(*F).P; \
+       tr ' ' '\012' < .deps/$(*D)/$(*F).pp \
+         | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+           >> .deps/$(*D)/$(*F).P; \
+       rm .deps/$(*D)/$(*F).pp
 
 %.lo: %.c
        @echo '$(LTCOMPILE) -c $<'; \
-       $(LTCOMPILE) -Wp,-MD,.deps/$(*F).p -c $<
-       @-sed -e 's/^\([^:]*\)\.o:/\1.lo \1.o:/' \
-         < .deps/$(*F).p > .deps/$(*F).P
-       @-rm -f .deps/$(*F).p
-info:
-dvi:
-check: all
-       $(MAKE)
-installcheck:
-install-exec: 
-       @$(NORMAL_INSTALL)
-
-install-data: 
-       @$(NORMAL_INSTALL)
-
-install: install-exec install-data all
-       @:
-
-uninstall: 
-
+       $(LTCOMPILE) -Wp,-MD,.deps/$(*D)/$(*F).pp -c $<
+       @-sed -e 's/^\([^:]*\)\.o[      ]*:/\1.lo \1.o :/' \
+         < .deps/$(*D)/$(*F).pp > .deps/$(*D)/$(*F).P; \
+       tr ' ' '\012' < .deps/$(*D)/$(*F).pp \
+         | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+           >> .deps/$(*D)/$(*F).P; \
+       rm -f .deps/$(*D)/$(*F).pp
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+all-recursive-am: config.h
+       $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES) config.h
+all-redirect: all-am
 install-strip:
-       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
 installdirs:
 
 
 mostlyclean-generic:
-       -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
 clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
-       -rm -f Makefile $(DISTCLEANFILES)
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
        -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
-       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-mostlyclean:  mostlyclean-hdr mostlyclean-noinstLIBRARIES \
+       -test -z "ascend-scanner.cascend-grammar.hascend-grammar.c" || rm -f ascend-scanner.c ascend-grammar.h ascend-grammar.c
+mostlyclean-am:  mostlyclean-hdr mostlyclean-noinstLIBRARIES \
                mostlyclean-compile mostlyclean-tags mostlyclean-depend \
                mostlyclean-generic
 
-clean:  clean-hdr clean-noinstLIBRARIES clean-compile clean-tags \
-               clean-depend clean-generic mostlyclean
+mostlyclean: mostlyclean-am
+
+clean-am:  clean-hdr clean-noinstLIBRARIES clean-compile clean-tags \
+               clean-depend clean-generic mostlyclean-am
+
+clean: clean-am
 
-distclean:  distclean-hdr distclean-noinstLIBRARIES distclean-compile \
-               distclean-tags distclean-depend distclean-generic clean
+distclean-am:  distclean-hdr distclean-noinstLIBRARIES distclean-compile \
+               distclean-tags distclean-depend distclean-generic \
+               clean-am
+
+distclean: distclean-am
        -rm -f config.status
 
-maintainer-clean:  maintainer-clean-hdr maintainer-clean-noinstLIBRARIES \
+maintainer-clean-am:  maintainer-clean-hdr \
+               maintainer-clean-noinstLIBRARIES \
                maintainer-clean-compile maintainer-clean-tags \
                maintainer-clean-depend maintainer-clean-generic \
-               distclean
+               distclean-am
        @echo "This command is intended for maintainers to use;"
        @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
        -rm -f config.status
 
 .PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
@@ -350,12 +470,17 @@ clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
 mostlyclean-compile distclean-compile clean-compile \
 maintainer-clean-compile tags mostlyclean-tags distclean-tags \
 clean-tags maintainer-clean-tags distdir mostlyclean-depend \
-distclean-depend clean-depend maintainer-clean-depend info dvi \
-installcheck install-exec install-data install uninstall all \
+distclean-depend clean-depend maintainer-clean-depend info-am info \
+dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all install-strip \
 installdirs mostlyclean-generic distclean-generic clean-generic \
 maintainer-clean-generic clean mostlyclean distclean maintainer-clean
 
 
+ascend-scanner.c : ascend-scanner.l
+       $(LEX) -Pascend -t $(srcdir)/ascend-scanner.l > ascend-scanner.c
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index ad1bf805de52e67aed1d06b4c4b5d1aae1e07f82..048120cabd980cfceaa93d175ff25a3d7674a995 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile.am
 # Automake file for Wiretap
 #
-# $Id: Makefile.am,v 1.19 1999/09/09 03:54:38 guy Exp $
+# $Id: Makefile.am,v 1.20 1999/09/11 04:50:43 gerald Exp $
 #
 # Ethereal - Network traffic analyzer
 # By Gerald Combs <gerald@zing.org>
@@ -31,6 +31,10 @@ CLEANFILES = \
        *~
 
 libwiretap_a_SOURCES = \
+       ascend-grammar.y        \
+       ascend-scanner.l        \
+       ascend.c                \
+       ascend.h                \
        buffer.c                \
        buffer.h                \
        file.c                  \
@@ -56,3 +60,9 @@ libwiretap_a_SOURCES = \
 EXTRA_DIST = \
        config.h.win32          \
        Makefile.nmake
+
+# Any POSIX-compatible YACC should honor the -p flag
+YFLAGS=-d -p ascend
+
+ascend-scanner.c : ascend-scanner.l
+       $(LEX) -Pascend -t $(srcdir)/ascend-scanner.l > ascend-scanner.c
index 3d05113945457306847268cfadd297c66d34bbfd..e640477eeefbdf5e9b2882e070fd7c0e02c7299a 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: configure.in,v 1.12 1999/07/13 02:53:23 gram Exp $
+# $Id: configure.in,v 1.13 1999/09/11 04:50:44 gerald Exp $
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(wtap.c)
 AM_INIT_AUTOMAKE(libwtap.a, 0.0.0)
@@ -7,7 +7,12 @@ AM_CONFIG_HEADER(config.h)
 dnl Checks for programs.
 AC_PROG_CC
 AC_PROG_CPP
+AC_PROG_YACC
+AM_PROG_LEX
 AC_PROG_RANLIB
+AC_PATH_PROG(LEX, flex)
+
+AC_SUBST(FLEX_PATH)
 
 # If we're running gcc, add '-Wall' to CFLAGS.
 AC_MSG_CHECKING(to see if we can add '-Wall' to CFLAGS)
index 1a193a6602229a06114c422b19a08bcb2e4490f0..1dacc4df8fecaf16938af2d367f4dd4a8f130597 100644 (file)
@@ -1,6 +1,6 @@
 /* file.c
  *
- * $Id: file.c,v 1.19 1999/08/28 01:19:43 guy Exp $
+ * $Id: file.c,v 1.20 1999/09/11 04:50:44 gerald Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@verdict.uthscsa.edu>
@@ -33,6 +33,7 @@
 #include "lanalyzer.h"
 #include "ngsniffer.h"
 #include "radcom.h"
+#include "ascend.h"
 #include "libpcap.h"
 #include "snoop.h"
 #include "iptrace.h"
@@ -64,9 +65,16 @@ static int (*open_routines[])(wtap *, int *) = {
        iptrace_open,
        netmon_open,
        netxray_open,
-       radcom_open
+       radcom_open,
+       ascend_open
 };
 
+int wtap_def_seek_read (FILE *fh, int seek_off, guint8 *pd, int len)
+{
+       fseek(fh, seek_off, SEEK_SET);
+       return fread(pd, sizeof(guint8), len, fh);
+}
+
 #define        N_FILE_TYPES    (sizeof open_routines / sizeof open_routines[0])
 
 /* Opens a file and prepares a wtap struct */
index cdc48c63ed39c92b02c94d04df6d11f3e514d5a5..275c5a12716f9a7a8e1081e7c9cf5c55751abc8c 100644 (file)
@@ -1,6 +1,6 @@
 /* wtap.c
  *
- * $Id: wtap.c,v 1.17 1999/08/22 03:50:31 guy Exp $
+ * $Id: wtap.c,v 1.18 1999/09/11 04:50:44 gerald Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@verdict.uthscsa.edu>
@@ -82,6 +82,9 @@ const char *wtap_file_type_string(wtap *wth)
                case WTAP_FILE_RADCOM:
                        return "RADCOM WAN/LAN analyzer";
 
+               case WTAP_FILE_ASCEND:
+                       return "Lucent/Ascend access server trace";
+
                default:
                        g_error("Unknown capture file type %d", wth->file_type);
                        return NULL;
@@ -156,6 +159,10 @@ void wtap_close(wtap *wth)
                        g_free(wth->capture.netxray);
                        break;
 
+               case WTAP_FILE_ASCEND:
+                       g_free(wth->capture.ascend);
+                       break;
+
                /* default:
                         nothing */
        }
@@ -179,3 +186,14 @@ int wtap_loop(wtap *wth, int count, wtap_handler callback, u_char* user,
        else
                return TRUE;    /* success */
 }
+
+int wtap_seek_read (int encaps, FILE *fh, int seek_off, guint8 *pd, int len) {
+       switch (encaps) {
+               case WTAP_ENCAP_ASCEND:
+                       ascend_seek_read(fh, seek_off, pd, len);
+                       break;
+               default:
+                       wtap_def_seek_read(fh, seek_off, pd, len);
+                       break;
+       }
+}
index 4b1eaa733215c5e2c2b95c562a6e9447ce3aabeb..10bb64db5a2d6656117ea138061daabd34b41624 100644 (file)
@@ -1,6 +1,6 @@
 /* wtap.h
  *
- * $Id: wtap.h,v 1.35 1999/08/28 01:19:45 guy Exp $
+ * $Id: wtap.h,v 1.36 1999/09/11 04:50:44 gerald Exp $
  *
  * Wiretap Library
  * Copyright (c) 1998 by Gilbert Ramirez <gram@verdict.uthscsa.edu>
 #define WTAP_ENCAP_LAPB                                11
 #define WTAP_ENCAP_ATM_SNIFFER                 12
 #define WTAP_ENCAP_NULL                                13
+#define WTAP_ENCAP_ASCEND                              14
 
 /* last WTAP_ENCAP_ value + 1 */
-#define WTAP_NUM_ENCAP_TYPES                   13
+#define WTAP_NUM_ENCAP_TYPES                   15
 
 /* File types that can be read by wiretap.
    We may eventually support writing some or all of these file types,
 #define WTAP_FILE_NETXRAY_1_1                  11
 #define WTAP_FILE_NETXRAY_2_001                        12
 #define WTAP_FILE_RADCOM                       13
+#define WTAP_FILE_ASCEND                       14
 
 /*
  * Maximum packet size we'll support.
@@ -163,6 +165,12 @@ typedef struct {
        int     version_major;
 } netxray_t;
 
+typedef struct {
+       time_t inittime;
+       int adjusted;
+       int seek_add;
+} ascend_t;
+
 /* Packet "pseudo-header" information for X.25 capture files. */
 struct x25_phdr {
        guint8  flags; /* ENCAP_LAPB : 1st bit means From DCE */
@@ -270,6 +278,7 @@ typedef struct wtap {
                radcom_t                *radcom;
                netmon_t                *netmon;
                netxray_t               *netxray;
+               ascend_t                *ascend;
        } capture;
 
        subtype_read_func       subtype_read;
@@ -311,6 +320,8 @@ int wtap_file_type(wtap *wth);
 const char *wtap_file_type_string(wtap *wth);
 const char *wtap_strerror(int err);
 void wtap_close(wtap *wth);
+int wtap_seek_read (int encaps, FILE *fh, int seek_off, guint8 *pd, int len);
+int wtap_def_seek_read (FILE *fh, int seek_off, guint8 *pd, int len);
 
 wtap_dumper* wtap_dump_open(const char *filename, int filetype, int encap,
        int snaplen, int *err);