epan/dissectors/pidl/ C99 drsuapi
[wireshark-sm.git] / epan / dissectors / packet-dcerpc-dfs.c
blob6645408a6920d98a236a39fc9c8c0a82de6d7851
1 /* DO NOT EDIT
2 This file was automatically generated by Pidl
3 from dfs.idl and dfs.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-dfs.h"
22 void proto_register_dcerpc_netdfs(void);
23 void proto_reg_handoff_dcerpc_netdfs(void);
25 /* Ett declarations */
26 static int ett_dcerpc_netdfs;
27 static int ett_netdfs_dfs_Info0;
28 static int ett_netdfs_dfs_Info1;
29 static int ett_netdfs_dfs_VolumeState;
30 static int ett_netdfs_dfs_Info2;
31 static int ett_netdfs_dfs_StorageState;
32 static int ett_netdfs_dfs_StorageInfo;
33 static int ett_netdfs_dfs_Info3;
34 static int ett_netdfs_dfs_Info4;
35 static int ett_netdfs_dfs_PropertyFlags;
36 static int ett_netdfs_dfs_Info5;
37 static int ett_netdfs_dfs_Target_Priority;
38 static int ett_netdfs_dfs_StorageInfo2;
39 static int ett_netdfs_dfs_Info6;
40 static int ett_netdfs_dfs_Info7;
41 static int ett_netdfs_dfs_Info100;
42 static int ett_netdfs_dfs_Info101;
43 static int ett_netdfs_dfs_Info102;
44 static int ett_netdfs_dfs_Info103;
45 static int ett_netdfs_dfs_Info104;
46 static int ett_netdfs_dfs_Info105;
47 static int ett_netdfs_dfs_Info106;
48 static int ett_netdfs_dfs_Info200;
49 static int ett_netdfs_dfs_Info300;
50 static int ett_netdfs_dfs_Info;
51 static int ett_netdfs_dfs_EnumArray1;
52 static int ett_netdfs_dfs_EnumArray2;
53 static int ett_netdfs_dfs_EnumArray3;
54 static int ett_netdfs_dfs_EnumArray4;
55 static int ett_netdfs_dfs_EnumArray200;
56 static int ett_netdfs_dfs_EnumArray300;
57 static int ett_netdfs_dfs_EnumInfo;
58 static int ett_netdfs_dfs_EnumStruct;
59 static int ett_netdfs_dfs_UnknownStruct;
62 /* Header field declarations */
63 static int hf_netdfs_dfs_AddFtRoot_comment;
64 static int hf_netdfs_dfs_AddFtRoot_dfs_config_dn;
65 static int hf_netdfs_dfs_AddFtRoot_dfsname;
66 static int hf_netdfs_dfs_AddFtRoot_dns_servername;
67 static int hf_netdfs_dfs_AddFtRoot_flags;
68 static int hf_netdfs_dfs_AddFtRoot_rootshare;
69 static int hf_netdfs_dfs_AddFtRoot_servername;
70 static int hf_netdfs_dfs_AddFtRoot_unknown1;
71 static int hf_netdfs_dfs_AddFtRoot_unknown2;
72 static int hf_netdfs_dfs_AddStdRootForced_comment;
73 static int hf_netdfs_dfs_AddStdRootForced_rootshare;
74 static int hf_netdfs_dfs_AddStdRootForced_servername;
75 static int hf_netdfs_dfs_AddStdRootForced_store;
76 static int hf_netdfs_dfs_AddStdRoot_comment;
77 static int hf_netdfs_dfs_AddStdRoot_flags;
78 static int hf_netdfs_dfs_AddStdRoot_rootshare;
79 static int hf_netdfs_dfs_AddStdRoot_servername;
80 static int hf_netdfs_dfs_Add_comment;
81 static int hf_netdfs_dfs_Add_flags;
82 static int hf_netdfs_dfs_Add_path;
83 static int hf_netdfs_dfs_Add_server;
84 static int hf_netdfs_dfs_Add_share;
85 static int hf_netdfs_dfs_EnumArray1_count;
86 static int hf_netdfs_dfs_EnumArray1_s;
87 static int hf_netdfs_dfs_EnumArray200_count;
88 static int hf_netdfs_dfs_EnumArray200_s;
89 static int hf_netdfs_dfs_EnumArray2_count;
90 static int hf_netdfs_dfs_EnumArray2_s;
91 static int hf_netdfs_dfs_EnumArray300_count;
92 static int hf_netdfs_dfs_EnumArray300_s;
93 static int hf_netdfs_dfs_EnumArray3_count;
94 static int hf_netdfs_dfs_EnumArray3_s;
95 static int hf_netdfs_dfs_EnumArray4_count;
96 static int hf_netdfs_dfs_EnumArray4_s;
97 static int hf_netdfs_dfs_EnumEx_bufsize;
98 static int hf_netdfs_dfs_EnumEx_dfs_name;
99 static int hf_netdfs_dfs_EnumEx_info;
100 static int hf_netdfs_dfs_EnumEx_level;
101 static int hf_netdfs_dfs_EnumEx_total;
102 static int hf_netdfs_dfs_EnumInfo_info1;
103 static int hf_netdfs_dfs_EnumInfo_info2;
104 static int hf_netdfs_dfs_EnumInfo_info200;
105 static int hf_netdfs_dfs_EnumInfo_info3;
106 static int hf_netdfs_dfs_EnumInfo_info300;
107 static int hf_netdfs_dfs_EnumInfo_info4;
108 static int hf_netdfs_dfs_EnumStruct_e;
109 static int hf_netdfs_dfs_EnumStruct_level;
110 static int hf_netdfs_dfs_Enum_bufsize;
111 static int hf_netdfs_dfs_Enum_info;
112 static int hf_netdfs_dfs_Enum_level;
113 static int hf_netdfs_dfs_Enum_total;
114 static int hf_netdfs_dfs_FlushFtTable_rootshare;
115 static int hf_netdfs_dfs_FlushFtTable_servername;
116 static int hf_netdfs_dfs_GetInfo_dfs_entry_path;
117 static int hf_netdfs_dfs_GetInfo_info;
118 static int hf_netdfs_dfs_GetInfo_level;
119 static int hf_netdfs_dfs_GetInfo_servername;
120 static int hf_netdfs_dfs_GetInfo_sharename;
121 static int hf_netdfs_dfs_GetManagerVersion_version;
122 static int hf_netdfs_dfs_Info100_comment;
123 static int hf_netdfs_dfs_Info101_state;
124 static int hf_netdfs_dfs_Info102_timeout;
125 static int hf_netdfs_dfs_Info103_flags;
126 static int hf_netdfs_dfs_Info104_priority;
127 static int hf_netdfs_dfs_Info105_comment;
128 static int hf_netdfs_dfs_Info105_property_flag_mask;
129 static int hf_netdfs_dfs_Info105_property_flags;
130 static int hf_netdfs_dfs_Info105_state;
131 static int hf_netdfs_dfs_Info105_timeout;
132 static int hf_netdfs_dfs_Info106_priority;
133 static int hf_netdfs_dfs_Info106_state;
134 static int hf_netdfs_dfs_Info1_path;
135 static int hf_netdfs_dfs_Info200_dom_root;
136 static int hf_netdfs_dfs_Info2_comment;
137 static int hf_netdfs_dfs_Info2_num_stores;
138 static int hf_netdfs_dfs_Info2_path;
139 static int hf_netdfs_dfs_Info2_state;
140 static int hf_netdfs_dfs_Info300_dom_root;
141 static int hf_netdfs_dfs_Info300_flavor;
142 static int hf_netdfs_dfs_Info3_comment;
143 static int hf_netdfs_dfs_Info3_num_stores;
144 static int hf_netdfs_dfs_Info3_path;
145 static int hf_netdfs_dfs_Info3_state;
146 static int hf_netdfs_dfs_Info3_stores;
147 static int hf_netdfs_dfs_Info4_comment;
148 static int hf_netdfs_dfs_Info4_guid;
149 static int hf_netdfs_dfs_Info4_num_stores;
150 static int hf_netdfs_dfs_Info4_path;
151 static int hf_netdfs_dfs_Info4_state;
152 static int hf_netdfs_dfs_Info4_stores;
153 static int hf_netdfs_dfs_Info4_timeout;
154 static int hf_netdfs_dfs_Info5_comment;
155 static int hf_netdfs_dfs_Info5_flags;
156 static int hf_netdfs_dfs_Info5_guid;
157 static int hf_netdfs_dfs_Info5_num_stores;
158 static int hf_netdfs_dfs_Info5_path;
159 static int hf_netdfs_dfs_Info5_pktsize;
160 static int hf_netdfs_dfs_Info5_state;
161 static int hf_netdfs_dfs_Info5_timeout;
162 static int hf_netdfs_dfs_Info6_comment;
163 static int hf_netdfs_dfs_Info6_entry_path;
164 static int hf_netdfs_dfs_Info6_flags;
165 static int hf_netdfs_dfs_Info6_guid;
166 static int hf_netdfs_dfs_Info6_num_stores;
167 static int hf_netdfs_dfs_Info6_pktsize;
168 static int hf_netdfs_dfs_Info6_state;
169 static int hf_netdfs_dfs_Info6_stores;
170 static int hf_netdfs_dfs_Info6_timeout;
171 static int hf_netdfs_dfs_Info7_generation_guid;
172 static int hf_netdfs_dfs_Info_info0;
173 static int hf_netdfs_dfs_Info_info1;
174 static int hf_netdfs_dfs_Info_info100;
175 static int hf_netdfs_dfs_Info_info101;
176 static int hf_netdfs_dfs_Info_info102;
177 static int hf_netdfs_dfs_Info_info103;
178 static int hf_netdfs_dfs_Info_info104;
179 static int hf_netdfs_dfs_Info_info105;
180 static int hf_netdfs_dfs_Info_info106;
181 static int hf_netdfs_dfs_Info_info2;
182 static int hf_netdfs_dfs_Info_info3;
183 static int hf_netdfs_dfs_Info_info4;
184 static int hf_netdfs_dfs_Info_info5;
185 static int hf_netdfs_dfs_Info_info6;
186 static int hf_netdfs_dfs_Info_info7;
187 static int hf_netdfs_dfs_ManagerInitialize_flags;
188 static int hf_netdfs_dfs_ManagerInitialize_servername;
189 static int hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED;
190 static int hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS;
191 static int hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY;
192 static int hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING;
193 static int hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK;
194 static int hf_netdfs_dfs_RemoveFtRoot_dfsname;
195 static int hf_netdfs_dfs_RemoveFtRoot_dns_servername;
196 static int hf_netdfs_dfs_RemoveFtRoot_flags;
197 static int hf_netdfs_dfs_RemoveFtRoot_rootshare;
198 static int hf_netdfs_dfs_RemoveFtRoot_servername;
199 static int hf_netdfs_dfs_RemoveFtRoot_unknown;
200 static int hf_netdfs_dfs_RemoveStdRoot_flags;
201 static int hf_netdfs_dfs_RemoveStdRoot_rootshare;
202 static int hf_netdfs_dfs_RemoveStdRoot_servername;
203 static int hf_netdfs_dfs_Remove_dfs_entry_path;
204 static int hf_netdfs_dfs_Remove_servername;
205 static int hf_netdfs_dfs_Remove_sharename;
206 static int hf_netdfs_dfs_SetInfo_dfs_entry_path;
207 static int hf_netdfs_dfs_SetInfo_info;
208 static int hf_netdfs_dfs_SetInfo_level;
209 static int hf_netdfs_dfs_SetInfo_servername;
210 static int hf_netdfs_dfs_SetInfo_sharename;
211 static int hf_netdfs_dfs_StorageInfo2_info;
212 static int hf_netdfs_dfs_StorageInfo2_target_priority;
213 static int hf_netdfs_dfs_StorageInfo_server;
214 static int hf_netdfs_dfs_StorageInfo_share;
215 static int hf_netdfs_dfs_StorageInfo_state;
216 static int hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ACTIVE;
217 static int hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_OFFLINE;
218 static int hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ONLINE;
219 static int hf_netdfs_dfs_Target_Priority_reserved;
220 static int hf_netdfs_dfs_Target_Priority_target_priority_class;
221 static int hf_netdfs_dfs_Target_Priority_target_priority_rank;
222 static int hf_netdfs_dfs_UnknownStruct_unknown1;
223 static int hf_netdfs_dfs_UnknownStruct_unknown2;
224 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB;
225 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT;
226 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE;
227 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OK;
228 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_ONLINE;
229 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE;
230 static int hf_netdfs_opnum;
231 static int hf_netdfs_werror;
233 static int proto_dcerpc_netdfs;
234 /* Version information */
237 static e_guid_t uuid_dcerpc_netdfs = {
238 0x4fc742e0, 0x4a10, 0x11cf,
239 { 0x82, 0x73, 0x00, 0xaa, 0x00, 0x4a, 0xe6, 0x73 }
241 static uint16_t ver_dcerpc_netdfs = 3;
243 const value_string netdfs_dfs_ManagerVersion_vals[] = {
244 { DFS_MANAGER_VERSION_NT4, "DFS_MANAGER_VERSION_NT4" },
245 { DFS_MANAGER_VERSION_W2K, "DFS_MANAGER_VERSION_W2K" },
246 { DFS_MANAGER_VERSION_W2K3, "DFS_MANAGER_VERSION_W2K3" },
247 { 0, NULL }
249 static int netdfs_dissect_element_dfs_Info1_path(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 netdfs_dissect_element_dfs_Info1_path_(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 const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_OK_tfs = {
252 "DFS_VOLUME_STATE_OK is SET",
253 "DFS_VOLUME_STATE_OK is NOT SET",
255 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT_tfs = {
256 "DFS_VOLUME_STATE_INCONSISTENT is SET",
257 "DFS_VOLUME_STATE_INCONSISTENT is NOT SET",
259 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE_tfs = {
260 "DFS_VOLUME_STATE_OFFLINE is SET",
261 "DFS_VOLUME_STATE_OFFLINE is NOT SET",
263 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_ONLINE_tfs = {
264 "DFS_VOLUME_STATE_ONLINE is SET",
265 "DFS_VOLUME_STATE_ONLINE is NOT SET",
267 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE_tfs = {
268 "DFS_VOLUME_STATE_STANDALONE is SET",
269 "DFS_VOLUME_STATE_STANDALONE is NOT SET",
271 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB_tfs = {
272 "DFS_VOLUME_STATE_AD_BLOB is SET",
273 "DFS_VOLUME_STATE_AD_BLOB is NOT SET",
275 static int netdfs_dissect_element_dfs_Info2_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
276 static int netdfs_dissect_element_dfs_Info2_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
277 static int netdfs_dissect_element_dfs_Info2_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
278 static int netdfs_dissect_element_dfs_Info2_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
279 static int netdfs_dissect_element_dfs_Info2_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
280 static int netdfs_dissect_element_dfs_Info2_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
281 static const true_false_string dfs_StorageState_DFS_STORAGE_STATE_OFFLINE_tfs = {
282 "DFS_STORAGE_STATE_OFFLINE is SET",
283 "DFS_STORAGE_STATE_OFFLINE is NOT SET",
285 static const true_false_string dfs_StorageState_DFS_STORAGE_STATE_ONLINE_tfs = {
286 "DFS_STORAGE_STATE_ONLINE is SET",
287 "DFS_STORAGE_STATE_ONLINE is NOT SET",
289 static const true_false_string dfs_StorageState_DFS_STORAGE_STATE_ACTIVE_tfs = {
290 "DFS_STORAGE_STATE_ACTIVE is SET",
291 "DFS_STORAGE_STATE_ACTIVE is NOT SET",
293 static int netdfs_dissect_element_dfs_StorageInfo_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
294 static int netdfs_dissect_element_dfs_StorageInfo_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
295 static int netdfs_dissect_element_dfs_StorageInfo_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
296 static int netdfs_dissect_element_dfs_StorageInfo_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
297 static int netdfs_dissect_element_dfs_StorageInfo_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
298 static int netdfs_dissect_element_dfs_Info3_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
299 static int netdfs_dissect_element_dfs_Info3_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
300 static int netdfs_dissect_element_dfs_Info3_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
301 static int netdfs_dissect_element_dfs_Info3_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
302 static int netdfs_dissect_element_dfs_Info3_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
303 static int netdfs_dissect_element_dfs_Info3_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
304 static int netdfs_dissect_element_dfs_Info3_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
305 static int netdfs_dissect_element_dfs_Info3_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
306 static int netdfs_dissect_element_dfs_Info3_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
307 static int netdfs_dissect_element_dfs_Info4_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
308 static int netdfs_dissect_element_dfs_Info4_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
309 static int netdfs_dissect_element_dfs_Info4_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
310 static int netdfs_dissect_element_dfs_Info4_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
311 static int netdfs_dissect_element_dfs_Info4_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
312 static int netdfs_dissect_element_dfs_Info4_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
313 static int netdfs_dissect_element_dfs_Info4_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
314 static int netdfs_dissect_element_dfs_Info4_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
315 static int netdfs_dissect_element_dfs_Info4_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
316 static int netdfs_dissect_element_dfs_Info4_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
317 static int netdfs_dissect_element_dfs_Info4_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
318 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS_tfs = {
319 "DFS_PROPERTY_FLAG_INSITE_REFERRALS is SET",
320 "DFS_PROPERTY_FLAG_INSITE_REFERRALS is NOT SET",
322 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY_tfs = {
323 "DFS_PROPERTY_FLAG_ROOT_SCALABILITY is SET",
324 "DFS_PROPERTY_FLAG_ROOT_SCALABILITY is NOT SET",
326 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING_tfs = {
327 "DFS_PROPERTY_FLAG_SITE_COSTING is SET",
328 "DFS_PROPERTY_FLAG_SITE_COSTING is NOT SET",
330 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK_tfs = {
331 "DFS_PROPERTY_FLAG_TARGET_FAILBACK is SET",
332 "DFS_PROPERTY_FLAG_TARGET_FAILBACK is NOT SET",
334 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED_tfs = {
335 "DFS_PROPERTY_FLAG_CLUSTER_ENABLED is SET",
336 "DFS_PROPERTY_FLAG_CLUSTER_ENABLED is NOT SET",
338 static int netdfs_dissect_element_dfs_Info5_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
339 static int netdfs_dissect_element_dfs_Info5_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
340 static int netdfs_dissect_element_dfs_Info5_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
341 static int netdfs_dissect_element_dfs_Info5_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
342 static int netdfs_dissect_element_dfs_Info5_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
343 static int netdfs_dissect_element_dfs_Info5_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
344 static int netdfs_dissect_element_dfs_Info5_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
345 static int netdfs_dissect_element_dfs_Info5_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
346 static int netdfs_dissect_element_dfs_Info5_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
347 static int netdfs_dissect_element_dfs_Info5_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
348 const value_string netdfs_dfs_Target_PriorityClass_vals[] = {
349 { DFS_INVALID_PRIORITY_CLASS, "DFS_INVALID_PRIORITY_CLASS" },
350 { DFS_SITE_COST_NORMAL_PRIORITY_CLASS, "DFS_SITE_COST_NORMAL_PRIORITY_CLASS" },
351 { DFS_GLOBAL_HIGH_PRIORITY_CLASS, "DFS_GLOBAL_HIGH_PRIORITY_CLASS" },
352 { DFS_SITE_COST_HIGH_PRIORITY_CLASS, "DFS_SITE_COST_HIGH_PRIORITY_CLASS" },
353 { DFS_SITE_COST_LOW_PRIORITY_CLASS, "DFS_SITE_COST_LOW_PRIORITY_CLASS" },
354 { DFS_GLOBAL_LOW_PRIORITY_CLASS, "DFS_GLOBAL_LOW_PRIORITY_CLASS" },
355 { 0, NULL }
357 static int netdfs_dissect_element_dfs_Target_Priority_target_priority_class(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
358 static int netdfs_dissect_element_dfs_Target_Priority_target_priority_rank(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
359 static int netdfs_dissect_element_dfs_Target_Priority_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
360 static int netdfs_dissect_element_dfs_StorageInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
361 static int netdfs_dissect_element_dfs_StorageInfo2_target_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
362 static int netdfs_dissect_element_dfs_Info6_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
363 static int netdfs_dissect_element_dfs_Info6_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
364 static int netdfs_dissect_element_dfs_Info6_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
365 static int netdfs_dissect_element_dfs_Info6_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
366 static int netdfs_dissect_element_dfs_Info6_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
367 static int netdfs_dissect_element_dfs_Info6_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
368 static int netdfs_dissect_element_dfs_Info6_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
369 static int netdfs_dissect_element_dfs_Info6_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
370 static int netdfs_dissect_element_dfs_Info6_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
371 static int netdfs_dissect_element_dfs_Info6_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
372 static int netdfs_dissect_element_dfs_Info6_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
373 static int netdfs_dissect_element_dfs_Info6_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
374 static int netdfs_dissect_element_dfs_Info6_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
375 static int netdfs_dissect_element_dfs_Info7_generation_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
376 static int netdfs_dissect_element_dfs_Info100_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
377 static int netdfs_dissect_element_dfs_Info100_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
378 static int netdfs_dissect_element_dfs_Info101_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
379 static int netdfs_dissect_element_dfs_Info102_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
380 static int netdfs_dissect_element_dfs_Info103_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
381 static int netdfs_dissect_element_dfs_Info104_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
382 static int netdfs_dissect_element_dfs_Info105_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
383 static int netdfs_dissect_element_dfs_Info105_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
384 static int netdfs_dissect_element_dfs_Info105_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
385 static int netdfs_dissect_element_dfs_Info105_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
386 static int netdfs_dissect_element_dfs_Info105_property_flag_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
387 static int netdfs_dissect_element_dfs_Info105_property_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
388 static int netdfs_dissect_element_dfs_Info106_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
389 static int netdfs_dissect_element_dfs_Info106_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
390 static int netdfs_dissect_element_dfs_Info200_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
391 static int netdfs_dissect_element_dfs_Info200_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
392 const value_string netdfs_dfs_VolumeFlavor_vals[] = {
393 { DFS_VOLUME_FLAVOR_STANDALONE, "DFS_VOLUME_FLAVOR_STANDALONE" },
394 { DFS_VOLUME_FLAVOR_AD_BLOB, "DFS_VOLUME_FLAVOR_AD_BLOB" },
395 { 0, NULL }
397 static int netdfs_dissect_element_dfs_Info300_flavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
398 static int netdfs_dissect_element_dfs_Info300_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
399 static int netdfs_dissect_element_dfs_Info300_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
400 static int netdfs_dissect_element_dfs_Info_info0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
401 static int netdfs_dissect_element_dfs_Info_info0_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
402 static int netdfs_dissect_element_dfs_Info_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
403 static int netdfs_dissect_element_dfs_Info_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
404 static int netdfs_dissect_element_dfs_Info_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
405 static int netdfs_dissect_element_dfs_Info_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
406 static int netdfs_dissect_element_dfs_Info_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
407 static int netdfs_dissect_element_dfs_Info_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
408 static int netdfs_dissect_element_dfs_Info_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
409 static int netdfs_dissect_element_dfs_Info_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
410 static int netdfs_dissect_element_dfs_Info_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
411 static int netdfs_dissect_element_dfs_Info_info5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
412 static int netdfs_dissect_element_dfs_Info_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
413 static int netdfs_dissect_element_dfs_Info_info6_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
414 static int netdfs_dissect_element_dfs_Info_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
415 static int netdfs_dissect_element_dfs_Info_info7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
416 static int netdfs_dissect_element_dfs_Info_info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
417 static int netdfs_dissect_element_dfs_Info_info100_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
418 static int netdfs_dissect_element_dfs_Info_info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
419 static int netdfs_dissect_element_dfs_Info_info101_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
420 static int netdfs_dissect_element_dfs_Info_info102(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
421 static int netdfs_dissect_element_dfs_Info_info102_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
422 static int netdfs_dissect_element_dfs_Info_info103(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
423 static int netdfs_dissect_element_dfs_Info_info103_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
424 static int netdfs_dissect_element_dfs_Info_info104(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
425 static int netdfs_dissect_element_dfs_Info_info104_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
426 static int netdfs_dissect_element_dfs_Info_info105(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
427 static int netdfs_dissect_element_dfs_Info_info105_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
428 static int netdfs_dissect_element_dfs_Info_info106(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
429 static int netdfs_dissect_element_dfs_Info_info106_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
430 static int netdfs_dissect_element_dfs_EnumArray1_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
431 static int netdfs_dissect_element_dfs_EnumArray1_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
432 static int netdfs_dissect_element_dfs_EnumArray1_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
433 static int netdfs_dissect_element_dfs_EnumArray1_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
434 static int netdfs_dissect_element_dfs_EnumArray2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
435 static int netdfs_dissect_element_dfs_EnumArray2_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
436 static int netdfs_dissect_element_dfs_EnumArray2_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
437 static int netdfs_dissect_element_dfs_EnumArray2_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
438 static int netdfs_dissect_element_dfs_EnumArray3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
439 static int netdfs_dissect_element_dfs_EnumArray3_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
440 static int netdfs_dissect_element_dfs_EnumArray3_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
441 static int netdfs_dissect_element_dfs_EnumArray3_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
442 static int netdfs_dissect_element_dfs_EnumArray4_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
443 static int netdfs_dissect_element_dfs_EnumArray4_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
444 static int netdfs_dissect_element_dfs_EnumArray4_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
445 static int netdfs_dissect_element_dfs_EnumArray4_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
446 static int netdfs_dissect_element_dfs_EnumArray200_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
447 static int netdfs_dissect_element_dfs_EnumArray200_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
448 static int netdfs_dissect_element_dfs_EnumArray200_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
449 static int netdfs_dissect_element_dfs_EnumArray200_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
450 static int netdfs_dissect_element_dfs_EnumArray300_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
451 static int netdfs_dissect_element_dfs_EnumArray300_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
452 static int netdfs_dissect_element_dfs_EnumArray300_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
453 static int netdfs_dissect_element_dfs_EnumArray300_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
454 static int netdfs_dissect_element_dfs_EnumInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
455 static int netdfs_dissect_element_dfs_EnumInfo_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
456 static int netdfs_dissect_element_dfs_EnumInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
457 static int netdfs_dissect_element_dfs_EnumInfo_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
458 static int netdfs_dissect_element_dfs_EnumInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
459 static int netdfs_dissect_element_dfs_EnumInfo_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
460 static int netdfs_dissect_element_dfs_EnumInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
461 static int netdfs_dissect_element_dfs_EnumInfo_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
462 static int netdfs_dissect_element_dfs_EnumInfo_info200(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
463 static int netdfs_dissect_element_dfs_EnumInfo_info200_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
464 static int netdfs_dissect_element_dfs_EnumInfo_info300(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
465 static int netdfs_dissect_element_dfs_EnumInfo_info300_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
466 static int netdfs_dissect_element_dfs_EnumStruct_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);
467 static int netdfs_dissect_element_dfs_EnumStruct_e(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);
468 static int netdfs_dissect_element_dfs_UnknownStruct_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
469 static int netdfs_dissect_element_dfs_UnknownStruct_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
470 static int netdfs_dissect_element_dfs_UnknownStruct_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
471 static int netdfs_dissect_element_dfs_GetManagerVersion_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
472 static int netdfs_dissect_element_dfs_GetManagerVersion_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
473 static int netdfs_dissect_element_dfs_Add_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
474 static int netdfs_dissect_element_dfs_Add_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
475 static int netdfs_dissect_element_dfs_Add_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
476 static int netdfs_dissect_element_dfs_Add_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
477 static int netdfs_dissect_element_dfs_Add_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
478 static int netdfs_dissect_element_dfs_Add_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
479 static int netdfs_dissect_element_dfs_Add_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
480 static int netdfs_dissect_element_dfs_Add_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
481 static int netdfs_dissect_element_dfs_Add_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
482 static int netdfs_dissect_element_dfs_Remove_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
483 static int netdfs_dissect_element_dfs_Remove_dfs_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
484 static int netdfs_dissect_element_dfs_Remove_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
485 static int netdfs_dissect_element_dfs_Remove_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
486 static int netdfs_dissect_element_dfs_Remove_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
487 static int netdfs_dissect_element_dfs_Remove_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
488 static int netdfs_dissect_element_dfs_SetInfo_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
489 static int netdfs_dissect_element_dfs_SetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
490 static int netdfs_dissect_element_dfs_SetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
491 static int netdfs_dissect_element_dfs_SetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
492 static int netdfs_dissect_element_dfs_SetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
493 static int netdfs_dissect_element_dfs_SetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
494 static int netdfs_dissect_element_dfs_SetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
495 static int netdfs_dissect_element_dfs_SetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
496 static int netdfs_dissect_element_dfs_GetInfo_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
497 static int netdfs_dissect_element_dfs_GetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
498 static int netdfs_dissect_element_dfs_GetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
499 static int netdfs_dissect_element_dfs_GetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
500 static int netdfs_dissect_element_dfs_GetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
501 static int netdfs_dissect_element_dfs_GetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
502 static int netdfs_dissect_element_dfs_GetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
503 static int netdfs_dissect_element_dfs_GetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
504 static int netdfs_dissect_element_dfs_Enum_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
505 static int netdfs_dissect_element_dfs_Enum_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
506 static int netdfs_dissect_element_dfs_Enum_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
507 static int netdfs_dissect_element_dfs_Enum_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
508 static int netdfs_dissect_element_dfs_Enum_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
509 static int netdfs_dissect_element_dfs_Enum_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
510 static int netdfs_dissect_element_dfs_AddFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
511 static int netdfs_dissect_element_dfs_AddFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
512 static int netdfs_dissect_element_dfs_AddFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
513 static int netdfs_dissect_element_dfs_AddFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
514 static int netdfs_dissect_element_dfs_AddFtRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
515 static int netdfs_dissect_element_dfs_AddFtRoot_dfs_config_dn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
516 static int netdfs_dissect_element_dfs_AddFtRoot_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
517 static int netdfs_dissect_element_dfs_AddFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
518 static int netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
519 static int netdfs_dissect_element_dfs_AddFtRoot_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
520 static int netdfs_dissect_element_dfs_AddFtRoot_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
521 static int netdfs_dissect_element_dfs_RemoveFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
522 static int netdfs_dissect_element_dfs_RemoveFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
523 static int netdfs_dissect_element_dfs_RemoveFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
524 static int netdfs_dissect_element_dfs_RemoveFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
525 static int netdfs_dissect_element_dfs_RemoveFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
526 static int netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
527 static int netdfs_dissect_element_dfs_RemoveFtRoot_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
528 static int netdfs_dissect_element_dfs_RemoveFtRoot_unknown__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
529 static int netdfs_dissect_element_dfs_AddStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
530 static int netdfs_dissect_element_dfs_AddStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
531 static int netdfs_dissect_element_dfs_AddStdRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
532 static int netdfs_dissect_element_dfs_AddStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
533 static int netdfs_dissect_element_dfs_RemoveStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
534 static int netdfs_dissect_element_dfs_RemoveStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
535 static int netdfs_dissect_element_dfs_RemoveStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
536 static int netdfs_dissect_element_dfs_ManagerInitialize_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
537 static int netdfs_dissect_element_dfs_ManagerInitialize_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
538 static int netdfs_dissect_element_dfs_ManagerInitialize_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
539 static int netdfs_dissect_element_dfs_AddStdRootForced_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
540 static int netdfs_dissect_element_dfs_AddStdRootForced_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
541 static int netdfs_dissect_element_dfs_AddStdRootForced_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
542 static int netdfs_dissect_element_dfs_AddStdRootForced_store(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
543 static int netdfs_dissect_element_dfs_FlushFtTable_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
544 static int netdfs_dissect_element_dfs_FlushFtTable_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
545 static int netdfs_dissect_element_dfs_EnumEx_dfs_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
546 static int netdfs_dissect_element_dfs_EnumEx_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
547 static int netdfs_dissect_element_dfs_EnumEx_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
548 static int netdfs_dissect_element_dfs_EnumEx_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
549 static int netdfs_dissect_element_dfs_EnumEx_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
550 static int netdfs_dissect_element_dfs_EnumEx_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
551 static int netdfs_dissect_element_dfs_EnumEx_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
554 /* IDL: enum { */
555 /* IDL: DFS_MANAGER_VERSION_NT4=1, */
556 /* IDL: DFS_MANAGER_VERSION_W2K=2, */
557 /* IDL: DFS_MANAGER_VERSION_W2K3=4, */
558 /* IDL: } */
561 netdfs_dissect_enum_dfs_ManagerVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
563 uint32_t parameter=0;
564 if (param) {
565 parameter = *param;
567 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
568 if (param) {
569 *param = parameter;
571 return offset;
575 /* IDL: struct { */
576 /* IDL: } */
579 netdfs_dissect_struct_dfs_Info0(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_)
581 proto_item *item = NULL;
582 int old_offset;
584 old_offset = offset;
586 if (parent_tree) {
587 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
591 proto_item_set_len(item, offset-old_offset);
594 return offset;
598 /* IDL: struct { */
599 /* IDL: [charset(UTF16)] [unique(1)] uint16 *path; */
600 /* IDL: } */
602 static int
603 netdfs_dissect_element_dfs_Info1_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
605 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info1_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info1_path);
607 return offset;
610 static int
611 netdfs_dissect_element_dfs_Info1_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
613 char *data;
615 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info1_path, false, &data);
616 proto_item_append_text(tree, ": %s", data);
618 return offset;
622 netdfs_dissect_struct_dfs_Info1(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_)
624 proto_item *item = NULL;
625 proto_tree *tree = NULL;
626 int old_offset;
628 ALIGN_TO_5_BYTES;
630 old_offset = offset;
632 if (parent_tree) {
633 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
634 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info1);
637 offset = netdfs_dissect_element_dfs_Info1_path(tvb, offset, pinfo, tree, di, drep);
640 proto_item_set_len(item, offset-old_offset);
643 if (di->call_data->flags & DCERPC_IS_NDR64) {
644 ALIGN_TO_5_BYTES;
647 return offset;
651 /* IDL: bitmap { */
652 /* IDL: DFS_VOLUME_STATE_OK = 0x1 , */
653 /* IDL: DFS_VOLUME_STATE_INCONSISTENT = 0x2 , */
654 /* IDL: DFS_VOLUME_STATE_OFFLINE = 0x4 , */
655 /* IDL: DFS_VOLUME_STATE_ONLINE = 0x8 , */
656 /* IDL: DFS_VOLUME_STATE_STANDALONE = DFS_VOLUME_FLAVOR_STANDALONE , */
657 /* IDL: DFS_VOLUME_STATE_AD_BLOB = DFS_VOLUME_FLAVOR_AD_BLOB , */
658 /* IDL: } */
661 netdfs_dissect_bitmap_dfs_VolumeState(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_)
663 proto_item *item;
664 static int * const netdfs_dfs_VolumeState_fields[] = {
665 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OK,
666 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT,
667 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE,
668 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_ONLINE,
669 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE,
670 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB,
671 NULL
673 uint32_t flags;
674 ALIGN_TO_4_BYTES;
676 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
677 ett_netdfs_dfs_VolumeState, netdfs_dfs_VolumeState_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
679 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
681 if (!flags)
682 proto_item_append_text(item, ": (No values set)");
684 if (flags & (~0x000001cd)) {
685 flags &= (~0x000001cd);
686 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
689 return offset;
693 /* IDL: struct { */
694 /* IDL: [charset(UTF16)] [unique(1)] uint16 *path; */
695 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
696 /* IDL: dfs_VolumeState state; */
697 /* IDL: uint32 num_stores; */
698 /* IDL: } */
700 static int
701 netdfs_dissect_element_dfs_Info2_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
703 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info2_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info2_path);
705 return offset;
708 static int
709 netdfs_dissect_element_dfs_Info2_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
711 char *data;
713 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info2_path, false, &data);
714 proto_item_append_text(tree, ": %s", data);
716 return offset;
719 static int
720 netdfs_dissect_element_dfs_Info2_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
722 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info2_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info2_comment);
724 return offset;
727 static int
728 netdfs_dissect_element_dfs_Info2_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
730 char *data;
732 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info2_comment, false, &data);
733 proto_item_append_text(tree, ": %s", data);
735 return offset;
738 static int
739 netdfs_dissect_element_dfs_Info2_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
741 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info2_state, 0);
743 return offset;
746 static int
747 netdfs_dissect_element_dfs_Info2_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
749 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info2_num_stores, 0);
751 return offset;
755 netdfs_dissect_struct_dfs_Info2(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_)
757 proto_item *item = NULL;
758 proto_tree *tree = NULL;
759 int old_offset;
761 ALIGN_TO_5_BYTES;
763 old_offset = offset;
765 if (parent_tree) {
766 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
767 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info2);
770 offset = netdfs_dissect_element_dfs_Info2_path(tvb, offset, pinfo, tree, di, drep);
772 offset = netdfs_dissect_element_dfs_Info2_comment(tvb, offset, pinfo, tree, di, drep);
774 offset = netdfs_dissect_element_dfs_Info2_state(tvb, offset, pinfo, tree, di, drep);
776 offset = netdfs_dissect_element_dfs_Info2_num_stores(tvb, offset, pinfo, tree, di, drep);
779 proto_item_set_len(item, offset-old_offset);
782 if (di->call_data->flags & DCERPC_IS_NDR64) {
783 ALIGN_TO_5_BYTES;
786 return offset;
790 /* IDL: bitmap { */
791 /* IDL: DFS_STORAGE_STATE_OFFLINE = 1 , */
792 /* IDL: DFS_STORAGE_STATE_ONLINE = 2 , */
793 /* IDL: DFS_STORAGE_STATE_ACTIVE = 4 , */
794 /* IDL: } */
797 netdfs_dissect_bitmap_dfs_StorageState(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_)
799 proto_item *item;
800 static int * const netdfs_dfs_StorageState_fields[] = {
801 &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_OFFLINE,
802 &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ONLINE,
803 &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ACTIVE,
804 NULL
806 uint32_t flags;
807 ALIGN_TO_4_BYTES;
809 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
810 ett_netdfs_dfs_StorageState, netdfs_dfs_StorageState_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
812 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
814 if (!flags)
815 proto_item_append_text(item, ": (No values set)");
817 if (flags & (~0x00000007)) {
818 flags &= (~0x00000007);
819 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
822 return offset;
826 /* IDL: struct { */
827 /* IDL: dfs_StorageState state; */
828 /* IDL: [charset(UTF16)] [unique(1)] uint16 *server; */
829 /* IDL: [charset(UTF16)] [unique(1)] uint16 *share; */
830 /* IDL: } */
832 static int
833 netdfs_dissect_element_dfs_StorageInfo_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
835 offset = netdfs_dissect_bitmap_dfs_StorageState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_StorageInfo_state, 0);
837 return offset;
840 static int
841 netdfs_dissect_element_dfs_StorageInfo_server(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 = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_StorageInfo_server_, NDR_POINTER_UNIQUE, "Pointer to Server (uint16)",hf_netdfs_dfs_StorageInfo_server);
845 return offset;
848 static int
849 netdfs_dissect_element_dfs_StorageInfo_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
851 char *data;
853 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_StorageInfo_server, false, &data);
854 proto_item_append_text(tree, ": %s", data);
856 return offset;
859 static int
860 netdfs_dissect_element_dfs_StorageInfo_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
862 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_StorageInfo_share_, NDR_POINTER_UNIQUE, "Pointer to Share (uint16)",hf_netdfs_dfs_StorageInfo_share);
864 return offset;
867 static int
868 netdfs_dissect_element_dfs_StorageInfo_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
870 char *data;
872 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_StorageInfo_share, false, &data);
873 proto_item_append_text(tree, ": %s", data);
875 return offset;
879 netdfs_dissect_struct_dfs_StorageInfo(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_)
881 proto_item *item = NULL;
882 proto_tree *tree = NULL;
883 int old_offset;
885 ALIGN_TO_5_BYTES;
887 old_offset = offset;
889 if (parent_tree) {
890 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
891 tree = proto_item_add_subtree(item, ett_netdfs_dfs_StorageInfo);
894 offset = netdfs_dissect_element_dfs_StorageInfo_state(tvb, offset, pinfo, tree, di, drep);
896 offset = netdfs_dissect_element_dfs_StorageInfo_server(tvb, offset, pinfo, tree, di, drep);
898 offset = netdfs_dissect_element_dfs_StorageInfo_share(tvb, offset, pinfo, tree, di, drep);
901 proto_item_set_len(item, offset-old_offset);
904 if (di->call_data->flags & DCERPC_IS_NDR64) {
905 ALIGN_TO_5_BYTES;
908 return offset;
912 /* IDL: struct { */
913 /* IDL: [charset(UTF16)] [unique(1)] uint16 *path; */
914 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
915 /* IDL: dfs_VolumeState state; */
916 /* IDL: uint32 num_stores; */
917 /* IDL: [size_is(num_stores)] [unique(1)] dfs_StorageInfo *stores; */
918 /* IDL: } */
920 static int
921 netdfs_dissect_element_dfs_Info3_path(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 = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info3_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info3_path);
925 return offset;
928 static int
929 netdfs_dissect_element_dfs_Info3_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
931 char *data;
933 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info3_path, false, &data);
934 proto_item_append_text(tree, ": %s", data);
936 return offset;
939 static int
940 netdfs_dissect_element_dfs_Info3_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
942 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info3_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info3_comment);
944 return offset;
947 static int
948 netdfs_dissect_element_dfs_Info3_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
950 char *data;
952 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info3_comment, false, &data);
953 proto_item_append_text(tree, ": %s", data);
955 return offset;
958 static int
959 netdfs_dissect_element_dfs_Info3_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
961 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info3_state, 0);
963 return offset;
966 static int
967 netdfs_dissect_element_dfs_Info3_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
969 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info3_num_stores, 0);
971 return offset;
974 static int
975 netdfs_dissect_element_dfs_Info3_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
977 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info3_stores_, NDR_POINTER_UNIQUE, "Pointer to Stores (dfs_StorageInfo)",hf_netdfs_dfs_Info3_stores);
979 return offset;
982 static int
983 netdfs_dissect_element_dfs_Info3_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
985 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info3_stores__);
987 return offset;
990 static int
991 netdfs_dissect_element_dfs_Info3_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
993 offset = netdfs_dissect_struct_dfs_StorageInfo(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info3_stores,0);
995 return offset;
999 netdfs_dissect_struct_dfs_Info3(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_)
1001 proto_item *item = NULL;
1002 proto_tree *tree = NULL;
1003 int old_offset;
1005 ALIGN_TO_5_BYTES;
1007 old_offset = offset;
1009 if (parent_tree) {
1010 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1011 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info3);
1014 offset = netdfs_dissect_element_dfs_Info3_path(tvb, offset, pinfo, tree, di, drep);
1016 offset = netdfs_dissect_element_dfs_Info3_comment(tvb, offset, pinfo, tree, di, drep);
1018 offset = netdfs_dissect_element_dfs_Info3_state(tvb, offset, pinfo, tree, di, drep);
1020 offset = netdfs_dissect_element_dfs_Info3_num_stores(tvb, offset, pinfo, tree, di, drep);
1022 offset = netdfs_dissect_element_dfs_Info3_stores(tvb, offset, pinfo, tree, di, drep);
1025 proto_item_set_len(item, offset-old_offset);
1028 if (di->call_data->flags & DCERPC_IS_NDR64) {
1029 ALIGN_TO_5_BYTES;
1032 return offset;
1036 /* IDL: struct { */
1037 /* IDL: [charset(UTF16)] [unique(1)] uint16 *path; */
1038 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
1039 /* IDL: dfs_VolumeState state; */
1040 /* IDL: uint32 timeout; */
1041 /* IDL: GUID guid; */
1042 /* IDL: uint32 num_stores; */
1043 /* IDL: [size_is(num_stores)] [unique(1)] dfs_StorageInfo *stores; */
1044 /* IDL: } */
1046 static int
1047 netdfs_dissect_element_dfs_Info4_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1049 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info4_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info4_path);
1051 return offset;
1054 static int
1055 netdfs_dissect_element_dfs_Info4_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1057 char *data;
1059 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info4_path, false, &data);
1060 proto_item_append_text(tree, ": %s", data);
1062 return offset;
1065 static int
1066 netdfs_dissect_element_dfs_Info4_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1068 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info4_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info4_comment);
1070 return offset;
1073 static int
1074 netdfs_dissect_element_dfs_Info4_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1076 char *data;
1078 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info4_comment, false, &data);
1079 proto_item_append_text(tree, ": %s", data);
1081 return offset;
1084 static int
1085 netdfs_dissect_element_dfs_Info4_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1087 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info4_state, 0);
1089 return offset;
1092 static int
1093 netdfs_dissect_element_dfs_Info4_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1095 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info4_timeout, 0);
1097 return offset;
1100 static int
1101 netdfs_dissect_element_dfs_Info4_guid(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_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info4_guid, NULL);
1105 return offset;
1108 static int
1109 netdfs_dissect_element_dfs_Info4_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1111 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info4_num_stores, 0);
1113 return offset;
1116 static int
1117 netdfs_dissect_element_dfs_Info4_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1119 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info4_stores_, NDR_POINTER_UNIQUE, "Pointer to Stores (dfs_StorageInfo)",hf_netdfs_dfs_Info4_stores);
1121 return offset;
1124 static int
1125 netdfs_dissect_element_dfs_Info4_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1127 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info4_stores__);
1129 return offset;
1132 static int
1133 netdfs_dissect_element_dfs_Info4_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1135 offset = netdfs_dissect_struct_dfs_StorageInfo(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info4_stores,0);
1137 return offset;
1141 netdfs_dissect_struct_dfs_Info4(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_)
1143 proto_item *item = NULL;
1144 proto_tree *tree = NULL;
1145 int old_offset;
1147 ALIGN_TO_5_BYTES;
1149 old_offset = offset;
1151 if (parent_tree) {
1152 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1153 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info4);
1156 offset = netdfs_dissect_element_dfs_Info4_path(tvb, offset, pinfo, tree, di, drep);
1158 offset = netdfs_dissect_element_dfs_Info4_comment(tvb, offset, pinfo, tree, di, drep);
1160 offset = netdfs_dissect_element_dfs_Info4_state(tvb, offset, pinfo, tree, di, drep);
1162 offset = netdfs_dissect_element_dfs_Info4_timeout(tvb, offset, pinfo, tree, di, drep);
1164 offset = netdfs_dissect_element_dfs_Info4_guid(tvb, offset, pinfo, tree, di, drep);
1166 offset = netdfs_dissect_element_dfs_Info4_num_stores(tvb, offset, pinfo, tree, di, drep);
1168 offset = netdfs_dissect_element_dfs_Info4_stores(tvb, offset, pinfo, tree, di, drep);
1171 proto_item_set_len(item, offset-old_offset);
1174 if (di->call_data->flags & DCERPC_IS_NDR64) {
1175 ALIGN_TO_5_BYTES;
1178 return offset;
1182 /* IDL: bitmap { */
1183 /* IDL: DFS_PROPERTY_FLAG_INSITE_REFERRALS = 0x00000001 , */
1184 /* IDL: DFS_PROPERTY_FLAG_ROOT_SCALABILITY = 0x00000002 , */
1185 /* IDL: DFS_PROPERTY_FLAG_SITE_COSTING = 0x00000004 , */
1186 /* IDL: DFS_PROPERTY_FLAG_TARGET_FAILBACK = 0x00000008 , */
1187 /* IDL: DFS_PROPERTY_FLAG_CLUSTER_ENABLED = 0x00000010 , */
1188 /* IDL: } */
1191 netdfs_dissect_bitmap_dfs_PropertyFlags(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_)
1193 proto_item *item;
1194 static int * const netdfs_dfs_PropertyFlags_fields[] = {
1195 &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS,
1196 &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY,
1197 &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING,
1198 &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK,
1199 &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED,
1200 NULL
1202 uint32_t flags;
1203 ALIGN_TO_4_BYTES;
1205 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
1206 ett_netdfs_dfs_PropertyFlags, netdfs_dfs_PropertyFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
1208 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
1210 if (!flags)
1211 proto_item_append_text(item, ": (No values set)");
1213 if (flags & (~0x0000001f)) {
1214 flags &= (~0x0000001f);
1215 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
1218 return offset;
1222 /* IDL: struct { */
1223 /* IDL: [charset(UTF16)] [unique(1)] uint16 *path; */
1224 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
1225 /* IDL: dfs_VolumeState state; */
1226 /* IDL: uint32 timeout; */
1227 /* IDL: GUID guid; */
1228 /* IDL: dfs_PropertyFlags flags; */
1229 /* IDL: uint32 pktsize; */
1230 /* IDL: uint32 num_stores; */
1231 /* IDL: } */
1233 static int
1234 netdfs_dissect_element_dfs_Info5_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1236 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info5_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info5_path);
1238 return offset;
1241 static int
1242 netdfs_dissect_element_dfs_Info5_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1244 char *data;
1246 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info5_path, false, &data);
1247 proto_item_append_text(tree, ": %s", data);
1249 return offset;
1252 static int
1253 netdfs_dissect_element_dfs_Info5_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1255 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info5_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info5_comment);
1257 return offset;
1260 static int
1261 netdfs_dissect_element_dfs_Info5_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1263 char *data;
1265 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info5_comment, false, &data);
1266 proto_item_append_text(tree, ": %s", data);
1268 return offset;
1271 static int
1272 netdfs_dissect_element_dfs_Info5_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1274 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_state, 0);
1276 return offset;
1279 static int
1280 netdfs_dissect_element_dfs_Info5_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1282 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_timeout, 0);
1284 return offset;
1287 static int
1288 netdfs_dissect_element_dfs_Info5_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1290 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_guid, NULL);
1292 return offset;
1295 static int
1296 netdfs_dissect_element_dfs_Info5_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1298 offset = netdfs_dissect_bitmap_dfs_PropertyFlags(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_flags, 0);
1300 return offset;
1303 static int
1304 netdfs_dissect_element_dfs_Info5_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1306 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_pktsize, 0);
1308 return offset;
1311 static int
1312 netdfs_dissect_element_dfs_Info5_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1314 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_num_stores, 0);
1316 return offset;
1320 netdfs_dissect_struct_dfs_Info5(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_)
1322 proto_item *item = NULL;
1323 proto_tree *tree = NULL;
1324 int old_offset;
1326 ALIGN_TO_5_BYTES;
1328 old_offset = offset;
1330 if (parent_tree) {
1331 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1332 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info5);
1335 offset = netdfs_dissect_element_dfs_Info5_path(tvb, offset, pinfo, tree, di, drep);
1337 offset = netdfs_dissect_element_dfs_Info5_comment(tvb, offset, pinfo, tree, di, drep);
1339 offset = netdfs_dissect_element_dfs_Info5_state(tvb, offset, pinfo, tree, di, drep);
1341 offset = netdfs_dissect_element_dfs_Info5_timeout(tvb, offset, pinfo, tree, di, drep);
1343 offset = netdfs_dissect_element_dfs_Info5_guid(tvb, offset, pinfo, tree, di, drep);
1345 offset = netdfs_dissect_element_dfs_Info5_flags(tvb, offset, pinfo, tree, di, drep);
1347 offset = netdfs_dissect_element_dfs_Info5_pktsize(tvb, offset, pinfo, tree, di, drep);
1349 offset = netdfs_dissect_element_dfs_Info5_num_stores(tvb, offset, pinfo, tree, di, drep);
1352 proto_item_set_len(item, offset-old_offset);
1355 if (di->call_data->flags & DCERPC_IS_NDR64) {
1356 ALIGN_TO_5_BYTES;
1359 return offset;
1363 /* IDL: enum { */
1364 /* IDL: DFS_INVALID_PRIORITY_CLASS=-1, */
1365 /* IDL: DFS_SITE_COST_NORMAL_PRIORITY_CLASS=0, */
1366 /* IDL: DFS_GLOBAL_HIGH_PRIORITY_CLASS=1, */
1367 /* IDL: DFS_SITE_COST_HIGH_PRIORITY_CLASS=2, */
1368 /* IDL: DFS_SITE_COST_LOW_PRIORITY_CLASS=3, */
1369 /* IDL: DFS_GLOBAL_LOW_PRIORITY_CLASS=4, */
1370 /* IDL: } */
1373 netdfs_dissect_enum_dfs_Target_PriorityClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
1375 uint32_t parameter=0;
1376 if (param) {
1377 parameter = *param;
1379 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1380 if (param) {
1381 *param = parameter;
1383 return offset;
1387 /* IDL: struct { */
1388 /* IDL: dfs_Target_PriorityClass target_priority_class; */
1389 /* IDL: uint16 target_priority_rank; */
1390 /* IDL: uint16 reserved; */
1391 /* IDL: } */
1393 static int
1394 netdfs_dissect_element_dfs_Target_Priority_target_priority_class(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1396 offset = netdfs_dissect_enum_dfs_Target_PriorityClass(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Target_Priority_target_priority_class, 0);
1398 return offset;
1401 static int
1402 netdfs_dissect_element_dfs_Target_Priority_target_priority_rank(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1404 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Target_Priority_target_priority_rank, 0);
1406 return offset;
1409 static int
1410 netdfs_dissect_element_dfs_Target_Priority_reserved(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 = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Target_Priority_reserved, 0);
1414 return offset;
1418 netdfs_dissect_struct_dfs_Target_Priority(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_)
1420 proto_item *item = NULL;
1421 proto_tree *tree = NULL;
1422 int old_offset;
1424 ALIGN_TO_4_BYTES;
1426 old_offset = offset;
1428 if (parent_tree) {
1429 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1430 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Target_Priority);
1433 offset = netdfs_dissect_element_dfs_Target_Priority_target_priority_class(tvb, offset, pinfo, tree, di, drep);
1435 offset = netdfs_dissect_element_dfs_Target_Priority_target_priority_rank(tvb, offset, pinfo, tree, di, drep);
1437 offset = netdfs_dissect_element_dfs_Target_Priority_reserved(tvb, offset, pinfo, tree, di, drep);
1440 proto_item_set_len(item, offset-old_offset);
1443 if (di->call_data->flags & DCERPC_IS_NDR64) {
1444 ALIGN_TO_4_BYTES;
1447 return offset;
1451 /* IDL: struct { */
1452 /* IDL: dfs_StorageInfo info; */
1453 /* IDL: dfs_Target_Priority target_priority; */
1454 /* IDL: } */
1456 static int
1457 netdfs_dissect_element_dfs_StorageInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1459 offset = netdfs_dissect_struct_dfs_StorageInfo(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_StorageInfo2_info,0);
1461 return offset;
1464 static int
1465 netdfs_dissect_element_dfs_StorageInfo2_target_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1467 offset = netdfs_dissect_struct_dfs_Target_Priority(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_StorageInfo2_target_priority,0);
1469 return offset;
1473 netdfs_dissect_struct_dfs_StorageInfo2(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_)
1475 proto_item *item = NULL;
1476 proto_tree *tree = NULL;
1477 int old_offset;
1479 ALIGN_TO_5_BYTES;
1481 old_offset = offset;
1483 if (parent_tree) {
1484 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1485 tree = proto_item_add_subtree(item, ett_netdfs_dfs_StorageInfo2);
1488 offset = netdfs_dissect_element_dfs_StorageInfo2_info(tvb, offset, pinfo, tree, di, drep);
1490 offset = netdfs_dissect_element_dfs_StorageInfo2_target_priority(tvb, offset, pinfo, tree, di, drep);
1493 proto_item_set_len(item, offset-old_offset);
1496 if (di->call_data->flags & DCERPC_IS_NDR64) {
1497 ALIGN_TO_5_BYTES;
1500 return offset;
1504 /* IDL: struct { */
1505 /* IDL: [charset(UTF16)] [unique(1)] uint16 *entry_path; */
1506 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
1507 /* IDL: dfs_VolumeState state; */
1508 /* IDL: uint32 timeout; */
1509 /* IDL: GUID guid; */
1510 /* IDL: dfs_PropertyFlags flags; */
1511 /* IDL: uint32 pktsize; */
1512 /* IDL: uint16 num_stores; */
1513 /* IDL: [size_is(num_stores)] [unique(1)] dfs_StorageInfo2 *stores; */
1514 /* IDL: } */
1516 static int
1517 netdfs_dissect_element_dfs_Info6_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1519 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info6_entry_path_, NDR_POINTER_UNIQUE, "Pointer to Entry Path (uint16)",hf_netdfs_dfs_Info6_entry_path);
1521 return offset;
1524 static int
1525 netdfs_dissect_element_dfs_Info6_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1527 char *data;
1529 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info6_entry_path, false, &data);
1530 proto_item_append_text(tree, ": %s", data);
1532 return offset;
1535 static int
1536 netdfs_dissect_element_dfs_Info6_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1538 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info6_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info6_comment);
1540 return offset;
1543 static int
1544 netdfs_dissect_element_dfs_Info6_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1546 char *data;
1548 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info6_comment, false, &data);
1549 proto_item_append_text(tree, ": %s", data);
1551 return offset;
1554 static int
1555 netdfs_dissect_element_dfs_Info6_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1557 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_state, 0);
1559 return offset;
1562 static int
1563 netdfs_dissect_element_dfs_Info6_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1565 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_timeout, 0);
1567 return offset;
1570 static int
1571 netdfs_dissect_element_dfs_Info6_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1573 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_guid, NULL);
1575 return offset;
1578 static int
1579 netdfs_dissect_element_dfs_Info6_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1581 offset = netdfs_dissect_bitmap_dfs_PropertyFlags(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_flags, 0);
1583 return offset;
1586 static int
1587 netdfs_dissect_element_dfs_Info6_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1589 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_pktsize, 0);
1591 return offset;
1594 static int
1595 netdfs_dissect_element_dfs_Info6_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1597 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_num_stores, 0);
1599 return offset;
1602 static int
1603 netdfs_dissect_element_dfs_Info6_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1605 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info6_stores_, NDR_POINTER_UNIQUE, "Pointer to Stores (dfs_StorageInfo2)",hf_netdfs_dfs_Info6_stores);
1607 return offset;
1610 static int
1611 netdfs_dissect_element_dfs_Info6_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1613 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info6_stores__);
1615 return offset;
1618 static int
1619 netdfs_dissect_element_dfs_Info6_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1621 offset = netdfs_dissect_struct_dfs_StorageInfo2(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info6_stores,0);
1623 return offset;
1627 netdfs_dissect_struct_dfs_Info6(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_)
1629 proto_item *item = NULL;
1630 proto_tree *tree = NULL;
1631 int old_offset;
1633 ALIGN_TO_5_BYTES;
1635 old_offset = offset;
1637 if (parent_tree) {
1638 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1639 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info6);
1642 offset = netdfs_dissect_element_dfs_Info6_entry_path(tvb, offset, pinfo, tree, di, drep);
1644 offset = netdfs_dissect_element_dfs_Info6_comment(tvb, offset, pinfo, tree, di, drep);
1646 offset = netdfs_dissect_element_dfs_Info6_state(tvb, offset, pinfo, tree, di, drep);
1648 offset = netdfs_dissect_element_dfs_Info6_timeout(tvb, offset, pinfo, tree, di, drep);
1650 offset = netdfs_dissect_element_dfs_Info6_guid(tvb, offset, pinfo, tree, di, drep);
1652 offset = netdfs_dissect_element_dfs_Info6_flags(tvb, offset, pinfo, tree, di, drep);
1654 offset = netdfs_dissect_element_dfs_Info6_pktsize(tvb, offset, pinfo, tree, di, drep);
1656 offset = netdfs_dissect_element_dfs_Info6_num_stores(tvb, offset, pinfo, tree, di, drep);
1658 offset = netdfs_dissect_element_dfs_Info6_stores(tvb, offset, pinfo, tree, di, drep);
1661 proto_item_set_len(item, offset-old_offset);
1664 if (di->call_data->flags & DCERPC_IS_NDR64) {
1665 ALIGN_TO_5_BYTES;
1668 return offset;
1672 /* IDL: struct { */
1673 /* IDL: GUID generation_guid; */
1674 /* IDL: } */
1676 static int
1677 netdfs_dissect_element_dfs_Info7_generation_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1679 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info7_generation_guid, NULL);
1681 return offset;
1685 netdfs_dissect_struct_dfs_Info7(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_)
1687 proto_item *item = NULL;
1688 proto_tree *tree = NULL;
1689 int old_offset;
1691 ALIGN_TO_4_BYTES;
1693 old_offset = offset;
1695 if (parent_tree) {
1696 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1697 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info7);
1700 offset = netdfs_dissect_element_dfs_Info7_generation_guid(tvb, offset, pinfo, tree, di, drep);
1703 proto_item_set_len(item, offset-old_offset);
1706 if (di->call_data->flags & DCERPC_IS_NDR64) {
1707 ALIGN_TO_4_BYTES;
1710 return offset;
1714 /* IDL: struct { */
1715 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
1716 /* IDL: } */
1718 static int
1719 netdfs_dissect_element_dfs_Info100_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1721 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info100_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info100_comment);
1723 return offset;
1726 static int
1727 netdfs_dissect_element_dfs_Info100_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1729 char *data;
1731 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info100_comment, false, &data);
1732 proto_item_append_text(tree, ": %s", data);
1734 return offset;
1738 netdfs_dissect_struct_dfs_Info100(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_)
1740 proto_item *item = NULL;
1741 proto_tree *tree = NULL;
1742 int old_offset;
1744 ALIGN_TO_5_BYTES;
1746 old_offset = offset;
1748 if (parent_tree) {
1749 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1750 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info100);
1753 offset = netdfs_dissect_element_dfs_Info100_comment(tvb, offset, pinfo, tree, di, drep);
1756 proto_item_set_len(item, offset-old_offset);
1759 if (di->call_data->flags & DCERPC_IS_NDR64) {
1760 ALIGN_TO_5_BYTES;
1763 return offset;
1767 /* IDL: struct { */
1768 /* IDL: dfs_StorageState state; */
1769 /* IDL: } */
1771 static int
1772 netdfs_dissect_element_dfs_Info101_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1774 offset = netdfs_dissect_bitmap_dfs_StorageState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info101_state, 0);
1776 return offset;
1780 netdfs_dissect_struct_dfs_Info101(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_)
1782 proto_item *item = NULL;
1783 proto_tree *tree = NULL;
1784 int old_offset;
1786 ALIGN_TO_4_BYTES;
1788 old_offset = offset;
1790 if (parent_tree) {
1791 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1792 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info101);
1795 offset = netdfs_dissect_element_dfs_Info101_state(tvb, offset, pinfo, tree, di, drep);
1798 proto_item_set_len(item, offset-old_offset);
1801 if (di->call_data->flags & DCERPC_IS_NDR64) {
1802 ALIGN_TO_4_BYTES;
1805 return offset;
1809 /* IDL: struct { */
1810 /* IDL: uint32 timeout; */
1811 /* IDL: } */
1813 static int
1814 netdfs_dissect_element_dfs_Info102_timeout(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 = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info102_timeout, 0);
1818 return offset;
1822 netdfs_dissect_struct_dfs_Info102(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_)
1824 proto_item *item = NULL;
1825 proto_tree *tree = NULL;
1826 int old_offset;
1828 ALIGN_TO_4_BYTES;
1830 old_offset = offset;
1832 if (parent_tree) {
1833 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1834 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info102);
1837 offset = netdfs_dissect_element_dfs_Info102_timeout(tvb, offset, pinfo, tree, di, drep);
1840 proto_item_set_len(item, offset-old_offset);
1843 if (di->call_data->flags & DCERPC_IS_NDR64) {
1844 ALIGN_TO_4_BYTES;
1847 return offset;
1851 /* IDL: struct { */
1852 /* IDL: dfs_PropertyFlags flags; */
1853 /* IDL: } */
1855 static int
1856 netdfs_dissect_element_dfs_Info103_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1858 offset = netdfs_dissect_bitmap_dfs_PropertyFlags(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info103_flags, 0);
1860 return offset;
1864 netdfs_dissect_struct_dfs_Info103(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_)
1866 proto_item *item = NULL;
1867 proto_tree *tree = NULL;
1868 int old_offset;
1870 ALIGN_TO_4_BYTES;
1872 old_offset = offset;
1874 if (parent_tree) {
1875 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1876 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info103);
1879 offset = netdfs_dissect_element_dfs_Info103_flags(tvb, offset, pinfo, tree, di, drep);
1882 proto_item_set_len(item, offset-old_offset);
1885 if (di->call_data->flags & DCERPC_IS_NDR64) {
1886 ALIGN_TO_4_BYTES;
1889 return offset;
1893 /* IDL: struct { */
1894 /* IDL: dfs_Target_Priority priority; */
1895 /* IDL: } */
1897 static int
1898 netdfs_dissect_element_dfs_Info104_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1900 offset = netdfs_dissect_struct_dfs_Target_Priority(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info104_priority,0);
1902 return offset;
1906 netdfs_dissect_struct_dfs_Info104(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_)
1908 proto_item *item = NULL;
1909 proto_tree *tree = NULL;
1910 int old_offset;
1912 ALIGN_TO_4_BYTES;
1914 old_offset = offset;
1916 if (parent_tree) {
1917 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1918 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info104);
1921 offset = netdfs_dissect_element_dfs_Info104_priority(tvb, offset, pinfo, tree, di, drep);
1924 proto_item_set_len(item, offset-old_offset);
1927 if (di->call_data->flags & DCERPC_IS_NDR64) {
1928 ALIGN_TO_4_BYTES;
1931 return offset;
1935 /* IDL: struct { */
1936 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
1937 /* IDL: dfs_VolumeState state; */
1938 /* IDL: uint32 timeout; */
1939 /* IDL: uint32 property_flag_mask; */
1940 /* IDL: uint32 property_flags; */
1941 /* IDL: } */
1943 static int
1944 netdfs_dissect_element_dfs_Info105_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1946 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info105_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info105_comment);
1948 return offset;
1951 static int
1952 netdfs_dissect_element_dfs_Info105_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1954 char *data;
1956 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info105_comment, false, &data);
1957 proto_item_append_text(tree, ": %s", data);
1959 return offset;
1962 static int
1963 netdfs_dissect_element_dfs_Info105_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1965 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info105_state, 0);
1967 return offset;
1970 static int
1971 netdfs_dissect_element_dfs_Info105_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1973 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info105_timeout, 0);
1975 return offset;
1978 static int
1979 netdfs_dissect_element_dfs_Info105_property_flag_mask(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 = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info105_property_flag_mask, 0);
1983 return offset;
1986 static int
1987 netdfs_dissect_element_dfs_Info105_property_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1989 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info105_property_flags, 0);
1991 return offset;
1995 netdfs_dissect_struct_dfs_Info105(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_)
1997 proto_item *item = NULL;
1998 proto_tree *tree = NULL;
1999 int old_offset;
2001 ALIGN_TO_5_BYTES;
2003 old_offset = offset;
2005 if (parent_tree) {
2006 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2007 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info105);
2010 offset = netdfs_dissect_element_dfs_Info105_comment(tvb, offset, pinfo, tree, di, drep);
2012 offset = netdfs_dissect_element_dfs_Info105_state(tvb, offset, pinfo, tree, di, drep);
2014 offset = netdfs_dissect_element_dfs_Info105_timeout(tvb, offset, pinfo, tree, di, drep);
2016 offset = netdfs_dissect_element_dfs_Info105_property_flag_mask(tvb, offset, pinfo, tree, di, drep);
2018 offset = netdfs_dissect_element_dfs_Info105_property_flags(tvb, offset, pinfo, tree, di, drep);
2021 proto_item_set_len(item, offset-old_offset);
2024 if (di->call_data->flags & DCERPC_IS_NDR64) {
2025 ALIGN_TO_5_BYTES;
2028 return offset;
2032 /* IDL: struct { */
2033 /* IDL: dfs_StorageState state; */
2034 /* IDL: dfs_Target_Priority priority; */
2035 /* IDL: } */
2037 static int
2038 netdfs_dissect_element_dfs_Info106_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2040 offset = netdfs_dissect_bitmap_dfs_StorageState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info106_state, 0);
2042 return offset;
2045 static int
2046 netdfs_dissect_element_dfs_Info106_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2048 offset = netdfs_dissect_struct_dfs_Target_Priority(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info106_priority,0);
2050 return offset;
2054 netdfs_dissect_struct_dfs_Info106(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_)
2056 proto_item *item = NULL;
2057 proto_tree *tree = NULL;
2058 int old_offset;
2060 ALIGN_TO_4_BYTES;
2062 old_offset = offset;
2064 if (parent_tree) {
2065 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2066 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info106);
2069 offset = netdfs_dissect_element_dfs_Info106_state(tvb, offset, pinfo, tree, di, drep);
2071 offset = netdfs_dissect_element_dfs_Info106_priority(tvb, offset, pinfo, tree, di, drep);
2074 proto_item_set_len(item, offset-old_offset);
2077 if (di->call_data->flags & DCERPC_IS_NDR64) {
2078 ALIGN_TO_4_BYTES;
2081 return offset;
2085 /* IDL: struct { */
2086 /* IDL: [charset(UTF16)] [unique(1)] uint16 *dom_root; */
2087 /* IDL: } */
2089 static int
2090 netdfs_dissect_element_dfs_Info200_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2092 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info200_dom_root_, NDR_POINTER_UNIQUE, "Pointer to Dom Root (uint16)",hf_netdfs_dfs_Info200_dom_root);
2094 return offset;
2097 static int
2098 netdfs_dissect_element_dfs_Info200_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2100 char *data;
2102 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info200_dom_root, false, &data);
2103 proto_item_append_text(tree, ": %s", data);
2105 return offset;
2109 netdfs_dissect_struct_dfs_Info200(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_)
2111 proto_item *item = NULL;
2112 proto_tree *tree = NULL;
2113 int old_offset;
2115 ALIGN_TO_5_BYTES;
2117 old_offset = offset;
2119 if (parent_tree) {
2120 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2121 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info200);
2124 offset = netdfs_dissect_element_dfs_Info200_dom_root(tvb, offset, pinfo, tree, di, drep);
2127 proto_item_set_len(item, offset-old_offset);
2130 if (di->call_data->flags & DCERPC_IS_NDR64) {
2131 ALIGN_TO_5_BYTES;
2134 return offset;
2138 /* IDL: enum { */
2139 /* IDL: DFS_VOLUME_FLAVOR_STANDALONE=0x100, */
2140 /* IDL: DFS_VOLUME_FLAVOR_AD_BLOB=0x200, */
2141 /* IDL: } */
2144 netdfs_dissect_enum_dfs_VolumeFlavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2146 uint32_t parameter=0;
2147 if (param) {
2148 parameter = *param;
2150 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2151 if (param) {
2152 *param = parameter;
2154 return offset;
2158 /* IDL: struct { */
2159 /* IDL: dfs_VolumeFlavor flavor; */
2160 /* IDL: [charset(UTF16)] [unique(1)] uint16 *dom_root; */
2161 /* IDL: } */
2163 static int
2164 netdfs_dissect_element_dfs_Info300_flavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2166 offset = netdfs_dissect_enum_dfs_VolumeFlavor(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info300_flavor, 0);
2168 return offset;
2171 static int
2172 netdfs_dissect_element_dfs_Info300_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2174 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info300_dom_root_, NDR_POINTER_UNIQUE, "Pointer to Dom Root (uint16)",hf_netdfs_dfs_Info300_dom_root);
2176 return offset;
2179 static int
2180 netdfs_dissect_element_dfs_Info300_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2182 char *data;
2184 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info300_dom_root, false, &data);
2185 proto_item_append_text(tree, ": %s", data);
2187 return offset;
2191 netdfs_dissect_struct_dfs_Info300(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_)
2193 proto_item *item = NULL;
2194 proto_tree *tree = NULL;
2195 int old_offset;
2197 ALIGN_TO_5_BYTES;
2199 old_offset = offset;
2201 if (parent_tree) {
2202 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2203 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info300);
2206 offset = netdfs_dissect_element_dfs_Info300_flavor(tvb, offset, pinfo, tree, di, drep);
2208 offset = netdfs_dissect_element_dfs_Info300_dom_root(tvb, offset, pinfo, tree, di, drep);
2211 proto_item_set_len(item, offset-old_offset);
2214 if (di->call_data->flags & DCERPC_IS_NDR64) {
2215 ALIGN_TO_5_BYTES;
2218 return offset;
2222 /* IDL: union { */
2223 /* IDL: [case(0)] [case(0)] [unique(1)] dfs_Info0 *info0; */
2224 /* IDL: [case(1)] [case(1)] [unique(1)] dfs_Info1 *info1; */
2225 /* IDL: [case(2)] [case(2)] [unique(1)] dfs_Info2 *info2; */
2226 /* IDL: [case(3)] [case(3)] [unique(1)] dfs_Info3 *info3; */
2227 /* IDL: [case(4)] [case(4)] [unique(1)] dfs_Info4 *info4; */
2228 /* IDL: [case(5)] [case(5)] [unique(1)] dfs_Info5 *info5; */
2229 /* IDL: [case(6)] [case(6)] [unique(1)] dfs_Info6 *info6; */
2230 /* IDL: [case(7)] [case(7)] [unique(1)] dfs_Info7 *info7; */
2231 /* IDL: [case(100)] [case(100)] [unique(1)] dfs_Info100 *info100; */
2232 /* IDL: [case(101)] [case(101)] [unique(1)] dfs_Info101 *info101; */
2233 /* IDL: [case(102)] [case(102)] [unique(1)] dfs_Info102 *info102; */
2234 /* IDL: [case(103)] [case(103)] [unique(1)] dfs_Info103 *info103; */
2235 /* IDL: [case(104)] [case(104)] [unique(1)] dfs_Info104 *info104; */
2236 /* IDL: [case(105)] [case(105)] [unique(1)] dfs_Info105 *info105; */
2237 /* IDL: [case(106)] [case(106)] [unique(1)] dfs_Info106 *info106; */
2238 /* IDL: } */
2240 static int
2241 netdfs_dissect_element_dfs_Info_info0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2243 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info0_, NDR_POINTER_UNIQUE, "Pointer to Info0 (dfs_Info0)",hf_netdfs_dfs_Info_info0);
2245 return offset;
2248 static int
2249 netdfs_dissect_element_dfs_Info_info0_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2251 offset = netdfs_dissect_struct_dfs_Info0(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info0,0);
2253 return offset;
2256 static int
2257 netdfs_dissect_element_dfs_Info_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2259 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info1_, NDR_POINTER_UNIQUE, "Pointer to Info1 (dfs_Info1)",hf_netdfs_dfs_Info_info1);
2261 return offset;
2264 static int
2265 netdfs_dissect_element_dfs_Info_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2267 offset = netdfs_dissect_struct_dfs_Info1(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info1,0);
2269 return offset;
2272 static int
2273 netdfs_dissect_element_dfs_Info_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2275 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info2_, NDR_POINTER_UNIQUE, "Pointer to Info2 (dfs_Info2)",hf_netdfs_dfs_Info_info2);
2277 return offset;
2280 static int
2281 netdfs_dissect_element_dfs_Info_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2283 offset = netdfs_dissect_struct_dfs_Info2(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info2,0);
2285 return offset;
2288 static int
2289 netdfs_dissect_element_dfs_Info_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2291 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info3_, NDR_POINTER_UNIQUE, "Pointer to Info3 (dfs_Info3)",hf_netdfs_dfs_Info_info3);
2293 return offset;
2296 static int
2297 netdfs_dissect_element_dfs_Info_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2299 offset = netdfs_dissect_struct_dfs_Info3(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info3,0);
2301 return offset;
2304 static int
2305 netdfs_dissect_element_dfs_Info_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2307 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info4_, NDR_POINTER_UNIQUE, "Pointer to Info4 (dfs_Info4)",hf_netdfs_dfs_Info_info4);
2309 return offset;
2312 static int
2313 netdfs_dissect_element_dfs_Info_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2315 offset = netdfs_dissect_struct_dfs_Info4(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info4,0);
2317 return offset;
2320 static int
2321 netdfs_dissect_element_dfs_Info_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2323 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info5_, NDR_POINTER_UNIQUE, "Pointer to Info5 (dfs_Info5)",hf_netdfs_dfs_Info_info5);
2325 return offset;
2328 static int
2329 netdfs_dissect_element_dfs_Info_info5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2331 offset = netdfs_dissect_struct_dfs_Info5(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info5,0);
2333 return offset;
2336 static int
2337 netdfs_dissect_element_dfs_Info_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2339 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info6_, NDR_POINTER_UNIQUE, "Pointer to Info6 (dfs_Info6)",hf_netdfs_dfs_Info_info6);
2341 return offset;
2344 static int
2345 netdfs_dissect_element_dfs_Info_info6_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2347 offset = netdfs_dissect_struct_dfs_Info6(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info6,0);
2349 return offset;
2352 static int
2353 netdfs_dissect_element_dfs_Info_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2355 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info7_, NDR_POINTER_UNIQUE, "Pointer to Info7 (dfs_Info7)",hf_netdfs_dfs_Info_info7);
2357 return offset;
2360 static int
2361 netdfs_dissect_element_dfs_Info_info7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2363 offset = netdfs_dissect_struct_dfs_Info7(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info7,0);
2365 return offset;
2368 static int
2369 netdfs_dissect_element_dfs_Info_info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2371 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info100_, NDR_POINTER_UNIQUE, "Pointer to Info100 (dfs_Info100)",hf_netdfs_dfs_Info_info100);
2373 return offset;
2376 static int
2377 netdfs_dissect_element_dfs_Info_info100_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2379 offset = netdfs_dissect_struct_dfs_Info100(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info100,0);
2381 return offset;
2384 static int
2385 netdfs_dissect_element_dfs_Info_info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2387 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info101_, NDR_POINTER_UNIQUE, "Pointer to Info101 (dfs_Info101)",hf_netdfs_dfs_Info_info101);
2389 return offset;
2392 static int
2393 netdfs_dissect_element_dfs_Info_info101_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2395 offset = netdfs_dissect_struct_dfs_Info101(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info101,0);
2397 return offset;
2400 static int
2401 netdfs_dissect_element_dfs_Info_info102(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2403 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info102_, NDR_POINTER_UNIQUE, "Pointer to Info102 (dfs_Info102)",hf_netdfs_dfs_Info_info102);
2405 return offset;
2408 static int
2409 netdfs_dissect_element_dfs_Info_info102_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2411 offset = netdfs_dissect_struct_dfs_Info102(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info102,0);
2413 return offset;
2416 static int
2417 netdfs_dissect_element_dfs_Info_info103(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2419 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info103_, NDR_POINTER_UNIQUE, "Pointer to Info103 (dfs_Info103)",hf_netdfs_dfs_Info_info103);
2421 return offset;
2424 static int
2425 netdfs_dissect_element_dfs_Info_info103_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2427 offset = netdfs_dissect_struct_dfs_Info103(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info103,0);
2429 return offset;
2432 static int
2433 netdfs_dissect_element_dfs_Info_info104(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2435 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info104_, NDR_POINTER_UNIQUE, "Pointer to Info104 (dfs_Info104)",hf_netdfs_dfs_Info_info104);
2437 return offset;
2440 static int
2441 netdfs_dissect_element_dfs_Info_info104_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2443 offset = netdfs_dissect_struct_dfs_Info104(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info104,0);
2445 return offset;
2448 static int
2449 netdfs_dissect_element_dfs_Info_info105(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2451 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info105_, NDR_POINTER_UNIQUE, "Pointer to Info105 (dfs_Info105)",hf_netdfs_dfs_Info_info105);
2453 return offset;
2456 static int
2457 netdfs_dissect_element_dfs_Info_info105_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2459 offset = netdfs_dissect_struct_dfs_Info105(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info105,0);
2461 return offset;
2464 static int
2465 netdfs_dissect_element_dfs_Info_info106(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2467 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info106_, NDR_POINTER_UNIQUE, "Pointer to Info106 (dfs_Info106)",hf_netdfs_dfs_Info_info106);
2469 return offset;
2472 static int
2473 netdfs_dissect_element_dfs_Info_info106_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2475 offset = netdfs_dissect_struct_dfs_Info106(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info106,0);
2477 return offset;
2480 static int
2481 netdfs_dissect_dfs_Info(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_)
2483 proto_item *item = NULL;
2484 proto_tree *tree = NULL;
2485 int old_offset;
2486 uint32_t level;
2488 old_offset = offset;
2489 if (parent_tree) {
2490 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_netdfs_dfs_Info, &item, "dfs_Info");
2493 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
2494 ALIGN_TO_5_BYTES;
2496 switch(level) {
2497 case 0:
2498 offset = netdfs_dissect_element_dfs_Info_info0(tvb, offset, pinfo, tree, di, drep);
2499 break;
2501 case 1:
2502 offset = netdfs_dissect_element_dfs_Info_info1(tvb, offset, pinfo, tree, di, drep);
2503 break;
2505 case 2:
2506 offset = netdfs_dissect_element_dfs_Info_info2(tvb, offset, pinfo, tree, di, drep);
2507 break;
2509 case 3:
2510 offset = netdfs_dissect_element_dfs_Info_info3(tvb, offset, pinfo, tree, di, drep);
2511 break;
2513 case 4:
2514 offset = netdfs_dissect_element_dfs_Info_info4(tvb, offset, pinfo, tree, di, drep);
2515 break;
2517 case 5:
2518 offset = netdfs_dissect_element_dfs_Info_info5(tvb, offset, pinfo, tree, di, drep);
2519 break;
2521 case 6:
2522 offset = netdfs_dissect_element_dfs_Info_info6(tvb, offset, pinfo, tree, di, drep);
2523 break;
2525 case 7:
2526 offset = netdfs_dissect_element_dfs_Info_info7(tvb, offset, pinfo, tree, di, drep);
2527 break;
2529 case 100:
2530 offset = netdfs_dissect_element_dfs_Info_info100(tvb, offset, pinfo, tree, di, drep);
2531 break;
2533 case 101:
2534 offset = netdfs_dissect_element_dfs_Info_info101(tvb, offset, pinfo, tree, di, drep);
2535 break;
2537 case 102:
2538 offset = netdfs_dissect_element_dfs_Info_info102(tvb, offset, pinfo, tree, di, drep);
2539 break;
2541 case 103:
2542 offset = netdfs_dissect_element_dfs_Info_info103(tvb, offset, pinfo, tree, di, drep);
2543 break;
2545 case 104:
2546 offset = netdfs_dissect_element_dfs_Info_info104(tvb, offset, pinfo, tree, di, drep);
2547 break;
2549 case 105:
2550 offset = netdfs_dissect_element_dfs_Info_info105(tvb, offset, pinfo, tree, di, drep);
2551 break;
2553 case 106:
2554 offset = netdfs_dissect_element_dfs_Info_info106(tvb, offset, pinfo, tree, di, drep);
2555 break;
2557 proto_item_set_len(item, offset-old_offset);
2560 return offset;
2563 /* IDL: struct { */
2564 /* IDL: uint32 count; */
2565 /* IDL: [size_is(count)] [unique(1)] dfs_Info1 *s; */
2566 /* IDL: } */
2568 static int
2569 netdfs_dissect_element_dfs_EnumArray1_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2571 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray1_count, 0);
2573 return offset;
2576 static int
2577 netdfs_dissect_element_dfs_EnumArray1_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2579 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray1_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info1)",hf_netdfs_dfs_EnumArray1_s);
2581 return offset;
2584 static int
2585 netdfs_dissect_element_dfs_EnumArray1_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2587 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray1_s__);
2589 return offset;
2592 static int
2593 netdfs_dissect_element_dfs_EnumArray1_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2595 offset = netdfs_dissect_struct_dfs_Info1(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray1_s,0);
2597 return offset;
2601 netdfs_dissect_struct_dfs_EnumArray1(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_)
2603 proto_item *item = NULL;
2604 proto_tree *tree = NULL;
2605 int old_offset;
2607 ALIGN_TO_5_BYTES;
2609 old_offset = offset;
2611 if (parent_tree) {
2612 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2613 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray1);
2616 offset = netdfs_dissect_element_dfs_EnumArray1_count(tvb, offset, pinfo, tree, di, drep);
2618 offset = netdfs_dissect_element_dfs_EnumArray1_s(tvb, offset, pinfo, tree, di, drep);
2621 proto_item_set_len(item, offset-old_offset);
2624 if (di->call_data->flags & DCERPC_IS_NDR64) {
2625 ALIGN_TO_5_BYTES;
2628 return offset;
2632 /* IDL: struct { */
2633 /* IDL: uint32 count; */
2634 /* IDL: [size_is(count)] [unique(1)] dfs_Info2 *s; */
2635 /* IDL: } */
2637 static int
2638 netdfs_dissect_element_dfs_EnumArray2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2640 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray2_count, 0);
2642 return offset;
2645 static int
2646 netdfs_dissect_element_dfs_EnumArray2_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2648 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray2_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info2)",hf_netdfs_dfs_EnumArray2_s);
2650 return offset;
2653 static int
2654 netdfs_dissect_element_dfs_EnumArray2_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2656 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray2_s__);
2658 return offset;
2661 static int
2662 netdfs_dissect_element_dfs_EnumArray2_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2664 offset = netdfs_dissect_struct_dfs_Info2(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray2_s,0);
2666 return offset;
2670 netdfs_dissect_struct_dfs_EnumArray2(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_)
2672 proto_item *item = NULL;
2673 proto_tree *tree = NULL;
2674 int old_offset;
2676 ALIGN_TO_5_BYTES;
2678 old_offset = offset;
2680 if (parent_tree) {
2681 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2682 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray2);
2685 offset = netdfs_dissect_element_dfs_EnumArray2_count(tvb, offset, pinfo, tree, di, drep);
2687 offset = netdfs_dissect_element_dfs_EnumArray2_s(tvb, offset, pinfo, tree, di, drep);
2690 proto_item_set_len(item, offset-old_offset);
2693 if (di->call_data->flags & DCERPC_IS_NDR64) {
2694 ALIGN_TO_5_BYTES;
2697 return offset;
2701 /* IDL: struct { */
2702 /* IDL: uint32 count; */
2703 /* IDL: [size_is(count)] [unique(1)] dfs_Info3 *s; */
2704 /* IDL: } */
2706 static int
2707 netdfs_dissect_element_dfs_EnumArray3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2709 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray3_count, 0);
2711 return offset;
2714 static int
2715 netdfs_dissect_element_dfs_EnumArray3_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2717 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray3_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info3)",hf_netdfs_dfs_EnumArray3_s);
2719 return offset;
2722 static int
2723 netdfs_dissect_element_dfs_EnumArray3_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2725 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray3_s__);
2727 return offset;
2730 static int
2731 netdfs_dissect_element_dfs_EnumArray3_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2733 offset = netdfs_dissect_struct_dfs_Info3(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray3_s,0);
2735 return offset;
2739 netdfs_dissect_struct_dfs_EnumArray3(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_)
2741 proto_item *item = NULL;
2742 proto_tree *tree = NULL;
2743 int old_offset;
2745 ALIGN_TO_5_BYTES;
2747 old_offset = offset;
2749 if (parent_tree) {
2750 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2751 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray3);
2754 offset = netdfs_dissect_element_dfs_EnumArray3_count(tvb, offset, pinfo, tree, di, drep);
2756 offset = netdfs_dissect_element_dfs_EnumArray3_s(tvb, offset, pinfo, tree, di, drep);
2759 proto_item_set_len(item, offset-old_offset);
2762 if (di->call_data->flags & DCERPC_IS_NDR64) {
2763 ALIGN_TO_5_BYTES;
2766 return offset;
2770 /* IDL: struct { */
2771 /* IDL: uint32 count; */
2772 /* IDL: [size_is(count)] [unique(1)] dfs_Info4 *s; */
2773 /* IDL: } */
2775 static int
2776 netdfs_dissect_element_dfs_EnumArray4_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2778 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray4_count, 0);
2780 return offset;
2783 static int
2784 netdfs_dissect_element_dfs_EnumArray4_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2786 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray4_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info4)",hf_netdfs_dfs_EnumArray4_s);
2788 return offset;
2791 static int
2792 netdfs_dissect_element_dfs_EnumArray4_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2794 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray4_s__);
2796 return offset;
2799 static int
2800 netdfs_dissect_element_dfs_EnumArray4_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2802 offset = netdfs_dissect_struct_dfs_Info4(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray4_s,0);
2804 return offset;
2808 netdfs_dissect_struct_dfs_EnumArray4(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_)
2810 proto_item *item = NULL;
2811 proto_tree *tree = NULL;
2812 int old_offset;
2814 ALIGN_TO_5_BYTES;
2816 old_offset = offset;
2818 if (parent_tree) {
2819 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2820 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray4);
2823 offset = netdfs_dissect_element_dfs_EnumArray4_count(tvb, offset, pinfo, tree, di, drep);
2825 offset = netdfs_dissect_element_dfs_EnumArray4_s(tvb, offset, pinfo, tree, di, drep);
2828 proto_item_set_len(item, offset-old_offset);
2831 if (di->call_data->flags & DCERPC_IS_NDR64) {
2832 ALIGN_TO_5_BYTES;
2835 return offset;
2839 /* IDL: struct { */
2840 /* IDL: uint32 count; */
2841 /* IDL: [size_is(count)] [unique(1)] dfs_Info200 *s; */
2842 /* IDL: } */
2844 static int
2845 netdfs_dissect_element_dfs_EnumArray200_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2847 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray200_count, 0);
2849 return offset;
2852 static int
2853 netdfs_dissect_element_dfs_EnumArray200_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2855 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray200_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info200)",hf_netdfs_dfs_EnumArray200_s);
2857 return offset;
2860 static int
2861 netdfs_dissect_element_dfs_EnumArray200_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2863 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray200_s__);
2865 return offset;
2868 static int
2869 netdfs_dissect_element_dfs_EnumArray200_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2871 offset = netdfs_dissect_struct_dfs_Info200(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray200_s,0);
2873 return offset;
2877 netdfs_dissect_struct_dfs_EnumArray200(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_)
2879 proto_item *item = NULL;
2880 proto_tree *tree = NULL;
2881 int old_offset;
2883 ALIGN_TO_5_BYTES;
2885 old_offset = offset;
2887 if (parent_tree) {
2888 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2889 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray200);
2892 offset = netdfs_dissect_element_dfs_EnumArray200_count(tvb, offset, pinfo, tree, di, drep);
2894 offset = netdfs_dissect_element_dfs_EnumArray200_s(tvb, offset, pinfo, tree, di, drep);
2897 proto_item_set_len(item, offset-old_offset);
2900 if (di->call_data->flags & DCERPC_IS_NDR64) {
2901 ALIGN_TO_5_BYTES;
2904 return offset;
2908 /* IDL: struct { */
2909 /* IDL: uint32 count; */
2910 /* IDL: [size_is(count)] [unique(1)] dfs_Info300 *s; */
2911 /* IDL: } */
2913 static int
2914 netdfs_dissect_element_dfs_EnumArray300_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2916 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray300_count, 0);
2918 return offset;
2921 static int
2922 netdfs_dissect_element_dfs_EnumArray300_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2924 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray300_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info300)",hf_netdfs_dfs_EnumArray300_s);
2926 return offset;
2929 static int
2930 netdfs_dissect_element_dfs_EnumArray300_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2932 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray300_s__);
2934 return offset;
2937 static int
2938 netdfs_dissect_element_dfs_EnumArray300_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2940 offset = netdfs_dissect_struct_dfs_Info300(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray300_s,0);
2942 return offset;
2946 netdfs_dissect_struct_dfs_EnumArray300(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_)
2948 proto_item *item = NULL;
2949 proto_tree *tree = NULL;
2950 int old_offset;
2952 ALIGN_TO_5_BYTES;
2954 old_offset = offset;
2956 if (parent_tree) {
2957 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2958 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray300);
2961 offset = netdfs_dissect_element_dfs_EnumArray300_count(tvb, offset, pinfo, tree, di, drep);
2963 offset = netdfs_dissect_element_dfs_EnumArray300_s(tvb, offset, pinfo, tree, di, drep);
2966 proto_item_set_len(item, offset-old_offset);
2969 if (di->call_data->flags & DCERPC_IS_NDR64) {
2970 ALIGN_TO_5_BYTES;
2973 return offset;
2977 /* IDL: union { */
2978 /* IDL: [case(1)] [case(1)] [unique(1)] dfs_EnumArray1 *info1; */
2979 /* IDL: [case(2)] [case(2)] [unique(1)] dfs_EnumArray2 *info2; */
2980 /* IDL: [case(3)] [case(3)] [unique(1)] dfs_EnumArray3 *info3; */
2981 /* IDL: [case(4)] [case(4)] [unique(1)] dfs_EnumArray4 *info4; */
2982 /* IDL: [case(200)] [case(200)] [unique(1)] dfs_EnumArray200 *info200; */
2983 /* IDL: [case(300)] [case(300)] [unique(1)] dfs_EnumArray300 *info300; */
2984 /* IDL: } */
2986 static int
2987 netdfs_dissect_element_dfs_EnumInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2989 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info1_, NDR_POINTER_UNIQUE, "Pointer to Info1 (dfs_EnumArray1)",hf_netdfs_dfs_EnumInfo_info1);
2991 return offset;
2994 static int
2995 netdfs_dissect_element_dfs_EnumInfo_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2997 offset = netdfs_dissect_struct_dfs_EnumArray1(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info1,0);
2999 return offset;
3002 static int
3003 netdfs_dissect_element_dfs_EnumInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3005 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info2_, NDR_POINTER_UNIQUE, "Pointer to Info2 (dfs_EnumArray2)",hf_netdfs_dfs_EnumInfo_info2);
3007 return offset;
3010 static int
3011 netdfs_dissect_element_dfs_EnumInfo_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3013 offset = netdfs_dissect_struct_dfs_EnumArray2(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info2,0);
3015 return offset;
3018 static int
3019 netdfs_dissect_element_dfs_EnumInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3021 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info3_, NDR_POINTER_UNIQUE, "Pointer to Info3 (dfs_EnumArray3)",hf_netdfs_dfs_EnumInfo_info3);
3023 return offset;
3026 static int
3027 netdfs_dissect_element_dfs_EnumInfo_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3029 offset = netdfs_dissect_struct_dfs_EnumArray3(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info3,0);
3031 return offset;
3034 static int
3035 netdfs_dissect_element_dfs_EnumInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3037 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info4_, NDR_POINTER_UNIQUE, "Pointer to Info4 (dfs_EnumArray4)",hf_netdfs_dfs_EnumInfo_info4);
3039 return offset;
3042 static int
3043 netdfs_dissect_element_dfs_EnumInfo_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3045 offset = netdfs_dissect_struct_dfs_EnumArray4(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info4,0);
3047 return offset;
3050 static int
3051 netdfs_dissect_element_dfs_EnumInfo_info200(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3053 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info200_, NDR_POINTER_UNIQUE, "Pointer to Info200 (dfs_EnumArray200)",hf_netdfs_dfs_EnumInfo_info200);
3055 return offset;
3058 static int
3059 netdfs_dissect_element_dfs_EnumInfo_info200_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3061 offset = netdfs_dissect_struct_dfs_EnumArray200(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info200,0);
3063 return offset;
3066 static int
3067 netdfs_dissect_element_dfs_EnumInfo_info300(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3069 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info300_, NDR_POINTER_UNIQUE, "Pointer to Info300 (dfs_EnumArray300)",hf_netdfs_dfs_EnumInfo_info300);
3071 return offset;
3074 static int
3075 netdfs_dissect_element_dfs_EnumInfo_info300_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3077 offset = netdfs_dissect_struct_dfs_EnumArray300(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info300,0);
3079 return offset;
3082 static int
3083 netdfs_dissect_dfs_EnumInfo(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_)
3085 proto_item *item = NULL;
3086 proto_tree *tree = NULL;
3087 int old_offset;
3088 uint32_t level;
3090 old_offset = offset;
3091 if (parent_tree) {
3092 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_netdfs_dfs_EnumInfo, &item, "dfs_EnumInfo");
3095 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
3096 ALIGN_TO_5_BYTES;
3098 switch(level) {
3099 case 1:
3100 offset = netdfs_dissect_element_dfs_EnumInfo_info1(tvb, offset, pinfo, tree, di, drep);
3101 break;
3103 case 2:
3104 offset = netdfs_dissect_element_dfs_EnumInfo_info2(tvb, offset, pinfo, tree, di, drep);
3105 break;
3107 case 3:
3108 offset = netdfs_dissect_element_dfs_EnumInfo_info3(tvb, offset, pinfo, tree, di, drep);
3109 break;
3111 case 4:
3112 offset = netdfs_dissect_element_dfs_EnumInfo_info4(tvb, offset, pinfo, tree, di, drep);
3113 break;
3115 case 200:
3116 offset = netdfs_dissect_element_dfs_EnumInfo_info200(tvb, offset, pinfo, tree, di, drep);
3117 break;
3119 case 300:
3120 offset = netdfs_dissect_element_dfs_EnumInfo_info300(tvb, offset, pinfo, tree, di, drep);
3121 break;
3123 proto_item_set_len(item, offset-old_offset);
3126 return offset;
3129 /* IDL: struct { */
3130 /* IDL: uint32 level; */
3131 /* IDL: [switch_is(level)] dfs_EnumInfo e; */
3132 /* IDL: } */
3134 static int
3135 netdfs_dissect_element_dfs_EnumStruct_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)
3137 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumStruct_level, *level);
3139 return offset;
3142 static int
3143 netdfs_dissect_element_dfs_EnumStruct_e(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)
3145 offset = netdfs_dissect_dfs_EnumInfo(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumStruct_e, *level);
3147 return offset;
3151 netdfs_dissect_struct_dfs_EnumStruct(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_)
3153 uint32_t level = 0;
3154 proto_item *item = NULL;
3155 proto_tree *tree = NULL;
3156 int old_offset;
3158 ALIGN_TO_5_BYTES;
3160 old_offset = offset;
3162 if (parent_tree) {
3163 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3164 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumStruct);
3167 offset = netdfs_dissect_element_dfs_EnumStruct_level(tvb, offset, pinfo, tree, di, drep, &level);
3169 offset = netdfs_dissect_element_dfs_EnumStruct_e(tvb, offset, pinfo, tree, di, drep, &level);
3172 proto_item_set_len(item, offset-old_offset);
3175 if (di->call_data->flags & DCERPC_IS_NDR64) {
3176 ALIGN_TO_5_BYTES;
3179 return offset;
3183 /* IDL: struct { */
3184 /* IDL: uint32 unknown1; */
3185 /* IDL: [charset(UTF16)] [unique(1)] uint16 *unknown2; */
3186 /* IDL: } */
3188 static int
3189 netdfs_dissect_element_dfs_UnknownStruct_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3191 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_UnknownStruct_unknown1, 0);
3193 return offset;
3196 static int
3197 netdfs_dissect_element_dfs_UnknownStruct_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3199 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_UnknownStruct_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (uint16)",hf_netdfs_dfs_UnknownStruct_unknown2);
3201 return offset;
3204 static int
3205 netdfs_dissect_element_dfs_UnknownStruct_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3207 char *data;
3209 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_UnknownStruct_unknown2, false, &data);
3210 proto_item_append_text(tree, ": %s", data);
3212 return offset;
3216 netdfs_dissect_struct_dfs_UnknownStruct(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_)
3218 proto_item *item = NULL;
3219 proto_tree *tree = NULL;
3220 int old_offset;
3222 ALIGN_TO_5_BYTES;
3224 old_offset = offset;
3226 if (parent_tree) {
3227 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3228 tree = proto_item_add_subtree(item, ett_netdfs_dfs_UnknownStruct);
3231 offset = netdfs_dissect_element_dfs_UnknownStruct_unknown1(tvb, offset, pinfo, tree, di, drep);
3233 offset = netdfs_dissect_element_dfs_UnknownStruct_unknown2(tvb, offset, pinfo, tree, di, drep);
3236 proto_item_set_len(item, offset-old_offset);
3239 if (di->call_data->flags & DCERPC_IS_NDR64) {
3240 ALIGN_TO_5_BYTES;
3243 return offset;
3246 static int
3247 netdfs_dissect_element_dfs_GetManagerVersion_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3249 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_GetManagerVersion_version_, NDR_POINTER_REF, "Pointer to Version (dfs_ManagerVersion)",hf_netdfs_dfs_GetManagerVersion_version);
3251 return offset;
3254 static int
3255 netdfs_dissect_element_dfs_GetManagerVersion_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3257 offset = netdfs_dissect_enum_dfs_ManagerVersion(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_GetManagerVersion_version, 0);
3259 return offset;
3262 /* IDL: void dfs_GetManagerVersion( */
3263 /* IDL: [out] [ref] dfs_ManagerVersion *version */
3264 /* IDL: ); */
3266 static int
3267 netdfs_dissect_dfs_GetManagerVersion_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3269 di->dcerpc_procedure_name="dfs_GetManagerVersion";
3270 offset = netdfs_dissect_element_dfs_GetManagerVersion_version(tvb, offset, pinfo, tree, di, drep);
3271 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3273 return offset;
3276 static int
3277 netdfs_dissect_dfs_GetManagerVersion_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3279 di->dcerpc_procedure_name="dfs_GetManagerVersion";
3280 return offset;
3283 static int
3284 netdfs_dissect_element_dfs_Add_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3286 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Add_path_, NDR_POINTER_REF, "Pointer to Path (uint16)",hf_netdfs_dfs_Add_path);
3288 return offset;
3291 static int
3292 netdfs_dissect_element_dfs_Add_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3294 char *data;
3296 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Add_path, false, &data);
3297 proto_item_append_text(tree, ": %s", data);
3299 return offset;
3302 static int
3303 netdfs_dissect_element_dfs_Add_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3305 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Add_server_, NDR_POINTER_REF, "Pointer to Server (uint16)",hf_netdfs_dfs_Add_server);
3307 return offset;
3310 static int
3311 netdfs_dissect_element_dfs_Add_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3313 char *data;
3315 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Add_server, false, &data);
3316 proto_item_append_text(tree, ": %s", data);
3318 return offset;
3321 static int
3322 netdfs_dissect_element_dfs_Add_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3324 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Add_share_, NDR_POINTER_UNIQUE, "Pointer to Share (uint16)",hf_netdfs_dfs_Add_share);
3326 return offset;
3329 static int
3330 netdfs_dissect_element_dfs_Add_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3332 char *data;
3334 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Add_share, false, &data);
3335 proto_item_append_text(tree, ": %s", data);
3337 return offset;
3340 static int
3341 netdfs_dissect_element_dfs_Add_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3343 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Add_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Add_comment);
3345 return offset;
3348 static int
3349 netdfs_dissect_element_dfs_Add_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3351 char *data;
3353 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Add_comment, false, &data);
3354 proto_item_append_text(tree, ": %s", data);
3356 return offset;
3359 static int
3360 netdfs_dissect_element_dfs_Add_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3362 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Add_flags, 0);
3364 return offset;
3367 /* IDL: WERROR dfs_Add( */
3368 /* IDL: [charset(UTF16)] [in] [ref] uint16 *path, */
3369 /* IDL: [charset(UTF16)] [in] [ref] uint16 *server, */
3370 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *share, */
3371 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *comment, */
3372 /* IDL: [in] uint32 flags */
3373 /* IDL: ); */
3375 static int
3376 netdfs_dissect_dfs_Add_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3378 uint32_t status;
3380 di->dcerpc_procedure_name="dfs_Add";
3381 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3383 if (status != 0)
3384 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3386 return offset;
3389 static int
3390 netdfs_dissect_dfs_Add_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3392 di->dcerpc_procedure_name="dfs_Add";
3393 offset = netdfs_dissect_element_dfs_Add_path(tvb, offset, pinfo, tree, di, drep);
3394 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3395 offset = netdfs_dissect_element_dfs_Add_server(tvb, offset, pinfo, tree, di, drep);
3396 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3397 offset = netdfs_dissect_element_dfs_Add_share(tvb, offset, pinfo, tree, di, drep);
3398 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3399 offset = netdfs_dissect_element_dfs_Add_comment(tvb, offset, pinfo, tree, di, drep);
3400 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3401 offset = netdfs_dissect_element_dfs_Add_flags(tvb, offset, pinfo, tree, di, drep);
3402 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3403 return offset;
3406 static int
3407 netdfs_dissect_element_dfs_Remove_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3409 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Remove_dfs_entry_path_, NDR_POINTER_REF, "Pointer to Dfs Entry Path (uint16)",hf_netdfs_dfs_Remove_dfs_entry_path);
3411 return offset;
3414 static int
3415 netdfs_dissect_element_dfs_Remove_dfs_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3417 char *data;
3419 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Remove_dfs_entry_path, false, &data);
3420 proto_item_append_text(tree, ": %s", data);
3422 return offset;
3425 static int
3426 netdfs_dissect_element_dfs_Remove_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3428 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Remove_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_netdfs_dfs_Remove_servername);
3430 return offset;
3433 static int
3434 netdfs_dissect_element_dfs_Remove_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3436 char *data;
3438 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Remove_servername, false, &data);
3439 proto_item_append_text(tree, ": %s", data);
3441 return offset;
3444 static int
3445 netdfs_dissect_element_dfs_Remove_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3447 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Remove_sharename_, NDR_POINTER_UNIQUE, "Pointer to Sharename (uint16)",hf_netdfs_dfs_Remove_sharename);
3449 return offset;
3452 static int
3453 netdfs_dissect_element_dfs_Remove_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3455 char *data;
3457 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Remove_sharename, false, &data);
3458 proto_item_append_text(tree, ": %s", data);
3460 return offset;
3463 /* IDL: WERROR dfs_Remove( */
3464 /* IDL: [charset(UTF16)] [in] [ref] uint16 *dfs_entry_path, */
3465 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
3466 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *sharename */
3467 /* IDL: ); */
3469 static int
3470 netdfs_dissect_dfs_Remove_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3472 uint32_t status;
3474 di->dcerpc_procedure_name="dfs_Remove";
3475 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3477 if (status != 0)
3478 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3480 return offset;
3483 static int
3484 netdfs_dissect_dfs_Remove_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3486 di->dcerpc_procedure_name="dfs_Remove";
3487 offset = netdfs_dissect_element_dfs_Remove_dfs_entry_path(tvb, offset, pinfo, tree, di, drep);
3488 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3489 offset = netdfs_dissect_element_dfs_Remove_servername(tvb, offset, pinfo, tree, di, drep);
3490 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3491 offset = netdfs_dissect_element_dfs_Remove_sharename(tvb, offset, pinfo, tree, di, drep);
3492 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3493 return offset;
3496 static int
3497 netdfs_dissect_element_dfs_SetInfo_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3499 char *data;
3501 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_SetInfo_dfs_entry_path, false, &data);
3502 proto_item_append_text(tree, ": %s", data);
3504 return offset;
3507 static int
3508 netdfs_dissect_element_dfs_SetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3510 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_SetInfo_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_netdfs_dfs_SetInfo_servername);
3512 return offset;
3515 static int
3516 netdfs_dissect_element_dfs_SetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3518 char *data;
3520 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_SetInfo_servername, false, &data);
3521 proto_item_append_text(tree, ": %s", data);
3523 return offset;
3526 static int
3527 netdfs_dissect_element_dfs_SetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3529 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_SetInfo_sharename_, NDR_POINTER_UNIQUE, "Pointer to Sharename (uint16)",hf_netdfs_dfs_SetInfo_sharename);
3531 return offset;
3534 static int
3535 netdfs_dissect_element_dfs_SetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3537 char *data;
3539 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_SetInfo_sharename, false, &data);
3540 proto_item_append_text(tree, ": %s", data);
3542 return offset;
3545 static int
3546 netdfs_dissect_element_dfs_SetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3548 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_SetInfo_level, 0);
3550 return offset;
3553 static int
3554 netdfs_dissect_element_dfs_SetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3556 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_SetInfo_info_, NDR_POINTER_REF, "Pointer to Info (dfs_Info)",hf_netdfs_dfs_SetInfo_info);
3558 return offset;
3561 static int
3562 netdfs_dissect_element_dfs_SetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3564 offset = netdfs_dissect_dfs_Info(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_SetInfo_info, 0);
3566 return offset;
3569 /* IDL: WERROR dfs_SetInfo( */
3570 /* IDL: [charset(UTF16)] [in] uint16 dfs_entry_path[*], */
3571 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
3572 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *sharename, */
3573 /* IDL: [in] uint32 level, */
3574 /* IDL: [in] [ref] [switch_is(level)] dfs_Info *info */
3575 /* IDL: ); */
3577 static int
3578 netdfs_dissect_dfs_SetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3580 uint32_t status;
3582 di->dcerpc_procedure_name="dfs_SetInfo";
3583 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3585 if (status != 0)
3586 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3588 return offset;
3591 static int
3592 netdfs_dissect_dfs_SetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3594 di->dcerpc_procedure_name="dfs_SetInfo";
3595 offset = netdfs_dissect_element_dfs_SetInfo_dfs_entry_path(tvb, offset, pinfo, tree, di, drep);
3596 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3597 offset = netdfs_dissect_element_dfs_SetInfo_servername(tvb, offset, pinfo, tree, di, drep);
3598 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3599 offset = netdfs_dissect_element_dfs_SetInfo_sharename(tvb, offset, pinfo, tree, di, drep);
3600 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3601 offset = netdfs_dissect_element_dfs_SetInfo_level(tvb, offset, pinfo, tree, di, drep);
3602 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3603 offset = netdfs_dissect_element_dfs_SetInfo_info(tvb, offset, pinfo, tree, di, drep);
3604 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3605 return offset;
3608 static int
3609 netdfs_dissect_element_dfs_GetInfo_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3611 char *data;
3613 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_GetInfo_dfs_entry_path, false, &data);
3614 proto_item_append_text(tree, ": %s", data);
3616 return offset;
3619 static int
3620 netdfs_dissect_element_dfs_GetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3622 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_GetInfo_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_netdfs_dfs_GetInfo_servername);
3624 return offset;
3627 static int
3628 netdfs_dissect_element_dfs_GetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3630 char *data;
3632 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_GetInfo_servername, false, &data);
3633 proto_item_append_text(tree, ": %s", data);
3635 return offset;
3638 static int
3639 netdfs_dissect_element_dfs_GetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3641 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_GetInfo_sharename_, NDR_POINTER_UNIQUE, "Pointer to Sharename (uint16)",hf_netdfs_dfs_GetInfo_sharename);
3643 return offset;
3646 static int
3647 netdfs_dissect_element_dfs_GetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3649 char *data;
3651 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_GetInfo_sharename, false, &data);
3652 proto_item_append_text(tree, ": %s", data);
3654 return offset;
3657 static int
3658 netdfs_dissect_element_dfs_GetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3660 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_GetInfo_level, 0);
3662 return offset;
3665 static int
3666 netdfs_dissect_element_dfs_GetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3668 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_GetInfo_info_, NDR_POINTER_REF, "Pointer to Info (dfs_Info)",hf_netdfs_dfs_GetInfo_info);
3670 return offset;
3673 static int
3674 netdfs_dissect_element_dfs_GetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3676 offset = netdfs_dissect_dfs_Info(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_GetInfo_info, 0);
3678 return offset;
3681 /* IDL: WERROR dfs_GetInfo( */
3682 /* IDL: [charset(UTF16)] [in] uint16 dfs_entry_path[*], */
3683 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
3684 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *sharename, */
3685 /* IDL: [in] uint32 level, */
3686 /* IDL: [out] [ref] [switch_is(level)] dfs_Info *info */
3687 /* IDL: ); */
3689 static int
3690 netdfs_dissect_dfs_GetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3692 uint32_t status;
3694 di->dcerpc_procedure_name="dfs_GetInfo";
3695 offset = netdfs_dissect_element_dfs_GetInfo_info(tvb, offset, pinfo, tree, di, drep);
3696 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3698 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3700 if (status != 0)
3701 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3703 return offset;
3706 static int
3707 netdfs_dissect_dfs_GetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3709 di->dcerpc_procedure_name="dfs_GetInfo";
3710 offset = netdfs_dissect_element_dfs_GetInfo_dfs_entry_path(tvb, offset, pinfo, tree, di, drep);
3711 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3712 offset = netdfs_dissect_element_dfs_GetInfo_servername(tvb, offset, pinfo, tree, di, drep);
3713 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3714 offset = netdfs_dissect_element_dfs_GetInfo_sharename(tvb, offset, pinfo, tree, di, drep);
3715 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3716 offset = netdfs_dissect_element_dfs_GetInfo_level(tvb, offset, pinfo, tree, di, drep);
3717 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3718 return offset;
3721 static int
3722 netdfs_dissect_element_dfs_Enum_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3724 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Enum_level, 0);
3726 return offset;
3729 static int
3730 netdfs_dissect_element_dfs_Enum_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3732 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Enum_bufsize, 0);
3734 return offset;
3737 static int
3738 netdfs_dissect_element_dfs_Enum_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3740 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Enum_info_, NDR_POINTER_UNIQUE, "Pointer to Info (dfs_EnumStruct)",hf_netdfs_dfs_Enum_info);
3742 return offset;
3745 static int
3746 netdfs_dissect_element_dfs_Enum_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3748 offset = netdfs_dissect_struct_dfs_EnumStruct(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Enum_info,0);
3750 return offset;
3753 static int
3754 netdfs_dissect_element_dfs_Enum_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3756 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Enum_total_, NDR_POINTER_UNIQUE, "Pointer to Total (uint32)",hf_netdfs_dfs_Enum_total);
3758 return offset;
3761 static int
3762 netdfs_dissect_element_dfs_Enum_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3764 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Enum_total, 0);
3766 return offset;
3769 /* IDL: WERROR dfs_Enum( */
3770 /* IDL: [in] uint32 level, */
3771 /* IDL: [in] uint32 bufsize, */
3772 /* IDL: [in] [out] [unique(1)] dfs_EnumStruct *info, */
3773 /* IDL: [in] [out] [unique(1)] uint32 *total */
3774 /* IDL: ); */
3776 static int
3777 netdfs_dissect_dfs_Enum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3779 uint32_t status;
3781 di->dcerpc_procedure_name="dfs_Enum";
3782 offset = netdfs_dissect_element_dfs_Enum_info(tvb, offset, pinfo, tree, di, drep);
3783 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3785 offset = netdfs_dissect_element_dfs_Enum_total(tvb, offset, pinfo, tree, di, drep);
3786 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3788 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3790 if (status != 0)
3791 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3793 return offset;
3796 static int
3797 netdfs_dissect_dfs_Enum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3799 di->dcerpc_procedure_name="dfs_Enum";
3800 offset = netdfs_dissect_element_dfs_Enum_level(tvb, offset, pinfo, tree, di, drep);
3801 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3802 offset = netdfs_dissect_element_dfs_Enum_bufsize(tvb, offset, pinfo, tree, di, drep);
3803 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3804 offset = netdfs_dissect_element_dfs_Enum_info(tvb, offset, pinfo, tree, di, drep);
3805 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3806 offset = netdfs_dissect_element_dfs_Enum_total(tvb, offset, pinfo, tree, di, drep);
3807 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3808 return offset;
3811 /* IDL: WERROR dfs_Rename( */
3812 /* IDL: */
3813 /* IDL: ); */
3815 static int
3816 netdfs_dissect_dfs_Rename_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3818 uint32_t status;
3820 di->dcerpc_procedure_name="dfs_Rename";
3821 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3823 if (status != 0)
3824 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3826 return offset;
3829 static int
3830 netdfs_dissect_dfs_Rename_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3832 di->dcerpc_procedure_name="dfs_Rename";
3833 return offset;
3836 /* IDL: WERROR dfs_Move( */
3837 /* IDL: */
3838 /* IDL: ); */
3840 static int
3841 netdfs_dissect_dfs_Move_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3843 uint32_t status;
3845 di->dcerpc_procedure_name="dfs_Move";
3846 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3848 if (status != 0)
3849 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3851 return offset;
3854 static int
3855 netdfs_dissect_dfs_Move_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3857 di->dcerpc_procedure_name="dfs_Move";
3858 return offset;
3861 /* IDL: WERROR dfs_ManagerGetConfigInfo( */
3862 /* IDL: */
3863 /* IDL: ); */
3865 static int
3866 netdfs_dissect_dfs_ManagerGetConfigInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3868 uint32_t status;
3870 di->dcerpc_procedure_name="dfs_ManagerGetConfigInfo";
3871 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3873 if (status != 0)
3874 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3876 return offset;
3879 static int
3880 netdfs_dissect_dfs_ManagerGetConfigInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3882 di->dcerpc_procedure_name="dfs_ManagerGetConfigInfo";
3883 return offset;
3886 /* IDL: WERROR dfs_ManagerSendSiteInfo( */
3887 /* IDL: */
3888 /* IDL: ); */
3890 static int
3891 netdfs_dissect_dfs_ManagerSendSiteInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3893 uint32_t status;
3895 di->dcerpc_procedure_name="dfs_ManagerSendSiteInfo";
3896 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3898 if (status != 0)
3899 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3901 return offset;
3904 static int
3905 netdfs_dissect_dfs_ManagerSendSiteInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3907 di->dcerpc_procedure_name="dfs_ManagerSendSiteInfo";
3908 return offset;
3911 static int
3912 netdfs_dissect_element_dfs_AddFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3914 char *data;
3916 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_servername, false, &data);
3917 proto_item_append_text(tree, ": %s", data);
3919 return offset;
3922 static int
3923 netdfs_dissect_element_dfs_AddFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3925 char *data;
3927 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_dns_servername, false, &data);
3928 proto_item_append_text(tree, ": %s", data);
3930 return offset;
3933 static int
3934 netdfs_dissect_element_dfs_AddFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3936 char *data;
3938 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_dfsname, false, &data);
3939 proto_item_append_text(tree, ": %s", data);
3941 return offset;
3944 static int
3945 netdfs_dissect_element_dfs_AddFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3947 char *data;
3949 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_rootshare, false, &data);
3950 proto_item_append_text(tree, ": %s", data);
3952 return offset;
3955 static int
3956 netdfs_dissect_element_dfs_AddFtRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3958 char *data;
3960 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_comment, false, &data);
3961 proto_item_append_text(tree, ": %s", data);
3963 return offset;
3966 static int
3967 netdfs_dissect_element_dfs_AddFtRoot_dfs_config_dn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3969 char *data;
3971 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_dfs_config_dn, false, &data);
3972 proto_item_append_text(tree, ": %s", data);
3974 return offset;
3977 static int
3978 netdfs_dissect_element_dfs_AddFtRoot_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3980 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_AddFtRoot_unknown1, 0);
3982 return offset;
3985 static int
3986 netdfs_dissect_element_dfs_AddFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3988 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_AddFtRoot_flags, 0);
3990 return offset;
3993 static int
3994 netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3996 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_AddFtRoot_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (dfs_UnknownStruct)",hf_netdfs_dfs_AddFtRoot_unknown2);
3998 return offset;
4001 static int
4002 netdfs_dissect_element_dfs_AddFtRoot_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4004 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_AddFtRoot_unknown2__, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (dfs_UnknownStruct)",hf_netdfs_dfs_AddFtRoot_unknown2);
4006 return offset;
4009 static int
4010 netdfs_dissect_element_dfs_AddFtRoot_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4012 offset = netdfs_dissect_struct_dfs_UnknownStruct(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_AddFtRoot_unknown2,0);
4014 return offset;
4017 /* IDL: WERROR dfs_AddFtRoot( */
4018 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4019 /* IDL: [charset(UTF16)] [in] uint16 dns_servername[*], */
4020 /* IDL: [charset(UTF16)] [in] uint16 dfsname[*], */
4021 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4022 /* IDL: [charset(UTF16)] [in] uint16 comment[*], */
4023 /* IDL: [charset(UTF16)] [in] uint16 dfs_config_dn[*], */
4024 /* IDL: [in] uint8 unknown1, */
4025 /* IDL: [in] uint32 flags, */
4026 /* IDL: [in] [out] [unique(1)] dfs_UnknownStruct **unknown2 */
4027 /* IDL: ); */
4029 static int
4030 netdfs_dissect_dfs_AddFtRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4032 uint32_t status;
4034 di->dcerpc_procedure_name="dfs_AddFtRoot";
4035 offset = netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvb, offset, pinfo, tree, di, drep);
4036 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4038 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4040 if (status != 0)
4041 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4043 return offset;
4046 static int
4047 netdfs_dissect_dfs_AddFtRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4049 di->dcerpc_procedure_name="dfs_AddFtRoot";
4050 offset = netdfs_dissect_element_dfs_AddFtRoot_servername(tvb, offset, pinfo, tree, di, drep);
4051 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4052 offset = netdfs_dissect_element_dfs_AddFtRoot_dns_servername(tvb, offset, pinfo, tree, di, drep);
4053 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4054 offset = netdfs_dissect_element_dfs_AddFtRoot_dfsname(tvb, offset, pinfo, tree, di, drep);
4055 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4056 offset = netdfs_dissect_element_dfs_AddFtRoot_rootshare(tvb, offset, pinfo, tree, di, drep);
4057 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4058 offset = netdfs_dissect_element_dfs_AddFtRoot_comment(tvb, offset, pinfo, tree, di, drep);
4059 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4060 offset = netdfs_dissect_element_dfs_AddFtRoot_dfs_config_dn(tvb, offset, pinfo, tree, di, drep);
4061 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4062 offset = netdfs_dissect_element_dfs_AddFtRoot_unknown1(tvb, offset, pinfo, tree, di, drep);
4063 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4064 offset = netdfs_dissect_element_dfs_AddFtRoot_flags(tvb, offset, pinfo, tree, di, drep);
4065 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4066 offset = netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvb, offset, pinfo, tree, di, drep);
4067 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4068 return offset;
4071 static int
4072 netdfs_dissect_element_dfs_RemoveFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4074 char *data;
4076 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveFtRoot_servername, false, &data);
4077 proto_item_append_text(tree, ": %s", data);
4079 return offset;
4082 static int
4083 netdfs_dissect_element_dfs_RemoveFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4085 char *data;
4087 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveFtRoot_dns_servername, false, &data);
4088 proto_item_append_text(tree, ": %s", data);
4090 return offset;
4093 static int
4094 netdfs_dissect_element_dfs_RemoveFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4096 char *data;
4098 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveFtRoot_dfsname, false, &data);
4099 proto_item_append_text(tree, ": %s", data);
4101 return offset;
4104 static int
4105 netdfs_dissect_element_dfs_RemoveFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4107 char *data;
4109 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveFtRoot_rootshare, false, &data);
4110 proto_item_append_text(tree, ": %s", data);
4112 return offset;
4115 static int
4116 netdfs_dissect_element_dfs_RemoveFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4118 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_RemoveFtRoot_flags, 0);
4120 return offset;
4123 static int
4124 netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4126 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_RemoveFtRoot_unknown_, NDR_POINTER_UNIQUE, "Pointer to Unknown (dfs_UnknownStruct)",hf_netdfs_dfs_RemoveFtRoot_unknown);
4128 return offset;
4131 static int
4132 netdfs_dissect_element_dfs_RemoveFtRoot_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4134 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_RemoveFtRoot_unknown__, NDR_POINTER_UNIQUE, "Pointer to Unknown (dfs_UnknownStruct)",hf_netdfs_dfs_RemoveFtRoot_unknown);
4136 return offset;
4139 static int
4140 netdfs_dissect_element_dfs_RemoveFtRoot_unknown__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4142 offset = netdfs_dissect_struct_dfs_UnknownStruct(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_RemoveFtRoot_unknown,0);
4144 return offset;
4147 /* IDL: WERROR dfs_RemoveFtRoot( */
4148 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4149 /* IDL: [charset(UTF16)] [in] uint16 dns_servername[*], */
4150 /* IDL: [charset(UTF16)] [in] uint16 dfsname[*], */
4151 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4152 /* IDL: [in] uint32 flags, */
4153 /* IDL: [in] [out] [unique(1)] dfs_UnknownStruct **unknown */
4154 /* IDL: ); */
4156 static int
4157 netdfs_dissect_dfs_RemoveFtRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4159 uint32_t status;
4161 di->dcerpc_procedure_name="dfs_RemoveFtRoot";
4162 offset = netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvb, offset, pinfo, tree, di, drep);
4163 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4165 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4167 if (status != 0)
4168 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4170 return offset;
4173 static int
4174 netdfs_dissect_dfs_RemoveFtRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4176 di->dcerpc_procedure_name="dfs_RemoveFtRoot";
4177 offset = netdfs_dissect_element_dfs_RemoveFtRoot_servername(tvb, offset, pinfo, tree, di, drep);
4178 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4179 offset = netdfs_dissect_element_dfs_RemoveFtRoot_dns_servername(tvb, offset, pinfo, tree, di, drep);
4180 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4181 offset = netdfs_dissect_element_dfs_RemoveFtRoot_dfsname(tvb, offset, pinfo, tree, di, drep);
4182 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4183 offset = netdfs_dissect_element_dfs_RemoveFtRoot_rootshare(tvb, offset, pinfo, tree, di, drep);
4184 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4185 offset = netdfs_dissect_element_dfs_RemoveFtRoot_flags(tvb, offset, pinfo, tree, di, drep);
4186 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4187 offset = netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvb, offset, pinfo, tree, di, drep);
4188 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4189 return offset;
4192 static int
4193 netdfs_dissect_element_dfs_AddStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4195 char *data;
4197 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRoot_servername, false, &data);
4198 proto_item_append_text(tree, ": %s", data);
4200 return offset;
4203 static int
4204 netdfs_dissect_element_dfs_AddStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4206 char *data;
4208 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRoot_rootshare, false, &data);
4209 proto_item_append_text(tree, ": %s", data);
4211 return offset;
4214 static int
4215 netdfs_dissect_element_dfs_AddStdRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4217 char *data;
4219 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRoot_comment, false, &data);
4220 proto_item_append_text(tree, ": %s", data);
4222 return offset;
4225 static int
4226 netdfs_dissect_element_dfs_AddStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4228 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_AddStdRoot_flags, 0);
4230 return offset;
4233 /* IDL: WERROR dfs_AddStdRoot( */
4234 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4235 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4236 /* IDL: [charset(UTF16)] [in] uint16 comment[*], */
4237 /* IDL: [in] uint32 flags */
4238 /* IDL: ); */
4240 static int
4241 netdfs_dissect_dfs_AddStdRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4243 uint32_t status;
4245 di->dcerpc_procedure_name="dfs_AddStdRoot";
4246 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4248 if (status != 0)
4249 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4251 return offset;
4254 static int
4255 netdfs_dissect_dfs_AddStdRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4257 di->dcerpc_procedure_name="dfs_AddStdRoot";
4258 offset = netdfs_dissect_element_dfs_AddStdRoot_servername(tvb, offset, pinfo, tree, di, drep);
4259 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4260 offset = netdfs_dissect_element_dfs_AddStdRoot_rootshare(tvb, offset, pinfo, tree, di, drep);
4261 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4262 offset = netdfs_dissect_element_dfs_AddStdRoot_comment(tvb, offset, pinfo, tree, di, drep);
4263 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4264 offset = netdfs_dissect_element_dfs_AddStdRoot_flags(tvb, offset, pinfo, tree, di, drep);
4265 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4266 return offset;
4269 static int
4270 netdfs_dissect_element_dfs_RemoveStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4272 char *data;
4274 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveStdRoot_servername, false, &data);
4275 proto_item_append_text(tree, ": %s", data);
4277 return offset;
4280 static int
4281 netdfs_dissect_element_dfs_RemoveStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4283 char *data;
4285 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveStdRoot_rootshare, false, &data);
4286 proto_item_append_text(tree, ": %s", data);
4288 return offset;
4291 static int
4292 netdfs_dissect_element_dfs_RemoveStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4294 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_RemoveStdRoot_flags, 0);
4296 return offset;
4299 /* IDL: WERROR dfs_RemoveStdRoot( */
4300 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4301 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4302 /* IDL: [in] uint32 flags */
4303 /* IDL: ); */
4305 static int
4306 netdfs_dissect_dfs_RemoveStdRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4308 uint32_t status;
4310 di->dcerpc_procedure_name="dfs_RemoveStdRoot";
4311 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4313 if (status != 0)
4314 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4316 return offset;
4319 static int
4320 netdfs_dissect_dfs_RemoveStdRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4322 di->dcerpc_procedure_name="dfs_RemoveStdRoot";
4323 offset = netdfs_dissect_element_dfs_RemoveStdRoot_servername(tvb, offset, pinfo, tree, di, drep);
4324 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4325 offset = netdfs_dissect_element_dfs_RemoveStdRoot_rootshare(tvb, offset, pinfo, tree, di, drep);
4326 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4327 offset = netdfs_dissect_element_dfs_RemoveStdRoot_flags(tvb, offset, pinfo, tree, di, drep);
4328 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4329 return offset;
4332 static int
4333 netdfs_dissect_element_dfs_ManagerInitialize_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4335 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_ManagerInitialize_servername_, NDR_POINTER_REF, "Pointer to Servername (uint16)",hf_netdfs_dfs_ManagerInitialize_servername);
4337 return offset;
4340 static int
4341 netdfs_dissect_element_dfs_ManagerInitialize_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4343 char *data;
4345 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_ManagerInitialize_servername, false, &data);
4346 proto_item_append_text(tree, ": %s", data);
4348 return offset;
4351 static int
4352 netdfs_dissect_element_dfs_ManagerInitialize_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4354 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_ManagerInitialize_flags, 0);
4356 return offset;
4359 /* IDL: WERROR dfs_ManagerInitialize( */
4360 /* IDL: [charset(UTF16)] [in] [ref] uint16 *servername, */
4361 /* IDL: [in] uint32 flags */
4362 /* IDL: ); */
4364 static int
4365 netdfs_dissect_dfs_ManagerInitialize_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4367 uint32_t status;
4369 di->dcerpc_procedure_name="dfs_ManagerInitialize";
4370 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4372 if (status != 0)
4373 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4375 return offset;
4378 static int
4379 netdfs_dissect_dfs_ManagerInitialize_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4381 di->dcerpc_procedure_name="dfs_ManagerInitialize";
4382 offset = netdfs_dissect_element_dfs_ManagerInitialize_servername(tvb, offset, pinfo, tree, di, drep);
4383 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4384 offset = netdfs_dissect_element_dfs_ManagerInitialize_flags(tvb, offset, pinfo, tree, di, drep);
4385 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4386 return offset;
4389 static int
4390 netdfs_dissect_element_dfs_AddStdRootForced_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4392 char *data;
4394 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRootForced_servername, false, &data);
4395 proto_item_append_text(tree, ": %s", data);
4397 return offset;
4400 static int
4401 netdfs_dissect_element_dfs_AddStdRootForced_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4403 char *data;
4405 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRootForced_rootshare, false, &data);
4406 proto_item_append_text(tree, ": %s", data);
4408 return offset;
4411 static int
4412 netdfs_dissect_element_dfs_AddStdRootForced_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4414 char *data;
4416 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRootForced_comment, false, &data);
4417 proto_item_append_text(tree, ": %s", data);
4419 return offset;
4422 static int
4423 netdfs_dissect_element_dfs_AddStdRootForced_store(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4425 char *data;
4427 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRootForced_store, false, &data);
4428 proto_item_append_text(tree, ": %s", data);
4430 return offset;
4433 /* IDL: WERROR dfs_AddStdRootForced( */
4434 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4435 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4436 /* IDL: [charset(UTF16)] [in] uint16 comment[*], */
4437 /* IDL: [charset(UTF16)] [in] uint16 store[*] */
4438 /* IDL: ); */
4440 static int
4441 netdfs_dissect_dfs_AddStdRootForced_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4443 uint32_t status;
4445 di->dcerpc_procedure_name="dfs_AddStdRootForced";
4446 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4448 if (status != 0)
4449 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4451 return offset;
4454 static int
4455 netdfs_dissect_dfs_AddStdRootForced_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4457 di->dcerpc_procedure_name="dfs_AddStdRootForced";
4458 offset = netdfs_dissect_element_dfs_AddStdRootForced_servername(tvb, offset, pinfo, tree, di, drep);
4459 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4460 offset = netdfs_dissect_element_dfs_AddStdRootForced_rootshare(tvb, offset, pinfo, tree, di, drep);
4461 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4462 offset = netdfs_dissect_element_dfs_AddStdRootForced_comment(tvb, offset, pinfo, tree, di, drep);
4463 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4464 offset = netdfs_dissect_element_dfs_AddStdRootForced_store(tvb, offset, pinfo, tree, di, drep);
4465 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4466 return offset;
4469 /* IDL: WERROR dfs_GetDcAddress( */
4470 /* IDL: */
4471 /* IDL: ); */
4473 static int
4474 netdfs_dissect_dfs_GetDcAddress_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4476 uint32_t status;
4478 di->dcerpc_procedure_name="dfs_GetDcAddress";
4479 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4481 if (status != 0)
4482 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4484 return offset;
4487 static int
4488 netdfs_dissect_dfs_GetDcAddress_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4490 di->dcerpc_procedure_name="dfs_GetDcAddress";
4491 return offset;
4494 /* IDL: WERROR dfs_SetDcAddress( */
4495 /* IDL: */
4496 /* IDL: ); */
4498 static int
4499 netdfs_dissect_dfs_SetDcAddress_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4501 uint32_t status;
4503 di->dcerpc_procedure_name="dfs_SetDcAddress";
4504 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4506 if (status != 0)
4507 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4509 return offset;
4512 static int
4513 netdfs_dissect_dfs_SetDcAddress_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4515 di->dcerpc_procedure_name="dfs_SetDcAddress";
4516 return offset;
4519 static int
4520 netdfs_dissect_element_dfs_FlushFtTable_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4522 char *data;
4524 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_FlushFtTable_servername, false, &data);
4525 proto_item_append_text(tree, ": %s", data);
4527 return offset;
4530 static int
4531 netdfs_dissect_element_dfs_FlushFtTable_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4533 char *data;
4535 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_FlushFtTable_rootshare, false, &data);
4536 proto_item_append_text(tree, ": %s", data);
4538 return offset;
4541 /* IDL: WERROR dfs_FlushFtTable( */
4542 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4543 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*] */
4544 /* IDL: ); */
4546 static int
4547 netdfs_dissect_dfs_FlushFtTable_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4549 uint32_t status;
4551 di->dcerpc_procedure_name="dfs_FlushFtTable";
4552 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4554 if (status != 0)
4555 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4557 return offset;
4560 static int
4561 netdfs_dissect_dfs_FlushFtTable_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4563 di->dcerpc_procedure_name="dfs_FlushFtTable";
4564 offset = netdfs_dissect_element_dfs_FlushFtTable_servername(tvb, offset, pinfo, tree, di, drep);
4565 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4566 offset = netdfs_dissect_element_dfs_FlushFtTable_rootshare(tvb, offset, pinfo, tree, di, drep);
4567 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4568 return offset;
4571 /* IDL: WERROR dfs_Add2( */
4572 /* IDL: */
4573 /* IDL: ); */
4575 static int
4576 netdfs_dissect_dfs_Add2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4578 uint32_t status;
4580 di->dcerpc_procedure_name="dfs_Add2";
4581 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4583 if (status != 0)
4584 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4586 return offset;
4589 static int
4590 netdfs_dissect_dfs_Add2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4592 di->dcerpc_procedure_name="dfs_Add2";
4593 return offset;
4596 /* IDL: WERROR dfs_Remove2( */
4597 /* IDL: */
4598 /* IDL: ); */
4600 static int
4601 netdfs_dissect_dfs_Remove2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4603 uint32_t status;
4605 di->dcerpc_procedure_name="dfs_Remove2";
4606 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4608 if (status != 0)
4609 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4611 return offset;
4614 static int
4615 netdfs_dissect_dfs_Remove2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4617 di->dcerpc_procedure_name="dfs_Remove2";
4618 return offset;
4621 static int
4622 netdfs_dissect_element_dfs_EnumEx_dfs_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4624 char *data;
4626 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_EnumEx_dfs_name, false, &data);
4627 proto_item_append_text(tree, ": %s", data);
4629 return offset;
4632 static int
4633 netdfs_dissect_element_dfs_EnumEx_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4635 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumEx_level, 0);
4637 return offset;
4640 static int
4641 netdfs_dissect_element_dfs_EnumEx_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4643 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumEx_bufsize, 0);
4645 return offset;
4648 static int
4649 netdfs_dissect_element_dfs_EnumEx_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4651 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumEx_info_, NDR_POINTER_UNIQUE, "Pointer to Info (dfs_EnumStruct)",hf_netdfs_dfs_EnumEx_info);
4653 return offset;
4656 static int
4657 netdfs_dissect_element_dfs_EnumEx_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4659 offset = netdfs_dissect_struct_dfs_EnumStruct(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumEx_info,0);
4661 return offset;
4664 static int
4665 netdfs_dissect_element_dfs_EnumEx_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4667 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumEx_total_, NDR_POINTER_UNIQUE, "Pointer to Total (uint32)",hf_netdfs_dfs_EnumEx_total);
4669 return offset;
4672 static int
4673 netdfs_dissect_element_dfs_EnumEx_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4675 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumEx_total, 0);
4677 return offset;
4680 /* IDL: WERROR dfs_EnumEx( */
4681 /* IDL: [charset(UTF16)] [in] uint16 dfs_name[*], */
4682 /* IDL: [in] uint32 level, */
4683 /* IDL: [in] uint32 bufsize, */
4684 /* IDL: [in] [out] [unique(1)] dfs_EnumStruct *info, */
4685 /* IDL: [in] [out] [unique(1)] uint32 *total */
4686 /* IDL: ); */
4688 static int
4689 netdfs_dissect_dfs_EnumEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4691 uint32_t status;
4693 di->dcerpc_procedure_name="dfs_EnumEx";
4694 offset = netdfs_dissect_element_dfs_EnumEx_info(tvb, offset, pinfo, tree, di, drep);
4695 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4697 offset = netdfs_dissect_element_dfs_EnumEx_total(tvb, offset, pinfo, tree, di, drep);
4698 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4700 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4702 if (status != 0)
4703 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4705 return offset;
4708 static int
4709 netdfs_dissect_dfs_EnumEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4711 di->dcerpc_procedure_name="dfs_EnumEx";
4712 offset = netdfs_dissect_element_dfs_EnumEx_dfs_name(tvb, offset, pinfo, tree, di, drep);
4713 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4714 offset = netdfs_dissect_element_dfs_EnumEx_level(tvb, offset, pinfo, tree, di, drep);
4715 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4716 offset = netdfs_dissect_element_dfs_EnumEx_bufsize(tvb, offset, pinfo, tree, di, drep);
4717 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4718 offset = netdfs_dissect_element_dfs_EnumEx_info(tvb, offset, pinfo, tree, di, drep);
4719 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4720 offset = netdfs_dissect_element_dfs_EnumEx_total(tvb, offset, pinfo, tree, di, drep);
4721 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4722 return offset;
4725 /* IDL: WERROR dfs_SetInfo2( */
4726 /* IDL: */
4727 /* IDL: ); */
4729 static int
4730 netdfs_dissect_dfs_SetInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4732 uint32_t status;
4734 di->dcerpc_procedure_name="dfs_SetInfo2";
4735 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4737 if (status != 0)
4738 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4740 return offset;
4743 static int
4744 netdfs_dissect_dfs_SetInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4746 di->dcerpc_procedure_name="dfs_SetInfo2";
4747 return offset;
4751 static const dcerpc_sub_dissector netdfs_dissectors[] = {
4752 { 0, "dfs_GetManagerVersion",
4753 netdfs_dissect_dfs_GetManagerVersion_request, netdfs_dissect_dfs_GetManagerVersion_response},
4754 { 1, "dfs_Add",
4755 netdfs_dissect_dfs_Add_request, netdfs_dissect_dfs_Add_response},
4756 { 2, "dfs_Remove",
4757 netdfs_dissect_dfs_Remove_request, netdfs_dissect_dfs_Remove_response},
4758 { 3, "dfs_SetInfo",
4759 netdfs_dissect_dfs_SetInfo_request, netdfs_dissect_dfs_SetInfo_response},
4760 { 4, "dfs_GetInfo",
4761 netdfs_dissect_dfs_GetInfo_request, netdfs_dissect_dfs_GetInfo_response},
4762 { 5, "dfs_Enum",
4763 netdfs_dissect_dfs_Enum_request, netdfs_dissect_dfs_Enum_response},
4764 { 6, "dfs_Rename",
4765 netdfs_dissect_dfs_Rename_request, netdfs_dissect_dfs_Rename_response},
4766 { 7, "dfs_Move",
4767 netdfs_dissect_dfs_Move_request, netdfs_dissect_dfs_Move_response},
4768 { 8, "dfs_ManagerGetConfigInfo",
4769 netdfs_dissect_dfs_ManagerGetConfigInfo_request, netdfs_dissect_dfs_ManagerGetConfigInfo_response},
4770 { 9, "dfs_ManagerSendSiteInfo",
4771 netdfs_dissect_dfs_ManagerSendSiteInfo_request, netdfs_dissect_dfs_ManagerSendSiteInfo_response},
4772 { 10, "dfs_AddFtRoot",
4773 netdfs_dissect_dfs_AddFtRoot_request, netdfs_dissect_dfs_AddFtRoot_response},
4774 { 11, "dfs_RemoveFtRoot",
4775 netdfs_dissect_dfs_RemoveFtRoot_request, netdfs_dissect_dfs_RemoveFtRoot_response},
4776 { 12, "dfs_AddStdRoot",
4777 netdfs_dissect_dfs_AddStdRoot_request, netdfs_dissect_dfs_AddStdRoot_response},
4778 { 13, "dfs_RemoveStdRoot",
4779 netdfs_dissect_dfs_RemoveStdRoot_request, netdfs_dissect_dfs_RemoveStdRoot_response},
4780 { 14, "dfs_ManagerInitialize",
4781 netdfs_dissect_dfs_ManagerInitialize_request, netdfs_dissect_dfs_ManagerInitialize_response},
4782 { 15, "dfs_AddStdRootForced",
4783 netdfs_dissect_dfs_AddStdRootForced_request, netdfs_dissect_dfs_AddStdRootForced_response},
4784 { 16, "dfs_GetDcAddress",
4785 netdfs_dissect_dfs_GetDcAddress_request, netdfs_dissect_dfs_GetDcAddress_response},
4786 { 17, "dfs_SetDcAddress",
4787 netdfs_dissect_dfs_SetDcAddress_request, netdfs_dissect_dfs_SetDcAddress_response},
4788 { 18, "dfs_FlushFtTable",
4789 netdfs_dissect_dfs_FlushFtTable_request, netdfs_dissect_dfs_FlushFtTable_response},
4790 { 19, "dfs_Add2",
4791 netdfs_dissect_dfs_Add2_request, netdfs_dissect_dfs_Add2_response},
4792 { 20, "dfs_Remove2",
4793 netdfs_dissect_dfs_Remove2_request, netdfs_dissect_dfs_Remove2_response},
4794 { 21, "dfs_EnumEx",
4795 netdfs_dissect_dfs_EnumEx_request, netdfs_dissect_dfs_EnumEx_response},
4796 { 22, "dfs_SetInfo2",
4797 netdfs_dissect_dfs_SetInfo2_request, netdfs_dissect_dfs_SetInfo2_response},
4798 { 0, NULL, NULL, NULL }
4801 void proto_register_dcerpc_netdfs(void)
4803 static hf_register_info hf[] = {
4804 { &hf_netdfs_dfs_AddFtRoot_comment,
4805 { "Comment", "netdfs.dfs_AddFtRoot.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4806 { &hf_netdfs_dfs_AddFtRoot_dfs_config_dn,
4807 { "Dfs Config Dn", "netdfs.dfs_AddFtRoot.dfs_config_dn", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4808 { &hf_netdfs_dfs_AddFtRoot_dfsname,
4809 { "Dfsname", "netdfs.dfs_AddFtRoot.dfsname", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4810 { &hf_netdfs_dfs_AddFtRoot_dns_servername,
4811 { "Dns Servername", "netdfs.dfs_AddFtRoot.dns_servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4812 { &hf_netdfs_dfs_AddFtRoot_flags,
4813 { "Flags", "netdfs.dfs_AddFtRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4814 { &hf_netdfs_dfs_AddFtRoot_rootshare,
4815 { "Rootshare", "netdfs.dfs_AddFtRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4816 { &hf_netdfs_dfs_AddFtRoot_servername,
4817 { "Servername", "netdfs.dfs_AddFtRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4818 { &hf_netdfs_dfs_AddFtRoot_unknown1,
4819 { "Unknown1", "netdfs.dfs_AddFtRoot.unknown1", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
4820 { &hf_netdfs_dfs_AddFtRoot_unknown2,
4821 { "Unknown2", "netdfs.dfs_AddFtRoot.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4822 { &hf_netdfs_dfs_AddStdRootForced_comment,
4823 { "Comment", "netdfs.dfs_AddStdRootForced.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4824 { &hf_netdfs_dfs_AddStdRootForced_rootshare,
4825 { "Rootshare", "netdfs.dfs_AddStdRootForced.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4826 { &hf_netdfs_dfs_AddStdRootForced_servername,
4827 { "Servername", "netdfs.dfs_AddStdRootForced.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4828 { &hf_netdfs_dfs_AddStdRootForced_store,
4829 { "Store", "netdfs.dfs_AddStdRootForced.store", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4830 { &hf_netdfs_dfs_AddStdRoot_comment,
4831 { "Comment", "netdfs.dfs_AddStdRoot.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4832 { &hf_netdfs_dfs_AddStdRoot_flags,
4833 { "Flags", "netdfs.dfs_AddStdRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4834 { &hf_netdfs_dfs_AddStdRoot_rootshare,
4835 { "Rootshare", "netdfs.dfs_AddStdRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4836 { &hf_netdfs_dfs_AddStdRoot_servername,
4837 { "Servername", "netdfs.dfs_AddStdRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4838 { &hf_netdfs_dfs_Add_comment,
4839 { "Comment", "netdfs.dfs_Add.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4840 { &hf_netdfs_dfs_Add_flags,
4841 { "Flags", "netdfs.dfs_Add.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4842 { &hf_netdfs_dfs_Add_path,
4843 { "Path", "netdfs.dfs_Add.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4844 { &hf_netdfs_dfs_Add_server,
4845 { "Server", "netdfs.dfs_Add.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4846 { &hf_netdfs_dfs_Add_share,
4847 { "Share", "netdfs.dfs_Add.share", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4848 { &hf_netdfs_dfs_EnumArray1_count,
4849 { "Count", "netdfs.dfs_EnumArray1.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4850 { &hf_netdfs_dfs_EnumArray1_s,
4851 { "S", "netdfs.dfs_EnumArray1.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4852 { &hf_netdfs_dfs_EnumArray200_count,
4853 { "Count", "netdfs.dfs_EnumArray200.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4854 { &hf_netdfs_dfs_EnumArray200_s,
4855 { "S", "netdfs.dfs_EnumArray200.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4856 { &hf_netdfs_dfs_EnumArray2_count,
4857 { "Count", "netdfs.dfs_EnumArray2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4858 { &hf_netdfs_dfs_EnumArray2_s,
4859 { "S", "netdfs.dfs_EnumArray2.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4860 { &hf_netdfs_dfs_EnumArray300_count,
4861 { "Count", "netdfs.dfs_EnumArray300.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4862 { &hf_netdfs_dfs_EnumArray300_s,
4863 { "S", "netdfs.dfs_EnumArray300.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4864 { &hf_netdfs_dfs_EnumArray3_count,
4865 { "Count", "netdfs.dfs_EnumArray3.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4866 { &hf_netdfs_dfs_EnumArray3_s,
4867 { "S", "netdfs.dfs_EnumArray3.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4868 { &hf_netdfs_dfs_EnumArray4_count,
4869 { "Count", "netdfs.dfs_EnumArray4.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4870 { &hf_netdfs_dfs_EnumArray4_s,
4871 { "S", "netdfs.dfs_EnumArray4.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4872 { &hf_netdfs_dfs_EnumEx_bufsize,
4873 { "Bufsize", "netdfs.dfs_EnumEx.bufsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4874 { &hf_netdfs_dfs_EnumEx_dfs_name,
4875 { "Dfs Name", "netdfs.dfs_EnumEx.dfs_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4876 { &hf_netdfs_dfs_EnumEx_info,
4877 { "Info", "netdfs.dfs_EnumEx.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4878 { &hf_netdfs_dfs_EnumEx_level,
4879 { "Level", "netdfs.dfs_EnumEx.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4880 { &hf_netdfs_dfs_EnumEx_total,
4881 { "Total", "netdfs.dfs_EnumEx.total", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4882 { &hf_netdfs_dfs_EnumInfo_info1,
4883 { "Info1", "netdfs.dfs_EnumInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4884 { &hf_netdfs_dfs_EnumInfo_info2,
4885 { "Info2", "netdfs.dfs_EnumInfo.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4886 { &hf_netdfs_dfs_EnumInfo_info200,
4887 { "Info200", "netdfs.dfs_EnumInfo.info200", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4888 { &hf_netdfs_dfs_EnumInfo_info3,
4889 { "Info3", "netdfs.dfs_EnumInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4890 { &hf_netdfs_dfs_EnumInfo_info300,
4891 { "Info300", "netdfs.dfs_EnumInfo.info300", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4892 { &hf_netdfs_dfs_EnumInfo_info4,
4893 { "Info4", "netdfs.dfs_EnumInfo.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4894 { &hf_netdfs_dfs_EnumStruct_e,
4895 { "E", "netdfs.dfs_EnumStruct.e", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4896 { &hf_netdfs_dfs_EnumStruct_level,
4897 { "Level", "netdfs.dfs_EnumStruct.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4898 { &hf_netdfs_dfs_Enum_bufsize,
4899 { "Bufsize", "netdfs.dfs_Enum.bufsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4900 { &hf_netdfs_dfs_Enum_info,
4901 { "Info", "netdfs.dfs_Enum.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4902 { &hf_netdfs_dfs_Enum_level,
4903 { "Level", "netdfs.dfs_Enum.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4904 { &hf_netdfs_dfs_Enum_total,
4905 { "Total", "netdfs.dfs_Enum.total", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4906 { &hf_netdfs_dfs_FlushFtTable_rootshare,
4907 { "Rootshare", "netdfs.dfs_FlushFtTable.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4908 { &hf_netdfs_dfs_FlushFtTable_servername,
4909 { "Servername", "netdfs.dfs_FlushFtTable.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4910 { &hf_netdfs_dfs_GetInfo_dfs_entry_path,
4911 { "Dfs Entry Path", "netdfs.dfs_GetInfo.dfs_entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4912 { &hf_netdfs_dfs_GetInfo_info,
4913 { "Info", "netdfs.dfs_GetInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4914 { &hf_netdfs_dfs_GetInfo_level,
4915 { "Level", "netdfs.dfs_GetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4916 { &hf_netdfs_dfs_GetInfo_servername,
4917 { "Servername", "netdfs.dfs_GetInfo.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4918 { &hf_netdfs_dfs_GetInfo_sharename,
4919 { "Sharename", "netdfs.dfs_GetInfo.sharename", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4920 { &hf_netdfs_dfs_GetManagerVersion_version,
4921 { "Version", "netdfs.dfs_GetManagerVersion.version", FT_UINT32, BASE_DEC, VALS(netdfs_dfs_ManagerVersion_vals), 0, NULL, HFILL }},
4922 { &hf_netdfs_dfs_Info100_comment,
4923 { "Comment", "netdfs.dfs_Info100.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4924 { &hf_netdfs_dfs_Info101_state,
4925 { "State", "netdfs.dfs_Info101.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4926 { &hf_netdfs_dfs_Info102_timeout,
4927 { "Timeout", "netdfs.dfs_Info102.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4928 { &hf_netdfs_dfs_Info103_flags,
4929 { "Flags", "netdfs.dfs_Info103.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4930 { &hf_netdfs_dfs_Info104_priority,
4931 { "Priority", "netdfs.dfs_Info104.priority", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4932 { &hf_netdfs_dfs_Info105_comment,
4933 { "Comment", "netdfs.dfs_Info105.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4934 { &hf_netdfs_dfs_Info105_property_flag_mask,
4935 { "Property Flag Mask", "netdfs.dfs_Info105.property_flag_mask", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4936 { &hf_netdfs_dfs_Info105_property_flags,
4937 { "Property Flags", "netdfs.dfs_Info105.property_flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4938 { &hf_netdfs_dfs_Info105_state,
4939 { "State", "netdfs.dfs_Info105.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4940 { &hf_netdfs_dfs_Info105_timeout,
4941 { "Timeout", "netdfs.dfs_Info105.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4942 { &hf_netdfs_dfs_Info106_priority,
4943 { "Priority", "netdfs.dfs_Info106.priority", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4944 { &hf_netdfs_dfs_Info106_state,
4945 { "State", "netdfs.dfs_Info106.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4946 { &hf_netdfs_dfs_Info1_path,
4947 { "Path", "netdfs.dfs_Info1.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4948 { &hf_netdfs_dfs_Info200_dom_root,
4949 { "Dom Root", "netdfs.dfs_Info200.dom_root", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4950 { &hf_netdfs_dfs_Info2_comment,
4951 { "Comment", "netdfs.dfs_Info2.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4952 { &hf_netdfs_dfs_Info2_num_stores,
4953 { "Num Stores", "netdfs.dfs_Info2.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4954 { &hf_netdfs_dfs_Info2_path,
4955 { "Path", "netdfs.dfs_Info2.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4956 { &hf_netdfs_dfs_Info2_state,
4957 { "State", "netdfs.dfs_Info2.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4958 { &hf_netdfs_dfs_Info300_dom_root,
4959 { "Dom Root", "netdfs.dfs_Info300.dom_root", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4960 { &hf_netdfs_dfs_Info300_flavor,
4961 { "Flavor", "netdfs.dfs_Info300.flavor", FT_UINT1632, BASE_DEC, VALS(netdfs_dfs_VolumeFlavor_vals), 0, NULL, HFILL }},
4962 { &hf_netdfs_dfs_Info3_comment,
4963 { "Comment", "netdfs.dfs_Info3.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4964 { &hf_netdfs_dfs_Info3_num_stores,
4965 { "Num Stores", "netdfs.dfs_Info3.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4966 { &hf_netdfs_dfs_Info3_path,
4967 { "Path", "netdfs.dfs_Info3.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4968 { &hf_netdfs_dfs_Info3_state,
4969 { "State", "netdfs.dfs_Info3.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4970 { &hf_netdfs_dfs_Info3_stores,
4971 { "Stores", "netdfs.dfs_Info3.stores", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4972 { &hf_netdfs_dfs_Info4_comment,
4973 { "Comment", "netdfs.dfs_Info4.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4974 { &hf_netdfs_dfs_Info4_guid,
4975 { "Guid", "netdfs.dfs_Info4.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
4976 { &hf_netdfs_dfs_Info4_num_stores,
4977 { "Num Stores", "netdfs.dfs_Info4.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4978 { &hf_netdfs_dfs_Info4_path,
4979 { "Path", "netdfs.dfs_Info4.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4980 { &hf_netdfs_dfs_Info4_state,
4981 { "State", "netdfs.dfs_Info4.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4982 { &hf_netdfs_dfs_Info4_stores,
4983 { "Stores", "netdfs.dfs_Info4.stores", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4984 { &hf_netdfs_dfs_Info4_timeout,
4985 { "Timeout", "netdfs.dfs_Info4.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4986 { &hf_netdfs_dfs_Info5_comment,
4987 { "Comment", "netdfs.dfs_Info5.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4988 { &hf_netdfs_dfs_Info5_flags,
4989 { "Flags", "netdfs.dfs_Info5.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4990 { &hf_netdfs_dfs_Info5_guid,
4991 { "Guid", "netdfs.dfs_Info5.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
4992 { &hf_netdfs_dfs_Info5_num_stores,
4993 { "Num Stores", "netdfs.dfs_Info5.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4994 { &hf_netdfs_dfs_Info5_path,
4995 { "Path", "netdfs.dfs_Info5.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4996 { &hf_netdfs_dfs_Info5_pktsize,
4997 { "Pktsize", "netdfs.dfs_Info5.pktsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4998 { &hf_netdfs_dfs_Info5_state,
4999 { "State", "netdfs.dfs_Info5.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5000 { &hf_netdfs_dfs_Info5_timeout,
5001 { "Timeout", "netdfs.dfs_Info5.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5002 { &hf_netdfs_dfs_Info6_comment,
5003 { "Comment", "netdfs.dfs_Info6.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5004 { &hf_netdfs_dfs_Info6_entry_path,
5005 { "Entry Path", "netdfs.dfs_Info6.entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5006 { &hf_netdfs_dfs_Info6_flags,
5007 { "Flags", "netdfs.dfs_Info6.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5008 { &hf_netdfs_dfs_Info6_guid,
5009 { "Guid", "netdfs.dfs_Info6.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
5010 { &hf_netdfs_dfs_Info6_num_stores,
5011 { "Num Stores", "netdfs.dfs_Info6.num_stores", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
5012 { &hf_netdfs_dfs_Info6_pktsize,
5013 { "Pktsize", "netdfs.dfs_Info6.pktsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5014 { &hf_netdfs_dfs_Info6_state,
5015 { "State", "netdfs.dfs_Info6.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5016 { &hf_netdfs_dfs_Info6_stores,
5017 { "Stores", "netdfs.dfs_Info6.stores", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5018 { &hf_netdfs_dfs_Info6_timeout,
5019 { "Timeout", "netdfs.dfs_Info6.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5020 { &hf_netdfs_dfs_Info7_generation_guid,
5021 { "Generation Guid", "netdfs.dfs_Info7.generation_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
5022 { &hf_netdfs_dfs_Info_info0,
5023 { "Info0", "netdfs.dfs_Info.info0", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5024 { &hf_netdfs_dfs_Info_info1,
5025 { "Info1", "netdfs.dfs_Info.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5026 { &hf_netdfs_dfs_Info_info100,
5027 { "Info100", "netdfs.dfs_Info.info100", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5028 { &hf_netdfs_dfs_Info_info101,
5029 { "Info101", "netdfs.dfs_Info.info101", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5030 { &hf_netdfs_dfs_Info_info102,
5031 { "Info102", "netdfs.dfs_Info.info102", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5032 { &hf_netdfs_dfs_Info_info103,
5033 { "Info103", "netdfs.dfs_Info.info103", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5034 { &hf_netdfs_dfs_Info_info104,
5035 { "Info104", "netdfs.dfs_Info.info104", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5036 { &hf_netdfs_dfs_Info_info105,
5037 { "Info105", "netdfs.dfs_Info.info105", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5038 { &hf_netdfs_dfs_Info_info106,
5039 { "Info106", "netdfs.dfs_Info.info106", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5040 { &hf_netdfs_dfs_Info_info2,
5041 { "Info2", "netdfs.dfs_Info.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5042 { &hf_netdfs_dfs_Info_info3,
5043 { "Info3", "netdfs.dfs_Info.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5044 { &hf_netdfs_dfs_Info_info4,
5045 { "Info4", "netdfs.dfs_Info.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5046 { &hf_netdfs_dfs_Info_info5,
5047 { "Info5", "netdfs.dfs_Info.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5048 { &hf_netdfs_dfs_Info_info6,
5049 { "Info6", "netdfs.dfs_Info.info6", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5050 { &hf_netdfs_dfs_Info_info7,
5051 { "Info7", "netdfs.dfs_Info.info7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5052 { &hf_netdfs_dfs_ManagerInitialize_flags,
5053 { "Flags", "netdfs.dfs_ManagerInitialize.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5054 { &hf_netdfs_dfs_ManagerInitialize_servername,
5055 { "Servername", "netdfs.dfs_ManagerInitialize.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5056 { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED,
5057 { "DFS PROPERTY FLAG CLUSTER ENABLED", "netdfs.dfs_PropertyFlags.DFS_PROPERTY_FLAG_CLUSTER_ENABLED", FT_BOOLEAN, 32, TFS(&dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED_tfs), ( 0x00000010 ), NULL, HFILL }},
5058 { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS,
5059 { "DFS PROPERTY FLAG INSITE REFERRALS", "netdfs.dfs_PropertyFlags.DFS_PROPERTY_FLAG_INSITE_REFERRALS", FT_BOOLEAN, 32, TFS(&dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS_tfs), ( 0x00000001 ), NULL, HFILL }},
5060 { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY,
5061 { "DFS PROPERTY FLAG ROOT SCALABILITY", "netdfs.dfs_PropertyFlags.DFS_PROPERTY_FLAG_ROOT_SCALABILITY", FT_BOOLEAN, 32, TFS(&dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY_tfs), ( 0x00000002 ), NULL, HFILL }},
5062 { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING,
5063 { "DFS PROPERTY FLAG SITE COSTING", "netdfs.dfs_PropertyFlags.DFS_PROPERTY_FLAG_SITE_COSTING", FT_BOOLEAN, 32, TFS(&dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING_tfs), ( 0x00000004 ), NULL, HFILL }},
5064 { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK,
5065 { "DFS PROPERTY FLAG TARGET FAILBACK", "netdfs.dfs_PropertyFlags.DFS_PROPERTY_FLAG_TARGET_FAILBACK", FT_BOOLEAN, 32, TFS(&dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK_tfs), ( 0x00000008 ), NULL, HFILL }},
5066 { &hf_netdfs_dfs_RemoveFtRoot_dfsname,
5067 { "Dfsname", "netdfs.dfs_RemoveFtRoot.dfsname", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5068 { &hf_netdfs_dfs_RemoveFtRoot_dns_servername,
5069 { "Dns Servername", "netdfs.dfs_RemoveFtRoot.dns_servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5070 { &hf_netdfs_dfs_RemoveFtRoot_flags,
5071 { "Flags", "netdfs.dfs_RemoveFtRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5072 { &hf_netdfs_dfs_RemoveFtRoot_rootshare,
5073 { "Rootshare", "netdfs.dfs_RemoveFtRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5074 { &hf_netdfs_dfs_RemoveFtRoot_servername,
5075 { "Servername", "netdfs.dfs_RemoveFtRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5076 { &hf_netdfs_dfs_RemoveFtRoot_unknown,
5077 { "Unknown", "netdfs.dfs_RemoveFtRoot.unknown", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5078 { &hf_netdfs_dfs_RemoveStdRoot_flags,
5079 { "Flags", "netdfs.dfs_RemoveStdRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5080 { &hf_netdfs_dfs_RemoveStdRoot_rootshare,
5081 { "Rootshare", "netdfs.dfs_RemoveStdRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5082 { &hf_netdfs_dfs_RemoveStdRoot_servername,
5083 { "Servername", "netdfs.dfs_RemoveStdRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5084 { &hf_netdfs_dfs_Remove_dfs_entry_path,
5085 { "Dfs Entry Path", "netdfs.dfs_Remove.dfs_entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5086 { &hf_netdfs_dfs_Remove_servername,
5087 { "Servername", "netdfs.dfs_Remove.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5088 { &hf_netdfs_dfs_Remove_sharename,
5089 { "Sharename", "netdfs.dfs_Remove.sharename", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5090 { &hf_netdfs_dfs_SetInfo_dfs_entry_path,
5091 { "Dfs Entry Path", "netdfs.dfs_SetInfo.dfs_entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5092 { &hf_netdfs_dfs_SetInfo_info,
5093 { "Info", "netdfs.dfs_SetInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5094 { &hf_netdfs_dfs_SetInfo_level,
5095 { "Level", "netdfs.dfs_SetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5096 { &hf_netdfs_dfs_SetInfo_servername,
5097 { "Servername", "netdfs.dfs_SetInfo.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5098 { &hf_netdfs_dfs_SetInfo_sharename,
5099 { "Sharename", "netdfs.dfs_SetInfo.sharename", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5100 { &hf_netdfs_dfs_StorageInfo2_info,
5101 { "Info", "netdfs.dfs_StorageInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5102 { &hf_netdfs_dfs_StorageInfo2_target_priority,
5103 { "Target Priority", "netdfs.dfs_StorageInfo2.target_priority", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5104 { &hf_netdfs_dfs_StorageInfo_server,
5105 { "Server", "netdfs.dfs_StorageInfo.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5106 { &hf_netdfs_dfs_StorageInfo_share,
5107 { "Share", "netdfs.dfs_StorageInfo.share", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5108 { &hf_netdfs_dfs_StorageInfo_state,
5109 { "State", "netdfs.dfs_StorageInfo.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5110 { &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ACTIVE,
5111 { "DFS STORAGE STATE ACTIVE", "netdfs.dfs_StorageState.DFS_STORAGE_STATE_ACTIVE", FT_BOOLEAN, 32, TFS(&dfs_StorageState_DFS_STORAGE_STATE_ACTIVE_tfs), ( 4 ), NULL, HFILL }},
5112 { &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_OFFLINE,
5113 { "DFS STORAGE STATE OFFLINE", "netdfs.dfs_StorageState.DFS_STORAGE_STATE_OFFLINE", FT_BOOLEAN, 32, TFS(&dfs_StorageState_DFS_STORAGE_STATE_OFFLINE_tfs), ( 1 ), NULL, HFILL }},
5114 { &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ONLINE,
5115 { "DFS STORAGE STATE ONLINE", "netdfs.dfs_StorageState.DFS_STORAGE_STATE_ONLINE", FT_BOOLEAN, 32, TFS(&dfs_StorageState_DFS_STORAGE_STATE_ONLINE_tfs), ( 2 ), NULL, HFILL }},
5116 { &hf_netdfs_dfs_Target_Priority_reserved,
5117 { "Reserved", "netdfs.dfs_Target_Priority.reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
5118 { &hf_netdfs_dfs_Target_Priority_target_priority_class,
5119 { "Target Priority Class", "netdfs.dfs_Target_Priority.target_priority_class", FT_UINT32, BASE_DEC, VALS(netdfs_dfs_Target_PriorityClass_vals), 0, NULL, HFILL }},
5120 { &hf_netdfs_dfs_Target_Priority_target_priority_rank,
5121 { "Target Priority Rank", "netdfs.dfs_Target_Priority.target_priority_rank", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
5122 { &hf_netdfs_dfs_UnknownStruct_unknown1,
5123 { "Unknown1", "netdfs.dfs_UnknownStruct.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5124 { &hf_netdfs_dfs_UnknownStruct_unknown2,
5125 { "Unknown2", "netdfs.dfs_UnknownStruct.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5126 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB,
5127 { "DFS VOLUME STATE AD BLOB", "netdfs.dfs_VolumeState.DFS_VOLUME_STATE_AD_BLOB", FT_BOOLEAN, 32, TFS(&dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB_tfs), ( DFS_VOLUME_FLAVOR_AD_BLOB ), NULL, HFILL }},
5128 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT,
5129 { "DFS VOLUME STATE INCONSISTENT", "netdfs.dfs_VolumeState.DFS_VOLUME_STATE_INCONSISTENT", FT_BOOLEAN, 32, TFS(&dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT_tfs), ( 0x2 ), NULL, HFILL }},
5130 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE,
5131 { "DFS VOLUME STATE OFFLINE", "netdfs.dfs_VolumeState.DFS_VOLUME_STATE_OFFLINE", FT_BOOLEAN, 32, TFS(&dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE_tfs), ( 0x4 ), NULL, HFILL }},
5132 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OK,
5133 { "DFS VOLUME STATE OK", "netdfs.dfs_VolumeState.DFS_VOLUME_STATE_OK", FT_BOOLEAN, 32, TFS(&dfs_VolumeState_DFS_VOLUME_STATE_OK_tfs), ( 0x1 ), NULL, HFILL }},
5134 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_ONLINE,
5135 { "DFS VOLUME STATE ONLINE", "netdfs.dfs_VolumeState.DFS_VOLUME_STATE_ONLINE", FT_BOOLEAN, 32, TFS(&dfs_VolumeState_DFS_VOLUME_STATE_ONLINE_tfs), ( 0x8 ), NULL, HFILL }},
5136 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE,
5137 { "DFS VOLUME STATE STANDALONE", "netdfs.dfs_VolumeState.DFS_VOLUME_STATE_STANDALONE", FT_BOOLEAN, 32, TFS(&dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE_tfs), ( DFS_VOLUME_FLAVOR_STANDALONE ), NULL, HFILL }},
5138 { &hf_netdfs_opnum,
5139 { "Operation", "netdfs.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
5140 { &hf_netdfs_werror,
5141 { "Windows Error", "netdfs.werror", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }},
5145 static int *ett[] = {
5146 &ett_dcerpc_netdfs,
5147 &ett_netdfs_dfs_Info0,
5148 &ett_netdfs_dfs_Info1,
5149 &ett_netdfs_dfs_VolumeState,
5150 &ett_netdfs_dfs_Info2,
5151 &ett_netdfs_dfs_StorageState,
5152 &ett_netdfs_dfs_StorageInfo,
5153 &ett_netdfs_dfs_Info3,
5154 &ett_netdfs_dfs_Info4,
5155 &ett_netdfs_dfs_PropertyFlags,
5156 &ett_netdfs_dfs_Info5,
5157 &ett_netdfs_dfs_Target_Priority,
5158 &ett_netdfs_dfs_StorageInfo2,
5159 &ett_netdfs_dfs_Info6,
5160 &ett_netdfs_dfs_Info7,
5161 &ett_netdfs_dfs_Info100,
5162 &ett_netdfs_dfs_Info101,
5163 &ett_netdfs_dfs_Info102,
5164 &ett_netdfs_dfs_Info103,
5165 &ett_netdfs_dfs_Info104,
5166 &ett_netdfs_dfs_Info105,
5167 &ett_netdfs_dfs_Info106,
5168 &ett_netdfs_dfs_Info200,
5169 &ett_netdfs_dfs_Info300,
5170 &ett_netdfs_dfs_Info,
5171 &ett_netdfs_dfs_EnumArray1,
5172 &ett_netdfs_dfs_EnumArray2,
5173 &ett_netdfs_dfs_EnumArray3,
5174 &ett_netdfs_dfs_EnumArray4,
5175 &ett_netdfs_dfs_EnumArray200,
5176 &ett_netdfs_dfs_EnumArray300,
5177 &ett_netdfs_dfs_EnumInfo,
5178 &ett_netdfs_dfs_EnumStruct,
5179 &ett_netdfs_dfs_UnknownStruct,
5182 proto_dcerpc_netdfs = proto_register_protocol("Settings for Microsoft Distributed File System", "NETDFS", "netdfs");
5183 proto_register_field_array(proto_dcerpc_netdfs, hf, array_length (hf));
5184 proto_register_subtree_array(ett, array_length(ett));
5187 void proto_reg_handoff_dcerpc_netdfs(void)
5189 dcerpc_init_uuid(proto_dcerpc_netdfs, ett_dcerpc_netdfs,
5190 &uuid_dcerpc_netdfs, ver_dcerpc_netdfs,
5191 netdfs_dissectors, hf_netdfs_opnum);