summaryrefslogtreecommitdiff
path: root/print-m3ua.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2017-12-30 17:10:28 -0800
committerGuy Harris <guy@alum.mit.edu>2017-12-30 17:10:28 -0800
commitf06506ee7eb5612fb6d0446b919ab3c3ad58072b (patch)
tree1e14fc746f4be1b40955b3976b1a023aba4bd383 /print-m3ua.c
parent774f619e58b3b9798611cfaa4cb214193c09a0dd (diff)
downloadtcpdump-f06506ee7eb5612fb6d0446b919ab3c3ad58072b.tar.gz
Use nd_ types, add EXTRACT_ calls.
Diffstat (limited to 'print-m3ua.c')
-rw-r--r--print-m3ua.c40
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: