]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Use nd_ types, add EXTRACT_ calls.
authorGuy Harris <[email protected]>
Sun, 31 Dec 2017 01:10:28 +0000 (17:10 -0800)
committerGuy Harris <[email protected]>
Sun, 31 Dec 2017 01:10:28 +0000 (17:10 -0800)
print-m3ua.c

index c50ed0d4f62b2be7090c200972c954736c223c25..fa51e4b0ff5beae6d9a9effd09df37a89561f77f 100644 (file)
@@ -40,16 +40,16 @@ static const char tstr[] = " [|m3ua]";
 #define M3UA_REL_1_0 1
 
 struct m3ua_common_header {
-  uint8_t  v;
-  uint8_t  reserved;
-  uint8_t  msg_class;
-  uint8_t  msg_type;
-  uint32_t len;
+  nd_uint8_t  v;
+  nd_uint8_t  reserved;
+  nd_uint8_t  msg_class;
+  nd_uint8_t  msg_type;
+  nd_uint32_t len;
 };
 
 struct m3ua_param_header {
-  uint16_t tag;
-  uint16_t len;
+  nd_uint16_t tag;
+  nd_uint16_t len;
 };
 
 /* message classes */
@@ -302,32 +302,34 @@ m3ua_print(netdissect_options *ndo,
 {
   const struct m3ua_common_header *hdr = (const struct m3ua_common_header *) buf;
   const struct tok *dict;
+  uint8_t msg_class;
 
   /* size includes the header */
   if (size < sizeof(struct m3ua_common_header))
     goto invalid;
   ND_TCHECK(*hdr);
-  if (hdr->v != M3UA_REL_1_0)
+  if (EXTRACT_U_1(hdr->v) != M3UA_REL_1_0)
     return;
 
+  msg_class = EXTRACT_U_1(hdr->msg_class);
   dict =
-    hdr->msg_class == M3UA_MSGC_MGMT     ? MgmtMessages :
-    hdr->msg_class == M3UA_MSGC_TRANSFER ? TransferMessages :
-    hdr->msg_class == M3UA_MSGC_SSNM     ? SS7Messages :
-    hdr->msg_class == M3UA_MSGC_ASPSM    ? ASPStateMessages :
-    hdr->msg_class == M3UA_MSGC_ASPTM    ? ASPTrafficMessages :
-    hdr->msg_class == M3UA_MSGC_RKM      ? RoutingKeyMgmtMessages :
+    msg_class == M3UA_MSGC_MGMT     ? MgmtMessages :
+    msg_class == M3UA_MSGC_TRANSFER ? TransferMessages :
+    msg_class == M3UA_MSGC_SSNM     ? SS7Messages :
+    msg_class == M3UA_MSGC_ASPSM    ? ASPStateMessages :
+    msg_class == M3UA_MSGC_ASPTM    ? ASPTrafficMessages :
+    msg_class == M3UA_MSGC_RKM      ? RoutingKeyMgmtMessages :
     NULL;
 
-  ND_PRINT((ndo, "\n\t\t%s", tok2str(MessageClasses, "Unknown message class %i", hdr->msg_class)));
+  ND_PRINT((ndo, "\n\t\t%s", tok2str(MessageClasses, "Unknown message class %i", msg_class)));
   if (dict != NULL)
-    ND_PRINT((ndo, " %s Message", tok2str(dict, "Unknown (0x%02x)", hdr->msg_type)));
+    ND_PRINT((ndo, " %s Message", tok2str(dict, "Unknown (0x%02x)", EXTRACT_U_1(hdr->msg_type))));
 
-  if (size != EXTRACT_BE_U_4(&hdr->len))
-    ND_PRINT((ndo, "\n\t\t\t@@@@@@ Corrupted length %u of message @@@@@@", EXTRACT_BE_U_4(&hdr->len)));
+  if (size != EXTRACT_BE_U_4(hdr->len))
+    ND_PRINT((ndo, "\n\t\t\t@@@@@@ Corrupted length %u of message @@@@@@", EXTRACT_BE_U_4(hdr->len)));
   else
     m3ua_tags_print(ndo, buf + sizeof(struct m3ua_common_header),
-                    EXTRACT_BE_U_4(&hdr->len) - sizeof(struct m3ua_common_header));
+                    EXTRACT_BE_U_4(hdr->len) - sizeof(struct m3ua_common_header));
   return;
 
 invalid: