* do from the caplen test above, we also know we have
* the call reference.
*/
- call_ref = EXTRACT_BE_24BITS(&p[CALL_REF_POS]);
+ call_ref = EXTRACT_BE_24BITS(p + CALL_REF_POS);
ND_PRINT((ndo, "CALL_REF:0x%06x", call_ref));
} else {
/* SSCOP with some unknown protocol atop it */
ND_PRINT((ndo, "%s ",
as_printf(ndo, astostr, sizeof(astostr),
as_size == 2 ?
- EXTRACT_BE_16BITS(&tptr[2 + i]) :
- EXTRACT_BE_32BITS(&tptr[2 + i]))));
+ EXTRACT_BE_16BITS(tptr + i + 2) :
+ EXTRACT_BE_32BITS(tptr + i + 2))));
}
ND_TCHECK(tptr[0]);
ND_PRINT((ndo, "%s", tok2str(bgp_as_path_segment_close_values,
vec[0].len = len;
if (ND_TTEST2(bp[0], len) && in_cksum(vec, 1))
ND_PRINT((ndo, " (bad carp cksum %x!)",
- EXTRACT_BE_16BITS(&bp[6])));
+ EXTRACT_BE_16BITS(bp + 6)));
}
- ND_PRINT((ndo, "counter=%" PRIu64, EXTRACT_BE_64BITS(&bp[8])));
+ ND_PRINT((ndo, "counter=%" PRIu64, EXTRACT_BE_64BITS(bp + 8)));
return;
trunc:
ND_TCHECK2(p[pl], 2);
if (p + pl + 2 > endp)
goto trunc;
- al = EXTRACT_BE_16BITS(&p[pl]); /* address length */
+ al = EXTRACT_BE_16BITS(p + pl); /* address length */
if (pt == PT_NLPID && pl == 1 && *p == NLPID_IP && al == 4) {
/*
if (length < CHDLC_HDRLEN)
goto trunc;
ND_TCHECK2(*p, CHDLC_HDRLEN);
- proto = EXTRACT_BE_16BITS(&p[2]);
+ proto = EXTRACT_BE_16BITS(p + 2);
if (ndo->ndo_eflag) {
ND_PRINT((ndo, "%s, ethertype %s (0x%04x), length %u: ",
tok2str(chdlc_cast_values, "0x%02x", p[0]),
case 1:
if (optlen >= 2 + 6) {
ND_PRINT((ndo, " hwaddr/time type %u time %u ",
- EXTRACT_BE_16BITS(&tp[2]),
- EXTRACT_BE_32BITS(&tp[4])));
+ EXTRACT_BE_16BITS(tp + 2),
+ EXTRACT_BE_32BITS(tp + 4)));
for (i = 8; i < optlen; i++)
ND_PRINT((ndo, "%02x", tp[i]));
/*(*/
case 3:
if (optlen >= 2 + 2) {
ND_PRINT((ndo, " hwaddr type %u ",
- EXTRACT_BE_16BITS(&tp[2])));
+ EXTRACT_BE_16BITS(tp + 2)));
for (i = 4; i < optlen; i++)
ND_PRINT((ndo, "%02x", tp[i]));
/*(*/
tp = (const u_char *)(dh6o + 1);
ND_PRINT((ndo, " %s", ip6addr_string(ndo, &tp[0])));
ND_PRINT((ndo, " pltime:%u vltime:%u",
- EXTRACT_BE_32BITS(&tp[16]),
- EXTRACT_BE_32BITS(&tp[20])));
+ EXTRACT_BE_32BITS(tp + 16),
+ EXTRACT_BE_32BITS(tp + 20)));
if (optlen > 24) {
/* there are sub-options */
dhcp6opt_print(ndo, tp + 24, tp + optlen);
tp = (const u_char *)(dh6o + 1);
for (i = 0; i < optlen; i += 2) {
ND_PRINT((ndo, " %s",
- tok2str(dh6opt_str, "opt_%u", EXTRACT_BE_16BITS(&tp[i]))));
+ tok2str(dh6opt_str, "opt_%u", EXTRACT_BE_16BITS(tp + i))));
}
ND_PRINT((ndo, ")"));
break;
break;
}
tp = (const u_char *)(dh6o + 1);
- ND_PRINT((ndo, " %s)", dhcp6stcode(EXTRACT_BE_16BITS(&tp[0]))));
+ ND_PRINT((ndo, " %s)", dhcp6stcode(EXTRACT_BE_16BITS(tp))));
break;
case DH6OPT_IA_NA:
case DH6OPT_IA_PD:
}
tp = (const u_char *)(dh6o + 1);
ND_PRINT((ndo, " IAID:%u T1:%u T2:%u",
- EXTRACT_BE_32BITS(&tp[0]),
- EXTRACT_BE_32BITS(&tp[4]),
- EXTRACT_BE_32BITS(&tp[8])));
+ EXTRACT_BE_32BITS(tp),
+ EXTRACT_BE_32BITS(tp + 4),
+ EXTRACT_BE_32BITS(tp + 8)));
if (optlen > 12) {
/* there are sub-options */
dhcp6opt_print(ndo, tp + 12, tp + optlen);
tp = (const u_char *)(dh6o + 1);
ND_PRINT((ndo, " %s/%d", ip6addr_string(ndo, &tp[9]), tp[8]));
ND_PRINT((ndo, " pltime:%u vltime:%u",
- EXTRACT_BE_32BITS(&tp[0]),
- EXTRACT_BE_32BITS(&tp[4])));
+ EXTRACT_BE_32BITS(tp),
+ EXTRACT_BE_32BITS(tp + 4)));
if (optlen > 25) {
/* there are sub-options */
dhcp6opt_print(ndo, tp + 25, tp + optlen);
}
ND_TCHECK2(bp[26], 2);
- nsrcs = EXTRACT_BE_16BITS(&bp[26]);
+ nsrcs = EXTRACT_BE_16BITS(bp + 26);
if (nsrcs > 0) {
if (len < 28 + nsrcs * sizeof(struct in6_addr))
ND_PRINT((ndo," [invalid number of sources]"));
return;
}
ND_TCHECK2(bp[6], 2);
- ngroups = EXTRACT_BE_16BITS(&bp[6]);
+ ngroups = EXTRACT_BE_16BITS(bp + 6);
ND_PRINT((ndo, ", %d group record(s)", ngroups));
if (ndo->ndo_vflag > 0) {
/* Print the group records */
ND_PRINT((ndo, " [gaddr %s", ipaddr_string(ndo, &bp[group+4])));
ND_PRINT((ndo, " %s", tok2str(igmpv3report2str, " [v3-report-#%d]",
bp[group])));
- nsrcs = EXTRACT_BE_16BITS(&bp[group + 2]);
+ nsrcs = EXTRACT_BE_16BITS(bp + group + 2);
/* Check the number of sources and print them */
if (len < group+8+(nsrcs<<2)) {
ND_PRINT((ndo, " [invalid number of sources %d]", nsrcs));
ND_PRINT((ndo, "]"));
}
ND_TCHECK2(bp[4], 4);
- if (EXTRACT_BE_32BITS(&bp[4]) == 0)
+ if (EXTRACT_BE_32BITS(bp + 4) == 0)
return;
ND_PRINT((ndo, " [gaddr %s", ipaddr_string(ndo, &bp[4])));
ND_TCHECK2(bp[10], 2);
- nsrcs = EXTRACT_BE_16BITS(&bp[10]);
+ nsrcs = EXTRACT_BE_16BITS(bp + 10);
if (nsrcs > 0) {
if (len < 12 + (nsrcs << 2))
ND_PRINT((ndo, " [invalid number of sources]"));
} else
ND_PRINT((ndo, " v1"));
ND_TCHECK2(bp[4], 4);
- if (EXTRACT_BE_32BITS(&bp[4]))
+ if (EXTRACT_BE_32BITS(bp + 4))
ND_PRINT((ndo, " [gaddr %s]", ipaddr_string(ndo, &bp[4])));
if (len != 8)
ND_PRINT((ndo, " [len %d]", len));
vec[0].ptr = bp;
vec[0].len = len;
if (in_cksum(vec, 1))
- ND_PRINT((ndo, " bad igmp cksum %x!", EXTRACT_BE_16BITS(&bp[2])));
+ ND_PRINT((ndo, " bad igmp cksum %x!", EXTRACT_BE_16BITS(bp + 2)));
}
return;
trunc:
if (ptr == len)
type = " ^ ";
ND_TCHECK2(cp[len], hoplen);
- ND_PRINT((ndo, "%s%d@%s", type, EXTRACT_BE_32BITS(&cp[len + hoplen - 4]),
+ ND_PRINT((ndo, "%s%d@%s", type, EXTRACT_BE_32BITS(cp + len + hoplen - 4),
hoplen!=8 ? "" : ipaddr_string(ndo, &cp[len])));
type = " ";
}
break;
}
ND_TCHECK(cp[3]);
- if (EXTRACT_BE_16BITS(&cp[2]) != 0)
- ND_PRINT((ndo, " value %u", EXTRACT_BE_16BITS(&cp[2])));
+ if (EXTRACT_BE_16BITS(cp + 2) != 0)
+ ND_PRINT((ndo, " value %u", EXTRACT_BE_16BITS(cp + 2)));
break;
case IPOPT_NOP: /* nothing to print - fall through */
ND_PRINT((ndo, "(rtalert: invalid len %d)", bp[i + 1]));
goto trunc;
}
- ND_PRINT((ndo, "(rtalert: 0x%04x) ", EXTRACT_BE_16BITS(&bp[i + 2])));
+ ND_PRINT((ndo, "(rtalert: 0x%04x) ", EXTRACT_BE_16BITS(bp + i + 2)));
break;
case IP6OPT_JUMBO:
if (len - i < IP6OPT_JUMBO_LEN) {
ND_PRINT((ndo, "(jumbo: invalid len %d)", bp[i + 1]));
goto trunc;
}
- ND_PRINT((ndo, "(jumbo: %u) ", EXTRACT_BE_32BITS(&bp[i + 2])));
+ ND_PRINT((ndo, "(jumbo: %u) ", EXTRACT_BE_32BITS(bp + i + 2)));
break;
case IP6OPT_HOME_ADDRESS:
if (len - i < IP6OPT_HOMEADDR_MINLEN) {
ND_PRINT((ndo, "ipx-sap-nearest-req"));
ND_TCHECK(ipx[0]);
- ND_PRINT((ndo, " %s", ipxsap_string(ndo, htons(EXTRACT_BE_16BITS(&ipx[0])))));
+ ND_PRINT((ndo, " %s", ipxsap_string(ndo, htons(EXTRACT_BE_16BITS(ipx)))));
break;
case 2:
for (i = 0; i < 8 && length > 0; i++) {
ND_TCHECK(ipx[0]);
- ND_PRINT((ndo, " %s '", ipxsap_string(ndo, htons(EXTRACT_BE_16BITS(&ipx[0])))));
+ ND_PRINT((ndo, " %s '", ipxsap_string(ndo, htons(EXTRACT_BE_16BITS(ipx)))));
if (fn_printzp(ndo, (const u_char *)&ipx[1], 48, ndo->ndo_snapend)) {
ND_PRINT((ndo, "'"));
goto trunc;
}
ND_TCHECK2(ipx[25], 10);
ND_PRINT((ndo, "' addr %s",
- ipxaddr_string(EXTRACT_BE_32BITS(&ipx[25]), (const u_char *)&ipx[27])));
+ ipxaddr_string(EXTRACT_BE_32BITS(ipx + 25), (const u_char *)&ipx[27])));
ipx += 32;
length -= 64;
}
ND_PRINT((ndo, "ipx-rip-req"));
if (length > 0) {
ND_TCHECK(ipx[3]);
- ND_PRINT((ndo, " %08x/%d.%d", EXTRACT_BE_32BITS(&ipx[0]),
- EXTRACT_BE_16BITS(&ipx[2]), EXTRACT_BE_16BITS(&ipx[3])));
+ ND_PRINT((ndo, " %08x/%d.%d", EXTRACT_BE_32BITS(ipx),
+ EXTRACT_BE_16BITS(ipx + 2), EXTRACT_BE_16BITS(ipx + 3)));
}
break;
case 2:
ND_PRINT((ndo, "ipx-rip-resp"));
for (i = 0; i < 50 && length > 0; i++) {
ND_TCHECK(ipx[3]);
- ND_PRINT((ndo, " %08x/%d.%d", EXTRACT_BE_32BITS(&ipx[0]),
- EXTRACT_BE_16BITS(&ipx[2]), EXTRACT_BE_16BITS(&ipx[3])));
+ ND_PRINT((ndo, " %08x/%d.%d", EXTRACT_BE_32BITS(ipx),
+ EXTRACT_BE_16BITS(ipx + 2), EXTRACT_BE_16BITS(ipx + 3)));
ipx += 4;
length -= 8;
totlen = 4;
else {
ND_TCHECK_16BITS(&p[2]);
- totlen = 4 + EXTRACT_BE_16BITS(&p[2]);
+ totlen = 4 + EXTRACT_BE_16BITS(p + 2);
}
if (ep2 < p + totlen) {
ND_PRINT((ndo,"[|attr]"));
ND_TCHECK_16BITS(&p[0]);
ND_PRINT((ndo,"("));
- t = EXTRACT_BE_16BITS(&p[0]) & 0x7fff;
+ t = EXTRACT_BE_16BITS(p) & 0x7fff;
if (map && t < nmap && map[t].type)
ND_PRINT((ndo,"type=%s ", map[t].type));
else
if (p[0] & 0x80) {
ND_PRINT((ndo,"value="));
ND_TCHECK_16BITS(&p[2]);
- v = EXTRACT_BE_16BITS(&p[2]);
+ v = EXTRACT_BE_16BITS(p + 2);
if (map && t < nmap && v < map[t].nvalue && map[t].value[v])
ND_PRINT((ndo,"%s", map[t].value[v]));
else {
totlen = 4;
else {
ND_TCHECK_16BITS(&p[2]);
- totlen = 4 + EXTRACT_BE_16BITS(&p[2]);
+ totlen = 4 + EXTRACT_BE_16BITS(p + 2);
}
if (ep2 < p + totlen) {
ND_PRINT((ndo,"[|attr]"));
ND_TCHECK_16BITS(&p[0]);
ND_PRINT((ndo,"("));
- t = EXTRACT_BE_16BITS(&p[0]) & 0x7fff;
+ t = EXTRACT_BE_16BITS(p) & 0x7fff;
ND_PRINT((ndo,"type=#%d ", t));
if (p[0] & 0x80) {
ND_PRINT((ndo,"value="));
/* units of 4 secs */
ND_TCHECK_16BITS(&bp[i+2]);
ND_PRINT((ndo, "(refresh: %u)",
- EXTRACT_BE_16BITS(&bp[i + 2]) << 2));
+ EXTRACT_BE_16BITS(bp + i + 2) << 2));
break;
case IP6MOPT_ALTCOA:
if (len - i < IP6MOPT_ALTCOA_MINLEN) {
ND_TCHECK_16BITS(&bp[i+2]);
ND_TCHECK_16BITS(&bp[i+4]);
ND_PRINT((ndo, "(ni: ho=0x%04x co=0x%04x)",
- EXTRACT_BE_16BITS(&bp[i + 2]),
- EXTRACT_BE_16BITS(&bp[i + 4])));
+ EXTRACT_BE_16BITS(bp + i + 2),
+ EXTRACT_BE_16BITS(bp + i + 4)));
break;
case IP6MOPT_AUTH:
if (len - i < IP6MOPT_AUTH_MINLEN) {
ND_TCHECK_32BITS(&bp[hlen + 4]);
ND_PRINT((ndo, " %s Init Cookie=%08x:%08x",
type == IP6M_HOME_TEST_INIT ? "Home" : "Care-of",
- EXTRACT_BE_32BITS(&bp[hlen]),
- EXTRACT_BE_32BITS(&bp[hlen + 4])));
+ EXTRACT_BE_32BITS(bp + hlen),
+ EXTRACT_BE_32BITS(bp + hlen + 4)));
}
hlen += 8;
break;
ND_TCHECK_32BITS(&bp[hlen + 4]);
ND_PRINT((ndo, " %s Init Cookie=%08x:%08x",
type == IP6M_HOME_TEST ? "Home" : "Care-of",
- EXTRACT_BE_32BITS(&bp[hlen]),
- EXTRACT_BE_32BITS(&bp[hlen + 4])));
+ EXTRACT_BE_32BITS(bp + hlen),
+ EXTRACT_BE_32BITS(bp + hlen + 4)));
}
hlen += 8;
if (ndo->ndo_vflag) {
ND_TCHECK_32BITS(&bp[hlen + 4]);
ND_PRINT((ndo, " %s Keygen Token=%08x:%08x",
type == IP6M_HOME_TEST ? "Home" : "Care-of",
- EXTRACT_BE_32BITS(&bp[hlen]),
- EXTRACT_BE_32BITS(&bp[hlen + 4])));
+ EXTRACT_BE_32BITS(bp + hlen),
+ EXTRACT_BE_32BITS(bp + hlen + 4)));
}
hlen += 8;
break;
hlen += 1;
ND_TCHECK_16BITS(&bp[hlen]);
/* units of 4 secs */
- ND_PRINT((ndo, " lifetime=%u", EXTRACT_BE_16BITS(&bp[hlen]) << 2));
+ ND_PRINT((ndo, " lifetime=%u", EXTRACT_BE_16BITS(bp + hlen) << 2));
hlen += 2;
break;
case IP6M_BINDING_ACK:
/* Reserved (7bits) */
hlen = IP6M_MINLEN;
ND_TCHECK_16BITS(&bp[hlen]);
- ND_PRINT((ndo, " seq#=%u", EXTRACT_BE_16BITS(&bp[hlen])));
+ ND_PRINT((ndo, " seq#=%u", EXTRACT_BE_16BITS(bp + hlen)));
hlen += 2;
ND_TCHECK_16BITS(&bp[hlen]);
/* units of 4 secs */
- ND_PRINT((ndo, " lifetime=%u", EXTRACT_BE_16BITS(&bp[hlen]) << 2));
+ ND_PRINT((ndo, " lifetime=%u", EXTRACT_BE_16BITS(bp + hlen) << 2));
hlen += 2;
break;
case IP6M_BINDING_ERROR:
*/
dp = (const uint32_t *)&rp->rm_call.cb_cred;
ND_TCHECK(dp[1]);
- len = EXTRACT_BE_32BITS(&dp[1]);
+ len = EXTRACT_BE_32BITS(dp + 1);
if (len < length) {
dp += (len + (2 * sizeof(*dp) + 3)) / sizeof(*dp);
ND_TCHECK(dp[1]);
- len = EXTRACT_BE_32BITS(&dp[1]);
+ len = EXTRACT_BE_32BITS(dp + 1);
if (len < length) {
dp += (len + (2 * sizeof(*dp) + 3)) / sizeof(*dp);
ND_TCHECK2(dp[0], 0);
if ((dp = parsereq(ndo, rp, length)) != NULL &&
(dp = parsefh(ndo, dp, v3)) != NULL) {
ND_TCHECK(dp[0]);
- access_flags = EXTRACT_BE_32BITS(&dp[0]);
+ access_flags = EXTRACT_BE_32BITS(dp);
if (access_flags & ~NFSV3ACCESS_FULL) {
/* NFSV3ACCESS definitions aren't up to date */
ND_PRINT((ndo, " %04x", access_flags));
if (v3) {
ND_TCHECK(dp[2]);
ND_PRINT((ndo, " %u bytes @ %" PRIu64,
- EXTRACT_BE_32BITS(&dp[2]),
- EXTRACT_BE_64BITS(&dp[0])));
+ EXTRACT_BE_32BITS(dp + 2),
+ EXTRACT_BE_64BITS(dp)));
} else {
ND_TCHECK(dp[1]);
ND_PRINT((ndo, " %u bytes @ %u",
- EXTRACT_BE_32BITS(&dp[1]),
- EXTRACT_BE_32BITS(&dp[0])));
+ EXTRACT_BE_32BITS(dp + 1),
+ EXTRACT_BE_32BITS(dp)));
}
return;
}
if (v3) {
ND_TCHECK(dp[4]);
ND_PRINT((ndo, " %u (%u) bytes @ %" PRIu64,
- EXTRACT_BE_32BITS(&dp[4]),
- EXTRACT_BE_32BITS(&dp[2]),
- EXTRACT_BE_64BITS(&dp[0])));
+ EXTRACT_BE_32BITS(dp + 4),
+ EXTRACT_BE_32BITS(dp + 2),
+ EXTRACT_BE_64BITS(dp)));
if (ndo->ndo_vflag) {
ND_PRINT((ndo, " <%s>",
tok2str(nfsv3_writemodes,
- NULL, EXTRACT_BE_32BITS(&dp[3]))));
+ NULL, EXTRACT_BE_32BITS(dp + 3))));
}
} else {
ND_TCHECK(dp[3]);
ND_PRINT((ndo, " %u (%u) bytes @ %u (%u)",
- EXTRACT_BE_32BITS(&dp[3]),
- EXTRACT_BE_32BITS(&dp[2]),
- EXTRACT_BE_32BITS(&dp[1]),
- EXTRACT_BE_32BITS(&dp[0])));
+ EXTRACT_BE_32BITS(dp + 3),
+ EXTRACT_BE_32BITS(dp + 2),
+ EXTRACT_BE_32BITS(dp + 1),
+ EXTRACT_BE_32BITS(dp)));
}
return;
}
if (ndo->ndo_vflag && (type == NFCHR || type == NFBLK)) {
ND_TCHECK(dp[1]);
ND_PRINT((ndo, " %u/%u",
- EXTRACT_BE_32BITS(&dp[0]),
- EXTRACT_BE_32BITS(&dp[1])));
+ EXTRACT_BE_32BITS(dp),
+ EXTRACT_BE_32BITS(dp + 1)));
dp += 2;
}
if (ndo->ndo_vflag)
* offset cookie here.
*/
ND_PRINT((ndo, " %u bytes @ %" PRId64,
- EXTRACT_BE_32BITS(&dp[4]),
- EXTRACT_BE_64BITS(&dp[0])));
+ EXTRACT_BE_32BITS(dp + 4),
+ EXTRACT_BE_64BITS(dp)));
if (ndo->ndo_vflag)
ND_PRINT((ndo, " verf %08x%08x", dp[2], dp[3]));
} else {
* common, but offsets > 2^31 aren't.
*/
ND_PRINT((ndo, " %u bytes @ %d",
- EXTRACT_BE_32BITS(&dp[1]),
- EXTRACT_BE_32BITS(&dp[0])));
+ EXTRACT_BE_32BITS(dp + 1),
+ EXTRACT_BE_32BITS(dp)));
}
return;
}
* cookie here.
*/
ND_PRINT((ndo, " %u bytes @ %" PRId64,
- EXTRACT_BE_32BITS(&dp[4]),
- EXTRACT_BE_64BITS(&dp[0])));
+ EXTRACT_BE_32BITS(dp + 4),
+ EXTRACT_BE_64BITS(dp)));
if (ndo->ndo_vflag) {
ND_TCHECK(dp[5]);
ND_PRINT((ndo, " max %u verf %08x%08x",
- EXTRACT_BE_32BITS(&dp[5]), dp[2], dp[3]));
+ EXTRACT_BE_32BITS(dp + 5), dp[2], dp[3]));
}
return;
}
(dp = parsefh(ndo, dp, v3)) != NULL) {
ND_TCHECK(dp[2]);
ND_PRINT((ndo, " %u bytes @ %" PRIu64,
- EXTRACT_BE_32BITS(&dp[2]),
- EXTRACT_BE_64BITS(&dp[0])));
+ EXTRACT_BE_32BITS(dp + 2),
+ EXTRACT_BE_64BITS(dp)));
return;
}
break;
*/
dp = ((const uint32_t *)&rp->rm_reply) + 1;
ND_TCHECK(dp[1]);
- len = EXTRACT_BE_32BITS(&dp[1]);
+ len = EXTRACT_BE_32BITS(dp + 1);
if (len >= length)
return (NULL);
/*
ND_TCHECK(dp[0]);
- errnum = EXTRACT_BE_32BITS(&dp[0]);
+ errnum = EXTRACT_BE_32BITS(dp);
if (er)
*er = errnum;
if (errnum != 0) {
ND_TCHECK(dp[2]);
ND_PRINT((ndo, " offset 0x%x size %d ",
- EXTRACT_BE_32BITS(&dp[0]), EXTRACT_BE_32BITS(&dp[1])));
+ EXTRACT_BE_32BITS(dp), EXTRACT_BE_32BITS(dp + 1)));
if (dp[2] != 0)
ND_PRINT((ndo, " eof"));
const uint32_t *dp)
{
/* Our caller has already checked this */
- ND_PRINT((ndo, " sz %" PRIu64, EXTRACT_BE_64BITS(&dp[0])));
+ ND_PRINT((ndo, " sz %" PRIu64, EXTRACT_BE_64BITS(dp)));
ND_PRINT((ndo, " mtime %u.%06u ctime %u.%06u",
- EXTRACT_BE_32BITS(&dp[2]), EXTRACT_BE_32BITS(&dp[3]),
- EXTRACT_BE_32BITS(&dp[4]), EXTRACT_BE_32BITS(&dp[5])));
+ EXTRACT_BE_32BITS(dp + 2), EXTRACT_BE_32BITS(dp + 3),
+ EXTRACT_BE_32BITS(dp + 4), EXTRACT_BE_32BITS(dp + 5)));
return (dp + 6);
}
const uint32_t *dp, int verbose)
{
ND_TCHECK(dp[0]);
- if (!EXTRACT_BE_32BITS(&dp[0]))
+ if (!EXTRACT_BE_32BITS(dp))
return (dp + 1);
dp++;
ND_TCHECK2(*dp, 24);
const uint32_t *dp, int verbose)
{
ND_TCHECK(dp[0]);
- if (!EXTRACT_BE_32BITS(&dp[0]))
+ if (!EXTRACT_BE_32BITS(dp))
return (dp + 1);
dp++;
if (verbose) {
dp = parse_wcc_data(ndo, dp, verbose);
else {
ND_TCHECK(dp[0]);
- if (!EXTRACT_BE_32BITS(&dp[0]))
+ if (!EXTRACT_BE_32BITS(dp))
return (dp + 1);
dp++;
if (!(dp = parsefh(ndo, dp, 1)))
break;
if (!er) {
ND_TCHECK(dp[0]);
- ND_PRINT((ndo, " c %04x", EXTRACT_BE_32BITS(&dp[0])));
+ ND_PRINT((ndo, " c %04x", EXTRACT_BE_32BITS(dp)));
}
return;
return;
if (ndo->ndo_vflag) {
ND_TCHECK(dp[1]);
- ND_PRINT((ndo, " %u bytes", EXTRACT_BE_32BITS(&dp[0])));
- if (EXTRACT_BE_32BITS(&dp[1]))
+ ND_PRINT((ndo, " %u bytes", EXTRACT_BE_32BITS(dp)));
+ if (EXTRACT_BE_32BITS(dp + 1))
ND_PRINT((ndo, " EOF"));
}
return;
return;
if (ndo->ndo_vflag) {
ND_TCHECK(dp[0]);
- ND_PRINT((ndo, " %u bytes", EXTRACT_BE_32BITS(&dp[0])));
+ ND_PRINT((ndo, " %u bytes", EXTRACT_BE_32BITS(dp)));
if (ndo->ndo_vflag > 1) {
ND_TCHECK(dp[1]);
ND_PRINT((ndo, " <%s>",
tok2str(nfsv3_writemodes,
- NULL, EXTRACT_BE_32BITS(&dp[1]))));
+ NULL, EXTRACT_BE_32BITS(dp + 1))));
}
return;
}
/* If it's a single group and a single source, use 1-line output. */
if (ND_TTEST2(bp[0], 30) && bp[11] == 1 &&
- ((njoin = EXTRACT_BE_16BITS(&bp[20])) + EXTRACT_BE_16BITS(&bp[22])) == 1) {
+ ((njoin = EXTRACT_BE_16BITS(bp + 20)) + EXTRACT_BE_16BITS(bp + 22)) == 1) {
int hold;
ND_PRINT((ndo, " RPF %s ", ipaddr_string(ndo, bp)));
- hold = EXTRACT_BE_16BITS(&bp[6]);
+ hold = EXTRACT_BE_16BITS(bp + 6);
if (hold != 180) {
ND_PRINT((ndo, "Hold "));
unsigned_relts_print(ndo, hold);
ND_PRINT((ndo, "%s (%s/%d, %s", njoin ? "Join" : "Prune",
ipaddr_string(ndo, &bp[26]), bp[25] & 0x3f,
ipaddr_string(ndo, &bp[12])));
- if (EXTRACT_BE_32BITS(&bp[16]) != 0xffffffff)
+ if (EXTRACT_BE_32BITS(bp + 16) != 0xffffffff)
ND_PRINT((ndo, "/%s", ipaddr_string(ndo, &bp[16])));
ND_PRINT((ndo, ") %s%s %s",
(bp[24] & 0x01) ? "Sparse" : "Dense",
if (ndo->ndo_vflag > 1)
ND_PRINT((ndo, "\n"));
ND_PRINT((ndo, " Hold time: "));
- unsigned_relts_print(ndo, EXTRACT_BE_16BITS(&bp[2]));
+ unsigned_relts_print(ndo, EXTRACT_BE_16BITS(bp + 2));
if (ndo->ndo_vflag < 2)
return;
bp += 4;
if (len < 4)
goto trunc;
ND_TCHECK2(bp[0], sizeof(struct in_addr));
- if (EXTRACT_BE_32BITS(&bp[0]) != 0xffffffff)
+ if (EXTRACT_BE_32BITS(bp) != 0xffffffff)
ND_PRINT((ndo, "/%s", ipaddr_string(ndo, &bp[0])));
bp += 4;
len -= 4;
if (len < 4)
goto trunc;
ND_TCHECK2(bp[0], 4);
- njoin = EXTRACT_BE_16BITS(&bp[0]);
- nprune = EXTRACT_BE_16BITS(&bp[2]);
+ njoin = EXTRACT_BE_16BITS(bp);
+ nprune = EXTRACT_BE_16BITS(bp + 2);
ND_PRINT((ndo, " joined: %d pruned: %d", njoin, nprune));
bp += 4;
len -= 4;
if (ndo->ndo_vflag) {
ND_TCHECK2(bp[10],2);
ND_PRINT((ndo, " (Hold-time "));
- unsigned_relts_print(ndo, EXTRACT_BE_16BITS(&bp[10]));
+ unsigned_relts_print(ndo, EXTRACT_BE_16BITS(bp + 10));
ND_PRINT((ndo, ")"));
}
break;
if (ndo->ndo_vflag) {
ND_TCHECK2(bp[22], 2);
ND_PRINT((ndo, " group %s", ipaddr_string(ndo, &bp[8])));
- if (EXTRACT_BE_32BITS(&bp[12]) != 0xffffffff)
+ if (EXTRACT_BE_32BITS(bp + 12) != 0xffffffff)
ND_PRINT((ndo, "/%s", ipaddr_string(ndo, &bp[12])));
ND_PRINT((ndo, " RP %s hold ", ipaddr_string(ndo, &bp[16])));
- unsigned_relts_print(ndo, EXTRACT_BE_16BITS(&bp[22]));
+ unsigned_relts_print(ndo, EXTRACT_BE_16BITS(bp + 22));
}
break;
case PIMV1_TYPE_ASSERT:
ND_TCHECK2(bp[16], sizeof(struct in_addr));
ND_PRINT((ndo, " for %s > %s", ipaddr_string(ndo, &bp[16]),
ipaddr_string(ndo, &bp[8])));
- if (EXTRACT_BE_32BITS(&bp[12]) != 0xffffffff)
+ if (EXTRACT_BE_32BITS(bp + 12) != 0xffffffff)
ND_PRINT((ndo, "/%s", ipaddr_string(ndo, &bp[12])));
ND_TCHECK2(bp[24], 4);
ND_PRINT((ndo, " %s pref %d metric %d",
(bp[20] & 0x80) ? "RP-tree" : "SPT",
- EXTRACT_BE_32BITS(&bp[20]) & 0x7fffffff,
- EXTRACT_BE_32BITS(&bp[24])));
+ EXTRACT_BE_32BITS(bp + 20) & 0x7fffffff,
+ EXTRACT_BE_32BITS(bp + 24)));
break;
case PIMV1_TYPE_JOIN_PRUNE:
case PIMV1_TYPE_GRAFT:
ND_TCHECK2(bp[2], 2);
ND_PRINT((ndo, " Hold "));
- hold = EXTRACT_BE_16BITS(&bp[2]);
+ hold = EXTRACT_BE_16BITS(bp + 2);
if (hold)
- unsigned_relts_print(ndo, EXTRACT_BE_16BITS(&bp[2]));
+ unsigned_relts_print(ndo, EXTRACT_BE_16BITS(bp + 2));
else
ND_PRINT((ndo, "FOREVER"));
if (len < 4)
goto trunc;
ND_TCHECK2(bp[0], 4);
- otype = EXTRACT_BE_16BITS(&bp[0]);
- olen = EXTRACT_BE_16BITS(&bp[2]);
+ otype = EXTRACT_BE_16BITS(bp);
+ olen = EXTRACT_BE_16BITS(bp + 2);
ND_PRINT((ndo, "\n\t %s Option (%u), length %u, Value: ",
tok2str(pimv2_hello_option_values, "Unknown", otype),
otype,
goto trunc;
ND_TCHECK2(*bp, 4);
ngroup = bp[1];
- holdtime = EXTRACT_BE_16BITS(&bp[2]);
+ holdtime = EXTRACT_BE_16BITS(bp + 2);
ND_PRINT((ndo, "\n\t %u group(s)", ngroup));
if (PIM_TYPE(pim->pim_typever) != 7) { /*not for Graft-ACK*/
ND_PRINT((ndo, ", holdtime: "));
if (len < 4)
goto trunc;
ND_TCHECK2(*bp, 4);
- njoin = EXTRACT_BE_16BITS(&bp[0]);
- nprune = EXTRACT_BE_16BITS(&bp[2]);
+ njoin = EXTRACT_BE_16BITS(bp);
+ nprune = EXTRACT_BE_16BITS(bp + 2);
ND_PRINT((ndo, ", joined sources: %u, pruned sources: %u", njoin, nprune));
bp += 4; len -= 4;
for (j = 0; j < njoin; j++) {
ND_TCHECK2(*bp, 8);
if (bp[0] & 0x80)
ND_PRINT((ndo, " RPT"));
- ND_PRINT((ndo, " pref=%u", EXTRACT_BE_32BITS(&bp[0]) & 0x7fffffff));
- ND_PRINT((ndo, " metric=%u", EXTRACT_BE_32BITS(&bp[4])));
+ ND_PRINT((ndo, " pref=%u", EXTRACT_BE_32BITS(bp) & 0x7fffffff));
+ ND_PRINT((ndo, " metric=%u", EXTRACT_BE_32BITS(bp + 4)));
break;
case PIMV2_TYPE_CANDIDATE_RP:
goto trunc;
ND_TCHECK_16BITS(&bp[2]);
ND_PRINT((ndo, " holdtime="));
- unsigned_relts_print(ndo, EXTRACT_BE_16BITS(&bp[2]));
+ unsigned_relts_print(ndo, EXTRACT_BE_16BITS(bp + 2));
bp += 4;
len -= 4;
return;
ND_TCHECK_16BITS(&buf[10]);
- flags2 = EXTRACT_LE_16BITS(&buf[10]);
+ flags2 = EXTRACT_LE_16BITS(buf + 10);
unicodestr = flags2 & 0x8000;
nterrcodes = flags2 & 0x4000;
smb_fdata(ndo, buf, fmt_smbheader, buf + 33, unicodestr);
if (nterrcodes) {
- nterror = EXTRACT_LE_32BITS(&buf[5]);
+ nterror = EXTRACT_LE_32BITS(buf + 5);
if (nterror)
ND_PRINT((ndo, "NTError = %s\n", nt_errstr(nterror)));
} else {
if (buf[5])
- ND_PRINT((ndo, "SMBError = %s\n", smb_errstr(buf[5], EXTRACT_LE_16BITS(&buf[7]))));
+ ND_PRINT((ndo, "SMBError = %s\n", smb_errstr(buf[5], EXTRACT_LE_16BITS(buf + 7))));
}
smboffset = 32;
break;
}
- vci = EXTRACT_BE_16BITS(&p[VCI_POS]);
+ vci = EXTRACT_BE_16BITS(p + VCI_POS);
vpi = p[VPI_POS];
p += PKT_BEGIN_POS;
vec[0].len = len;
if (in_cksum(vec, 1))
ND_PRINT((ndo, ", (bad vrrp cksum %x)",
- EXTRACT_BE_16BITS(&bp[6])));
+ EXTRACT_BE_16BITS(bp + 6)));
}
if (version == 3 && ND_TTEST2(bp[0], len)) {
len, len, IPPROTO_VRRP);
if (cksum)
ND_PRINT((ndo, ", (bad vrrp cksum %x)",
- EXTRACT_BE_16BITS(&bp[6])));
+ EXTRACT_BE_16BITS(bp + 6)));
}
ND_PRINT((ndo, ", addrs"));