summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcerpc-browser.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-19 04:14:53 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-19 04:14:53 +0000
commita86c5f7cae7ec9a3398300555a0b644689d946a1 (patch)
tree39fe4b107c71174fd1e8a8ceb9a4d2aa14116248 /epan/dissectors/packet-dcerpc-browser.c
parentReleasing progress-linux version 4.2.6-1~progress7.99u1. (diff)
downloadwireshark-a86c5f7cae7ec9a3398300555a0b644689d946a1.tar.xz
wireshark-a86c5f7cae7ec9a3398300555a0b644689d946a1.zip
Merging upstream version 4.4.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/packet-dcerpc-browser.c')
-rw-r--r--epan/dissectors/packet-dcerpc-browser.c2790
1 files changed, 2010 insertions, 780 deletions
diff --git a/epan/dissectors/packet-dcerpc-browser.c b/epan/dissectors/packet-dcerpc-browser.c
index 107583a5..ee3a611a 100644
--- a/epan/dissectors/packet-dcerpc-browser.c
+++ b/epan/dissectors/packet-dcerpc-browser.c
@@ -1,1170 +1,2400 @@
-/* packet-dcerpc-browser.c
- * Routines for DCERPC Browser packet disassembly
- * Copyright 2001, Ronnie Sahlberg
- *
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * SPDX-License-Identifier: GPL-2.0-or-later
- */
-
-/* The IDL file for this interface can be extracted by grepping for idl
- * in capitals.
- */
+/* DO NOT EDIT
+ This file was automatically generated by Pidl
+ from browser.idl and browser.cnf.
+
+ Pidl is a perl based IDL compiler for DCE/RPC idl files.
+ It is maintained by the Samba team, not the Wireshark team.
+ Instructions on how to download and install Pidl can be
+ found at https://wiki.wireshark.org/Pidl
+*/
-#include "config.h"
+#include "config.h"
+#include <string.h>
+#include <wsutil/array.h>
#include <epan/packet.h>
-#include <epan/exceptions.h>
+#include <epan/tfs.h>
#include "packet-dcerpc.h"
-#include "packet-dcerpc-browser.h"
#include "packet-dcerpc-nt.h"
#include "packet-windows-common.h"
-
+#include "packet-dcerpc-browser.h"
void proto_register_dcerpc_browser(void);
void proto_reg_handoff_dcerpc_browser(void);
-static int proto_dcerpc_browser = -1;
-static int hf_browser_opnum = -1;
-static int hf_browser_rc = -1;
-static int hf_browser_unknown_long = -1;
-static int hf_browser_unknown_hyper = -1;
-static int hf_browser_unknown_bytes = -1;
-static int hf_browser_unknown_string = -1;
-
+/* Ett declarations */
+static int ett_dcerpc_browser;
+static int ett_browser_BrowserrSrvInfo100Ctr;
+static int ett_browser_BrowserrSrvInfo101Ctr;
+static int ett_browser_BrowserrSrvInfoUnion;
+static int ett_browser_BrowserrSrvInfo;
+static int ett_browser_TYPE_1;
+static int ett_browser_TYPE_2;
+static int ett_browser_TYPE_3;
+static int ett_browser_TYPE_4;
+
+
+/* Header field declarations */
+static int hf_browser_BrowserrDebugCall_unknown1;
+static int hf_browser_BrowserrDebugCall_unknown2;
+static int hf_browser_BrowserrDebugCall_unknown3;
+static int hf_browser_BrowserrDebugTrace_unknown1;
+static int hf_browser_BrowserrDebugTrace_unknown2;
+static int hf_browser_BrowserrQueryEmulatedDomains_unknown1;
+static int hf_browser_BrowserrQueryEmulatedDomains_unknown2;
+static int hf_browser_BrowserrQueryOtherDomains_info;
+static int hf_browser_BrowserrQueryOtherDomains_server_unc;
+static int hf_browser_BrowserrQueryOtherDomains_total_entries;
+static int hf_browser_BrowserrQueryStatistics_unknown1;
+static int hf_browser_BrowserrQueryStatistics_unknown2;
+static int hf_browser_BrowserrResetNetlogonState_unknown;
+static int hf_browser_BrowserrResetStatistics_unknown;
+static int hf_browser_BrowserrServerEnumEx_info;
+static int hf_browser_BrowserrServerEnumEx_unknown1;
+static int hf_browser_BrowserrServerEnumEx_unknown2;
+static int hf_browser_BrowserrServerEnumEx_unknown3;
+static int hf_browser_BrowserrServerEnumEx_unknown4;
+static int hf_browser_BrowserrServerEnumEx_unknown5;
+static int hf_browser_BrowserrServerEnumEx_unknown6;
+static int hf_browser_BrowserrServerEnumEx_unknown7;
+static int hf_browser_BrowserrServerEnumEx_unknown8;
+static int hf_browser_BrowserrServerEnum_info;
+static int hf_browser_BrowserrServerEnum_unknown1;
+static int hf_browser_BrowserrServerEnum_unknown2;
+static int hf_browser_BrowserrServerEnum_unknown3;
+static int hf_browser_BrowserrServerEnum_unknown4;
+static int hf_browser_BrowserrServerEnum_unknown5;
+static int hf_browser_BrowserrServerEnum_unknown6;
+static int hf_browser_BrowserrServerEnum_unknown7;
+static int hf_browser_BrowserrServerEnum_unknown8;
+static int hf_browser_BrowserrSetNetlogonState_unknown1;
+static int hf_browser_BrowserrSetNetlogonState_unknown2;
+static int hf_browser_BrowserrSetNetlogonState_unknown3;
+static int hf_browser_BrowserrSetNetlogonState_unknown4;
+static int hf_browser_BrowserrSrvInfo100Ctr_entries;
+static int hf_browser_BrowserrSrvInfo100Ctr_entries_read;
+static int hf_browser_BrowserrSrvInfo101Ctr_entries;
+static int hf_browser_BrowserrSrvInfo101Ctr_entries_read;
+static int hf_browser_BrowserrSrvInfoUnion_info100;
+static int hf_browser_BrowserrSrvInfoUnion_info101;
+static int hf_browser_BrowserrSrvInfo_info;
+static int hf_browser_BrowserrSrvInfo_level;
+static int hf_browser_NetrBrowserStatisticsClear_unknown;
+static int hf_browser_NetrBrowserStatisticsGet_unknown1;
+static int hf_browser_NetrBrowserStatisticsGet_unknown2;
+static int hf_browser_NetrBrowserStatisticsGet_unknown3;
+static int hf_browser_TYPE_1_unknown;
+static int hf_browser_TYPE_2_unknown1;
+static int hf_browser_TYPE_2_unknown10;
+static int hf_browser_TYPE_2_unknown11;
+static int hf_browser_TYPE_2_unknown12;
+static int hf_browser_TYPE_2_unknown13;
+static int hf_browser_TYPE_2_unknown14;
+static int hf_browser_TYPE_2_unknown15;
+static int hf_browser_TYPE_2_unknown16;
+static int hf_browser_TYPE_2_unknown17;
+static int hf_browser_TYPE_2_unknown18;
+static int hf_browser_TYPE_2_unknown19;
+static int hf_browser_TYPE_2_unknown2;
+static int hf_browser_TYPE_2_unknown3;
+static int hf_browser_TYPE_2_unknown4;
+static int hf_browser_TYPE_2_unknown5;
+static int hf_browser_TYPE_2_unknown6;
+static int hf_browser_TYPE_2_unknown7;
+static int hf_browser_TYPE_2_unknown8;
+static int hf_browser_TYPE_2_unknown9;
+static int hf_browser_TYPE_3_unknown1;
+static int hf_browser_TYPE_3_unknown10;
+static int hf_browser_TYPE_3_unknown11;
+static int hf_browser_TYPE_3_unknown12;
+static int hf_browser_TYPE_3_unknown13;
+static int hf_browser_TYPE_3_unknown14;
+static int hf_browser_TYPE_3_unknown15;
+static int hf_browser_TYPE_3_unknown16;
+static int hf_browser_TYPE_3_unknown2;
+static int hf_browser_TYPE_3_unknown3;
+static int hf_browser_TYPE_3_unknown4;
+static int hf_browser_TYPE_3_unknown5;
+static int hf_browser_TYPE_3_unknown6;
+static int hf_browser_TYPE_3_unknown7;
+static int hf_browser_TYPE_3_unknown8;
+static int hf_browser_TYPE_3_unknown9;
+static int hf_browser_TYPE_4_unknown1;
+static int hf_browser_TYPE_4_unknown2;
+static int hf_browser_opnum;
+static int hf_browser_werror;
+
+static int proto_dcerpc_browser;
+/* Version information */
-static gint ett_dcerpc_browser = -1;
+static e_guid_t uuid_dcerpc_browser = {
+ 0x6bffd098, 0xa112, 0x3610,
+ { 0x98, 0x33, 0x01, 0x28, 0x92, 0x02, 0x01, 0x62 }
+};
+static uint16_t ver_dcerpc_browser = 0;
+
+static int browser_dissect_element_BrowserrSrvInfo100Ctr_entries_read(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfo100Ctr_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfo100Ctr_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfo100Ctr_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfo101Ctr_entries_read(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfo101Ctr_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfo101Ctr_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfo101Ctr_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfoUnion_info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfoUnion_info100_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfoUnion_info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfoUnion_info101_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSrvInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *level);
+static int browser_dissect_element_BrowserrSrvInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *level);
+static int browser_dissect_element_TYPE_1_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown15(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown17(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown18(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_2_unknown19(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown15(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_3_unknown16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_4_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_4_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_4_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_TYPE_4_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnum_unknown8_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrDebugCall_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrDebugCall_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrDebugCall_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrDebugCall_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryOtherDomains_server_unc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryOtherDomains_server_unc_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryOtherDomains_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryOtherDomains_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryOtherDomains_total_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryOtherDomains_total_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrResetNetlogonState_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrResetNetlogonState_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrDebugTrace_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrDebugTrace_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrDebugTrace_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrDebugTrace_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryStatistics_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryStatistics_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryStatistics_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryStatistics_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryStatistics_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrResetStatistics_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrResetStatistics_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_NetrBrowserStatisticsClear_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_NetrBrowserStatisticsClear_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_NetrBrowserStatisticsGet_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_NetrBrowserStatisticsGet_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_NetrBrowserStatisticsGet_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_NetrBrowserStatisticsGet_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_NetrBrowserStatisticsGet_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSetNetlogonState_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSetNetlogonState_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSetNetlogonState_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSetNetlogonState_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSetNetlogonState_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSetNetlogonState_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrSetNetlogonState_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+static int browser_dissect_element_BrowserrServerEnumEx_unknown8_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
+
+
+/* IDL: struct { */
+/* IDL: uint32 entries_read; */
+/* IDL: [size_is(entries_read)] [unique(1)] srvsvc_NetSrvInfo100 *entries; */
+/* IDL: } */
static int
-dissect_browser_long_pointer(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrSrvInfo100Ctr_entries_read(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
- di->hf_index, NULL);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo100Ctr_entries_read, 0);
+
return offset;
}
+static int
+browser_dissect_element_BrowserrSrvInfo100Ctr_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrSrvInfo100Ctr_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (srvsvc_NetSrvInfo100)",hf_browser_BrowserrSrvInfo100Ctr_entries);
+ return offset;
+}
-/*
- IDL [ uuid(6bffd098-a112-3610-9833-012892020162),
- IDL version(0.0),
- IDL implicit_handle(handle_t rpc_binding)
- IDL ] interface browser
- IDL {
-*/
+static int
+browser_dissect_element_BrowserrSrvInfo100Ctr_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrSrvInfo100Ctr_entries__);
-static e_guid_t uuid_dcerpc_browser = {
- 0x6bffd098, 0xa112, 0x3610,
- { 0x98, 0x33, 0x01, 0x28, 0x92, 0x02, 0x01, 0x62 }
-};
+ return offset;
+}
-static guint16 ver_dcerpc_browser = 0;
+static int
+browser_dissect_element_BrowserrSrvInfo100Ctr_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = srvsvc_dissect_struct_NetSrvInfo100(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo100Ctr_entries, 0);
+ 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)
+int
+browser_dissect_struct_BrowserrSrvInfo100Ctr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
- guint32 len;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
- 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);
+ old_offset = offset;
- return offset;
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_browser_BrowserrSrvInfo100Ctr);
}
- 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;
+ offset = browser_dissect_element_BrowserrSrvInfo100Ctr_entries_read(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_BrowserrSrvInfo100Ctr_entries(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
return offset;
}
+
+
+/* IDL: struct { */
+/* IDL: uint32 entries_read; */
+/* IDL: [size_is(entries_read)] [unique(1)] srvsvc_NetSrvInfo101 *entries; */
+/* IDL: } */
+
static int
-dissect_browser_TYPE_4(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrSrvInfo101Ctr_entries_read(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo101Ctr_entries_read, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_4_data, NDR_POINTER_UNIQUE,
- "unknown TYPE_4", -1);
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrSrvInfo101Ctr_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrSrvInfo101Ctr_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (srvsvc_NetSrvInfo101)",hf_browser_BrowserrSrvInfo101Ctr_entries);
return offset;
}
+static int
+browser_dissect_element_BrowserrSrvInfo101Ctr_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrSrvInfo101Ctr_entries__);
+
+ return offset;
+}
-/*
- IDL typedef struct {
- IDL long element_5;
- IDL [size_is(element_5)] [unique] byte *element_6;
- IDL } TYPE_3;
-*/
static int
-dissect_browser_TYPE_3_data(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrSrvInfo101Ctr_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- guint32 len;
+ offset = srvsvc_dissect_struct_NetSrvInfo101(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo100Ctr_entries, 0);
- 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;
+}
+
+int
+browser_dissect_struct_BrowserrSrvInfo101Ctr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
- return offset;
+ ALIGN_TO_5_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_browser_BrowserrSrvInfo101Ctr);
}
- /* this is really the length of the encoded data */
- 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;
+ offset = browser_dissect_element_BrowserrSrvInfo101Ctr_entries_read(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_BrowserrSrvInfo101Ctr_entries(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
return offset;
}
+
+
+/* IDL: [switch_type(uint32)] union { */
+/* IDL: [case(100)] [case(100)] [unique(1)] BrowserrSrvInfo100Ctr *info100; */
+/* IDL: [case(101)] [case(101)] [unique(1)] BrowserrSrvInfo101Ctr *info101; */
+/* IDL: [default] ; */
+/* IDL: } */
+
static int
-dissect_browser_TYPE_3(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrSrvInfoUnion_info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrSrvInfoUnion_info100_, NDR_POINTER_UNIQUE, "Pointer to Info100 (BrowserrSrvInfo100Ctr)",hf_browser_BrowserrSrvInfoUnion_info100);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_3_data, NDR_POINTER_UNIQUE,
- "unknown TYPE_3", -1);
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrSrvInfoUnion_info100_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_BrowserrSrvInfo100Ctr(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrSrvInfoUnion_info100,0);
return offset;
}
+static int
+browser_dissect_element_BrowserrSrvInfoUnion_info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrSrvInfoUnion_info101_, NDR_POINTER_UNIQUE, "Pointer to Info101 (BrowserrSrvInfo101Ctr)",hf_browser_BrowserrSrvInfoUnion_info101);
+ return offset;
+}
-/*
- IDL typedef [switch_type(long)] union {
- IDL [case(100)] [unique] TYPE_3 *element_3;
- IDL [case(101)] [unique] TYPE_4 *element_4;
- IDL } TYPE_2;
-*/
static int
-dissect_browser_TYPE_2(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrSrvInfoUnion_info101_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- guint32 level;
+ offset = browser_dissect_struct_BrowserrSrvInfo101Ctr(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrSrvInfoUnion_info101,0);
- /* this is really the union switch arm */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, &level);
+ return offset;
+}
- ALIGN_TO_4_BYTES;
+static int
+browser_dissect_BrowserrSrvInfoUnion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ uint32_t level;
+
+ old_offset = offset;
+ if (parent_tree) {
+ tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_browser_BrowserrSrvInfoUnion, &item, "BrowserrSrvInfoUnion");
+ }
- switch(level){
- case 100:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_3, NDR_POINTER_UNIQUE,
- "unknown TYPE_3", -1);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
+ ALIGN_TO_5_BYTES;
+
+ switch(level) {
+ case 100:
+ offset = browser_dissect_element_BrowserrSrvInfoUnion_info100(tvb, offset, pinfo, tree, di, drep);
break;
- case 101:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_4, NDR_POINTER_UNIQUE,
- "unknown TYPE_4", -1);
+
+ case 101:
+ offset = browser_dissect_element_BrowserrSrvInfoUnion_info101(tvb, offset, pinfo, tree, di, drep);
+ break;
+
+ default:
break;
}
+ proto_item_set_len(item, offset-old_offset);
+
return offset;
}
+/* IDL: struct { */
+/* IDL: uint32 level; */
+/* IDL: [switch_is(level)] BrowserrSrvInfoUnion info; */
+/* IDL: } */
-/*
- IDL typedef struct {
- IDL long element_1;
- IDL TYPE_2 element_2;
- IDL } TYPE_1;
-*/
static int
-dissect_browser_TYPE_1(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrSrvInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *level)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo_level, *level);
- offset = dissect_browser_TYPE_2(tvb, offset, pinfo, tree, di, drep);
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrSrvInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *level)
+{
+ offset = browser_dissect_BrowserrSrvInfoUnion(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo_info, *level);
return offset;
}
+int
+browser_dissect_struct_BrowserrSrvInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
+{
+ uint32_t level = 0;
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_browser_BrowserrSrvInfo);
+ }
+
+ offset = browser_dissect_element_BrowserrSrvInfo_level(tvb, offset, pinfo, tree, di, drep, &level);
+
+ offset = browser_dissect_element_BrowserrSrvInfo_info(tvb, offset, pinfo, tree, di, drep, &level);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: hyper unknown; */
+/* IDL: } */
-/*
- IDL long BrowserrServerEnum(
- IDL [in] [unique] [string] wchar_t *element_9,
- IDL [in] [unique] [string] wchar_t *element_10,
- IDL [in] [unique] [string] wchar_t *element_11,
- IDL [in,out] [ref] TYPE_1 *element_12,
- IDL [in] long element_13,
- IDL [out] long element_14,
- IDL [in] long element_15,
- IDL [in] [unique] [string] wchar_t *element_16,
- IDL [in,out] [unique] long *element_17
- IDL );
-*/
static int
-dissect_browser_browserr_server_enum_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_1_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_1_unknown, NULL);
+
+ return offset;
+}
+
+int
+browser_dissect_struct_TYPE_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_8_BYTES;
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ old_offset = offset;
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_browser_TYPE_1);
+ }
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_1, NDR_POINTER_REF,
- "unknown TYPE_1", -1);
+ offset = browser_dissect_element_TYPE_1_unknown(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ proto_item_set_len(item, offset-old_offset);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_long_pointer, NDR_POINTER_UNIQUE,
- "unknown long", hf_browser_unknown_long);
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_8_BYTES;
+ }
return offset;
}
+
+
+/* IDL: struct { */
+/* IDL: TYPE_1 unknown1; */
+/* IDL: TYPE_1 unknown2; */
+/* IDL: TYPE_1 unknown3; */
+/* IDL: int32 unknown4; */
+/* IDL: int32 unknown5; */
+/* IDL: int32 unknown6; */
+/* IDL: int32 unknown7; */
+/* IDL: int32 unknown8; */
+/* IDL: int32 unknown9; */
+/* IDL: int32 unknown10; */
+/* IDL: int32 unknown11; */
+/* IDL: int32 unknown12; */
+/* IDL: int32 unknown13; */
+/* IDL: int32 unknown14; */
+/* IDL: int32 unknown15; */
+/* IDL: int32 unknown16; */
+/* IDL: int32 unknown17; */
+/* IDL: int32 unknown18; */
+/* IDL: TYPE_1 unknown19; */
+/* IDL: } */
+
static int
-dissect_browser_browserr_server_enum_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_2_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_1, NDR_POINTER_REF,
- "unknown TYPE_1", -1);
+ offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown1,0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_long_pointer, NDR_POINTER_UNIQUE,
- "unknown long", hf_browser_unknown_long);
+static int
+browser_dissect_element_TYPE_2_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown2,0);
+
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+static int
+browser_dissect_element_TYPE_2_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown3,0);
return offset;
}
-/*
- IDL long BrowserrDebugCall(
- IDL [in] [unique] [string] wchar_t *element_18,
- IDL [in] long element_19,
- IDL [in] long element_20
- IDL );
-*/
static int
-dissect_browser_browserr_debug_call_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_2_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown4, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_TYPE_2_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown5, 0);
return offset;
}
+
static int
-dissect_browser_browserr_debug_call_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_2_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown6, 0);
return offset;
}
+static int
+browser_dissect_element_TYPE_2_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown7, 0);
+
+ return offset;
+}
-/*
- IDL long BrowserrQueryOtherDomains(
- IDL [in] [unique] [string] wchar_t *element_21,
- IDL [in,out] [ref] TYPE_1 *element_22,
- IDL [out] long element_23
- IDL );
-*/
static int
-dissect_browser_browserr_query_other_domains_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_2_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown8, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_1, NDR_POINTER_REF,
- "unknown TYPE_1", -1);
+ return offset;
+}
+
+static int
+browser_dissect_element_TYPE_2_unknown9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown9, 0);
return offset;
}
+
static int
-dissect_browser_browserr_query_other_domains_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_2_unknown10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown10, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+ return offset;
+}
+
+static int
+browser_dissect_element_TYPE_2_unknown11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown11, 0);
return offset;
}
+static int
+browser_dissect_element_TYPE_2_unknown12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown12, 0);
+
+ return offset;
+}
-/*
- IDL long BrowserrResetNetlogonState(
- IDL [in] [unique] [string] wchar_t *element_24
- IDL );
-*/
static int
-dissect_browser_browserr_reset_netlogon_state_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_2_unknown13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown13, 0);
return offset;
}
+
static int
-dissect_browser_browserr_reset_netlogon_state_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_2_unknown14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown14, 0);
return offset;
}
+static int
+browser_dissect_element_TYPE_2_unknown15(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown15, 0);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_TYPE_2_unknown16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown16, 0);
+
+ return offset;
+}
-/*
- IDL long BrowserrDebugTrace(
- IDL [in] [unique] [string] wchar_t *element_25,
- IDL [in] [string] char element_26
- IDL );
-*/
static int
-dissect_browser_browserr_debug_trace_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_2_unknown17(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown17, 0);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_REF, "unknown string",
- hf_browser_unknown_string, 0);
+ return offset;
+}
+
+static int
+browser_dissect_element_TYPE_2_unknown18(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown18, 0);
return offset;
}
+
static int
-dissect_browser_browserr_debug_trace_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_2_unknown19(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+ offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown19,0);
return offset;
}
+int
+browser_dissect_struct_TYPE_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+ ALIGN_TO_8_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_browser_TYPE_2);
+ }
+
+ offset = browser_dissect_element_TYPE_2_unknown1(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown2(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown3(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown4(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown5(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown6(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown7(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown8(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown9(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown10(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown11(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown12(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown13(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown14(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown15(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown16(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown17(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown18(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_2_unknown19(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_8_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: TYPE_1 unknown1; */
+/* IDL: TYPE_1 unknown2; */
+/* IDL: TYPE_1 unknown3; */
+/* IDL: int32 unknown4; */
+/* IDL: int32 unknown5; */
+/* IDL: int32 unknown6; */
+/* IDL: TYPE_1 unknown7; */
+/* IDL: int32 unknown8; */
+/* IDL: int32 unknown9; */
+/* IDL: int32 unknown10; */
+/* IDL: int32 unknown11; */
+/* IDL: int32 unknown12; */
+/* IDL: int32 unknown13; */
+/* IDL: int32 unknown14; */
+/* IDL: int32 unknown15; */
+/* IDL: int32 unknown16; */
+/* IDL: } */
-/*
- IDL typedef struct {
- IDL TYPE_6 element_27;
- IDL TYPE_6 element_28;
- IDL TYPE_6 element_29;
- IDL long element_30;
- IDL long element_31;
- IDL long element_32;
- IDL long element_33;
- IDL long element_34;
- IDL long element_35;
- IDL long element_36;
- IDL long element_37;
- IDL long element_38;
- IDL long element_39;
- IDL long element_40;
- IDL long element_41;
- IDL long element_42;
- IDL long element_43;
- IDL long element_44;
- IDL TYPE_6 element_45;
- IDL } TYPE_5;
- IDL
- IDL typedef struct {
- IDL hyper element_46;
- IDL } TYPE_6;
-*/
static int
-dissect_browser_TYPE_5(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_3_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_hyper, NULL);
+ offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown1,0);
- offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_hyper, NULL);
+ return offset;
+}
- offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_hyper, NULL);
+static int
+browser_dissect_element_TYPE_3_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown2,0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_TYPE_3_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown3,0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_TYPE_3_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown4, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_TYPE_3_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown5, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_TYPE_3_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown6, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_TYPE_3_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown7,0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_TYPE_3_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown8, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_TYPE_3_unknown9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown9, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_hyper, NULL);
+static int
+browser_dissect_element_TYPE_3_unknown10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown10, 0);
return offset;
}
+static int
+browser_dissect_element_TYPE_3_unknown11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown11, 0);
+
+ return offset;
+}
-/*
- IDL long BrowserrQueryStatistics(
- IDL [in] [unique] [string] wchar_t *element_47,
- IDL [out] [ref] TYPE_5 **element_48
- IDL );
-*/
static int
-dissect_browser_browserr_query_statistics_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_3_unknown12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown12, 0);
return offset;
}
+
static int
-dissect_browser_browserr_query_statistics_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_3_unknown13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_5, NDR_POINTER_UNIQUE,
- "unknown TYPE_5", -1);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown13, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+ return offset;
+}
+
+static int
+browser_dissect_element_TYPE_3_unknown14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown14, 0);
return offset;
}
+static int
+browser_dissect_element_TYPE_3_unknown15(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown15, 0);
+
+ return offset;
+}
-/*
- IDL long BrowserrResetStatistics(
- IDL [in] [unique] [string] wchar_t *element_49
- IDL );
-*/
static int
-dissect_browser_browserr_reset_statistics_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_3_unknown16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown16, 0);
return offset;
}
+
+int
+browser_dissect_struct_TYPE_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_8_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_browser_TYPE_3);
+ }
+
+ offset = browser_dissect_element_TYPE_3_unknown1(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown2(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown3(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown4(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown5(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown6(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown7(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown8(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown9(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown10(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown11(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown12(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown13(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown14(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown15(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_3_unknown16(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_8_BYTES;
+ }
+
+ return offset;
+}
+
+
+/* IDL: struct { */
+/* IDL: int32 unknown1; */
+/* IDL: [size_is(unknown82)] [unique(1)] uint8 *unknown2; */
+/* IDL: } */
+
static int
-dissect_browser_browserr_reset_statistics_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_4_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_4_unknown1, 0);
return offset;
}
+static int
+browser_dissect_element_TYPE_4_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_TYPE_4_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (uint8)",hf_browser_TYPE_4_unknown2);
+
+ return offset;
+}
-/*
- IDL long NetrBrowserStatisticsClear(
- IDL [in] [unique] [string] wchar_t *element_49
- IDL );
-*/
static int
-dissect_browser_netr_browser_statistics_clear_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_4_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_TYPE_4_unknown2__);
return offset;
}
+
static int
-dissect_browser_netr_browser_statistics_clear_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_TYPE_4_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+ offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_4_unknown2, 0);
return offset;
}
+int
+browser_dissect_struct_TYPE_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+ int old_offset;
+
+ ALIGN_TO_5_BYTES;
+
+ old_offset = offset;
+
+ if (parent_tree) {
+ item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
+ tree = proto_item_add_subtree(item, ett_browser_TYPE_4);
+ }
+
+ offset = browser_dissect_element_TYPE_4_unknown1(tvb, offset, pinfo, tree, di, drep);
+
+ offset = browser_dissect_element_TYPE_4_unknown2(tvb, offset, pinfo, tree, di, drep);
+
+
+ proto_item_set_len(item, offset-old_offset);
+
+
+ if (di->call_data->flags & DCERPC_IS_NDR64) {
+ ALIGN_TO_5_BYTES;
+ }
+
+ return offset;
+}
-/*
- IDL typedef struct {
- IDL TYPE_6 element_59;
- IDL TYPE_6 element_60;
- IDL TYPE_6 element_61;
- IDL long element_62;
- IDL long element_63;
- IDL long element_64;
- IDL TYPE_6 element_65;
- IDL long element_66;
- IDL long element_67;
- IDL long element_68;
- IDL long element_69;
- IDL long element_70;
- IDL long element_71;
- IDL long element_72;
- IDL long element_73;
- IDL long element_74;
- IDL } TYPE_11;
-*/
static int
-dissect_browser_TYPE_11(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrServerEnum_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_hyper, NULL);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnum_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrServerEnum_unknown1);
- offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_hyper, NULL);
+ return offset;
+}
- offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_hyper, NULL);
+static int
+browser_dissect_element_BrowserrServerEnum_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnum_unknown1, false, &data);
+ proto_item_append_text(tree, ": %s", data);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_BrowserrServerEnum_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnum_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (uint16)",hf_browser_BrowserrServerEnum_unknown2);
- offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_hyper, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_BrowserrServerEnum_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnum_unknown2, false, &data);
+ proto_item_append_text(tree, ": %s", data);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_BrowserrServerEnum_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnum_unknown3_, NDR_POINTER_UNIQUE, "Pointer to Unknown3 (uint16)",hf_browser_BrowserrServerEnum_unknown3);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_BrowserrServerEnum_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnum_unknown3, false, &data);
+ proto_item_append_text(tree, ": %s", data);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_BrowserrServerEnum_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnum_info_, NDR_POINTER_REF, "Pointer to Info (BrowserrSrvInfo)",hf_browser_BrowserrServerEnum_info);
return offset;
}
-/*
- 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,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrServerEnum_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_11);
+ offset = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrServerEnum_info,0);
return offset;
}
static int
-dissect_browser_TYPE_10(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrServerEnum_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnum_unknown4, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_11_array, NDR_POINTER_UNIQUE,
- "unknown TYPE_11_ARRAY", -1);
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnum_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnum_unknown5_, NDR_POINTER_REF, "Pointer to Unknown5 (int32)",hf_browser_BrowserrServerEnum_unknown5);
return offset;
}
+static int
+browser_dissect_element_BrowserrServerEnum_unknown5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnum_unknown5, 0);
+
+ return offset;
+}
-/*
- IDL typedef struct {
- IDL long element_55;
- IDL [size_is(element_55)] [unique] byte *element_56;
- IDL } TYPE_9;
-*/
static int
-dissect_browser_TYPE_9_data(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrServerEnum_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- guint32 len;
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnum_unknown6, 0);
+
+ return 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);
+static int
+browser_dissect_element_BrowserrServerEnum_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnum_unknown7_, NDR_POINTER_UNIQUE, "Pointer to Unknown7 (uint16)",hf_browser_BrowserrServerEnum_unknown7);
- return offset;
- }
+ return offset;
+}
- /* this is really the length of the encoded data */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, &len);
+static int
+browser_dissect_element_BrowserrServerEnum_unknown7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
- proto_tree_add_item(tree, hf_browser_unknown_bytes, tvb, offset, len,
- ENC_NA);
- offset += len;
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnum_unknown7, false, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
+
static int
-dissect_browser_TYPE_9(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrServerEnum_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnum_unknown8_, NDR_POINTER_UNIQUE, "Pointer to Unknown8 (int32)",hf_browser_BrowserrServerEnum_unknown8);
+
+ return offset;
+}
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_9_data, NDR_POINTER_UNIQUE,
- "unknown TYPE_9", -1);
+static int
+browser_dissect_element_BrowserrServerEnum_unknown8_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnum_unknown8, 0);
return offset;
}
+/* IDL: WERROR BrowserrServerEnum( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown2, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown3, */
+/* IDL: [in] [out] [ref] BrowserrSrvInfo *info, */
+/* IDL: [in] int32 unknown4, */
+/* IDL: [out] [ref] int32 *unknown5, */
+/* IDL: [in] int32 unknown6, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown7, */
+/* IDL: [in] [out] [unique(1)] int32 *unknown8 */
+/* IDL: ); */
-/*
- IDL typedef [switch_type(long)] union {
- IDL [case(100)] [unique] TYPE_9 *element_53;
- IDL [case(101)] [unique] TYPE_10 *element_54;
- IDL } TYPE_8;
-*/
static int
-dissect_browser_TYPE_8(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_BrowserrServerEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- guint32 level;
+ uint32_t status;
- /* this is really the union switch arm */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, &level);
+ di->dcerpc_procedure_name="BrowserrServerEnum";
+ offset = browser_dissect_element_BrowserrServerEnum_info(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- ALIGN_TO_4_BYTES;
+ offset = browser_dissect_element_BrowserrServerEnum_unknown5(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
- switch(level){
- case 100:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_9, NDR_POINTER_UNIQUE,
- "unknown TYPE_9", -1);
- break;
- case 101:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_10, NDR_POINTER_UNIQUE,
- "unknown TYPE_10", -1);
- break;
- }
+ offset = browser_dissect_element_BrowserrServerEnum_unknown8(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
return offset;
}
+static int
+browser_dissect_BrowserrServerEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ di->dcerpc_procedure_name="BrowserrServerEnum";
+ offset = browser_dissect_element_BrowserrServerEnum_unknown1(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnum_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnum_unknown3(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnum_info(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnum_unknown4(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnum_unknown6(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnum_unknown7(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnum_unknown8(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
-/*
- IDL typedef struct {
- IDL long element_51;
- IDL TYPE_8 element_52;
- IDL } TYPE_7;
-*/
static int
-dissect_browser_TYPE_7(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrDebugCall_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrDebugCall_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrDebugCall_unknown1);
- offset = dissect_browser_TYPE_8(tvb, offset, pinfo, tree, di, drep);
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrDebugCall_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrDebugCall_unknown1, false, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
+static int
+browser_dissect_element_BrowserrDebugCall_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrDebugCall_unknown2, 0);
+
+ return offset;
+}
-/*
- IDL long NetrBrowserStatisticsGet(
- IDL [in] [unique] [string] wchar_t *element_75,
- IDL [in] long element_76,
- IDL [in,out] [ref] TYPE_7 *element_77
- IDL );
-*/
static int
-dissect_browser_netr_browser_statistics_get_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrDebugCall_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrDebugCall_unknown3, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_7, NDR_POINTER_REF,
- "unknown TYPE_7", -1);
+/* IDL: WERROR BrowserrDebugCall( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
+/* IDL: [in] int32 unknown2, */
+/* IDL: [in] int32 unknown3 */
+/* IDL: ); */
+
+static int
+browser_dissect_BrowserrDebugCall_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ uint32_t status;
+
+ di->dcerpc_procedure_name="BrowserrDebugCall";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
return offset;
}
+
static int
-dissect_browser_netr_browser_statistics_get_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_BrowserrDebugCall_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_7, NDR_POINTER_REF,
- "unknown TYPE_7", -1);
+ di->dcerpc_procedure_name="BrowserrDebugCall";
+ offset = browser_dissect_element_BrowserrDebugCall_unknown1(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrDebugCall_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrDebugCall_unknown3(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+static int
+browser_dissect_element_BrowserrQueryOtherDomains_server_unc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrQueryOtherDomains_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_browser_BrowserrQueryOtherDomains_server_unc);
return offset;
}
+static int
+browser_dissect_element_BrowserrQueryOtherDomains_server_unc_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrQueryOtherDomains_server_unc, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
-/*
- IDL long BrowserrSetNetlogonState(
- IDL [in] [unique] [string] wchar_t *element_78,
- IDL [in] [ref] [string] wchar_t *element_79,
- IDL [in] [unique] [string] wchar_t *element_80,
- IDL [in] long element_81
- IDL );
-*/
static int
-dissect_browser_browserr_set_netlogon_state_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrQueryOtherDomains_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrQueryOtherDomains_info_, NDR_POINTER_REF, "Pointer to Info (BrowserrSrvInfo)",hf_browser_BrowserrQueryOtherDomains_info);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_REF, "unknown string",
- hf_browser_unknown_string, 0);
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+static int
+browser_dissect_element_BrowserrQueryOtherDomains_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrQueryOtherDomains_info,0);
+
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_element_BrowserrQueryOtherDomains_total_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrQueryOtherDomains_total_entries_, NDR_POINTER_REF, "Pointer to Total Entries (uint32)",hf_browser_BrowserrQueryOtherDomains_total_entries);
return offset;
}
+
static int
-dissect_browser_browserr_set_netlogon_state_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrQueryOtherDomains_total_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrQueryOtherDomains_total_entries, 0);
return offset;
}
+/* IDL: WERROR BrowserrQueryOtherDomains( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *server_unc, */
+/* IDL: [in] [out] [ref] BrowserrSrvInfo *info, */
+/* IDL: [out] [ref] uint32 *total_entries */
+/* IDL: ); */
+static int
+browser_dissect_BrowserrQueryOtherDomains_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ uint32_t status;
+ di->dcerpc_procedure_name="BrowserrQueryOtherDomains";
+ offset = browser_dissect_element_BrowserrQueryOtherDomains_info(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = browser_dissect_element_BrowserrQueryOtherDomains_total_entries(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
-/*
- 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,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_BrowserrQueryOtherDomains_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- guint32 len;
+ di->dcerpc_procedure_name="BrowserrQueryOtherDomains";
+ offset = browser_dissect_element_BrowserrQueryOtherDomains_server_unc(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrQueryOtherDomains_info(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return 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);
+static int
+browser_dissect_element_BrowserrResetNetlogonState_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrResetNetlogonState_unknown_, NDR_POINTER_UNIQUE, "Pointer to Unknown (uint16)",hf_browser_BrowserrResetNetlogonState_unknown);
- return offset;
- }
+ return offset;
+}
- /* this is really the length of the encoded data */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, &len);
+static int
+browser_dissect_element_BrowserrResetNetlogonState_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
- proto_tree_add_item(tree, hf_browser_unknown_bytes, tvb, offset, len,
- ENC_NA);
- offset += len;
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrResetNetlogonState_unknown, false, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
+
+/* IDL: WERROR BrowserrResetNetlogonState( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown */
+/* IDL: ); */
+
static int
-dissect_browser_TYPE_12(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_BrowserrResetNetlogonState_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ uint32_t status;
+
+ di->dcerpc_procedure_name="BrowserrResetNetlogonState";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_12_data, NDR_POINTER_UNIQUE,
- "unknown TYPE_12", -1);
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+static int
+browser_dissect_BrowserrResetNetlogonState_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ di->dcerpc_procedure_name="BrowserrResetNetlogonState";
+ offset = browser_dissect_element_BrowserrResetNetlogonState_unknown(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
return offset;
}
+static int
+browser_dissect_element_BrowserrDebugTrace_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrDebugTrace_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrDebugTrace_unknown1);
+
+ return offset;
+}
-/*
- IDL long BrowserrQueryEmulatedDomains(
- IDL [in] [unique] [string] wchar_t *element_84,
- IDL [in,out] [ref] TYPE_12 *element_85
- );
-*/
static int
-dissect_browser_browserr_query_emulated_domains_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrDebugTrace_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ char *data;
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_12, NDR_POINTER_REF,
- "unknown TYPE_12", -1);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrDebugTrace_unknown1, false, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
+
static int
-dissect_browser_browserr_query_emulated_domains_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrDebugTrace_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_12, NDR_POINTER_REF,
- "unknown TYPE_12", -1);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrDebugTrace_unknown2_, NDR_POINTER_REF, "Pointer to Unknown2 (uint8)",hf_browser_BrowserrDebugTrace_unknown2);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrDebugTrace_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_browser_BrowserrDebugTrace_unknown2, false, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
+/* IDL: WERROR BrowserrDebugTrace( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
+/* IDL: [in] [ref] uint8 *unknown2 */
+/* IDL: ); */
-/*
- IDL long BrowserrServerEnumEx(
- IDL [in] [unique] [string] wchar_t *element_86,
- IDL [in] [unique] [string] wchar_t *element_87,
- IDL [in] [unique] [string] wchar_t *element_88,
- IDL [in,out] [ref] TYPE_1 *element_89,
- IDL [in] long element_90,
- IDL [out] long element_91,
- IDL [in] long element_92,
- IDL [in] [unique] [string] wchar_t *element_93,
- IDL [in] [unique] [string] wchar_t *element_94
- IDL );
-*/
static int
-dissect_browser_browserr_server_enum_ex_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_BrowserrDebugTrace_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ uint32_t status;
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ di->dcerpc_procedure_name="BrowserrDebugTrace";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_1, NDR_POINTER_REF,
- "unknown TYPE_1", -1);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+static int
+browser_dissect_BrowserrDebugTrace_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ di->dcerpc_procedure_name="BrowserrDebugTrace";
+ offset = browser_dissect_element_BrowserrDebugTrace_unknown1(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrDebugTrace_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrQueryStatistics_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrQueryStatistics_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrQueryStatistics_unknown1);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+static int
+browser_dissect_element_BrowserrQueryStatistics_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
- offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
- NDR_POINTER_UNIQUE, "unknown string",
- hf_browser_unknown_string, 0);
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrQueryStatistics_unknown1, false, &data);
+ proto_item_append_text(tree, ": %s", data);
return offset;
}
+
static int
-dissect_browser_browserr_server_enum_ex_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- dcerpc_info *di, guint8 *drep)
+browser_dissect_element_BrowserrQueryStatistics_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
- dissect_browser_TYPE_1, NDR_POINTER_REF,
- "unknown TYPE_1", -1);
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrQueryStatistics_unknown2_, NDR_POINTER_REF, "Pointer to Unknown2 (TYPE_2)",hf_browser_BrowserrQueryStatistics_unknown2);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_unknown_long, NULL);
+ return offset;
+}
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
- hf_browser_rc, NULL);
+static int
+browser_dissect_element_BrowserrQueryStatistics_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrQueryStatistics_unknown2__, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (TYPE_2)",hf_browser_BrowserrQueryStatistics_unknown2);
return offset;
}
+static int
+browser_dissect_element_BrowserrQueryStatistics_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_TYPE_2(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrQueryStatistics_unknown2,0);
+ return offset;
+}
-/*
- IDL }
-*/
-static dcerpc_sub_dissector dcerpc_browser_dissectors[] = {
- { BROWSER_BROWSERR_SERVER_ENUM, "BrowserrServerEnum",
- dissect_browser_browserr_server_enum_rqst,
- dissect_browser_browserr_server_enum_reply },
- { BROWSER_BROWSERR_DEBUG_CALL, "BrowserrDebugCall",
- dissect_browser_browserr_debug_call_rqst,
- dissect_browser_browserr_debug_call_reply },
- { BROWSER_BROWSERR_QUERY_OTHER_DOMAINS,
- "BrowserrQueryOtherDomains",
- dissect_browser_browserr_query_other_domains_rqst,
- dissect_browser_browserr_query_other_domains_reply },
- { BROWSER_BROWSERR_RESET_NETLOGON_STATE,
- "BrowserrResetNetlogonState",
- dissect_browser_browserr_reset_netlogon_state_rqst,
- dissect_browser_browserr_reset_netlogon_state_reply },
- { BROWSER_BROWSERR_DEBUG_TRACE,
- "BrowserrDebugTrace",
- dissect_browser_browserr_debug_trace_rqst,
- dissect_browser_browserr_debug_trace_reply },
- { BROWSER_BROWSERR_QUERY_STATISTICS,
- "BrowserrQueryStatistics",
- dissect_browser_browserr_query_statistics_rqst,
- dissect_browser_browserr_query_statistics_reply },
- { BROWSER_BROWSERR_RESET_STATISTICS,
- "BrowserrResetStatistics",
- dissect_browser_browserr_reset_statistics_rqst,
- dissect_browser_browserr_reset_statistics_reply },
- { BROWSER_NETR_BROWSER_STATISTICS_CLEAR,
- "NetrBrowserStatisticsClear",
- dissect_browser_netr_browser_statistics_clear_rqst,
- dissect_browser_netr_browser_statistics_clear_reply },
- { BROWSER_NETR_BROWSER_STATISTICS_GET,
- "NetrBrowserStatisticsGet",
- dissect_browser_netr_browser_statistics_get_rqst,
- dissect_browser_netr_browser_statistics_get_reply },
- { BROWSER_BROWSERR_SET_NETLOGON_STATE,
- "BrowserrSetNetlogonState",
- dissect_browser_browserr_set_netlogon_state_rqst,
- dissect_browser_browserr_set_netlogon_state_reply },
- { BROWSER_BROWSERR_QUERY_EMULATED_DOMAINS,
- "BrowserrQueryEmulatedDomains",
- dissect_browser_browserr_query_emulated_domains_rqst,
- dissect_browser_browserr_query_emulated_domains_reply },
- { BROWSER_BROWSERR_SERVER_ENUM_EX,
- "BrowserrServerEnumEx",
- dissect_browser_browserr_server_enum_ex_rqst,
- dissect_browser_browserr_server_enum_ex_reply },
-
- {0, NULL, NULL, NULL }
-};
+/* IDL: WERROR BrowserrQueryStatistics( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
+/* IDL: [out] [ref] TYPE_2 **unknown2 */
+/* IDL: ); */
+
+static int
+browser_dissect_BrowserrQueryStatistics_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ uint32_t status;
+
+ di->dcerpc_procedure_name="BrowserrQueryStatistics";
+ offset = browser_dissect_element_BrowserrQueryStatistics_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+browser_dissect_BrowserrQueryStatistics_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ di->dcerpc_procedure_name="BrowserrQueryStatistics";
+ offset = browser_dissect_element_BrowserrQueryStatistics_unknown1(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrResetStatistics_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrResetStatistics_unknown_, NDR_POINTER_UNIQUE, "Pointer to Unknown (uint16)",hf_browser_BrowserrResetStatistics_unknown);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrResetStatistics_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrResetStatistics_unknown, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR BrowserrResetStatistics( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown */
+/* IDL: ); */
+
+static int
+browser_dissect_BrowserrResetStatistics_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ uint32_t status;
+
+ di->dcerpc_procedure_name="BrowserrResetStatistics";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+browser_dissect_BrowserrResetStatistics_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ di->dcerpc_procedure_name="BrowserrResetStatistics";
+ offset = browser_dissect_element_BrowserrResetStatistics_unknown(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+browser_dissect_element_NetrBrowserStatisticsClear_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_NetrBrowserStatisticsClear_unknown_, NDR_POINTER_UNIQUE, "Pointer to Unknown (uint16)",hf_browser_NetrBrowserStatisticsClear_unknown);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_NetrBrowserStatisticsClear_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_NetrBrowserStatisticsClear_unknown, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR NetrBrowserStatisticsClear( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown */
+/* IDL: ); */
+
+static int
+browser_dissect_NetrBrowserStatisticsClear_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ uint32_t status;
+
+ di->dcerpc_procedure_name="NetrBrowserStatisticsClear";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+browser_dissect_NetrBrowserStatisticsClear_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ di->dcerpc_procedure_name="NetrBrowserStatisticsClear";
+ offset = browser_dissect_element_NetrBrowserStatisticsClear_unknown(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+browser_dissect_element_NetrBrowserStatisticsGet_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_NetrBrowserStatisticsGet_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_NetrBrowserStatisticsGet_unknown1);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_NetrBrowserStatisticsGet_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_NetrBrowserStatisticsGet_unknown1, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_NetrBrowserStatisticsGet_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_NetrBrowserStatisticsGet_unknown2, 0);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_NetrBrowserStatisticsGet_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_NetrBrowserStatisticsGet_unknown3_, NDR_POINTER_REF, "Pointer to Unknown3 (BrowserrSrvInfo)",hf_browser_NetrBrowserStatisticsGet_unknown3);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_NetrBrowserStatisticsGet_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_NetrBrowserStatisticsGet_unknown3,0);
+
+ return offset;
+}
+
+/* IDL: WERROR NetrBrowserStatisticsGet( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
+/* IDL: [in] int32 unknown2, */
+/* IDL: [in] [out] [ref] BrowserrSrvInfo *unknown3 */
+/* IDL: ); */
+
+static int
+browser_dissect_NetrBrowserStatisticsGet_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ uint32_t status;
+
+ di->dcerpc_procedure_name="NetrBrowserStatisticsGet";
+ offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown3(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+browser_dissect_NetrBrowserStatisticsGet_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ di->dcerpc_procedure_name="NetrBrowserStatisticsGet";
+ offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown1(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown3(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrSetNetlogonState_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrSetNetlogonState_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrSetNetlogonState_unknown1);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrSetNetlogonState_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrSetNetlogonState_unknown1, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrSetNetlogonState_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrSetNetlogonState_unknown2_, NDR_POINTER_REF, "Pointer to Unknown2 (uint16)",hf_browser_BrowserrSetNetlogonState_unknown2);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrSetNetlogonState_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrSetNetlogonState_unknown2, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrSetNetlogonState_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrSetNetlogonState_unknown3_, NDR_POINTER_UNIQUE, "Pointer to Unknown3 (uint16)",hf_browser_BrowserrSetNetlogonState_unknown3);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrSetNetlogonState_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrSetNetlogonState_unknown3, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
-void
-proto_register_dcerpc_browser(void)
+static int
+browser_dissect_element_BrowserrSetNetlogonState_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
-static hf_register_info hf[] = {
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSetNetlogonState_unknown4, 0);
+
+ return offset;
+}
+
+/* IDL: WERROR BrowserrSetNetlogonState( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
+/* IDL: [charset(UTF16)] [in] [ref] uint16 *unknown2, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown3, */
+/* IDL: [in] int32 unknown4 */
+/* IDL: ); */
+
+static int
+browser_dissect_BrowserrSetNetlogonState_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ uint32_t status;
+
+ di->dcerpc_procedure_name="BrowserrSetNetlogonState";
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
- { &hf_browser_opnum, {
- "Operation", "rpc_browser.opnum", FT_UINT16, BASE_DEC,
- NULL, 0x0, NULL, HFILL }},
+static int
+browser_dissect_BrowserrSetNetlogonState_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ di->dcerpc_procedure_name="BrowserrSetNetlogonState";
+ offset = browser_dissect_element_BrowserrSetNetlogonState_unknown1(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrSetNetlogonState_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrSetNetlogonState_unknown3(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrSetNetlogonState_unknown4(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
- { &hf_browser_rc, {
- "Return code", "rpc_browser.rc", FT_UINT32, BASE_HEX | BASE_EXT_STRING,
- &NT_errors_ext, 0x0, "Browser return code", HFILL }},
+static int
+browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrQueryEmulatedDomains_unknown1);
- { &hf_browser_unknown_long, {
- "Unknown long", "rpc_browser.unknown.long", FT_UINT32, BASE_HEX,
- NULL, 0x0, "Unknown long. If you know what this is, contact wireshark developers.", HFILL }},
+ return offset;
+}
- { &hf_browser_unknown_hyper, {
- "Unknown hyper", "rpc_browser.unknown.hyper", FT_UINT64, BASE_HEX,
- NULL, 0x0, "Unknown hyper. If you know what this is, contact wireshark developers.", HFILL }},
+static int
+browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
- { &hf_browser_unknown_bytes, {
- "Unknown bytes", "rpc_browser.unknown.bytes", FT_BYTES, BASE_NONE,
- NULL, 0x0, "Unknown bytes. If you know what this is, contact wireshark developers.", HFILL }},
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrQueryEmulatedDomains_unknown1, false, &data);
+ proto_item_append_text(tree, ": %s", data);
- { &hf_browser_unknown_string, {
- "Unknown string", "rpc_browser.unknown.string", FT_STRING, BASE_NONE,
- NULL, 0x0, "Unknown string. If you know what this is, contact wireshark developers.", HFILL }}
+ return offset;
+}
+static int
+browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2_, NDR_POINTER_REF, "Pointer to Unknown2 (TYPE_4)",hf_browser_BrowserrQueryEmulatedDomains_unknown2);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_TYPE_4(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrQueryEmulatedDomains_unknown2,0);
+
+ return offset;
+}
+
+/* IDL: WERROR BrowserrQueryEmulatedDomains( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
+/* IDL: [in] [out] [ref] TYPE_4 *unknown2 */
+/* IDL: ); */
+
+static int
+browser_dissect_BrowserrQueryEmulatedDomains_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ uint32_t status;
+
+ di->dcerpc_procedure_name="BrowserrQueryEmulatedDomains";
+ offset = browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+browser_dissect_BrowserrQueryEmulatedDomains_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ di->dcerpc_procedure_name="BrowserrQueryEmulatedDomains";
+ offset = browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnumEx_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrServerEnumEx_unknown1);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnumEx_unknown1, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnumEx_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (uint16)",hf_browser_BrowserrServerEnumEx_unknown2);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnumEx_unknown2, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnumEx_unknown3_, NDR_POINTER_UNIQUE, "Pointer to Unknown3 (uint16)",hf_browser_BrowserrServerEnumEx_unknown3);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnumEx_unknown3, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnumEx_info_, NDR_POINTER_REF, "Pointer to Info (BrowserrSrvInfo)",hf_browser_BrowserrServerEnumEx_info);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrServerEnumEx_info,0);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnumEx_unknown4, 0);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnumEx_unknown5_, NDR_POINTER_REF, "Pointer to Unknown5 (int32)",hf_browser_BrowserrServerEnumEx_unknown5);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnumEx_unknown5, 0);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnumEx_unknown6, 0);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnumEx_unknown7_, NDR_POINTER_UNIQUE, "Pointer to Unknown7 (uint16)",hf_browser_BrowserrServerEnumEx_unknown7);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnumEx_unknown7, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrServerEnumEx_unknown8_, NDR_POINTER_UNIQUE, "Pointer to Unknown8 (uint16)",hf_browser_BrowserrServerEnumEx_unknown8);
+
+ return offset;
+}
+
+static int
+browser_dissect_element_BrowserrServerEnumEx_unknown8_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ char *data;
+
+ offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnumEx_unknown8, false, &data);
+ proto_item_append_text(tree, ": %s", data);
+
+ return offset;
+}
+
+/* IDL: WERROR BrowserrServerEnumEx( */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown2, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown3, */
+/* IDL: [in] [out] [ref] BrowserrSrvInfo *info, */
+/* IDL: [in] int32 unknown4, */
+/* IDL: [out] [ref] int32 *unknown5, */
+/* IDL: [in] int32 unknown6, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown7, */
+/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown8 */
+/* IDL: ); */
+
+static int
+browser_dissect_BrowserrServerEnumEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ uint32_t status;
+
+ di->dcerpc_procedure_name="BrowserrServerEnumEx";
+ offset = browser_dissect_element_BrowserrServerEnumEx_info(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = browser_dissect_element_BrowserrServerEnumEx_unknown5(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
+
+ if (status != 0)
+ col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
+
+ return offset;
+}
+
+static int
+browser_dissect_BrowserrServerEnumEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
+{
+ di->dcerpc_procedure_name="BrowserrServerEnumEx";
+ offset = browser_dissect_element_BrowserrServerEnumEx_unknown1(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnumEx_unknown2(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnumEx_unknown3(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnumEx_info(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnumEx_unknown4(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnumEx_unknown6(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnumEx_unknown7(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ offset = browser_dissect_element_BrowserrServerEnumEx_unknown8(tvb, offset, pinfo, tree, di, drep);
+ offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
+ return offset;
+}
+
+
+static const dcerpc_sub_dissector browser_dissectors[] = {
+ { 0, "BrowserrServerEnum",
+ browser_dissect_BrowserrServerEnum_request, browser_dissect_BrowserrServerEnum_response},
+ { 1, "BrowserrDebugCall",
+ browser_dissect_BrowserrDebugCall_request, browser_dissect_BrowserrDebugCall_response},
+ { 2, "BrowserrQueryOtherDomains",
+ browser_dissect_BrowserrQueryOtherDomains_request, browser_dissect_BrowserrQueryOtherDomains_response},
+ { 3, "BrowserrResetNetlogonState",
+ browser_dissect_BrowserrResetNetlogonState_request, browser_dissect_BrowserrResetNetlogonState_response},
+ { 4, "BrowserrDebugTrace",
+ browser_dissect_BrowserrDebugTrace_request, browser_dissect_BrowserrDebugTrace_response},
+ { 5, "BrowserrQueryStatistics",
+ browser_dissect_BrowserrQueryStatistics_request, browser_dissect_BrowserrQueryStatistics_response},
+ { 6, "BrowserrResetStatistics",
+ browser_dissect_BrowserrResetStatistics_request, browser_dissect_BrowserrResetStatistics_response},
+ { 7, "NetrBrowserStatisticsClear",
+ browser_dissect_NetrBrowserStatisticsClear_request, browser_dissect_NetrBrowserStatisticsClear_response},
+ { 8, "NetrBrowserStatisticsGet",
+ browser_dissect_NetrBrowserStatisticsGet_request, browser_dissect_NetrBrowserStatisticsGet_response},
+ { 9, "BrowserrSetNetlogonState",
+ browser_dissect_BrowserrSetNetlogonState_request, browser_dissect_BrowserrSetNetlogonState_response},
+ { 10, "BrowserrQueryEmulatedDomains",
+ browser_dissect_BrowserrQueryEmulatedDomains_request, browser_dissect_BrowserrQueryEmulatedDomains_response},
+ { 11, "BrowserrServerEnumEx",
+ browser_dissect_BrowserrServerEnumEx_request, browser_dissect_BrowserrServerEnumEx_response},
+ { 0, NULL, NULL, NULL }
+};
+
+void proto_register_dcerpc_browser(void)
+{
+ static hf_register_info hf[] = {
+ { &hf_browser_BrowserrDebugCall_unknown1,
+ { "Unknown1", "browser.BrowserrDebugCall.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrDebugCall_unknown2,
+ { "Unknown2", "browser.BrowserrDebugCall.unknown2", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrDebugCall_unknown3,
+ { "Unknown3", "browser.BrowserrDebugCall.unknown3", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrDebugTrace_unknown1,
+ { "Unknown1", "browser.BrowserrDebugTrace.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrDebugTrace_unknown2,
+ { "Unknown2", "browser.BrowserrDebugTrace.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrQueryEmulatedDomains_unknown1,
+ { "Unknown1", "browser.BrowserrQueryEmulatedDomains.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrQueryEmulatedDomains_unknown2,
+ { "Unknown2", "browser.BrowserrQueryEmulatedDomains.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrQueryOtherDomains_info,
+ { "Info", "browser.BrowserrQueryOtherDomains.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrQueryOtherDomains_server_unc,
+ { "Server Unc", "browser.BrowserrQueryOtherDomains.server_unc", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrQueryOtherDomains_total_entries,
+ { "Total Entries", "browser.BrowserrQueryOtherDomains.total_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrQueryStatistics_unknown1,
+ { "Unknown1", "browser.BrowserrQueryStatistics.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrQueryStatistics_unknown2,
+ { "Unknown2", "browser.BrowserrQueryStatistics.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrResetNetlogonState_unknown,
+ { "Unknown", "browser.BrowserrResetNetlogonState.unknown", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrResetStatistics_unknown,
+ { "Unknown", "browser.BrowserrResetStatistics.unknown", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnumEx_info,
+ { "Info", "browser.BrowserrServerEnumEx.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnumEx_unknown1,
+ { "Unknown1", "browser.BrowserrServerEnumEx.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnumEx_unknown2,
+ { "Unknown2", "browser.BrowserrServerEnumEx.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnumEx_unknown3,
+ { "Unknown3", "browser.BrowserrServerEnumEx.unknown3", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnumEx_unknown4,
+ { "Unknown4", "browser.BrowserrServerEnumEx.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnumEx_unknown5,
+ { "Unknown5", "browser.BrowserrServerEnumEx.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnumEx_unknown6,
+ { "Unknown6", "browser.BrowserrServerEnumEx.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnumEx_unknown7,
+ { "Unknown7", "browser.BrowserrServerEnumEx.unknown7", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnumEx_unknown8,
+ { "Unknown8", "browser.BrowserrServerEnumEx.unknown8", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnum_info,
+ { "Info", "browser.BrowserrServerEnum.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnum_unknown1,
+ { "Unknown1", "browser.BrowserrServerEnum.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnum_unknown2,
+ { "Unknown2", "browser.BrowserrServerEnum.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnum_unknown3,
+ { "Unknown3", "browser.BrowserrServerEnum.unknown3", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnum_unknown4,
+ { "Unknown4", "browser.BrowserrServerEnum.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnum_unknown5,
+ { "Unknown5", "browser.BrowserrServerEnum.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnum_unknown6,
+ { "Unknown6", "browser.BrowserrServerEnum.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnum_unknown7,
+ { "Unknown7", "browser.BrowserrServerEnum.unknown7", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrServerEnum_unknown8,
+ { "Unknown8", "browser.BrowserrServerEnum.unknown8", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSetNetlogonState_unknown1,
+ { "Unknown1", "browser.BrowserrSetNetlogonState.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSetNetlogonState_unknown2,
+ { "Unknown2", "browser.BrowserrSetNetlogonState.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSetNetlogonState_unknown3,
+ { "Unknown3", "browser.BrowserrSetNetlogonState.unknown3", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSetNetlogonState_unknown4,
+ { "Unknown4", "browser.BrowserrSetNetlogonState.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSrvInfo100Ctr_entries,
+ { "Entries", "browser.BrowserrSrvInfo100Ctr.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSrvInfo100Ctr_entries_read,
+ { "Entries Read", "browser.BrowserrSrvInfo100Ctr.entries_read", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSrvInfo101Ctr_entries,
+ { "Entries", "browser.BrowserrSrvInfo101Ctr.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSrvInfo101Ctr_entries_read,
+ { "Entries Read", "browser.BrowserrSrvInfo101Ctr.entries_read", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSrvInfoUnion_info100,
+ { "Info100", "browser.BrowserrSrvInfoUnion.info100", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSrvInfoUnion_info101,
+ { "Info101", "browser.BrowserrSrvInfoUnion.info101", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSrvInfo_info,
+ { "Info", "browser.BrowserrSrvInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_BrowserrSrvInfo_level,
+ { "Level", "browser.BrowserrSrvInfo.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_NetrBrowserStatisticsClear_unknown,
+ { "Unknown", "browser.NetrBrowserStatisticsClear.unknown", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_NetrBrowserStatisticsGet_unknown1,
+ { "Unknown1", "browser.NetrBrowserStatisticsGet.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_NetrBrowserStatisticsGet_unknown2,
+ { "Unknown2", "browser.NetrBrowserStatisticsGet.unknown2", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_NetrBrowserStatisticsGet_unknown3,
+ { "Unknown3", "browser.NetrBrowserStatisticsGet.unknown3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_1_unknown,
+ { "Unknown", "browser.TYPE_1.unknown", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown1,
+ { "Unknown1", "browser.TYPE_2.unknown1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown10,
+ { "Unknown10", "browser.TYPE_2.unknown10", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown11,
+ { "Unknown11", "browser.TYPE_2.unknown11", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown12,
+ { "Unknown12", "browser.TYPE_2.unknown12", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown13,
+ { "Unknown13", "browser.TYPE_2.unknown13", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown14,
+ { "Unknown14", "browser.TYPE_2.unknown14", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown15,
+ { "Unknown15", "browser.TYPE_2.unknown15", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown16,
+ { "Unknown16", "browser.TYPE_2.unknown16", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown17,
+ { "Unknown17", "browser.TYPE_2.unknown17", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown18,
+ { "Unknown18", "browser.TYPE_2.unknown18", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown19,
+ { "Unknown19", "browser.TYPE_2.unknown19", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown2,
+ { "Unknown2", "browser.TYPE_2.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown3,
+ { "Unknown3", "browser.TYPE_2.unknown3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown4,
+ { "Unknown4", "browser.TYPE_2.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown5,
+ { "Unknown5", "browser.TYPE_2.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown6,
+ { "Unknown6", "browser.TYPE_2.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown7,
+ { "Unknown7", "browser.TYPE_2.unknown7", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown8,
+ { "Unknown8", "browser.TYPE_2.unknown8", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_2_unknown9,
+ { "Unknown9", "browser.TYPE_2.unknown9", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown1,
+ { "Unknown1", "browser.TYPE_3.unknown1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown10,
+ { "Unknown10", "browser.TYPE_3.unknown10", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown11,
+ { "Unknown11", "browser.TYPE_3.unknown11", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown12,
+ { "Unknown12", "browser.TYPE_3.unknown12", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown13,
+ { "Unknown13", "browser.TYPE_3.unknown13", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown14,
+ { "Unknown14", "browser.TYPE_3.unknown14", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown15,
+ { "Unknown15", "browser.TYPE_3.unknown15", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown16,
+ { "Unknown16", "browser.TYPE_3.unknown16", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown2,
+ { "Unknown2", "browser.TYPE_3.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown3,
+ { "Unknown3", "browser.TYPE_3.unknown3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown4,
+ { "Unknown4", "browser.TYPE_3.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown5,
+ { "Unknown5", "browser.TYPE_3.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown6,
+ { "Unknown6", "browser.TYPE_3.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown7,
+ { "Unknown7", "browser.TYPE_3.unknown7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown8,
+ { "Unknown8", "browser.TYPE_3.unknown8", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_3_unknown9,
+ { "Unknown9", "browser.TYPE_3.unknown9", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_4_unknown1,
+ { "Unknown1", "browser.TYPE_4.unknown1", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_TYPE_4_unknown2,
+ { "Unknown2", "browser.TYPE_4.unknown2", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_opnum,
+ { "Operation", "browser.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+ { &hf_browser_werror,
+ { "Windows Error", "browser.werror", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }},
};
- static gint *ett[] = {
- &ett_dcerpc_browser
+
+
+ static int *ett[] = {
+ &ett_dcerpc_browser,
+ &ett_browser_BrowserrSrvInfo100Ctr,
+ &ett_browser_BrowserrSrvInfo101Ctr,
+ &ett_browser_BrowserrSrvInfoUnion,
+ &ett_browser_BrowserrSrvInfo,
+ &ett_browser_TYPE_1,
+ &ett_browser_TYPE_2,
+ &ett_browser_TYPE_3,
+ &ett_browser_TYPE_4,
};
proto_dcerpc_browser = proto_register_protocol("RPC Browser", "RPC_BROWSER", "rpc_browser");
-
- proto_register_field_array(proto_dcerpc_browser, hf,
- array_length(hf));
+ proto_register_field_array(proto_dcerpc_browser, hf, array_length (hf));
proto_register_subtree_array(ett, array_length(ett));
}
-void
-proto_reg_handoff_dcerpc_browser(void)
+void proto_reg_handoff_dcerpc_browser(void)
{
- /* Register protocol as dcerpc */
-
dcerpc_init_uuid(proto_dcerpc_browser, ett_dcerpc_browser,
- &uuid_dcerpc_browser, ver_dcerpc_browser,
- dcerpc_browser_dissectors, hf_browser_opnum);
-}
-
-/*
- * Editor modelines - https://www.wireshark.org/tools/modelines.html
- *
- * Local variables:
- * c-basic-offset: 8
- * tab-width: 8
- * indent-tabs-mode: t
- * End:
- *
- * vi: set shiftwidth=8 tabstop=8 noexpandtab:
- * :indentSize=8:tabSize=8:noTabs=false:
- */
+ &uuid_dcerpc_browser, ver_dcerpc_browser,
+ browser_dissectors, hf_browser_opnum);
+}