Add an SVN Id to these PIDL-generated dissectors. A patch to PIDL will be sent upstr...
[obnox/wireshark/wip.git] / epan / dissectors / packet-dcerpc-dfs.c
1 /* DO NOT EDIT
2         This filter was automatically generated
3         from dfs.idl and dfs.cnf.
4         
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 http://wiki.wireshark.org/Pidl
9
10         $Id$
11 */
12
13
14 #ifdef HAVE_CONFIG_H
15 #include "config.h"
16 #endif
17
18 #ifdef _MSC_VER
19 #pragma warning(disable:4005)
20 #pragma warning(disable:4013)
21 #pragma warning(disable:4018)
22 #pragma warning(disable:4101)
23 #endif
24
25 #include <glib.h>
26 #include <string.h>
27 #include <epan/packet.h>
28
29 #include "packet-dcerpc.h"
30 #include "packet-dcerpc-nt.h"
31 #include "packet-windows-common.h"
32 #include "packet-dcerpc-dfs.h"
33
34 /* Ett declarations */
35 static gint ett_dcerpc_netdfs = -1;
36 static gint ett_netdfs_dfs_Info0 = -1;
37 static gint ett_netdfs_dfs_Info1 = -1;
38 static gint ett_netdfs_dfs_VolumeState = -1;
39 static gint ett_netdfs_dfs_Info2 = -1;
40 static gint ett_netdfs_dfs_StorageState = -1;
41 static gint ett_netdfs_dfs_StorageInfo = -1;
42 static gint ett_netdfs_dfs_Info3 = -1;
43 static gint ett_netdfs_dfs_Info4 = -1;
44 static gint ett_netdfs_dfs_PropertyFlags = -1;
45 static gint ett_netdfs_dfs_Info5 = -1;
46 static gint ett_netdfs_dfs_Target_Priority = -1;
47 static gint ett_netdfs_dfs_StorageInfo2 = -1;
48 static gint ett_netdfs_dfs_Info6 = -1;
49 static gint ett_netdfs_dfs_Info7 = -1;
50 static gint ett_netdfs_dfs_Info100 = -1;
51 static gint ett_netdfs_dfs_Info101 = -1;
52 static gint ett_netdfs_dfs_Info102 = -1;
53 static gint ett_netdfs_dfs_Info103 = -1;
54 static gint ett_netdfs_dfs_Info104 = -1;
55 static gint ett_netdfs_dfs_Info105 = -1;
56 static gint ett_netdfs_dfs_Info106 = -1;
57 static gint ett_netdfs_dfs_Info200 = -1;
58 static gint ett_netdfs_dfs_Info300 = -1;
59 static gint ett_netdfs_dfs_Info = -1;
60 static gint ett_netdfs_dfs_EnumArray1 = -1;
61 static gint ett_netdfs_dfs_EnumArray2 = -1;
62 static gint ett_netdfs_dfs_EnumArray3 = -1;
63 static gint ett_netdfs_dfs_EnumArray4 = -1;
64 static gint ett_netdfs_dfs_EnumArray200 = -1;
65 static gint ett_netdfs_dfs_EnumArray300 = -1;
66 static gint ett_netdfs_dfs_EnumInfo = -1;
67 static gint ett_netdfs_dfs_EnumStruct = -1;
68 static gint ett_netdfs_dfs_UnknownStruct = -1;
69
70
71 /* Header field declarations */
72 static gint hf_netdfs_dfs_EnumEx_level = -1;
73 static gint hf_netdfs_dfs_Info5_pktsize = -1;
74 static gint hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ONLINE = -1;
75 static gint hf_netdfs_dfs_EnumEx_bufsize = -1;
76 static gint hf_netdfs_dfs_Info4_comment = -1;
77 static gint hf_netdfs_dfs_AddFtRoot_dns_servername = -1;
78 static gint hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING = -1;
79 static gint hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY = -1;
80 static gint hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE = -1;
81 static gint hf_netdfs_dfs_Info5_guid = -1;
82 static gint hf_netdfs_dfs_Target_Priority_target_priority_rank = -1;
83 static gint hf_netdfs_dfs_AddStdRootForced_servername = -1;
84 static gint hf_netdfs_dfs_EnumInfo_info200 = -1;
85 static gint hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK = -1;
86 static gint hf_netdfs_dfs_Target_Priority_reserved = -1;
87 static gint hf_netdfs_dfs_Enum_bufsize = -1;
88 static gint hf_netdfs_dfs_AddStdRootForced_rootshare = -1;
89 static gint hf_netdfs_dfs_RemoveFtRoot_servername = -1;
90 static gint hf_netdfs_dfs_AddFtRoot_unknown1 = -1;
91 static gint hf_netdfs_dfs_EnumArray4_s = -1;
92 static gint hf_netdfs_dfs_AddFtRoot_unknown2 = -1;
93 static gint hf_netdfs_dfs_Info6_comment = -1;
94 static gint hf_netdfs_dfs_Info6_entry_path = -1;
95 static gint hf_netdfs_dfs_Info1_path = -1;
96 static gint hf_netdfs_dfs_EnumStruct_level = -1;
97 static gint hf_netdfs_dfs_GetInfo_sharename = -1;
98 static gint hf_netdfs_dfs_Info105_comment = -1;
99 static gint hf_netdfs_dfs_AddStdRoot_rootshare = -1;
100 static gint hf_netdfs_dfs_SetInfo_level = -1;
101 static gint hf_netdfs_dfs_Info6_flags = -1;
102 static gint hf_netdfs_dfs_Info4_state = -1;
103 static gint hf_netdfs_dfs_Info4_guid = -1;
104 static gint hf_netdfs_dfs_Info105_property_flags = -1;
105 static gint hf_netdfs_dfs_Enum_total = -1;
106 static gint hf_netdfs_dfs_EnumStruct_e = -1;
107 static gint hf_netdfs_dfs_EnumArray4_count = -1;
108 static gint hf_netdfs_dfs_StorageInfo2_info = -1;
109 static gint hf_netdfs_dfs_Info105_state = -1;
110 static gint hf_netdfs_dfs_FlushFtTable_servername = -1;
111 static gint hf_netdfs_dfs_Info4_stores = -1;
112 static gint hf_netdfs_dfs_Info4_num_stores = -1;
113 static gint hf_netdfs_dfs_GetInfo_dfs_entry_path = -1;
114 static gint hf_netdfs_dfs_EnumArray1_count = -1;
115 static gint hf_netdfs_dfs_StorageInfo_state = -1;
116 static gint hf_netdfs_dfs_FlushFtTable_rootshare = -1;
117 static gint hf_netdfs_dfs_AddStdRoot_servername = -1;
118 static gint hf_netdfs_dfs_EnumArray200_s = -1;
119 static gint hf_netdfs_dfs_AddFtRoot_servername = -1;
120 static gint hf_netdfs_dfs_Info6_stores = -1;
121 static gint hf_netdfs_dfs_GetInfo_servername = -1;
122 static gint hf_netdfs_dfs_StorageInfo2_target_priority = -1;
123 static gint hf_netdfs_dfs_EnumArray2_s = -1;
124 static gint hf_netdfs_dfs_RemoveFtRoot_flags = -1;
125 static gint hf_netdfs_dfs_EnumArray200_count = -1;
126 static gint hf_netdfs_dfs_EnumEx_info = -1;
127 static gint hf_netdfs_dfs_Info104_priority = -1;
128 static gint hf_netdfs_dfs_Info4_timeout = -1;
129 static gint hf_netdfs_dfs_AddFtRoot_comment = -1;
130 static gint hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED = -1;
131 static gint hf_netdfs_dfs_Enum_info = -1;
132 static gint hf_netdfs_dfs_AddStdRoot_comment = -1;
133 static gint hf_netdfs_dfs_GetInfo_info = -1;
134 static gint hf_netdfs_dfs_Add_share = -1;
135 static gint hf_netdfs_dfs_Info100_comment = -1;
136 static gint hf_netdfs_dfs_EnumInfo_info300 = -1;
137 static gint hf_netdfs_dfs_Info6_state = -1;
138 static gint hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB = -1;
139 static gint hf_netdfs_dfs_Add_comment = -1;
140 static gint hf_netdfs_dfs_Info6_timeout = -1;
141 static gint hf_netdfs_dfs_RemoveFtRoot_rootshare = -1;
142 static gint hf_netdfs_dfs_Info105_timeout = -1;
143 static gint hf_netdfs_dfs_Info3_comment = -1;
144 static gint hf_netdfs_dfs_Info3_state = -1;
145 static gint hf_netdfs_dfs_Info5_flags = -1;
146 static gint hf_netdfs_dfs_Info7_generation_guid = -1;
147 static gint hf_netdfs_dfs_RemoveFtRoot_unknown = -1;
148 static gint hf_netdfs_dfs_EnumEx_total = -1;
149 static gint hf_netdfs_dfs_GetInfo_level = -1;
150 static gint hf_netdfs_dfs_Info5_num_stores = -1;
151 static gint hf_netdfs_dfs_Info6_pktsize = -1;
152 static gint hf_netdfs_dfs_EnumArray300_s = -1;
153 static gint hf_netdfs_dfs_Add_server = -1;
154 static gint hf_netdfs_dfs_Info5_comment = -1;
155 static gint hf_netdfs_werror = -1;
156 static gint hf_netdfs_dfs_EnumArray3_count = -1;
157 static gint hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT = -1;
158 static gint hf_netdfs_dfs_AddFtRoot_rootshare = -1;
159 static gint hf_netdfs_dfs_Add_flags = -1;
160 static gint hf_netdfs_dfs_RemoveStdRoot_servername = -1;
161 static gint hf_netdfs_dfs_RemoveFtRoot_dfsname = -1;
162 static gint hf_netdfs_dfs_AddFtRoot_dfs_config_dn = -1;
163 static gint hf_netdfs_dfs_AddFtRoot_dfsname = -1;
164 static gint hf_netdfs_dfs_Remove_sharename = -1;
165 static gint hf_netdfs_dfs_Info101_state = -1;
166 static gint hf_netdfs_dfs_Info103_flags = -1;
167 static gint hf_netdfs_dfs_Info200_dom_root = -1;
168 static gint hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_OFFLINE = -1;
169 static gint hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_ONLINE = -1;
170 static gint hf_netdfs_dfs_Info_info0 = -1;
171 static gint hf_netdfs_dfs_SetInfo_servername = -1;
172 static gint hf_netdfs_dfs_Info_info1 = -1;
173 static gint hf_netdfs_dfs_Info2_num_stores = -1;
174 static gint hf_netdfs_dfs_Info_info2 = -1;
175 static gint hf_netdfs_dfs_RemoveFtRoot_dns_servername = -1;
176 static gint hf_netdfs_dfs_Info_info3 = -1;
177 static gint hf_netdfs_dfs_Info_info4 = -1;
178 static gint hf_netdfs_dfs_Info_info5 = -1;
179 static gint hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ACTIVE = -1;
180 static gint hf_netdfs_dfs_Info_info6 = -1;
181 static gint hf_netdfs_dfs_Enum_level = -1;
182 static gint hf_netdfs_dfs_Info_info7 = -1;
183 static gint hf_netdfs_dfs_Info300_flavor = -1;
184 static gint hf_netdfs_dfs_AddStdRootForced_store = -1;
185 static gint hf_netdfs_dfs_Info5_path = -1;
186 static gint hf_netdfs_dfs_GetManagerVersion_version = -1;
187 static gint hf_netdfs_dfs_Info3_stores = -1;
188 static gint hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE = -1;
189 static gint hf_netdfs_dfs_EnumArray3_s = -1;
190 static gint hf_netdfs_dfs_Info106_priority = -1;
191 static gint hf_netdfs_dfs_UnknownStruct_unknown1 = -1;
192 static gint hf_netdfs_dfs_UnknownStruct_unknown2 = -1;
193 static gint hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OK = -1;
194 static gint hf_netdfs_dfs_StorageInfo_server = -1;
195 static gint hf_netdfs_dfs_SetInfo_dfs_entry_path = -1;
196 static gint hf_netdfs_dfs_RemoveStdRoot_flags = -1;
197 static gint hf_netdfs_dfs_AddFtRoot_flags = -1;
198 static gint hf_netdfs_dfs_ManagerInitialize_flags = -1;
199 static gint hf_netdfs_dfs_Info4_path = -1;
200 static gint hf_netdfs_dfs_Info5_state = -1;
201 static gint hf_netdfs_dfs_StorageInfo_share = -1;
202 static gint hf_netdfs_dfs_AddStdRoot_flags = -1;
203 static gint hf_netdfs_dfs_Info6_num_stores = -1;
204 static gint hf_netdfs_dfs_Target_Priority_target_priority_class = -1;
205 static gint hf_netdfs_opnum = -1;
206 static gint hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS = -1;
207 static gint hf_netdfs_dfs_Info2_state = -1;
208 static gint hf_netdfs_dfs_Info106_state = -1;
209 static gint hf_netdfs_dfs_Info_info100 = -1;
210 static gint hf_netdfs_dfs_AddStdRootForced_comment = -1;
211 static gint hf_netdfs_dfs_Info_info101 = -1;
212 static gint hf_netdfs_dfs_Add_path = -1;
213 static gint hf_netdfs_dfs_Info102_timeout = -1;
214 static gint hf_netdfs_dfs_Info_info102 = -1;
215 static gint hf_netdfs_dfs_Info_info103 = -1;
216 static gint hf_netdfs_dfs_Info_info104 = -1;
217 static gint hf_netdfs_dfs_Info3_path = -1;
218 static gint hf_netdfs_dfs_Info_info105 = -1;
219 static gint hf_netdfs_dfs_Info_info106 = -1;
220 static gint hf_netdfs_dfs_SetInfo_sharename = -1;
221 static gint hf_netdfs_dfs_ManagerInitialize_servername = -1;
222 static gint hf_netdfs_dfs_EnumInfo_info1 = -1;
223 static gint hf_netdfs_dfs_Info300_dom_root = -1;
224 static gint hf_netdfs_dfs_EnumArray2_count = -1;
225 static gint hf_netdfs_dfs_EnumArray300_count = -1;
226 static gint hf_netdfs_dfs_EnumInfo_info2 = -1;
227 static gint hf_netdfs_dfs_Remove_dfs_entry_path = -1;
228 static gint hf_netdfs_dfs_EnumInfo_info3 = -1;
229 static gint hf_netdfs_dfs_EnumEx_dfs_name = -1;
230 static gint hf_netdfs_dfs_RemoveStdRoot_rootshare = -1;
231 static gint hf_netdfs_dfs_EnumInfo_info4 = -1;
232 static gint hf_netdfs_dfs_Info5_timeout = -1;
233 static gint hf_netdfs_dfs_EnumArray1_s = -1;
234 static gint hf_netdfs_dfs_Remove_servername = -1;
235 static gint hf_netdfs_dfs_Info3_num_stores = -1;
236 static gint hf_netdfs_dfs_Info105_property_flag_mask = -1;
237 static gint hf_netdfs_dfs_Info2_comment = -1;
238 static gint hf_netdfs_dfs_Info6_guid = -1;
239 static gint hf_netdfs_dfs_Info2_path = -1;
240 static gint hf_netdfs_dfs_SetInfo_info = -1;
241
242 static gint proto_dcerpc_netdfs = -1;
243 /* Version information */
244
245
246 static e_uuid_t uuid_dcerpc_netdfs = {
247         0x4fc742e0, 0x4a10, 0x11cf,
248         { 0x82, 0x73, 0x00, 0xaa, 0x00, 0x4a, 0xe6, 0x73 }
249 };
250 static guint16 ver_dcerpc_netdfs = 3;
251
252 const value_string netdfs_dfs_ManagerVersion_vals[] = {
253         { DFS_MANAGER_VERSION_NT4, "DFS_MANAGER_VERSION_NT4" },
254         { DFS_MANAGER_VERSION_W2K, "DFS_MANAGER_VERSION_W2K" },
255         { DFS_MANAGER_VERSION_W2K3, "DFS_MANAGER_VERSION_W2K3" },
256 { 0, NULL }
257 };
258 static int netdfs_dissect_element_dfs_Info1_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
259 static int netdfs_dissect_element_dfs_Info1_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
260 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_OK_tfs = {
261    "DFS_VOLUME_STATE_OK is SET",
262    "DFS_VOLUME_STATE_OK is NOT SET",
263 };
264 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT_tfs = {
265    "DFS_VOLUME_STATE_INCONSISTENT is SET",
266    "DFS_VOLUME_STATE_INCONSISTENT is NOT SET",
267 };
268 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE_tfs = {
269    "DFS_VOLUME_STATE_OFFLINE is SET",
270    "DFS_VOLUME_STATE_OFFLINE is NOT SET",
271 };
272 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_ONLINE_tfs = {
273    "DFS_VOLUME_STATE_ONLINE is SET",
274    "DFS_VOLUME_STATE_ONLINE is NOT SET",
275 };
276 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE_tfs = {
277    "DFS_VOLUME_STATE_STANDALONE is SET",
278    "DFS_VOLUME_STATE_STANDALONE is NOT SET",
279 };
280 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB_tfs = {
281    "DFS_VOLUME_STATE_AD_BLOB is SET",
282    "DFS_VOLUME_STATE_AD_BLOB is NOT SET",
283 };
284 static int netdfs_dissect_element_dfs_Info2_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
285 static int netdfs_dissect_element_dfs_Info2_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
286 static int netdfs_dissect_element_dfs_Info2_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
287 static int netdfs_dissect_element_dfs_Info2_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
288 static int netdfs_dissect_element_dfs_Info2_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
289 static int netdfs_dissect_element_dfs_Info2_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
290 static const true_false_string dfs_StorageState_DFS_STORAGE_STATE_OFFLINE_tfs = {
291    "DFS_STORAGE_STATE_OFFLINE is SET",
292    "DFS_STORAGE_STATE_OFFLINE is NOT SET",
293 };
294 static const true_false_string dfs_StorageState_DFS_STORAGE_STATE_ONLINE_tfs = {
295    "DFS_STORAGE_STATE_ONLINE is SET",
296    "DFS_STORAGE_STATE_ONLINE is NOT SET",
297 };
298 static const true_false_string dfs_StorageState_DFS_STORAGE_STATE_ACTIVE_tfs = {
299    "DFS_STORAGE_STATE_ACTIVE is SET",
300    "DFS_STORAGE_STATE_ACTIVE is NOT SET",
301 };
302 static int netdfs_dissect_element_dfs_StorageInfo_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
303 static int netdfs_dissect_element_dfs_StorageInfo_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
304 static int netdfs_dissect_element_dfs_StorageInfo_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
305 static int netdfs_dissect_element_dfs_StorageInfo_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
306 static int netdfs_dissect_element_dfs_StorageInfo_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
307 static int netdfs_dissect_element_dfs_Info3_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
308 static int netdfs_dissect_element_dfs_Info3_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
309 static int netdfs_dissect_element_dfs_Info3_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
310 static int netdfs_dissect_element_dfs_Info3_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
311 static int netdfs_dissect_element_dfs_Info3_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
312 static int netdfs_dissect_element_dfs_Info3_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
313 static int netdfs_dissect_element_dfs_Info3_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
314 static int netdfs_dissect_element_dfs_Info3_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
315 static int netdfs_dissect_element_dfs_Info3_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
316 static int netdfs_dissect_element_dfs_Info4_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
317 static int netdfs_dissect_element_dfs_Info4_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
318 static int netdfs_dissect_element_dfs_Info4_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
319 static int netdfs_dissect_element_dfs_Info4_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
320 static int netdfs_dissect_element_dfs_Info4_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
321 static int netdfs_dissect_element_dfs_Info4_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
322 static int netdfs_dissect_element_dfs_Info4_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
323 static int netdfs_dissect_element_dfs_Info4_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
324 static int netdfs_dissect_element_dfs_Info4_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
325 static int netdfs_dissect_element_dfs_Info4_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
326 static int netdfs_dissect_element_dfs_Info4_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
327 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS_tfs = {
328    "DFS_PROPERTY_FLAG_INSITE_REFERRALS is SET",
329    "DFS_PROPERTY_FLAG_INSITE_REFERRALS is NOT SET",
330 };
331 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY_tfs = {
332    "DFS_PROPERTY_FLAG_ROOT_SCALABILITY is SET",
333    "DFS_PROPERTY_FLAG_ROOT_SCALABILITY is NOT SET",
334 };
335 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING_tfs = {
336    "DFS_PROPERTY_FLAG_SITE_COSTING is SET",
337    "DFS_PROPERTY_FLAG_SITE_COSTING is NOT SET",
338 };
339 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK_tfs = {
340    "DFS_PROPERTY_FLAG_TARGET_FAILBACK is SET",
341    "DFS_PROPERTY_FLAG_TARGET_FAILBACK is NOT SET",
342 };
343 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED_tfs = {
344    "DFS_PROPERTY_FLAG_CLUSTER_ENABLED is SET",
345    "DFS_PROPERTY_FLAG_CLUSTER_ENABLED is NOT SET",
346 };
347 static int netdfs_dissect_element_dfs_Info5_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
348 static int netdfs_dissect_element_dfs_Info5_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
349 static int netdfs_dissect_element_dfs_Info5_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
350 static int netdfs_dissect_element_dfs_Info5_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
351 static int netdfs_dissect_element_dfs_Info5_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
352 static int netdfs_dissect_element_dfs_Info5_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
353 static int netdfs_dissect_element_dfs_Info5_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
354 static int netdfs_dissect_element_dfs_Info5_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
355 static int netdfs_dissect_element_dfs_Info5_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
356 static int netdfs_dissect_element_dfs_Info5_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
357 const value_string netdfs_dfs_Target_PriorityClass_vals[] = {
358         { DFS_INVALID_PRIORITY_CLASS, "DFS_INVALID_PRIORITY_CLASS" },
359         { DFS_SITE_COST_NORMAL_PRIORITY_CLASS, "DFS_SITE_COST_NORMAL_PRIORITY_CLASS" },
360         { DFS_GLOBAL_HIGH_PRIORITY_CLASS, "DFS_GLOBAL_HIGH_PRIORITY_CLASS" },
361         { DFS_SITE_COST_HIGH_PRIORITY_CLASS, "DFS_SITE_COST_HIGH_PRIORITY_CLASS" },
362         { DFS_SITE_COST_LOW_PRIORITY_CLASS, "DFS_SITE_COST_LOW_PRIORITY_CLASS" },
363         { DFS_GLOBAL_LOW_PRIORITY_CLASS, "DFS_GLOBAL_LOW_PRIORITY_CLASS" },
364 { 0, NULL }
365 };
366 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_, guint8 *drep _U_);
367 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_, guint8 *drep _U_);
368 static int netdfs_dissect_element_dfs_Target_Priority_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
369 static int netdfs_dissect_element_dfs_StorageInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
370 static int netdfs_dissect_element_dfs_StorageInfo2_target_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
371 static int netdfs_dissect_element_dfs_Info6_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
372 static int netdfs_dissect_element_dfs_Info6_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
373 static int netdfs_dissect_element_dfs_Info6_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
374 static int netdfs_dissect_element_dfs_Info6_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
375 static int netdfs_dissect_element_dfs_Info6_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
376 static int netdfs_dissect_element_dfs_Info6_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
377 static int netdfs_dissect_element_dfs_Info6_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
378 static int netdfs_dissect_element_dfs_Info6_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
379 static int netdfs_dissect_element_dfs_Info6_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
380 static int netdfs_dissect_element_dfs_Info6_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
381 static int netdfs_dissect_element_dfs_Info6_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
382 static int netdfs_dissect_element_dfs_Info6_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
383 static int netdfs_dissect_element_dfs_Info6_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
384 static int netdfs_dissect_element_dfs_Info7_generation_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
385 static int netdfs_dissect_element_dfs_Info100_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
386 static int netdfs_dissect_element_dfs_Info100_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
387 static int netdfs_dissect_element_dfs_Info101_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
388 static int netdfs_dissect_element_dfs_Info102_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
389 static int netdfs_dissect_element_dfs_Info103_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
390 static int netdfs_dissect_element_dfs_Info104_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
391 static int netdfs_dissect_element_dfs_Info105_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
392 static int netdfs_dissect_element_dfs_Info105_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
393 static int netdfs_dissect_element_dfs_Info105_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
394 static int netdfs_dissect_element_dfs_Info105_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
395 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_, guint8 *drep _U_);
396 static int netdfs_dissect_element_dfs_Info105_property_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
397 static int netdfs_dissect_element_dfs_Info106_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
398 static int netdfs_dissect_element_dfs_Info106_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
399 static int netdfs_dissect_element_dfs_Info200_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
400 static int netdfs_dissect_element_dfs_Info200_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
401 const value_string netdfs_dfs_VolumeFlavor_vals[] = {
402         { DFS_VOLUME_FLAVOR_STANDALONE, "DFS_VOLUME_FLAVOR_STANDALONE" },
403         { DFS_VOLUME_FLAVOR_AD_BLOB, "DFS_VOLUME_FLAVOR_AD_BLOB" },
404 { 0, NULL }
405 };
406 static int netdfs_dissect_element_dfs_Info300_flavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
407 static int netdfs_dissect_element_dfs_Info300_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
408 static int netdfs_dissect_element_dfs_Info300_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
409 static int netdfs_dissect_element_dfs_Info_info0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
410 static int netdfs_dissect_element_dfs_Info_info0_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
411 static int netdfs_dissect_element_dfs_Info_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
412 static int netdfs_dissect_element_dfs_Info_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
413 static int netdfs_dissect_element_dfs_Info_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
414 static int netdfs_dissect_element_dfs_Info_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
415 static int netdfs_dissect_element_dfs_Info_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
416 static int netdfs_dissect_element_dfs_Info_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
417 static int netdfs_dissect_element_dfs_Info_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
418 static int netdfs_dissect_element_dfs_Info_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
419 static int netdfs_dissect_element_dfs_Info_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
420 static int netdfs_dissect_element_dfs_Info_info5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
421 static int netdfs_dissect_element_dfs_Info_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
422 static int netdfs_dissect_element_dfs_Info_info6_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
423 static int netdfs_dissect_element_dfs_Info_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
424 static int netdfs_dissect_element_dfs_Info_info7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
425 static int netdfs_dissect_element_dfs_Info_info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
426 static int netdfs_dissect_element_dfs_Info_info100_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
427 static int netdfs_dissect_element_dfs_Info_info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
428 static int netdfs_dissect_element_dfs_Info_info101_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
429 static int netdfs_dissect_element_dfs_Info_info102(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
430 static int netdfs_dissect_element_dfs_Info_info102_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
431 static int netdfs_dissect_element_dfs_Info_info103(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
432 static int netdfs_dissect_element_dfs_Info_info103_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
433 static int netdfs_dissect_element_dfs_Info_info104(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
434 static int netdfs_dissect_element_dfs_Info_info104_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
435 static int netdfs_dissect_element_dfs_Info_info105(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
436 static int netdfs_dissect_element_dfs_Info_info105_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
437 static int netdfs_dissect_element_dfs_Info_info106(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
438 static int netdfs_dissect_element_dfs_Info_info106_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
439 static int netdfs_dissect_element_dfs_EnumArray1_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
440 static int netdfs_dissect_element_dfs_EnumArray1_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
441 static int netdfs_dissect_element_dfs_EnumArray1_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
442 static int netdfs_dissect_element_dfs_EnumArray1_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
443 static int netdfs_dissect_element_dfs_EnumArray2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
444 static int netdfs_dissect_element_dfs_EnumArray2_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
445 static int netdfs_dissect_element_dfs_EnumArray2_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
446 static int netdfs_dissect_element_dfs_EnumArray2_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
447 static int netdfs_dissect_element_dfs_EnumArray3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
448 static int netdfs_dissect_element_dfs_EnumArray3_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
449 static int netdfs_dissect_element_dfs_EnumArray3_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
450 static int netdfs_dissect_element_dfs_EnumArray3_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
451 static int netdfs_dissect_element_dfs_EnumArray4_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
452 static int netdfs_dissect_element_dfs_EnumArray4_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
453 static int netdfs_dissect_element_dfs_EnumArray4_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
454 static int netdfs_dissect_element_dfs_EnumArray4_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
455 static int netdfs_dissect_element_dfs_EnumArray200_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
456 static int netdfs_dissect_element_dfs_EnumArray200_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
457 static int netdfs_dissect_element_dfs_EnumArray200_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
458 static int netdfs_dissect_element_dfs_EnumArray200_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
459 static int netdfs_dissect_element_dfs_EnumArray300_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
460 static int netdfs_dissect_element_dfs_EnumArray300_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
461 static int netdfs_dissect_element_dfs_EnumArray300_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
462 static int netdfs_dissect_element_dfs_EnumArray300_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
463 static int netdfs_dissect_element_dfs_EnumInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
464 static int netdfs_dissect_element_dfs_EnumInfo_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
465 static int netdfs_dissect_element_dfs_EnumInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
466 static int netdfs_dissect_element_dfs_EnumInfo_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
467 static int netdfs_dissect_element_dfs_EnumInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
468 static int netdfs_dissect_element_dfs_EnumInfo_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
469 static int netdfs_dissect_element_dfs_EnumInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
470 static int netdfs_dissect_element_dfs_EnumInfo_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
471 static int netdfs_dissect_element_dfs_EnumInfo_info200(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
472 static int netdfs_dissect_element_dfs_EnumInfo_info200_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
473 static int netdfs_dissect_element_dfs_EnumInfo_info300(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
474 static int netdfs_dissect_element_dfs_EnumInfo_info300_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
475 static int netdfs_dissect_element_dfs_EnumStruct_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
476 static int netdfs_dissect_element_dfs_EnumStruct_e(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
477 static int netdfs_dissect_element_dfs_UnknownStruct_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
478 static int netdfs_dissect_element_dfs_UnknownStruct_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
479 static int netdfs_dissect_element_dfs_UnknownStruct_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
480 static int netdfs_dissect_element_dfs_GetManagerVersion_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
481 static int netdfs_dissect_element_dfs_GetManagerVersion_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
482 static int netdfs_dissect_element_dfs_Add_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
483 static int netdfs_dissect_element_dfs_Add_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
484 static int netdfs_dissect_element_dfs_Add_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
485 static int netdfs_dissect_element_dfs_Add_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
486 static int netdfs_dissect_element_dfs_Add_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
487 static int netdfs_dissect_element_dfs_Add_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
488 static int netdfs_dissect_element_dfs_Add_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
489 static int netdfs_dissect_element_dfs_Add_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
490 static int netdfs_dissect_element_dfs_Add_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
491 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_, guint8 *drep _U_);
492 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_, guint8 *drep _U_);
493 static int netdfs_dissect_element_dfs_Remove_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
494 static int netdfs_dissect_element_dfs_Remove_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
495 static int netdfs_dissect_element_dfs_Remove_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
496 static int netdfs_dissect_element_dfs_Remove_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
497 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_, guint8 *drep _U_);
498 static int netdfs_dissect_element_dfs_SetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
499 static int netdfs_dissect_element_dfs_SetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
500 static int netdfs_dissect_element_dfs_SetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
501 static int netdfs_dissect_element_dfs_SetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
502 static int netdfs_dissect_element_dfs_SetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
503 static int netdfs_dissect_element_dfs_SetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
504 static int netdfs_dissect_element_dfs_SetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
505 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_, guint8 *drep _U_);
506 static int netdfs_dissect_element_dfs_GetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
507 static int netdfs_dissect_element_dfs_GetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
508 static int netdfs_dissect_element_dfs_GetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
509 static int netdfs_dissect_element_dfs_GetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
510 static int netdfs_dissect_element_dfs_GetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
511 static int netdfs_dissect_element_dfs_GetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
512 static int netdfs_dissect_element_dfs_GetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
513 static int netdfs_dissect_element_dfs_Enum_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
514 static int netdfs_dissect_element_dfs_Enum_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
515 static int netdfs_dissect_element_dfs_Enum_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
516 static int netdfs_dissect_element_dfs_Enum_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
517 static int netdfs_dissect_element_dfs_Enum_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
518 static int netdfs_dissect_element_dfs_Enum_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
519 static int netdfs_dissect_element_dfs_AddFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
520 static int netdfs_dissect_element_dfs_AddFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
521 static int netdfs_dissect_element_dfs_AddFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
522 static int netdfs_dissect_element_dfs_AddFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
523 static int netdfs_dissect_element_dfs_AddFtRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
524 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_, guint8 *drep _U_);
525 static int netdfs_dissect_element_dfs_AddFtRoot_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
526 static int netdfs_dissect_element_dfs_AddFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
527 static int netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
528 static int netdfs_dissect_element_dfs_AddFtRoot_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
529 static int netdfs_dissect_element_dfs_AddFtRoot_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
530 static int netdfs_dissect_element_dfs_RemoveFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
531 static int netdfs_dissect_element_dfs_RemoveFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
532 static int netdfs_dissect_element_dfs_RemoveFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
533 static int netdfs_dissect_element_dfs_RemoveFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
534 static int netdfs_dissect_element_dfs_RemoveFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
535 static int netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
536 static int netdfs_dissect_element_dfs_RemoveFtRoot_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
537 static int netdfs_dissect_element_dfs_RemoveFtRoot_unknown__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
538 static int netdfs_dissect_element_dfs_AddStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
539 static int netdfs_dissect_element_dfs_AddStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
540 static int netdfs_dissect_element_dfs_AddStdRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
541 static int netdfs_dissect_element_dfs_AddStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
542 static int netdfs_dissect_element_dfs_RemoveStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
543 static int netdfs_dissect_element_dfs_RemoveStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
544 static int netdfs_dissect_element_dfs_RemoveStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
545 static int netdfs_dissect_element_dfs_ManagerInitialize_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
546 static int netdfs_dissect_element_dfs_ManagerInitialize_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
547 static int netdfs_dissect_element_dfs_ManagerInitialize_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
548 static int netdfs_dissect_element_dfs_AddStdRootForced_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
549 static int netdfs_dissect_element_dfs_AddStdRootForced_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
550 static int netdfs_dissect_element_dfs_AddStdRootForced_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
551 static int netdfs_dissect_element_dfs_AddStdRootForced_store(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
552 static int netdfs_dissect_element_dfs_FlushFtTable_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
553 static int netdfs_dissect_element_dfs_FlushFtTable_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
554 static int netdfs_dissect_element_dfs_EnumEx_dfs_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
555 static int netdfs_dissect_element_dfs_EnumEx_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
556 static int netdfs_dissect_element_dfs_EnumEx_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
557 static int netdfs_dissect_element_dfs_EnumEx_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
558 static int netdfs_dissect_element_dfs_EnumEx_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
559 static int netdfs_dissect_element_dfs_EnumEx_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
560 static int netdfs_dissect_element_dfs_EnumEx_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
561
562
563 /* IDL: enum { */
564 /* IDL:         DFS_MANAGER_VERSION_NT4=1, */
565 /* IDL:         DFS_MANAGER_VERSION_W2K=2, */
566 /* IDL:         DFS_MANAGER_VERSION_W2K3=4, */
567 /* IDL: } */
568
569 int
570 netdfs_dissect_enum_dfs_ManagerVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
571 {
572         guint32 parameter=0;
573         if(param){
574                 parameter=(guint32)*param;
575         }
576         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &parameter);
577         if(param){
578                 *param=(guint32)parameter;
579         }
580         return offset;
581 }
582
583
584 /* IDL: struct { */
585 /* IDL: } */
586
587 int
588 netdfs_dissect_struct_dfs_Info0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
589 {
590         proto_item *item = NULL;
591         proto_tree *tree = NULL;
592         int old_offset;
593
594
595         old_offset = offset;
596
597         if (parent_tree) {
598                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
599                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info0);
600         }
601         
602
603         proto_item_set_len(item, offset-old_offset);
604
605         return offset;
606 }
607
608
609 /* IDL: struct { */
610 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *path; */
611 /* IDL: } */
612
613 static int
614 netdfs_dissect_element_dfs_Info1_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
615 {
616         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info1_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info1_path);
617
618         return offset;
619 }
620
621 static int
622 netdfs_dissect_element_dfs_Info1_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
623 {
624         char *data;
625
626         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info1_path, FALSE, &data);
627         proto_item_append_text(tree, ": %s", data);
628
629         return offset;
630 }
631
632 int
633 netdfs_dissect_struct_dfs_Info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
634 {
635         proto_item *item = NULL;
636         proto_tree *tree = NULL;
637         int old_offset;
638
639         ALIGN_TO_4_BYTES;
640
641         old_offset = offset;
642
643         if (parent_tree) {
644                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
645                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info1);
646         }
647         
648         offset = netdfs_dissect_element_dfs_Info1_path(tvb, offset, pinfo, tree, drep);
649
650
651         proto_item_set_len(item, offset-old_offset);
652
653         return offset;
654 }
655
656
657 /* IDL: bitmap { */
658 /* IDL:         DFS_VOLUME_STATE_OK =  0x1 , */
659 /* IDL:         DFS_VOLUME_STATE_INCONSISTENT =  0x2 , */
660 /* IDL:         DFS_VOLUME_STATE_OFFLINE =  0x4 , */
661 /* IDL:         DFS_VOLUME_STATE_ONLINE =  0x8 , */
662 /* IDL:         DFS_VOLUME_STATE_STANDALONE =  DFS_VOLUME_FLAVOR_STANDALONE , */
663 /* IDL:         DFS_VOLUME_STATE_AD_BLOB =  DFS_VOLUME_FLAVOR_AD_BLOB , */
664 /* IDL: } */
665
666 int
667 netdfs_dissect_bitmap_dfs_VolumeState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
668 {
669         proto_item *item = NULL;
670         proto_tree *tree = NULL;
671
672         guint32 flags;
673         ALIGN_TO_4_BYTES;
674
675         if (parent_tree) {
676                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
677                 tree = proto_item_add_subtree(item,ett_netdfs_dfs_VolumeState);
678         }
679
680         offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
681         proto_item_append_text(item, ": ");
682
683         if (!flags)
684                 proto_item_append_text(item, "(No values set)");
685
686         proto_tree_add_boolean(tree, hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OK, tvb, offset-4, 4, flags);
687         if (flags&( 0x1 )){
688                 proto_item_append_text(item, "DFS_VOLUME_STATE_OK");
689                 if (flags & (~( 0x1 )))
690                         proto_item_append_text(item, ", ");
691         }
692         flags&=(~( 0x1 ));
693
694         proto_tree_add_boolean(tree, hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT, tvb, offset-4, 4, flags);
695         if (flags&( 0x2 )){
696                 proto_item_append_text(item, "DFS_VOLUME_STATE_INCONSISTENT");
697                 if (flags & (~( 0x2 )))
698                         proto_item_append_text(item, ", ");
699         }
700         flags&=(~( 0x2 ));
701
702         proto_tree_add_boolean(tree, hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE, tvb, offset-4, 4, flags);
703         if (flags&( 0x4 )){
704                 proto_item_append_text(item, "DFS_VOLUME_STATE_OFFLINE");
705                 if (flags & (~( 0x4 )))
706                         proto_item_append_text(item, ", ");
707         }
708         flags&=(~( 0x4 ));
709
710         proto_tree_add_boolean(tree, hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_ONLINE, tvb, offset-4, 4, flags);
711         if (flags&( 0x8 )){
712                 proto_item_append_text(item, "DFS_VOLUME_STATE_ONLINE");
713                 if (flags & (~( 0x8 )))
714                         proto_item_append_text(item, ", ");
715         }
716         flags&=(~( 0x8 ));
717
718         proto_tree_add_boolean(tree, hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE, tvb, offset-4, 4, flags);
719         if (flags&( DFS_VOLUME_FLAVOR_STANDALONE )){
720                 proto_item_append_text(item, "DFS_VOLUME_STATE_STANDALONE");
721                 if (flags & (~( DFS_VOLUME_FLAVOR_STANDALONE )))
722                         proto_item_append_text(item, ", ");
723         }
724         flags&=(~( DFS_VOLUME_FLAVOR_STANDALONE ));
725
726         proto_tree_add_boolean(tree, hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB, tvb, offset-4, 4, flags);
727         if (flags&( DFS_VOLUME_FLAVOR_AD_BLOB )){
728                 proto_item_append_text(item, "DFS_VOLUME_STATE_AD_BLOB");
729                 if (flags & (~( DFS_VOLUME_FLAVOR_AD_BLOB )))
730                         proto_item_append_text(item, ", ");
731         }
732         flags&=(~( DFS_VOLUME_FLAVOR_AD_BLOB ));
733
734         if (flags) {
735                 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
736         }
737
738         return offset;
739 }
740
741
742 /* IDL: struct { */
743 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *path; */
744 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *comment; */
745 /* IDL:         dfs_VolumeState state; */
746 /* IDL:         uint32 num_stores; */
747 /* IDL: } */
748
749 static int
750 netdfs_dissect_element_dfs_Info2_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
751 {
752         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info2_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info2_path);
753
754         return offset;
755 }
756
757 static int
758 netdfs_dissect_element_dfs_Info2_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
759 {
760         char *data;
761
762         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info2_path, FALSE, &data);
763         proto_item_append_text(tree, ": %s", data);
764
765         return offset;
766 }
767
768 static int
769 netdfs_dissect_element_dfs_Info2_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
770 {
771         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info2_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info2_comment);
772
773         return offset;
774 }
775
776 static int
777 netdfs_dissect_element_dfs_Info2_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
778 {
779         char *data;
780
781         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info2_comment, FALSE, &data);
782         proto_item_append_text(tree, ": %s", data);
783
784         return offset;
785 }
786
787 static int
788 netdfs_dissect_element_dfs_Info2_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
789 {
790         offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info2_state, 0);
791
792         return offset;
793 }
794
795 static int
796 netdfs_dissect_element_dfs_Info2_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
797 {
798         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info2_num_stores, 0);
799
800         return offset;
801 }
802
803 int
804 netdfs_dissect_struct_dfs_Info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
805 {
806         proto_item *item = NULL;
807         proto_tree *tree = NULL;
808         int old_offset;
809
810         ALIGN_TO_4_BYTES;
811
812         old_offset = offset;
813
814         if (parent_tree) {
815                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
816                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info2);
817         }
818         
819         offset = netdfs_dissect_element_dfs_Info2_path(tvb, offset, pinfo, tree, drep);
820
821         offset = netdfs_dissect_element_dfs_Info2_comment(tvb, offset, pinfo, tree, drep);
822
823         offset = netdfs_dissect_element_dfs_Info2_state(tvb, offset, pinfo, tree, drep);
824
825         offset = netdfs_dissect_element_dfs_Info2_num_stores(tvb, offset, pinfo, tree, drep);
826
827
828         proto_item_set_len(item, offset-old_offset);
829
830         return offset;
831 }
832
833
834 /* IDL: bitmap { */
835 /* IDL:         DFS_STORAGE_STATE_OFFLINE =  1 , */
836 /* IDL:         DFS_STORAGE_STATE_ONLINE =  2 , */
837 /* IDL:         DFS_STORAGE_STATE_ACTIVE =  4 , */
838 /* IDL: } */
839
840 int
841 netdfs_dissect_bitmap_dfs_StorageState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
842 {
843         proto_item *item = NULL;
844         proto_tree *tree = NULL;
845
846         guint32 flags;
847         ALIGN_TO_4_BYTES;
848
849         if (parent_tree) {
850                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
851                 tree = proto_item_add_subtree(item,ett_netdfs_dfs_StorageState);
852         }
853
854         offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
855         proto_item_append_text(item, ": ");
856
857         if (!flags)
858                 proto_item_append_text(item, "(No values set)");
859
860         proto_tree_add_boolean(tree, hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_OFFLINE, tvb, offset-4, 4, flags);
861         if (flags&( 1 )){
862                 proto_item_append_text(item, "DFS_STORAGE_STATE_OFFLINE");
863                 if (flags & (~( 1 )))
864                         proto_item_append_text(item, ", ");
865         }
866         flags&=(~( 1 ));
867
868         proto_tree_add_boolean(tree, hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ONLINE, tvb, offset-4, 4, flags);
869         if (flags&( 2 )){
870                 proto_item_append_text(item, "DFS_STORAGE_STATE_ONLINE");
871                 if (flags & (~( 2 )))
872                         proto_item_append_text(item, ", ");
873         }
874         flags&=(~( 2 ));
875
876         proto_tree_add_boolean(tree, hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ACTIVE, tvb, offset-4, 4, flags);
877         if (flags&( 4 )){
878                 proto_item_append_text(item, "DFS_STORAGE_STATE_ACTIVE");
879                 if (flags & (~( 4 )))
880                         proto_item_append_text(item, ", ");
881         }
882         flags&=(~( 4 ));
883
884         if (flags) {
885                 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
886         }
887
888         return offset;
889 }
890
891
892 /* IDL: struct { */
893 /* IDL:         dfs_StorageState state; */
894 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *server; */
895 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *share; */
896 /* IDL: } */
897
898 static int
899 netdfs_dissect_element_dfs_StorageInfo_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
900 {
901         offset = netdfs_dissect_bitmap_dfs_StorageState(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_StorageInfo_state, 0);
902
903         return offset;
904 }
905
906 static int
907 netdfs_dissect_element_dfs_StorageInfo_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
908 {
909         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_StorageInfo_server_, NDR_POINTER_UNIQUE, "Pointer to Server (uint16)",hf_netdfs_dfs_StorageInfo_server);
910
911         return offset;
912 }
913
914 static int
915 netdfs_dissect_element_dfs_StorageInfo_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
916 {
917         char *data;
918
919         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_StorageInfo_server, FALSE, &data);
920         proto_item_append_text(tree, ": %s", data);
921
922         return offset;
923 }
924
925 static int
926 netdfs_dissect_element_dfs_StorageInfo_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
927 {
928         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_StorageInfo_share_, NDR_POINTER_UNIQUE, "Pointer to Share (uint16)",hf_netdfs_dfs_StorageInfo_share);
929
930         return offset;
931 }
932
933 static int
934 netdfs_dissect_element_dfs_StorageInfo_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
935 {
936         char *data;
937
938         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_StorageInfo_share, FALSE, &data);
939         proto_item_append_text(tree, ": %s", data);
940
941         return offset;
942 }
943
944 int
945 netdfs_dissect_struct_dfs_StorageInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
946 {
947         proto_item *item = NULL;
948         proto_tree *tree = NULL;
949         int old_offset;
950
951         ALIGN_TO_4_BYTES;
952
953         old_offset = offset;
954
955         if (parent_tree) {
956                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
957                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_StorageInfo);
958         }
959         
960         offset = netdfs_dissect_element_dfs_StorageInfo_state(tvb, offset, pinfo, tree, drep);
961
962         offset = netdfs_dissect_element_dfs_StorageInfo_server(tvb, offset, pinfo, tree, drep);
963
964         offset = netdfs_dissect_element_dfs_StorageInfo_share(tvb, offset, pinfo, tree, drep);
965
966
967         proto_item_set_len(item, offset-old_offset);
968
969         return offset;
970 }
971
972
973 /* IDL: struct { */
974 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *path; */
975 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *comment; */
976 /* IDL:         dfs_VolumeState state; */
977 /* IDL:         uint32 num_stores; */
978 /* IDL:         [size_is(num_stores)] [unique(1)] dfs_StorageInfo *stores; */
979 /* IDL: } */
980
981 static int
982 netdfs_dissect_element_dfs_Info3_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
983 {
984         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info3_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info3_path);
985
986         return offset;
987 }
988
989 static int
990 netdfs_dissect_element_dfs_Info3_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
991 {
992         char *data;
993
994         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info3_path, FALSE, &data);
995         proto_item_append_text(tree, ": %s", data);
996
997         return offset;
998 }
999
1000 static int
1001 netdfs_dissect_element_dfs_Info3_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1002 {
1003         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info3_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info3_comment);
1004
1005         return offset;
1006 }
1007
1008 static int
1009 netdfs_dissect_element_dfs_Info3_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1010 {
1011         char *data;
1012
1013         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info3_comment, FALSE, &data);
1014         proto_item_append_text(tree, ": %s", data);
1015
1016         return offset;
1017 }
1018
1019 static int
1020 netdfs_dissect_element_dfs_Info3_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1021 {
1022         offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info3_state, 0);
1023
1024         return offset;
1025 }
1026
1027 static int
1028 netdfs_dissect_element_dfs_Info3_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1029 {
1030         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info3_num_stores, 0);
1031
1032         return offset;
1033 }
1034
1035 static int
1036 netdfs_dissect_element_dfs_Info3_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1037 {
1038         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info3_stores_, NDR_POINTER_UNIQUE, "Pointer to Stores (dfs_StorageInfo)",hf_netdfs_dfs_Info3_stores);
1039
1040         return offset;
1041 }
1042
1043 static int
1044 netdfs_dissect_element_dfs_Info3_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1045 {
1046         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info3_stores__);
1047
1048         return offset;
1049 }
1050
1051 static int
1052 netdfs_dissect_element_dfs_Info3_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1053 {
1054         offset = netdfs_dissect_struct_dfs_StorageInfo(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info3_stores,0);
1055
1056         return offset;
1057 }
1058
1059 int
1060 netdfs_dissect_struct_dfs_Info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1061 {
1062         proto_item *item = NULL;
1063         proto_tree *tree = NULL;
1064         int old_offset;
1065
1066         ALIGN_TO_4_BYTES;
1067
1068         old_offset = offset;
1069
1070         if (parent_tree) {
1071                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1072                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info3);
1073         }
1074         
1075         offset = netdfs_dissect_element_dfs_Info3_path(tvb, offset, pinfo, tree, drep);
1076
1077         offset = netdfs_dissect_element_dfs_Info3_comment(tvb, offset, pinfo, tree, drep);
1078
1079         offset = netdfs_dissect_element_dfs_Info3_state(tvb, offset, pinfo, tree, drep);
1080
1081         offset = netdfs_dissect_element_dfs_Info3_num_stores(tvb, offset, pinfo, tree, drep);
1082
1083         offset = netdfs_dissect_element_dfs_Info3_stores(tvb, offset, pinfo, tree, drep);
1084
1085
1086         proto_item_set_len(item, offset-old_offset);
1087
1088         return offset;
1089 }
1090
1091
1092 /* IDL: struct { */
1093 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *path; */
1094 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *comment; */
1095 /* IDL:         dfs_VolumeState state; */
1096 /* IDL:         uint32 timeout; */
1097 /* IDL:         GUID guid; */
1098 /* IDL:         uint32 num_stores; */
1099 /* IDL:         [size_is(num_stores)] [unique(1)] dfs_StorageInfo *stores; */
1100 /* IDL: } */
1101
1102 static int
1103 netdfs_dissect_element_dfs_Info4_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1104 {
1105         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info4_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info4_path);
1106
1107         return offset;
1108 }
1109
1110 static int
1111 netdfs_dissect_element_dfs_Info4_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1112 {
1113         char *data;
1114
1115         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info4_path, FALSE, &data);
1116         proto_item_append_text(tree, ": %s", data);
1117
1118         return offset;
1119 }
1120
1121 static int
1122 netdfs_dissect_element_dfs_Info4_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1123 {
1124         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info4_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info4_comment);
1125
1126         return offset;
1127 }
1128
1129 static int
1130 netdfs_dissect_element_dfs_Info4_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1131 {
1132         char *data;
1133
1134         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info4_comment, FALSE, &data);
1135         proto_item_append_text(tree, ": %s", data);
1136
1137         return offset;
1138 }
1139
1140 static int
1141 netdfs_dissect_element_dfs_Info4_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1142 {
1143         offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info4_state, 0);
1144
1145         return offset;
1146 }
1147
1148 static int
1149 netdfs_dissect_element_dfs_Info4_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1150 {
1151         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info4_timeout, 0);
1152
1153         return offset;
1154 }
1155
1156 static int
1157 netdfs_dissect_element_dfs_Info4_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1158 {
1159         offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info4_guid, NULL);
1160
1161         return offset;
1162 }
1163
1164 static int
1165 netdfs_dissect_element_dfs_Info4_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1166 {
1167         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info4_num_stores, 0);
1168
1169         return offset;
1170 }
1171
1172 static int
1173 netdfs_dissect_element_dfs_Info4_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1174 {
1175         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info4_stores_, NDR_POINTER_UNIQUE, "Pointer to Stores (dfs_StorageInfo)",hf_netdfs_dfs_Info4_stores);
1176
1177         return offset;
1178 }
1179
1180 static int
1181 netdfs_dissect_element_dfs_Info4_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1182 {
1183         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info4_stores__);
1184
1185         return offset;
1186 }
1187
1188 static int
1189 netdfs_dissect_element_dfs_Info4_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1190 {
1191         offset = netdfs_dissect_struct_dfs_StorageInfo(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info4_stores,0);
1192
1193         return offset;
1194 }
1195
1196 int
1197 netdfs_dissect_struct_dfs_Info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1198 {
1199         proto_item *item = NULL;
1200         proto_tree *tree = NULL;
1201         int old_offset;
1202
1203         ALIGN_TO_4_BYTES;
1204
1205         old_offset = offset;
1206
1207         if (parent_tree) {
1208                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1209                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info4);
1210         }
1211         
1212         offset = netdfs_dissect_element_dfs_Info4_path(tvb, offset, pinfo, tree, drep);
1213
1214         offset = netdfs_dissect_element_dfs_Info4_comment(tvb, offset, pinfo, tree, drep);
1215
1216         offset = netdfs_dissect_element_dfs_Info4_state(tvb, offset, pinfo, tree, drep);
1217
1218         offset = netdfs_dissect_element_dfs_Info4_timeout(tvb, offset, pinfo, tree, drep);
1219
1220         offset = netdfs_dissect_element_dfs_Info4_guid(tvb, offset, pinfo, tree, drep);
1221
1222         offset = netdfs_dissect_element_dfs_Info4_num_stores(tvb, offset, pinfo, tree, drep);
1223
1224         offset = netdfs_dissect_element_dfs_Info4_stores(tvb, offset, pinfo, tree, drep);
1225
1226
1227         proto_item_set_len(item, offset-old_offset);
1228
1229         return offset;
1230 }
1231
1232
1233 /* IDL: bitmap { */
1234 /* IDL:         DFS_PROPERTY_FLAG_INSITE_REFERRALS =  0x01 , */
1235 /* IDL:         DFS_PROPERTY_FLAG_ROOT_SCALABILITY =  0x02 , */
1236 /* IDL:         DFS_PROPERTY_FLAG_SITE_COSTING =  0x04 , */
1237 /* IDL:         DFS_PROPERTY_FLAG_TARGET_FAILBACK =  0x08 , */
1238 /* IDL:         DFS_PROPERTY_FLAG_CLUSTER_ENABLED =  0x10 , */
1239 /* IDL: } */
1240
1241 int
1242 netdfs_dissect_bitmap_dfs_PropertyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1243 {
1244         proto_item *item = NULL;
1245         proto_tree *tree = NULL;
1246
1247         guint32 flags;
1248         ALIGN_TO_4_BYTES;
1249
1250         if (parent_tree) {
1251                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
1252                 tree = proto_item_add_subtree(item,ett_netdfs_dfs_PropertyFlags);
1253         }
1254
1255         offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
1256         proto_item_append_text(item, ": ");
1257
1258         if (!flags)
1259                 proto_item_append_text(item, "(No values set)");
1260
1261         proto_tree_add_boolean(tree, hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS, tvb, offset-4, 4, flags);
1262         if (flags&( 0x01 )){
1263                 proto_item_append_text(item, "DFS_PROPERTY_FLAG_INSITE_REFERRALS");
1264                 if (flags & (~( 0x01 )))
1265                         proto_item_append_text(item, ", ");
1266         }
1267         flags&=(~( 0x01 ));
1268
1269         proto_tree_add_boolean(tree, hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY, tvb, offset-4, 4, flags);
1270         if (flags&( 0x02 )){
1271                 proto_item_append_text(item, "DFS_PROPERTY_FLAG_ROOT_SCALABILITY");
1272                 if (flags & (~( 0x02 )))
1273                         proto_item_append_text(item, ", ");
1274         }
1275         flags&=(~( 0x02 ));
1276
1277         proto_tree_add_boolean(tree, hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING, tvb, offset-4, 4, flags);
1278         if (flags&( 0x04 )){
1279                 proto_item_append_text(item, "DFS_PROPERTY_FLAG_SITE_COSTING");
1280                 if (flags & (~( 0x04 )))
1281                         proto_item_append_text(item, ", ");
1282         }
1283         flags&=(~( 0x04 ));
1284
1285         proto_tree_add_boolean(tree, hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK, tvb, offset-4, 4, flags);
1286         if (flags&( 0x08 )){
1287                 proto_item_append_text(item, "DFS_PROPERTY_FLAG_TARGET_FAILBACK");
1288                 if (flags & (~( 0x08 )))
1289                         proto_item_append_text(item, ", ");
1290         }
1291         flags&=(~( 0x08 ));
1292
1293         proto_tree_add_boolean(tree, hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED, tvb, offset-4, 4, flags);
1294         if (flags&( 0x10 )){
1295                 proto_item_append_text(item, "DFS_PROPERTY_FLAG_CLUSTER_ENABLED");
1296                 if (flags & (~( 0x10 )))
1297                         proto_item_append_text(item, ", ");
1298         }
1299         flags&=(~( 0x10 ));
1300
1301         if (flags) {
1302                 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
1303         }
1304
1305         return offset;
1306 }
1307
1308
1309 /* IDL: struct { */
1310 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *path; */
1311 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *comment; */
1312 /* IDL:         dfs_VolumeState state; */
1313 /* IDL:         uint32 timeout; */
1314 /* IDL:         GUID guid; */
1315 /* IDL:         dfs_PropertyFlags flags; */
1316 /* IDL:         uint32 pktsize; */
1317 /* IDL:         uint32 num_stores; */
1318 /* IDL: } */
1319
1320 static int
1321 netdfs_dissect_element_dfs_Info5_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1322 {
1323         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info5_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info5_path);
1324
1325         return offset;
1326 }
1327
1328 static int
1329 netdfs_dissect_element_dfs_Info5_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1330 {
1331         char *data;
1332
1333         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info5_path, FALSE, &data);
1334         proto_item_append_text(tree, ": %s", data);
1335
1336         return offset;
1337 }
1338
1339 static int
1340 netdfs_dissect_element_dfs_Info5_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1341 {
1342         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info5_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info5_comment);
1343
1344         return offset;
1345 }
1346
1347 static int
1348 netdfs_dissect_element_dfs_Info5_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1349 {
1350         char *data;
1351
1352         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info5_comment, FALSE, &data);
1353         proto_item_append_text(tree, ": %s", data);
1354
1355         return offset;
1356 }
1357
1358 static int
1359 netdfs_dissect_element_dfs_Info5_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1360 {
1361         offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info5_state, 0);
1362
1363         return offset;
1364 }
1365
1366 static int
1367 netdfs_dissect_element_dfs_Info5_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1368 {
1369         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info5_timeout, 0);
1370
1371         return offset;
1372 }
1373
1374 static int
1375 netdfs_dissect_element_dfs_Info5_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1376 {
1377         offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info5_guid, NULL);
1378
1379         return offset;
1380 }
1381
1382 static int
1383 netdfs_dissect_element_dfs_Info5_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1384 {
1385         offset = netdfs_dissect_bitmap_dfs_PropertyFlags(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info5_flags, 0);
1386
1387         return offset;
1388 }
1389
1390 static int
1391 netdfs_dissect_element_dfs_Info5_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1392 {
1393         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info5_pktsize, 0);
1394
1395         return offset;
1396 }
1397
1398 static int
1399 netdfs_dissect_element_dfs_Info5_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1400 {
1401         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info5_num_stores, 0);
1402
1403         return offset;
1404 }
1405
1406 int
1407 netdfs_dissect_struct_dfs_Info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1408 {
1409         proto_item *item = NULL;
1410         proto_tree *tree = NULL;
1411         int old_offset;
1412
1413         ALIGN_TO_4_BYTES;
1414
1415         old_offset = offset;
1416
1417         if (parent_tree) {
1418                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1419                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info5);
1420         }
1421         
1422         offset = netdfs_dissect_element_dfs_Info5_path(tvb, offset, pinfo, tree, drep);
1423
1424         offset = netdfs_dissect_element_dfs_Info5_comment(tvb, offset, pinfo, tree, drep);
1425
1426         offset = netdfs_dissect_element_dfs_Info5_state(tvb, offset, pinfo, tree, drep);
1427
1428         offset = netdfs_dissect_element_dfs_Info5_timeout(tvb, offset, pinfo, tree, drep);
1429
1430         offset = netdfs_dissect_element_dfs_Info5_guid(tvb, offset, pinfo, tree, drep);
1431
1432         offset = netdfs_dissect_element_dfs_Info5_flags(tvb, offset, pinfo, tree, drep);
1433
1434         offset = netdfs_dissect_element_dfs_Info5_pktsize(tvb, offset, pinfo, tree, drep);
1435
1436         offset = netdfs_dissect_element_dfs_Info5_num_stores(tvb, offset, pinfo, tree, drep);
1437
1438
1439         proto_item_set_len(item, offset-old_offset);
1440
1441         return offset;
1442 }
1443
1444
1445 /* IDL: enum { */
1446 /* IDL:         DFS_INVALID_PRIORITY_CLASS=-1, */
1447 /* IDL:         DFS_SITE_COST_NORMAL_PRIORITY_CLASS=0, */
1448 /* IDL:         DFS_GLOBAL_HIGH_PRIORITY_CLASS=1, */
1449 /* IDL:         DFS_SITE_COST_HIGH_PRIORITY_CLASS=2, */
1450 /* IDL:         DFS_SITE_COST_LOW_PRIORITY_CLASS=3, */
1451 /* IDL:         DFS_GLOBAL_LOW_PRIORITY_CLASS=4, */
1452 /* IDL: } */
1453
1454 int
1455 netdfs_dissect_enum_dfs_Target_PriorityClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
1456 {
1457         guint32 parameter=0;
1458         if(param){
1459                 parameter=(guint32)*param;
1460         }
1461         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &parameter);
1462         if(param){
1463                 *param=(guint32)parameter;
1464         }
1465         return offset;
1466 }
1467
1468
1469 /* IDL: struct { */
1470 /* IDL:         dfs_Target_PriorityClass target_priority_class; */
1471 /* IDL:         uint16 target_priority_rank; */
1472 /* IDL:         uint16 reserved; */
1473 /* IDL: } */
1474
1475 static int
1476 netdfs_dissect_element_dfs_Target_Priority_target_priority_class(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1477 {
1478         offset = netdfs_dissect_enum_dfs_Target_PriorityClass(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Target_Priority_target_priority_class, 0);
1479
1480         return offset;
1481 }
1482
1483 static int
1484 netdfs_dissect_element_dfs_Target_Priority_target_priority_rank(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1485 {
1486         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Target_Priority_target_priority_rank, 0);
1487
1488         return offset;
1489 }
1490
1491 static int
1492 netdfs_dissect_element_dfs_Target_Priority_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1493 {
1494         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Target_Priority_reserved, 0);
1495
1496         return offset;
1497 }
1498
1499 int
1500 netdfs_dissect_struct_dfs_Target_Priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1501 {
1502         proto_item *item = NULL;
1503         proto_tree *tree = NULL;
1504         int old_offset;
1505
1506         ALIGN_TO_4_BYTES;
1507
1508         old_offset = offset;
1509
1510         if (parent_tree) {
1511                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1512                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Target_Priority);
1513         }
1514         
1515         offset = netdfs_dissect_element_dfs_Target_Priority_target_priority_class(tvb, offset, pinfo, tree, drep);
1516
1517         offset = netdfs_dissect_element_dfs_Target_Priority_target_priority_rank(tvb, offset, pinfo, tree, drep);
1518
1519         offset = netdfs_dissect_element_dfs_Target_Priority_reserved(tvb, offset, pinfo, tree, drep);
1520
1521
1522         proto_item_set_len(item, offset-old_offset);
1523
1524         return offset;
1525 }
1526
1527
1528 /* IDL: struct { */
1529 /* IDL:         dfs_StorageInfo info; */
1530 /* IDL:         dfs_Target_Priority target_priority; */
1531 /* IDL: } */
1532
1533 static int
1534 netdfs_dissect_element_dfs_StorageInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1535 {
1536         offset = netdfs_dissect_struct_dfs_StorageInfo(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_StorageInfo2_info,0);
1537
1538         return offset;
1539 }
1540
1541 static int
1542 netdfs_dissect_element_dfs_StorageInfo2_target_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1543 {
1544         offset = netdfs_dissect_struct_dfs_Target_Priority(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_StorageInfo2_target_priority,0);
1545
1546         return offset;
1547 }
1548
1549 int
1550 netdfs_dissect_struct_dfs_StorageInfo2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1551 {
1552         proto_item *item = NULL;
1553         proto_tree *tree = NULL;
1554         int old_offset;
1555
1556         ALIGN_TO_4_BYTES;
1557
1558         old_offset = offset;
1559
1560         if (parent_tree) {
1561                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1562                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_StorageInfo2);
1563         }
1564         
1565         offset = netdfs_dissect_element_dfs_StorageInfo2_info(tvb, offset, pinfo, tree, drep);
1566
1567         offset = netdfs_dissect_element_dfs_StorageInfo2_target_priority(tvb, offset, pinfo, tree, drep);
1568
1569
1570         proto_item_set_len(item, offset-old_offset);
1571
1572         return offset;
1573 }
1574
1575
1576 /* IDL: struct { */
1577 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *entry_path; */
1578 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *comment; */
1579 /* IDL:         dfs_VolumeState state; */
1580 /* IDL:         uint32 timeout; */
1581 /* IDL:         GUID guid; */
1582 /* IDL:         dfs_PropertyFlags flags; */
1583 /* IDL:         uint32 pktsize; */
1584 /* IDL:         uint16 num_stores; */
1585 /* IDL:         [size_is(num_stores)] [unique(1)] dfs_StorageInfo2 *stores; */
1586 /* IDL: } */
1587
1588 static int
1589 netdfs_dissect_element_dfs_Info6_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1590 {
1591         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info6_entry_path_, NDR_POINTER_UNIQUE, "Pointer to Entry Path (uint16)",hf_netdfs_dfs_Info6_entry_path);
1592
1593         return offset;
1594 }
1595
1596 static int
1597 netdfs_dissect_element_dfs_Info6_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1598 {
1599         char *data;
1600
1601         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info6_entry_path, FALSE, &data);
1602         proto_item_append_text(tree, ": %s", data);
1603
1604         return offset;
1605 }
1606
1607 static int
1608 netdfs_dissect_element_dfs_Info6_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1609 {
1610         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info6_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info6_comment);
1611
1612         return offset;
1613 }
1614
1615 static int
1616 netdfs_dissect_element_dfs_Info6_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1617 {
1618         char *data;
1619
1620         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info6_comment, FALSE, &data);
1621         proto_item_append_text(tree, ": %s", data);
1622
1623         return offset;
1624 }
1625
1626 static int
1627 netdfs_dissect_element_dfs_Info6_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1628 {
1629         offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info6_state, 0);
1630
1631         return offset;
1632 }
1633
1634 static int
1635 netdfs_dissect_element_dfs_Info6_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1636 {
1637         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info6_timeout, 0);
1638
1639         return offset;
1640 }
1641
1642 static int
1643 netdfs_dissect_element_dfs_Info6_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1644 {
1645         offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info6_guid, NULL);
1646
1647         return offset;
1648 }
1649
1650 static int
1651 netdfs_dissect_element_dfs_Info6_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1652 {
1653         offset = netdfs_dissect_bitmap_dfs_PropertyFlags(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info6_flags, 0);
1654
1655         return offset;
1656 }
1657
1658 static int
1659 netdfs_dissect_element_dfs_Info6_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1660 {
1661         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info6_pktsize, 0);
1662
1663         return offset;
1664 }
1665
1666 static int
1667 netdfs_dissect_element_dfs_Info6_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1668 {
1669         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info6_num_stores, 0);
1670
1671         return offset;
1672 }
1673
1674 static int
1675 netdfs_dissect_element_dfs_Info6_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1676 {
1677         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info6_stores_, NDR_POINTER_UNIQUE, "Pointer to Stores (dfs_StorageInfo2)",hf_netdfs_dfs_Info6_stores);
1678
1679         return offset;
1680 }
1681
1682 static int
1683 netdfs_dissect_element_dfs_Info6_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1684 {
1685         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info6_stores__);
1686
1687         return offset;
1688 }
1689
1690 static int
1691 netdfs_dissect_element_dfs_Info6_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1692 {
1693         offset = netdfs_dissect_struct_dfs_StorageInfo2(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info6_stores,0);
1694
1695         return offset;
1696 }
1697
1698 int
1699 netdfs_dissect_struct_dfs_Info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1700 {
1701         proto_item *item = NULL;
1702         proto_tree *tree = NULL;
1703         int old_offset;
1704
1705         ALIGN_TO_4_BYTES;
1706
1707         old_offset = offset;
1708
1709         if (parent_tree) {
1710                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1711                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info6);
1712         }
1713         
1714         offset = netdfs_dissect_element_dfs_Info6_entry_path(tvb, offset, pinfo, tree, drep);
1715
1716         offset = netdfs_dissect_element_dfs_Info6_comment(tvb, offset, pinfo, tree, drep);
1717
1718         offset = netdfs_dissect_element_dfs_Info6_state(tvb, offset, pinfo, tree, drep);
1719
1720         offset = netdfs_dissect_element_dfs_Info6_timeout(tvb, offset, pinfo, tree, drep);
1721
1722         offset = netdfs_dissect_element_dfs_Info6_guid(tvb, offset, pinfo, tree, drep);
1723
1724         offset = netdfs_dissect_element_dfs_Info6_flags(tvb, offset, pinfo, tree, drep);
1725
1726         offset = netdfs_dissect_element_dfs_Info6_pktsize(tvb, offset, pinfo, tree, drep);
1727
1728         offset = netdfs_dissect_element_dfs_Info6_num_stores(tvb, offset, pinfo, tree, drep);
1729
1730         offset = netdfs_dissect_element_dfs_Info6_stores(tvb, offset, pinfo, tree, drep);
1731
1732
1733         proto_item_set_len(item, offset-old_offset);
1734
1735         return offset;
1736 }
1737
1738
1739 /* IDL: struct { */
1740 /* IDL:         GUID generation_guid; */
1741 /* IDL: } */
1742
1743 static int
1744 netdfs_dissect_element_dfs_Info7_generation_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1745 {
1746         offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info7_generation_guid, NULL);
1747
1748         return offset;
1749 }
1750
1751 int
1752 netdfs_dissect_struct_dfs_Info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1753 {
1754         proto_item *item = NULL;
1755         proto_tree *tree = NULL;
1756         int old_offset;
1757
1758         ALIGN_TO_4_BYTES;
1759
1760         old_offset = offset;
1761
1762         if (parent_tree) {
1763                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1764                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info7);
1765         }
1766         
1767         offset = netdfs_dissect_element_dfs_Info7_generation_guid(tvb, offset, pinfo, tree, drep);
1768
1769
1770         proto_item_set_len(item, offset-old_offset);
1771
1772         return offset;
1773 }
1774
1775
1776 /* IDL: struct { */
1777 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *comment; */
1778 /* IDL: } */
1779
1780 static int
1781 netdfs_dissect_element_dfs_Info100_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1782 {
1783         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info100_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info100_comment);
1784
1785         return offset;
1786 }
1787
1788 static int
1789 netdfs_dissect_element_dfs_Info100_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1790 {
1791         char *data;
1792
1793         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info100_comment, FALSE, &data);
1794         proto_item_append_text(tree, ": %s", data);
1795
1796         return offset;
1797 }
1798
1799 int
1800 netdfs_dissect_struct_dfs_Info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1801 {
1802         proto_item *item = NULL;
1803         proto_tree *tree = NULL;
1804         int old_offset;
1805
1806         ALIGN_TO_4_BYTES;
1807
1808         old_offset = offset;
1809
1810         if (parent_tree) {
1811                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1812                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info100);
1813         }
1814         
1815         offset = netdfs_dissect_element_dfs_Info100_comment(tvb, offset, pinfo, tree, drep);
1816
1817
1818         proto_item_set_len(item, offset-old_offset);
1819
1820         return offset;
1821 }
1822
1823
1824 /* IDL: struct { */
1825 /* IDL:         dfs_StorageState state; */
1826 /* IDL: } */
1827
1828 static int
1829 netdfs_dissect_element_dfs_Info101_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1830 {
1831         offset = netdfs_dissect_bitmap_dfs_StorageState(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info101_state, 0);
1832
1833         return offset;
1834 }
1835
1836 int
1837 netdfs_dissect_struct_dfs_Info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1838 {
1839         proto_item *item = NULL;
1840         proto_tree *tree = NULL;
1841         int old_offset;
1842
1843         ALIGN_TO_4_BYTES;
1844
1845         old_offset = offset;
1846
1847         if (parent_tree) {
1848                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1849                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info101);
1850         }
1851         
1852         offset = netdfs_dissect_element_dfs_Info101_state(tvb, offset, pinfo, tree, drep);
1853
1854
1855         proto_item_set_len(item, offset-old_offset);
1856
1857         return offset;
1858 }
1859
1860
1861 /* IDL: struct { */
1862 /* IDL:         uint32 timeout; */
1863 /* IDL: } */
1864
1865 static int
1866 netdfs_dissect_element_dfs_Info102_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1867 {
1868         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info102_timeout, 0);
1869
1870         return offset;
1871 }
1872
1873 int
1874 netdfs_dissect_struct_dfs_Info102(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1875 {
1876         proto_item *item = NULL;
1877         proto_tree *tree = NULL;
1878         int old_offset;
1879
1880         ALIGN_TO_4_BYTES;
1881
1882         old_offset = offset;
1883
1884         if (parent_tree) {
1885                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1886                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info102);
1887         }
1888         
1889         offset = netdfs_dissect_element_dfs_Info102_timeout(tvb, offset, pinfo, tree, drep);
1890
1891
1892         proto_item_set_len(item, offset-old_offset);
1893
1894         return offset;
1895 }
1896
1897
1898 /* IDL: struct { */
1899 /* IDL:         dfs_PropertyFlags flags; */
1900 /* IDL: } */
1901
1902 static int
1903 netdfs_dissect_element_dfs_Info103_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1904 {
1905         offset = netdfs_dissect_bitmap_dfs_PropertyFlags(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info103_flags, 0);
1906
1907         return offset;
1908 }
1909
1910 int
1911 netdfs_dissect_struct_dfs_Info103(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1912 {
1913         proto_item *item = NULL;
1914         proto_tree *tree = NULL;
1915         int old_offset;
1916
1917         ALIGN_TO_4_BYTES;
1918
1919         old_offset = offset;
1920
1921         if (parent_tree) {
1922                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1923                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info103);
1924         }
1925         
1926         offset = netdfs_dissect_element_dfs_Info103_flags(tvb, offset, pinfo, tree, drep);
1927
1928
1929         proto_item_set_len(item, offset-old_offset);
1930
1931         return offset;
1932 }
1933
1934
1935 /* IDL: struct { */
1936 /* IDL:         dfs_Target_Priority priority; */
1937 /* IDL: } */
1938
1939 static int
1940 netdfs_dissect_element_dfs_Info104_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1941 {
1942         offset = netdfs_dissect_struct_dfs_Target_Priority(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info104_priority,0);
1943
1944         return offset;
1945 }
1946
1947 int
1948 netdfs_dissect_struct_dfs_Info104(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1949 {
1950         proto_item *item = NULL;
1951         proto_tree *tree = NULL;
1952         int old_offset;
1953
1954         ALIGN_TO_4_BYTES;
1955
1956         old_offset = offset;
1957
1958         if (parent_tree) {
1959                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1960                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info104);
1961         }
1962         
1963         offset = netdfs_dissect_element_dfs_Info104_priority(tvb, offset, pinfo, tree, drep);
1964
1965
1966         proto_item_set_len(item, offset-old_offset);
1967
1968         return offset;
1969 }
1970
1971
1972 /* IDL: struct { */
1973 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *comment; */
1974 /* IDL:         dfs_VolumeState state; */
1975 /* IDL:         uint32 timeout; */
1976 /* IDL:         uint32 property_flag_mask; */
1977 /* IDL:         uint32 property_flags; */
1978 /* IDL: } */
1979
1980 static int
1981 netdfs_dissect_element_dfs_Info105_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1982 {
1983         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info105_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info105_comment);
1984
1985         return offset;
1986 }
1987
1988 static int
1989 netdfs_dissect_element_dfs_Info105_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1990 {
1991         char *data;
1992
1993         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info105_comment, FALSE, &data);
1994         proto_item_append_text(tree, ": %s", data);
1995
1996         return offset;
1997 }
1998
1999 static int
2000 netdfs_dissect_element_dfs_Info105_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2001 {
2002         offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info105_state, 0);
2003
2004         return offset;
2005 }
2006
2007 static int
2008 netdfs_dissect_element_dfs_Info105_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2009 {
2010         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info105_timeout, 0);
2011
2012         return offset;
2013 }
2014
2015 static int
2016 netdfs_dissect_element_dfs_Info105_property_flag_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2017 {
2018         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info105_property_flag_mask, 0);
2019
2020         return offset;
2021 }
2022
2023 static int
2024 netdfs_dissect_element_dfs_Info105_property_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2025 {
2026         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info105_property_flags, 0);
2027
2028         return offset;
2029 }
2030
2031 int
2032 netdfs_dissect_struct_dfs_Info105(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2033 {
2034         proto_item *item = NULL;
2035         proto_tree *tree = NULL;
2036         int old_offset;
2037
2038         ALIGN_TO_4_BYTES;
2039
2040         old_offset = offset;
2041
2042         if (parent_tree) {
2043                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2044                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info105);
2045         }
2046         
2047         offset = netdfs_dissect_element_dfs_Info105_comment(tvb, offset, pinfo, tree, drep);
2048
2049         offset = netdfs_dissect_element_dfs_Info105_state(tvb, offset, pinfo, tree, drep);
2050
2051         offset = netdfs_dissect_element_dfs_Info105_timeout(tvb, offset, pinfo, tree, drep);
2052
2053         offset = netdfs_dissect_element_dfs_Info105_property_flag_mask(tvb, offset, pinfo, tree, drep);
2054
2055         offset = netdfs_dissect_element_dfs_Info105_property_flags(tvb, offset, pinfo, tree, drep);
2056
2057
2058         proto_item_set_len(item, offset-old_offset);
2059
2060         return offset;
2061 }
2062
2063
2064 /* IDL: struct { */
2065 /* IDL:         dfs_StorageState state; */
2066 /* IDL:         dfs_Target_Priority priority; */
2067 /* IDL: } */
2068
2069 static int
2070 netdfs_dissect_element_dfs_Info106_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2071 {
2072         offset = netdfs_dissect_bitmap_dfs_StorageState(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info106_state, 0);
2073
2074         return offset;
2075 }
2076
2077 static int
2078 netdfs_dissect_element_dfs_Info106_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2079 {
2080         offset = netdfs_dissect_struct_dfs_Target_Priority(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info106_priority,0);
2081
2082         return offset;
2083 }
2084
2085 int
2086 netdfs_dissect_struct_dfs_Info106(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2087 {
2088         proto_item *item = NULL;
2089         proto_tree *tree = NULL;
2090         int old_offset;
2091
2092         ALIGN_TO_4_BYTES;
2093
2094         old_offset = offset;
2095
2096         if (parent_tree) {
2097                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2098                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info106);
2099         }
2100         
2101         offset = netdfs_dissect_element_dfs_Info106_state(tvb, offset, pinfo, tree, drep);
2102
2103         offset = netdfs_dissect_element_dfs_Info106_priority(tvb, offset, pinfo, tree, drep);
2104
2105
2106         proto_item_set_len(item, offset-old_offset);
2107
2108         return offset;
2109 }
2110
2111
2112 /* IDL: struct { */
2113 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *dom_root; */
2114 /* IDL: } */
2115
2116 static int
2117 netdfs_dissect_element_dfs_Info200_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2118 {
2119         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info200_dom_root_, NDR_POINTER_UNIQUE, "Pointer to Dom Root (uint16)",hf_netdfs_dfs_Info200_dom_root);
2120
2121         return offset;
2122 }
2123
2124 static int
2125 netdfs_dissect_element_dfs_Info200_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2126 {
2127         char *data;
2128
2129         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info200_dom_root, FALSE, &data);
2130         proto_item_append_text(tree, ": %s", data);
2131
2132         return offset;
2133 }
2134
2135 int
2136 netdfs_dissect_struct_dfs_Info200(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2137 {
2138         proto_item *item = NULL;
2139         proto_tree *tree = NULL;
2140         int old_offset;
2141
2142         ALIGN_TO_4_BYTES;
2143
2144         old_offset = offset;
2145
2146         if (parent_tree) {
2147                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2148                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info200);
2149         }
2150         
2151         offset = netdfs_dissect_element_dfs_Info200_dom_root(tvb, offset, pinfo, tree, drep);
2152
2153
2154         proto_item_set_len(item, offset-old_offset);
2155
2156         return offset;
2157 }
2158
2159
2160 /* IDL: enum { */
2161 /* IDL:         DFS_VOLUME_FLAVOR_STANDALONE=0x100, */
2162 /* IDL:         DFS_VOLUME_FLAVOR_AD_BLOB=0x200, */
2163 /* IDL: } */
2164
2165 int
2166 netdfs_dissect_enum_dfs_VolumeFlavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
2167 {
2168         guint16 parameter=0;
2169         if(param){
2170                 parameter=(guint16)*param;
2171         }
2172         offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hf_index, &parameter);
2173         if(param){
2174                 *param=(guint32)parameter;
2175         }
2176         return offset;
2177 }
2178
2179
2180 /* IDL: struct { */
2181 /* IDL:         dfs_VolumeFlavor flavor; */
2182 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *dom_root; */
2183 /* IDL: } */
2184
2185 static int
2186 netdfs_dissect_element_dfs_Info300_flavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2187 {
2188         offset = netdfs_dissect_enum_dfs_VolumeFlavor(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Info300_flavor, 0);
2189
2190         return offset;
2191 }
2192
2193 static int
2194 netdfs_dissect_element_dfs_Info300_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2195 {
2196         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info300_dom_root_, NDR_POINTER_UNIQUE, "Pointer to Dom Root (uint16)",hf_netdfs_dfs_Info300_dom_root);
2197
2198         return offset;
2199 }
2200
2201 static int
2202 netdfs_dissect_element_dfs_Info300_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2203 {
2204         char *data;
2205
2206         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Info300_dom_root, FALSE, &data);
2207         proto_item_append_text(tree, ": %s", data);
2208
2209         return offset;
2210 }
2211
2212 int
2213 netdfs_dissect_struct_dfs_Info300(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2214 {
2215         proto_item *item = NULL;
2216         proto_tree *tree = NULL;
2217         int old_offset;
2218
2219         ALIGN_TO_4_BYTES;
2220
2221         old_offset = offset;
2222
2223         if (parent_tree) {
2224                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2225                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info300);
2226         }
2227         
2228         offset = netdfs_dissect_element_dfs_Info300_flavor(tvb, offset, pinfo, tree, drep);
2229
2230         offset = netdfs_dissect_element_dfs_Info300_dom_root(tvb, offset, pinfo, tree, drep);
2231
2232
2233         proto_item_set_len(item, offset-old_offset);
2234
2235         return offset;
2236 }
2237
2238
2239 /* IDL: union { */
2240 /* IDL: [case(0)] [unique(1)] [case(0)] dfs_Info0 *info0; */
2241 /* IDL: [case(1)] [unique(1)] [case(1)] dfs_Info1 *info1; */
2242 /* IDL: [case(2)] [unique(1)] [case(2)] dfs_Info2 *info2; */
2243 /* IDL: [case(3)] [unique(1)] [case(3)] dfs_Info3 *info3; */
2244 /* IDL: [case(4)] [unique(1)] [case(4)] dfs_Info4 *info4; */
2245 /* IDL: [case(5)] [unique(1)] [case(5)] dfs_Info5 *info5; */
2246 /* IDL: [case(6)] [unique(1)] [case(6)] dfs_Info6 *info6; */
2247 /* IDL: [case(7)] [unique(1)] [case(7)] dfs_Info7 *info7; */
2248 /* IDL: [case(100)] [unique(1)] [case(100)] dfs_Info100 *info100; */
2249 /* IDL: [case(101)] [unique(1)] [case(101)] dfs_Info101 *info101; */
2250 /* IDL: [case(102)] [unique(1)] [case(102)] dfs_Info102 *info102; */
2251 /* IDL: [case(103)] [unique(1)] [case(103)] dfs_Info103 *info103; */
2252 /* IDL: [case(104)] [unique(1)] [case(104)] dfs_Info104 *info104; */
2253 /* IDL: [case(105)] [unique(1)] [case(105)] dfs_Info105 *info105; */
2254 /* IDL: [case(106)] [unique(1)] [case(106)] dfs_Info106 *info106; */
2255 /* IDL: } */
2256
2257 static int
2258 netdfs_dissect_element_dfs_Info_info0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2259 {
2260         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info0_, NDR_POINTER_UNIQUE, "Pointer to Info0 (dfs_Info0)",hf_netdfs_dfs_Info_info0);
2261
2262         return offset;
2263 }
2264
2265 static int
2266 netdfs_dissect_element_dfs_Info_info0_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2267 {
2268         offset = netdfs_dissect_struct_dfs_Info0(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info0,0);
2269
2270         return offset;
2271 }
2272
2273 static int
2274 netdfs_dissect_element_dfs_Info_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2275 {
2276         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info1_, NDR_POINTER_UNIQUE, "Pointer to Info1 (dfs_Info1)",hf_netdfs_dfs_Info_info1);
2277
2278         return offset;
2279 }
2280
2281 static int
2282 netdfs_dissect_element_dfs_Info_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2283 {
2284         offset = netdfs_dissect_struct_dfs_Info1(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info1,0);
2285
2286         return offset;
2287 }
2288
2289 static int
2290 netdfs_dissect_element_dfs_Info_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2291 {
2292         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info2_, NDR_POINTER_UNIQUE, "Pointer to Info2 (dfs_Info2)",hf_netdfs_dfs_Info_info2);
2293
2294         return offset;
2295 }
2296
2297 static int
2298 netdfs_dissect_element_dfs_Info_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2299 {
2300         offset = netdfs_dissect_struct_dfs_Info2(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info2,0);
2301
2302         return offset;
2303 }
2304
2305 static int
2306 netdfs_dissect_element_dfs_Info_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2307 {
2308         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info3_, NDR_POINTER_UNIQUE, "Pointer to Info3 (dfs_Info3)",hf_netdfs_dfs_Info_info3);
2309
2310         return offset;
2311 }
2312
2313 static int
2314 netdfs_dissect_element_dfs_Info_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2315 {
2316         offset = netdfs_dissect_struct_dfs_Info3(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info3,0);
2317
2318         return offset;
2319 }
2320
2321 static int
2322 netdfs_dissect_element_dfs_Info_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2323 {
2324         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info4_, NDR_POINTER_UNIQUE, "Pointer to Info4 (dfs_Info4)",hf_netdfs_dfs_Info_info4);
2325
2326         return offset;
2327 }
2328
2329 static int
2330 netdfs_dissect_element_dfs_Info_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2331 {
2332         offset = netdfs_dissect_struct_dfs_Info4(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info4,0);
2333
2334         return offset;
2335 }
2336
2337 static int
2338 netdfs_dissect_element_dfs_Info_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2339 {
2340         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info5_, NDR_POINTER_UNIQUE, "Pointer to Info5 (dfs_Info5)",hf_netdfs_dfs_Info_info5);
2341
2342         return offset;
2343 }
2344
2345 static int
2346 netdfs_dissect_element_dfs_Info_info5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2347 {
2348         offset = netdfs_dissect_struct_dfs_Info5(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info5,0);
2349
2350         return offset;
2351 }
2352
2353 static int
2354 netdfs_dissect_element_dfs_Info_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2355 {
2356         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info6_, NDR_POINTER_UNIQUE, "Pointer to Info6 (dfs_Info6)",hf_netdfs_dfs_Info_info6);
2357
2358         return offset;
2359 }
2360
2361 static int
2362 netdfs_dissect_element_dfs_Info_info6_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2363 {
2364         offset = netdfs_dissect_struct_dfs_Info6(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info6,0);
2365
2366         return offset;
2367 }
2368
2369 static int
2370 netdfs_dissect_element_dfs_Info_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2371 {
2372         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info7_, NDR_POINTER_UNIQUE, "Pointer to Info7 (dfs_Info7)",hf_netdfs_dfs_Info_info7);
2373
2374         return offset;
2375 }
2376
2377 static int
2378 netdfs_dissect_element_dfs_Info_info7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2379 {
2380         offset = netdfs_dissect_struct_dfs_Info7(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info7,0);
2381
2382         return offset;
2383 }
2384
2385 static int
2386 netdfs_dissect_element_dfs_Info_info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2387 {
2388         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info100_, NDR_POINTER_UNIQUE, "Pointer to Info100 (dfs_Info100)",hf_netdfs_dfs_Info_info100);
2389
2390         return offset;
2391 }
2392
2393 static int
2394 netdfs_dissect_element_dfs_Info_info100_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2395 {
2396         offset = netdfs_dissect_struct_dfs_Info100(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info100,0);
2397
2398         return offset;
2399 }
2400
2401 static int
2402 netdfs_dissect_element_dfs_Info_info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2403 {
2404         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info101_, NDR_POINTER_UNIQUE, "Pointer to Info101 (dfs_Info101)",hf_netdfs_dfs_Info_info101);
2405
2406         return offset;
2407 }
2408
2409 static int
2410 netdfs_dissect_element_dfs_Info_info101_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2411 {
2412         offset = netdfs_dissect_struct_dfs_Info101(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info101,0);
2413
2414         return offset;
2415 }
2416
2417 static int
2418 netdfs_dissect_element_dfs_Info_info102(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2419 {
2420         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info102_, NDR_POINTER_UNIQUE, "Pointer to Info102 (dfs_Info102)",hf_netdfs_dfs_Info_info102);
2421
2422         return offset;
2423 }
2424
2425 static int
2426 netdfs_dissect_element_dfs_Info_info102_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2427 {
2428         offset = netdfs_dissect_struct_dfs_Info102(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info102,0);
2429
2430         return offset;
2431 }
2432
2433 static int
2434 netdfs_dissect_element_dfs_Info_info103(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2435 {
2436         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info103_, NDR_POINTER_UNIQUE, "Pointer to Info103 (dfs_Info103)",hf_netdfs_dfs_Info_info103);
2437
2438         return offset;
2439 }
2440
2441 static int
2442 netdfs_dissect_element_dfs_Info_info103_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2443 {
2444         offset = netdfs_dissect_struct_dfs_Info103(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info103,0);
2445
2446         return offset;
2447 }
2448
2449 static int
2450 netdfs_dissect_element_dfs_Info_info104(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2451 {
2452         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info104_, NDR_POINTER_UNIQUE, "Pointer to Info104 (dfs_Info104)",hf_netdfs_dfs_Info_info104);
2453
2454         return offset;
2455 }
2456
2457 static int
2458 netdfs_dissect_element_dfs_Info_info104_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2459 {
2460         offset = netdfs_dissect_struct_dfs_Info104(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info104,0);
2461
2462         return offset;
2463 }
2464
2465 static int
2466 netdfs_dissect_element_dfs_Info_info105(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2467 {
2468         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info105_, NDR_POINTER_UNIQUE, "Pointer to Info105 (dfs_Info105)",hf_netdfs_dfs_Info_info105);
2469
2470         return offset;
2471 }
2472
2473 static int
2474 netdfs_dissect_element_dfs_Info_info105_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2475 {
2476         offset = netdfs_dissect_struct_dfs_Info105(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info105,0);
2477
2478         return offset;
2479 }
2480
2481 static int
2482 netdfs_dissect_element_dfs_Info_info106(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2483 {
2484         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Info_info106_, NDR_POINTER_UNIQUE, "Pointer to Info106 (dfs_Info106)",hf_netdfs_dfs_Info_info106);
2485
2486         return offset;
2487 }
2488
2489 static int
2490 netdfs_dissect_element_dfs_Info_info106_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2491 {
2492         offset = netdfs_dissect_struct_dfs_Info106(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Info_info106,0);
2493
2494         return offset;
2495 }
2496
2497 static int
2498 netdfs_dissect_dfs_Info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2499 {
2500         proto_item *item = NULL;
2501         proto_tree *tree = NULL;
2502         int old_offset;
2503         guint32 level;
2504
2505         ALIGN_TO_4_BYTES;
2506
2507         old_offset = offset;
2508         if (parent_tree) {
2509                 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "dfs_Info");
2510                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info);
2511         }
2512
2513         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level);
2514         switch(level) {
2515                 case 0:
2516                         offset = netdfs_dissect_element_dfs_Info_info0(tvb, offset, pinfo, tree, drep);
2517                 break;
2518
2519                 case 1:
2520                         offset = netdfs_dissect_element_dfs_Info_info1(tvb, offset, pinfo, tree, drep);
2521                 break;
2522
2523                 case 2:
2524                         offset = netdfs_dissect_element_dfs_Info_info2(tvb, offset, pinfo, tree, drep);
2525                 break;
2526
2527                 case 3:
2528                         offset = netdfs_dissect_element_dfs_Info_info3(tvb, offset, pinfo, tree, drep);
2529                 break;
2530
2531                 case 4:
2532                         offset = netdfs_dissect_element_dfs_Info_info4(tvb, offset, pinfo, tree, drep);
2533                 break;
2534
2535                 case 5:
2536                         offset = netdfs_dissect_element_dfs_Info_info5(tvb, offset, pinfo, tree, drep);
2537                 break;
2538
2539                 case 6:
2540                         offset = netdfs_dissect_element_dfs_Info_info6(tvb, offset, pinfo, tree, drep);
2541                 break;
2542
2543                 case 7:
2544                         offset = netdfs_dissect_element_dfs_Info_info7(tvb, offset, pinfo, tree, drep);
2545                 break;
2546
2547                 case 100:
2548                         offset = netdfs_dissect_element_dfs_Info_info100(tvb, offset, pinfo, tree, drep);
2549                 break;
2550
2551                 case 101:
2552                         offset = netdfs_dissect_element_dfs_Info_info101(tvb, offset, pinfo, tree, drep);
2553                 break;
2554
2555                 case 102:
2556                         offset = netdfs_dissect_element_dfs_Info_info102(tvb, offset, pinfo, tree, drep);
2557                 break;
2558
2559                 case 103:
2560                         offset = netdfs_dissect_element_dfs_Info_info103(tvb, offset, pinfo, tree, drep);
2561                 break;
2562
2563                 case 104:
2564                         offset = netdfs_dissect_element_dfs_Info_info104(tvb, offset, pinfo, tree, drep);
2565                 break;
2566
2567                 case 105:
2568                         offset = netdfs_dissect_element_dfs_Info_info105(tvb, offset, pinfo, tree, drep);
2569                 break;
2570
2571                 case 106:
2572                         offset = netdfs_dissect_element_dfs_Info_info106(tvb, offset, pinfo, tree, drep);
2573                 break;
2574         }
2575         proto_item_set_len(item, offset-old_offset);
2576
2577         return offset;
2578 }
2579
2580 /* IDL: struct { */
2581 /* IDL:         uint32 count; */
2582 /* IDL:         [size_is(count)] [unique(1)] dfs_Info1 *s; */
2583 /* IDL: } */
2584
2585 static int
2586 netdfs_dissect_element_dfs_EnumArray1_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2587 {
2588         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumArray1_count, 0);
2589
2590         return offset;
2591 }
2592
2593 static int
2594 netdfs_dissect_element_dfs_EnumArray1_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2595 {
2596         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray1_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info1)",hf_netdfs_dfs_EnumArray1_s);
2597
2598         return offset;
2599 }
2600
2601 static int
2602 netdfs_dissect_element_dfs_EnumArray1_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2603 {
2604         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray1_s__);
2605
2606         return offset;
2607 }
2608
2609 static int
2610 netdfs_dissect_element_dfs_EnumArray1_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2611 {
2612         offset = netdfs_dissect_struct_dfs_Info1(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumArray1_s,0);
2613
2614         return offset;
2615 }
2616
2617 int
2618 netdfs_dissect_struct_dfs_EnumArray1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2619 {
2620         proto_item *item = NULL;
2621         proto_tree *tree = NULL;
2622         int old_offset;
2623
2624         ALIGN_TO_4_BYTES;
2625
2626         old_offset = offset;
2627
2628         if (parent_tree) {
2629                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2630                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray1);
2631         }
2632         
2633         offset = netdfs_dissect_element_dfs_EnumArray1_count(tvb, offset, pinfo, tree, drep);
2634
2635         offset = netdfs_dissect_element_dfs_EnumArray1_s(tvb, offset, pinfo, tree, drep);
2636
2637
2638         proto_item_set_len(item, offset-old_offset);
2639
2640         return offset;
2641 }
2642
2643
2644 /* IDL: struct { */
2645 /* IDL:         uint32 count; */
2646 /* IDL:         [size_is(count)] [unique(1)] dfs_Info2 *s; */
2647 /* IDL: } */
2648
2649 static int
2650 netdfs_dissect_element_dfs_EnumArray2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2651 {
2652         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumArray2_count, 0);
2653
2654         return offset;
2655 }
2656
2657 static int
2658 netdfs_dissect_element_dfs_EnumArray2_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2659 {
2660         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray2_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info2)",hf_netdfs_dfs_EnumArray2_s);
2661
2662         return offset;
2663 }
2664
2665 static int
2666 netdfs_dissect_element_dfs_EnumArray2_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2667 {
2668         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray2_s__);
2669
2670         return offset;
2671 }
2672
2673 static int
2674 netdfs_dissect_element_dfs_EnumArray2_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2675 {
2676         offset = netdfs_dissect_struct_dfs_Info2(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumArray2_s,0);
2677
2678         return offset;
2679 }
2680
2681 int
2682 netdfs_dissect_struct_dfs_EnumArray2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2683 {
2684         proto_item *item = NULL;
2685         proto_tree *tree = NULL;
2686         int old_offset;
2687
2688         ALIGN_TO_4_BYTES;
2689
2690         old_offset = offset;
2691
2692         if (parent_tree) {
2693                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2694                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray2);
2695         }
2696         
2697         offset = netdfs_dissect_element_dfs_EnumArray2_count(tvb, offset, pinfo, tree, drep);
2698
2699         offset = netdfs_dissect_element_dfs_EnumArray2_s(tvb, offset, pinfo, tree, drep);
2700
2701
2702         proto_item_set_len(item, offset-old_offset);
2703
2704         return offset;
2705 }
2706
2707
2708 /* IDL: struct { */
2709 /* IDL:         uint32 count; */
2710 /* IDL:         [size_is(count)] [unique(1)] dfs_Info3 *s; */
2711 /* IDL: } */
2712
2713 static int
2714 netdfs_dissect_element_dfs_EnumArray3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2715 {
2716         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumArray3_count, 0);
2717
2718         return offset;
2719 }
2720
2721 static int
2722 netdfs_dissect_element_dfs_EnumArray3_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2723 {
2724         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray3_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info3)",hf_netdfs_dfs_EnumArray3_s);
2725
2726         return offset;
2727 }
2728
2729 static int
2730 netdfs_dissect_element_dfs_EnumArray3_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2731 {
2732         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray3_s__);
2733
2734         return offset;
2735 }
2736
2737 static int
2738 netdfs_dissect_element_dfs_EnumArray3_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2739 {
2740         offset = netdfs_dissect_struct_dfs_Info3(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumArray3_s,0);
2741
2742         return offset;
2743 }
2744
2745 int
2746 netdfs_dissect_struct_dfs_EnumArray3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2747 {
2748         proto_item *item = NULL;
2749         proto_tree *tree = NULL;
2750         int old_offset;
2751
2752         ALIGN_TO_4_BYTES;
2753
2754         old_offset = offset;
2755
2756         if (parent_tree) {
2757                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2758                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray3);
2759         }
2760         
2761         offset = netdfs_dissect_element_dfs_EnumArray3_count(tvb, offset, pinfo, tree, drep);
2762
2763         offset = netdfs_dissect_element_dfs_EnumArray3_s(tvb, offset, pinfo, tree, drep);
2764
2765
2766         proto_item_set_len(item, offset-old_offset);
2767
2768         return offset;
2769 }
2770
2771
2772 /* IDL: struct { */
2773 /* IDL:         uint32 count; */
2774 /* IDL:         [size_is(count)] [unique(1)] dfs_Info4 *s; */
2775 /* IDL: } */
2776
2777 static int
2778 netdfs_dissect_element_dfs_EnumArray4_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2779 {
2780         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumArray4_count, 0);
2781
2782         return offset;
2783 }
2784
2785 static int
2786 netdfs_dissect_element_dfs_EnumArray4_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2787 {
2788         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray4_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info4)",hf_netdfs_dfs_EnumArray4_s);
2789
2790         return offset;
2791 }
2792
2793 static int
2794 netdfs_dissect_element_dfs_EnumArray4_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2795 {
2796         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray4_s__);
2797
2798         return offset;
2799 }
2800
2801 static int
2802 netdfs_dissect_element_dfs_EnumArray4_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2803 {
2804         offset = netdfs_dissect_struct_dfs_Info4(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumArray4_s,0);
2805
2806         return offset;
2807 }
2808
2809 int
2810 netdfs_dissect_struct_dfs_EnumArray4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2811 {
2812         proto_item *item = NULL;
2813         proto_tree *tree = NULL;
2814         int old_offset;
2815
2816         ALIGN_TO_4_BYTES;
2817
2818         old_offset = offset;
2819
2820         if (parent_tree) {
2821                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2822                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray4);
2823         }
2824         
2825         offset = netdfs_dissect_element_dfs_EnumArray4_count(tvb, offset, pinfo, tree, drep);
2826
2827         offset = netdfs_dissect_element_dfs_EnumArray4_s(tvb, offset, pinfo, tree, drep);
2828
2829
2830         proto_item_set_len(item, offset-old_offset);
2831
2832         return offset;
2833 }
2834
2835
2836 /* IDL: struct { */
2837 /* IDL:         uint32 count; */
2838 /* IDL:         [size_is(count)] [unique(1)] dfs_Info200 *s; */
2839 /* IDL: } */
2840
2841 static int
2842 netdfs_dissect_element_dfs_EnumArray200_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2843 {
2844         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumArray200_count, 0);
2845
2846         return offset;
2847 }
2848
2849 static int
2850 netdfs_dissect_element_dfs_EnumArray200_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2851 {
2852         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray200_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info200)",hf_netdfs_dfs_EnumArray200_s);
2853
2854         return offset;
2855 }
2856
2857 static int
2858 netdfs_dissect_element_dfs_EnumArray200_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2859 {
2860         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray200_s__);
2861
2862         return offset;
2863 }
2864
2865 static int
2866 netdfs_dissect_element_dfs_EnumArray200_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2867 {
2868         offset = netdfs_dissect_struct_dfs_Info200(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumArray200_s,0);
2869
2870         return offset;
2871 }
2872
2873 int
2874 netdfs_dissect_struct_dfs_EnumArray200(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2875 {
2876         proto_item *item = NULL;
2877         proto_tree *tree = NULL;
2878         int old_offset;
2879
2880         ALIGN_TO_4_BYTES;
2881
2882         old_offset = offset;
2883
2884         if (parent_tree) {
2885                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2886                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray200);
2887         }
2888         
2889         offset = netdfs_dissect_element_dfs_EnumArray200_count(tvb, offset, pinfo, tree, drep);
2890
2891         offset = netdfs_dissect_element_dfs_EnumArray200_s(tvb, offset, pinfo, tree, drep);
2892
2893
2894         proto_item_set_len(item, offset-old_offset);
2895
2896         return offset;
2897 }
2898
2899
2900 /* IDL: struct { */
2901 /* IDL:         uint32 count; */
2902 /* IDL:         [size_is(count)] [unique(1)] dfs_Info300 *s; */
2903 /* IDL: } */
2904
2905 static int
2906 netdfs_dissect_element_dfs_EnumArray300_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2907 {
2908         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumArray300_count, 0);
2909
2910         return offset;
2911 }
2912
2913 static int
2914 netdfs_dissect_element_dfs_EnumArray300_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2915 {
2916         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray300_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info300)",hf_netdfs_dfs_EnumArray300_s);
2917
2918         return offset;
2919 }
2920
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_, guint8 *drep _U_)
2923 {
2924         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumArray300_s__);
2925
2926         return offset;
2927 }
2928
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_, guint8 *drep _U_)
2931 {
2932         offset = netdfs_dissect_struct_dfs_Info300(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumArray300_s,0);
2933
2934         return offset;
2935 }
2936
2937 int
2938 netdfs_dissect_struct_dfs_EnumArray300(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2939 {
2940         proto_item *item = NULL;
2941         proto_tree *tree = NULL;
2942         int old_offset;
2943
2944         ALIGN_TO_4_BYTES;
2945
2946         old_offset = offset;
2947
2948         if (parent_tree) {
2949                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2950                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray300);
2951         }
2952         
2953         offset = netdfs_dissect_element_dfs_EnumArray300_count(tvb, offset, pinfo, tree, drep);
2954
2955         offset = netdfs_dissect_element_dfs_EnumArray300_s(tvb, offset, pinfo, tree, drep);
2956
2957
2958         proto_item_set_len(item, offset-old_offset);
2959
2960         return offset;
2961 }
2962
2963
2964 /* IDL: union { */
2965 /* IDL: [case(1)] [unique(1)] [case(1)] dfs_EnumArray1 *info1; */
2966 /* IDL: [case(2)] [unique(1)] [case(2)] dfs_EnumArray2 *info2; */
2967 /* IDL: [case(3)] [unique(1)] [case(3)] dfs_EnumArray3 *info3; */
2968 /* IDL: [case(4)] [unique(1)] [case(4)] dfs_EnumArray4 *info4; */
2969 /* IDL: [case(200)] [unique(1)] [case(200)] dfs_EnumArray200 *info200; */
2970 /* IDL: [case(300)] [unique(1)] [case(300)] dfs_EnumArray300 *info300; */
2971 /* IDL: } */
2972
2973 static int
2974 netdfs_dissect_element_dfs_EnumInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2975 {
2976         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumInfo_info1_, NDR_POINTER_UNIQUE, "Pointer to Info1 (dfs_EnumArray1)",hf_netdfs_dfs_EnumInfo_info1);
2977
2978         return offset;
2979 }
2980
2981 static int
2982 netdfs_dissect_element_dfs_EnumInfo_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2983 {
2984         offset = netdfs_dissect_struct_dfs_EnumArray1(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumInfo_info1,0);
2985
2986         return offset;
2987 }
2988
2989 static int
2990 netdfs_dissect_element_dfs_EnumInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2991 {
2992         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumInfo_info2_, NDR_POINTER_UNIQUE, "Pointer to Info2 (dfs_EnumArray2)",hf_netdfs_dfs_EnumInfo_info2);
2993
2994         return offset;
2995 }
2996
2997 static int
2998 netdfs_dissect_element_dfs_EnumInfo_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2999 {
3000         offset = netdfs_dissect_struct_dfs_EnumArray2(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumInfo_info2,0);
3001
3002         return offset;
3003 }
3004
3005 static int
3006 netdfs_dissect_element_dfs_EnumInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3007 {
3008         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumInfo_info3_, NDR_POINTER_UNIQUE, "Pointer to Info3 (dfs_EnumArray3)",hf_netdfs_dfs_EnumInfo_info3);
3009
3010         return offset;
3011 }
3012
3013 static int
3014 netdfs_dissect_element_dfs_EnumInfo_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3015 {
3016         offset = netdfs_dissect_struct_dfs_EnumArray3(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumInfo_info3,0);
3017
3018         return offset;
3019 }
3020
3021 static int
3022 netdfs_dissect_element_dfs_EnumInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3023 {
3024         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumInfo_info4_, NDR_POINTER_UNIQUE, "Pointer to Info4 (dfs_EnumArray4)",hf_netdfs_dfs_EnumInfo_info4);
3025
3026         return offset;
3027 }
3028
3029 static int
3030 netdfs_dissect_element_dfs_EnumInfo_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3031 {
3032         offset = netdfs_dissect_struct_dfs_EnumArray4(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumInfo_info4,0);
3033
3034         return offset;
3035 }
3036
3037 static int
3038 netdfs_dissect_element_dfs_EnumInfo_info200(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3039 {
3040         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumInfo_info200_, NDR_POINTER_UNIQUE, "Pointer to Info200 (dfs_EnumArray200)",hf_netdfs_dfs_EnumInfo_info200);
3041
3042         return offset;
3043 }
3044
3045 static int
3046 netdfs_dissect_element_dfs_EnumInfo_info200_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3047 {
3048         offset = netdfs_dissect_struct_dfs_EnumArray200(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumInfo_info200,0);
3049
3050         return offset;
3051 }
3052
3053 static int
3054 netdfs_dissect_element_dfs_EnumInfo_info300(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3055 {
3056         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumInfo_info300_, NDR_POINTER_UNIQUE, "Pointer to Info300 (dfs_EnumArray300)",hf_netdfs_dfs_EnumInfo_info300);
3057
3058         return offset;
3059 }
3060
3061 static int
3062 netdfs_dissect_element_dfs_EnumInfo_info300_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3063 {
3064         offset = netdfs_dissect_struct_dfs_EnumArray300(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumInfo_info300,0);
3065
3066         return offset;
3067 }
3068
3069 static int
3070 netdfs_dissect_dfs_EnumInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3071 {
3072         proto_item *item = NULL;
3073         proto_tree *tree = NULL;
3074         int old_offset;
3075         guint32 level;
3076
3077         ALIGN_TO_4_BYTES;
3078
3079         old_offset = offset;
3080         if (parent_tree) {
3081                 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "dfs_EnumInfo");
3082                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumInfo);
3083         }
3084
3085         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level);
3086         switch(level) {
3087                 case 1:
3088                         offset = netdfs_dissect_element_dfs_EnumInfo_info1(tvb, offset, pinfo, tree, drep);
3089                 break;
3090
3091                 case 2:
3092                         offset = netdfs_dissect_element_dfs_EnumInfo_info2(tvb, offset, pinfo, tree, drep);
3093                 break;
3094
3095                 case 3:
3096                         offset = netdfs_dissect_element_dfs_EnumInfo_info3(tvb, offset, pinfo, tree, drep);
3097                 break;
3098
3099                 case 4:
3100                         offset = netdfs_dissect_element_dfs_EnumInfo_info4(tvb, offset, pinfo, tree, drep);
3101                 break;
3102
3103                 case 200:
3104                         offset = netdfs_dissect_element_dfs_EnumInfo_info200(tvb, offset, pinfo, tree, drep);
3105                 break;
3106
3107                 case 300:
3108                         offset = netdfs_dissect_element_dfs_EnumInfo_info300(tvb, offset, pinfo, tree, drep);
3109                 break;
3110         }
3111         proto_item_set_len(item, offset-old_offset);
3112
3113         return offset;
3114 }
3115
3116 /* IDL: struct { */
3117 /* IDL:         uint32 level; */
3118 /* IDL:         [switch_is(level)] dfs_EnumInfo e; */
3119 /* IDL: } */
3120
3121 static int
3122 netdfs_dissect_element_dfs_EnumStruct_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3123 {
3124         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumStruct_level, 0);
3125
3126         return offset;
3127 }
3128
3129 static int
3130 netdfs_dissect_element_dfs_EnumStruct_e(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3131 {
3132         offset = netdfs_dissect_dfs_EnumInfo(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumStruct_e, 0);
3133
3134         return offset;
3135 }
3136
3137 int
3138 netdfs_dissect_struct_dfs_EnumStruct(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3139 {
3140         proto_item *item = NULL;
3141         proto_tree *tree = NULL;
3142         int old_offset;
3143
3144         ALIGN_TO_4_BYTES;
3145
3146         old_offset = offset;
3147
3148         if (parent_tree) {
3149                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3150                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumStruct);
3151         }
3152         
3153         offset = netdfs_dissect_element_dfs_EnumStruct_level(tvb, offset, pinfo, tree, drep);
3154
3155         offset = netdfs_dissect_element_dfs_EnumStruct_e(tvb, offset, pinfo, tree, drep);
3156
3157
3158         proto_item_set_len(item, offset-old_offset);
3159
3160         return offset;
3161 }
3162
3163
3164 /* IDL: struct { */
3165 /* IDL:         uint32 unknown1; */
3166 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *unknown2; */
3167 /* IDL: } */
3168
3169 static int
3170 netdfs_dissect_element_dfs_UnknownStruct_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3171 {
3172         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_UnknownStruct_unknown1, 0);
3173
3174         return offset;
3175 }
3176
3177 static int
3178 netdfs_dissect_element_dfs_UnknownStruct_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3179 {
3180         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_UnknownStruct_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (uint16)",hf_netdfs_dfs_UnknownStruct_unknown2);
3181
3182         return offset;
3183 }
3184
3185 static int
3186 netdfs_dissect_element_dfs_UnknownStruct_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3187 {
3188         char *data;
3189
3190         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_UnknownStruct_unknown2, FALSE, &data);
3191         proto_item_append_text(tree, ": %s", data);
3192
3193         return offset;
3194 }
3195
3196 int
3197 netdfs_dissect_struct_dfs_UnknownStruct(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3198 {
3199         proto_item *item = NULL;
3200         proto_tree *tree = NULL;
3201         int old_offset;
3202
3203         ALIGN_TO_4_BYTES;
3204
3205         old_offset = offset;
3206
3207         if (parent_tree) {
3208                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3209                 tree = proto_item_add_subtree(item, ett_netdfs_dfs_UnknownStruct);
3210         }
3211         
3212         offset = netdfs_dissect_element_dfs_UnknownStruct_unknown1(tvb, offset, pinfo, tree, drep);
3213
3214         offset = netdfs_dissect_element_dfs_UnknownStruct_unknown2(tvb, offset, pinfo, tree, drep);
3215
3216
3217         proto_item_set_len(item, offset-old_offset);
3218
3219         return offset;
3220 }
3221
3222 static int
3223 netdfs_dissect_element_dfs_GetManagerVersion_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3224 {
3225         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_GetManagerVersion_version_, NDR_POINTER_REF, "Pointer to Version (dfs_ManagerVersion)",hf_netdfs_dfs_GetManagerVersion_version);
3226
3227         return offset;
3228 }
3229
3230 static int
3231 netdfs_dissect_element_dfs_GetManagerVersion_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3232 {
3233         offset = netdfs_dissect_enum_dfs_ManagerVersion(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_GetManagerVersion_version, 0);
3234
3235         return offset;
3236 }
3237
3238 /* IDL: void dfs_GetManagerVersion( */
3239 /* IDL: [out] [ref] dfs_ManagerVersion *version */
3240 /* IDL: ); */
3241
3242 static int
3243 netdfs_dissect_dfs_GetManagerVersion_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3244 {
3245         pinfo->dcerpc_procedure_name="dfs_GetManagerVersion";
3246         offset = netdfs_dissect_element_dfs_GetManagerVersion_version(tvb, offset, pinfo, tree, drep);
3247         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3248
3249         return offset;
3250 }
3251
3252 static int
3253 netdfs_dissect_dfs_GetManagerVersion_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3254 {
3255         pinfo->dcerpc_procedure_name="dfs_GetManagerVersion";
3256         return offset;
3257 }
3258
3259 static int
3260 netdfs_dissect_element_dfs_Add_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3261 {
3262         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Add_path_, NDR_POINTER_REF, "Pointer to Path (uint16)",hf_netdfs_dfs_Add_path);
3263
3264         return offset;
3265 }
3266
3267 static int
3268 netdfs_dissect_element_dfs_Add_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3269 {
3270         char *data;
3271
3272         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Add_path, FALSE, &data);
3273         proto_item_append_text(tree, ": %s", data);
3274
3275         return offset;
3276 }
3277
3278 static int
3279 netdfs_dissect_element_dfs_Add_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3280 {
3281         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Add_server_, NDR_POINTER_REF, "Pointer to Server (uint16)",hf_netdfs_dfs_Add_server);
3282
3283         return offset;
3284 }
3285
3286 static int
3287 netdfs_dissect_element_dfs_Add_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3288 {
3289         char *data;
3290
3291         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Add_server, FALSE, &data);
3292         proto_item_append_text(tree, ": %s", data);
3293
3294         return offset;
3295 }
3296
3297 static int
3298 netdfs_dissect_element_dfs_Add_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3299 {
3300         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Add_share_, NDR_POINTER_UNIQUE, "Pointer to Share (uint16)",hf_netdfs_dfs_Add_share);
3301
3302         return offset;
3303 }
3304
3305 static int
3306 netdfs_dissect_element_dfs_Add_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3307 {
3308         char *data;
3309
3310         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Add_share, FALSE, &data);
3311         proto_item_append_text(tree, ": %s", data);
3312
3313         return offset;
3314 }
3315
3316 static int
3317 netdfs_dissect_element_dfs_Add_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3318 {
3319         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Add_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Add_comment);
3320
3321         return offset;
3322 }
3323
3324 static int
3325 netdfs_dissect_element_dfs_Add_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3326 {
3327         char *data;
3328
3329         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Add_comment, FALSE, &data);
3330         proto_item_append_text(tree, ": %s", data);
3331
3332         return offset;
3333 }
3334
3335 static int
3336 netdfs_dissect_element_dfs_Add_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3337 {
3338         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Add_flags, 0);
3339
3340         return offset;
3341 }
3342
3343 /* IDL: WERROR dfs_Add( */
3344 /* IDL: [charset(UTF16)] [in] [ref] uint16 *path, */
3345 /* IDL: [charset(UTF16)] [in] [ref] uint16 *server, */
3346 /* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *share, */
3347 /* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *comment, */
3348 /* IDL: [in] uint32 flags */
3349 /* IDL: ); */
3350
3351 static int
3352 netdfs_dissect_dfs_Add_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3353 {
3354         guint32 status;
3355
3356         pinfo->dcerpc_procedure_name="dfs_Add";
3357         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
3358
3359         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
3360                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
3361
3362         return offset;
3363 }
3364
3365 static int
3366 netdfs_dissect_dfs_Add_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3367 {
3368         pinfo->dcerpc_procedure_name="dfs_Add";
3369         offset = netdfs_dissect_element_dfs_Add_path(tvb, offset, pinfo, tree, drep);
3370         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3371         offset = netdfs_dissect_element_dfs_Add_server(tvb, offset, pinfo, tree, drep);
3372         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3373         offset = netdfs_dissect_element_dfs_Add_share(tvb, offset, pinfo, tree, drep);
3374         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3375         offset = netdfs_dissect_element_dfs_Add_comment(tvb, offset, pinfo, tree, drep);
3376         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3377         offset = netdfs_dissect_element_dfs_Add_flags(tvb, offset, pinfo, tree, drep);
3378         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3379         return offset;
3380 }
3381
3382 static int
3383 netdfs_dissect_element_dfs_Remove_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3384 {
3385         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, 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);
3386
3387         return offset;
3388 }
3389
3390 static int
3391 netdfs_dissect_element_dfs_Remove_dfs_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3392 {
3393         char *data;
3394
3395         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Remove_dfs_entry_path, FALSE, &data);
3396         proto_item_append_text(tree, ": %s", data);
3397
3398         return offset;
3399 }
3400
3401 static int
3402 netdfs_dissect_element_dfs_Remove_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3403 {
3404         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Remove_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_netdfs_dfs_Remove_servername);
3405
3406         return offset;
3407 }
3408
3409 static int
3410 netdfs_dissect_element_dfs_Remove_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3411 {
3412         char *data;
3413
3414         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Remove_servername, FALSE, &data);
3415         proto_item_append_text(tree, ": %s", data);
3416
3417         return offset;
3418 }
3419
3420 static int
3421 netdfs_dissect_element_dfs_Remove_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3422 {
3423         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Remove_sharename_, NDR_POINTER_UNIQUE, "Pointer to Sharename (uint16)",hf_netdfs_dfs_Remove_sharename);
3424
3425         return offset;
3426 }
3427
3428 static int
3429 netdfs_dissect_element_dfs_Remove_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3430 {
3431         char *data;
3432
3433         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_Remove_sharename, FALSE, &data);
3434         proto_item_append_text(tree, ": %s", data);
3435
3436         return offset;
3437 }
3438
3439 /* IDL: WERROR dfs_Remove( */
3440 /* IDL: [charset(UTF16)] [in] [ref] uint16 *dfs_entry_path, */
3441 /* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *servername, */
3442 /* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *sharename */
3443 /* IDL: ); */
3444
3445 static int
3446 netdfs_dissect_dfs_Remove_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3447 {
3448         guint32 status;
3449
3450         pinfo->dcerpc_procedure_name="dfs_Remove";
3451         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
3452
3453         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
3454                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
3455
3456         return offset;
3457 }
3458
3459 static int
3460 netdfs_dissect_dfs_Remove_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3461 {
3462         pinfo->dcerpc_procedure_name="dfs_Remove";
3463         offset = netdfs_dissect_element_dfs_Remove_dfs_entry_path(tvb, offset, pinfo, tree, drep);
3464         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3465         offset = netdfs_dissect_element_dfs_Remove_servername(tvb, offset, pinfo, tree, drep);
3466         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3467         offset = netdfs_dissect_element_dfs_Remove_sharename(tvb, offset, pinfo, tree, drep);
3468         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3469         return offset;
3470 }
3471
3472 static int
3473 netdfs_dissect_element_dfs_SetInfo_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3474 {
3475         char *data;
3476
3477         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_SetInfo_dfs_entry_path, FALSE, &data);
3478         proto_item_append_text(tree, ": %s", data);
3479
3480         return offset;
3481 }
3482
3483 static int
3484 netdfs_dissect_element_dfs_SetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3485 {
3486         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_SetInfo_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_netdfs_dfs_SetInfo_servername);
3487
3488         return offset;
3489 }
3490
3491 static int
3492 netdfs_dissect_element_dfs_SetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3493 {
3494         char *data;
3495
3496         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_SetInfo_servername, FALSE, &data);
3497         proto_item_append_text(tree, ": %s", data);
3498
3499         return offset;
3500 }
3501
3502 static int
3503 netdfs_dissect_element_dfs_SetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3504 {
3505         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_SetInfo_sharename_, NDR_POINTER_UNIQUE, "Pointer to Sharename (uint16)",hf_netdfs_dfs_SetInfo_sharename);
3506
3507         return offset;
3508 }
3509
3510 static int
3511 netdfs_dissect_element_dfs_SetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3512 {
3513         char *data;
3514
3515         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_SetInfo_sharename, FALSE, &data);
3516         proto_item_append_text(tree, ": %s", data);
3517
3518         return offset;
3519 }
3520
3521 static int
3522 netdfs_dissect_element_dfs_SetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3523 {
3524         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_SetInfo_level, 0);
3525
3526         return offset;
3527 }
3528
3529 static int
3530 netdfs_dissect_element_dfs_SetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3531 {
3532         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_SetInfo_info_, NDR_POINTER_REF, "Pointer to Info (dfs_Info)",hf_netdfs_dfs_SetInfo_info);
3533
3534         return offset;
3535 }
3536
3537 static int
3538 netdfs_dissect_element_dfs_SetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3539 {
3540         offset = netdfs_dissect_dfs_Info(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_SetInfo_info, 0);
3541
3542         return offset;
3543 }
3544
3545 /* IDL: WERROR dfs_SetInfo( */
3546 /* IDL: [charset(UTF16)] [in] uint16 dfs_entry_path[*], */
3547 /* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *servername, */
3548 /* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *sharename, */
3549 /* IDL: [in] uint32 level, */
3550 /* IDL: [switch_is(level)] [in] [ref] dfs_Info *info */
3551 /* IDL: ); */
3552
3553 static int
3554 netdfs_dissect_dfs_SetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3555 {
3556         guint32 status;
3557
3558         pinfo->dcerpc_procedure_name="dfs_SetInfo";
3559         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
3560
3561         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
3562                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
3563
3564         return offset;
3565 }
3566
3567 static int
3568 netdfs_dissect_dfs_SetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3569 {
3570         pinfo->dcerpc_procedure_name="dfs_SetInfo";
3571         offset = netdfs_dissect_element_dfs_SetInfo_dfs_entry_path(tvb, offset, pinfo, tree, drep);
3572         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3573         offset = netdfs_dissect_element_dfs_SetInfo_servername(tvb, offset, pinfo, tree, drep);
3574         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3575         offset = netdfs_dissect_element_dfs_SetInfo_sharename(tvb, offset, pinfo, tree, drep);
3576         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3577         offset = netdfs_dissect_element_dfs_SetInfo_level(tvb, offset, pinfo, tree, drep);
3578         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3579         offset = netdfs_dissect_element_dfs_SetInfo_info(tvb, offset, pinfo, tree, drep);
3580         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3581         return offset;
3582 }
3583
3584 static int
3585 netdfs_dissect_element_dfs_GetInfo_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3586 {
3587         char *data;
3588
3589         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_GetInfo_dfs_entry_path, FALSE, &data);
3590         proto_item_append_text(tree, ": %s", data);
3591
3592         return offset;
3593 }
3594
3595 static int
3596 netdfs_dissect_element_dfs_GetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3597 {
3598         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_GetInfo_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_netdfs_dfs_GetInfo_servername);
3599
3600         return offset;
3601 }
3602
3603 static int
3604 netdfs_dissect_element_dfs_GetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3605 {
3606         char *data;
3607
3608         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_GetInfo_servername, FALSE, &data);
3609         proto_item_append_text(tree, ": %s", data);
3610
3611         return offset;
3612 }
3613
3614 static int
3615 netdfs_dissect_element_dfs_GetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3616 {
3617         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_GetInfo_sharename_, NDR_POINTER_UNIQUE, "Pointer to Sharename (uint16)",hf_netdfs_dfs_GetInfo_sharename);
3618
3619         return offset;
3620 }
3621
3622 static int
3623 netdfs_dissect_element_dfs_GetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3624 {
3625         char *data;
3626
3627         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_GetInfo_sharename, FALSE, &data);
3628         proto_item_append_text(tree, ": %s", data);
3629
3630         return offset;
3631 }
3632
3633 static int
3634 netdfs_dissect_element_dfs_GetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3635 {
3636         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_GetInfo_level, 0);
3637
3638         return offset;
3639 }
3640
3641 static int
3642 netdfs_dissect_element_dfs_GetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3643 {
3644         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_GetInfo_info_, NDR_POINTER_REF, "Pointer to Info (dfs_Info)",hf_netdfs_dfs_GetInfo_info);
3645
3646         return offset;
3647 }
3648
3649 static int
3650 netdfs_dissect_element_dfs_GetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3651 {
3652         offset = netdfs_dissect_dfs_Info(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_GetInfo_info, 0);
3653
3654         return offset;
3655 }
3656
3657 /* IDL: WERROR dfs_GetInfo( */
3658 /* IDL: [charset(UTF16)] [in] uint16 dfs_entry_path[*], */
3659 /* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *servername, */
3660 /* IDL: [charset(UTF16)] [unique(1)] [in] uint16 *sharename, */
3661 /* IDL: [in] uint32 level, */
3662 /* IDL: [switch_is(level)] [out] [ref] dfs_Info *info */
3663 /* IDL: ); */
3664
3665 static int
3666 netdfs_dissect_dfs_GetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3667 {
3668         guint32 status;
3669
3670         pinfo->dcerpc_procedure_name="dfs_GetInfo";
3671         offset = netdfs_dissect_element_dfs_GetInfo_info(tvb, offset, pinfo, tree, drep);
3672         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3673
3674         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
3675
3676         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
3677                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
3678
3679         return offset;
3680 }
3681
3682 static int
3683 netdfs_dissect_dfs_GetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3684 {
3685         pinfo->dcerpc_procedure_name="dfs_GetInfo";
3686         offset = netdfs_dissect_element_dfs_GetInfo_dfs_entry_path(tvb, offset, pinfo, tree, drep);
3687         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3688         offset = netdfs_dissect_element_dfs_GetInfo_servername(tvb, offset, pinfo, tree, drep);
3689         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3690         offset = netdfs_dissect_element_dfs_GetInfo_sharename(tvb, offset, pinfo, tree, drep);
3691         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3692         offset = netdfs_dissect_element_dfs_GetInfo_level(tvb, offset, pinfo, tree, drep);
3693         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3694         return offset;
3695 }
3696
3697 static int
3698 netdfs_dissect_element_dfs_Enum_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3699 {
3700         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Enum_level, 0);
3701
3702         return offset;
3703 }
3704
3705 static int
3706 netdfs_dissect_element_dfs_Enum_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3707 {
3708         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Enum_bufsize, 0);
3709
3710         return offset;
3711 }
3712
3713 static int
3714 netdfs_dissect_element_dfs_Enum_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3715 {
3716         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Enum_info_, NDR_POINTER_UNIQUE, "Pointer to Info (dfs_EnumStruct)",hf_netdfs_dfs_Enum_info);
3717
3718         return offset;
3719 }
3720
3721 static int
3722 netdfs_dissect_element_dfs_Enum_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3723 {
3724         offset = netdfs_dissect_struct_dfs_EnumStruct(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_Enum_info,0);
3725
3726         return offset;
3727 }
3728
3729 static int
3730 netdfs_dissect_element_dfs_Enum_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3731 {
3732         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_Enum_total_, NDR_POINTER_UNIQUE, "Pointer to Total (uint32)",hf_netdfs_dfs_Enum_total);
3733
3734         return offset;
3735 }
3736
3737 static int
3738 netdfs_dissect_element_dfs_Enum_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3739 {
3740         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_Enum_total, 0);
3741
3742         return offset;
3743 }
3744
3745 /* IDL: WERROR dfs_Enum( */
3746 /* IDL: [in] uint32 level, */
3747 /* IDL: [in] uint32 bufsize, */
3748 /* IDL: [out] [in] [unique(1)] dfs_EnumStruct *info, */
3749 /* IDL: [out] [in] [unique(1)] uint32 *total */
3750 /* IDL: ); */
3751
3752 static int
3753 netdfs_dissect_dfs_Enum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3754 {
3755         guint32 status;
3756
3757         pinfo->dcerpc_procedure_name="dfs_Enum";
3758         offset = netdfs_dissect_element_dfs_Enum_info(tvb, offset, pinfo, tree, drep);
3759         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3760
3761         offset = netdfs_dissect_element_dfs_Enum_total(tvb, offset, pinfo, tree, drep);
3762         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3763
3764         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
3765
3766         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
3767                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
3768
3769         return offset;
3770 }
3771
3772 static int
3773 netdfs_dissect_dfs_Enum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3774 {
3775         pinfo->dcerpc_procedure_name="dfs_Enum";
3776         offset = netdfs_dissect_element_dfs_Enum_level(tvb, offset, pinfo, tree, drep);
3777         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3778         offset = netdfs_dissect_element_dfs_Enum_bufsize(tvb, offset, pinfo, tree, drep);
3779         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3780         offset = netdfs_dissect_element_dfs_Enum_info(tvb, offset, pinfo, tree, drep);
3781         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3782         offset = netdfs_dissect_element_dfs_Enum_total(tvb, offset, pinfo, tree, drep);
3783         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
3784         return offset;
3785 }
3786
3787 /* IDL: WERROR dfs_Rename( */
3788 /* IDL:  */
3789 /* IDL: ); */
3790
3791 static int
3792 netdfs_dissect_dfs_Rename_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3793 {
3794         guint32 status;
3795
3796         pinfo->dcerpc_procedure_name="dfs_Rename";
3797         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
3798
3799         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
3800                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
3801
3802         return offset;
3803 }
3804
3805 static int
3806 netdfs_dissect_dfs_Rename_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3807 {
3808         pinfo->dcerpc_procedure_name="dfs_Rename";
3809         return offset;
3810 }
3811
3812 /* IDL: WERROR dfs_Move( */
3813 /* IDL:  */
3814 /* IDL: ); */
3815
3816 static int
3817 netdfs_dissect_dfs_Move_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3818 {
3819         guint32 status;
3820
3821         pinfo->dcerpc_procedure_name="dfs_Move";
3822         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
3823
3824         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
3825                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
3826
3827         return offset;
3828 }
3829
3830 static int
3831 netdfs_dissect_dfs_Move_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3832 {
3833         pinfo->dcerpc_procedure_name="dfs_Move";
3834         return offset;
3835 }
3836
3837 /* IDL: WERROR dfs_ManagerGetConfigInfo( */
3838 /* IDL:  */
3839 /* IDL: ); */
3840
3841 static int
3842 netdfs_dissect_dfs_ManagerGetConfigInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3843 {
3844         guint32 status;
3845
3846         pinfo->dcerpc_procedure_name="dfs_ManagerGetConfigInfo";
3847         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
3848
3849         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
3850                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
3851
3852         return offset;
3853 }
3854
3855 static int
3856 netdfs_dissect_dfs_ManagerGetConfigInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3857 {
3858         pinfo->dcerpc_procedure_name="dfs_ManagerGetConfigInfo";
3859         return offset;
3860 }
3861
3862 /* IDL: WERROR dfs_ManagerSendSiteInfo( */
3863 /* IDL:  */
3864 /* IDL: ); */
3865
3866 static int
3867 netdfs_dissect_dfs_ManagerSendSiteInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3868 {
3869         guint32 status;
3870
3871         pinfo->dcerpc_procedure_name="dfs_ManagerSendSiteInfo";
3872         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
3873
3874         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
3875                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
3876
3877         return offset;
3878 }
3879
3880 static int
3881 netdfs_dissect_dfs_ManagerSendSiteInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3882 {
3883         pinfo->dcerpc_procedure_name="dfs_ManagerSendSiteInfo";
3884         return offset;
3885 }
3886
3887 static int
3888 netdfs_dissect_element_dfs_AddFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3889 {
3890         char *data;
3891
3892         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddFtRoot_servername, FALSE, &data);
3893         proto_item_append_text(tree, ": %s", data);
3894
3895         return offset;
3896 }
3897
3898 static int
3899 netdfs_dissect_element_dfs_AddFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3900 {
3901         char *data;
3902
3903         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddFtRoot_dns_servername, FALSE, &data);
3904         proto_item_append_text(tree, ": %s", data);
3905
3906         return offset;
3907 }
3908
3909 static int
3910 netdfs_dissect_element_dfs_AddFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3911 {
3912         char *data;
3913
3914         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddFtRoot_dfsname, FALSE, &data);
3915         proto_item_append_text(tree, ": %s", data);
3916
3917         return offset;
3918 }
3919
3920 static int
3921 netdfs_dissect_element_dfs_AddFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3922 {
3923         char *data;
3924
3925         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddFtRoot_rootshare, FALSE, &data);
3926         proto_item_append_text(tree, ": %s", data);
3927
3928         return offset;
3929 }
3930
3931 static int
3932 netdfs_dissect_element_dfs_AddFtRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3933 {
3934         char *data;
3935
3936         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddFtRoot_comment, FALSE, &data);
3937         proto_item_append_text(tree, ": %s", data);
3938
3939         return offset;
3940 }
3941
3942 static int
3943 netdfs_dissect_element_dfs_AddFtRoot_dfs_config_dn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3944 {
3945         char *data;
3946
3947         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddFtRoot_dfs_config_dn, FALSE, &data);
3948         proto_item_append_text(tree, ": %s", data);
3949
3950         return offset;
3951 }
3952
3953 static int
3954 netdfs_dissect_element_dfs_AddFtRoot_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3955 {
3956         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_AddFtRoot_unknown1, 0);
3957
3958         return offset;
3959 }
3960
3961 static int
3962 netdfs_dissect_element_dfs_AddFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3963 {
3964         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_AddFtRoot_flags, 0);
3965
3966         return offset;
3967 }
3968
3969 static int
3970 netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3971 {
3972         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_AddFtRoot_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (dfs_UnknownStruct)",hf_netdfs_dfs_AddFtRoot_unknown2);
3973
3974         return offset;
3975 }
3976
3977 static int
3978 netdfs_dissect_element_dfs_AddFtRoot_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3979 {
3980         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_AddFtRoot_unknown2__, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (dfs_UnknownStruct)",hf_netdfs_dfs_AddFtRoot_unknown2);
3981
3982         return offset;
3983 }
3984
3985 static int
3986 netdfs_dissect_element_dfs_AddFtRoot_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
3987 {
3988         offset = netdfs_dissect_struct_dfs_UnknownStruct(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_AddFtRoot_unknown2,0);
3989
3990         return offset;
3991 }
3992
3993 /* IDL: WERROR dfs_AddFtRoot( */
3994 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
3995 /* IDL: [charset(UTF16)] [in] uint16 dns_servername[*], */
3996 /* IDL: [charset(UTF16)] [in] uint16 dfsname[*], */
3997 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
3998 /* IDL: [charset(UTF16)] [in] uint16 comment[*], */
3999 /* IDL: [charset(UTF16)] [in] uint16 dfs_config_dn[*], */
4000 /* IDL: [in] uint8 unknown1, */
4001 /* IDL: [in] uint32 flags, */
4002 /* IDL: [out] [in] [unique(1)] dfs_UnknownStruct **unknown2 */
4003 /* IDL: ); */
4004
4005 static int
4006 netdfs_dissect_dfs_AddFtRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4007 {
4008         guint32 status;
4009
4010         pinfo->dcerpc_procedure_name="dfs_AddFtRoot";
4011         offset = netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvb, offset, pinfo, tree, drep);
4012         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4013
4014         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4015
4016         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4017                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4018
4019         return offset;
4020 }
4021
4022 static int
4023 netdfs_dissect_dfs_AddFtRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4024 {
4025         pinfo->dcerpc_procedure_name="dfs_AddFtRoot";
4026         offset = netdfs_dissect_element_dfs_AddFtRoot_servername(tvb, offset, pinfo, tree, drep);
4027         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4028         offset = netdfs_dissect_element_dfs_AddFtRoot_dns_servername(tvb, offset, pinfo, tree, drep);
4029         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4030         offset = netdfs_dissect_element_dfs_AddFtRoot_dfsname(tvb, offset, pinfo, tree, drep);
4031         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4032         offset = netdfs_dissect_element_dfs_AddFtRoot_rootshare(tvb, offset, pinfo, tree, drep);
4033         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4034         offset = netdfs_dissect_element_dfs_AddFtRoot_comment(tvb, offset, pinfo, tree, drep);
4035         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4036         offset = netdfs_dissect_element_dfs_AddFtRoot_dfs_config_dn(tvb, offset, pinfo, tree, drep);
4037         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4038         offset = netdfs_dissect_element_dfs_AddFtRoot_unknown1(tvb, offset, pinfo, tree, drep);
4039         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4040         offset = netdfs_dissect_element_dfs_AddFtRoot_flags(tvb, offset, pinfo, tree, drep);
4041         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4042         offset = netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvb, offset, pinfo, tree, drep);
4043         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4044         return offset;
4045 }
4046
4047 static int
4048 netdfs_dissect_element_dfs_RemoveFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4049 {
4050         char *data;
4051
4052         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_RemoveFtRoot_servername, FALSE, &data);
4053         proto_item_append_text(tree, ": %s", data);
4054
4055         return offset;
4056 }
4057
4058 static int
4059 netdfs_dissect_element_dfs_RemoveFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4060 {
4061         char *data;
4062
4063         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_RemoveFtRoot_dns_servername, FALSE, &data);
4064         proto_item_append_text(tree, ": %s", data);
4065
4066         return offset;
4067 }
4068
4069 static int
4070 netdfs_dissect_element_dfs_RemoveFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4071 {
4072         char *data;
4073
4074         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_RemoveFtRoot_dfsname, FALSE, &data);
4075         proto_item_append_text(tree, ": %s", data);
4076
4077         return offset;
4078 }
4079
4080 static int
4081 netdfs_dissect_element_dfs_RemoveFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4082 {
4083         char *data;
4084
4085         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_RemoveFtRoot_rootshare, FALSE, &data);
4086         proto_item_append_text(tree, ": %s", data);
4087
4088         return offset;
4089 }
4090
4091 static int
4092 netdfs_dissect_element_dfs_RemoveFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4093 {
4094         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_RemoveFtRoot_flags, 0);
4095
4096         return offset;
4097 }
4098
4099 static int
4100 netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4101 {
4102         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_RemoveFtRoot_unknown_, NDR_POINTER_UNIQUE, "Pointer to Unknown (dfs_UnknownStruct)",hf_netdfs_dfs_RemoveFtRoot_unknown);
4103
4104         return offset;
4105 }
4106
4107 static int
4108 netdfs_dissect_element_dfs_RemoveFtRoot_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4109 {
4110         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_RemoveFtRoot_unknown__, NDR_POINTER_UNIQUE, "Pointer to Unknown (dfs_UnknownStruct)",hf_netdfs_dfs_RemoveFtRoot_unknown);
4111
4112         return offset;
4113 }
4114
4115 static int
4116 netdfs_dissect_element_dfs_RemoveFtRoot_unknown__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4117 {
4118         offset = netdfs_dissect_struct_dfs_UnknownStruct(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_RemoveFtRoot_unknown,0);
4119
4120         return offset;
4121 }
4122
4123 /* IDL: WERROR dfs_RemoveFtRoot( */
4124 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4125 /* IDL: [charset(UTF16)] [in] uint16 dns_servername[*], */
4126 /* IDL: [charset(UTF16)] [in] uint16 dfsname[*], */
4127 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4128 /* IDL: [in] uint32 flags, */
4129 /* IDL: [out] [in] [unique(1)] dfs_UnknownStruct **unknown */
4130 /* IDL: ); */
4131
4132 static int
4133 netdfs_dissect_dfs_RemoveFtRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4134 {
4135         guint32 status;
4136
4137         pinfo->dcerpc_procedure_name="dfs_RemoveFtRoot";
4138         offset = netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvb, offset, pinfo, tree, drep);
4139         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4140
4141         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4142
4143         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4144                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4145
4146         return offset;
4147 }
4148
4149 static int
4150 netdfs_dissect_dfs_RemoveFtRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4151 {
4152         pinfo->dcerpc_procedure_name="dfs_RemoveFtRoot";
4153         offset = netdfs_dissect_element_dfs_RemoveFtRoot_servername(tvb, offset, pinfo, tree, drep);
4154         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4155         offset = netdfs_dissect_element_dfs_RemoveFtRoot_dns_servername(tvb, offset, pinfo, tree, drep);
4156         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4157         offset = netdfs_dissect_element_dfs_RemoveFtRoot_dfsname(tvb, offset, pinfo, tree, drep);
4158         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4159         offset = netdfs_dissect_element_dfs_RemoveFtRoot_rootshare(tvb, offset, pinfo, tree, drep);
4160         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4161         offset = netdfs_dissect_element_dfs_RemoveFtRoot_flags(tvb, offset, pinfo, tree, drep);
4162         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4163         offset = netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvb, offset, pinfo, tree, drep);
4164         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4165         return offset;
4166 }
4167
4168 static int
4169 netdfs_dissect_element_dfs_AddStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4170 {
4171         char *data;
4172
4173         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddStdRoot_servername, FALSE, &data);
4174         proto_item_append_text(tree, ": %s", data);
4175
4176         return offset;
4177 }
4178
4179 static int
4180 netdfs_dissect_element_dfs_AddStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4181 {
4182         char *data;
4183
4184         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddStdRoot_rootshare, FALSE, &data);
4185         proto_item_append_text(tree, ": %s", data);
4186
4187         return offset;
4188 }
4189
4190 static int
4191 netdfs_dissect_element_dfs_AddStdRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4192 {
4193         char *data;
4194
4195         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddStdRoot_comment, FALSE, &data);
4196         proto_item_append_text(tree, ": %s", data);
4197
4198         return offset;
4199 }
4200
4201 static int
4202 netdfs_dissect_element_dfs_AddStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4203 {
4204         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_AddStdRoot_flags, 0);
4205
4206         return offset;
4207 }
4208
4209 /* IDL: WERROR dfs_AddStdRoot( */
4210 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4211 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4212 /* IDL: [charset(UTF16)] [in] uint16 comment[*], */
4213 /* IDL: [in] uint32 flags */
4214 /* IDL: ); */
4215
4216 static int
4217 netdfs_dissect_dfs_AddStdRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4218 {
4219         guint32 status;
4220
4221         pinfo->dcerpc_procedure_name="dfs_AddStdRoot";
4222         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4223
4224         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4225                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4226
4227         return offset;
4228 }
4229
4230 static int
4231 netdfs_dissect_dfs_AddStdRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4232 {
4233         pinfo->dcerpc_procedure_name="dfs_AddStdRoot";
4234         offset = netdfs_dissect_element_dfs_AddStdRoot_servername(tvb, offset, pinfo, tree, drep);
4235         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4236         offset = netdfs_dissect_element_dfs_AddStdRoot_rootshare(tvb, offset, pinfo, tree, drep);
4237         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4238         offset = netdfs_dissect_element_dfs_AddStdRoot_comment(tvb, offset, pinfo, tree, drep);
4239         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4240         offset = netdfs_dissect_element_dfs_AddStdRoot_flags(tvb, offset, pinfo, tree, drep);
4241         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4242         return offset;
4243 }
4244
4245 static int
4246 netdfs_dissect_element_dfs_RemoveStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4247 {
4248         char *data;
4249
4250         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_RemoveStdRoot_servername, FALSE, &data);
4251         proto_item_append_text(tree, ": %s", data);
4252
4253         return offset;
4254 }
4255
4256 static int
4257 netdfs_dissect_element_dfs_RemoveStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4258 {
4259         char *data;
4260
4261         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_RemoveStdRoot_rootshare, FALSE, &data);
4262         proto_item_append_text(tree, ": %s", data);
4263
4264         return offset;
4265 }
4266
4267 static int
4268 netdfs_dissect_element_dfs_RemoveStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4269 {
4270         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_RemoveStdRoot_flags, 0);
4271
4272         return offset;
4273 }
4274
4275 /* IDL: WERROR dfs_RemoveStdRoot( */
4276 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4277 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4278 /* IDL: [in] uint32 flags */
4279 /* IDL: ); */
4280
4281 static int
4282 netdfs_dissect_dfs_RemoveStdRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4283 {
4284         guint32 status;
4285
4286         pinfo->dcerpc_procedure_name="dfs_RemoveStdRoot";
4287         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4288
4289         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4290                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4291
4292         return offset;
4293 }
4294
4295 static int
4296 netdfs_dissect_dfs_RemoveStdRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4297 {
4298         pinfo->dcerpc_procedure_name="dfs_RemoveStdRoot";
4299         offset = netdfs_dissect_element_dfs_RemoveStdRoot_servername(tvb, offset, pinfo, tree, drep);
4300         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4301         offset = netdfs_dissect_element_dfs_RemoveStdRoot_rootshare(tvb, offset, pinfo, tree, drep);
4302         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4303         offset = netdfs_dissect_element_dfs_RemoveStdRoot_flags(tvb, offset, pinfo, tree, drep);
4304         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4305         return offset;
4306 }
4307
4308 static int
4309 netdfs_dissect_element_dfs_ManagerInitialize_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4310 {
4311         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_ManagerInitialize_servername_, NDR_POINTER_REF, "Pointer to Servername (uint16)",hf_netdfs_dfs_ManagerInitialize_servername);
4312
4313         return offset;
4314 }
4315
4316 static int
4317 netdfs_dissect_element_dfs_ManagerInitialize_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4318 {
4319         char *data;
4320
4321         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_ManagerInitialize_servername, FALSE, &data);
4322         proto_item_append_text(tree, ": %s", data);
4323
4324         return offset;
4325 }
4326
4327 static int
4328 netdfs_dissect_element_dfs_ManagerInitialize_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4329 {
4330         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_ManagerInitialize_flags, 0);
4331
4332         return offset;
4333 }
4334
4335 /* IDL: WERROR dfs_ManagerInitialize( */
4336 /* IDL: [charset(UTF16)] [in] [ref] uint16 *servername, */
4337 /* IDL: [in] uint32 flags */
4338 /* IDL: ); */
4339
4340 static int
4341 netdfs_dissect_dfs_ManagerInitialize_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4342 {
4343         guint32 status;
4344
4345         pinfo->dcerpc_procedure_name="dfs_ManagerInitialize";
4346         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4347
4348         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4349                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4350
4351         return offset;
4352 }
4353
4354 static int
4355 netdfs_dissect_dfs_ManagerInitialize_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4356 {
4357         pinfo->dcerpc_procedure_name="dfs_ManagerInitialize";
4358         offset = netdfs_dissect_element_dfs_ManagerInitialize_servername(tvb, offset, pinfo, tree, drep);
4359         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4360         offset = netdfs_dissect_element_dfs_ManagerInitialize_flags(tvb, offset, pinfo, tree, drep);
4361         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4362         return offset;
4363 }
4364
4365 static int
4366 netdfs_dissect_element_dfs_AddStdRootForced_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4367 {
4368         char *data;
4369
4370         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddStdRootForced_servername, FALSE, &data);
4371         proto_item_append_text(tree, ": %s", data);
4372
4373         return offset;
4374 }
4375
4376 static int
4377 netdfs_dissect_element_dfs_AddStdRootForced_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4378 {
4379         char *data;
4380
4381         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddStdRootForced_rootshare, FALSE, &data);
4382         proto_item_append_text(tree, ": %s", data);
4383
4384         return offset;
4385 }
4386
4387 static int
4388 netdfs_dissect_element_dfs_AddStdRootForced_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4389 {
4390         char *data;
4391
4392         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddStdRootForced_comment, FALSE, &data);
4393         proto_item_append_text(tree, ": %s", data);
4394
4395         return offset;
4396 }
4397
4398 static int
4399 netdfs_dissect_element_dfs_AddStdRootForced_store(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4400 {
4401         char *data;
4402
4403         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_AddStdRootForced_store, FALSE, &data);
4404         proto_item_append_text(tree, ": %s", data);
4405
4406         return offset;
4407 }
4408
4409 /* IDL: WERROR dfs_AddStdRootForced( */
4410 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4411 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4412 /* IDL: [charset(UTF16)] [in] uint16 comment[*], */
4413 /* IDL: [charset(UTF16)] [in] uint16 store[*] */
4414 /* IDL: ); */
4415
4416 static int
4417 netdfs_dissect_dfs_AddStdRootForced_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4418 {
4419         guint32 status;
4420
4421         pinfo->dcerpc_procedure_name="dfs_AddStdRootForced";
4422         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4423
4424         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4425                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4426
4427         return offset;
4428 }
4429
4430 static int
4431 netdfs_dissect_dfs_AddStdRootForced_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4432 {
4433         pinfo->dcerpc_procedure_name="dfs_AddStdRootForced";
4434         offset = netdfs_dissect_element_dfs_AddStdRootForced_servername(tvb, offset, pinfo, tree, drep);
4435         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4436         offset = netdfs_dissect_element_dfs_AddStdRootForced_rootshare(tvb, offset, pinfo, tree, drep);
4437         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4438         offset = netdfs_dissect_element_dfs_AddStdRootForced_comment(tvb, offset, pinfo, tree, drep);
4439         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4440         offset = netdfs_dissect_element_dfs_AddStdRootForced_store(tvb, offset, pinfo, tree, drep);
4441         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4442         return offset;
4443 }
4444
4445 /* IDL: WERROR dfs_GetDcAddress( */
4446 /* IDL:  */
4447 /* IDL: ); */
4448
4449 static int
4450 netdfs_dissect_dfs_GetDcAddress_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4451 {
4452         guint32 status;
4453
4454         pinfo->dcerpc_procedure_name="dfs_GetDcAddress";
4455         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4456
4457         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4458                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4459
4460         return offset;
4461 }
4462
4463 static int
4464 netdfs_dissect_dfs_GetDcAddress_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4465 {
4466         pinfo->dcerpc_procedure_name="dfs_GetDcAddress";
4467         return offset;
4468 }
4469
4470 /* IDL: WERROR dfs_SetDcAddress( */
4471 /* IDL:  */
4472 /* IDL: ); */
4473
4474 static int
4475 netdfs_dissect_dfs_SetDcAddress_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4476 {
4477         guint32 status;
4478
4479         pinfo->dcerpc_procedure_name="dfs_SetDcAddress";
4480         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4481
4482         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4483                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4484
4485         return offset;
4486 }
4487
4488 static int
4489 netdfs_dissect_dfs_SetDcAddress_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4490 {
4491         pinfo->dcerpc_procedure_name="dfs_SetDcAddress";
4492         return offset;
4493 }
4494
4495 static int
4496 netdfs_dissect_element_dfs_FlushFtTable_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4497 {
4498         char *data;
4499
4500         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_FlushFtTable_servername, FALSE, &data);
4501         proto_item_append_text(tree, ": %s", data);
4502
4503         return offset;
4504 }
4505
4506 static int
4507 netdfs_dissect_element_dfs_FlushFtTable_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4508 {
4509         char *data;
4510
4511         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_FlushFtTable_rootshare, FALSE, &data);
4512         proto_item_append_text(tree, ": %s", data);
4513
4514         return offset;
4515 }
4516
4517 /* IDL: WERROR dfs_FlushFtTable( */
4518 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4519 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*] */
4520 /* IDL: ); */
4521
4522 static int
4523 netdfs_dissect_dfs_FlushFtTable_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4524 {
4525         guint32 status;
4526
4527         pinfo->dcerpc_procedure_name="dfs_FlushFtTable";
4528         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4529
4530         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4531                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4532
4533         return offset;
4534 }
4535
4536 static int
4537 netdfs_dissect_dfs_FlushFtTable_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4538 {
4539         pinfo->dcerpc_procedure_name="dfs_FlushFtTable";
4540         offset = netdfs_dissect_element_dfs_FlushFtTable_servername(tvb, offset, pinfo, tree, drep);
4541         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4542         offset = netdfs_dissect_element_dfs_FlushFtTable_rootshare(tvb, offset, pinfo, tree, drep);
4543         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4544         return offset;
4545 }
4546
4547 /* IDL: WERROR dfs_Add2( */
4548 /* IDL:  */
4549 /* IDL: ); */
4550
4551 static int
4552 netdfs_dissect_dfs_Add2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4553 {
4554         guint32 status;
4555
4556         pinfo->dcerpc_procedure_name="dfs_Add2";
4557         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4558
4559         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4560                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4561
4562         return offset;
4563 }
4564
4565 static int
4566 netdfs_dissect_dfs_Add2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4567 {
4568         pinfo->dcerpc_procedure_name="dfs_Add2";
4569         return offset;
4570 }
4571
4572 /* IDL: WERROR dfs_Remove2( */
4573 /* IDL:  */
4574 /* IDL: ); */
4575
4576 static int
4577 netdfs_dissect_dfs_Remove2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4578 {
4579         guint32 status;
4580
4581         pinfo->dcerpc_procedure_name="dfs_Remove2";
4582         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4583
4584         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4585                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4586
4587         return offset;
4588 }
4589
4590 static int
4591 netdfs_dissect_dfs_Remove2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4592 {
4593         pinfo->dcerpc_procedure_name="dfs_Remove2";
4594         return offset;
4595 }
4596
4597 static int
4598 netdfs_dissect_element_dfs_EnumEx_dfs_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4599 {
4600         char *data;
4601
4602         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_netdfs_dfs_EnumEx_dfs_name, FALSE, &data);
4603         proto_item_append_text(tree, ": %s", data);
4604
4605         return offset;
4606 }
4607
4608 static int
4609 netdfs_dissect_element_dfs_EnumEx_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4610 {
4611         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumEx_level, 0);
4612
4613         return offset;
4614 }
4615
4616 static int
4617 netdfs_dissect_element_dfs_EnumEx_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4618 {
4619         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumEx_bufsize, 0);
4620
4621         return offset;
4622 }
4623
4624 static int
4625 netdfs_dissect_element_dfs_EnumEx_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4626 {
4627         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumEx_info_, NDR_POINTER_UNIQUE, "Pointer to Info (dfs_EnumStruct)",hf_netdfs_dfs_EnumEx_info);
4628
4629         return offset;
4630 }
4631
4632 static int
4633 netdfs_dissect_element_dfs_EnumEx_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4634 {
4635         offset = netdfs_dissect_struct_dfs_EnumStruct(tvb,offset,pinfo,tree,drep,hf_netdfs_dfs_EnumEx_info,0);
4636
4637         return offset;
4638 }
4639
4640 static int
4641 netdfs_dissect_element_dfs_EnumEx_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4642 {
4643         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, netdfs_dissect_element_dfs_EnumEx_total_, NDR_POINTER_UNIQUE, "Pointer to Total (uint32)",hf_netdfs_dfs_EnumEx_total);
4644
4645         return offset;
4646 }
4647
4648 static int
4649 netdfs_dissect_element_dfs_EnumEx_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4650 {
4651         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_dfs_EnumEx_total, 0);
4652
4653         return offset;
4654 }
4655
4656 /* IDL: WERROR dfs_EnumEx( */
4657 /* IDL: [charset(UTF16)] [in] uint16 dfs_name[*], */
4658 /* IDL: [in] uint32 level, */
4659 /* IDL: [in] uint32 bufsize, */
4660 /* IDL: [out] [in] [unique(1)] dfs_EnumStruct *info, */
4661 /* IDL: [out] [in] [unique(1)] uint32 *total */
4662 /* IDL: ); */
4663
4664 static int
4665 netdfs_dissect_dfs_EnumEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4666 {
4667         guint32 status;
4668
4669         pinfo->dcerpc_procedure_name="dfs_EnumEx";
4670         offset = netdfs_dissect_element_dfs_EnumEx_info(tvb, offset, pinfo, tree, drep);
4671         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4672
4673         offset = netdfs_dissect_element_dfs_EnumEx_total(tvb, offset, pinfo, tree, drep);
4674         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4675
4676         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4677
4678         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4679                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4680
4681         return offset;
4682 }
4683
4684 static int
4685 netdfs_dissect_dfs_EnumEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4686 {
4687         pinfo->dcerpc_procedure_name="dfs_EnumEx";
4688         offset = netdfs_dissect_element_dfs_EnumEx_dfs_name(tvb, offset, pinfo, tree, drep);
4689         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4690         offset = netdfs_dissect_element_dfs_EnumEx_level(tvb, offset, pinfo, tree, drep);
4691         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4692         offset = netdfs_dissect_element_dfs_EnumEx_bufsize(tvb, offset, pinfo, tree, drep);
4693         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4694         offset = netdfs_dissect_element_dfs_EnumEx_info(tvb, offset, pinfo, tree, drep);
4695         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4696         offset = netdfs_dissect_element_dfs_EnumEx_total(tvb, offset, pinfo, tree, drep);
4697         offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);
4698         return offset;
4699 }
4700
4701 /* IDL: WERROR dfs_SetInfo2( */
4702 /* IDL:  */
4703 /* IDL: ); */
4704
4705 static int
4706 netdfs_dissect_dfs_SetInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4707 {
4708         guint32 status;
4709
4710         pinfo->dcerpc_procedure_name="dfs_SetInfo2";
4711         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_netdfs_werror, &status);
4712
4713         if (status != 0 && check_col(pinfo->cinfo, COL_INFO))
4714                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, WERR_errors, "Unknown DOS error 0x%08x"));
4715
4716         return offset;
4717 }
4718
4719 static int
4720 netdfs_dissect_dfs_SetInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
4721 {
4722         pinfo->dcerpc_procedure_name="dfs_SetInfo2";
4723         return offset;
4724 }
4725
4726
4727 static dcerpc_sub_dissector netdfs_dissectors[] = {
4728         { 0, "dfs_GetManagerVersion",
4729            netdfs_dissect_dfs_GetManagerVersion_request, netdfs_dissect_dfs_GetManagerVersion_response},
4730         { 1, "dfs_Add",
4731            netdfs_dissect_dfs_Add_request, netdfs_dissect_dfs_Add_response},
4732         { 2, "dfs_Remove",
4733            netdfs_dissect_dfs_Remove_request, netdfs_dissect_dfs_Remove_response},
4734         { 3, "dfs_SetInfo",
4735            netdfs_dissect_dfs_SetInfo_request, netdfs_dissect_dfs_SetInfo_response},
4736         { 4, "dfs_GetInfo",
4737            netdfs_dissect_dfs_GetInfo_request, netdfs_dissect_dfs_GetInfo_response},
4738         { 5, "dfs_Enum",
4739            netdfs_dissect_dfs_Enum_request, netdfs_dissect_dfs_Enum_response},
4740         { 6, "dfs_Rename",
4741            netdfs_dissect_dfs_Rename_request, netdfs_dissect_dfs_Rename_response},
4742         { 7, "dfs_Move",
4743            netdfs_dissect_dfs_Move_request, netdfs_dissect_dfs_Move_response},
4744         { 8, "dfs_ManagerGetConfigInfo",
4745            netdfs_dissect_dfs_ManagerGetConfigInfo_request, netdfs_dissect_dfs_ManagerGetConfigInfo_response},
4746         { 9, "dfs_ManagerSendSiteInfo",
4747            netdfs_dissect_dfs_ManagerSendSiteInfo_request, netdfs_dissect_dfs_ManagerSendSiteInfo_response},
4748         { 10, "dfs_AddFtRoot",
4749            netdfs_dissect_dfs_AddFtRoot_request, netdfs_dissect_dfs_AddFtRoot_response},
4750         { 11, "dfs_RemoveFtRoot",
4751            netdfs_dissect_dfs_RemoveFtRoot_request, netdfs_dissect_dfs_RemoveFtRoot_response},
4752         { 12, "dfs_AddStdRoot",
4753            netdfs_dissect_dfs_AddStdRoot_request, netdfs_dissect_dfs_AddStdRoot_response},
4754         { 13, "dfs_RemoveStdRoot",
4755            netdfs_dissect_dfs_RemoveStdRoot_request, netdfs_dissect_dfs_RemoveStdRoot_response},
4756         { 14, "dfs_ManagerInitialize",
4757            netdfs_dissect_dfs_ManagerInitialize_request, netdfs_dissect_dfs_ManagerInitialize_response},
4758         { 15, "dfs_AddStdRootForced",
4759            netdfs_dissect_dfs_AddStdRootForced_request, netdfs_dissect_dfs_AddStdRootForced_response},
4760         { 16, "dfs_GetDcAddress",
4761            netdfs_dissect_dfs_GetDcAddress_request, netdfs_dissect_dfs_GetDcAddress_response},
4762         { 17, "dfs_SetDcAddress",
4763            netdfs_dissect_dfs_SetDcAddress_request, netdfs_dissect_dfs_SetDcAddress_response},
4764         { 18, "dfs_FlushFtTable",
4765            netdfs_dissect_dfs_FlushFtTable_request, netdfs_dissect_dfs_FlushFtTable_response},
4766         { 19, "dfs_Add2",
4767            netdfs_dissect_dfs_Add2_request, netdfs_dissect_dfs_Add2_response},
4768         { 20, "dfs_Remove2",
4769            netdfs_dissect_dfs_Remove2_request, netdfs_dissect_dfs_Remove2_response},
4770         { 21, "dfs_EnumEx",
4771            netdfs_dissect_dfs_EnumEx_request, netdfs_dissect_dfs_EnumEx_response},
4772         { 22, "dfs_SetInfo2",
4773            netdfs_dissect_dfs_SetInfo2_request, netdfs_dissect_dfs_SetInfo2_response},
4774         { 0, NULL, NULL, NULL }
4775 };
4776
4777 void proto_register_dcerpc_netdfs(void)
4778 {
4779         static hf_register_info hf[] = {
4780         { &hf_netdfs_dfs_EnumEx_level, 
4781           { "Level", "netdfs.dfs_EnumEx.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4782         { &hf_netdfs_dfs_Info5_pktsize, 
4783           { "Pktsize", "netdfs.dfs_Info5.pktsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4784         { &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ONLINE, 
4785           { "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 }},
4786         { &hf_netdfs_dfs_EnumEx_bufsize, 
4787           { "Bufsize", "netdfs.dfs_EnumEx.bufsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4788         { &hf_netdfs_dfs_Info4_comment, 
4789           { "Comment", "netdfs.dfs_Info4.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4790         { &hf_netdfs_dfs_AddFtRoot_dns_servername, 
4791           { "Dns Servername", "netdfs.dfs_AddFtRoot.dns_servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4792         { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING, 
4793           { "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), ( 0x04 ), NULL, HFILL }},
4794         { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY, 
4795           { "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), ( 0x02 ), NULL, HFILL }},
4796         { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE, 
4797           { "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 }},
4798         { &hf_netdfs_dfs_Info5_guid, 
4799           { "Guid", "netdfs.dfs_Info5.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
4800         { &hf_netdfs_dfs_Target_Priority_target_priority_rank, 
4801           { "Target Priority Rank", "netdfs.dfs_Target_Priority.target_priority_rank", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
4802         { &hf_netdfs_dfs_AddStdRootForced_servername, 
4803           { "Servername", "netdfs.dfs_AddStdRootForced.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4804         { &hf_netdfs_dfs_EnumInfo_info200, 
4805           { "Info200", "netdfs.dfs_EnumInfo.info200", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4806         { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK, 
4807           { "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), ( 0x08 ), NULL, HFILL }},
4808         { &hf_netdfs_dfs_Target_Priority_reserved, 
4809           { "Reserved", "netdfs.dfs_Target_Priority.reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
4810         { &hf_netdfs_dfs_Enum_bufsize, 
4811           { "Bufsize", "netdfs.dfs_Enum.bufsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4812         { &hf_netdfs_dfs_AddStdRootForced_rootshare, 
4813           { "Rootshare", "netdfs.dfs_AddStdRootForced.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4814         { &hf_netdfs_dfs_RemoveFtRoot_servername, 
4815           { "Servername", "netdfs.dfs_RemoveFtRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4816         { &hf_netdfs_dfs_AddFtRoot_unknown1, 
4817           { "Unknown1", "netdfs.dfs_AddFtRoot.unknown1", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
4818         { &hf_netdfs_dfs_EnumArray4_s, 
4819           { "S", "netdfs.dfs_EnumArray4.s", FT_NONE, BASE_NONE, 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_Info6_comment, 
4823           { "Comment", "netdfs.dfs_Info6.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4824         { &hf_netdfs_dfs_Info6_entry_path, 
4825           { "Entry Path", "netdfs.dfs_Info6.entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4826         { &hf_netdfs_dfs_Info1_path, 
4827           { "Path", "netdfs.dfs_Info1.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4828         { &hf_netdfs_dfs_EnumStruct_level, 
4829           { "Level", "netdfs.dfs_EnumStruct.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4830         { &hf_netdfs_dfs_GetInfo_sharename, 
4831           { "Sharename", "netdfs.dfs_GetInfo.sharename", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4832         { &hf_netdfs_dfs_Info105_comment, 
4833           { "Comment", "netdfs.dfs_Info105.comment", FT_STRING, BASE_NONE, 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_SetInfo_level, 
4837           { "Level", "netdfs.dfs_SetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4838         { &hf_netdfs_dfs_Info6_flags, 
4839           { "Flags", "netdfs.dfs_Info6.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4840         { &hf_netdfs_dfs_Info4_state, 
4841           { "State", "netdfs.dfs_Info4.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4842         { &hf_netdfs_dfs_Info4_guid, 
4843           { "Guid", "netdfs.dfs_Info4.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
4844         { &hf_netdfs_dfs_Info105_property_flags, 
4845           { "Property Flags", "netdfs.dfs_Info105.property_flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4846         { &hf_netdfs_dfs_Enum_total, 
4847           { "Total", "netdfs.dfs_Enum.total", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4848         { &hf_netdfs_dfs_EnumStruct_e, 
4849           { "E", "netdfs.dfs_EnumStruct.e", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4850         { &hf_netdfs_dfs_EnumArray4_count, 
4851           { "Count", "netdfs.dfs_EnumArray4.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4852         { &hf_netdfs_dfs_StorageInfo2_info, 
4853           { "Info", "netdfs.dfs_StorageInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4854         { &hf_netdfs_dfs_Info105_state, 
4855           { "State", "netdfs.dfs_Info105.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4856         { &hf_netdfs_dfs_FlushFtTable_servername, 
4857           { "Servername", "netdfs.dfs_FlushFtTable.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4858         { &hf_netdfs_dfs_Info4_stores, 
4859           { "Stores", "netdfs.dfs_Info4.stores", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4860         { &hf_netdfs_dfs_Info4_num_stores, 
4861           { "Num Stores", "netdfs.dfs_Info4.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4862         { &hf_netdfs_dfs_GetInfo_dfs_entry_path, 
4863           { "Dfs Entry Path", "netdfs.dfs_GetInfo.dfs_entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4864         { &hf_netdfs_dfs_EnumArray1_count, 
4865           { "Count", "netdfs.dfs_EnumArray1.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4866         { &hf_netdfs_dfs_StorageInfo_state, 
4867           { "State", "netdfs.dfs_StorageInfo.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4868         { &hf_netdfs_dfs_FlushFtTable_rootshare, 
4869           { "Rootshare", "netdfs.dfs_FlushFtTable.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4870         { &hf_netdfs_dfs_AddStdRoot_servername, 
4871           { "Servername", "netdfs.dfs_AddStdRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4872         { &hf_netdfs_dfs_EnumArray200_s, 
4873           { "S", "netdfs.dfs_EnumArray200.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4874         { &hf_netdfs_dfs_AddFtRoot_servername, 
4875           { "Servername", "netdfs.dfs_AddFtRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4876         { &hf_netdfs_dfs_Info6_stores, 
4877           { "Stores", "netdfs.dfs_Info6.stores", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4878         { &hf_netdfs_dfs_GetInfo_servername, 
4879           { "Servername", "netdfs.dfs_GetInfo.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4880         { &hf_netdfs_dfs_StorageInfo2_target_priority, 
4881           { "Target Priority", "netdfs.dfs_StorageInfo2.target_priority", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4882         { &hf_netdfs_dfs_EnumArray2_s, 
4883           { "S", "netdfs.dfs_EnumArray2.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4884         { &hf_netdfs_dfs_RemoveFtRoot_flags, 
4885           { "Flags", "netdfs.dfs_RemoveFtRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4886         { &hf_netdfs_dfs_EnumArray200_count, 
4887           { "Count", "netdfs.dfs_EnumArray200.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4888         { &hf_netdfs_dfs_EnumEx_info, 
4889           { "Info", "netdfs.dfs_EnumEx.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4890         { &hf_netdfs_dfs_Info104_priority, 
4891           { "Priority", "netdfs.dfs_Info104.priority", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4892         { &hf_netdfs_dfs_Info4_timeout, 
4893           { "Timeout", "netdfs.dfs_Info4.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4894         { &hf_netdfs_dfs_AddFtRoot_comment, 
4895           { "Comment", "netdfs.dfs_AddFtRoot.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4896         { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED, 
4897           { "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), ( 0x10 ), NULL, HFILL }},
4898         { &hf_netdfs_dfs_Enum_info, 
4899           { "Info", "netdfs.dfs_Enum.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4900         { &hf_netdfs_dfs_AddStdRoot_comment, 
4901           { "Comment", "netdfs.dfs_AddStdRoot.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4902         { &hf_netdfs_dfs_GetInfo_info, 
4903           { "Info", "netdfs.dfs_GetInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4904         { &hf_netdfs_dfs_Add_share, 
4905           { "Share", "netdfs.dfs_Add.share", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4906         { &hf_netdfs_dfs_Info100_comment, 
4907           { "Comment", "netdfs.dfs_Info100.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4908         { &hf_netdfs_dfs_EnumInfo_info300, 
4909           { "Info300", "netdfs.dfs_EnumInfo.info300", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4910         { &hf_netdfs_dfs_Info6_state, 
4911           { "State", "netdfs.dfs_Info6.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4912         { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB, 
4913           { "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 }},
4914         { &hf_netdfs_dfs_Add_comment, 
4915           { "Comment", "netdfs.dfs_Add.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4916         { &hf_netdfs_dfs_Info6_timeout, 
4917           { "Timeout", "netdfs.dfs_Info6.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4918         { &hf_netdfs_dfs_RemoveFtRoot_rootshare, 
4919           { "Rootshare", "netdfs.dfs_RemoveFtRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4920         { &hf_netdfs_dfs_Info105_timeout, 
4921           { "Timeout", "netdfs.dfs_Info105.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4922         { &hf_netdfs_dfs_Info3_comment, 
4923           { "Comment", "netdfs.dfs_Info3.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4924         { &hf_netdfs_dfs_Info3_state, 
4925           { "State", "netdfs.dfs_Info3.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4926         { &hf_netdfs_dfs_Info5_flags, 
4927           { "Flags", "netdfs.dfs_Info5.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4928         { &hf_netdfs_dfs_Info7_generation_guid, 
4929           { "Generation Guid", "netdfs.dfs_Info7.generation_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
4930         { &hf_netdfs_dfs_RemoveFtRoot_unknown, 
4931           { "Unknown", "netdfs.dfs_RemoveFtRoot.unknown", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4932         { &hf_netdfs_dfs_EnumEx_total, 
4933           { "Total", "netdfs.dfs_EnumEx.total", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4934         { &hf_netdfs_dfs_GetInfo_level, 
4935           { "Level", "netdfs.dfs_GetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4936         { &hf_netdfs_dfs_Info5_num_stores, 
4937           { "Num Stores", "netdfs.dfs_Info5.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4938         { &hf_netdfs_dfs_Info6_pktsize, 
4939           { "Pktsize", "netdfs.dfs_Info6.pktsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4940         { &hf_netdfs_dfs_EnumArray300_s, 
4941           { "S", "netdfs.dfs_EnumArray300.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4942         { &hf_netdfs_dfs_Add_server, 
4943           { "Server", "netdfs.dfs_Add.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4944         { &hf_netdfs_dfs_Info5_comment, 
4945           { "Comment", "netdfs.dfs_Info5.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4946         { &hf_netdfs_werror, 
4947           { "Windows Error", "netdfs.werror", FT_UINT32, BASE_HEX, VALS(WERR_errors), 0, NULL, HFILL }},
4948         { &hf_netdfs_dfs_EnumArray3_count, 
4949           { "Count", "netdfs.dfs_EnumArray3.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4950         { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT, 
4951           { "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 }},
4952         { &hf_netdfs_dfs_AddFtRoot_rootshare, 
4953           { "Rootshare", "netdfs.dfs_AddFtRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4954         { &hf_netdfs_dfs_Add_flags, 
4955           { "Flags", "netdfs.dfs_Add.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4956         { &hf_netdfs_dfs_RemoveStdRoot_servername, 
4957           { "Servername", "netdfs.dfs_RemoveStdRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4958         { &hf_netdfs_dfs_RemoveFtRoot_dfsname, 
4959           { "Dfsname", "netdfs.dfs_RemoveFtRoot.dfsname", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4960         { &hf_netdfs_dfs_AddFtRoot_dfs_config_dn, 
4961           { "Dfs Config Dn", "netdfs.dfs_AddFtRoot.dfs_config_dn", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4962         { &hf_netdfs_dfs_AddFtRoot_dfsname, 
4963           { "Dfsname", "netdfs.dfs_AddFtRoot.dfsname", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4964         { &hf_netdfs_dfs_Remove_sharename, 
4965           { "Sharename", "netdfs.dfs_Remove.sharename", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4966         { &hf_netdfs_dfs_Info101_state, 
4967           { "State", "netdfs.dfs_Info101.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4968         { &hf_netdfs_dfs_Info103_flags, 
4969           { "Flags", "netdfs.dfs_Info103.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
4970         { &hf_netdfs_dfs_Info200_dom_root, 
4971           { "Dom Root", "netdfs.dfs_Info200.dom_root", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4972         { &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_OFFLINE, 
4973           { "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 }},
4974         { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_ONLINE, 
4975           { "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 }},
4976         { &hf_netdfs_dfs_Info_info0, 
4977           { "Info0", "netdfs.dfs_Info.info0", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4978         { &hf_netdfs_dfs_SetInfo_servername, 
4979           { "Servername", "netdfs.dfs_SetInfo.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4980         { &hf_netdfs_dfs_Info_info1, 
4981           { "Info1", "netdfs.dfs_Info.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4982         { &hf_netdfs_dfs_Info2_num_stores, 
4983           { "Num Stores", "netdfs.dfs_Info2.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
4984         { &hf_netdfs_dfs_Info_info2, 
4985           { "Info2", "netdfs.dfs_Info.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4986         { &hf_netdfs_dfs_RemoveFtRoot_dns_servername, 
4987           { "Dns Servername", "netdfs.dfs_RemoveFtRoot.dns_servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
4988         { &hf_netdfs_dfs_Info_info3, 
4989           { "Info3", "netdfs.dfs_Info.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4990         { &hf_netdfs_dfs_Info_info4, 
4991           { "Info4", "netdfs.dfs_Info.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4992         { &hf_netdfs_dfs_Info_info5, 
4993           { "Info5", "netdfs.dfs_Info.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4994         { &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ACTIVE, 
4995           { "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 }},
4996         { &hf_netdfs_dfs_Info_info6, 
4997           { "Info6", "netdfs.dfs_Info.info6", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
4998         { &hf_netdfs_dfs_Enum_level, 
4999           { "Level", "netdfs.dfs_Enum.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5000         { &hf_netdfs_dfs_Info_info7, 
5001           { "Info7", "netdfs.dfs_Info.info7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5002         { &hf_netdfs_dfs_Info300_flavor, 
5003           { "Flavor", "netdfs.dfs_Info300.flavor", FT_UINT16, BASE_DEC, VALS(netdfs_dfs_VolumeFlavor_vals), 0, NULL, HFILL }},
5004         { &hf_netdfs_dfs_AddStdRootForced_store, 
5005           { "Store", "netdfs.dfs_AddStdRootForced.store", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5006         { &hf_netdfs_dfs_Info5_path, 
5007           { "Path", "netdfs.dfs_Info5.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5008         { &hf_netdfs_dfs_GetManagerVersion_version, 
5009           { "Version", "netdfs.dfs_GetManagerVersion.version", FT_UINT32, BASE_DEC, VALS(netdfs_dfs_ManagerVersion_vals), 0, NULL, HFILL }},
5010         { &hf_netdfs_dfs_Info3_stores, 
5011           { "Stores", "netdfs.dfs_Info3.stores", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5012         { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE, 
5013           { "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 }},
5014         { &hf_netdfs_dfs_EnumArray3_s, 
5015           { "S", "netdfs.dfs_EnumArray3.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5016         { &hf_netdfs_dfs_Info106_priority, 
5017           { "Priority", "netdfs.dfs_Info106.priority", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5018         { &hf_netdfs_dfs_UnknownStruct_unknown1, 
5019           { "Unknown1", "netdfs.dfs_UnknownStruct.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5020         { &hf_netdfs_dfs_UnknownStruct_unknown2, 
5021           { "Unknown2", "netdfs.dfs_UnknownStruct.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5022         { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OK, 
5023           { "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 }},
5024         { &hf_netdfs_dfs_StorageInfo_server, 
5025           { "Server", "netdfs.dfs_StorageInfo.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5026         { &hf_netdfs_dfs_SetInfo_dfs_entry_path, 
5027           { "Dfs Entry Path", "netdfs.dfs_SetInfo.dfs_entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5028         { &hf_netdfs_dfs_RemoveStdRoot_flags, 
5029           { "Flags", "netdfs.dfs_RemoveStdRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5030         { &hf_netdfs_dfs_AddFtRoot_flags, 
5031           { "Flags", "netdfs.dfs_AddFtRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5032         { &hf_netdfs_dfs_ManagerInitialize_flags, 
5033           { "Flags", "netdfs.dfs_ManagerInitialize.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5034         { &hf_netdfs_dfs_Info4_path, 
5035           { "Path", "netdfs.dfs_Info4.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5036         { &hf_netdfs_dfs_Info5_state, 
5037           { "State", "netdfs.dfs_Info5.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5038         { &hf_netdfs_dfs_StorageInfo_share, 
5039           { "Share", "netdfs.dfs_StorageInfo.share", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5040         { &hf_netdfs_dfs_AddStdRoot_flags, 
5041           { "Flags", "netdfs.dfs_AddStdRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5042         { &hf_netdfs_dfs_Info6_num_stores, 
5043           { "Num Stores", "netdfs.dfs_Info6.num_stores", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
5044         { &hf_netdfs_dfs_Target_Priority_target_priority_class, 
5045           { "Target Priority Class", "netdfs.dfs_Target_Priority.target_priority_class", FT_UINT32, BASE_DEC, VALS(netdfs_dfs_Target_PriorityClass_vals), 0, NULL, HFILL }},
5046         { &hf_netdfs_opnum, 
5047           { "Operation", "netdfs.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
5048         { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS, 
5049           { "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), ( 0x01 ), NULL, HFILL }},
5050         { &hf_netdfs_dfs_Info2_state, 
5051           { "State", "netdfs.dfs_Info2.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5052         { &hf_netdfs_dfs_Info106_state, 
5053           { "State", "netdfs.dfs_Info106.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5054         { &hf_netdfs_dfs_Info_info100, 
5055           { "Info100", "netdfs.dfs_Info.info100", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5056         { &hf_netdfs_dfs_AddStdRootForced_comment, 
5057           { "Comment", "netdfs.dfs_AddStdRootForced.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5058         { &hf_netdfs_dfs_Info_info101, 
5059           { "Info101", "netdfs.dfs_Info.info101", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5060         { &hf_netdfs_dfs_Add_path, 
5061           { "Path", "netdfs.dfs_Add.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5062         { &hf_netdfs_dfs_Info102_timeout, 
5063           { "Timeout", "netdfs.dfs_Info102.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5064         { &hf_netdfs_dfs_Info_info102, 
5065           { "Info102", "netdfs.dfs_Info.info102", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5066         { &hf_netdfs_dfs_Info_info103, 
5067           { "Info103", "netdfs.dfs_Info.info103", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5068         { &hf_netdfs_dfs_Info_info104, 
5069           { "Info104", "netdfs.dfs_Info.info104", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5070         { &hf_netdfs_dfs_Info3_path, 
5071           { "Path", "netdfs.dfs_Info3.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5072         { &hf_netdfs_dfs_Info_info105, 
5073           { "Info105", "netdfs.dfs_Info.info105", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5074         { &hf_netdfs_dfs_Info_info106, 
5075           { "Info106", "netdfs.dfs_Info.info106", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5076         { &hf_netdfs_dfs_SetInfo_sharename, 
5077           { "Sharename", "netdfs.dfs_SetInfo.sharename", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5078         { &hf_netdfs_dfs_ManagerInitialize_servername, 
5079           { "Servername", "netdfs.dfs_ManagerInitialize.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5080         { &hf_netdfs_dfs_EnumInfo_info1, 
5081           { "Info1", "netdfs.dfs_EnumInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5082         { &hf_netdfs_dfs_Info300_dom_root, 
5083           { "Dom Root", "netdfs.dfs_Info300.dom_root", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5084         { &hf_netdfs_dfs_EnumArray2_count, 
5085           { "Count", "netdfs.dfs_EnumArray2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5086         { &hf_netdfs_dfs_EnumArray300_count, 
5087           { "Count", "netdfs.dfs_EnumArray300.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5088         { &hf_netdfs_dfs_EnumInfo_info2, 
5089           { "Info2", "netdfs.dfs_EnumInfo.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5090         { &hf_netdfs_dfs_Remove_dfs_entry_path, 
5091           { "Dfs Entry Path", "netdfs.dfs_Remove.dfs_entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5092         { &hf_netdfs_dfs_EnumInfo_info3, 
5093           { "Info3", "netdfs.dfs_EnumInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5094         { &hf_netdfs_dfs_EnumEx_dfs_name, 
5095           { "Dfs Name", "netdfs.dfs_EnumEx.dfs_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5096         { &hf_netdfs_dfs_RemoveStdRoot_rootshare, 
5097           { "Rootshare", "netdfs.dfs_RemoveStdRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5098         { &hf_netdfs_dfs_EnumInfo_info4, 
5099           { "Info4", "netdfs.dfs_EnumInfo.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5100         { &hf_netdfs_dfs_Info5_timeout, 
5101           { "Timeout", "netdfs.dfs_Info5.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5102         { &hf_netdfs_dfs_EnumArray1_s, 
5103           { "S", "netdfs.dfs_EnumArray1.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5104         { &hf_netdfs_dfs_Remove_servername, 
5105           { "Servername", "netdfs.dfs_Remove.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5106         { &hf_netdfs_dfs_Info3_num_stores, 
5107           { "Num Stores", "netdfs.dfs_Info3.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5108         { &hf_netdfs_dfs_Info105_property_flag_mask, 
5109           { "Property Flag Mask", "netdfs.dfs_Info105.property_flag_mask", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5110         { &hf_netdfs_dfs_Info2_comment, 
5111           { "Comment", "netdfs.dfs_Info2.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5112         { &hf_netdfs_dfs_Info6_guid, 
5113           { "Guid", "netdfs.dfs_Info6.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
5114         { &hf_netdfs_dfs_Info2_path, 
5115           { "Path", "netdfs.dfs_Info2.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5116         { &hf_netdfs_dfs_SetInfo_info, 
5117           { "Info", "netdfs.dfs_SetInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5118         };
5119
5120
5121         static gint *ett[] = {
5122                 &ett_dcerpc_netdfs,
5123                 &ett_netdfs_dfs_Info0,
5124                 &ett_netdfs_dfs_Info1,
5125                 &ett_netdfs_dfs_VolumeState,
5126                 &ett_netdfs_dfs_Info2,
5127                 &ett_netdfs_dfs_StorageState,
5128                 &ett_netdfs_dfs_StorageInfo,
5129                 &ett_netdfs_dfs_Info3,
5130                 &ett_netdfs_dfs_Info4,
5131                 &ett_netdfs_dfs_PropertyFlags,
5132                 &ett_netdfs_dfs_Info5,
5133                 &ett_netdfs_dfs_Target_Priority,
5134                 &ett_netdfs_dfs_StorageInfo2,
5135                 &ett_netdfs_dfs_Info6,
5136                 &ett_netdfs_dfs_Info7,
5137                 &ett_netdfs_dfs_Info100,
5138                 &ett_netdfs_dfs_Info101,
5139                 &ett_netdfs_dfs_Info102,
5140                 &ett_netdfs_dfs_Info103,
5141                 &ett_netdfs_dfs_Info104,
5142                 &ett_netdfs_dfs_Info105,
5143                 &ett_netdfs_dfs_Info106,
5144                 &ett_netdfs_dfs_Info200,
5145                 &ett_netdfs_dfs_Info300,
5146                 &ett_netdfs_dfs_Info,
5147                 &ett_netdfs_dfs_EnumArray1,
5148                 &ett_netdfs_dfs_EnumArray2,
5149                 &ett_netdfs_dfs_EnumArray3,
5150                 &ett_netdfs_dfs_EnumArray4,
5151                 &ett_netdfs_dfs_EnumArray200,
5152                 &ett_netdfs_dfs_EnumArray300,
5153                 &ett_netdfs_dfs_EnumInfo,
5154                 &ett_netdfs_dfs_EnumStruct,
5155                 &ett_netdfs_dfs_UnknownStruct,
5156         };
5157
5158         proto_dcerpc_netdfs = proto_register_protocol("Settings for Microsoft Distributed File System", "NETDFS", "netdfs");
5159         proto_register_field_array(proto_dcerpc_netdfs, hf, array_length (hf));
5160         proto_register_subtree_array(ett, array_length(ett));
5161 }
5162
5163 void proto_reg_handoff_dcerpc_netdfs(void)
5164 {
5165         dcerpc_init_uuid(proto_dcerpc_netdfs, ett_dcerpc_netdfs,
5166                 &uuid_dcerpc_netdfs, ver_dcerpc_netdfs,
5167                 netdfs_dissectors, hf_netdfs_opnum);
5168 }