]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-atm.c
Use nd_ types, add EXTRACT_ calls, use %u for unsigned values.
[tcpdump] / print-atm.c
index 03c39ff01f1d0790a7bcebf6e7c73570ae375bdf..6650385ac7a582ea3d3720a783d60d8c1f55cbf4 100644 (file)
@@ -259,7 +259,7 @@ atm_if_print(netdissect_options *ndo,
        }
 
         /* Cisco Style NLPID ? */
-        if (*p == LLC_UI) {
+        if (EXTRACT_U_1(p) == LLC_UI) {
             if (ndo->ndo_eflag)
                 ND_PRINT((ndo, "CNLPID "));
             isoclns_print(ndo, p + 1, length - 1);
@@ -349,14 +349,14 @@ sig_print(netdissect_options *ndo,
 {
        uint32_t call_ref;
 
-       ND_TCHECK(p[PROTO_POS]);
-       if (p[PROTO_POS] == Q2931) {
+       ND_TCHECK_1(p + PROTO_POS);
+       if (EXTRACT_U_1(p + PROTO_POS) == Q2931) {
                /*
                 * protocol:Q.2931 for User to Network Interface
                 * (UNI 3.1) signalling
                 */
                ND_PRINT((ndo, "Q.2931"));
-               ND_TCHECK(p[MSG_TYPE_POS]);
+               ND_TCHECK_1(p + MSG_TYPE_POS);
                ND_PRINT((ndo, ":%s ",
                    tok2str(msgtype2str, "msgtype#%d", EXTRACT_U_1(p + MSG_TYPE_POS))));
 
@@ -370,7 +370,7 @@ sig_print(netdissect_options *ndo,
                ND_PRINT((ndo, "CALL_REF:0x%06x", call_ref));
        } else {
                /* SSCOP with some unknown protocol atop it */
-               ND_PRINT((ndo, "SSCOP, proto %d ", p[PROTO_POS]));
+               ND_PRINT((ndo, "SSCOP, proto %d ", EXTRACT_U_1(p + PROTO_POS)));
        }
        return;
 
@@ -433,17 +433,17 @@ atm_print(netdissect_options *ndo,
 }
 
 struct oam_fm_loopback_t {
-    uint8_t loopback_indicator;
-    uint8_t correlation_tag[4];
-    uint8_t loopback_id[12];
-    uint8_t source_id[12];
-    uint8_t unused[16];
+    nd_uint8_t  loopback_indicator;
+    nd_uint32_t correlation_tag;
+    nd_byte     loopback_id[12];
+    nd_byte     source_id[12];
+    nd_byte     unused[16];
 };
 
 struct oam_fm_ais_rdi_t {
-    uint8_t failure_type;
-    uint8_t failure_location[16];
-    uint8_t unused[28];
+    nd_uint8_t  failure_type;
+    nd_byte     failure_location[16];
+    nd_byte     unused[28];
 };
 
 void
@@ -460,7 +460,7 @@ oam_print (netdissect_options *ndo,
     } oam_ptr;
 
 
-    ND_TCHECK(*(p+ATM_HDR_LEN_NOHEC+hec));
+    ND_TCHECK_1(p + ATM_HDR_LEN_NOHEC + hec);
     cell_header = EXTRACT_BE_U_4(p + hec);
     cell_type = (EXTRACT_U_1((p + ATM_HDR_LEN_NOHEC + hec)) >> 4) & 0x0f;
     func_type = EXTRACT_U_1((p + ATM_HDR_LEN_NOHEC + hec)) & 0x0f;
@@ -500,8 +500,8 @@ oam_print (netdissect_options *ndo,
         ND_PRINT((ndo, "\n\tLoopback-Indicator %s, Correlation-Tag 0x%08x",
                tok2str(oam_fm_loopback_indicator_values,
                        "Unknown",
-                       oam_ptr.oam_fm_loopback->loopback_indicator & OAM_FM_LOOPBACK_INDICATOR_MASK),
-               EXTRACT_BE_U_4(&oam_ptr.oam_fm_loopback->correlation_tag)));
+                       EXTRACT_U_1(oam_ptr.oam_fm_loopback->loopback_indicator) & OAM_FM_LOOPBACK_INDICATOR_MASK),
+               EXTRACT_BE_U_4(oam_ptr.oam_fm_loopback->correlation_tag)));
         ND_PRINT((ndo, "\n\tLocation-ID "));
         for (idx = 0; idx < sizeof(oam_ptr.oam_fm_loopback->loopback_id); idx++) {
             if (idx % 2) {
@@ -520,7 +520,7 @@ oam_print (netdissect_options *ndo,
     case (OAM_CELLTYPE_FM << 4 | OAM_FM_FUNCTYPE_RDI):
         oam_ptr.oam_fm_ais_rdi = (const struct oam_fm_ais_rdi_t *)(p + OAM_CELLTYPE_FUNCTYPE_LEN);
         ND_TCHECK(*oam_ptr.oam_fm_ais_rdi);
-        ND_PRINT((ndo, "\n\tFailure-type 0x%02x", oam_ptr.oam_fm_ais_rdi->failure_type));
+        ND_PRINT((ndo, "\n\tFailure-type 0x%02x", EXTRACT_U_1(oam_ptr.oam_fm_ais_rdi->failure_type)));
         ND_PRINT((ndo, "\n\tLocation-ID "));
         for (idx = 0; idx < sizeof(oam_ptr.oam_fm_ais_rdi->failure_location); idx++) {
             if (idx % 2) {