regen pidl all: rm epan/dissectors/pidl/*-stamp; pushd epan/dissectors/pidl/ && make...
[wireshark-sm.git] / epan / dissectors / packet-dcerpc-browser.c
blobb0f865a7b23184cfa94b6a2b9208f88b79ea2a15
1 /* DO NOT EDIT
2 This file was automatically generated by Pidl
3 from browser.idl and browser.cnf.
5 Pidl is a perl based IDL compiler for DCE/RPC idl files.
6 It is maintained by the Samba team, not the Wireshark team.
7 Instructions on how to download and install Pidl can be
8 found at https://wiki.wireshark.org/Pidl
9 */
12 #include "config.h"
13 #include <string.h>
14 #include <wsutil/array.h>
15 #include <epan/packet.h>
16 #include <epan/tfs.h>
18 #include "packet-dcerpc.h"
19 #include "packet-dcerpc-nt.h"
20 #include "packet-windows-common.h"
21 #include "packet-dcerpc-browser.h"
22 void proto_register_dcerpc_browser(void);
23 void proto_reg_handoff_dcerpc_browser(void);
25 /* Ett declarations */
26 static int ett_dcerpc_browser;
27 static int ett_browser_BrowserrSrvInfo100Ctr;
28 static int ett_browser_BrowserrSrvInfo101Ctr;
29 static int ett_browser_BrowserrSrvInfoUnion;
30 static int ett_browser_BrowserrSrvInfo;
31 static int ett_browser_TYPE_1;
32 static int ett_browser_TYPE_2;
33 static int ett_browser_TYPE_3;
34 static int ett_browser_TYPE_4;
37 /* Header field declarations */
38 static int hf_browser_BrowserrDebugCall_unknown1;
39 static int hf_browser_BrowserrDebugCall_unknown2;
40 static int hf_browser_BrowserrDebugCall_unknown3;
41 static int hf_browser_BrowserrDebugTrace_unknown1;
42 static int hf_browser_BrowserrDebugTrace_unknown2;
43 static int hf_browser_BrowserrQueryEmulatedDomains_unknown1;
44 static int hf_browser_BrowserrQueryEmulatedDomains_unknown2;
45 static int hf_browser_BrowserrQueryOtherDomains_info;
46 static int hf_browser_BrowserrQueryOtherDomains_server_unc;
47 static int hf_browser_BrowserrQueryOtherDomains_total_entries;
48 static int hf_browser_BrowserrQueryStatistics_unknown1;
49 static int hf_browser_BrowserrQueryStatistics_unknown2;
50 static int hf_browser_BrowserrResetNetlogonState_unknown;
51 static int hf_browser_BrowserrResetStatistics_unknown;
52 static int hf_browser_BrowserrServerEnumEx_info;
53 static int hf_browser_BrowserrServerEnumEx_unknown1;
54 static int hf_browser_BrowserrServerEnumEx_unknown2;
55 static int hf_browser_BrowserrServerEnumEx_unknown3;
56 static int hf_browser_BrowserrServerEnumEx_unknown4;
57 static int hf_browser_BrowserrServerEnumEx_unknown5;
58 static int hf_browser_BrowserrServerEnumEx_unknown6;
59 static int hf_browser_BrowserrServerEnumEx_unknown7;
60 static int hf_browser_BrowserrServerEnumEx_unknown8;
61 static int hf_browser_BrowserrServerEnum_info;
62 static int hf_browser_BrowserrServerEnum_unknown1;
63 static int hf_browser_BrowserrServerEnum_unknown2;
64 static int hf_browser_BrowserrServerEnum_unknown3;
65 static int hf_browser_BrowserrServerEnum_unknown4;
66 static int hf_browser_BrowserrServerEnum_unknown5;
67 static int hf_browser_BrowserrServerEnum_unknown6;
68 static int hf_browser_BrowserrServerEnum_unknown7;
69 static int hf_browser_BrowserrServerEnum_unknown8;
70 static int hf_browser_BrowserrSetNetlogonState_unknown1;
71 static int hf_browser_BrowserrSetNetlogonState_unknown2;
72 static int hf_browser_BrowserrSetNetlogonState_unknown3;
73 static int hf_browser_BrowserrSetNetlogonState_unknown4;
74 static int hf_browser_BrowserrSrvInfo100Ctr_entries;
75 static int hf_browser_BrowserrSrvInfo100Ctr_entries_read;
76 static int hf_browser_BrowserrSrvInfo101Ctr_entries;
77 static int hf_browser_BrowserrSrvInfo101Ctr_entries_read;
78 static int hf_browser_BrowserrSrvInfoUnion_info100;
79 static int hf_browser_BrowserrSrvInfoUnion_info101;
80 static int hf_browser_BrowserrSrvInfo_info;
81 static int hf_browser_BrowserrSrvInfo_level;
82 static int hf_browser_NetrBrowserStatisticsClear_unknown;
83 static int hf_browser_NetrBrowserStatisticsGet_unknown1;
84 static int hf_browser_NetrBrowserStatisticsGet_unknown2;
85 static int hf_browser_NetrBrowserStatisticsGet_unknown3;
86 static int hf_browser_TYPE_1_unknown;
87 static int hf_browser_TYPE_2_unknown1;
88 static int hf_browser_TYPE_2_unknown10;
89 static int hf_browser_TYPE_2_unknown11;
90 static int hf_browser_TYPE_2_unknown12;
91 static int hf_browser_TYPE_2_unknown13;
92 static int hf_browser_TYPE_2_unknown14;
93 static int hf_browser_TYPE_2_unknown15;
94 static int hf_browser_TYPE_2_unknown16;
95 static int hf_browser_TYPE_2_unknown17;
96 static int hf_browser_TYPE_2_unknown18;
97 static int hf_browser_TYPE_2_unknown19;
98 static int hf_browser_TYPE_2_unknown2;
99 static int hf_browser_TYPE_2_unknown3;
100 static int hf_browser_TYPE_2_unknown4;
101 static int hf_browser_TYPE_2_unknown5;
102 static int hf_browser_TYPE_2_unknown6;
103 static int hf_browser_TYPE_2_unknown7;
104 static int hf_browser_TYPE_2_unknown8;
105 static int hf_browser_TYPE_2_unknown9;
106 static int hf_browser_TYPE_3_unknown1;
107 static int hf_browser_TYPE_3_unknown10;
108 static int hf_browser_TYPE_3_unknown11;
109 static int hf_browser_TYPE_3_unknown12;
110 static int hf_browser_TYPE_3_unknown13;
111 static int hf_browser_TYPE_3_unknown14;
112 static int hf_browser_TYPE_3_unknown15;
113 static int hf_browser_TYPE_3_unknown16;
114 static int hf_browser_TYPE_3_unknown2;
115 static int hf_browser_TYPE_3_unknown3;
116 static int hf_browser_TYPE_3_unknown4;
117 static int hf_browser_TYPE_3_unknown5;
118 static int hf_browser_TYPE_3_unknown6;
119 static int hf_browser_TYPE_3_unknown7;
120 static int hf_browser_TYPE_3_unknown8;
121 static int hf_browser_TYPE_3_unknown9;
122 static int hf_browser_TYPE_4_unknown1;
123 static int hf_browser_TYPE_4_unknown2;
124 static int hf_browser_opnum;
125 static int hf_browser_werror;
127 static int proto_dcerpc_browser;
128 /* Version information */
131 static e_guid_t uuid_dcerpc_browser = {
132 0x6bffd098, 0xa112, 0x3610,
133 { 0x98, 0x33, 0x01, 0x28, 0x92, 0x02, 0x01, 0x62 }
135 static uint16_t ver_dcerpc_browser = 0;
137 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_);
138 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_);
139 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_);
140 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_);
141 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_);
142 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_);
143 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_);
144 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_);
145 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_);
146 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_);
147 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_);
148 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_);
149 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);
150 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);
151 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_);
152 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_);
153 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_);
154 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_);
155 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_);
156 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_);
157 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_);
158 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_);
159 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_);
160 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_);
161 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_);
162 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_);
163 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_);
164 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_);
165 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_);
166 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_);
167 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_);
168 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_);
169 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_);
170 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_);
171 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_);
172 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_);
173 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_);
174 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_);
175 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_);
176 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_);
177 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_);
178 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_);
179 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_);
180 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_);
181 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_);
182 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_);
183 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_);
184 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_);
185 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_);
186 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_);
187 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_);
188 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_);
189 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_);
190 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_);
191 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_);
192 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_);
193 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_);
194 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_);
195 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_);
196 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_);
197 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_);
198 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_);
199 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_);
200 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_);
201 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_);
202 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_);
203 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_);
204 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_);
205 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_);
206 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_);
207 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_);
208 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_);
209 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_);
210 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_);
211 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_);
212 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_);
213 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_);
214 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_);
215 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_);
216 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_);
217 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_);
218 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_);
219 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_);
220 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_);
221 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_);
222 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_);
223 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_);
224 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_);
225 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_);
226 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_);
227 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_);
228 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_);
229 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_);
230 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_);
231 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_);
232 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_);
233 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_);
234 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_);
235 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_);
236 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_);
237 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_);
238 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_);
239 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_);
240 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_);
241 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_);
242 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_);
243 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_);
244 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_);
245 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_);
246 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_);
247 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_);
248 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_);
249 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_);
250 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_);
251 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_);
252 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_);
253 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_);
254 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_);
255 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_);
256 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_);
257 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_);
258 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_);
259 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_);
260 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_);
261 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_);
262 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_);
263 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_);
266 /* IDL: struct { */
267 /* IDL: uint32 entries_read; */
268 /* IDL: [size_is(entries_read)] [unique(1)] srvsvc_NetSrvInfo100 *entries; */
269 /* IDL: } */
271 static int
272 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_)
274 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo100Ctr_entries_read, 0);
276 return offset;
279 static int
280 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_)
282 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);
284 return offset;
287 static int
288 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_)
290 struct ndr_generic_array nga = { .is_conformant = false, };
292 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
294 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, browser_dissect_element_BrowserrSrvInfo100Ctr_entries__);
296 return offset;
299 static int
300 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_)
302 offset = srvsvc_dissect_struct_NetSrvInfo100(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo100Ctr_entries, 0);
304 return offset;
308 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_)
310 proto_item *item = NULL;
311 proto_tree *tree = NULL;
312 int old_offset;
314 ALIGN_TO_5_BYTES;
316 old_offset = offset;
318 if (parent_tree) {
319 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
320 tree = proto_item_add_subtree(item, ett_browser_BrowserrSrvInfo100Ctr);
323 offset = browser_dissect_element_BrowserrSrvInfo100Ctr_entries_read(tvb, offset, pinfo, tree, di, drep);
325 offset = browser_dissect_element_BrowserrSrvInfo100Ctr_entries(tvb, offset, pinfo, tree, di, drep);
328 proto_item_set_len(item, offset-old_offset);
331 if (di->call_data->flags & DCERPC_IS_NDR64) {
332 ALIGN_TO_5_BYTES;
335 return offset;
339 /* IDL: struct { */
340 /* IDL: uint32 entries_read; */
341 /* IDL: [size_is(entries_read)] [unique(1)] srvsvc_NetSrvInfo101 *entries; */
342 /* IDL: } */
344 static int
345 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_)
347 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo101Ctr_entries_read, 0);
349 return offset;
352 static int
353 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_)
355 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);
357 return offset;
360 static int
361 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_)
363 struct ndr_generic_array nga = { .is_conformant = false, };
365 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
367 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, browser_dissect_element_BrowserrSrvInfo101Ctr_entries__);
369 return offset;
372 static int
373 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_)
375 offset = srvsvc_dissect_struct_NetSrvInfo101(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo100Ctr_entries, 0);
377 return offset;
381 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_)
383 proto_item *item = NULL;
384 proto_tree *tree = NULL;
385 int old_offset;
387 ALIGN_TO_5_BYTES;
389 old_offset = offset;
391 if (parent_tree) {
392 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
393 tree = proto_item_add_subtree(item, ett_browser_BrowserrSrvInfo101Ctr);
396 offset = browser_dissect_element_BrowserrSrvInfo101Ctr_entries_read(tvb, offset, pinfo, tree, di, drep);
398 offset = browser_dissect_element_BrowserrSrvInfo101Ctr_entries(tvb, offset, pinfo, tree, di, drep);
401 proto_item_set_len(item, offset-old_offset);
404 if (di->call_data->flags & DCERPC_IS_NDR64) {
405 ALIGN_TO_5_BYTES;
408 return offset;
412 /* IDL: [switch_type(uint32)] union { */
413 /* IDL: [case(100)] [case(100)] [unique(1)] BrowserrSrvInfo100Ctr *info100; */
414 /* IDL: [case(101)] [case(101)] [unique(1)] BrowserrSrvInfo101Ctr *info101; */
415 /* IDL: [default] ; */
416 /* IDL: } */
418 static int
419 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_)
421 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);
423 return offset;
426 static int
427 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_)
429 offset = browser_dissect_struct_BrowserrSrvInfo100Ctr(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrSrvInfoUnion_info100,0);
431 return offset;
434 static int
435 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_)
437 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);
439 return offset;
442 static int
443 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_)
445 offset = browser_dissect_struct_BrowserrSrvInfo101Ctr(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrSrvInfoUnion_info101,0);
447 return offset;
450 static int
451 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_)
453 proto_item *item = NULL;
454 proto_tree *tree = NULL;
455 int old_offset;
456 uint32_t level;
458 old_offset = offset;
459 if (parent_tree) {
460 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_browser_BrowserrSrvInfoUnion, &item, "BrowserrSrvInfoUnion");
463 UNION_ALIGN_TO_5_BYTES;
464 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
465 UNION_ALIGN_TO_5_BYTES;
467 switch(level) {
468 case 100:
469 offset = browser_dissect_element_BrowserrSrvInfoUnion_info100(tvb, offset, pinfo, tree, di, drep);
470 break;
472 case 101:
473 offset = browser_dissect_element_BrowserrSrvInfoUnion_info101(tvb, offset, pinfo, tree, di, drep);
474 break;
476 default:
477 break;
479 proto_item_set_len(item, offset-old_offset);
482 return offset;
485 /* IDL: struct { */
486 /* IDL: uint32 level; */
487 /* IDL: [switch_is(level)] BrowserrSrvInfoUnion info; */
488 /* IDL: } */
490 static int
491 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)
493 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo_level, *level);
495 return offset;
498 static int
499 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)
501 offset = browser_dissect_BrowserrSrvInfoUnion(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo_info, level);
503 return offset;
507 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_)
509 uint32_t level = 0;
510 proto_item *item = NULL;
511 proto_tree *tree = NULL;
512 int old_offset;
514 ALIGN_TO_5_BYTES;
516 old_offset = offset;
518 if (parent_tree) {
519 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
520 tree = proto_item_add_subtree(item, ett_browser_BrowserrSrvInfo);
523 offset = browser_dissect_element_BrowserrSrvInfo_level(tvb, offset, pinfo, tree, di, drep, &level);
525 offset = browser_dissect_element_BrowserrSrvInfo_info(tvb, offset, pinfo, tree, di, drep, level);
528 proto_item_set_len(item, offset-old_offset);
531 if (di->call_data->flags & DCERPC_IS_NDR64) {
532 ALIGN_TO_5_BYTES;
535 return offset;
539 /* IDL: struct { */
540 /* IDL: hyper unknown; */
541 /* IDL: } */
543 static int
544 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_)
546 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_1_unknown, NULL);
548 return offset;
552 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_)
554 proto_item *item = NULL;
555 proto_tree *tree = NULL;
556 int old_offset;
558 ALIGN_TO_8_BYTES;
560 old_offset = offset;
562 if (parent_tree) {
563 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
564 tree = proto_item_add_subtree(item, ett_browser_TYPE_1);
567 offset = browser_dissect_element_TYPE_1_unknown(tvb, offset, pinfo, tree, di, drep);
570 proto_item_set_len(item, offset-old_offset);
573 if (di->call_data->flags & DCERPC_IS_NDR64) {
574 ALIGN_TO_8_BYTES;
577 return offset;
581 /* IDL: struct { */
582 /* IDL: TYPE_1 unknown1; */
583 /* IDL: TYPE_1 unknown2; */
584 /* IDL: TYPE_1 unknown3; */
585 /* IDL: int32 unknown4; */
586 /* IDL: int32 unknown5; */
587 /* IDL: int32 unknown6; */
588 /* IDL: int32 unknown7; */
589 /* IDL: int32 unknown8; */
590 /* IDL: int32 unknown9; */
591 /* IDL: int32 unknown10; */
592 /* IDL: int32 unknown11; */
593 /* IDL: int32 unknown12; */
594 /* IDL: int32 unknown13; */
595 /* IDL: int32 unknown14; */
596 /* IDL: int32 unknown15; */
597 /* IDL: int32 unknown16; */
598 /* IDL: int32 unknown17; */
599 /* IDL: int32 unknown18; */
600 /* IDL: TYPE_1 unknown19; */
601 /* IDL: } */
603 static int
604 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_)
606 offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown1,0);
608 return offset;
611 static int
612 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_)
614 offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown2,0);
616 return offset;
619 static int
620 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_)
622 offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown3,0);
624 return offset;
627 static int
628 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_)
630 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown4, 0);
632 return offset;
635 static int
636 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_)
638 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown5, 0);
640 return offset;
643 static int
644 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_)
646 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown6, 0);
648 return offset;
651 static int
652 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_)
654 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown7, 0);
656 return offset;
659 static int
660 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_)
662 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown8, 0);
664 return offset;
667 static int
668 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_)
670 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown9, 0);
672 return offset;
675 static int
676 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_)
678 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown10, 0);
680 return offset;
683 static int
684 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_)
686 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown11, 0);
688 return offset;
691 static int
692 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_)
694 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown12, 0);
696 return offset;
699 static int
700 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_)
702 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown13, 0);
704 return offset;
707 static int
708 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_)
710 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown14, 0);
712 return offset;
715 static int
716 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_)
718 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown15, 0);
720 return offset;
723 static int
724 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_)
726 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown16, 0);
728 return offset;
731 static int
732 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_)
734 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown17, 0);
736 return offset;
739 static int
740 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_)
742 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_2_unknown18, 0);
744 return offset;
747 static int
748 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_)
750 offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown19,0);
752 return offset;
756 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_)
758 proto_item *item = NULL;
759 proto_tree *tree = NULL;
760 int old_offset;
762 ALIGN_TO_8_BYTES;
764 old_offset = offset;
766 if (parent_tree) {
767 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
768 tree = proto_item_add_subtree(item, ett_browser_TYPE_2);
771 offset = browser_dissect_element_TYPE_2_unknown1(tvb, offset, pinfo, tree, di, drep);
773 offset = browser_dissect_element_TYPE_2_unknown2(tvb, offset, pinfo, tree, di, drep);
775 offset = browser_dissect_element_TYPE_2_unknown3(tvb, offset, pinfo, tree, di, drep);
777 offset = browser_dissect_element_TYPE_2_unknown4(tvb, offset, pinfo, tree, di, drep);
779 offset = browser_dissect_element_TYPE_2_unknown5(tvb, offset, pinfo, tree, di, drep);
781 offset = browser_dissect_element_TYPE_2_unknown6(tvb, offset, pinfo, tree, di, drep);
783 offset = browser_dissect_element_TYPE_2_unknown7(tvb, offset, pinfo, tree, di, drep);
785 offset = browser_dissect_element_TYPE_2_unknown8(tvb, offset, pinfo, tree, di, drep);
787 offset = browser_dissect_element_TYPE_2_unknown9(tvb, offset, pinfo, tree, di, drep);
789 offset = browser_dissect_element_TYPE_2_unknown10(tvb, offset, pinfo, tree, di, drep);
791 offset = browser_dissect_element_TYPE_2_unknown11(tvb, offset, pinfo, tree, di, drep);
793 offset = browser_dissect_element_TYPE_2_unknown12(tvb, offset, pinfo, tree, di, drep);
795 offset = browser_dissect_element_TYPE_2_unknown13(tvb, offset, pinfo, tree, di, drep);
797 offset = browser_dissect_element_TYPE_2_unknown14(tvb, offset, pinfo, tree, di, drep);
799 offset = browser_dissect_element_TYPE_2_unknown15(tvb, offset, pinfo, tree, di, drep);
801 offset = browser_dissect_element_TYPE_2_unknown16(tvb, offset, pinfo, tree, di, drep);
803 offset = browser_dissect_element_TYPE_2_unknown17(tvb, offset, pinfo, tree, di, drep);
805 offset = browser_dissect_element_TYPE_2_unknown18(tvb, offset, pinfo, tree, di, drep);
807 offset = browser_dissect_element_TYPE_2_unknown19(tvb, offset, pinfo, tree, di, drep);
810 proto_item_set_len(item, offset-old_offset);
813 if (di->call_data->flags & DCERPC_IS_NDR64) {
814 ALIGN_TO_8_BYTES;
817 return offset;
821 /* IDL: struct { */
822 /* IDL: TYPE_1 unknown1; */
823 /* IDL: TYPE_1 unknown2; */
824 /* IDL: TYPE_1 unknown3; */
825 /* IDL: int32 unknown4; */
826 /* IDL: int32 unknown5; */
827 /* IDL: int32 unknown6; */
828 /* IDL: TYPE_1 unknown7; */
829 /* IDL: int32 unknown8; */
830 /* IDL: int32 unknown9; */
831 /* IDL: int32 unknown10; */
832 /* IDL: int32 unknown11; */
833 /* IDL: int32 unknown12; */
834 /* IDL: int32 unknown13; */
835 /* IDL: int32 unknown14; */
836 /* IDL: int32 unknown15; */
837 /* IDL: int32 unknown16; */
838 /* IDL: } */
840 static int
841 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_)
843 offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown1,0);
845 return offset;
848 static int
849 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_)
851 offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown2,0);
853 return offset;
856 static int
857 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_)
859 offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown3,0);
861 return offset;
864 static int
865 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_)
867 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown4, 0);
869 return offset;
872 static int
873 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_)
875 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown5, 0);
877 return offset;
880 static int
881 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_)
883 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown6, 0);
885 return offset;
888 static int
889 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_)
891 offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown7,0);
893 return offset;
896 static int
897 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_)
899 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown8, 0);
901 return offset;
904 static int
905 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_)
907 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown9, 0);
909 return offset;
912 static int
913 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_)
915 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown10, 0);
917 return offset;
920 static int
921 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_)
923 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown11, 0);
925 return offset;
928 static int
929 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_)
931 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown12, 0);
933 return offset;
936 static int
937 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_)
939 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown13, 0);
941 return offset;
944 static int
945 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_)
947 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown14, 0);
949 return offset;
952 static int
953 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_)
955 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown15, 0);
957 return offset;
960 static int
961 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_)
963 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_3_unknown16, 0);
965 return offset;
969 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_)
971 proto_item *item = NULL;
972 proto_tree *tree = NULL;
973 int old_offset;
975 ALIGN_TO_8_BYTES;
977 old_offset = offset;
979 if (parent_tree) {
980 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
981 tree = proto_item_add_subtree(item, ett_browser_TYPE_3);
984 offset = browser_dissect_element_TYPE_3_unknown1(tvb, offset, pinfo, tree, di, drep);
986 offset = browser_dissect_element_TYPE_3_unknown2(tvb, offset, pinfo, tree, di, drep);
988 offset = browser_dissect_element_TYPE_3_unknown3(tvb, offset, pinfo, tree, di, drep);
990 offset = browser_dissect_element_TYPE_3_unknown4(tvb, offset, pinfo, tree, di, drep);
992 offset = browser_dissect_element_TYPE_3_unknown5(tvb, offset, pinfo, tree, di, drep);
994 offset = browser_dissect_element_TYPE_3_unknown6(tvb, offset, pinfo, tree, di, drep);
996 offset = browser_dissect_element_TYPE_3_unknown7(tvb, offset, pinfo, tree, di, drep);
998 offset = browser_dissect_element_TYPE_3_unknown8(tvb, offset, pinfo, tree, di, drep);
1000 offset = browser_dissect_element_TYPE_3_unknown9(tvb, offset, pinfo, tree, di, drep);
1002 offset = browser_dissect_element_TYPE_3_unknown10(tvb, offset, pinfo, tree, di, drep);
1004 offset = browser_dissect_element_TYPE_3_unknown11(tvb, offset, pinfo, tree, di, drep);
1006 offset = browser_dissect_element_TYPE_3_unknown12(tvb, offset, pinfo, tree, di, drep);
1008 offset = browser_dissect_element_TYPE_3_unknown13(tvb, offset, pinfo, tree, di, drep);
1010 offset = browser_dissect_element_TYPE_3_unknown14(tvb, offset, pinfo, tree, di, drep);
1012 offset = browser_dissect_element_TYPE_3_unknown15(tvb, offset, pinfo, tree, di, drep);
1014 offset = browser_dissect_element_TYPE_3_unknown16(tvb, offset, pinfo, tree, di, drep);
1017 proto_item_set_len(item, offset-old_offset);
1020 if (di->call_data->flags & DCERPC_IS_NDR64) {
1021 ALIGN_TO_8_BYTES;
1024 return offset;
1028 /* IDL: struct { */
1029 /* IDL: int32 unknown1; */
1030 /* IDL: [size_is(unknown82)] [unique(1)] uint8 *unknown2; */
1031 /* IDL: } */
1033 static int
1034 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_)
1036 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_4_unknown1, 0);
1038 return offset;
1041 static int
1042 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_)
1044 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);
1046 return offset;
1049 static int
1050 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_)
1052 struct ndr_generic_array nga = { .is_conformant = false, };
1054 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1056 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, browser_dissect_element_TYPE_4_unknown2__);
1058 return offset;
1061 static int
1062 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_)
1064 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_4_unknown2, 0);
1066 return offset;
1070 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_)
1072 proto_item *item = NULL;
1073 proto_tree *tree = NULL;
1074 int old_offset;
1076 ALIGN_TO_5_BYTES;
1078 old_offset = offset;
1080 if (parent_tree) {
1081 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1082 tree = proto_item_add_subtree(item, ett_browser_TYPE_4);
1085 offset = browser_dissect_element_TYPE_4_unknown1(tvb, offset, pinfo, tree, di, drep);
1087 offset = browser_dissect_element_TYPE_4_unknown2(tvb, offset, pinfo, tree, di, drep);
1090 proto_item_set_len(item, offset-old_offset);
1093 if (di->call_data->flags & DCERPC_IS_NDR64) {
1094 ALIGN_TO_5_BYTES;
1097 return offset;
1100 static int
1101 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_)
1103 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);
1105 return offset;
1108 static int
1109 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_)
1111 char *data = NULL;
1112 struct ndr_generic_array nga = { .is_conformant = false, };
1114 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1116 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1117 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnum_unknown1, false, &nga, &data);
1118 proto_item_append_text(tree, ": %s", data);
1120 return offset;
1123 static int
1124 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_)
1126 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);
1128 return offset;
1131 static int
1132 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_)
1134 char *data = NULL;
1135 struct ndr_generic_array nga = { .is_conformant = false, };
1137 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1139 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1140 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnum_unknown2, false, &nga, &data);
1141 proto_item_append_text(tree, ": %s", data);
1143 return offset;
1146 static int
1147 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_)
1149 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);
1151 return offset;
1154 static int
1155 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_)
1157 char *data = NULL;
1158 struct ndr_generic_array nga = { .is_conformant = false, };
1160 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1162 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1163 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnum_unknown3, false, &nga, &data);
1164 proto_item_append_text(tree, ": %s", data);
1166 return offset;
1169 static int
1170 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_)
1172 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);
1174 return offset;
1177 static int
1178 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_)
1180 offset = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrServerEnum_info,0);
1182 return offset;
1185 static int
1186 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_)
1188 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnum_unknown4, 0);
1190 return offset;
1193 static int
1194 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_)
1196 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);
1198 return offset;
1201 static int
1202 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_)
1204 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnum_unknown5, 0);
1206 return offset;
1209 static int
1210 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_)
1212 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnum_unknown6, 0);
1214 return offset;
1217 static int
1218 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_)
1220 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);
1222 return offset;
1225 static int
1226 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_)
1228 char *data = NULL;
1229 struct ndr_generic_array nga = { .is_conformant = false, };
1231 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1233 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1234 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnum_unknown7, false, &nga, &data);
1235 proto_item_append_text(tree, ": %s", data);
1237 return offset;
1240 static int
1241 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_)
1243 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);
1245 return offset;
1248 static int
1249 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_)
1251 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnum_unknown8, 0);
1253 return offset;
1256 /* IDL: WERROR BrowserrServerEnum( */
1257 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
1258 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown2, */
1259 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown3, */
1260 /* IDL: [in] [out] [ref] BrowserrSrvInfo *info, */
1261 /* IDL: [in] int32 unknown4, */
1262 /* IDL: [out] [ref] int32 *unknown5, */
1263 /* IDL: [in] int32 unknown6, */
1264 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown7, */
1265 /* IDL: [in] [out] [unique(1)] int32 *unknown8 */
1266 /* IDL: ); */
1268 static int
1269 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_)
1271 uint32_t status;
1273 di->dcerpc_procedure_name="BrowserrServerEnum";
1274 offset = browser_dissect_element_BrowserrServerEnum_info(tvb, offset, pinfo, tree, di, drep);
1275 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1277 offset = browser_dissect_element_BrowserrServerEnum_unknown5(tvb, offset, pinfo, tree, di, drep);
1278 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1280 offset = browser_dissect_element_BrowserrServerEnum_unknown8(tvb, offset, pinfo, tree, di, drep);
1281 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1283 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
1285 if (status != 0)
1286 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1288 return offset;
1291 static int
1292 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_)
1294 di->dcerpc_procedure_name="BrowserrServerEnum";
1295 offset = browser_dissect_element_BrowserrServerEnum_unknown1(tvb, offset, pinfo, tree, di, drep);
1296 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1297 offset = browser_dissect_element_BrowserrServerEnum_unknown2(tvb, offset, pinfo, tree, di, drep);
1298 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1299 offset = browser_dissect_element_BrowserrServerEnum_unknown3(tvb, offset, pinfo, tree, di, drep);
1300 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1301 offset = browser_dissect_element_BrowserrServerEnum_info(tvb, offset, pinfo, tree, di, drep);
1302 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1303 offset = browser_dissect_element_BrowserrServerEnum_unknown4(tvb, offset, pinfo, tree, di, drep);
1304 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1305 offset = browser_dissect_element_BrowserrServerEnum_unknown6(tvb, offset, pinfo, tree, di, drep);
1306 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1307 offset = browser_dissect_element_BrowserrServerEnum_unknown7(tvb, offset, pinfo, tree, di, drep);
1308 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1309 offset = browser_dissect_element_BrowserrServerEnum_unknown8(tvb, offset, pinfo, tree, di, drep);
1310 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1311 return offset;
1314 static int
1315 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_)
1317 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);
1319 return offset;
1322 static int
1323 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_)
1325 char *data = NULL;
1326 struct ndr_generic_array nga = { .is_conformant = false, };
1328 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1330 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1331 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrDebugCall_unknown1, false, &nga, &data);
1332 proto_item_append_text(tree, ": %s", data);
1334 return offset;
1337 static int
1338 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_)
1340 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrDebugCall_unknown2, 0);
1342 return offset;
1345 static int
1346 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_)
1348 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrDebugCall_unknown3, 0);
1350 return offset;
1353 /* IDL: WERROR BrowserrDebugCall( */
1354 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
1355 /* IDL: [in] int32 unknown2, */
1356 /* IDL: [in] int32 unknown3 */
1357 /* IDL: ); */
1359 static int
1360 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_)
1362 uint32_t status;
1364 di->dcerpc_procedure_name="BrowserrDebugCall";
1365 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
1367 if (status != 0)
1368 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1370 return offset;
1373 static int
1374 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_)
1376 di->dcerpc_procedure_name="BrowserrDebugCall";
1377 offset = browser_dissect_element_BrowserrDebugCall_unknown1(tvb, offset, pinfo, tree, di, drep);
1378 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1379 offset = browser_dissect_element_BrowserrDebugCall_unknown2(tvb, offset, pinfo, tree, di, drep);
1380 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1381 offset = browser_dissect_element_BrowserrDebugCall_unknown3(tvb, offset, pinfo, tree, di, drep);
1382 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1383 return offset;
1386 static int
1387 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_)
1389 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);
1391 return offset;
1394 static int
1395 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_)
1397 char *data = NULL;
1398 struct ndr_generic_array nga = { .is_conformant = false, };
1400 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1402 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1403 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrQueryOtherDomains_server_unc, false, &nga, &data);
1404 proto_item_append_text(tree, ": %s", data);
1406 return offset;
1409 static int
1410 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_)
1412 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);
1414 return offset;
1417 static int
1418 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_)
1420 offset = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrQueryOtherDomains_info,0);
1422 return offset;
1425 static int
1426 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_)
1428 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);
1430 return offset;
1433 static int
1434 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_)
1436 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrQueryOtherDomains_total_entries, 0);
1438 return offset;
1441 /* IDL: WERROR BrowserrQueryOtherDomains( */
1442 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *server_unc, */
1443 /* IDL: [in] [out] [ref] BrowserrSrvInfo *info, */
1444 /* IDL: [out] [ref] uint32 *total_entries */
1445 /* IDL: ); */
1447 static int
1448 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_)
1450 uint32_t status;
1452 di->dcerpc_procedure_name="BrowserrQueryOtherDomains";
1453 offset = browser_dissect_element_BrowserrQueryOtherDomains_info(tvb, offset, pinfo, tree, di, drep);
1454 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1456 offset = browser_dissect_element_BrowserrQueryOtherDomains_total_entries(tvb, offset, pinfo, tree, di, drep);
1457 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1459 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
1461 if (status != 0)
1462 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1464 return offset;
1467 static int
1468 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_)
1470 di->dcerpc_procedure_name="BrowserrQueryOtherDomains";
1471 offset = browser_dissect_element_BrowserrQueryOtherDomains_server_unc(tvb, offset, pinfo, tree, di, drep);
1472 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1473 offset = browser_dissect_element_BrowserrQueryOtherDomains_info(tvb, offset, pinfo, tree, di, drep);
1474 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1475 return offset;
1478 static int
1479 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_)
1481 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);
1483 return offset;
1486 static int
1487 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_)
1489 char *data = NULL;
1490 struct ndr_generic_array nga = { .is_conformant = false, };
1492 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1494 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1495 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrResetNetlogonState_unknown, false, &nga, &data);
1496 proto_item_append_text(tree, ": %s", data);
1498 return offset;
1501 /* IDL: WERROR BrowserrResetNetlogonState( */
1502 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown */
1503 /* IDL: ); */
1505 static int
1506 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_)
1508 uint32_t status;
1510 di->dcerpc_procedure_name="BrowserrResetNetlogonState";
1511 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
1513 if (status != 0)
1514 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1516 return offset;
1519 static int
1520 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_)
1522 di->dcerpc_procedure_name="BrowserrResetNetlogonState";
1523 offset = browser_dissect_element_BrowserrResetNetlogonState_unknown(tvb, offset, pinfo, tree, di, drep);
1524 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1525 return offset;
1528 static int
1529 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_)
1531 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);
1533 return offset;
1536 static int
1537 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_)
1539 char *data = NULL;
1540 struct ndr_generic_array nga = { .is_conformant = false, };
1542 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1544 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1545 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrDebugTrace_unknown1, false, &nga, &data);
1546 proto_item_append_text(tree, ": %s", data);
1548 return offset;
1551 static int
1552 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_)
1554 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);
1556 return offset;
1559 static int
1560 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_)
1562 char *data = NULL;
1563 struct ndr_generic_array nga = { .is_conformant = false, };
1565 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1567 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1568 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint8_t), hf_browser_BrowserrDebugTrace_unknown2, false, &nga, &data);
1569 proto_item_append_text(tree, ": %s", data);
1571 return offset;
1574 /* IDL: WERROR BrowserrDebugTrace( */
1575 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
1576 /* IDL: [in] [ref] uint8 *unknown2 */
1577 /* IDL: ); */
1579 static int
1580 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_)
1582 uint32_t status;
1584 di->dcerpc_procedure_name="BrowserrDebugTrace";
1585 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
1587 if (status != 0)
1588 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1590 return offset;
1593 static int
1594 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_)
1596 di->dcerpc_procedure_name="BrowserrDebugTrace";
1597 offset = browser_dissect_element_BrowserrDebugTrace_unknown1(tvb, offset, pinfo, tree, di, drep);
1598 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1599 offset = browser_dissect_element_BrowserrDebugTrace_unknown2(tvb, offset, pinfo, tree, di, drep);
1600 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1601 return offset;
1604 static int
1605 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_)
1607 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);
1609 return offset;
1612 static int
1613 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_)
1615 char *data = NULL;
1616 struct ndr_generic_array nga = { .is_conformant = false, };
1618 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1620 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1621 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrQueryStatistics_unknown1, false, &nga, &data);
1622 proto_item_append_text(tree, ": %s", data);
1624 return offset;
1627 static int
1628 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_)
1630 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);
1632 return offset;
1635 static int
1636 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_)
1638 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);
1640 return offset;
1643 static int
1644 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_)
1646 offset = browser_dissect_struct_TYPE_2(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrQueryStatistics_unknown2,0);
1648 return offset;
1651 /* IDL: WERROR BrowserrQueryStatistics( */
1652 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
1653 /* IDL: [out] [ref] TYPE_2 **unknown2 */
1654 /* IDL: ); */
1656 static int
1657 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_)
1659 uint32_t status;
1661 di->dcerpc_procedure_name="BrowserrQueryStatistics";
1662 offset = browser_dissect_element_BrowserrQueryStatistics_unknown2(tvb, offset, pinfo, tree, di, drep);
1663 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1665 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
1667 if (status != 0)
1668 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1670 return offset;
1673 static int
1674 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_)
1676 di->dcerpc_procedure_name="BrowserrQueryStatistics";
1677 offset = browser_dissect_element_BrowserrQueryStatistics_unknown1(tvb, offset, pinfo, tree, di, drep);
1678 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1679 return offset;
1682 static int
1683 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_)
1685 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);
1687 return offset;
1690 static int
1691 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_)
1693 char *data = NULL;
1694 struct ndr_generic_array nga = { .is_conformant = false, };
1696 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1698 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1699 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrResetStatistics_unknown, false, &nga, &data);
1700 proto_item_append_text(tree, ": %s", data);
1702 return offset;
1705 /* IDL: WERROR BrowserrResetStatistics( */
1706 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown */
1707 /* IDL: ); */
1709 static int
1710 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_)
1712 uint32_t status;
1714 di->dcerpc_procedure_name="BrowserrResetStatistics";
1715 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
1717 if (status != 0)
1718 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1720 return offset;
1723 static int
1724 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_)
1726 di->dcerpc_procedure_name="BrowserrResetStatistics";
1727 offset = browser_dissect_element_BrowserrResetStatistics_unknown(tvb, offset, pinfo, tree, di, drep);
1728 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1729 return offset;
1732 static int
1733 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_)
1735 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);
1737 return offset;
1740 static int
1741 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_)
1743 char *data = NULL;
1744 struct ndr_generic_array nga = { .is_conformant = false, };
1746 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1748 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1749 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_NetrBrowserStatisticsClear_unknown, false, &nga, &data);
1750 proto_item_append_text(tree, ": %s", data);
1752 return offset;
1755 /* IDL: WERROR NetrBrowserStatisticsClear( */
1756 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown */
1757 /* IDL: ); */
1759 static int
1760 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_)
1762 uint32_t status;
1764 di->dcerpc_procedure_name="NetrBrowserStatisticsClear";
1765 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
1767 if (status != 0)
1768 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1770 return offset;
1773 static int
1774 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_)
1776 di->dcerpc_procedure_name="NetrBrowserStatisticsClear";
1777 offset = browser_dissect_element_NetrBrowserStatisticsClear_unknown(tvb, offset, pinfo, tree, di, drep);
1778 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1779 return offset;
1782 static int
1783 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_)
1785 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);
1787 return offset;
1790 static int
1791 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_)
1793 char *data = NULL;
1794 struct ndr_generic_array nga = { .is_conformant = false, };
1796 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1798 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1799 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_NetrBrowserStatisticsGet_unknown1, false, &nga, &data);
1800 proto_item_append_text(tree, ": %s", data);
1802 return offset;
1805 static int
1806 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_)
1808 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_NetrBrowserStatisticsGet_unknown2, 0);
1810 return offset;
1813 static int
1814 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_)
1816 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);
1818 return offset;
1821 static int
1822 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_)
1824 offset = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_NetrBrowserStatisticsGet_unknown3,0);
1826 return offset;
1829 /* IDL: WERROR NetrBrowserStatisticsGet( */
1830 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
1831 /* IDL: [in] int32 unknown2, */
1832 /* IDL: [in] [out] [ref] BrowserrSrvInfo *unknown3 */
1833 /* IDL: ); */
1835 static int
1836 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_)
1838 uint32_t status;
1840 di->dcerpc_procedure_name="NetrBrowserStatisticsGet";
1841 offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown3(tvb, offset, pinfo, tree, di, drep);
1842 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1844 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
1846 if (status != 0)
1847 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1849 return offset;
1852 static int
1853 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_)
1855 di->dcerpc_procedure_name="NetrBrowserStatisticsGet";
1856 offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown1(tvb, offset, pinfo, tree, di, drep);
1857 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1858 offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown2(tvb, offset, pinfo, tree, di, drep);
1859 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1860 offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown3(tvb, offset, pinfo, tree, di, drep);
1861 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1862 return offset;
1865 static int
1866 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_)
1868 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);
1870 return offset;
1873 static int
1874 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_)
1876 char *data = NULL;
1877 struct ndr_generic_array nga = { .is_conformant = false, };
1879 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1881 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1882 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrSetNetlogonState_unknown1, false, &nga, &data);
1883 proto_item_append_text(tree, ": %s", data);
1885 return offset;
1888 static int
1889 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_)
1891 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);
1893 return offset;
1896 static int
1897 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_)
1899 char *data = NULL;
1900 struct ndr_generic_array nga = { .is_conformant = false, };
1902 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1904 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1905 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrSetNetlogonState_unknown2, false, &nga, &data);
1906 proto_item_append_text(tree, ": %s", data);
1908 return offset;
1911 static int
1912 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_)
1914 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);
1916 return offset;
1919 static int
1920 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_)
1922 char *data = NULL;
1923 struct ndr_generic_array nga = { .is_conformant = false, };
1925 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1927 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1928 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrSetNetlogonState_unknown3, false, &nga, &data);
1929 proto_item_append_text(tree, ": %s", data);
1931 return offset;
1934 static int
1935 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_)
1937 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSetNetlogonState_unknown4, 0);
1939 return offset;
1942 /* IDL: WERROR BrowserrSetNetlogonState( */
1943 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
1944 /* IDL: [charset(UTF16)] [in] [ref] uint16 *unknown2, */
1945 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown3, */
1946 /* IDL: [in] int32 unknown4 */
1947 /* IDL: ); */
1949 static int
1950 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_)
1952 uint32_t status;
1954 di->dcerpc_procedure_name="BrowserrSetNetlogonState";
1955 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
1957 if (status != 0)
1958 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1960 return offset;
1963 static int
1964 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_)
1966 di->dcerpc_procedure_name="BrowserrSetNetlogonState";
1967 offset = browser_dissect_element_BrowserrSetNetlogonState_unknown1(tvb, offset, pinfo, tree, di, drep);
1968 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1969 offset = browser_dissect_element_BrowserrSetNetlogonState_unknown2(tvb, offset, pinfo, tree, di, drep);
1970 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1971 offset = browser_dissect_element_BrowserrSetNetlogonState_unknown3(tvb, offset, pinfo, tree, di, drep);
1972 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1973 offset = browser_dissect_element_BrowserrSetNetlogonState_unknown4(tvb, offset, pinfo, tree, di, drep);
1974 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1975 return offset;
1978 static int
1979 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_)
1981 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);
1983 return offset;
1986 static int
1987 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_)
1989 char *data = NULL;
1990 struct ndr_generic_array nga = { .is_conformant = false, };
1992 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1994 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1995 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrQueryEmulatedDomains_unknown1, false, &nga, &data);
1996 proto_item_append_text(tree, ": %s", data);
1998 return offset;
2001 static int
2002 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_)
2004 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);
2006 return offset;
2009 static int
2010 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_)
2012 offset = browser_dissect_struct_TYPE_4(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrQueryEmulatedDomains_unknown2,0);
2014 return offset;
2017 /* IDL: WERROR BrowserrQueryEmulatedDomains( */
2018 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
2019 /* IDL: [in] [out] [ref] TYPE_4 *unknown2 */
2020 /* IDL: ); */
2022 static int
2023 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_)
2025 uint32_t status;
2027 di->dcerpc_procedure_name="BrowserrQueryEmulatedDomains";
2028 offset = browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2(tvb, offset, pinfo, tree, di, drep);
2029 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2031 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
2033 if (status != 0)
2034 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
2036 return offset;
2039 static int
2040 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_)
2042 di->dcerpc_procedure_name="BrowserrQueryEmulatedDomains";
2043 offset = browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1(tvb, offset, pinfo, tree, di, drep);
2044 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2045 offset = browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2(tvb, offset, pinfo, tree, di, drep);
2046 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2047 return offset;
2050 static int
2051 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_)
2053 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);
2055 return offset;
2058 static int
2059 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_)
2061 char *data = NULL;
2062 struct ndr_generic_array nga = { .is_conformant = false, };
2064 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2066 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2067 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnumEx_unknown1, false, &nga, &data);
2068 proto_item_append_text(tree, ": %s", data);
2070 return offset;
2073 static int
2074 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_)
2076 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);
2078 return offset;
2081 static int
2082 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_)
2084 char *data = NULL;
2085 struct ndr_generic_array nga = { .is_conformant = false, };
2087 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2089 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2090 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnumEx_unknown2, false, &nga, &data);
2091 proto_item_append_text(tree, ": %s", data);
2093 return offset;
2096 static int
2097 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_)
2099 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);
2101 return offset;
2104 static int
2105 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_)
2107 char *data = NULL;
2108 struct ndr_generic_array nga = { .is_conformant = false, };
2110 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2112 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2113 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnumEx_unknown3, false, &nga, &data);
2114 proto_item_append_text(tree, ": %s", data);
2116 return offset;
2119 static int
2120 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_)
2122 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);
2124 return offset;
2127 static int
2128 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_)
2130 offset = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrServerEnumEx_info,0);
2132 return offset;
2135 static int
2136 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_)
2138 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnumEx_unknown4, 0);
2140 return offset;
2143 static int
2144 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_)
2146 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);
2148 return offset;
2151 static int
2152 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_)
2154 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnumEx_unknown5, 0);
2156 return offset;
2159 static int
2160 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_)
2162 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrServerEnumEx_unknown6, 0);
2164 return offset;
2167 static int
2168 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_)
2170 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);
2172 return offset;
2175 static int
2176 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_)
2178 char *data = NULL;
2179 struct ndr_generic_array nga = { .is_conformant = false, };
2181 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2183 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2184 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnumEx_unknown7, false, &nga, &data);
2185 proto_item_append_text(tree, ": %s", data);
2187 return offset;
2190 static int
2191 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_)
2193 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);
2195 return offset;
2198 static int
2199 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_)
2201 char *data = NULL;
2202 struct ndr_generic_array nga = { .is_conformant = false, };
2204 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2206 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2207 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_browser_BrowserrServerEnumEx_unknown8, false, &nga, &data);
2208 proto_item_append_text(tree, ": %s", data);
2210 return offset;
2213 /* IDL: WERROR BrowserrServerEnumEx( */
2214 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */
2215 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown2, */
2216 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown3, */
2217 /* IDL: [in] [out] [ref] BrowserrSrvInfo *info, */
2218 /* IDL: [in] int32 unknown4, */
2219 /* IDL: [out] [ref] int32 *unknown5, */
2220 /* IDL: [in] int32 unknown6, */
2221 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown7, */
2222 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown8 */
2223 /* IDL: ); */
2225 static int
2226 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_)
2228 uint32_t status;
2230 di->dcerpc_procedure_name="BrowserrServerEnumEx";
2231 offset = browser_dissect_element_BrowserrServerEnumEx_info(tvb, offset, pinfo, tree, di, drep);
2232 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2234 offset = browser_dissect_element_BrowserrServerEnumEx_unknown5(tvb, offset, pinfo, tree, di, drep);
2235 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2237 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status);
2239 if (status != 0)
2240 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
2242 return offset;
2245 static int
2246 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_)
2248 di->dcerpc_procedure_name="BrowserrServerEnumEx";
2249 offset = browser_dissect_element_BrowserrServerEnumEx_unknown1(tvb, offset, pinfo, tree, di, drep);
2250 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2251 offset = browser_dissect_element_BrowserrServerEnumEx_unknown2(tvb, offset, pinfo, tree, di, drep);
2252 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2253 offset = browser_dissect_element_BrowserrServerEnumEx_unknown3(tvb, offset, pinfo, tree, di, drep);
2254 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2255 offset = browser_dissect_element_BrowserrServerEnumEx_info(tvb, offset, pinfo, tree, di, drep);
2256 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2257 offset = browser_dissect_element_BrowserrServerEnumEx_unknown4(tvb, offset, pinfo, tree, di, drep);
2258 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2259 offset = browser_dissect_element_BrowserrServerEnumEx_unknown6(tvb, offset, pinfo, tree, di, drep);
2260 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2261 offset = browser_dissect_element_BrowserrServerEnumEx_unknown7(tvb, offset, pinfo, tree, di, drep);
2262 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2263 offset = browser_dissect_element_BrowserrServerEnumEx_unknown8(tvb, offset, pinfo, tree, di, drep);
2264 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
2265 return offset;
2269 static const dcerpc_sub_dissector browser_dissectors[] = {
2270 { 0, "BrowserrServerEnum",
2271 browser_dissect_BrowserrServerEnum_request, browser_dissect_BrowserrServerEnum_response},
2272 { 1, "BrowserrDebugCall",
2273 browser_dissect_BrowserrDebugCall_request, browser_dissect_BrowserrDebugCall_response},
2274 { 2, "BrowserrQueryOtherDomains",
2275 browser_dissect_BrowserrQueryOtherDomains_request, browser_dissect_BrowserrQueryOtherDomains_response},
2276 { 3, "BrowserrResetNetlogonState",
2277 browser_dissect_BrowserrResetNetlogonState_request, browser_dissect_BrowserrResetNetlogonState_response},
2278 { 4, "BrowserrDebugTrace",
2279 browser_dissect_BrowserrDebugTrace_request, browser_dissect_BrowserrDebugTrace_response},
2280 { 5, "BrowserrQueryStatistics",
2281 browser_dissect_BrowserrQueryStatistics_request, browser_dissect_BrowserrQueryStatistics_response},
2282 { 6, "BrowserrResetStatistics",
2283 browser_dissect_BrowserrResetStatistics_request, browser_dissect_BrowserrResetStatistics_response},
2284 { 7, "NetrBrowserStatisticsClear",
2285 browser_dissect_NetrBrowserStatisticsClear_request, browser_dissect_NetrBrowserStatisticsClear_response},
2286 { 8, "NetrBrowserStatisticsGet",
2287 browser_dissect_NetrBrowserStatisticsGet_request, browser_dissect_NetrBrowserStatisticsGet_response},
2288 { 9, "BrowserrSetNetlogonState",
2289 browser_dissect_BrowserrSetNetlogonState_request, browser_dissect_BrowserrSetNetlogonState_response},
2290 { 10, "BrowserrQueryEmulatedDomains",
2291 browser_dissect_BrowserrQueryEmulatedDomains_request, browser_dissect_BrowserrQueryEmulatedDomains_response},
2292 { 11, "BrowserrServerEnumEx",
2293 browser_dissect_BrowserrServerEnumEx_request, browser_dissect_BrowserrServerEnumEx_response},
2294 { 0, NULL, NULL, NULL }
2297 void proto_register_dcerpc_browser(void)
2299 static hf_register_info hf[] = {
2300 { &hf_browser_BrowserrDebugCall_unknown1,
2301 { "Unknown1", "browser.BrowserrDebugCall.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2302 { &hf_browser_BrowserrDebugCall_unknown2,
2303 { "Unknown2", "browser.BrowserrDebugCall.unknown2", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2304 { &hf_browser_BrowserrDebugCall_unknown3,
2305 { "Unknown3", "browser.BrowserrDebugCall.unknown3", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2306 { &hf_browser_BrowserrDebugTrace_unknown1,
2307 { "Unknown1", "browser.BrowserrDebugTrace.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2308 { &hf_browser_BrowserrDebugTrace_unknown2,
2309 { "Unknown2", "browser.BrowserrDebugTrace.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2310 { &hf_browser_BrowserrQueryEmulatedDomains_unknown1,
2311 { "Unknown1", "browser.BrowserrQueryEmulatedDomains.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2312 { &hf_browser_BrowserrQueryEmulatedDomains_unknown2,
2313 { "Unknown2", "browser.BrowserrQueryEmulatedDomains.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2314 { &hf_browser_BrowserrQueryOtherDomains_info,
2315 { "Info", "browser.BrowserrQueryOtherDomains.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2316 { &hf_browser_BrowserrQueryOtherDomains_server_unc,
2317 { "Server Unc", "browser.BrowserrQueryOtherDomains.server_unc", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2318 { &hf_browser_BrowserrQueryOtherDomains_total_entries,
2319 { "Total Entries", "browser.BrowserrQueryOtherDomains.total_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2320 { &hf_browser_BrowserrQueryStatistics_unknown1,
2321 { "Unknown1", "browser.BrowserrQueryStatistics.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2322 { &hf_browser_BrowserrQueryStatistics_unknown2,
2323 { "Unknown2", "browser.BrowserrQueryStatistics.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2324 { &hf_browser_BrowserrResetNetlogonState_unknown,
2325 { "Unknown", "browser.BrowserrResetNetlogonState.unknown", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2326 { &hf_browser_BrowserrResetStatistics_unknown,
2327 { "Unknown", "browser.BrowserrResetStatistics.unknown", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2328 { &hf_browser_BrowserrServerEnumEx_info,
2329 { "Info", "browser.BrowserrServerEnumEx.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2330 { &hf_browser_BrowserrServerEnumEx_unknown1,
2331 { "Unknown1", "browser.BrowserrServerEnumEx.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2332 { &hf_browser_BrowserrServerEnumEx_unknown2,
2333 { "Unknown2", "browser.BrowserrServerEnumEx.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2334 { &hf_browser_BrowserrServerEnumEx_unknown3,
2335 { "Unknown3", "browser.BrowserrServerEnumEx.unknown3", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2336 { &hf_browser_BrowserrServerEnumEx_unknown4,
2337 { "Unknown4", "browser.BrowserrServerEnumEx.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2338 { &hf_browser_BrowserrServerEnumEx_unknown5,
2339 { "Unknown5", "browser.BrowserrServerEnumEx.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2340 { &hf_browser_BrowserrServerEnumEx_unknown6,
2341 { "Unknown6", "browser.BrowserrServerEnumEx.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2342 { &hf_browser_BrowserrServerEnumEx_unknown7,
2343 { "Unknown7", "browser.BrowserrServerEnumEx.unknown7", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2344 { &hf_browser_BrowserrServerEnumEx_unknown8,
2345 { "Unknown8", "browser.BrowserrServerEnumEx.unknown8", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2346 { &hf_browser_BrowserrServerEnum_info,
2347 { "Info", "browser.BrowserrServerEnum.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2348 { &hf_browser_BrowserrServerEnum_unknown1,
2349 { "Unknown1", "browser.BrowserrServerEnum.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2350 { &hf_browser_BrowserrServerEnum_unknown2,
2351 { "Unknown2", "browser.BrowserrServerEnum.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2352 { &hf_browser_BrowserrServerEnum_unknown3,
2353 { "Unknown3", "browser.BrowserrServerEnum.unknown3", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2354 { &hf_browser_BrowserrServerEnum_unknown4,
2355 { "Unknown4", "browser.BrowserrServerEnum.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2356 { &hf_browser_BrowserrServerEnum_unknown5,
2357 { "Unknown5", "browser.BrowserrServerEnum.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2358 { &hf_browser_BrowserrServerEnum_unknown6,
2359 { "Unknown6", "browser.BrowserrServerEnum.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2360 { &hf_browser_BrowserrServerEnum_unknown7,
2361 { "Unknown7", "browser.BrowserrServerEnum.unknown7", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2362 { &hf_browser_BrowserrServerEnum_unknown8,
2363 { "Unknown8", "browser.BrowserrServerEnum.unknown8", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2364 { &hf_browser_BrowserrSetNetlogonState_unknown1,
2365 { "Unknown1", "browser.BrowserrSetNetlogonState.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2366 { &hf_browser_BrowserrSetNetlogonState_unknown2,
2367 { "Unknown2", "browser.BrowserrSetNetlogonState.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2368 { &hf_browser_BrowserrSetNetlogonState_unknown3,
2369 { "Unknown3", "browser.BrowserrSetNetlogonState.unknown3", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2370 { &hf_browser_BrowserrSetNetlogonState_unknown4,
2371 { "Unknown4", "browser.BrowserrSetNetlogonState.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2372 { &hf_browser_BrowserrSrvInfo100Ctr_entries,
2373 { "Entries", "browser.BrowserrSrvInfo100Ctr.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2374 { &hf_browser_BrowserrSrvInfo100Ctr_entries_read,
2375 { "Entries Read", "browser.BrowserrSrvInfo100Ctr.entries_read", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2376 { &hf_browser_BrowserrSrvInfo101Ctr_entries,
2377 { "Entries", "browser.BrowserrSrvInfo101Ctr.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2378 { &hf_browser_BrowserrSrvInfo101Ctr_entries_read,
2379 { "Entries Read", "browser.BrowserrSrvInfo101Ctr.entries_read", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2380 { &hf_browser_BrowserrSrvInfoUnion_info100,
2381 { "Info100", "browser.BrowserrSrvInfoUnion.info100", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2382 { &hf_browser_BrowserrSrvInfoUnion_info101,
2383 { "Info101", "browser.BrowserrSrvInfoUnion.info101", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2384 { &hf_browser_BrowserrSrvInfo_info,
2385 { "Info", "browser.BrowserrSrvInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2386 { &hf_browser_BrowserrSrvInfo_level,
2387 { "Level", "browser.BrowserrSrvInfo.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2388 { &hf_browser_NetrBrowserStatisticsClear_unknown,
2389 { "Unknown", "browser.NetrBrowserStatisticsClear.unknown", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2390 { &hf_browser_NetrBrowserStatisticsGet_unknown1,
2391 { "Unknown1", "browser.NetrBrowserStatisticsGet.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
2392 { &hf_browser_NetrBrowserStatisticsGet_unknown2,
2393 { "Unknown2", "browser.NetrBrowserStatisticsGet.unknown2", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2394 { &hf_browser_NetrBrowserStatisticsGet_unknown3,
2395 { "Unknown3", "browser.NetrBrowserStatisticsGet.unknown3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2396 { &hf_browser_TYPE_1_unknown,
2397 { "Unknown", "browser.TYPE_1.unknown", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
2398 { &hf_browser_TYPE_2_unknown1,
2399 { "Unknown1", "browser.TYPE_2.unknown1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2400 { &hf_browser_TYPE_2_unknown10,
2401 { "Unknown10", "browser.TYPE_2.unknown10", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2402 { &hf_browser_TYPE_2_unknown11,
2403 { "Unknown11", "browser.TYPE_2.unknown11", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2404 { &hf_browser_TYPE_2_unknown12,
2405 { "Unknown12", "browser.TYPE_2.unknown12", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2406 { &hf_browser_TYPE_2_unknown13,
2407 { "Unknown13", "browser.TYPE_2.unknown13", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2408 { &hf_browser_TYPE_2_unknown14,
2409 { "Unknown14", "browser.TYPE_2.unknown14", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2410 { &hf_browser_TYPE_2_unknown15,
2411 { "Unknown15", "browser.TYPE_2.unknown15", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2412 { &hf_browser_TYPE_2_unknown16,
2413 { "Unknown16", "browser.TYPE_2.unknown16", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2414 { &hf_browser_TYPE_2_unknown17,
2415 { "Unknown17", "browser.TYPE_2.unknown17", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2416 { &hf_browser_TYPE_2_unknown18,
2417 { "Unknown18", "browser.TYPE_2.unknown18", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2418 { &hf_browser_TYPE_2_unknown19,
2419 { "Unknown19", "browser.TYPE_2.unknown19", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2420 { &hf_browser_TYPE_2_unknown2,
2421 { "Unknown2", "browser.TYPE_2.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2422 { &hf_browser_TYPE_2_unknown3,
2423 { "Unknown3", "browser.TYPE_2.unknown3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2424 { &hf_browser_TYPE_2_unknown4,
2425 { "Unknown4", "browser.TYPE_2.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2426 { &hf_browser_TYPE_2_unknown5,
2427 { "Unknown5", "browser.TYPE_2.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2428 { &hf_browser_TYPE_2_unknown6,
2429 { "Unknown6", "browser.TYPE_2.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2430 { &hf_browser_TYPE_2_unknown7,
2431 { "Unknown7", "browser.TYPE_2.unknown7", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2432 { &hf_browser_TYPE_2_unknown8,
2433 { "Unknown8", "browser.TYPE_2.unknown8", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2434 { &hf_browser_TYPE_2_unknown9,
2435 { "Unknown9", "browser.TYPE_2.unknown9", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2436 { &hf_browser_TYPE_3_unknown1,
2437 { "Unknown1", "browser.TYPE_3.unknown1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2438 { &hf_browser_TYPE_3_unknown10,
2439 { "Unknown10", "browser.TYPE_3.unknown10", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2440 { &hf_browser_TYPE_3_unknown11,
2441 { "Unknown11", "browser.TYPE_3.unknown11", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2442 { &hf_browser_TYPE_3_unknown12,
2443 { "Unknown12", "browser.TYPE_3.unknown12", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2444 { &hf_browser_TYPE_3_unknown13,
2445 { "Unknown13", "browser.TYPE_3.unknown13", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2446 { &hf_browser_TYPE_3_unknown14,
2447 { "Unknown14", "browser.TYPE_3.unknown14", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2448 { &hf_browser_TYPE_3_unknown15,
2449 { "Unknown15", "browser.TYPE_3.unknown15", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2450 { &hf_browser_TYPE_3_unknown16,
2451 { "Unknown16", "browser.TYPE_3.unknown16", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2452 { &hf_browser_TYPE_3_unknown2,
2453 { "Unknown2", "browser.TYPE_3.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2454 { &hf_browser_TYPE_3_unknown3,
2455 { "Unknown3", "browser.TYPE_3.unknown3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2456 { &hf_browser_TYPE_3_unknown4,
2457 { "Unknown4", "browser.TYPE_3.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2458 { &hf_browser_TYPE_3_unknown5,
2459 { "Unknown5", "browser.TYPE_3.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2460 { &hf_browser_TYPE_3_unknown6,
2461 { "Unknown6", "browser.TYPE_3.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2462 { &hf_browser_TYPE_3_unknown7,
2463 { "Unknown7", "browser.TYPE_3.unknown7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
2464 { &hf_browser_TYPE_3_unknown8,
2465 { "Unknown8", "browser.TYPE_3.unknown8", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2466 { &hf_browser_TYPE_3_unknown9,
2467 { "Unknown9", "browser.TYPE_3.unknown9", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2468 { &hf_browser_TYPE_4_unknown1,
2469 { "Unknown1", "browser.TYPE_4.unknown1", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
2470 { &hf_browser_TYPE_4_unknown2,
2471 { "Unknown2", "browser.TYPE_4.unknown2", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
2472 { &hf_browser_opnum,
2473 { "Operation", "browser.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
2474 { &hf_browser_werror,
2475 { "Windows Error", "browser.werror", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }},
2479 static int *ett[] = {
2480 &ett_dcerpc_browser,
2481 &ett_browser_BrowserrSrvInfo100Ctr,
2482 &ett_browser_BrowserrSrvInfo101Ctr,
2483 &ett_browser_BrowserrSrvInfoUnion,
2484 &ett_browser_BrowserrSrvInfo,
2485 &ett_browser_TYPE_1,
2486 &ett_browser_TYPE_2,
2487 &ett_browser_TYPE_3,
2488 &ett_browser_TYPE_4,
2491 proto_dcerpc_browser = proto_register_protocol("RPC Browser", "RPC_BROWSER", "rpc_browser");
2492 proto_register_field_array(proto_dcerpc_browser, hf, array_length (hf));
2493 proto_register_subtree_array(ett, array_length(ett));
2496 void proto_reg_handoff_dcerpc_browser(void)
2498 dcerpc_init_uuid(proto_dcerpc_browser, ett_dcerpc_browser,
2499 &uuid_dcerpc_browser, ver_dcerpc_browser,
2500 browser_dissectors, hf_browser_opnum);