diff options
author | Guy Harris <guy@alum.mit.edu> | 2017-12-30 17:10:28 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2017-12-30 17:10:28 -0800 |
commit | f06506ee7eb5612fb6d0446b919ab3c3ad58072b (patch) | |
tree | 1e14fc746f4be1b40955b3976b1a023aba4bd383 /print-m3ua.c | |
parent | 774f619e58b3b9798611cfaa4cb214193c09a0dd (diff) | |
download | tcpdump-f06506ee7eb5612fb6d0446b919ab3c3ad58072b.tar.gz |
Use nd_ types, add EXTRACT_ calls.
Diffstat (limited to 'print-m3ua.c')
-rw-r--r-- | print-m3ua.c | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/print-m3ua.c b/print-m3ua.c index c50ed0d4..fa51e4b0 100644 --- a/print-m3ua.c +++ b/print-m3ua.c @@ -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: |