static int sdatatlv_print(netdissect_options *ndo, register const u_char * pptr, register u_int len, u_int16_t op_msk, int indent) { const struct forces_tlv *tlv = (struct forces_tlv *)pptr; u_int rlen; register const u_char *tdp = (u_char *) TLV_DATA(tlv); u_int16_t type; /* * pdatacnt_print() has ensured that len (the TLV length) * >= TLV_HDRL. */ rlen = len - TLV_HDRL; ND_TCHECK(*tlv); type = EXTRACT_16BITS(&tlv->type); if (type != F_TLV_SPAD) { ND_PRINT((ndo, "Error: expecting SPARSEDATA!\n")); return -1; } return sdatailv_print(ndo, tdp, rlen, op_msk, indent); trunc: ND_PRINT((ndo, "%s", tstr)); return -1; }
int sdatatlv_print(register const u_char * pptr, register u_int len, u_int16_t op_msk, int indent) { const struct forces_tlv *tlv = (struct forces_tlv *)pptr; u_int rlen; register const u_char *tdp = (u_char *) TLV_DATA(tlv); u_int16_t type; /* * pdatacnt_print() has ensured that len (the TLV length) * >= TLV_HDRL. */ rlen = len - TLV_HDRL; TCHECK(*tlv); type = EXTRACT_16BITS(&tlv->type); if (type != F_TLV_SPAD) { printf("Error: expecting SPARSEDATA!\n"); return -1; } return sdatailv_print(tdp, rlen, op_msk, indent); trunc: fputs("[|forces]", stdout); return -1; }