]> The Tcpdump Group git mirrors - tcpdump/commitdiff
-export the q933 printer and call it from the OSI printer
authorhannes <hannes>
Thu, 27 Jan 2005 10:13:51 +0000 (10:13 +0000)
committerhannes <hannes>
Thu, 27 Jan 2005 10:13:51 +0000 (10:13 +0000)
-display cosmetics:
 make the comma settings eflag compatible
 place a colon after printing the OSI proto-ID to indicate
  that we are crossing a layer boundary

interface.h
print-fr.c
print-isoclns.c

index df86e184e74abd8dfcc2eb95caa7ccce62690467..a72a8eb4493037f9534e59517895458481fd63ab 100644 (file)
@@ -18,7 +18,7 @@
  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.240 2005-01-12 11:19:08 hannes Exp $ (LBL)
+ * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.241 2005-01-27 10:13:51 hannes Exp $ (LBL)
  */
 
 #ifndef tcpdump_interface_h
@@ -236,6 +236,7 @@ extern u_int ppp_hdlc_if_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int ppp_bsdos_if_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int pppoe_if_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int prism_if_print(const struct pcap_pkthdr *, const u_char *);
+extern void q933_print(const u_char *, u_int);
 extern int vjc_print(register const char *, u_short);
 extern u_int raw_if_print(const struct pcap_pkthdr *, const u_char *);
 extern void rip_print(const u_char *, u_int);
@@ -247,6 +248,7 @@ extern u_int sl_bsdos_if_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int chdlc_if_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int juniper_atm1_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int juniper_atm2_print(const struct pcap_pkthdr *, const u_char *);
+extern u_int juniper_mlfr_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int sll_if_print(const struct pcap_pkthdr *, const u_char *);
 extern void snmp_print(const u_char *, u_int);
 extern void sunrpcrequest_print(const u_char *, u_int, const u_char *);
index 685464aaeca4cbca72b53b03ca82bb522464d9a6..fd00202a17dbb05b729c56a98c0c59717d9af766 100644 (file)
@@ -21,7 +21,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-       "@(#)$Header: /tcpdump/master/tcpdump/print-fr.c,v 1.28 2005-01-25 15:02:59 hannes Exp $ (LBL)";
+       "@(#)$Header: /tcpdump/master/tcpdump/print-fr.c,v 1.29 2005-01-27 10:13:51 hannes Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -40,7 +40,6 @@ static const char rcsid[] _U_ =
 #include "nlpid.h"
 #include "extract.h"
 
-static void q933_print(const u_char *, u_int);
 static void frf15_print(const u_char *, u_int);
 
 /*
@@ -457,7 +456,7 @@ struct common_ie_header {
     u_int8_t ie_len;
 };
 
-static void
+void
 q933_print(const u_char *p, u_int length)
 {
        const u_char *ptemp = p;
@@ -474,8 +473,7 @@ q933_print(const u_char *p, u_int length)
        if (p[2] == MSG_ANSI_LOCKING_SHIFT)
                is_ansi = 1;
     
-        if (!eflag)
-            printf("Q.933, ");
+        printf("%s", eflag ? "" : "Q.933, ");
 
        /* printing out header part */
        printf(is_ansi ? "ANSI" : "CCITT ");
index 989d01583e81b5eec33a9d1c29723d2ffe01224d..9554ec0f7f69c15f1a64a93887de7e6a4e6377e0 100644 (file)
@@ -26,7 +26,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-isoclns.c,v 1.125 2005-01-25 15:35:11 hannes Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-isoclns.c,v 1.126 2005-01-27 10:13:52 hannes Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -494,7 +494,7 @@ void isoclns_print(const u_int8_t *p, u_int length, u_int caplen)
         }
 
         if (eflag)
-            printf("OSI NLPID %s (0x%02x)",
+            printf("OSI NLPID %s (0x%02x)",
                    tok2str(nlpid_values,"Unknown",*p),
                    *p);
         
@@ -518,6 +518,10 @@ void isoclns_print(const u_int8_t *p, u_int length, u_int caplen)
                (void)printf(", length: %u", length);
                break;
 
+        case NLPID_Q933:
+                q933_print(p+1, length-1);
+                break;
+
         case NLPID_IP:
                 ip_print(p+1, length-1);
                 break;
@@ -604,13 +608,14 @@ static int clnp_print (const u_int8_t *pptr, u_int length)
         pptr += (1 + source_address_length);
 
         if (vflag < 1) {
-            printf(", %s > %s, length %u",
+            printf("%s%s > %s, length %u",
+                   eflag ? "" : ", ",
                    print_nsap(source_address, source_address_length),
                    print_nsap(dest_address, dest_address_length),
                    length);
             return (1);
         }
-        printf(", length %u", length);
+        printf("%slength %u",eflag ? "" : ", ",length);
 
     printf("\n\t%s PDU, hlen: %u, v: %u, lifetime: %u.%us, PDU length: %u, checksum: 0x%04x ",
            tok2str(clnp_pdu_values,
@@ -729,12 +734,14 @@ esis_print(const u_int8_t *pptr, u_int length)
         esis_pdu_type = esis_header->type & ESIS_PDU_TYPE_MASK;
 
         if (vflag < 1) {
-            printf(", %s, length %u",
+            printf("%s%s, length %u",
+                   eflag ? "" : ", ",
                    tok2str(esis_pdu_values,"unknown type (%u)",esis_pdu_type),
                    length);
             return;
         } else
-            printf(", length %u\n\t%s (%u)",
+            printf("%slength %u\n\t%s (%u)",
+                   eflag ? "" : ", ",
                    length,
                    tok2str(esis_pdu_values,"unknown type: %u", esis_pdu_type),
                    esis_pdu_type);
@@ -1446,7 +1453,9 @@ static int isis_print (const u_int8_t *p, u_int length)
 
     /* in non-verbose mode print the basic PDU Type plus PDU specific brief information*/
     if (vflag < 1) {
-        printf(", %s", tok2str(isis_pdu_values,"unknown PDU-Type %u",pdu_type));
+        printf("%s%s",
+               eflag ? "" : ", ",
+               tok2str(isis_pdu_values,"unknown PDU-Type %u",pdu_type));
 
        switch (pdu_type) {
 
@@ -1484,7 +1493,7 @@ static int isis_print (const u_int8_t *p, u_int length)
     }
 
     /* ok they seem to want to know everything - lets fully decode it */
-    printf(", length: %u",length);
+    printf("%slength %u", eflag ? "" : ", ",length);
 
     printf("\n\t%s, hlen: %u, v: %u, pdu-v: %u, sys-id-len: %u (%u), max-area: %u (%u)",
            tok2str(isis_pdu_values,