static void dissect_bat_batman(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { guint8 version; /* set protocol name */ col_set_str(pinfo->cinfo, COL_PROTOCOL, "BAT_BATMAN"); col_clear(pinfo->cinfo, COL_INFO); version = tvb_get_guint8(tvb, 0); switch (version) { case 5: dissect_bat_batman_v5(tvb, pinfo, tree); break; default: if (check_col(pinfo->cinfo, COL_INFO)) col_add_fstr(pinfo->cinfo, COL_INFO, "Unsupported Version %d", version); call_dissector(data_handle, tvb, pinfo, tree); break; } }
static void dissect_bat_batman(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { guint8 version; int offset = 0; /* set protocol name */ col_set_str(pinfo->cinfo, COL_PROTOCOL, "BAT_BATMAN"); col_clear(pinfo->cinfo, COL_INFO); version = tvb_get_guint8(tvb, 0); switch (version) { case 5: while (tvb_reported_length_remaining(tvb, offset)) { offset = dissect_bat_batman_v5(tvb, offset, pinfo, tree); } break; default: col_add_fstr(pinfo->cinfo, COL_INFO, "Unsupported Version %d", version); call_dissector(data_handle, tvb, pinfo, tree); break; } }