get rid of EXTRACT_ lookalikes, eliminated atm_llc_print -> call direct to llc_print
diff --git a/print-atm.c b/print-atm.c
index 19afb94..189831a 100644
--- a/print-atm.c
+++ b/print-atm.c
@@ -20,7 +20,7 @@
  */
 #ifndef lint
 static const char rcsid[] =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-atm.c,v 1.26 2002-09-05 21:25:37 guy Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-atm.c,v 1.27 2002-12-04 19:12:39 hannes Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -43,47 +43,6 @@
 #include "ether.h"
 
 /*
- * Print an RFC 1483 LLC-encapsulated ATM frame.
- */
-static void
-atm_llc_print(const u_char *p, int length, int caplen)
-{
-	struct ether_header ehdr;
-	u_short ether_type;
-	u_short extracted_ethertype;
-
-	ether_type = p[6] << 8 | p[7];
-
-	/*
-	 * Fake up an Ethernet header for the benefit of printers that
-	 * insist on "packetp" pointing to an Ethernet header.
-	 */
-	memset(&ehdr, '\0', sizeof ehdr);
-
-	/*
-	 * Some printers want to get back at the ethernet addresses.
-	 * Rather than pass it all the way down, we set this global.
-	 *
-	 * Actually, the only printers that use packetp are print-arp.c
-	 * and print-bootp.c, and they assume that packetp points to an
-	 * Ethernet header.  The right thing to do is to fix them to know
-	 * which link type is in use when they excavate. XXX
-	 */
-	packetp = (u_char *)&ehdr;
-
-	if (!llc_print(p, length, caplen, ESRC(&ehdr), EDST(&ehdr),
-	    &extracted_ethertype)) {
-		/* ether_type not known, print raw packet */
-		if (extracted_ethertype) {
-			printf("(LLC %s) ",
-		etherproto_string(htons(extracted_ethertype)));
-		}
-		if (!xflag && !qflag)
-			default_print(p, caplen);
-	}
-}
-
-/*
  * This is the top level routine of the printer.  'p' points
  * to the LLC/SNAP header of the packet, 'h->ts' is the timestamp,
  * 'h->length' is the length of the packet off the wire, and 'h->caplen'
@@ -110,7 +69,7 @@
 	 */
 	snapend = p + caplen;
 
-	if (p[0] != 0xaa || p[1] != 0xaa || p[2] != 0x03) {
+	if (EXTRACT_24BITS(p) == 0xaaaa03) {
 		/*
 		 * XXX - assume 802.6 MAC header from Fore driver.
 		 * XXX - should we also assume it's not a MAC header
@@ -118,16 +77,19 @@
 		 * routed NLPID-formatted PDUs?
 		 */
 		if (eflag)
-			printf("%04x%04x %04x%04x ",
-			       p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3],
-			       p[4] << 24 | p[5] << 16 | p[6] << 8 | p[7],
-			       p[8] << 24 | p[9] << 16 | p[10] << 8 | p[11],
-			       p[12] << 24 | p[13] << 16 | p[14] << 8 | p[15]);
+			printf("%08x%08x %08x%08x ",
+			       EXTRACT_32BITS(p),
+			       EXTRACT_32BITS(p+4),
+			       EXTRACT_32BITS(p+8),
+			       EXTRACT_32BITS(p+12));
 		p += 20;
 		length -= 20;
 		caplen -= 20;
 	}
-	atm_llc_print(p, length, caplen);
+
+        /* lets call into the generic LLC handler */
+	llc_print(p, length, caplen, NULL, NULL, NULL);
+
 	if (xflag)
 		default_print(p, caplen);
  out:
@@ -243,8 +205,9 @@
 	default:
 		/*
 		 * Assumes traffic is LLC if unknown.
+                 * call into the generic LLC handler
 		 */
-		atm_llc_print(p, length, caplen);
+		llc_print(p, length, caplen, NULL, NULL, NULL);
 		break;
 
 	case ATM_LANE: