diff -ur tcpdump-3.4.rh/interface.h tcpdump-3.4/interface.h
--- tcpdump-3.4.rh/interface.h	Tue Apr 11 17:55:33 2000
+++ tcpdump-3.4/interface.h	Tue Apr 11 18:06:00 2000
@@ -40,6 +40,7 @@
 };
 
 extern int aflag;		/* translate network and broadcast addresses */
+extern int Aflag;		/* print packet in ascii */
 extern int dflag;		/* print filter code */
 extern int eflag;		/* print ethernet header */
 extern int fflag;		/* don't translate "foreign" IP address */
diff -ur tcpdump-3.4.rh/print-ether.c tcpdump-3.4/print-ether.c
--- tcpdump-3.4.rh/print-ether.c	Tue Apr 11 17:55:33 2000
+++ tcpdump-3.4/print-ether.c	Tue Apr 11 18:06:07 2000
@@ -186,7 +186,7 @@
 	}
 	if (xflag)
 		default_print(p, caplen);
-	if (aflag)
+	if (Aflag)
 	        ascii_print(p, caplen);
  out:
 	putchar('\n');
diff -ur tcpdump-3.4.rh/print-fddi.c tcpdump-3.4/print-fddi.c
--- tcpdump-3.4.rh/print-fddi.c	Tue Apr 11 17:55:33 2000
+++ tcpdump-3.4/print-fddi.c	Tue Apr 11 18:06:16 2000
@@ -337,7 +337,7 @@
 	}
 	if (xflag)
 		default_print(p, caplen);
-	if (aflag)
+	if (Aflag)
 	        ascii_print(p, caplen);
 out:
 	putchar('\n');
diff -ur tcpdump-3.4.rh/print-null.c tcpdump-3.4/print-null.c
--- tcpdump-3.4.rh/print-null.c	Tue Apr 11 17:55:33 2000
+++ tcpdump-3.4/print-null.c	Tue Apr 11 18:06:20 2000
@@ -138,7 +138,7 @@
 	if (xflag)
 		default_print((const u_char *)ip, caplen - NULL_HDRLEN);
 
-	if (aflag)
+	if (Aflag)
 		ascii_print((const u_char *)ip, caplen - NULL_HDRLEN);
 
 	putchar('\n');
diff -ur tcpdump-3.4.rh/print-ppp.c tcpdump-3.4/print-ppp.c
--- tcpdump-3.4.rh/print-ppp.c	Tue Apr 11 17:55:33 2000
+++ tcpdump-3.4/print-ppp.c	Tue Apr 11 18:06:26 2000
@@ -98,7 +98,7 @@
 
 	if (xflag)
 		default_print((const u_char *)ip, caplen - PPP_HDRLEN);
-	if (aflag)
+	if (Aflag)
 	        ascii_print((const u_char *)ip, caplen - PPP_HDRLEN);
 out:
 	putchar('\n');
diff -ur tcpdump-3.4.rh/print-sl.c tcpdump-3.4/print-sl.c
--- tcpdump-3.4.rh/print-sl.c	Tue Apr 11 17:55:33 2000
+++ tcpdump-3.4/print-sl.c	Tue Apr 11 18:06:30 2000
@@ -117,7 +117,7 @@
 
 	if (xflag)
 		default_print((u_char *)ip, caplen - SLIP_HDRLEN);
-	if (aflag)
+	if (Aflag)
 	        ascii_print((u_char *)ip, caplen - SLIP_HDRLEN);
  out:
 	putchar('\n');
diff -ur tcpdump-3.4.rh/tcpdump.1 tcpdump-3.4/tcpdump.1
--- tcpdump-3.4.rh/tcpdump.1	Tue Apr 11 17:55:33 2000
+++ tcpdump-3.4/tcpdump.1	Tue Apr 11 18:24:13 2000
@@ -27,7 +27,7 @@
 .na
 .B tcpdump
 [
-.B \-adeflnNOpqStvx
+.B \-aAdeflnNOpqStvx
 ] [
 .B \-c
 .I count
@@ -97,6 +97,12 @@
 .B \-a
 Attempt to convert network and broadcast addresses to names.
 .TP
+.B \-A
+Print each packet (minus its link level header) in ascii.
+The smaller of the entire packet or
+.I snaplen
+bytes will be printed.
+.TP
 .B \-c
 Exit after receiving \fIcount\fP packets.
 .TP
@@ -139,7 +145,8 @@
 ``tcpdump\ \ \-l \ \ > dat\ \ &\ \ tail\ \ \-f\ \ dat''.
 .TP
 .B \-n
-Don't convert addresses (i.e., host addresses, port numbers, etc.) to names.
+If specified once, then host addresses are not converted to names.  If
+specified twice, then neither are port numbers converted to names.
 .TP
 .B \-N
 Don't print domain name qualification of host names.  E.g.,
@@ -151,10 +158,9 @@
 if you suspect a bug in the optimizer.
 .TP
 .B \-p
-\fIDon't\fP put the interface
-into promiscuous mode.  Note that the interface might be in promiscuous
-mode for some other reason; hence, `-p' cannot be used as an abbreviation for
-`ether host {local-hw-addr} or ether broadcast'.
+Put the interface into promiscuous mode.  Note that even without
+specifying `-p', the interface might be in promiscuous mode for
+some other reason.
 .TP
 .B \-q
 Quick (quiet?) output.  Print less protocol information so output
diff -ur tcpdump-3.4.rh/tcpdump.c tcpdump-3.4/tcpdump.c
--- tcpdump-3.4.rh/tcpdump.c	Tue Apr 11 17:55:33 2000
+++ tcpdump-3.4/tcpdump.c	Tue Apr 11 18:07:07 2000
@@ -62,6 +62,7 @@
 #include "gmt2local.h"
 
 int aflag;			/* translate network and broadcast addresses */
+int Aflag;			/* print packet in ascii */
 int dflag;			/* print filter code */
 int eflag;			/* print ethernet header */
 int fflag;			/* don't translate "foreign" IP address */
@@ -209,11 +210,15 @@
 
 	opterr = 0;
 	while (
-	    (op = getopt(argc, argv, "ac:defF:i:lnNOpqr:s:StT:vw:xYRXb:")) != EOF)
+	    (op = getopt(argc, argv, "aAc:defF:i:lnNOpqr:s:StT:vw:xYRXb:")) != EOF)
 		switch (op) {
 
 		case 'a':
 			++aflag;
+			break;
+		
+		case 'A':
+			++Aflag;
 			break;
 
 		case 'c':
