/* IDL typedef struct { IDL long element_82; IDL [size_is(element_82)] [unique] byte *element_83; IDL } TYPE_12; */ static int dissect_browser_TYPE_12_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { guint32 len; dcerpc_info *di; int old_offset = offset; di=pinfo->private_data; if(di->conformant_run){ /* this call is to make wireshark eat the array header for the conformant run */ offset =dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, NULL); return offset; } /* this is really the length of the encoded data */ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_browser_unknown_long, &len); proto_tree_add_item(tree, hf_browser_unknown_bytes, tvb, offset, len, FALSE); offset += len; if (offset < old_offset) THROW(ReportedBoundsError); return offset; }
/* IDL typedef struct { IDL long element_7; IDL [size_is(element_7)] [unique] byte *element_8; IDL } TYPE_4; */ static int dissect_browser_TYPE_4_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep) { guint32 len; int old_offset = offset; if(di->conformant_run) { /* this call is to make wireshark eat the array header for the conformant run */ offset =dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, NULL); return offset; } offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_unknown_long, &len); proto_tree_add_item(tree, hf_browser_unknown_bytes, tvb, offset, len, ENC_NA); offset += len; if (offset < old_offset) THROW(ReportedBoundsError); return len; }
/* IDL typedef struct { IDL long element_57; IDL [size_is(element_57)] [unique] TYPE_11 *element_58; IDL } TYPE_10; */ static int dissect_browser_TYPE_11_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, dissect_browser_TYPE_11); return offset; }