/* \summary: Asynchronous Transfer Mode (ATM) printer */
#ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
#endif
-#include <netdissect-stdinc.h>
+#include "netdissect-stdinc.h"
#include "netdissect.h"
#include "extract.h"
/* end of the original atmuni31.h */
-static const char tstr[] = "[|atm]";
#define OAM_CRC10_MASK 0x3ff
#define OAM_PAYLOAD_LEN 48
uint32_t llchdr;
u_int hdrlen = 0;
+ ndo->ndo_protocol = "atm_if";
if (caplen < 1 || length < 1) {
- ND_PRINT("%s", tstr);
+ nd_print_trunc(ndo);
return (caplen);
}
* control field.
*/
if (caplen < 3 || length < 3) {
- ND_PRINT("%s", tstr);
+ nd_print_trunc(ndo);
return (caplen);
}
* new DLT_IEEE802_6 value if we added it?
*/
if (caplen < 20 || length < 20) {
- ND_PRINT("%s", tstr);
+ nd_print_trunc(ndo);
return (caplen);
}
if (ndo->ndo_eflag)
ND_PRINT("Q.2931");
ND_TCHECK_1(p + MSG_TYPE_POS);
ND_PRINT(":%s ",
- tok2str(msgtype2str, "msgtype#%d", EXTRACT_U_1(p + MSG_TYPE_POS)));
+ tok2str(msgtype2str, "msgtype#%u", EXTRACT_U_1(p + MSG_TYPE_POS)));
/*
* The call reference comes before the message type,
ND_PRINT("CALL_REF:0x%06x", call_ref);
} else {
/* SSCOP with some unknown protocol atop it */
- ND_PRINT("SSCOP, proto %d ", EXTRACT_U_1(p + PROTO_POS));
+ ND_PRINT("SSCOP, proto %u ", EXTRACT_U_1(p + PROTO_POS));
}
return;
trunc:
- ND_PRINT(" %s", tstr);
+ nd_print_trunc(ndo);
}
/*
u_int vpi, u_int vci, u_int traftype, const u_char *p, u_int length,
u_int caplen)
{
+ ndo->ndo_protocol = "atm";
if (ndo->ndo_eflag)
ND_PRINT("VPI:%u VCI:%u ", vpi, vci);
};
void
-oam_print (netdissect_options *ndo,
- const u_char *p, u_int length, u_int hec)
+oam_print(netdissect_options *ndo,
+ const u_char *p, u_int length, u_int hec)
{
uint32_t cell_header;
uint16_t vpi, vci, cksum, cksum_shouldbe, idx;
const struct oam_fm_ais_rdi_t *oam_fm_ais_rdi;
} oam_ptr;
-
+ ndo->ndo_protocol = "oam";
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;
return;
trunc:
- ND_PRINT("[|oam]");
+ nd_print_trunc(ndo);
return;
}