diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/Makefile.am b/MAC/Tools/ethereal-0.9.8-epaplugin/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..f4b206c17c0502517fb5fb9ceba48eedc098e68d
--- /dev/null
+++ b/MAC/Tools/ethereal-0.9.8-epaplugin/Makefile.am
@@ -0,0 +1,1231 @@
+# Makefile.am
+# Automake file for Ethereal
+#
+# $Id$
+#
+# Ethereal - Network traffic analyzer
+# By Gerald Combs <gerald@ethereal.com>
+# 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.
+
+ACLOCAL_AMFLAGS = `./aclocal-flags`
+
+#
+# This is a hideous hack.
+#
+# Automake needs to know into which sections to install various man
+# pages; if the names in "man_MANS" have suffixes, it can infer the
+# sections from the name (e.g., "hello.1" goes in section 1), but if
+# they don't have suffixes, it can't tell what sections to put them, and
+# it just gives up and doesn't create any rules to install them (and it
+# gives up silently, so you have no clue what's wrong).
+#
+# Therefore, we can't just set "man_MANS" to a list of variables to be
+# filled in by the configure script, as those variables don't have man
+# page section numbers.
+#
+# It turns out (although this is not documented anywhere I could find
+# in the automake Info file) that if you define, instead, variables with
+# names like "man{section}_MANS", automake will infer that the names in
+# those variables are the names of man pages to be installed in section
+# "{section}".
+#
+# So, as all our man pages go in section 1, we define "man1_MANS" to
+# contain all the man page.
+#
+# *However*, if "man_MANS" isn't defined at all, automake concludes that
+# there are no man pages, the fact that, say, "man1_MANS" is defined
+# nonwithstanding!  (I suspect this is the result of a mistaken attempt
+# to get people to fix their automake files not to use "MANS"; if "MANS"
+# is defined, it prints a warning and sets the exit status, but doesn't
+# exit, and then it just gives up if "man_MANS" isn't defined,
+# presumably on the theory that the only reason it wouldn't be defined
+# is because the automake file uses the obsolete "MANS" variable instead
+# of the shiny new "man_MANS" variable.)
+#
+# So we also define "man_MANS", but don't define it as anything;
+# automake will arrange that the Makefile define it as the union of all
+# the "man{section}_MANS" variables.
+#
+bin_PROGRAMS = @ethereal_bin@ @editcap_bin@ @mergecap_bin@ @tethereal_bin@ @dftest_bin@ @randpkt_bin@ @text2pcap_bin@
+bin_SCRIPTS = @idl2eth_bin@
+man1_MANS = @ethereal_man@ @editcap_man@ @mergecap_man@ @tethereal_man@ @text2pcap_man@ @idl2eth_man@
+man_MANS =
+
+EXTRA_PROGRAMS = ethereal ethereal_static tethereal tethereal_static editcap mergecap dftest text2pcap
+EXTRA_SCRIPTS = idl2eth
+
+#
+# Install "manuf" in the directory for Ethereal configuration files.
+#
+sysconf_DATA = manuf
+
+#
+# Install the Diameter DTD and XML files in the "diameter" subdirectory
+# of that directory.
+#
+diameterdir = $(sysconfdir)/diameter
+diameter_DATA = dictionary.dtd dictionary.xml mobileipv4.xml \
+	nasreq.xml sunping.xml
+
+DISSECTOR_SRC = \
+	packet-aarp.c  \
+	packet-afp.c   \
+	packet-afs.c   \
+	packet-aim.c   \
+	packet-ajp13.c		\
+	packet-aodv.c  \
+	packet-aodv6.c \
+	packet-arcnet.c \
+	packet-arp.c   \
+	packet-asap.c  \
+	packet-ascend.c\
+	packet-atalk.c \
+	packet-atm.c   \
+	packet-auto_rp.c   \
+	packet-bacapp.c   \
+	packet-bacnet.c   \
+	packet-beep.c \
+	packet-bgp.c   \
+	packet-bootp.c \
+	packet-bootparams.c \
+	packet-bpdu.c  \
+	packet-bvlc.c \
+	packet-cdp.c   \
+	packet-cgmp.c  \
+	packet-chdlc.c  \
+	packet-clearcase.c  \
+	packet-clip.c  \
+	packet-clnp.c  \
+	packet-cops.c  \
+	packet-cosine.c  \
+	packet-cpha.c  \
+	packet-cups.c  \
+	packet-data.c  \
+	packet-dccp.c \
+	packet-dcerpc.c  \
+	packet-dcerpc-afs4int.c  \
+	packet-dcerpc-bossvr.c  \
+	packet-dcerpc-browser.c  \
+	packet-dcerpc-cds_clerkserver.c  \
+	packet-dcerpc-cds_solicit.c  \
+	packet-dcerpc-conv.c  \
+	packet-dcerpc-cprpc_server.c  \
+	packet-dcerpc-dce122.c \
+	packet-dcerpc-dfs.c \
+	packet-dcerpc-dnsserver.c \
+	packet-dcerpc-dtsprovider.c \
+	packet-dcerpc-dtsstime_req.c \
+	packet-dcerpc-epm.c  \
+	packet-dcerpc-fldb.c  \
+	packet-dcerpc-ftserver.c \
+	packet-dcerpc-krb5rpc.c \
+	packet-dcerpc-lsa.c \
+	packet-dcerpc-lsa-ds.c \
+	packet-dcerpc-mapi.c  \
+	packet-dcerpc-mgmt.c  \
+	packet-dcerpc-ndr.c  \
+	packet-dcerpc-netlogon.c \
+	packet-dcerpc-nspi.c \
+	packet-dcerpc-nt.c \
+	packet-dcerpc-oxid.c  \
+	packet-dcerpc-reg.c \
+	packet-dcerpc-remact.c  \
+	packet-dcerpc-rep_proc.c  \
+	packet-dcerpc-roverride.c  \
+	packet-dcerpc-rpriv.c  \
+	packet-dcerpc-rs_acct.c  \
+	packet-dcerpc-rs_attr.c  \
+	packet-dcerpc-rs_misc.c  \
+	packet-dcerpc-rs_pgo.c  \
+	packet-dcerpc-rs_repadm.c  \
+	packet-dcerpc-rs_replist.c  \
+	packet-dcerpc-rs_unix.c  \
+	packet-dcerpc-rsec_login.c  \
+	packet-dcerpc-samr.c \
+	packet-dcerpc-secidmap.c \
+	packet-dcerpc-spoolss.c \
+	packet-dcerpc-srvsvc.c \
+	packet-dcerpc-tapi.c \
+	packet-dcerpc-tkn4int.c \
+	packet-dcerpc-ubikdisk.c \
+	packet-dcerpc-ubikvote.c \
+	packet-dcerpc-update.c \
+	packet-dcerpc-wkssvc.c \
+	packet-ddtp.c  \
+	packet-dec-bpdu.c \
+	packet-dhcpv6.c \
+	packet-diameter.c \
+	packet-dlsw.c  \
+	packet-dns.c   \
+	packet-dsi.c   \
+	packet-dvmrp.c \
+	packet-eap.c \
+	packet-eapol.c \
+	packet-eigrp.c \
+	packet-esis.c  \
+	packet-eth.c   \
+	packet-ethertype.c   \
+	packet-fc.c \
+	packet-fcels.c \
+	packet-fcip.c \
+	packet-fclctl.c \
+	packet-fcp.c \
+	packet-fcswils.c \
+	packet-fddi.c  \
+	packet-fix.c  \
+	packet-fr.c    \
+	packet-frame.c  \
+	packet-ftp.c   \
+	packet-fw1.c   \
+	packet-giop.c  \
+	packet-gmrp.c \
+	packet-gnutella.c \
+	packet-gre.c   \
+	packet-gssapi.c \
+	packet-gtp.c   \
+	packet-gvrp.c  \
+	packet-h1.c    \
+	packet-h261.c  \
+	packet-hclnfsd.c  \
+	packet-hsrp.c  \
+	packet-http.c  \
+	packet-hyperscsi.c \
+	packet-iapp.c  \
+	packet-ib.c  \
+	packet-icap.c  \
+	packet-icmpv6.c\
+	packet-icp.c   \
+	packet-icq.c   \
+	packet-ieee80211.c \
+	packet-ieee8023.c \
+	packet-igmp.c  \
+	packet-igrp.c  \
+	packet-imap.c   \
+	packet-ip.c    \
+	packet-ipfc.c    \
+	packet-ipp.c   \
+	packet-ipsec.c \
+	packet-ipv6.c  \
+	packet-ipx.c   \
+	packet-irc.c   \
+	packet-isakmp.c\
+	packet-iscsi.c \
+	packet-isdn.c \
+	packet-isis.c  \
+	packet-isis-clv.c \
+	packet-isis-hello.c \
+	packet-isis-lsp.c \
+	packet-isis-snp.c \
+	packet-isl.c   \
+	packet-isup.c  \
+	packet-iua.c   \
+	packet-kerberos.c \
+	packet-klm.c   \
+	packet-l2tp.c  \
+	packet-lapb.c  \
+	packet-lapbether.c \
+	packet-lapd.c  \
+	packet-ldap.c  \
+	packet-ldp.c   \
+	packet-llc.c   \
+	packet-lmi.c   \
+	packet-lmp.c   \
+	packet-lpd.c   \
+	packet-m2pa.c  \
+	packet-m2tp.c  \
+	packet-m2ua.c  \
+	packet-m3ua.c  \
+	packet-mbtcp.c \
+	packet-mip.c  \
+	packet-mmse.c  \
+	packet-mount.c \
+	packet-mpeg1.c  \
+	packet-mpls.c \
+	packet-mrdisc.c \
+	packet-msdp.c  \
+	packet-msnip.c \
+	packet-msproxy.c \
+	packet-mtp2.c \
+	packet-mtp3.c \
+	packet-nbipx.c \
+	packet-nbns.c  \
+	packet-ncp.c   \
+	packet-ncp2222.c   \
+	packet-ndmp.c  \
+	packet-ndps.c  \
+	packet-netbios.c \
+	packet-netflow.c \
+	packet-nfs.c   \
+	packet-nfsacl.c \
+	packet-nfsauth.c \
+	packet-nisplus.c \
+	packet-nlm.c   \
+	packet-nntp.c  \
+	packet-ntlmssp.c  \
+	packet-ntp.c  \
+	packet-null.c  \
+	packet-osi.c   \
+	packet-osi-options.c \
+	packet-ospf.c  \
+	packet-pcnfsd.c \
+	packet-pflog.c \
+	packet-pgm.c   \
+	packet-pim.c   \
+	packet-pop.c   \
+	packet-portmap.c   \
+	packet-ppp.c   \
+	packet-pppoe.c \
+	packet-pptp.c  \
+	packet-prism.c \
+	packet-q2931.c \
+	packet-q931.c  \
+	packet-qllc.c  \
+	packet-quake.c \
+	packet-quake2.c \
+	packet-quake3.c \
+	packet-quakeworld.c \
+	packet-radius.c\
+	packet-ranap.c \
+	packet-raw.c   \
+	packet-rip.c   \
+	packet-ripng.c \
+	packet-rlogin.c \
+	packet-rmi.c \
+	packet-rpc.c   \
+	packet-rpl.c   \
+	packet-rquota.c \
+	packet-rsh.c   \
+	packet-rstat.c \
+	packet-rsvp.c  \
+	packet-rtcp.c  \
+	packet-rtp.c   \
+	packet-rtsp.c  \
+	packet-rwall.c \
+	packet-rx.c  \
+	packet-sadmind.c \
+	packet-sap.c   \
+	packet-sccp.c  \
+	packet-sccpmg.c  \
+	packet-scsi.c  \
+	packet-sctp.c  \
+	packet-sdp.c   \
+	packet-sip.c   \
+	packet-skinny.c   \
+	packet-slimp3.c   \
+	packet-sll.c   \
+	packet-slowprotocols.c \
+	packet-smb.c   \
+	packet-smb-browse.c \
+	packet-smb-common.c \
+	packet-smb-logon.c \
+	packet-smb-mailslot.c \
+	packet-smb-pipe.c \
+	packet-smpp.c \
+	packet-smtp.c \
+	packet-sna.c   \
+	packet-snaeth.c \
+	packet-snmp.c	\
+	packet-socks.c \
+	packet-spnego.c \
+	packet-spray.c \
+	packet-srvloc.c \
+	packet-sscop.c \
+	packet-ssl.c   \
+	packet-stat.c   \
+	packet-stat-notify.c \
+	packet-sua.c   \
+	packet-syslog.c \
+	packet-tacacs.c \
+	packet-tcp.c   \
+	packet-tds.c   \
+	packet-telnet.c\
+	packet-tftp.c  \
+	packet-time.c  \
+	packet-tns.c \
+	packet-tpkt.c  \
+	packet-tr.c    \
+	packet-trmac.c \
+	packet-tsp.c \
+	packet-ucp.c   \
+	packet-udp.c   \
+	packet-v120.c \
+	packet-vines.c \
+	packet-vj.c   \
+	packet-vlan.c \
+	packet-vrrp.c \
+	packet-vtp.c  \
+	packet-wap.c \
+	packet-wccp.c \
+	packet-wcp.c \
+	packet-who.c  \
+	packet-wlancap.c \
+	packet-wsp.c \
+	packet-wtls.c \
+	packet-wtp.c \
+	packet-x11.c   \
+	packet-x25.c   \
+	packet-xdmcp.c \
+	packet-xot.c   \
+	packet-xyplex.c   \
+	packet-yhoo.c  \
+	packet-ypbind.c \
+	packet-yppasswd.c \
+	packet-ypserv.c \
+	packet-ypxfr.c \
+	packet-zebra.c
+
+if HAVE_PLUGINS
+plugin_src = \
+	plugins/docsis/packet-bpkmattr.c \
+	plugins/docsis/packet-bpkmreq.c \
+	plugins/docsis/packet-bpkmrsp.c \
+	plugins/docsis/packet-docsis.c \
+	plugins/docsis/packet-dsaack.c \
+	plugins/docsis/packet-dsareq.c \
+	plugins/docsis/packet-dsarsp.c \
+	plugins/docsis/packet-dscack.c \
+	plugins/docsis/packet-dscreq.c \
+	plugins/docsis/packet-dscrsp.c \
+	plugins/docsis/packet-dsdreq.c \
+	plugins/docsis/packet-dsdrsp.c \
+	plugins/docsis/packet-macmgmt.c \
+	plugins/docsis/packet-map.c \
+	plugins/docsis/packet-regack.c \
+	plugins/docsis/packet-regreq.c \
+	plugins/docsis/packet-regrsp.c \
+	plugins/docsis/packet-rngreq.c \
+	plugins/docsis/packet-rngrsp.c \
+	plugins/docsis/packet-tlv.c \
+	plugins/docsis/packet-uccreq.c \
+	plugins/docsis/packet-uccrsp.c \
+	plugins/docsis/packet-ucd.c \
+	plugins/giop/packet-cosnaming.c \
+	plugins/giop/packet-coseventcomm.c \
+	plugins/gryphon/packet-gryphon.c \
+	plugins/mgcp/packet-mgcp.c \
+	plugins/pcli/packet-pcli.c \
+	plugins/epa/packet-epa.c
+
+plugin_static_ldadd = \
+	plugins/docsis/packet-bpkmattr-static.o \
+	plugins/docsis/packet-bpkmreq-static.o \
+	plugins/docsis/packet-bpkmrsp-static.o \
+	plugins/docsis/packet-docsis-static.o \
+	plugins/docsis/packet-dsaack-static.o \
+	plugins/docsis/packet-dsareq-static.o \
+	plugins/docsis/packet-dsarsp-static.o \
+	plugins/docsis/packet-dscack-static.o \
+	plugins/docsis/packet-dscreq-static.o \
+	plugins/docsis/packet-dscrsp-static.o \
+	plugins/docsis/packet-dsdreq-static.o \
+	plugins/docsis/packet-dsdrsp-static.o \
+	plugins/docsis/packet-macmgmt-static.o \
+	plugins/docsis/packet-map-static.o \
+	plugins/docsis/packet-regack-static.o \
+	plugins/docsis/packet-regreq-static.o \
+	plugins/docsis/packet-regrsp-static.o \
+	plugins/docsis/packet-rngreq-static.o \
+	plugins/docsis/packet-rngrsp-static.o \
+	plugins/docsis/packet-tlv-static.o \
+	plugins/docsis/packet-uccreq-static.o \
+	plugins/docsis/packet-uccrsp-static.o \
+	plugins/docsis/packet-ucd-static.o \
+	plugins/giop/packet-cosnaming-static.o \
+	plugins/giop/packet-coseventcomm-static.o \
+	plugins/gryphon/packet-gryphon-static.o \
+	plugins/mgcp/packet-mgcp-static.o \
+	plugins/pcli/packet-pcli-static.o \
+	plugins/epa/packet-epa-static.o
+
+plugin_libs = \
+	plugins/docsis/docsis.la \
+	plugins/giop/cosnaming.la \
+	plugins/giop/coseventcomm.la \
+	plugins/gryphon/gryphon.la \
+	plugins/mgcp/mgcp.la \
+	plugins/pcli/pcli.la \
+	plugins/epa/epa.la
+
+plugin_ldadd = \
+	"-dlopen" self	\
+	"-dlopen" plugins/docsis/docsis.la \
+	"-dlopen" plugins/giop/cosnaming.la \
+	"-dlopen" plugins/giop/coseventcomm.la \
+	"-dlopen" plugins/gryphon/gryphon.la \
+	"-dlopen" plugins/mgcp/mgcp.la \
+	"-dlopen" plugins/pcli/pcli.la \
+	"-dlopen" plugins/epa/epa.la
+else
+plugin_src =
+
+plugin_static_ldadd =
+
+plugin_libs =
+
+plugin_ldadd =
+endif
+
+noinst_HEADERS = \
+	packet-afp.h   \
+	packet-afs-defs.h \
+	packet-afs-macros.h \
+	packet-afs-register-info.h \
+	packet-afs.h   \
+	packet-arp.h   \
+	packet-atalk.h \
+	packet-atm.h   \
+	packet-bgp.h   \
+	packet-bootparams.h \
+	packet-chdlc.h \
+	packet-clearcase.h  \
+	packet-clip.h  \
+	packet-data.h \
+	packet-dccp.h \
+	packet-dcerpc-browser.h \
+	packet-dcerpc-dce122.h \
+	packet-dcerpc-dfs.h \
+	packet-dcerpc-dnsserver.h \
+	packet-dcerpc-lsa.h \
+	packet-dcerpc-mapi.h \
+	packet-dcerpc-netlogon.h \
+	packet-dcerpc-nt.h \
+	packet-dcerpc-reg.h \
+	packet-dcerpc-samr.h \
+	packet-dcerpc-spoolss.h \
+	packet-dcerpc-srvsvc.h \
+	packet-dcerpc-tapi.h \
+	packet-dcerpc-wkssvc.h \
+	packet-dcerpc.h \
+	packet-ddtp.h  \
+	packet-diameter-defs.h \
+	packet-dns.h   \
+	packet-dvmrp.h \
+	packet-esis.h  \
+	packet-eth.h   \
+	packet-fc.h \
+	packet-fcbls.h \
+	packet-fcels.h \
+	packet-fclctl.h \
+	packet-fcp.h \
+	packet-fcswils.h \
+	packet-fddi.h  \
+	packet-frame.h  \
+	packet-giop.h  \
+	packet-gnutella.h \
+	packet-gssapi.h \
+	packet-gtp.h    \
+	packet-hclnfsd.h  \
+	packet-http.h  \
+	packet-ieee80211.h \
+	packet-ieee8023.h \
+	packet-igmp.h  \
+	packet-ip.h    \
+	packet-ipsec.h \
+	packet-ipv6.h  \
+	packet-ipx.h   \
+	packet-isis-clv.h \
+	packet-isis-hello.h \
+	packet-isis-lsp.h \
+	packet-isis-snp.h \
+	packet-isis.h  \
+	packet-isl.h   \
+	packet-kerberos.h \
+	packet-klm.h   \
+	packet-ldap.h  \
+	packet-llc.h   \
+	packet-mount.h \
+	packet-mrdisc.h \
+	packet-msnip.h \
+	packet-mtp3.h  \
+	packet-ncp-int.h \
+	packet-ndps.h    \
+	packet-netbios.h \
+	packet-nfs.h   \
+	packet-nisplus.h \
+	packet-nlm.h   \
+	packet-ntp.h  \
+	packet-null.h  \
+	packet-osi-options.h \
+	packet-osi.h   \
+	packet-pcnfsd.h \
+	packet-pflog.h \
+	packet-pim.h   \
+	packet-portmap.h   \
+	packet-ppp.h   \
+	packet-prism.h \
+	packet-q931.h  \
+	packet-raw.h   \
+	packet-ripng.h \
+	packet-rmi.h   \
+	packet-rpc.h   \
+	packet-rquota.h \
+	packet-rsvp.h  \
+	packet-rtcp.h  \
+	packet-rtp.h   \
+	packet-rwall.h  \
+	packet-rx.h  \
+	packet-scsi.h  \
+	packet-sll.h   \
+	packet-smb-browse.h \
+	packet-smb-common.h \
+	packet-smb-logon.h \
+	packet-smb-mailslot.h \
+	packet-smb-pipe.h \
+	packet-sna.h   \
+	packet-snmp.h	\
+	packet-spray.h \
+	packet-stat-notify.h \
+	packet-stat.h   \
+	packet-tcp.h   \
+	packet-tns.h \
+	packet-tpkt.h  \
+	packet-tr.h    \
+	packet-udp.h   \
+	packet-vines.h \
+	packet-vlan.h \
+	packet-wap.h \
+	packet-wccp.h \
+	packet-wlancap.h \
+	packet-wsp.h \
+	packet-wtls.h \
+	packet-wtp.h \
+	packet-x11-keysym.h	\
+	packet-yhoo.h  \
+	packet-ypbind.h \
+	packet-yppasswd.h \
+	packet-ypserv.h \
+	packet-ypxfr.h
+
+ETHEREAL_COMMON_SRC = \
+	afn.c          \
+	afn.h          \
+	aftypes.h      \
+	alignment.h    \
+	arcnet_pids.h  \
+	asn1.c         \
+	asn1.h         \
+	bridged_pids.h \
+	capture_stop_conditions.c   \
+	capture_stop_conditions.h   \
+	cfile.c         \
+	cfile.h         \
+	color.h        \
+	column.c       \
+	column.h       \
+	conditions.c   \
+	conditions.h   \
+	crypt-md4.c    \
+	crypt-md4.h    \
+	crypt-rc4.c    \
+	crypt-rc4.h    \
+	etypes.h       \
+	file.h         \
+	follow.c       \
+	follow.h       \
+	format-oid.h   \
+	greproto.h     \
+	in_cksum.c     \
+	in_cksum.h     \
+	ipproto.c      \
+	ipproto.h      \
+	llcsaps.h      \
+	nlpid.h        \
+	oui.h          \
+	pcap-util.c    \
+	pcap-util.h    \
+	ppptypes.h     \
+	prefs-int.h    \
+	prefs.c        \
+	prefs.h        \
+	print.c        \
+	print.h        \
+	ps.c           \
+	ps.h           \
+	ptvcursor.c	\
+	ptvcursor.h	\
+	reassemble.c   \
+	reassemble.h   \
+	register.h     \
+	ringbuffer.c   \
+	ringbuffer.h   \
+	rpc_defrag.h   \
+	smb.h          \
+	tap.c		\
+	tap.h		\
+	util.c         \
+	util.h         \
+	x11-declarations.h \
+	x11-register-info.h \
+	x264_prt_id.h  \
+	xdlc.c         \
+	xdlc.h         \
+	xmlstub.c      \
+	xmlstub.h
+
+BUILT_SOURCES = \
+	x11-declarations.h \
+	x11-register-info.h
+
+ethereal_SOURCES = \
+	$(DISSECTOR_SRC) \
+	$(ETHEREAL_COMMON_SRC) \
+	register.c     \
+	capture.c      \
+	capture.h      \
+	file.c         \
+	filters.c      \
+	filters.h      \
+	globals.h      \
+	menu.h         \
+	progress_dlg.h \
+	proto_hier_stats.h	\
+	proto_hier_stats.c	\
+	simple_dialog.h \
+	statusbar.h    \
+	summary.c      \
+	summary.h      \
+	ui_util.h
+
+ethereal_static_SOURCES = \
+	$(DISSECTOR_SRC) \
+	$(ETHEREAL_COMMON_SRC) \
+	register-static.c     \
+	capture.c      \
+	capture.h      \
+	file.c         \
+	filters.c      \
+	filters.h      \
+	globals.h      \
+	menu.h         \
+	progress_dlg.h \
+	proto_hier_stats.h	\
+	proto_hier_stats.c	\
+	simple_dialog.h \
+	statusbar.h    \
+	summary.c      \
+	summary.h      \
+	ui_util.h
+
+EXTRA_ethereal_SOURCES = \
+	snprintf.c	\
+	snprintf.h	\
+	snprintf-imp.h	\
+	strerror.c	\
+	strerror.h	\
+	strcasecmp.c	\
+	strncasecmp.c	\
+	mkstemp.c	\
+	mkstemp.h	\
+	strptime.c	\
+	strptime.h
+
+# Optional objects that I know how to build. These will be
+# linked into the ethereal executable.
+# They will also be linked into the tethereal executable; if this
+# list ever grows to include something that can't be linked with
+# tethereal, or if tethereal needs something that ethereal doesn't,
+# we should probably split this into stuff needed both
+# by ethereal and tethereal and stuff needed only by one or the
+# other.
+ethereal_optional_objects = @SNPRINTF_O@ @STRERROR_O@ \
+	@STRCASECMP_O@ @STRNCASECMP_O@ @MKSTEMP_O@ @STRPTIME_O@
+
+# Additional libs that I know how to build. These will be
+# linked into the ethereal executable.
+ethereal_additional_libs = \
+	wiretap/libwiretap.a	\
+	gtk/libui.a		\
+	epan/libethereal.a	\
+	epan/ftypes/libftypes.a \
+	epan/dfilter/libdfilter.a
+
+# This is the automake dependency variable for the executable
+ethereal_DEPENDENCIES = \
+	$(ethereal_optional_objects)	\
+	$(ethereal_additional_libs)	\
+	$(plugin_libs)
+
+ethereal_static_DEPENDENCIES = \
+	$(ethereal_optional_objects)	\
+	$(ethereal_additional_libs)
+
+# This automake variable adds to the link-line for the executable.
+#
+# Note that Ethereal doesn't have to be linked with @GLIB_LIBS@, as
+# they are included in @GTK_LIBS@, and doesn't have to be linked with
+# @SOCKET_LIBS@ or @NSL_LIBS@, as those should also be included in
+# @GTK_LIBS@ (as those are also needed for X applications, and GTK+
+# applications are X applications).
+ethereal_LDADD = \
+	$(ethereal_optional_objects)	\
+	$(ethereal_additional_libs)	\
+	@SNMP_LIBS@ @SSL_LIBS@ 		\
+	$(plugin_ldadd)			\
+	@PCAP_LIBS@ @GTK_LIBS@
+
+ethereal_static_LDADD = \
+	"-all-static" 			\
+	$(plugin_static_ldadd)		\
+	$(ethereal_optional_objects)	\
+	$(ethereal_additional_libs)	\
+	@SNMP_LIBS@ @SSL_LIBS@		\
+	@PCAP_LIBS@ @GTK_LIBS@
+
+ethereal_LDFLAGS = -export-dynamic
+ethereal_static_LDFLAGS = -Wl,-static
+
+TETHEREAL_TAP_SRC = \
+	tap-dcerpcstat.c	\
+	tap-iostat.c		\
+	tap-protocolinfo.c	\
+	tap-protohierstat.c	\
+	tap-rpcstat.c		\
+	tap-rpcprogs.c
+
+tethereal_SOURCES = \
+	$(DISSECTOR_SRC) \
+	$(ETHEREAL_COMMON_SRC) \
+	$(TETHEREAL_TAP_SRC) \
+	tethereal-tap-register.c \
+	register.c     \
+	tethereal.c
+
+tethereal_static_SOURCES = \
+	$(DISSECTOR_SRC) \
+	$(ETHEREAL_COMMON_SRC) \
+	$(TETHEREAL_TAP_SRC) \
+	tethereal-tap-register.c \
+	register-static.c     \
+	tethereal.c
+
+# Additional libs that I know how to build. These will be
+# linked into the tethereal executable.
+tethereal_additional_libs =		\
+	wiretap/libwiretap.a		\
+	epan/libethereal.a		\
+	epan/ftypes/libftypes.a		\
+	epan/dfilter/libdfilter.a
+
+# This is the automake dependency variable for the executable
+tethereal_DEPENDENCIES = \
+	$(ethereal_optional_objects)	\
+	$(tethereal_additional_libs)	\
+	$(plugin_libs)
+
+tethereal_static_DEPENDENCIES = \
+	$(ethereal_optional_objects)	\
+	$(tethereal_additional_libs)
+
+# This automake variable adds to the link-line for the executable
+tethereal_LDADD = wiretap/libwiretap.a	\
+	$(ethereal_optional_objects)	\
+	$(tethereal_additional_libs)	\
+	@SNMP_LIBS@ @SSL_LIBS@		\
+	$(plugin_ldadd)			\
+	@GLIB_LIBS@ -lm \
+	@PCAP_LIBS@ @SOCKET_LIBS@ @NSL_LIBS@
+
+tethereal_static_LDADD = \
+	"-all-static"		\
+	$(plugin_static_ldadd)	\
+	wiretap/libwiretap.a	\
+	$(ethereal_optional_objects)	\
+	$(tethereal_additional_libs)	\
+	@SNMP_LIBS@ @SSL_LIBS@		\
+	@GLIB_LIBS@ -lm \
+	@PCAP_LIBS@ @SOCKET_LIBS@ @NSL_LIBS@
+
+tethereal_LDFLAGS = -export-dynamic
+tethereal_static_LDFLAGS = -Wl,-static
+
+# Optional objects that I know how to build, and that are needed by
+# text2pcap.
+text2pcap_optional_objects = @STRERROR_O@ @STRPTIME_O@
+
+text2pcap_SOURCES = text2pcap.c text2pcap-scanner.l
+text2pcap_DEPENDENCIES = text2pcap.h
+
+# This automake variable adds to the link-line for the executable
+text2pcap_LDADD = $(text2pcap_optional_objects) \
+	@GLIB_LIBS@ -lm
+
+mergecap_SOURCES = mergecap.c
+mergecap_DEPENDENCIES = wiretap/libwiretap.a
+
+editcap_SOURCES = editcap.c
+
+# This is the automake dependency variable for the executable
+editcap_DEPENDENCIES = wiretap/libwiretap.a
+
+# This automake variable adds to the link-line for the executable
+editcap_LDADD = wiretap/libwiretap.a @GLIB_LIBS@
+mergecap_LDADD = wiretap/libwiretap.a @GLIB_LIBS@
+
+#
+# Build various header files for the X11 dissector.
+#
+x11-declarations.h x11-register-info.h: x11-fields process-x11-fields.pl
+	$(PERL) $(srcdir)/process-x11-fields.pl <$(srcdir)/x11-fields
+
+#
+# Build shell scripts by doing variable substitution.
+# Taken from autoconf 2.13.
+#
+editsh = sed -e 's,@''SHELL''@,$(SHELL),g'
+
+SUFFIXES = .sh
+.sh:
+	rm -f $@ $@.tmp
+	$(editsh) $< > $@.tmp && chmod +x $@.tmp && mv $@.tmp $@
+
+#
+# Build "register.c", which contains a function "register_all_protocols()"
+# that calls the register routines for all protocols.
+#
+# We do this by grepping through sources.  If that turns out to be too slow,
+# maybe we could just require every .o file to have an register routine
+# of a given name (packet-aarp.o -> proto_register_aarp, etc.).
+#
+# Formatting conventions:  The name of the proto_register_* routines must
+# start in column zero, or must be preceded only by "void " starting in
+# column zero, and must not be inside #if.
+#
+# We assume that all dissector routines are in "packet-XXX.c" files.
+#
+# For some unknown reason, having a big "for" loop in the Makefile
+# to scan all the "packet-XXX.c" files doesn't work with some "make"s;
+# they seem to pass only the first few names in the list to the shell,
+# for some reason.
+#
+# Therefore, we have a script to generate the "register.c" file.
+#
+# The first argument is the name of the file to write.
+# The second argument is the directory in which the source files live.
+# All subsequent arguments are the files to scan.
+#
+register.c: $(DISSECTOR_SRC) $(srcdir)/make-reg-dotc
+	@echo Making register.c
+	@$(srcdir)/make-reg-dotc register.c $(srcdir) $(DISSECTOR_SRC)
+
+register-static.c: $(plugin_src) $(DISSECTOR_SRC) $(srcdir)/make-reg-dotc
+	@echo Making register-static.c
+	@$(srcdir)/make-reg-dotc register-static.c $(srcdir) $(plugin_src) $(DISSECTOR_SRC)
+
+#
+# Build "tethereal-tap-register.c", which contains a function 
+# "register_all_tap_listeners()"
+# that calls the register routines for all tehtereal tap listeners.
+#
+# We do this by grepping through sources.
+#
+# Formatting conventions:  The name of the tap_listener_register_* 
+# routines must start in column zero, or must be preceded only by 
+# "void " starting in column zero, and must not be inside #if.
+#
+# The first argument is the directory in which the source files live.
+# All subsequent arguments are the files to scan.
+#
+tethereal-tap-register.c: $(TETHEREAL_TAP_SRC) $(srcdir)/make-tapreg-dotc
+	@echo Making tethereal-tap-register.c
+	@$(srcdir)/make-tapreg-dotc tethereal-tap-register.c $(srcdir) $(TETHEREAL_TAP_SRC)
+
+ps.c: print.ps rdps
+	./rdps $(srcdir)/print.ps ps.c
+
+rdps: rdps.c
+	$(CC) $(CFLAGS) -o rdps $(srcdir)/rdps.c
+
+randpkt.o: randpkt.c
+	$(CC) -DHAVE_CONFIG_H -I. `glib-config --cflags` -c $(srcdir)/randpkt.c
+
+randpkt: randpkt.o wiretap/libwiretap.a
+	$(LINK) -o randpkt randpkt.o wiretap/libwiretap.a `glib-config --libs` -lz
+
+
+dftest_SOURCES = \
+	$(DISSECTOR_SRC) \
+	$(ETHEREAL_COMMON_SRC) \
+	register.c     \
+	dftest.c
+
+dftest_additional_libs =		\
+	wiretap/libwiretap.a		\
+	epan/libethereal.a		\
+	epan/ftypes/libftypes.a		\
+	epan/dfilter/libdfilter.a
+
+dftest_DEPENDENCIES = \
+	$(ethereal_optional_objects)	\
+	$(dftest_additional_libs)	\
+	$(plugin_libs)
+
+# This automake variable adds to the link-line for the executable
+dftest_LDADD = \
+	$(ethereal_optional_objects)	\
+	$(dftest_additional_libs)	\
+	@SNMP_LIBS@ @SSL_LIBS@		\
+	$(plugin_ldadd)			\
+	@GLIB_LIBS@ -lm \
+	@PCAP_LIBS@ @SOCKET_LIBS@ @NSL_LIBS@
+
+dftest_LDFLAGS = -export-dynamic
+
+CLEANFILES =	\
+	idl2eth
+
+DISTCLEANFILES =	\
+	aclocal-missing/*.m4 \
+	register.c	\
+	register-static.c \
+	rdps		\
+	ps.c		\
+	*~
+
+EXTRA_DIST = \
+	Ethereal.desktop	\
+	FAQ			\
+	INSTALL.configure       \
+	Makefile.nmake		\
+	README.aix		\
+	README.bsd		\
+	README.hpux		\
+	README.irix		\
+	README.linux		\
+	README.tru64		\
+	README.vmware		\
+	README.win32		\
+	TODO			\
+	aclocal-fallback/glib-2.0.m4 \
+	aclocal-fallback/glib.m4 \
+	aclocal-fallback/gtk-2.0.m4 \
+	aclocal-fallback/gtk.m4 \
+	aclocal-flags		\
+	autogen.sh		\
+	capture-wpcap.c		\
+	capture-wpcap.h		\
+	cleanbld.bat		\
+	config.h.win32		\
+	config.nmake		\
+	debian/README.debian	\
+	debian/changelog	\
+	debian/control		\
+	debian/copyright	\
+	debian/dirs		\
+	debian/docs		\
+	debian/menu		\
+	debian/postinst		\
+	debian/prerm		\
+	debian/rules		\
+	dictionary.dtd		\
+	dictionary.xml		\
+	doc/Makefile.am         \
+	doc/Makefile.nmake      \
+	doc/README.design       \
+	doc/README.developer    \
+	doc/README.idl2eth      \
+	doc/README.plugins      \
+	doc/README.regression   \
+	doc/README.tvbuff	\
+	doc/dfilter2pod.pl	\
+	doc/editcap.pod		\
+	doc/ethereal.pod.template \
+	doc/idl2eth.pod		\
+	doc/mergecap.pod	\
+	doc/randpkt.txt		\
+	doc/tethereal.pod.template \
+	doc/text2pcap.pod	\
+	editcap.c		\
+	ethereal_be.py		\
+	ethereal_gen.py		\
+	getopt.c		\
+	getopt.h		\
+	idl2eth.sh		\
+	image/Makefile.nmake	\
+	image/README.image	\
+	image/clist_ascend.xpm	\
+	image/clist_descend.xpm	\
+	image/dn_arrow.xpm	\
+	image/editcap.rc.in	\
+	image/eexcl3d64.xpm	\
+	image/eicon3d16.xpm	\
+	image/eicon3d32.xpm	\
+	image/eicon3d48.xpm	\
+	image/eicon3d64.xpm	\
+	image/elogo3d48x48.png	\
+	image/ethereal.ico	\
+	image/ethereal.rc.in	\
+	image/ethereal48x48-trans.png  \
+	image/ethereal48x48.png \
+	image/hi16-app-ethereal.png	\
+	image/hi32-app-ethereal.png	\
+	image/hi48-app-ethereal.png	\
+	image/icon-ethereal.xpm	\
+	image/icon-excl.xpm	\
+	image/lo16-app-ethereal.png	\
+	image/lo32-app-ethereal.png	\
+	image/lo48-app-ethereal.png	\
+	image/mergecap.rc.in	\
+	image/nsis-checked.bmp	\
+	image/nsis-unchecked.bmp	\
+	image/tethereal.rc.in	\
+	image/text2pcap.rc.in	\
+	image/up_arrow.xpm	\
+	make-manuf		\
+	make-reg-dotc		\
+	make-reg-dotc.py	\
+	make-tapreg-dotc		\
+	manuf                   \
+	manuf.tmpl		\
+	mergecap.c		\
+	mobileipv4.xml		\
+	nasreq.xml		\
+	ncp2222.py              \
+	packet-ncp2222.inc	\
+	print.ps                \
+	process-x11-fields.pl	\
+	randpkt.c		\
+	rdps.c			\
+	sunping.xml		\
+	text2pcap-scanner.l     \
+	text2pcap.c             \
+	text2pcap.h             \
+	wka.tmpl		\
+	x11-fields
+
+if SETUID_INSTALL
+install-exec-hook:
+	-chmod +s $(DESTDIR)$(bindir)/ethereal
+	-chmod +s $(DESTDIR)$(bindir)/tethereal
+	-chmod +s $(DESTDIR)$(bindir)/ethereal_static
+else
+install-exec-hook:
+endif
+
+#
+# Currently register.c can be included in the distribution because
+# we always build all protocol dissectors. We used to have to check
+# whether or not to build the snmp dissector. If we again need to
+# variably build something, making register.c non-portable, uncomment
+# the dist-hook line below.
+#
+# Oh, yuk.  We don't want to include "register.c" in the distribution, as
+# its contents depend on the configuration, and therefore we want it
+# to be built when the first "make" is done; however, Automake insists
+# on putting *all* source into the distribution.
+#
+# We work around this by having a "dist-hook" rule that deletes
+# "register.c", so that "dist" won't pick it up.
+#
+#dist-hook:
+#	@rm -f $(distdir)/register.c
+
+# Hack around the problem that I haven't found a way to include an
+# empty directroy in the distribution tarball.
+dist-hook:
+	mkdir -p aclocal-missing
+
+DIST_SUBDIRS = tools wiretap doc epan plugins packaging gtk
+
+if HAVE_PLUGINS
+SUBDIRS = tools wiretap doc epan plugins packaging @ethereal_SUBDIRS@
+else
+SUBDIRS = tools wiretap doc epan packaging @ethereal_SUBDIRS@
+endif
+
+ethereal.1: ethereal doc/ethereal.pod.template
+	(cd doc ; \
+	$(MAKE) ../ethereal.1 )
+
+tethereal.1: tethereal doc/tethereal.pod.template
+	(cd doc ; \
+	$(MAKE) ../tethereal.1 )
+
+editcap.1: doc/editcap.pod
+	(cd doc ; \
+	$(MAKE) ../editcap.1 )
+
+idl2eth.1: doc/idl2eth.pod
+	(cd doc ; \
+	$(MAKE) ../idl2eth.1 )
+
+mergecap.1: doc/mergecap.pod
+	(cd doc ; \
+	$(MAKE) ../mergecap.1 )
+
+text2pcap.1: doc/text2pcap.pod
+	(cd doc ; \
+	$(MAKE) ../text2pcap.1 )
+
+packet-ncp2222.c : ncp2222.py
+	$(PYTHON) $(srcdir)/ncp2222.py -o $@
+
+libtool: $(LIBTOOL_DEPS)
+	$(SHELL) ./config.status --recheck
+
+# We load top_stagedir with an explicit path so that libtool doesn't freak.
+top_stagedir=`cd $(top_srcdir) && pwd`/packaging/svr4.stage
+stagedir=$(top_stagedir)/$(PACKAGE).stage
+host_cpu=@host_cpu@
+host_os=@host_os@
+
+svr4-package: $(bin_SCRIPTS) $(lib_LTLIBRARIES)
+	if test x$(HAVE_SVR4_PACKAGING) = xyes ; then \
+		rm -rf $(stagedir) ; \
+		$(MAKE) DESTDIR=$(stagedir) install; \
+		$(srcdir)/packaging/svr4/mkpkg \
+			$(PACKAGE) \
+			$(PACKAGE)-$(VERSION)-$(host_os)-$(host_cpu)-local \
+			$(prefix) \
+			$(top_stagedir) ; \
+	else \
+		echo "Error: SVR4 packaging tools not found." ; \
+		echo "Package build abandoned." ; \
+	fi
+
+solaris-package: svr4-package
+
+rpm_topdir=`cd $(top_srcdir) && pwd`/packaging/rpm
+rpm-package: dist
+	if test x$(HAVE_RPM) = xyes ; then \
+		cd $(rpm_topdir) ; \
+		mkdir -p BUILD RPMS SOURCES ; \
+		cd SOURCES ; \
+		ln -s ../../../$(distdir).tar.gz ; \
+		cd .. ; \
+		rpm --define "_topdir `cd . && pwd`" -bb SPECS/ethereal.spec && \
+			echo "Package successfully built in `pwd`/RPMS." ; \
+	else \
+		echo "Error: RPM executable and/or source directory not found." ; \
+	fi
+srpm-package: dist
+	if test x$(HAVE_RPM) = xyes ; then \
+		cd $(rpm_topdir) ; \
+		mkdir -p BUILD SRPMS SOURCES ; \
+		cd SOURCES ; \
+		ln -s ../../../$(distdir).tar.gz ; \
+		cd .. ; \
+		rpm --define "_topdir `cd . && pwd`" -bs SPECS/ethereal.spec && \
+			echo "Package successfully built in `pwd`/SRPMS." ; \
+	else \
+		echo "Error: RPM executable and/or source directory not found." ; \
+	fi
+
+debian-package: debian/rules
+	dpkg-buildpackage -rfakeroot -us -uc
+
+clean-local:
+	rm -rf $(top_stagedir)
diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/Makefile.am b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..4a7a67226c758a75b895ad5495e18fe5e1ca4648
--- /dev/null
+++ b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/Makefile.am
@@ -0,0 +1,34 @@
+# Makefile.am
+# Automake file for Ethereal
+#
+# $Id$
+#
+# Ethereal - Network traffic analyzer
+# By Gerald Combs <gerald@ethereal.com>
+# 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.
+
+SUBDIRS = docsis giop gryphon mgcp pcli epa
+
+plugindir = @plugindir@
+
+EXTRA_DIST = \
+	plugin_api.c	\
+	plugin_api.h	\
+	plugin_api_decls.h	\
+	plugin_api_defs.h	\
+	plugin_table.h	\
+	Makefile.nmake
diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/.libs/epa.lai b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/.libs/epa.lai
new file mode 100644
index 0000000000000000000000000000000000000000..bccdd3c303a99b9b89f4c906eb59016dc5619835
--- /dev/null
+++ b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/.libs/epa.lai
@@ -0,0 +1,32 @@
+# epa.la - a libtool library file
+# Generated by ltmain.sh - GNU libtool 1.4.3 (1.922.2.111 2002/10/23 02:54:36)
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='epa.so'
+
+# Names of this library.
+library_names='epa.so epa.so epa.so'
+
+# The name of the static archive.
+old_library='epa.a'
+
+# Libraries that this one depends upon.
+dependency_libs=' -L/usr/local/lib'
+
+# Version information for epa.
+current=0
+age=0
+revision=0
+
+# Is this an already installed library?
+installed=yes
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/lib/ethereal/plugins/0.9.8'
diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/AUTHORS b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/AUTHORS
new file mode 100644
index 0000000000000000000000000000000000000000..ab6dab3a21890633c6d3623c49b022ddb15701e9
--- /dev/null
+++ b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/AUTHORS
@@ -0,0 +1,4 @@
+Author :
+Klaas Jan Wierenga <wierenga@astron.nl>
+
+
diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/COPYING b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/COPYING
new file mode 100644
index 0000000000000000000000000000000000000000..d60c31a97a544b53039088d14fe9114583c0efc3
--- /dev/null
+++ b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/COPYING
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    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
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/ChangeLog b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/ChangeLog
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/Makefile.am b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..8b334e997dafba90ee32f9b1c05f775ba8c7eb53
--- /dev/null
+++ b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/Makefile.am
@@ -0,0 +1,55 @@
+# Makefile.am
+# Automake file for Ethereal/EPA dissectors
+#
+# $Id$
+#
+# Copyright 2004, Astron
+# Klaas Jan Wierenga <wierenga@astron.nl>
+#
+# Ethereal - Network traffic analyzer
+# By Gerald Combs <gerald@ethereal.com>
+# 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.
+#
+
+INCLUDES = -I$(top_srcdir)
+
+plugindir = @plugindir@
+
+plugin_LTLIBRARIES = epa.la
+epa_la_SOURCES = packet-epa.c moduleinfo.h
+epa_la_LDFLAGS = -module -avoid-version
+
+# Libs must be cleared, or else libtool won't create a shared module.
+# If your module needs to be linked against any particular libraries,
+# add them here.
+LIBS =
+
+
+# The following allows a non-plugin version of the module to be built to 
+# be linked with a static ethereal binary.
+#
+epa_la_DEPENDENCIES = packet-epa-static.o
+
+packet-epa-static.o:   packet-epa.c moduleinfo.h
+	$(LTCOMPILE) -c -o packet-epa-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-epa.c 
+
+CLEANFILES = \
+        epa
+
+EXTRA_DIST = \
+        Makefile.nmake
diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/Makefile.nmake b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/Makefile.nmake
new file mode 100644
index 0000000000000000000000000000000000000000..8bde720a28ea529723d12f916125851d3f40ad6d
--- /dev/null
+++ b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/Makefile.nmake
@@ -0,0 +1,20 @@
+#
+# $Id$
+#
+include ..\..\config.nmake
+
+############### no need to modify below this line #########
+
+CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap \
+	/I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)/gmodule \
+	/I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
+	/I$(PCAP_DIR)\include $(LOCAL_CFLAGS)
+
+OBJECTS=packet-epa.obj 
+
+epa.dll epa.exp epa.lib : packet-epa.obj ..\plugin_api.obj
+	link -dll /out:epa.dll packet-epa.obj ..\plugin_api.obj \
+	$(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+
+clean:
+	rm -f $(OBJECTS) epa.dll epa.exp epa.lib
diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/moduleinfo.h b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/moduleinfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..4ee6930d0e4aa9958fd1821705e33e8850b66292
--- /dev/null
+++ b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/moduleinfo.h
@@ -0,0 +1,17 @@
+/* Included *after* config.h, in order to re-define these macros */
+
+#ifdef PACKAGE
+#undef PACKAGE
+#endif
+
+/* Name of package */
+#define PACKAGE "epa"
+
+
+#ifdef VERSION
+#undef VERSION
+#endif
+
+/* Version number of package */
+#define VERSION "0.0.1"
+
diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/packet-epa.c b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/packet-epa.c
new file mode 100644
index 0000000000000000000000000000000000000000..8fae797b29ca25c9182b060636dec23b19f13413
--- /dev/null
+++ b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/packet-epa.c
@@ -0,0 +1,435 @@
+/* packet-epa.c
+ * Routines for LOFAR Embedded Processing Application protocol dissection
+ * Copyright 2004, Klaas Jan Wierenga <wierenga@astron.nl>
+ *
+ * $Id$
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * Copyright 1998 Gerald Combs
+ *
+ * Copied from WHATEVER_FILE_YOU_USED (where "WHATEVER_FILE_YOU_USED"
+ * is a dissector file; if you just copied this from README.developer,
+ * don't bother with the "Copied from" - you don't even need to put
+ * in a "Copied from" if you copied an existing dissector, especially
+ * if the bulk of the code in the new dissector is your code)
+ * 
+ * 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <glib.h>
+
+#ifdef NEED_SNPRINTF_H
+# include "snprintf.h"
+#endif
+
+#include <epan/packet.h>
+#include "packet-epa.h"
+
+/**
+ * EPA protocol constants and value to string mappings.
+ */
+static const value_string type_vals[] =
+{
+  { 0x00, "Invalid message type"  },
+  { 0x01, "Read request (READ)"   },
+  { 0x02, "Write command (WRITE)" },
+  { 0x03, "Read result (READRES)" },
+  { 0x04, "Read error (READERR)"  },
+  { 0,     NULL                   },
+};
+
+static const value_string page_vals[] =
+{
+  { 0x00, "Write page for LCU (INACTIVE)" },
+  { 0x01, "Read page for FPGA (ACTIVE)"   },
+  { 0,     NULL                           },
+};
+
+static const value_string dst_vals[] =
+{
+  { 0x00, "Beamlet processor" },
+  { 0x80, "RSP Main FPGA"     },
+  { 0,     NULL               },  
+};
+
+static const value_string pid_vals[] =
+{
+  { 0x00, "Status overview (STATUS)"           },
+  { 0x01, "Selftest functionality (TST)"       },
+  { 0x02, "FPGA configuration and reset (CFG)" },
+  { 0x03, "Waveform generator (WG)"            },
+  { 0x04, "Subband select (SS)"                },
+  { 0x05, "Beamformer (BF)"                    },
+  { 0x06, "Beamlet statistics (ST)"            },
+  { 0x07, "Subband statistics (STSUB)"         },
+  { 0x08, "RCU Control (RCU)"                  },
+  { 0,     NULL                                },
+};
+
+static const value_string status_vals[] =
+{
+  { 0x00, "RSP Status" },
+  { 0x01, "Version"    },
+  { 0,     NULL        },
+};
+
+static const value_string tst_vals[] =
+{
+  { 0x00, "Selftest" },
+  { 0,     NULL        },
+};
+
+static const value_string cfg_vals[] =
+{
+  { 0x00, "Reset"     },
+  { 0x01, "Reprogram" },
+  { 0,     NULL       },
+};
+
+static const value_string wg_vals[] =
+{
+  { 0x00, "Waveform generator settings" },
+  { 0x01, "User waveform"               },
+  { 0x02, "Soft PPS"                    },
+  { 0,     NULL                         },
+};
+
+static const value_string ss_vals[] =
+{
+  { 0x00, "Number of selected subbands" },
+  { 0x01, "Subband Select parameters"   },
+  { 0,     NULL                         },
+};
+
+static const value_string bf_vals[] =
+{
+  { 0x00, "Coefs Xre" },
+  { 0x01, "Coefs Xim" },
+  { 0x02, "Coefs Yre" },
+  { 0x03, "Coefs Yim" },
+  { 0,     NULL       },
+};
+
+static const value_string st_vals[] =
+{
+  { 0x00, "Mean"  },
+  { 0x01, "Power" },
+  { 0,     NULL   },
+};
+
+static const value_string stsub_vals[] =
+{
+  { 0x00, "Mean"  },
+  { 0x01, "Power" },
+  { 0,     NULL   },
+};
+
+static const value_string rcu_vals[] =
+{
+  { 0x00, "RCU Settings"  },
+  { 0,     NULL   },
+};
+
+/**
+ * Pluginize BEGIN
+ *
+ * Pluginize the EPA dissector
+ */
+#include "plugins/plugin_api.h"
+#include "moduleinfo.h"
+#include <gmodule.h>
+#include "plugins/plugin_api_defs.h"
+
+#ifndef __ETHEREAL_STATIC__
+G_MODULE_EXPORT const gchar version[] = "1.0";
+G_MODULE_EXPORT void plugin_init(plugin_address_table_t *pat);
+G_MODULE_EXPORT void plugin_reg_handoff(void);
+#endif 
+
+/**
+ * Pluginize END
+ */
+
+/**
+ * Constants
+ */
+#define ETHERTYPE_EPA 0x10FA
+
+/* Initialize the protocol and registered fields */
+static int proto_epa          = -1;
+static int hf_epa_type        = -1;
+static int hf_epa_ffi         = -1;
+static int hf_epa_seqnr       = -1;
+static int hf_epa_addr_dstid  = -1;
+static int hf_epa_addr_pid    = -1;
+static int hf_epa_addr_regid  = -1;
+static int hf_epa_addr_pageid = -1;
+static int hf_epa_offset      = -1;
+static int hf_epa_size        = -1;
+static int hf_epa_data        = -1;
+
+/* Initialize the subtree pointers */
+static gint ett_epa = -1;
+
+/* Code to actually dissect the packets */
+static void
+dissect_epa(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+
+  /* Set up structures needed to add the protocol subtree and manage it */
+  proto_item *ti;
+  proto_tree *epa_tree;
+
+  /* Make entries in Protocol column and Info column on summary display */
+  if (check_col(pinfo->cinfo, COL_PROTOCOL)) 
+    col_set_str(pinfo->cinfo, COL_PROTOCOL, "epa");
+    
+  /* This field shows up as the "Info" column in the display; you should make
+     it, if possible, summarize what's in the packet, so that a user looking
+     at the list of packets can tell what type of packet it is. See section 1.5
+     for more information.
+
+     If you are setting it to a constant string, use "col_set_str()", as
+     it's more efficient than the other "col_set_XXX()" calls.
+
+     If you're setting it to a string you've constructed, or will be
+     appending to the column later, use "col_add_str()".
+
+     "col_add_fstr()" can be used instead of "col_add_str()"; it takes
+     "printf()"-like arguments.  Don't use "col_add_fstr()" with a format
+     string of "%s" - just use "col_add_str()" or "col_set_str()", as it's
+     more efficient than "col_add_fstr()".
+
+     If you will be fetching any data from the packet before filling in
+     the Info column, clear that column first, in case the calls to fetch
+     data from the packet throw an exception because they're fetching data
+     past the end of the packet, so that the Info column doesn't have data
+     left over from the previous dissector; do
+
+     if (check_col(pinfo->cinfo, COL_INFO)) 
+     col_clear(pinfo->cinfo, COL_INFO);
+
+  */
+
+  if (check_col(pinfo->cinfo, COL_INFO)) 
+    col_clear(pinfo->cinfo, COL_INFO);
+
+  /* In the interest of speed, if "tree" is NULL, don't do any work not
+     necessary to generate protocol tree items. */
+  if (tree)
+  {
+
+    /* NOTE: The offset and length values in the call to
+       "proto_tree_add_item()" define what data bytes to highlight in the hex
+       display window when the line in the protocol tree display
+       corresponding to that item is selected.
+
+       Supplying a length of -1 is the way to highlight all data from the
+       offset to the end of the packet. */
+
+    /* create display subtree for the protocol */
+    ti = proto_tree_add_item(tree, proto_epa, tvb, 0, -1, FALSE);
+    
+    epa_tree = proto_item_add_subtree(ti, ett_epa);
+    
+    /* add an item to the subtree, see section 1.6 for more information */
+    
+    /* Continue adding tree items to process the packet here */
+    proto_tree_add_item(epa_tree, hf_epa_type,        tvb,  0,  1, FALSE);
+    proto_tree_add_item(epa_tree, hf_epa_ffi,         tvb,  1,  1, FALSE);
+    proto_tree_add_item(epa_tree, hf_epa_seqnr,       tvb,  2,  2, TRUE);
+    proto_tree_add_item(epa_tree, hf_epa_addr_dstid,  tvb,  4,  1, FALSE);
+    proto_tree_add_item(epa_tree, hf_epa_addr_pid,    tvb,  5,  1, FALSE);
+    proto_tree_add_item(epa_tree, hf_epa_addr_regid,  tvb,  6,  1, FALSE);
+    proto_tree_add_item(epa_tree, hf_epa_addr_pageid, tvb,  7,  1, FALSE);
+    proto_tree_add_item(epa_tree, hf_epa_offset,      tvb,  8,  2, TRUE);
+    proto_tree_add_item(epa_tree, hf_epa_size,        tvb, 10,  2, TRUE);
+    proto_tree_add_item(epa_tree, hf_epa_data,        tvb, 12, -1, FALSE);
+
+  }
+
+  /* fill the INFO column */
+  if (check_col(pinfo->cinfo, COL_INFO))
+  {
+    char*  typestr = type_vals[tvb_get_guint8(tvb, 0)].strptr;
+    char*  regstr  = 0;
+    guint8 reg     = tvb_get_guint8(tvb, 6);
+    guint8 pid     = tvb_get_guint8(tvb, 5);
+    
+    switch (pid)
+    {
+      case 0x00:
+	regstr = status_vals[reg].strptr;
+	break;
+
+      case 0x01:
+	regstr = tst_vals[reg].strptr;
+	break;
+
+      case 0x02:
+	regstr = cfg_vals[reg].strptr;
+	break;
+
+      case 0x03:
+	regstr = wg_vals[reg].strptr;
+	break;
+
+      case 0x04:
+	regstr = ss_vals[reg].strptr;
+	break;
+
+      case 0x05:
+	regstr = bf_vals[reg].strptr;
+	break;
+
+      case 0x06:
+	regstr = st_vals[reg].strptr;
+	break;
+
+      case 0x07:
+	regstr = stsub_vals[reg].strptr;
+	break;
+
+      case 0x08:
+	regstr = rcu_vals[reg].strptr;
+	break;
+    }
+
+    if (!typestr) typestr = "Unknown type?";
+    if (!regstr)  regstr  = "Unknown register?";
+      
+    col_add_fstr(pinfo->cinfo, COL_INFO, "%s; %s", typestr, regstr);
+  }
+  
+  /* If this protocol has a sub-dissector call it here, see section 1.8 */
+}
+
+
+/* Register the protocol with Ethereal */
+
+/* this format is require because a script is used to build the C function
+   that calls all the protocol registration.
+*/
+
+void
+proto_register_epa(void)
+{                 
+
+  /* Setup list of header fields  See Section 1.6.1 for details*/
+  static hf_register_info hf[] = {
+    { &hf_epa_type,
+      { "type",           "epa.type",
+	FT_UINT8, BASE_HEX, VALS(type_vals), 0x0,          
+	"Message type", HFILL }
+    },
+    { &hf_epa_ffi,
+      { "ffi",           "epa.ffi",
+	FT_UINT8, BASE_HEX, NULL, 0x0,          
+	"For Future Information", HFILL }
+    },
+    { &hf_epa_seqnr,
+      { "seqnr",           "epa.seqnr",
+	FT_UINT16, BASE_DEC, NULL, 0x0,          
+	"Sequence number", HFILL }
+    },
+    { &hf_epa_addr_dstid,
+      { "addr_dstid",           "epa.addr_dstid",
+	FT_UINT8, BASE_HEX, VALS(dst_vals), 0x0,          
+	"Destination ID", HFILL }
+    },
+    { &hf_epa_addr_pid,
+      { "addr_pid",           "epa.addr_pid",
+	FT_UINT8, BASE_HEX, VALS(pid_vals), 0x0,          
+	"Process ID", HFILL }
+    },
+    { &hf_epa_addr_regid,
+      { "addr_regid",           "epa.addr_regid",
+	FT_UINT8, BASE_HEX, NULL, 0x0,          
+	"Register ID", HFILL }
+    },
+    { &hf_epa_addr_pageid,
+      { "addr_pageid",           "epa.addr_pageid",
+	FT_UINT8, BASE_HEX, VALS(page_vals), 0x0,          
+	"Page ID", HFILL }
+    },
+    { &hf_epa_offset,
+      { "offset",           "epa.offset",
+	FT_UINT16, BASE_DEC, NULL, 0x0,          
+	"Register offset", HFILL }
+    },
+    { &hf_epa_size,
+      { "size",           "epa.size",
+	FT_UINT16, BASE_DEC, NULL, 0x0,          
+	"Read/write size", HFILL }
+    },
+    { &hf_epa_data,
+      { "data",           "epa.data",
+	FT_BYTES, BASE_HEX, NULL, 0x0,          
+	"Userdata", HFILL }
+    },
+  };
+
+  /* Setup protocol subtree array */
+  static gint *ett[] = {
+    &ett_epa,
+  };
+
+  /* Register the protocol name and description */
+  proto_epa = proto_register_protocol("LOFAR EPA Protocol",
+				      "EPA", "epa");
+
+  /* Required function calls to register the header fields and subtrees used */
+  proto_register_field_array(proto_epa, hf, array_length(hf));
+  proto_register_subtree_array(ett, array_length(ett));
+}
+
+
+/* If this dissector uses sub-dissector registration add a registration routine.
+   This format is required because a script is used to find these routines and
+   create the code that calls these routines.
+*/
+void
+proto_reg_handoff_epa(void)
+{
+  dissector_handle_t epa_handle;
+
+  epa_handle = create_dissector_handle(dissect_epa, proto_epa);
+  dissector_add("ethertype", ETHERTYPE_EPA, epa_handle);
+}
+
+void plugin_init(plugin_address_table_t* pat)
+{
+  /* initialise the table of pointers needed in Win32 DLLs */
+  plugin_address_table_init(pat);
+
+  /* register the new protocol, protocol fields, and subtrees */
+  if (proto_epa == -1) { /* execute protocol initialization only once */
+    proto_register_epa();
+  }
+}
+
+void plugin_reg_handoff(void)
+{
+  proto_reg_handoff_epa();
+}
diff --git a/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/packet-epa.h b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/packet-epa.h
new file mode 100644
index 0000000000000000000000000000000000000000..2fbbf2dbd0c0478acc82e793cf982f0168dee5e4
--- /dev/null
+++ b/MAC/Tools/ethereal-0.9.8-epaplugin/plugins/epa/packet-epa.h
@@ -0,0 +1,29 @@
+/* packet-epa.h
+ *
+ * $Id$
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * 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.
+ */
+
+#ifndef __PACKET_EPA_H__
+#define __PACKET_EPA_H__
+
+void capture_epa(const guchar *, int, int, packet_counts *);
+
+#endif