regen pidl all: rm epan/dissectors/pidl/*-stamp; pushd epan/dissectors/pidl/ && make...
[wireshark-sm.git] / epan / dissectors / packet-dcerpc-dfs.c
blobdfa1e18d708377e1897404d57de62ff3e9e52d01
1 /* DO NOT EDIT
2 This file was automatically generated by Pidl
3 from dfs.idl and dfs.cnf.
5 Pidl is a perl based IDL compiler for DCE/RPC idl files.
6 It is maintained by the Samba team, not the Wireshark team.
7 Instructions on how to download and install Pidl can be
8 found at https://wiki.wireshark.org/Pidl
9 */
12 #include "config.h"
13 #include <string.h>
14 #include <wsutil/array.h>
15 #include <epan/packet.h>
16 #include <epan/tfs.h>
18 #include "packet-dcerpc.h"
19 #include "packet-dcerpc-nt.h"
20 #include "packet-windows-common.h"
21 #include "packet-dcerpc-dfs.h"
22 void proto_register_dcerpc_netdfs(void);
23 void proto_reg_handoff_dcerpc_netdfs(void);
25 /* Ett declarations */
26 static int ett_dcerpc_netdfs;
27 static int ett_netdfs_dfs_Info0;
28 static int ett_netdfs_dfs_Info1;
29 static int ett_netdfs_dfs_VolumeState;
30 static int ett_netdfs_dfs_Info2;
31 static int ett_netdfs_dfs_StorageState;
32 static int ett_netdfs_dfs_StorageInfo;
33 static int ett_netdfs_dfs_Info3;
34 static int ett_netdfs_dfs_Info4;
35 static int ett_netdfs_dfs_PropertyFlags;
36 static int ett_netdfs_dfs_Info5;
37 static int ett_netdfs_dfs_Target_Priority;
38 static int ett_netdfs_dfs_StorageInfo2;
39 static int ett_netdfs_dfs_Info6;
40 static int ett_netdfs_dfs_Info7;
41 static int ett_netdfs_dfs_Info100;
42 static int ett_netdfs_dfs_Info101;
43 static int ett_netdfs_dfs_Info102;
44 static int ett_netdfs_dfs_Info103;
45 static int ett_netdfs_dfs_Info104;
46 static int ett_netdfs_dfs_Info105;
47 static int ett_netdfs_dfs_Info106;
48 static int ett_netdfs_dfs_Info200;
49 static int ett_netdfs_dfs_Info300;
50 static int ett_netdfs_dfs_Info;
51 static int ett_netdfs_dfs_EnumArray1;
52 static int ett_netdfs_dfs_EnumArray2;
53 static int ett_netdfs_dfs_EnumArray3;
54 static int ett_netdfs_dfs_EnumArray4;
55 static int ett_netdfs_dfs_EnumArray200;
56 static int ett_netdfs_dfs_EnumArray300;
57 static int ett_netdfs_dfs_EnumInfo;
58 static int ett_netdfs_dfs_EnumStruct;
59 static int ett_netdfs_dfs_UnknownStruct;
62 /* Header field declarations */
63 static int hf_netdfs_dfs_AddFtRoot_comment;
64 static int hf_netdfs_dfs_AddFtRoot_dfs_config_dn;
65 static int hf_netdfs_dfs_AddFtRoot_dfsname;
66 static int hf_netdfs_dfs_AddFtRoot_dns_servername;
67 static int hf_netdfs_dfs_AddFtRoot_flags;
68 static int hf_netdfs_dfs_AddFtRoot_rootshare;
69 static int hf_netdfs_dfs_AddFtRoot_servername;
70 static int hf_netdfs_dfs_AddFtRoot_unknown1;
71 static int hf_netdfs_dfs_AddFtRoot_unknown2;
72 static int hf_netdfs_dfs_AddStdRootForced_comment;
73 static int hf_netdfs_dfs_AddStdRootForced_rootshare;
74 static int hf_netdfs_dfs_AddStdRootForced_servername;
75 static int hf_netdfs_dfs_AddStdRootForced_store;
76 static int hf_netdfs_dfs_AddStdRoot_comment;
77 static int hf_netdfs_dfs_AddStdRoot_flags;
78 static int hf_netdfs_dfs_AddStdRoot_rootshare;
79 static int hf_netdfs_dfs_AddStdRoot_servername;
80 static int hf_netdfs_dfs_Add_comment;
81 static int hf_netdfs_dfs_Add_flags;
82 static int hf_netdfs_dfs_Add_path;
83 static int hf_netdfs_dfs_Add_server;
84 static int hf_netdfs_dfs_Add_share;
85 static int hf_netdfs_dfs_EnumArray1_count;
86 static int hf_netdfs_dfs_EnumArray1_s;
87 static int hf_netdfs_dfs_EnumArray200_count;
88 static int hf_netdfs_dfs_EnumArray200_s;
89 static int hf_netdfs_dfs_EnumArray2_count;
90 static int hf_netdfs_dfs_EnumArray2_s;
91 static int hf_netdfs_dfs_EnumArray300_count;
92 static int hf_netdfs_dfs_EnumArray300_s;
93 static int hf_netdfs_dfs_EnumArray3_count;
94 static int hf_netdfs_dfs_EnumArray3_s;
95 static int hf_netdfs_dfs_EnumArray4_count;
96 static int hf_netdfs_dfs_EnumArray4_s;
97 static int hf_netdfs_dfs_EnumEx_bufsize;
98 static int hf_netdfs_dfs_EnumEx_dfs_name;
99 static int hf_netdfs_dfs_EnumEx_info;
100 static int hf_netdfs_dfs_EnumEx_level;
101 static int hf_netdfs_dfs_EnumEx_total;
102 static int hf_netdfs_dfs_EnumInfo_info1;
103 static int hf_netdfs_dfs_EnumInfo_info2;
104 static int hf_netdfs_dfs_EnumInfo_info200;
105 static int hf_netdfs_dfs_EnumInfo_info3;
106 static int hf_netdfs_dfs_EnumInfo_info300;
107 static int hf_netdfs_dfs_EnumInfo_info4;
108 static int hf_netdfs_dfs_EnumStruct_e;
109 static int hf_netdfs_dfs_EnumStruct_level;
110 static int hf_netdfs_dfs_Enum_bufsize;
111 static int hf_netdfs_dfs_Enum_info;
112 static int hf_netdfs_dfs_Enum_level;
113 static int hf_netdfs_dfs_Enum_total;
114 static int hf_netdfs_dfs_FlushFtTable_rootshare;
115 static int hf_netdfs_dfs_FlushFtTable_servername;
116 static int hf_netdfs_dfs_GetInfo_dfs_entry_path;
117 static int hf_netdfs_dfs_GetInfo_info;
118 static int hf_netdfs_dfs_GetInfo_level;
119 static int hf_netdfs_dfs_GetInfo_servername;
120 static int hf_netdfs_dfs_GetInfo_sharename;
121 static int hf_netdfs_dfs_GetManagerVersion_version;
122 static int hf_netdfs_dfs_Info100_comment;
123 static int hf_netdfs_dfs_Info101_state;
124 static int hf_netdfs_dfs_Info102_timeout;
125 static int hf_netdfs_dfs_Info103_flags;
126 static int hf_netdfs_dfs_Info104_priority;
127 static int hf_netdfs_dfs_Info105_comment;
128 static int hf_netdfs_dfs_Info105_property_flag_mask;
129 static int hf_netdfs_dfs_Info105_property_flags;
130 static int hf_netdfs_dfs_Info105_state;
131 static int hf_netdfs_dfs_Info105_timeout;
132 static int hf_netdfs_dfs_Info106_priority;
133 static int hf_netdfs_dfs_Info106_state;
134 static int hf_netdfs_dfs_Info1_path;
135 static int hf_netdfs_dfs_Info200_dom_root;
136 static int hf_netdfs_dfs_Info2_comment;
137 static int hf_netdfs_dfs_Info2_num_stores;
138 static int hf_netdfs_dfs_Info2_path;
139 static int hf_netdfs_dfs_Info2_state;
140 static int hf_netdfs_dfs_Info300_dom_root;
141 static int hf_netdfs_dfs_Info300_flavor;
142 static int hf_netdfs_dfs_Info3_comment;
143 static int hf_netdfs_dfs_Info3_num_stores;
144 static int hf_netdfs_dfs_Info3_path;
145 static int hf_netdfs_dfs_Info3_state;
146 static int hf_netdfs_dfs_Info3_stores;
147 static int hf_netdfs_dfs_Info4_comment;
148 static int hf_netdfs_dfs_Info4_guid;
149 static int hf_netdfs_dfs_Info4_num_stores;
150 static int hf_netdfs_dfs_Info4_path;
151 static int hf_netdfs_dfs_Info4_state;
152 static int hf_netdfs_dfs_Info4_stores;
153 static int hf_netdfs_dfs_Info4_timeout;
154 static int hf_netdfs_dfs_Info5_comment;
155 static int hf_netdfs_dfs_Info5_flags;
156 static int hf_netdfs_dfs_Info5_guid;
157 static int hf_netdfs_dfs_Info5_num_stores;
158 static int hf_netdfs_dfs_Info5_path;
159 static int hf_netdfs_dfs_Info5_pktsize;
160 static int hf_netdfs_dfs_Info5_state;
161 static int hf_netdfs_dfs_Info5_timeout;
162 static int hf_netdfs_dfs_Info6_comment;
163 static int hf_netdfs_dfs_Info6_entry_path;
164 static int hf_netdfs_dfs_Info6_flags;
165 static int hf_netdfs_dfs_Info6_guid;
166 static int hf_netdfs_dfs_Info6_num_stores;
167 static int hf_netdfs_dfs_Info6_pktsize;
168 static int hf_netdfs_dfs_Info6_state;
169 static int hf_netdfs_dfs_Info6_stores;
170 static int hf_netdfs_dfs_Info6_timeout;
171 static int hf_netdfs_dfs_Info7_generation_guid;
172 static int hf_netdfs_dfs_Info_info0;
173 static int hf_netdfs_dfs_Info_info1;
174 static int hf_netdfs_dfs_Info_info100;
175 static int hf_netdfs_dfs_Info_info101;
176 static int hf_netdfs_dfs_Info_info102;
177 static int hf_netdfs_dfs_Info_info103;
178 static int hf_netdfs_dfs_Info_info104;
179 static int hf_netdfs_dfs_Info_info105;
180 static int hf_netdfs_dfs_Info_info106;
181 static int hf_netdfs_dfs_Info_info2;
182 static int hf_netdfs_dfs_Info_info3;
183 static int hf_netdfs_dfs_Info_info4;
184 static int hf_netdfs_dfs_Info_info5;
185 static int hf_netdfs_dfs_Info_info6;
186 static int hf_netdfs_dfs_Info_info7;
187 static int hf_netdfs_dfs_ManagerInitialize_flags;
188 static int hf_netdfs_dfs_ManagerInitialize_servername;
189 static int hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED;
190 static int hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS;
191 static int hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY;
192 static int hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING;
193 static int hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK;
194 static int hf_netdfs_dfs_RemoveFtRoot_dfsname;
195 static int hf_netdfs_dfs_RemoveFtRoot_dns_servername;
196 static int hf_netdfs_dfs_RemoveFtRoot_flags;
197 static int hf_netdfs_dfs_RemoveFtRoot_rootshare;
198 static int hf_netdfs_dfs_RemoveFtRoot_servername;
199 static int hf_netdfs_dfs_RemoveFtRoot_unknown;
200 static int hf_netdfs_dfs_RemoveStdRoot_flags;
201 static int hf_netdfs_dfs_RemoveStdRoot_rootshare;
202 static int hf_netdfs_dfs_RemoveStdRoot_servername;
203 static int hf_netdfs_dfs_Remove_dfs_entry_path;
204 static int hf_netdfs_dfs_Remove_servername;
205 static int hf_netdfs_dfs_Remove_sharename;
206 static int hf_netdfs_dfs_SetInfo_dfs_entry_path;
207 static int hf_netdfs_dfs_SetInfo_info;
208 static int hf_netdfs_dfs_SetInfo_level;
209 static int hf_netdfs_dfs_SetInfo_servername;
210 static int hf_netdfs_dfs_SetInfo_sharename;
211 static int hf_netdfs_dfs_StorageInfo2_info;
212 static int hf_netdfs_dfs_StorageInfo2_target_priority;
213 static int hf_netdfs_dfs_StorageInfo_server;
214 static int hf_netdfs_dfs_StorageInfo_share;
215 static int hf_netdfs_dfs_StorageInfo_state;
216 static int hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ACTIVE;
217 static int hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_OFFLINE;
218 static int hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ONLINE;
219 static int hf_netdfs_dfs_Target_Priority_reserved;
220 static int hf_netdfs_dfs_Target_Priority_target_priority_class;
221 static int hf_netdfs_dfs_Target_Priority_target_priority_rank;
222 static int hf_netdfs_dfs_UnknownStruct_unknown1;
223 static int hf_netdfs_dfs_UnknownStruct_unknown2;
224 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB;
225 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT;
226 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE;
227 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OK;
228 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_ONLINE;
229 static int hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE;
230 static int hf_netdfs_opnum;
231 static int hf_netdfs_werror;
233 static int proto_dcerpc_netdfs;
234 /* Version information */
237 static e_guid_t uuid_dcerpc_netdfs = {
238 0x4fc742e0, 0x4a10, 0x11cf,
239 { 0x82, 0x73, 0x00, 0xaa, 0x00, 0x4a, 0xe6, 0x73 }
241 static uint16_t ver_dcerpc_netdfs = 3;
243 const value_string netdfs_dfs_ManagerVersion_vals[] = {
244 { DFS_MANAGER_VERSION_NT4, "DFS_MANAGER_VERSION_NT4" },
245 { DFS_MANAGER_VERSION_W2K, "DFS_MANAGER_VERSION_W2K" },
246 { DFS_MANAGER_VERSION_W2K3, "DFS_MANAGER_VERSION_W2K3" },
247 { 0, NULL }
249 static int netdfs_dissect_element_dfs_Info1_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
250 static int netdfs_dissect_element_dfs_Info1_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
251 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_OK_tfs = {
252 "DFS_VOLUME_STATE_OK is SET",
253 "DFS_VOLUME_STATE_OK is NOT SET",
255 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT_tfs = {
256 "DFS_VOLUME_STATE_INCONSISTENT is SET",
257 "DFS_VOLUME_STATE_INCONSISTENT is NOT SET",
259 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE_tfs = {
260 "DFS_VOLUME_STATE_OFFLINE is SET",
261 "DFS_VOLUME_STATE_OFFLINE is NOT SET",
263 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_ONLINE_tfs = {
264 "DFS_VOLUME_STATE_ONLINE is SET",
265 "DFS_VOLUME_STATE_ONLINE is NOT SET",
267 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE_tfs = {
268 "DFS_VOLUME_STATE_STANDALONE is SET",
269 "DFS_VOLUME_STATE_STANDALONE is NOT SET",
271 static const true_false_string dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB_tfs = {
272 "DFS_VOLUME_STATE_AD_BLOB is SET",
273 "DFS_VOLUME_STATE_AD_BLOB is NOT SET",
275 static int netdfs_dissect_element_dfs_Info2_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
276 static int netdfs_dissect_element_dfs_Info2_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
277 static int netdfs_dissect_element_dfs_Info2_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
278 static int netdfs_dissect_element_dfs_Info2_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
279 static int netdfs_dissect_element_dfs_Info2_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
280 static int netdfs_dissect_element_dfs_Info2_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
281 static const true_false_string dfs_StorageState_DFS_STORAGE_STATE_OFFLINE_tfs = {
282 "DFS_STORAGE_STATE_OFFLINE is SET",
283 "DFS_STORAGE_STATE_OFFLINE is NOT SET",
285 static const true_false_string dfs_StorageState_DFS_STORAGE_STATE_ONLINE_tfs = {
286 "DFS_STORAGE_STATE_ONLINE is SET",
287 "DFS_STORAGE_STATE_ONLINE is NOT SET",
289 static const true_false_string dfs_StorageState_DFS_STORAGE_STATE_ACTIVE_tfs = {
290 "DFS_STORAGE_STATE_ACTIVE is SET",
291 "DFS_STORAGE_STATE_ACTIVE is NOT SET",
293 static int netdfs_dissect_element_dfs_StorageInfo_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
294 static int netdfs_dissect_element_dfs_StorageInfo_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
295 static int netdfs_dissect_element_dfs_StorageInfo_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
296 static int netdfs_dissect_element_dfs_StorageInfo_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
297 static int netdfs_dissect_element_dfs_StorageInfo_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
298 static int netdfs_dissect_element_dfs_Info3_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
299 static int netdfs_dissect_element_dfs_Info3_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
300 static int netdfs_dissect_element_dfs_Info3_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
301 static int netdfs_dissect_element_dfs_Info3_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
302 static int netdfs_dissect_element_dfs_Info3_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
303 static int netdfs_dissect_element_dfs_Info3_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
304 static int netdfs_dissect_element_dfs_Info3_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
305 static int netdfs_dissect_element_dfs_Info3_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
306 static int netdfs_dissect_element_dfs_Info3_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
307 static int netdfs_dissect_element_dfs_Info4_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
308 static int netdfs_dissect_element_dfs_Info4_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
309 static int netdfs_dissect_element_dfs_Info4_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
310 static int netdfs_dissect_element_dfs_Info4_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
311 static int netdfs_dissect_element_dfs_Info4_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
312 static int netdfs_dissect_element_dfs_Info4_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
313 static int netdfs_dissect_element_dfs_Info4_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
314 static int netdfs_dissect_element_dfs_Info4_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
315 static int netdfs_dissect_element_dfs_Info4_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
316 static int netdfs_dissect_element_dfs_Info4_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
317 static int netdfs_dissect_element_dfs_Info4_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
318 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS_tfs = {
319 "DFS_PROPERTY_FLAG_INSITE_REFERRALS is SET",
320 "DFS_PROPERTY_FLAG_INSITE_REFERRALS is NOT SET",
322 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY_tfs = {
323 "DFS_PROPERTY_FLAG_ROOT_SCALABILITY is SET",
324 "DFS_PROPERTY_FLAG_ROOT_SCALABILITY is NOT SET",
326 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING_tfs = {
327 "DFS_PROPERTY_FLAG_SITE_COSTING is SET",
328 "DFS_PROPERTY_FLAG_SITE_COSTING is NOT SET",
330 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK_tfs = {
331 "DFS_PROPERTY_FLAG_TARGET_FAILBACK is SET",
332 "DFS_PROPERTY_FLAG_TARGET_FAILBACK is NOT SET",
334 static const true_false_string dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED_tfs = {
335 "DFS_PROPERTY_FLAG_CLUSTER_ENABLED is SET",
336 "DFS_PROPERTY_FLAG_CLUSTER_ENABLED is NOT SET",
338 static int netdfs_dissect_element_dfs_Info5_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
339 static int netdfs_dissect_element_dfs_Info5_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
340 static int netdfs_dissect_element_dfs_Info5_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
341 static int netdfs_dissect_element_dfs_Info5_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
342 static int netdfs_dissect_element_dfs_Info5_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
343 static int netdfs_dissect_element_dfs_Info5_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
344 static int netdfs_dissect_element_dfs_Info5_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
345 static int netdfs_dissect_element_dfs_Info5_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
346 static int netdfs_dissect_element_dfs_Info5_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
347 static int netdfs_dissect_element_dfs_Info5_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
348 const value_string netdfs_dfs_Target_PriorityClass_vals[] = {
349 { DFS_INVALID_PRIORITY_CLASS, "DFS_INVALID_PRIORITY_CLASS" },
350 { DFS_SITE_COST_NORMAL_PRIORITY_CLASS, "DFS_SITE_COST_NORMAL_PRIORITY_CLASS" },
351 { DFS_GLOBAL_HIGH_PRIORITY_CLASS, "DFS_GLOBAL_HIGH_PRIORITY_CLASS" },
352 { DFS_SITE_COST_HIGH_PRIORITY_CLASS, "DFS_SITE_COST_HIGH_PRIORITY_CLASS" },
353 { DFS_SITE_COST_LOW_PRIORITY_CLASS, "DFS_SITE_COST_LOW_PRIORITY_CLASS" },
354 { DFS_GLOBAL_LOW_PRIORITY_CLASS, "DFS_GLOBAL_LOW_PRIORITY_CLASS" },
355 { 0, NULL }
357 static int netdfs_dissect_element_dfs_Target_Priority_target_priority_class(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
358 static int netdfs_dissect_element_dfs_Target_Priority_target_priority_rank(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
359 static int netdfs_dissect_element_dfs_Target_Priority_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
360 static int netdfs_dissect_element_dfs_StorageInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
361 static int netdfs_dissect_element_dfs_StorageInfo2_target_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
362 static int netdfs_dissect_element_dfs_Info6_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
363 static int netdfs_dissect_element_dfs_Info6_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
364 static int netdfs_dissect_element_dfs_Info6_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
365 static int netdfs_dissect_element_dfs_Info6_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
366 static int netdfs_dissect_element_dfs_Info6_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
367 static int netdfs_dissect_element_dfs_Info6_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
368 static int netdfs_dissect_element_dfs_Info6_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
369 static int netdfs_dissect_element_dfs_Info6_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
370 static int netdfs_dissect_element_dfs_Info6_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
371 static int netdfs_dissect_element_dfs_Info6_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
372 static int netdfs_dissect_element_dfs_Info6_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
373 static int netdfs_dissect_element_dfs_Info6_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
374 static int netdfs_dissect_element_dfs_Info6_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
375 static int netdfs_dissect_element_dfs_Info7_generation_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
376 static int netdfs_dissect_element_dfs_Info100_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
377 static int netdfs_dissect_element_dfs_Info100_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
378 static int netdfs_dissect_element_dfs_Info101_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
379 static int netdfs_dissect_element_dfs_Info102_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
380 static int netdfs_dissect_element_dfs_Info103_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
381 static int netdfs_dissect_element_dfs_Info104_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
382 static int netdfs_dissect_element_dfs_Info105_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
383 static int netdfs_dissect_element_dfs_Info105_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
384 static int netdfs_dissect_element_dfs_Info105_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
385 static int netdfs_dissect_element_dfs_Info105_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
386 static int netdfs_dissect_element_dfs_Info105_property_flag_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
387 static int netdfs_dissect_element_dfs_Info105_property_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
388 static int netdfs_dissect_element_dfs_Info106_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
389 static int netdfs_dissect_element_dfs_Info106_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
390 static int netdfs_dissect_element_dfs_Info200_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
391 static int netdfs_dissect_element_dfs_Info200_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
392 const value_string netdfs_dfs_VolumeFlavor_vals[] = {
393 { DFS_VOLUME_FLAVOR_STANDALONE, "DFS_VOLUME_FLAVOR_STANDALONE" },
394 { DFS_VOLUME_FLAVOR_AD_BLOB, "DFS_VOLUME_FLAVOR_AD_BLOB" },
395 { 0, NULL }
397 static int netdfs_dissect_element_dfs_Info300_flavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
398 static int netdfs_dissect_element_dfs_Info300_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
399 static int netdfs_dissect_element_dfs_Info300_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
400 static int netdfs_dissect_element_dfs_Info_info0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
401 static int netdfs_dissect_element_dfs_Info_info0_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
402 static int netdfs_dissect_element_dfs_Info_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
403 static int netdfs_dissect_element_dfs_Info_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
404 static int netdfs_dissect_element_dfs_Info_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
405 static int netdfs_dissect_element_dfs_Info_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
406 static int netdfs_dissect_element_dfs_Info_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
407 static int netdfs_dissect_element_dfs_Info_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
408 static int netdfs_dissect_element_dfs_Info_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
409 static int netdfs_dissect_element_dfs_Info_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
410 static int netdfs_dissect_element_dfs_Info_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
411 static int netdfs_dissect_element_dfs_Info_info5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
412 static int netdfs_dissect_element_dfs_Info_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
413 static int netdfs_dissect_element_dfs_Info_info6_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
414 static int netdfs_dissect_element_dfs_Info_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
415 static int netdfs_dissect_element_dfs_Info_info7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
416 static int netdfs_dissect_element_dfs_Info_info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
417 static int netdfs_dissect_element_dfs_Info_info100_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
418 static int netdfs_dissect_element_dfs_Info_info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
419 static int netdfs_dissect_element_dfs_Info_info101_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
420 static int netdfs_dissect_element_dfs_Info_info102(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
421 static int netdfs_dissect_element_dfs_Info_info102_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
422 static int netdfs_dissect_element_dfs_Info_info103(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
423 static int netdfs_dissect_element_dfs_Info_info103_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
424 static int netdfs_dissect_element_dfs_Info_info104(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
425 static int netdfs_dissect_element_dfs_Info_info104_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
426 static int netdfs_dissect_element_dfs_Info_info105(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
427 static int netdfs_dissect_element_dfs_Info_info105_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
428 static int netdfs_dissect_element_dfs_Info_info106(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
429 static int netdfs_dissect_element_dfs_Info_info106_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
430 static int netdfs_dissect_element_dfs_EnumArray1_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
431 static int netdfs_dissect_element_dfs_EnumArray1_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
432 static int netdfs_dissect_element_dfs_EnumArray1_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
433 static int netdfs_dissect_element_dfs_EnumArray1_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
434 static int netdfs_dissect_element_dfs_EnumArray2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
435 static int netdfs_dissect_element_dfs_EnumArray2_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
436 static int netdfs_dissect_element_dfs_EnumArray2_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
437 static int netdfs_dissect_element_dfs_EnumArray2_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
438 static int netdfs_dissect_element_dfs_EnumArray3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
439 static int netdfs_dissect_element_dfs_EnumArray3_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
440 static int netdfs_dissect_element_dfs_EnumArray3_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
441 static int netdfs_dissect_element_dfs_EnumArray3_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
442 static int netdfs_dissect_element_dfs_EnumArray4_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
443 static int netdfs_dissect_element_dfs_EnumArray4_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
444 static int netdfs_dissect_element_dfs_EnumArray4_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
445 static int netdfs_dissect_element_dfs_EnumArray4_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
446 static int netdfs_dissect_element_dfs_EnumArray200_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
447 static int netdfs_dissect_element_dfs_EnumArray200_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
448 static int netdfs_dissect_element_dfs_EnumArray200_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
449 static int netdfs_dissect_element_dfs_EnumArray200_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
450 static int netdfs_dissect_element_dfs_EnumArray300_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
451 static int netdfs_dissect_element_dfs_EnumArray300_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
452 static int netdfs_dissect_element_dfs_EnumArray300_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
453 static int netdfs_dissect_element_dfs_EnumArray300_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
454 static int netdfs_dissect_element_dfs_EnumInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
455 static int netdfs_dissect_element_dfs_EnumInfo_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
456 static int netdfs_dissect_element_dfs_EnumInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
457 static int netdfs_dissect_element_dfs_EnumInfo_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
458 static int netdfs_dissect_element_dfs_EnumInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
459 static int netdfs_dissect_element_dfs_EnumInfo_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
460 static int netdfs_dissect_element_dfs_EnumInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
461 static int netdfs_dissect_element_dfs_EnumInfo_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
462 static int netdfs_dissect_element_dfs_EnumInfo_info200(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
463 static int netdfs_dissect_element_dfs_EnumInfo_info200_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
464 static int netdfs_dissect_element_dfs_EnumInfo_info300(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
465 static int netdfs_dissect_element_dfs_EnumInfo_info300_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
466 static int netdfs_dissect_element_dfs_EnumStruct_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *level);
467 static int netdfs_dissect_element_dfs_EnumStruct_e(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t level);
468 static int netdfs_dissect_element_dfs_UnknownStruct_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
469 static int netdfs_dissect_element_dfs_UnknownStruct_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
470 static int netdfs_dissect_element_dfs_UnknownStruct_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
471 static int netdfs_dissect_element_dfs_GetManagerVersion_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
472 static int netdfs_dissect_element_dfs_GetManagerVersion_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
473 static int netdfs_dissect_element_dfs_Add_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
474 static int netdfs_dissect_element_dfs_Add_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
475 static int netdfs_dissect_element_dfs_Add_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
476 static int netdfs_dissect_element_dfs_Add_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
477 static int netdfs_dissect_element_dfs_Add_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
478 static int netdfs_dissect_element_dfs_Add_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
479 static int netdfs_dissect_element_dfs_Add_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
480 static int netdfs_dissect_element_dfs_Add_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
481 static int netdfs_dissect_element_dfs_Add_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
482 static int netdfs_dissect_element_dfs_Remove_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
483 static int netdfs_dissect_element_dfs_Remove_dfs_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
484 static int netdfs_dissect_element_dfs_Remove_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
485 static int netdfs_dissect_element_dfs_Remove_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
486 static int netdfs_dissect_element_dfs_Remove_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
487 static int netdfs_dissect_element_dfs_Remove_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
488 static int netdfs_dissect_element_dfs_SetInfo_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
489 static int netdfs_dissect_element_dfs_SetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
490 static int netdfs_dissect_element_dfs_SetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
491 static int netdfs_dissect_element_dfs_SetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
492 static int netdfs_dissect_element_dfs_SetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
493 static int netdfs_dissect_element_dfs_SetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
494 static int netdfs_dissect_element_dfs_SetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
495 static int netdfs_dissect_element_dfs_SetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
496 static int netdfs_dissect_element_dfs_GetInfo_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
497 static int netdfs_dissect_element_dfs_GetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
498 static int netdfs_dissect_element_dfs_GetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
499 static int netdfs_dissect_element_dfs_GetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
500 static int netdfs_dissect_element_dfs_GetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
501 static int netdfs_dissect_element_dfs_GetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
502 static int netdfs_dissect_element_dfs_GetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
503 static int netdfs_dissect_element_dfs_GetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
504 static int netdfs_dissect_element_dfs_Enum_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
505 static int netdfs_dissect_element_dfs_Enum_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
506 static int netdfs_dissect_element_dfs_Enum_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
507 static int netdfs_dissect_element_dfs_Enum_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
508 static int netdfs_dissect_element_dfs_Enum_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
509 static int netdfs_dissect_element_dfs_Enum_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
510 static int netdfs_dissect_element_dfs_AddFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
511 static int netdfs_dissect_element_dfs_AddFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
512 static int netdfs_dissect_element_dfs_AddFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
513 static int netdfs_dissect_element_dfs_AddFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
514 static int netdfs_dissect_element_dfs_AddFtRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
515 static int netdfs_dissect_element_dfs_AddFtRoot_dfs_config_dn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
516 static int netdfs_dissect_element_dfs_AddFtRoot_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
517 static int netdfs_dissect_element_dfs_AddFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
518 static int netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
519 static int netdfs_dissect_element_dfs_AddFtRoot_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
520 static int netdfs_dissect_element_dfs_AddFtRoot_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
521 static int netdfs_dissect_element_dfs_RemoveFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
522 static int netdfs_dissect_element_dfs_RemoveFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
523 static int netdfs_dissect_element_dfs_RemoveFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
524 static int netdfs_dissect_element_dfs_RemoveFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
525 static int netdfs_dissect_element_dfs_RemoveFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
526 static int netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
527 static int netdfs_dissect_element_dfs_RemoveFtRoot_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
528 static int netdfs_dissect_element_dfs_RemoveFtRoot_unknown__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
529 static int netdfs_dissect_element_dfs_AddStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
530 static int netdfs_dissect_element_dfs_AddStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
531 static int netdfs_dissect_element_dfs_AddStdRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
532 static int netdfs_dissect_element_dfs_AddStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
533 static int netdfs_dissect_element_dfs_RemoveStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
534 static int netdfs_dissect_element_dfs_RemoveStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
535 static int netdfs_dissect_element_dfs_RemoveStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
536 static int netdfs_dissect_element_dfs_ManagerInitialize_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
537 static int netdfs_dissect_element_dfs_ManagerInitialize_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
538 static int netdfs_dissect_element_dfs_ManagerInitialize_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
539 static int netdfs_dissect_element_dfs_AddStdRootForced_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
540 static int netdfs_dissect_element_dfs_AddStdRootForced_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
541 static int netdfs_dissect_element_dfs_AddStdRootForced_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
542 static int netdfs_dissect_element_dfs_AddStdRootForced_store(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
543 static int netdfs_dissect_element_dfs_FlushFtTable_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
544 static int netdfs_dissect_element_dfs_FlushFtTable_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
545 static int netdfs_dissect_element_dfs_EnumEx_dfs_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
546 static int netdfs_dissect_element_dfs_EnumEx_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
547 static int netdfs_dissect_element_dfs_EnumEx_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
548 static int netdfs_dissect_element_dfs_EnumEx_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
549 static int netdfs_dissect_element_dfs_EnumEx_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
550 static int netdfs_dissect_element_dfs_EnumEx_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
551 static int netdfs_dissect_element_dfs_EnumEx_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
554 /* IDL: enum { */
555 /* IDL: DFS_MANAGER_VERSION_NT4=1, */
556 /* IDL: DFS_MANAGER_VERSION_W2K=2, */
557 /* IDL: DFS_MANAGER_VERSION_W2K3=4, */
558 /* IDL: } */
561 netdfs_dissect_enum_dfs_ManagerVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
563 uint32_t parameter=0;
564 if (param) {
565 parameter = *param;
567 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
568 if (param) {
569 *param = parameter;
571 return offset;
575 /* IDL: struct { */
576 /* IDL: } */
579 netdfs_dissect_struct_dfs_Info0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
581 proto_item *item = NULL;
582 int old_offset;
584 old_offset = offset;
586 if (parent_tree) {
587 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
591 proto_item_set_len(item, offset-old_offset);
594 return offset;
598 /* IDL: struct { */
599 /* IDL: [charset(UTF16)] [unique(1)] uint16 *path; */
600 /* IDL: } */
602 static int
603 netdfs_dissect_element_dfs_Info1_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
605 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info1_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info1_path);
607 return offset;
610 static int
611 netdfs_dissect_element_dfs_Info1_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
613 char *data = NULL;
614 struct ndr_generic_array nga = { .is_conformant = false, };
616 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
618 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
619 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info1_path, false, &nga, &data);
620 proto_item_append_text(tree, ": %s", data);
622 return offset;
626 netdfs_dissect_struct_dfs_Info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
628 proto_item *item = NULL;
629 proto_tree *tree = NULL;
630 int old_offset;
632 ALIGN_TO_5_BYTES;
634 old_offset = offset;
636 if (parent_tree) {
637 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
638 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info1);
641 offset = netdfs_dissect_element_dfs_Info1_path(tvb, offset, pinfo, tree, di, drep);
644 proto_item_set_len(item, offset-old_offset);
647 if (di->call_data->flags & DCERPC_IS_NDR64) {
648 ALIGN_TO_5_BYTES;
651 return offset;
655 /* IDL: bitmap { */
656 /* IDL: DFS_VOLUME_STATE_OK = 0x1 , */
657 /* IDL: DFS_VOLUME_STATE_INCONSISTENT = 0x2 , */
658 /* IDL: DFS_VOLUME_STATE_OFFLINE = 0x4 , */
659 /* IDL: DFS_VOLUME_STATE_ONLINE = 0x8 , */
660 /* IDL: DFS_VOLUME_STATE_STANDALONE = DFS_VOLUME_FLAVOR_STANDALONE , */
661 /* IDL: DFS_VOLUME_STATE_AD_BLOB = DFS_VOLUME_FLAVOR_AD_BLOB , */
662 /* IDL: } */
665 netdfs_dissect_bitmap_dfs_VolumeState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
667 proto_item *item;
668 static int * const netdfs_dfs_VolumeState_fields[] = {
669 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OK,
670 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT,
671 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE,
672 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_ONLINE,
673 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE,
674 &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB,
675 NULL
677 uint32_t flags;
678 ALIGN_TO_4_BYTES;
680 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
681 ett_netdfs_dfs_VolumeState, netdfs_dfs_VolumeState_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
683 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
685 if (!flags)
686 proto_item_append_text(item, ": (No values set)");
688 if (flags & (~0x000001cd)) {
689 flags &= (~0x000001cd);
690 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
693 return offset;
697 /* IDL: struct { */
698 /* IDL: [charset(UTF16)] [unique(1)] uint16 *path; */
699 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
700 /* IDL: dfs_VolumeState state; */
701 /* IDL: uint32 num_stores; */
702 /* IDL: } */
704 static int
705 netdfs_dissect_element_dfs_Info2_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
707 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info2_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info2_path);
709 return offset;
712 static int
713 netdfs_dissect_element_dfs_Info2_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
715 char *data = NULL;
716 struct ndr_generic_array nga = { .is_conformant = false, };
718 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
720 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
721 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info2_path, false, &nga, &data);
722 proto_item_append_text(tree, ": %s", data);
724 return offset;
727 static int
728 netdfs_dissect_element_dfs_Info2_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
730 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info2_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info2_comment);
732 return offset;
735 static int
736 netdfs_dissect_element_dfs_Info2_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
738 char *data = NULL;
739 struct ndr_generic_array nga = { .is_conformant = false, };
741 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
743 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
744 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info2_comment, false, &nga, &data);
745 proto_item_append_text(tree, ": %s", data);
747 return offset;
750 static int
751 netdfs_dissect_element_dfs_Info2_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
753 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info2_state, 0);
755 return offset;
758 static int
759 netdfs_dissect_element_dfs_Info2_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
761 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info2_num_stores, 0);
763 return offset;
767 netdfs_dissect_struct_dfs_Info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
769 proto_item *item = NULL;
770 proto_tree *tree = NULL;
771 int old_offset;
773 ALIGN_TO_5_BYTES;
775 old_offset = offset;
777 if (parent_tree) {
778 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
779 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info2);
782 offset = netdfs_dissect_element_dfs_Info2_path(tvb, offset, pinfo, tree, di, drep);
784 offset = netdfs_dissect_element_dfs_Info2_comment(tvb, offset, pinfo, tree, di, drep);
786 offset = netdfs_dissect_element_dfs_Info2_state(tvb, offset, pinfo, tree, di, drep);
788 offset = netdfs_dissect_element_dfs_Info2_num_stores(tvb, offset, pinfo, tree, di, drep);
791 proto_item_set_len(item, offset-old_offset);
794 if (di->call_data->flags & DCERPC_IS_NDR64) {
795 ALIGN_TO_5_BYTES;
798 return offset;
802 /* IDL: bitmap { */
803 /* IDL: DFS_STORAGE_STATE_OFFLINE = 1 , */
804 /* IDL: DFS_STORAGE_STATE_ONLINE = 2 , */
805 /* IDL: DFS_STORAGE_STATE_ACTIVE = 4 , */
806 /* IDL: } */
809 netdfs_dissect_bitmap_dfs_StorageState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
811 proto_item *item;
812 static int * const netdfs_dfs_StorageState_fields[] = {
813 &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_OFFLINE,
814 &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ONLINE,
815 &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ACTIVE,
816 NULL
818 uint32_t flags;
819 ALIGN_TO_4_BYTES;
821 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
822 ett_netdfs_dfs_StorageState, netdfs_dfs_StorageState_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
824 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
826 if (!flags)
827 proto_item_append_text(item, ": (No values set)");
829 if (flags & (~0x00000007)) {
830 flags &= (~0x00000007);
831 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
834 return offset;
838 /* IDL: struct { */
839 /* IDL: dfs_StorageState state; */
840 /* IDL: [charset(UTF16)] [unique(1)] uint16 *server; */
841 /* IDL: [charset(UTF16)] [unique(1)] uint16 *share; */
842 /* IDL: } */
844 static int
845 netdfs_dissect_element_dfs_StorageInfo_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
847 offset = netdfs_dissect_bitmap_dfs_StorageState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_StorageInfo_state, 0);
849 return offset;
852 static int
853 netdfs_dissect_element_dfs_StorageInfo_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
855 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_StorageInfo_server_, NDR_POINTER_UNIQUE, "Pointer to Server (uint16)",hf_netdfs_dfs_StorageInfo_server);
857 return offset;
860 static int
861 netdfs_dissect_element_dfs_StorageInfo_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
863 char *data = NULL;
864 struct ndr_generic_array nga = { .is_conformant = false, };
866 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
868 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
869 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_StorageInfo_server, false, &nga, &data);
870 proto_item_append_text(tree, ": %s", data);
872 return offset;
875 static int
876 netdfs_dissect_element_dfs_StorageInfo_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
878 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_StorageInfo_share_, NDR_POINTER_UNIQUE, "Pointer to Share (uint16)",hf_netdfs_dfs_StorageInfo_share);
880 return offset;
883 static int
884 netdfs_dissect_element_dfs_StorageInfo_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
886 char *data = NULL;
887 struct ndr_generic_array nga = { .is_conformant = false, };
889 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
891 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
892 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_StorageInfo_share, false, &nga, &data);
893 proto_item_append_text(tree, ": %s", data);
895 return offset;
899 netdfs_dissect_struct_dfs_StorageInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
901 proto_item *item = NULL;
902 proto_tree *tree = NULL;
903 int old_offset;
905 ALIGN_TO_5_BYTES;
907 old_offset = offset;
909 if (parent_tree) {
910 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
911 tree = proto_item_add_subtree(item, ett_netdfs_dfs_StorageInfo);
914 offset = netdfs_dissect_element_dfs_StorageInfo_state(tvb, offset, pinfo, tree, di, drep);
916 offset = netdfs_dissect_element_dfs_StorageInfo_server(tvb, offset, pinfo, tree, di, drep);
918 offset = netdfs_dissect_element_dfs_StorageInfo_share(tvb, offset, pinfo, tree, di, drep);
921 proto_item_set_len(item, offset-old_offset);
924 if (di->call_data->flags & DCERPC_IS_NDR64) {
925 ALIGN_TO_5_BYTES;
928 return offset;
932 /* IDL: struct { */
933 /* IDL: [charset(UTF16)] [unique(1)] uint16 *path; */
934 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
935 /* IDL: dfs_VolumeState state; */
936 /* IDL: uint32 num_stores; */
937 /* IDL: [size_is(num_stores)] [unique(1)] dfs_StorageInfo *stores; */
938 /* IDL: } */
940 static int
941 netdfs_dissect_element_dfs_Info3_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
943 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info3_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info3_path);
945 return offset;
948 static int
949 netdfs_dissect_element_dfs_Info3_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
951 char *data = NULL;
952 struct ndr_generic_array nga = { .is_conformant = false, };
954 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
956 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
957 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info3_path, false, &nga, &data);
958 proto_item_append_text(tree, ": %s", data);
960 return offset;
963 static int
964 netdfs_dissect_element_dfs_Info3_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
966 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info3_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info3_comment);
968 return offset;
971 static int
972 netdfs_dissect_element_dfs_Info3_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
974 char *data = NULL;
975 struct ndr_generic_array nga = { .is_conformant = false, };
977 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
979 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
980 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info3_comment, false, &nga, &data);
981 proto_item_append_text(tree, ": %s", data);
983 return offset;
986 static int
987 netdfs_dissect_element_dfs_Info3_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
989 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info3_state, 0);
991 return offset;
994 static int
995 netdfs_dissect_element_dfs_Info3_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
997 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info3_num_stores, 0);
999 return offset;
1002 static int
1003 netdfs_dissect_element_dfs_Info3_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1005 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info3_stores_, NDR_POINTER_UNIQUE, "Pointer to Stores (dfs_StorageInfo)",hf_netdfs_dfs_Info3_stores);
1007 return offset;
1010 static int
1011 netdfs_dissect_element_dfs_Info3_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1013 struct ndr_generic_array nga = { .is_conformant = false, };
1015 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1017 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, netdfs_dissect_element_dfs_Info3_stores__);
1019 return offset;
1022 static int
1023 netdfs_dissect_element_dfs_Info3_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1025 offset = netdfs_dissect_struct_dfs_StorageInfo(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info3_stores,0);
1027 return offset;
1031 netdfs_dissect_struct_dfs_Info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1033 proto_item *item = NULL;
1034 proto_tree *tree = NULL;
1035 int old_offset;
1037 ALIGN_TO_5_BYTES;
1039 old_offset = offset;
1041 if (parent_tree) {
1042 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1043 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info3);
1046 offset = netdfs_dissect_element_dfs_Info3_path(tvb, offset, pinfo, tree, di, drep);
1048 offset = netdfs_dissect_element_dfs_Info3_comment(tvb, offset, pinfo, tree, di, drep);
1050 offset = netdfs_dissect_element_dfs_Info3_state(tvb, offset, pinfo, tree, di, drep);
1052 offset = netdfs_dissect_element_dfs_Info3_num_stores(tvb, offset, pinfo, tree, di, drep);
1054 offset = netdfs_dissect_element_dfs_Info3_stores(tvb, offset, pinfo, tree, di, drep);
1057 proto_item_set_len(item, offset-old_offset);
1060 if (di->call_data->flags & DCERPC_IS_NDR64) {
1061 ALIGN_TO_5_BYTES;
1064 return offset;
1068 /* IDL: struct { */
1069 /* IDL: [charset(UTF16)] [unique(1)] uint16 *path; */
1070 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
1071 /* IDL: dfs_VolumeState state; */
1072 /* IDL: uint32 timeout; */
1073 /* IDL: GUID guid; */
1074 /* IDL: uint32 num_stores; */
1075 /* IDL: [size_is(num_stores)] [unique(1)] dfs_StorageInfo *stores; */
1076 /* IDL: } */
1078 static int
1079 netdfs_dissect_element_dfs_Info4_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1081 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info4_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info4_path);
1083 return offset;
1086 static int
1087 netdfs_dissect_element_dfs_Info4_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1089 char *data = NULL;
1090 struct ndr_generic_array nga = { .is_conformant = false, };
1092 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1094 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1095 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info4_path, false, &nga, &data);
1096 proto_item_append_text(tree, ": %s", data);
1098 return offset;
1101 static int
1102 netdfs_dissect_element_dfs_Info4_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1104 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info4_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info4_comment);
1106 return offset;
1109 static int
1110 netdfs_dissect_element_dfs_Info4_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1112 char *data = NULL;
1113 struct ndr_generic_array nga = { .is_conformant = false, };
1115 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1117 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1118 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info4_comment, false, &nga, &data);
1119 proto_item_append_text(tree, ": %s", data);
1121 return offset;
1124 static int
1125 netdfs_dissect_element_dfs_Info4_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1127 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info4_state, 0);
1129 return offset;
1132 static int
1133 netdfs_dissect_element_dfs_Info4_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1135 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info4_timeout, 0);
1137 return offset;
1140 static int
1141 netdfs_dissect_element_dfs_Info4_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1143 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info4_guid, NULL);
1145 return offset;
1148 static int
1149 netdfs_dissect_element_dfs_Info4_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1151 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info4_num_stores, 0);
1153 return offset;
1156 static int
1157 netdfs_dissect_element_dfs_Info4_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1159 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info4_stores_, NDR_POINTER_UNIQUE, "Pointer to Stores (dfs_StorageInfo)",hf_netdfs_dfs_Info4_stores);
1161 return offset;
1164 static int
1165 netdfs_dissect_element_dfs_Info4_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1167 struct ndr_generic_array nga = { .is_conformant = false, };
1169 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1171 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, netdfs_dissect_element_dfs_Info4_stores__);
1173 return offset;
1176 static int
1177 netdfs_dissect_element_dfs_Info4_stores__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1179 offset = netdfs_dissect_struct_dfs_StorageInfo(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info4_stores,0);
1181 return offset;
1185 netdfs_dissect_struct_dfs_Info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1187 proto_item *item = NULL;
1188 proto_tree *tree = NULL;
1189 int old_offset;
1191 ALIGN_TO_5_BYTES;
1193 old_offset = offset;
1195 if (parent_tree) {
1196 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1197 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info4);
1200 offset = netdfs_dissect_element_dfs_Info4_path(tvb, offset, pinfo, tree, di, drep);
1202 offset = netdfs_dissect_element_dfs_Info4_comment(tvb, offset, pinfo, tree, di, drep);
1204 offset = netdfs_dissect_element_dfs_Info4_state(tvb, offset, pinfo, tree, di, drep);
1206 offset = netdfs_dissect_element_dfs_Info4_timeout(tvb, offset, pinfo, tree, di, drep);
1208 offset = netdfs_dissect_element_dfs_Info4_guid(tvb, offset, pinfo, tree, di, drep);
1210 offset = netdfs_dissect_element_dfs_Info4_num_stores(tvb, offset, pinfo, tree, di, drep);
1212 offset = netdfs_dissect_element_dfs_Info4_stores(tvb, offset, pinfo, tree, di, drep);
1215 proto_item_set_len(item, offset-old_offset);
1218 if (di->call_data->flags & DCERPC_IS_NDR64) {
1219 ALIGN_TO_5_BYTES;
1222 return offset;
1226 /* IDL: bitmap { */
1227 /* IDL: DFS_PROPERTY_FLAG_INSITE_REFERRALS = 0x00000001 , */
1228 /* IDL: DFS_PROPERTY_FLAG_ROOT_SCALABILITY = 0x00000002 , */
1229 /* IDL: DFS_PROPERTY_FLAG_SITE_COSTING = 0x00000004 , */
1230 /* IDL: DFS_PROPERTY_FLAG_TARGET_FAILBACK = 0x00000008 , */
1231 /* IDL: DFS_PROPERTY_FLAG_CLUSTER_ENABLED = 0x00000010 , */
1232 /* IDL: } */
1235 netdfs_dissect_bitmap_dfs_PropertyFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1237 proto_item *item;
1238 static int * const netdfs_dfs_PropertyFlags_fields[] = {
1239 &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS,
1240 &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY,
1241 &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING,
1242 &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK,
1243 &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED,
1244 NULL
1246 uint32_t flags;
1247 ALIGN_TO_4_BYTES;
1249 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
1250 ett_netdfs_dfs_PropertyFlags, netdfs_dfs_PropertyFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
1252 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
1254 if (!flags)
1255 proto_item_append_text(item, ": (No values set)");
1257 if (flags & (~0x0000001f)) {
1258 flags &= (~0x0000001f);
1259 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
1262 return offset;
1266 /* IDL: struct { */
1267 /* IDL: [charset(UTF16)] [unique(1)] uint16 *path; */
1268 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
1269 /* IDL: dfs_VolumeState state; */
1270 /* IDL: uint32 timeout; */
1271 /* IDL: GUID guid; */
1272 /* IDL: dfs_PropertyFlags flags; */
1273 /* IDL: uint32 pktsize; */
1274 /* IDL: uint32 num_stores; */
1275 /* IDL: } */
1277 static int
1278 netdfs_dissect_element_dfs_Info5_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1280 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info5_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_netdfs_dfs_Info5_path);
1282 return offset;
1285 static int
1286 netdfs_dissect_element_dfs_Info5_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1288 char *data = NULL;
1289 struct ndr_generic_array nga = { .is_conformant = false, };
1291 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1293 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1294 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info5_path, false, &nga, &data);
1295 proto_item_append_text(tree, ": %s", data);
1297 return offset;
1300 static int
1301 netdfs_dissect_element_dfs_Info5_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1303 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info5_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info5_comment);
1305 return offset;
1308 static int
1309 netdfs_dissect_element_dfs_Info5_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1311 char *data = NULL;
1312 struct ndr_generic_array nga = { .is_conformant = false, };
1314 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1316 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1317 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info5_comment, false, &nga, &data);
1318 proto_item_append_text(tree, ": %s", data);
1320 return offset;
1323 static int
1324 netdfs_dissect_element_dfs_Info5_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1326 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_state, 0);
1328 return offset;
1331 static int
1332 netdfs_dissect_element_dfs_Info5_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1334 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_timeout, 0);
1336 return offset;
1339 static int
1340 netdfs_dissect_element_dfs_Info5_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1342 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_guid, NULL);
1344 return offset;
1347 static int
1348 netdfs_dissect_element_dfs_Info5_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1350 offset = netdfs_dissect_bitmap_dfs_PropertyFlags(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_flags, 0);
1352 return offset;
1355 static int
1356 netdfs_dissect_element_dfs_Info5_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1358 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_pktsize, 0);
1360 return offset;
1363 static int
1364 netdfs_dissect_element_dfs_Info5_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1366 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info5_num_stores, 0);
1368 return offset;
1372 netdfs_dissect_struct_dfs_Info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1374 proto_item *item = NULL;
1375 proto_tree *tree = NULL;
1376 int old_offset;
1378 ALIGN_TO_5_BYTES;
1380 old_offset = offset;
1382 if (parent_tree) {
1383 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1384 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info5);
1387 offset = netdfs_dissect_element_dfs_Info5_path(tvb, offset, pinfo, tree, di, drep);
1389 offset = netdfs_dissect_element_dfs_Info5_comment(tvb, offset, pinfo, tree, di, drep);
1391 offset = netdfs_dissect_element_dfs_Info5_state(tvb, offset, pinfo, tree, di, drep);
1393 offset = netdfs_dissect_element_dfs_Info5_timeout(tvb, offset, pinfo, tree, di, drep);
1395 offset = netdfs_dissect_element_dfs_Info5_guid(tvb, offset, pinfo, tree, di, drep);
1397 offset = netdfs_dissect_element_dfs_Info5_flags(tvb, offset, pinfo, tree, di, drep);
1399 offset = netdfs_dissect_element_dfs_Info5_pktsize(tvb, offset, pinfo, tree, di, drep);
1401 offset = netdfs_dissect_element_dfs_Info5_num_stores(tvb, offset, pinfo, tree, di, drep);
1404 proto_item_set_len(item, offset-old_offset);
1407 if (di->call_data->flags & DCERPC_IS_NDR64) {
1408 ALIGN_TO_5_BYTES;
1411 return offset;
1415 /* IDL: enum { */
1416 /* IDL: DFS_INVALID_PRIORITY_CLASS=-1, */
1417 /* IDL: DFS_SITE_COST_NORMAL_PRIORITY_CLASS=0, */
1418 /* IDL: DFS_GLOBAL_HIGH_PRIORITY_CLASS=1, */
1419 /* IDL: DFS_SITE_COST_HIGH_PRIORITY_CLASS=2, */
1420 /* IDL: DFS_SITE_COST_LOW_PRIORITY_CLASS=3, */
1421 /* IDL: DFS_GLOBAL_LOW_PRIORITY_CLASS=4, */
1422 /* IDL: } */
1425 netdfs_dissect_enum_dfs_Target_PriorityClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
1427 uint32_t parameter=0;
1428 if (param) {
1429 parameter = *param;
1431 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
1432 if (param) {
1433 *param = parameter;
1435 return offset;
1439 /* IDL: struct { */
1440 /* IDL: dfs_Target_PriorityClass target_priority_class; */
1441 /* IDL: uint16 target_priority_rank; */
1442 /* IDL: uint16 reserved; */
1443 /* IDL: } */
1445 static int
1446 netdfs_dissect_element_dfs_Target_Priority_target_priority_class(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1448 offset = netdfs_dissect_enum_dfs_Target_PriorityClass(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Target_Priority_target_priority_class, 0);
1450 return offset;
1453 static int
1454 netdfs_dissect_element_dfs_Target_Priority_target_priority_rank(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1456 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Target_Priority_target_priority_rank, 0);
1458 return offset;
1461 static int
1462 netdfs_dissect_element_dfs_Target_Priority_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1464 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Target_Priority_reserved, 0);
1466 return offset;
1470 netdfs_dissect_struct_dfs_Target_Priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1472 proto_item *item = NULL;
1473 proto_tree *tree = NULL;
1474 int old_offset;
1476 ALIGN_TO_4_BYTES;
1478 old_offset = offset;
1480 if (parent_tree) {
1481 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1482 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Target_Priority);
1485 offset = netdfs_dissect_element_dfs_Target_Priority_target_priority_class(tvb, offset, pinfo, tree, di, drep);
1487 offset = netdfs_dissect_element_dfs_Target_Priority_target_priority_rank(tvb, offset, pinfo, tree, di, drep);
1489 offset = netdfs_dissect_element_dfs_Target_Priority_reserved(tvb, offset, pinfo, tree, di, drep);
1492 proto_item_set_len(item, offset-old_offset);
1495 if (di->call_data->flags & DCERPC_IS_NDR64) {
1496 ALIGN_TO_4_BYTES;
1499 return offset;
1503 /* IDL: struct { */
1504 /* IDL: dfs_StorageInfo info; */
1505 /* IDL: dfs_Target_Priority target_priority; */
1506 /* IDL: } */
1508 static int
1509 netdfs_dissect_element_dfs_StorageInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1511 offset = netdfs_dissect_struct_dfs_StorageInfo(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_StorageInfo2_info,0);
1513 return offset;
1516 static int
1517 netdfs_dissect_element_dfs_StorageInfo2_target_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1519 offset = netdfs_dissect_struct_dfs_Target_Priority(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_StorageInfo2_target_priority,0);
1521 return offset;
1525 netdfs_dissect_struct_dfs_StorageInfo2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1527 proto_item *item = NULL;
1528 proto_tree *tree = NULL;
1529 int old_offset;
1531 ALIGN_TO_5_BYTES;
1533 old_offset = offset;
1535 if (parent_tree) {
1536 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1537 tree = proto_item_add_subtree(item, ett_netdfs_dfs_StorageInfo2);
1540 offset = netdfs_dissect_element_dfs_StorageInfo2_info(tvb, offset, pinfo, tree, di, drep);
1542 offset = netdfs_dissect_element_dfs_StorageInfo2_target_priority(tvb, offset, pinfo, tree, di, drep);
1545 proto_item_set_len(item, offset-old_offset);
1548 if (di->call_data->flags & DCERPC_IS_NDR64) {
1549 ALIGN_TO_5_BYTES;
1552 return offset;
1556 /* IDL: struct { */
1557 /* IDL: [charset(UTF16)] [unique(1)] uint16 *entry_path; */
1558 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
1559 /* IDL: dfs_VolumeState state; */
1560 /* IDL: uint32 timeout; */
1561 /* IDL: GUID guid; */
1562 /* IDL: dfs_PropertyFlags flags; */
1563 /* IDL: uint32 pktsize; */
1564 /* IDL: uint16 num_stores; */
1565 /* IDL: [size_is(num_stores)] [unique(1)] dfs_StorageInfo2 *stores; */
1566 /* IDL: } */
1568 static int
1569 netdfs_dissect_element_dfs_Info6_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1571 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info6_entry_path_, NDR_POINTER_UNIQUE, "Pointer to Entry Path (uint16)",hf_netdfs_dfs_Info6_entry_path);
1573 return offset;
1576 static int
1577 netdfs_dissect_element_dfs_Info6_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1579 char *data = NULL;
1580 struct ndr_generic_array nga = { .is_conformant = false, };
1582 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1584 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1585 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info6_entry_path, false, &nga, &data);
1586 proto_item_append_text(tree, ": %s", data);
1588 return offset;
1591 static int
1592 netdfs_dissect_element_dfs_Info6_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1594 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info6_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info6_comment);
1596 return offset;
1599 static int
1600 netdfs_dissect_element_dfs_Info6_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1602 char *data = NULL;
1603 struct ndr_generic_array nga = { .is_conformant = false, };
1605 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1607 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1608 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info6_comment, false, &nga, &data);
1609 proto_item_append_text(tree, ": %s", data);
1611 return offset;
1614 static int
1615 netdfs_dissect_element_dfs_Info6_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1617 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_state, 0);
1619 return offset;
1622 static int
1623 netdfs_dissect_element_dfs_Info6_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1625 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_timeout, 0);
1627 return offset;
1630 static int
1631 netdfs_dissect_element_dfs_Info6_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1633 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_guid, NULL);
1635 return offset;
1638 static int
1639 netdfs_dissect_element_dfs_Info6_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1641 offset = netdfs_dissect_bitmap_dfs_PropertyFlags(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_flags, 0);
1643 return offset;
1646 static int
1647 netdfs_dissect_element_dfs_Info6_pktsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1649 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_pktsize, 0);
1651 return offset;
1654 static int
1655 netdfs_dissect_element_dfs_Info6_num_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1657 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info6_num_stores, 0);
1659 return offset;
1662 static int
1663 netdfs_dissect_element_dfs_Info6_stores(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1665 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info6_stores_, NDR_POINTER_UNIQUE, "Pointer to Stores (dfs_StorageInfo2)",hf_netdfs_dfs_Info6_stores);
1667 return offset;
1670 static int
1671 netdfs_dissect_element_dfs_Info6_stores_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1673 struct ndr_generic_array nga = { .is_conformant = false, };
1675 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1677 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, netdfs_dissect_element_dfs_Info6_stores__);
1679 return offset;
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_, dcerpc_info* di _U_, uint8_t *drep _U_)
1685 offset = netdfs_dissect_struct_dfs_StorageInfo2(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info6_stores,0);
1687 return offset;
1691 netdfs_dissect_struct_dfs_Info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1693 proto_item *item = NULL;
1694 proto_tree *tree = NULL;
1695 int old_offset;
1697 ALIGN_TO_5_BYTES;
1699 old_offset = offset;
1701 if (parent_tree) {
1702 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1703 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info6);
1706 offset = netdfs_dissect_element_dfs_Info6_entry_path(tvb, offset, pinfo, tree, di, drep);
1708 offset = netdfs_dissect_element_dfs_Info6_comment(tvb, offset, pinfo, tree, di, drep);
1710 offset = netdfs_dissect_element_dfs_Info6_state(tvb, offset, pinfo, tree, di, drep);
1712 offset = netdfs_dissect_element_dfs_Info6_timeout(tvb, offset, pinfo, tree, di, drep);
1714 offset = netdfs_dissect_element_dfs_Info6_guid(tvb, offset, pinfo, tree, di, drep);
1716 offset = netdfs_dissect_element_dfs_Info6_flags(tvb, offset, pinfo, tree, di, drep);
1718 offset = netdfs_dissect_element_dfs_Info6_pktsize(tvb, offset, pinfo, tree, di, drep);
1720 offset = netdfs_dissect_element_dfs_Info6_num_stores(tvb, offset, pinfo, tree, di, drep);
1722 offset = netdfs_dissect_element_dfs_Info6_stores(tvb, offset, pinfo, tree, di, drep);
1725 proto_item_set_len(item, offset-old_offset);
1728 if (di->call_data->flags & DCERPC_IS_NDR64) {
1729 ALIGN_TO_5_BYTES;
1732 return offset;
1736 /* IDL: struct { */
1737 /* IDL: GUID generation_guid; */
1738 /* IDL: } */
1740 static int
1741 netdfs_dissect_element_dfs_Info7_generation_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1743 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info7_generation_guid, NULL);
1745 return offset;
1749 netdfs_dissect_struct_dfs_Info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1751 proto_item *item = NULL;
1752 proto_tree *tree = NULL;
1753 int old_offset;
1755 ALIGN_TO_4_BYTES;
1757 old_offset = offset;
1759 if (parent_tree) {
1760 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1761 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info7);
1764 offset = netdfs_dissect_element_dfs_Info7_generation_guid(tvb, offset, pinfo, tree, di, drep);
1767 proto_item_set_len(item, offset-old_offset);
1770 if (di->call_data->flags & DCERPC_IS_NDR64) {
1771 ALIGN_TO_4_BYTES;
1774 return offset;
1778 /* IDL: struct { */
1779 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
1780 /* IDL: } */
1782 static int
1783 netdfs_dissect_element_dfs_Info100_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1785 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info100_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info100_comment);
1787 return offset;
1790 static int
1791 netdfs_dissect_element_dfs_Info100_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1793 char *data = NULL;
1794 struct ndr_generic_array nga = { .is_conformant = false, };
1796 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1798 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
1799 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info100_comment, false, &nga, &data);
1800 proto_item_append_text(tree, ": %s", data);
1802 return offset;
1806 netdfs_dissect_struct_dfs_Info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1808 proto_item *item = NULL;
1809 proto_tree *tree = NULL;
1810 int old_offset;
1812 ALIGN_TO_5_BYTES;
1814 old_offset = offset;
1816 if (parent_tree) {
1817 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1818 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info100);
1821 offset = netdfs_dissect_element_dfs_Info100_comment(tvb, offset, pinfo, tree, di, drep);
1824 proto_item_set_len(item, offset-old_offset);
1827 if (di->call_data->flags & DCERPC_IS_NDR64) {
1828 ALIGN_TO_5_BYTES;
1831 return offset;
1835 /* IDL: struct { */
1836 /* IDL: dfs_StorageState state; */
1837 /* IDL: } */
1839 static int
1840 netdfs_dissect_element_dfs_Info101_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1842 offset = netdfs_dissect_bitmap_dfs_StorageState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info101_state, 0);
1844 return offset;
1848 netdfs_dissect_struct_dfs_Info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1850 proto_item *item = NULL;
1851 proto_tree *tree = NULL;
1852 int old_offset;
1854 ALIGN_TO_4_BYTES;
1856 old_offset = offset;
1858 if (parent_tree) {
1859 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1860 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info101);
1863 offset = netdfs_dissect_element_dfs_Info101_state(tvb, offset, pinfo, tree, di, drep);
1866 proto_item_set_len(item, offset-old_offset);
1869 if (di->call_data->flags & DCERPC_IS_NDR64) {
1870 ALIGN_TO_4_BYTES;
1873 return offset;
1877 /* IDL: struct { */
1878 /* IDL: uint32 timeout; */
1879 /* IDL: } */
1881 static int
1882 netdfs_dissect_element_dfs_Info102_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1884 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info102_timeout, 0);
1886 return offset;
1890 netdfs_dissect_struct_dfs_Info102(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1892 proto_item *item = NULL;
1893 proto_tree *tree = NULL;
1894 int old_offset;
1896 ALIGN_TO_4_BYTES;
1898 old_offset = offset;
1900 if (parent_tree) {
1901 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1902 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info102);
1905 offset = netdfs_dissect_element_dfs_Info102_timeout(tvb, offset, pinfo, tree, di, drep);
1908 proto_item_set_len(item, offset-old_offset);
1911 if (di->call_data->flags & DCERPC_IS_NDR64) {
1912 ALIGN_TO_4_BYTES;
1915 return offset;
1919 /* IDL: struct { */
1920 /* IDL: dfs_PropertyFlags flags; */
1921 /* IDL: } */
1923 static int
1924 netdfs_dissect_element_dfs_Info103_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1926 offset = netdfs_dissect_bitmap_dfs_PropertyFlags(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info103_flags, 0);
1928 return offset;
1932 netdfs_dissect_struct_dfs_Info103(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1934 proto_item *item = NULL;
1935 proto_tree *tree = NULL;
1936 int old_offset;
1938 ALIGN_TO_4_BYTES;
1940 old_offset = offset;
1942 if (parent_tree) {
1943 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1944 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info103);
1947 offset = netdfs_dissect_element_dfs_Info103_flags(tvb, offset, pinfo, tree, di, drep);
1950 proto_item_set_len(item, offset-old_offset);
1953 if (di->call_data->flags & DCERPC_IS_NDR64) {
1954 ALIGN_TO_4_BYTES;
1957 return offset;
1961 /* IDL: struct { */
1962 /* IDL: dfs_Target_Priority priority; */
1963 /* IDL: } */
1965 static int
1966 netdfs_dissect_element_dfs_Info104_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1968 offset = netdfs_dissect_struct_dfs_Target_Priority(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info104_priority,0);
1970 return offset;
1974 netdfs_dissect_struct_dfs_Info104(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
1976 proto_item *item = NULL;
1977 proto_tree *tree = NULL;
1978 int old_offset;
1980 ALIGN_TO_4_BYTES;
1982 old_offset = offset;
1984 if (parent_tree) {
1985 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1986 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info104);
1989 offset = netdfs_dissect_element_dfs_Info104_priority(tvb, offset, pinfo, tree, di, drep);
1992 proto_item_set_len(item, offset-old_offset);
1995 if (di->call_data->flags & DCERPC_IS_NDR64) {
1996 ALIGN_TO_4_BYTES;
1999 return offset;
2003 /* IDL: struct { */
2004 /* IDL: [charset(UTF16)] [unique(1)] uint16 *comment; */
2005 /* IDL: dfs_VolumeState state; */
2006 /* IDL: uint32 timeout; */
2007 /* IDL: uint32 property_flag_mask; */
2008 /* IDL: uint32 property_flags; */
2009 /* IDL: } */
2011 static int
2012 netdfs_dissect_element_dfs_Info105_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2014 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info105_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Info105_comment);
2016 return offset;
2019 static int
2020 netdfs_dissect_element_dfs_Info105_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2022 char *data = NULL;
2023 struct ndr_generic_array nga = { .is_conformant = false, };
2025 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2027 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2028 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info105_comment, false, &nga, &data);
2029 proto_item_append_text(tree, ": %s", data);
2031 return offset;
2034 static int
2035 netdfs_dissect_element_dfs_Info105_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2037 offset = netdfs_dissect_bitmap_dfs_VolumeState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info105_state, 0);
2039 return offset;
2042 static int
2043 netdfs_dissect_element_dfs_Info105_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2045 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info105_timeout, 0);
2047 return offset;
2050 static int
2051 netdfs_dissect_element_dfs_Info105_property_flag_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2053 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info105_property_flag_mask, 0);
2055 return offset;
2058 static int
2059 netdfs_dissect_element_dfs_Info105_property_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2061 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info105_property_flags, 0);
2063 return offset;
2067 netdfs_dissect_struct_dfs_Info105(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2069 proto_item *item = NULL;
2070 proto_tree *tree = NULL;
2071 int old_offset;
2073 ALIGN_TO_5_BYTES;
2075 old_offset = offset;
2077 if (parent_tree) {
2078 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2079 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info105);
2082 offset = netdfs_dissect_element_dfs_Info105_comment(tvb, offset, pinfo, tree, di, drep);
2084 offset = netdfs_dissect_element_dfs_Info105_state(tvb, offset, pinfo, tree, di, drep);
2086 offset = netdfs_dissect_element_dfs_Info105_timeout(tvb, offset, pinfo, tree, di, drep);
2088 offset = netdfs_dissect_element_dfs_Info105_property_flag_mask(tvb, offset, pinfo, tree, di, drep);
2090 offset = netdfs_dissect_element_dfs_Info105_property_flags(tvb, offset, pinfo, tree, di, drep);
2093 proto_item_set_len(item, offset-old_offset);
2096 if (di->call_data->flags & DCERPC_IS_NDR64) {
2097 ALIGN_TO_5_BYTES;
2100 return offset;
2104 /* IDL: struct { */
2105 /* IDL: dfs_StorageState state; */
2106 /* IDL: dfs_Target_Priority priority; */
2107 /* IDL: } */
2109 static int
2110 netdfs_dissect_element_dfs_Info106_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2112 offset = netdfs_dissect_bitmap_dfs_StorageState(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info106_state, 0);
2114 return offset;
2117 static int
2118 netdfs_dissect_element_dfs_Info106_priority(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2120 offset = netdfs_dissect_struct_dfs_Target_Priority(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info106_priority,0);
2122 return offset;
2126 netdfs_dissect_struct_dfs_Info106(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2128 proto_item *item = NULL;
2129 proto_tree *tree = NULL;
2130 int old_offset;
2132 ALIGN_TO_4_BYTES;
2134 old_offset = offset;
2136 if (parent_tree) {
2137 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2138 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info106);
2141 offset = netdfs_dissect_element_dfs_Info106_state(tvb, offset, pinfo, tree, di, drep);
2143 offset = netdfs_dissect_element_dfs_Info106_priority(tvb, offset, pinfo, tree, di, drep);
2146 proto_item_set_len(item, offset-old_offset);
2149 if (di->call_data->flags & DCERPC_IS_NDR64) {
2150 ALIGN_TO_4_BYTES;
2153 return offset;
2157 /* IDL: struct { */
2158 /* IDL: [charset(UTF16)] [unique(1)] uint16 *dom_root; */
2159 /* IDL: } */
2161 static int
2162 netdfs_dissect_element_dfs_Info200_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2164 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info200_dom_root_, NDR_POINTER_UNIQUE, "Pointer to Dom Root (uint16)",hf_netdfs_dfs_Info200_dom_root);
2166 return offset;
2169 static int
2170 netdfs_dissect_element_dfs_Info200_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2172 char *data = NULL;
2173 struct ndr_generic_array nga = { .is_conformant = false, };
2175 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2177 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2178 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info200_dom_root, false, &nga, &data);
2179 proto_item_append_text(tree, ": %s", data);
2181 return offset;
2185 netdfs_dissect_struct_dfs_Info200(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2187 proto_item *item = NULL;
2188 proto_tree *tree = NULL;
2189 int old_offset;
2191 ALIGN_TO_5_BYTES;
2193 old_offset = offset;
2195 if (parent_tree) {
2196 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2197 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info200);
2200 offset = netdfs_dissect_element_dfs_Info200_dom_root(tvb, offset, pinfo, tree, di, drep);
2203 proto_item_set_len(item, offset-old_offset);
2206 if (di->call_data->flags & DCERPC_IS_NDR64) {
2207 ALIGN_TO_5_BYTES;
2210 return offset;
2214 /* IDL: enum { */
2215 /* IDL: DFS_VOLUME_FLAVOR_STANDALONE=0x100, */
2216 /* IDL: DFS_VOLUME_FLAVOR_AD_BLOB=0x200, */
2217 /* IDL: } */
2220 netdfs_dissect_enum_dfs_VolumeFlavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2222 uint32_t parameter=0;
2223 if (param) {
2224 parameter = *param;
2226 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2227 if (param) {
2228 *param = parameter;
2230 return offset;
2234 /* IDL: struct { */
2235 /* IDL: dfs_VolumeFlavor flavor; */
2236 /* IDL: [charset(UTF16)] [unique(1)] uint16 *dom_root; */
2237 /* IDL: } */
2239 static int
2240 netdfs_dissect_element_dfs_Info300_flavor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2242 offset = netdfs_dissect_enum_dfs_VolumeFlavor(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Info300_flavor, 0);
2244 return offset;
2247 static int
2248 netdfs_dissect_element_dfs_Info300_dom_root(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2250 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info300_dom_root_, NDR_POINTER_UNIQUE, "Pointer to Dom Root (uint16)",hf_netdfs_dfs_Info300_dom_root);
2252 return offset;
2255 static int
2256 netdfs_dissect_element_dfs_Info300_dom_root_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2258 char *data = NULL;
2259 struct ndr_generic_array nga = { .is_conformant = false, };
2261 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2263 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2264 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Info300_dom_root, false, &nga, &data);
2265 proto_item_append_text(tree, ": %s", data);
2267 return offset;
2271 netdfs_dissect_struct_dfs_Info300(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2273 proto_item *item = NULL;
2274 proto_tree *tree = NULL;
2275 int old_offset;
2277 ALIGN_TO_5_BYTES;
2279 old_offset = offset;
2281 if (parent_tree) {
2282 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2283 tree = proto_item_add_subtree(item, ett_netdfs_dfs_Info300);
2286 offset = netdfs_dissect_element_dfs_Info300_flavor(tvb, offset, pinfo, tree, di, drep);
2288 offset = netdfs_dissect_element_dfs_Info300_dom_root(tvb, offset, pinfo, tree, di, drep);
2291 proto_item_set_len(item, offset-old_offset);
2294 if (di->call_data->flags & DCERPC_IS_NDR64) {
2295 ALIGN_TO_5_BYTES;
2298 return offset;
2302 /* IDL: union { */
2303 /* IDL: [case(0)] [case(0)] [unique(1)] dfs_Info0 *info0; */
2304 /* IDL: [case(1)] [case(1)] [unique(1)] dfs_Info1 *info1; */
2305 /* IDL: [case(2)] [case(2)] [unique(1)] dfs_Info2 *info2; */
2306 /* IDL: [case(3)] [case(3)] [unique(1)] dfs_Info3 *info3; */
2307 /* IDL: [case(4)] [case(4)] [unique(1)] dfs_Info4 *info4; */
2308 /* IDL: [case(5)] [case(5)] [unique(1)] dfs_Info5 *info5; */
2309 /* IDL: [case(6)] [case(6)] [unique(1)] dfs_Info6 *info6; */
2310 /* IDL: [case(7)] [case(7)] [unique(1)] dfs_Info7 *info7; */
2311 /* IDL: [case(100)] [case(100)] [unique(1)] dfs_Info100 *info100; */
2312 /* IDL: [case(101)] [case(101)] [unique(1)] dfs_Info101 *info101; */
2313 /* IDL: [case(102)] [case(102)] [unique(1)] dfs_Info102 *info102; */
2314 /* IDL: [case(103)] [case(103)] [unique(1)] dfs_Info103 *info103; */
2315 /* IDL: [case(104)] [case(104)] [unique(1)] dfs_Info104 *info104; */
2316 /* IDL: [case(105)] [case(105)] [unique(1)] dfs_Info105 *info105; */
2317 /* IDL: [case(106)] [case(106)] [unique(1)] dfs_Info106 *info106; */
2318 /* IDL: } */
2320 static int
2321 netdfs_dissect_element_dfs_Info_info0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2323 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info0_, NDR_POINTER_UNIQUE, "Pointer to Info0 (dfs_Info0)",hf_netdfs_dfs_Info_info0);
2325 return offset;
2328 static int
2329 netdfs_dissect_element_dfs_Info_info0_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2331 offset = netdfs_dissect_struct_dfs_Info0(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info0,0);
2333 return offset;
2336 static int
2337 netdfs_dissect_element_dfs_Info_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2339 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info1_, NDR_POINTER_UNIQUE, "Pointer to Info1 (dfs_Info1)",hf_netdfs_dfs_Info_info1);
2341 return offset;
2344 static int
2345 netdfs_dissect_element_dfs_Info_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2347 offset = netdfs_dissect_struct_dfs_Info1(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info1,0);
2349 return offset;
2352 static int
2353 netdfs_dissect_element_dfs_Info_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2355 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info2_, NDR_POINTER_UNIQUE, "Pointer to Info2 (dfs_Info2)",hf_netdfs_dfs_Info_info2);
2357 return offset;
2360 static int
2361 netdfs_dissect_element_dfs_Info_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2363 offset = netdfs_dissect_struct_dfs_Info2(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info2,0);
2365 return offset;
2368 static int
2369 netdfs_dissect_element_dfs_Info_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2371 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info3_, NDR_POINTER_UNIQUE, "Pointer to Info3 (dfs_Info3)",hf_netdfs_dfs_Info_info3);
2373 return offset;
2376 static int
2377 netdfs_dissect_element_dfs_Info_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2379 offset = netdfs_dissect_struct_dfs_Info3(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info3,0);
2381 return offset;
2384 static int
2385 netdfs_dissect_element_dfs_Info_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2387 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info4_, NDR_POINTER_UNIQUE, "Pointer to Info4 (dfs_Info4)",hf_netdfs_dfs_Info_info4);
2389 return offset;
2392 static int
2393 netdfs_dissect_element_dfs_Info_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2395 offset = netdfs_dissect_struct_dfs_Info4(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info4,0);
2397 return offset;
2400 static int
2401 netdfs_dissect_element_dfs_Info_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2403 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info5_, NDR_POINTER_UNIQUE, "Pointer to Info5 (dfs_Info5)",hf_netdfs_dfs_Info_info5);
2405 return offset;
2408 static int
2409 netdfs_dissect_element_dfs_Info_info5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2411 offset = netdfs_dissect_struct_dfs_Info5(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info5,0);
2413 return offset;
2416 static int
2417 netdfs_dissect_element_dfs_Info_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2419 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info6_, NDR_POINTER_UNIQUE, "Pointer to Info6 (dfs_Info6)",hf_netdfs_dfs_Info_info6);
2421 return offset;
2424 static int
2425 netdfs_dissect_element_dfs_Info_info6_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2427 offset = netdfs_dissect_struct_dfs_Info6(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info6,0);
2429 return offset;
2432 static int
2433 netdfs_dissect_element_dfs_Info_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2435 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info7_, NDR_POINTER_UNIQUE, "Pointer to Info7 (dfs_Info7)",hf_netdfs_dfs_Info_info7);
2437 return offset;
2440 static int
2441 netdfs_dissect_element_dfs_Info_info7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2443 offset = netdfs_dissect_struct_dfs_Info7(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info7,0);
2445 return offset;
2448 static int
2449 netdfs_dissect_element_dfs_Info_info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2451 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info100_, NDR_POINTER_UNIQUE, "Pointer to Info100 (dfs_Info100)",hf_netdfs_dfs_Info_info100);
2453 return offset;
2456 static int
2457 netdfs_dissect_element_dfs_Info_info100_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2459 offset = netdfs_dissect_struct_dfs_Info100(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info100,0);
2461 return offset;
2464 static int
2465 netdfs_dissect_element_dfs_Info_info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2467 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info101_, NDR_POINTER_UNIQUE, "Pointer to Info101 (dfs_Info101)",hf_netdfs_dfs_Info_info101);
2469 return offset;
2472 static int
2473 netdfs_dissect_element_dfs_Info_info101_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2475 offset = netdfs_dissect_struct_dfs_Info101(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info101,0);
2477 return offset;
2480 static int
2481 netdfs_dissect_element_dfs_Info_info102(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2483 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info102_, NDR_POINTER_UNIQUE, "Pointer to Info102 (dfs_Info102)",hf_netdfs_dfs_Info_info102);
2485 return offset;
2488 static int
2489 netdfs_dissect_element_dfs_Info_info102_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2491 offset = netdfs_dissect_struct_dfs_Info102(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info102,0);
2493 return offset;
2496 static int
2497 netdfs_dissect_element_dfs_Info_info103(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2499 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info103_, NDR_POINTER_UNIQUE, "Pointer to Info103 (dfs_Info103)",hf_netdfs_dfs_Info_info103);
2501 return offset;
2504 static int
2505 netdfs_dissect_element_dfs_Info_info103_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2507 offset = netdfs_dissect_struct_dfs_Info103(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info103,0);
2509 return offset;
2512 static int
2513 netdfs_dissect_element_dfs_Info_info104(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2515 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info104_, NDR_POINTER_UNIQUE, "Pointer to Info104 (dfs_Info104)",hf_netdfs_dfs_Info_info104);
2517 return offset;
2520 static int
2521 netdfs_dissect_element_dfs_Info_info104_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2523 offset = netdfs_dissect_struct_dfs_Info104(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info104,0);
2525 return offset;
2528 static int
2529 netdfs_dissect_element_dfs_Info_info105(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2531 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info105_, NDR_POINTER_UNIQUE, "Pointer to Info105 (dfs_Info105)",hf_netdfs_dfs_Info_info105);
2533 return offset;
2536 static int
2537 netdfs_dissect_element_dfs_Info_info105_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2539 offset = netdfs_dissect_struct_dfs_Info105(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info105,0);
2541 return offset;
2544 static int
2545 netdfs_dissect_element_dfs_Info_info106(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2547 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Info_info106_, NDR_POINTER_UNIQUE, "Pointer to Info106 (dfs_Info106)",hf_netdfs_dfs_Info_info106);
2549 return offset;
2552 static int
2553 netdfs_dissect_element_dfs_Info_info106_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2555 offset = netdfs_dissect_struct_dfs_Info106(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Info_info106,0);
2557 return offset;
2560 static int
2561 netdfs_dissect_dfs_Info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2563 proto_item *item = NULL;
2564 proto_tree *tree = NULL;
2565 int old_offset;
2566 uint32_t level;
2568 old_offset = offset;
2569 if (parent_tree) {
2570 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_netdfs_dfs_Info, &item, "dfs_Info");
2573 UNION_ALIGN_TO_5_BYTES;
2574 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
2575 UNION_ALIGN_TO_5_BYTES;
2577 switch(level) {
2578 case 0:
2579 offset = netdfs_dissect_element_dfs_Info_info0(tvb, offset, pinfo, tree, di, drep);
2580 break;
2582 case 1:
2583 offset = netdfs_dissect_element_dfs_Info_info1(tvb, offset, pinfo, tree, di, drep);
2584 break;
2586 case 2:
2587 offset = netdfs_dissect_element_dfs_Info_info2(tvb, offset, pinfo, tree, di, drep);
2588 break;
2590 case 3:
2591 offset = netdfs_dissect_element_dfs_Info_info3(tvb, offset, pinfo, tree, di, drep);
2592 break;
2594 case 4:
2595 offset = netdfs_dissect_element_dfs_Info_info4(tvb, offset, pinfo, tree, di, drep);
2596 break;
2598 case 5:
2599 offset = netdfs_dissect_element_dfs_Info_info5(tvb, offset, pinfo, tree, di, drep);
2600 break;
2602 case 6:
2603 offset = netdfs_dissect_element_dfs_Info_info6(tvb, offset, pinfo, tree, di, drep);
2604 break;
2606 case 7:
2607 offset = netdfs_dissect_element_dfs_Info_info7(tvb, offset, pinfo, tree, di, drep);
2608 break;
2610 case 100:
2611 offset = netdfs_dissect_element_dfs_Info_info100(tvb, offset, pinfo, tree, di, drep);
2612 break;
2614 case 101:
2615 offset = netdfs_dissect_element_dfs_Info_info101(tvb, offset, pinfo, tree, di, drep);
2616 break;
2618 case 102:
2619 offset = netdfs_dissect_element_dfs_Info_info102(tvb, offset, pinfo, tree, di, drep);
2620 break;
2622 case 103:
2623 offset = netdfs_dissect_element_dfs_Info_info103(tvb, offset, pinfo, tree, di, drep);
2624 break;
2626 case 104:
2627 offset = netdfs_dissect_element_dfs_Info_info104(tvb, offset, pinfo, tree, di, drep);
2628 break;
2630 case 105:
2631 offset = netdfs_dissect_element_dfs_Info_info105(tvb, offset, pinfo, tree, di, drep);
2632 break;
2634 case 106:
2635 offset = netdfs_dissect_element_dfs_Info_info106(tvb, offset, pinfo, tree, di, drep);
2636 break;
2638 proto_item_set_len(item, offset-old_offset);
2641 return offset;
2644 /* IDL: struct { */
2645 /* IDL: uint32 count; */
2646 /* IDL: [size_is(count)] [unique(1)] dfs_Info1 *s; */
2647 /* IDL: } */
2649 static int
2650 netdfs_dissect_element_dfs_EnumArray1_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2652 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray1_count, 0);
2654 return offset;
2657 static int
2658 netdfs_dissect_element_dfs_EnumArray1_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2660 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray1_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info1)",hf_netdfs_dfs_EnumArray1_s);
2662 return offset;
2665 static int
2666 netdfs_dissect_element_dfs_EnumArray1_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2668 struct ndr_generic_array nga = { .is_conformant = false, };
2670 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2672 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, netdfs_dissect_element_dfs_EnumArray1_s__);
2674 return offset;
2677 static int
2678 netdfs_dissect_element_dfs_EnumArray1_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2680 offset = netdfs_dissect_struct_dfs_Info1(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray1_s,0);
2682 return offset;
2686 netdfs_dissect_struct_dfs_EnumArray1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2688 proto_item *item = NULL;
2689 proto_tree *tree = NULL;
2690 int old_offset;
2692 ALIGN_TO_5_BYTES;
2694 old_offset = offset;
2696 if (parent_tree) {
2697 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2698 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray1);
2701 offset = netdfs_dissect_element_dfs_EnumArray1_count(tvb, offset, pinfo, tree, di, drep);
2703 offset = netdfs_dissect_element_dfs_EnumArray1_s(tvb, offset, pinfo, tree, di, drep);
2706 proto_item_set_len(item, offset-old_offset);
2709 if (di->call_data->flags & DCERPC_IS_NDR64) {
2710 ALIGN_TO_5_BYTES;
2713 return offset;
2717 /* IDL: struct { */
2718 /* IDL: uint32 count; */
2719 /* IDL: [size_is(count)] [unique(1)] dfs_Info2 *s; */
2720 /* IDL: } */
2722 static int
2723 netdfs_dissect_element_dfs_EnumArray2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2725 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray2_count, 0);
2727 return offset;
2730 static int
2731 netdfs_dissect_element_dfs_EnumArray2_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2733 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray2_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info2)",hf_netdfs_dfs_EnumArray2_s);
2735 return offset;
2738 static int
2739 netdfs_dissect_element_dfs_EnumArray2_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2741 struct ndr_generic_array nga = { .is_conformant = false, };
2743 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2745 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, netdfs_dissect_element_dfs_EnumArray2_s__);
2747 return offset;
2750 static int
2751 netdfs_dissect_element_dfs_EnumArray2_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2753 offset = netdfs_dissect_struct_dfs_Info2(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray2_s,0);
2755 return offset;
2759 netdfs_dissect_struct_dfs_EnumArray2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2761 proto_item *item = NULL;
2762 proto_tree *tree = NULL;
2763 int old_offset;
2765 ALIGN_TO_5_BYTES;
2767 old_offset = offset;
2769 if (parent_tree) {
2770 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2771 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray2);
2774 offset = netdfs_dissect_element_dfs_EnumArray2_count(tvb, offset, pinfo, tree, di, drep);
2776 offset = netdfs_dissect_element_dfs_EnumArray2_s(tvb, offset, pinfo, tree, di, drep);
2779 proto_item_set_len(item, offset-old_offset);
2782 if (di->call_data->flags & DCERPC_IS_NDR64) {
2783 ALIGN_TO_5_BYTES;
2786 return offset;
2790 /* IDL: struct { */
2791 /* IDL: uint32 count; */
2792 /* IDL: [size_is(count)] [unique(1)] dfs_Info3 *s; */
2793 /* IDL: } */
2795 static int
2796 netdfs_dissect_element_dfs_EnumArray3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2798 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray3_count, 0);
2800 return offset;
2803 static int
2804 netdfs_dissect_element_dfs_EnumArray3_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2806 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray3_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info3)",hf_netdfs_dfs_EnumArray3_s);
2808 return offset;
2811 static int
2812 netdfs_dissect_element_dfs_EnumArray3_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2814 struct ndr_generic_array nga = { .is_conformant = false, };
2816 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2818 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, netdfs_dissect_element_dfs_EnumArray3_s__);
2820 return offset;
2823 static int
2824 netdfs_dissect_element_dfs_EnumArray3_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2826 offset = netdfs_dissect_struct_dfs_Info3(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray3_s,0);
2828 return offset;
2832 netdfs_dissect_struct_dfs_EnumArray3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2834 proto_item *item = NULL;
2835 proto_tree *tree = NULL;
2836 int old_offset;
2838 ALIGN_TO_5_BYTES;
2840 old_offset = offset;
2842 if (parent_tree) {
2843 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2844 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray3);
2847 offset = netdfs_dissect_element_dfs_EnumArray3_count(tvb, offset, pinfo, tree, di, drep);
2849 offset = netdfs_dissect_element_dfs_EnumArray3_s(tvb, offset, pinfo, tree, di, drep);
2852 proto_item_set_len(item, offset-old_offset);
2855 if (di->call_data->flags & DCERPC_IS_NDR64) {
2856 ALIGN_TO_5_BYTES;
2859 return offset;
2863 /* IDL: struct { */
2864 /* IDL: uint32 count; */
2865 /* IDL: [size_is(count)] [unique(1)] dfs_Info4 *s; */
2866 /* IDL: } */
2868 static int
2869 netdfs_dissect_element_dfs_EnumArray4_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2871 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray4_count, 0);
2873 return offset;
2876 static int
2877 netdfs_dissect_element_dfs_EnumArray4_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2879 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray4_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info4)",hf_netdfs_dfs_EnumArray4_s);
2881 return offset;
2884 static int
2885 netdfs_dissect_element_dfs_EnumArray4_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2887 struct ndr_generic_array nga = { .is_conformant = false, };
2889 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2891 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, netdfs_dissect_element_dfs_EnumArray4_s__);
2893 return offset;
2896 static int
2897 netdfs_dissect_element_dfs_EnumArray4_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2899 offset = netdfs_dissect_struct_dfs_Info4(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray4_s,0);
2901 return offset;
2905 netdfs_dissect_struct_dfs_EnumArray4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2907 proto_item *item = NULL;
2908 proto_tree *tree = NULL;
2909 int old_offset;
2911 ALIGN_TO_5_BYTES;
2913 old_offset = offset;
2915 if (parent_tree) {
2916 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2917 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray4);
2920 offset = netdfs_dissect_element_dfs_EnumArray4_count(tvb, offset, pinfo, tree, di, drep);
2922 offset = netdfs_dissect_element_dfs_EnumArray4_s(tvb, offset, pinfo, tree, di, drep);
2925 proto_item_set_len(item, offset-old_offset);
2928 if (di->call_data->flags & DCERPC_IS_NDR64) {
2929 ALIGN_TO_5_BYTES;
2932 return offset;
2936 /* IDL: struct { */
2937 /* IDL: uint32 count; */
2938 /* IDL: [size_is(count)] [unique(1)] dfs_Info200 *s; */
2939 /* IDL: } */
2941 static int
2942 netdfs_dissect_element_dfs_EnumArray200_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2944 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray200_count, 0);
2946 return offset;
2949 static int
2950 netdfs_dissect_element_dfs_EnumArray200_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2952 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray200_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info200)",hf_netdfs_dfs_EnumArray200_s);
2954 return offset;
2957 static int
2958 netdfs_dissect_element_dfs_EnumArray200_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2960 struct ndr_generic_array nga = { .is_conformant = false, };
2962 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
2964 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, netdfs_dissect_element_dfs_EnumArray200_s__);
2966 return offset;
2969 static int
2970 netdfs_dissect_element_dfs_EnumArray200_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2972 offset = netdfs_dissect_struct_dfs_Info200(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray200_s,0);
2974 return offset;
2978 netdfs_dissect_struct_dfs_EnumArray200(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2980 proto_item *item = NULL;
2981 proto_tree *tree = NULL;
2982 int old_offset;
2984 ALIGN_TO_5_BYTES;
2986 old_offset = offset;
2988 if (parent_tree) {
2989 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2990 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray200);
2993 offset = netdfs_dissect_element_dfs_EnumArray200_count(tvb, offset, pinfo, tree, di, drep);
2995 offset = netdfs_dissect_element_dfs_EnumArray200_s(tvb, offset, pinfo, tree, di, drep);
2998 proto_item_set_len(item, offset-old_offset);
3001 if (di->call_data->flags & DCERPC_IS_NDR64) {
3002 ALIGN_TO_5_BYTES;
3005 return offset;
3009 /* IDL: struct { */
3010 /* IDL: uint32 count; */
3011 /* IDL: [size_is(count)] [unique(1)] dfs_Info300 *s; */
3012 /* IDL: } */
3014 static int
3015 netdfs_dissect_element_dfs_EnumArray300_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3017 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumArray300_count, 0);
3019 return offset;
3022 static int
3023 netdfs_dissect_element_dfs_EnumArray300_s(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3025 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumArray300_s_, NDR_POINTER_UNIQUE, "Pointer to S (dfs_Info300)",hf_netdfs_dfs_EnumArray300_s);
3027 return offset;
3030 static int
3031 netdfs_dissect_element_dfs_EnumArray300_s_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3033 struct ndr_generic_array nga = { .is_conformant = false, };
3035 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3037 offset = dissect_ndr_generic_array_bytes(tvb, offset, pinfo, tree, di, drep, &nga, netdfs_dissect_element_dfs_EnumArray300_s__);
3039 return offset;
3042 static int
3043 netdfs_dissect_element_dfs_EnumArray300_s__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3045 offset = netdfs_dissect_struct_dfs_Info300(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumArray300_s,0);
3047 return offset;
3051 netdfs_dissect_struct_dfs_EnumArray300(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3053 proto_item *item = NULL;
3054 proto_tree *tree = NULL;
3055 int old_offset;
3057 ALIGN_TO_5_BYTES;
3059 old_offset = offset;
3061 if (parent_tree) {
3062 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3063 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumArray300);
3066 offset = netdfs_dissect_element_dfs_EnumArray300_count(tvb, offset, pinfo, tree, di, drep);
3068 offset = netdfs_dissect_element_dfs_EnumArray300_s(tvb, offset, pinfo, tree, di, drep);
3071 proto_item_set_len(item, offset-old_offset);
3074 if (di->call_data->flags & DCERPC_IS_NDR64) {
3075 ALIGN_TO_5_BYTES;
3078 return offset;
3082 /* IDL: union { */
3083 /* IDL: [case(1)] [case(1)] [unique(1)] dfs_EnumArray1 *info1; */
3084 /* IDL: [case(2)] [case(2)] [unique(1)] dfs_EnumArray2 *info2; */
3085 /* IDL: [case(3)] [case(3)] [unique(1)] dfs_EnumArray3 *info3; */
3086 /* IDL: [case(4)] [case(4)] [unique(1)] dfs_EnumArray4 *info4; */
3087 /* IDL: [case(200)] [case(200)] [unique(1)] dfs_EnumArray200 *info200; */
3088 /* IDL: [case(300)] [case(300)] [unique(1)] dfs_EnumArray300 *info300; */
3089 /* IDL: } */
3091 static int
3092 netdfs_dissect_element_dfs_EnumInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3094 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info1_, NDR_POINTER_UNIQUE, "Pointer to Info1 (dfs_EnumArray1)",hf_netdfs_dfs_EnumInfo_info1);
3096 return offset;
3099 static int
3100 netdfs_dissect_element_dfs_EnumInfo_info1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3102 offset = netdfs_dissect_struct_dfs_EnumArray1(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info1,0);
3104 return offset;
3107 static int
3108 netdfs_dissect_element_dfs_EnumInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3110 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info2_, NDR_POINTER_UNIQUE, "Pointer to Info2 (dfs_EnumArray2)",hf_netdfs_dfs_EnumInfo_info2);
3112 return offset;
3115 static int
3116 netdfs_dissect_element_dfs_EnumInfo_info2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3118 offset = netdfs_dissect_struct_dfs_EnumArray2(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info2,0);
3120 return offset;
3123 static int
3124 netdfs_dissect_element_dfs_EnumInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3126 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info3_, NDR_POINTER_UNIQUE, "Pointer to Info3 (dfs_EnumArray3)",hf_netdfs_dfs_EnumInfo_info3);
3128 return offset;
3131 static int
3132 netdfs_dissect_element_dfs_EnumInfo_info3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3134 offset = netdfs_dissect_struct_dfs_EnumArray3(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info3,0);
3136 return offset;
3139 static int
3140 netdfs_dissect_element_dfs_EnumInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3142 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info4_, NDR_POINTER_UNIQUE, "Pointer to Info4 (dfs_EnumArray4)",hf_netdfs_dfs_EnumInfo_info4);
3144 return offset;
3147 static int
3148 netdfs_dissect_element_dfs_EnumInfo_info4_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3150 offset = netdfs_dissect_struct_dfs_EnumArray4(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info4,0);
3152 return offset;
3155 static int
3156 netdfs_dissect_element_dfs_EnumInfo_info200(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3158 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info200_, NDR_POINTER_UNIQUE, "Pointer to Info200 (dfs_EnumArray200)",hf_netdfs_dfs_EnumInfo_info200);
3160 return offset;
3163 static int
3164 netdfs_dissect_element_dfs_EnumInfo_info200_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3166 offset = netdfs_dissect_struct_dfs_EnumArray200(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info200,0);
3168 return offset;
3171 static int
3172 netdfs_dissect_element_dfs_EnumInfo_info300(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3174 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumInfo_info300_, NDR_POINTER_UNIQUE, "Pointer to Info300 (dfs_EnumArray300)",hf_netdfs_dfs_EnumInfo_info300);
3176 return offset;
3179 static int
3180 netdfs_dissect_element_dfs_EnumInfo_info300_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3182 offset = netdfs_dissect_struct_dfs_EnumArray300(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumInfo_info300,0);
3184 return offset;
3187 static int
3188 netdfs_dissect_dfs_EnumInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3190 proto_item *item = NULL;
3191 proto_tree *tree = NULL;
3192 int old_offset;
3193 uint32_t level;
3195 old_offset = offset;
3196 if (parent_tree) {
3197 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_netdfs_dfs_EnumInfo, &item, "dfs_EnumInfo");
3200 UNION_ALIGN_TO_5_BYTES;
3201 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
3202 UNION_ALIGN_TO_5_BYTES;
3204 switch(level) {
3205 case 1:
3206 offset = netdfs_dissect_element_dfs_EnumInfo_info1(tvb, offset, pinfo, tree, di, drep);
3207 break;
3209 case 2:
3210 offset = netdfs_dissect_element_dfs_EnumInfo_info2(tvb, offset, pinfo, tree, di, drep);
3211 break;
3213 case 3:
3214 offset = netdfs_dissect_element_dfs_EnumInfo_info3(tvb, offset, pinfo, tree, di, drep);
3215 break;
3217 case 4:
3218 offset = netdfs_dissect_element_dfs_EnumInfo_info4(tvb, offset, pinfo, tree, di, drep);
3219 break;
3221 case 200:
3222 offset = netdfs_dissect_element_dfs_EnumInfo_info200(tvb, offset, pinfo, tree, di, drep);
3223 break;
3225 case 300:
3226 offset = netdfs_dissect_element_dfs_EnumInfo_info300(tvb, offset, pinfo, tree, di, drep);
3227 break;
3229 proto_item_set_len(item, offset-old_offset);
3232 return offset;
3235 /* IDL: struct { */
3236 /* IDL: uint32 level; */
3237 /* IDL: [switch_is(level)] dfs_EnumInfo e; */
3238 /* IDL: } */
3240 static int
3241 netdfs_dissect_element_dfs_EnumStruct_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *level)
3243 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumStruct_level, *level);
3245 return offset;
3248 static int
3249 netdfs_dissect_element_dfs_EnumStruct_e(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t level)
3251 offset = netdfs_dissect_dfs_EnumInfo(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumStruct_e, level);
3253 return offset;
3257 netdfs_dissect_struct_dfs_EnumStruct(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3259 uint32_t level = 0;
3260 proto_item *item = NULL;
3261 proto_tree *tree = NULL;
3262 int old_offset;
3264 ALIGN_TO_5_BYTES;
3266 old_offset = offset;
3268 if (parent_tree) {
3269 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3270 tree = proto_item_add_subtree(item, ett_netdfs_dfs_EnumStruct);
3273 offset = netdfs_dissect_element_dfs_EnumStruct_level(tvb, offset, pinfo, tree, di, drep, &level);
3275 offset = netdfs_dissect_element_dfs_EnumStruct_e(tvb, offset, pinfo, tree, di, drep, level);
3278 proto_item_set_len(item, offset-old_offset);
3281 if (di->call_data->flags & DCERPC_IS_NDR64) {
3282 ALIGN_TO_5_BYTES;
3285 return offset;
3289 /* IDL: struct { */
3290 /* IDL: uint32 unknown1; */
3291 /* IDL: [charset(UTF16)] [unique(1)] uint16 *unknown2; */
3292 /* IDL: } */
3294 static int
3295 netdfs_dissect_element_dfs_UnknownStruct_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3297 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_UnknownStruct_unknown1, 0);
3299 return offset;
3302 static int
3303 netdfs_dissect_element_dfs_UnknownStruct_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3305 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_UnknownStruct_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (uint16)",hf_netdfs_dfs_UnknownStruct_unknown2);
3307 return offset;
3310 static int
3311 netdfs_dissect_element_dfs_UnknownStruct_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3313 char *data = NULL;
3314 struct ndr_generic_array nga = { .is_conformant = false, };
3316 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3318 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3319 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_UnknownStruct_unknown2, false, &nga, &data);
3320 proto_item_append_text(tree, ": %s", data);
3322 return offset;
3326 netdfs_dissect_struct_dfs_UnknownStruct(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3328 proto_item *item = NULL;
3329 proto_tree *tree = NULL;
3330 int old_offset;
3332 ALIGN_TO_5_BYTES;
3334 old_offset = offset;
3336 if (parent_tree) {
3337 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3338 tree = proto_item_add_subtree(item, ett_netdfs_dfs_UnknownStruct);
3341 offset = netdfs_dissect_element_dfs_UnknownStruct_unknown1(tvb, offset, pinfo, tree, di, drep);
3343 offset = netdfs_dissect_element_dfs_UnknownStruct_unknown2(tvb, offset, pinfo, tree, di, drep);
3346 proto_item_set_len(item, offset-old_offset);
3349 if (di->call_data->flags & DCERPC_IS_NDR64) {
3350 ALIGN_TO_5_BYTES;
3353 return offset;
3356 static int
3357 netdfs_dissect_element_dfs_GetManagerVersion_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3359 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_GetManagerVersion_version_, NDR_POINTER_REF, "Pointer to Version (dfs_ManagerVersion)",hf_netdfs_dfs_GetManagerVersion_version);
3361 return offset;
3364 static int
3365 netdfs_dissect_element_dfs_GetManagerVersion_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3367 offset = netdfs_dissect_enum_dfs_ManagerVersion(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_GetManagerVersion_version, 0);
3369 return offset;
3372 /* IDL: void dfs_GetManagerVersion( */
3373 /* IDL: [out] [ref] dfs_ManagerVersion *version */
3374 /* IDL: ); */
3376 static int
3377 netdfs_dissect_dfs_GetManagerVersion_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3379 di->dcerpc_procedure_name="dfs_GetManagerVersion";
3380 offset = netdfs_dissect_element_dfs_GetManagerVersion_version(tvb, offset, pinfo, tree, di, drep);
3381 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3383 return offset;
3386 static int
3387 netdfs_dissect_dfs_GetManagerVersion_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3389 di->dcerpc_procedure_name="dfs_GetManagerVersion";
3390 return offset;
3393 static int
3394 netdfs_dissect_element_dfs_Add_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3396 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Add_path_, NDR_POINTER_REF, "Pointer to Path (uint16)",hf_netdfs_dfs_Add_path);
3398 return offset;
3401 static int
3402 netdfs_dissect_element_dfs_Add_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3404 char *data = NULL;
3405 struct ndr_generic_array nga = { .is_conformant = false, };
3407 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3409 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3410 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Add_path, false, &nga, &data);
3411 proto_item_append_text(tree, ": %s", data);
3413 return offset;
3416 static int
3417 netdfs_dissect_element_dfs_Add_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3419 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Add_server_, NDR_POINTER_REF, "Pointer to Server (uint16)",hf_netdfs_dfs_Add_server);
3421 return offset;
3424 static int
3425 netdfs_dissect_element_dfs_Add_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3427 char *data = NULL;
3428 struct ndr_generic_array nga = { .is_conformant = false, };
3430 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3432 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3433 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Add_server, false, &nga, &data);
3434 proto_item_append_text(tree, ": %s", data);
3436 return offset;
3439 static int
3440 netdfs_dissect_element_dfs_Add_share(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3442 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Add_share_, NDR_POINTER_UNIQUE, "Pointer to Share (uint16)",hf_netdfs_dfs_Add_share);
3444 return offset;
3447 static int
3448 netdfs_dissect_element_dfs_Add_share_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3450 char *data = NULL;
3451 struct ndr_generic_array nga = { .is_conformant = false, };
3453 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3455 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3456 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Add_share, false, &nga, &data);
3457 proto_item_append_text(tree, ": %s", data);
3459 return offset;
3462 static int
3463 netdfs_dissect_element_dfs_Add_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3465 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Add_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_netdfs_dfs_Add_comment);
3467 return offset;
3470 static int
3471 netdfs_dissect_element_dfs_Add_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3473 char *data = NULL;
3474 struct ndr_generic_array nga = { .is_conformant = false, };
3476 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3478 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3479 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Add_comment, false, &nga, &data);
3480 proto_item_append_text(tree, ": %s", data);
3482 return offset;
3485 static int
3486 netdfs_dissect_element_dfs_Add_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3488 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Add_flags, 0);
3490 return offset;
3493 /* IDL: WERROR dfs_Add( */
3494 /* IDL: [charset(UTF16)] [in] [ref] uint16 *path, */
3495 /* IDL: [charset(UTF16)] [in] [ref] uint16 *server, */
3496 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *share, */
3497 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *comment, */
3498 /* IDL: [in] uint32 flags */
3499 /* IDL: ); */
3501 static int
3502 netdfs_dissect_dfs_Add_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3504 uint32_t status;
3506 di->dcerpc_procedure_name="dfs_Add";
3507 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3509 if (status != 0)
3510 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3512 return offset;
3515 static int
3516 netdfs_dissect_dfs_Add_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3518 di->dcerpc_procedure_name="dfs_Add";
3519 offset = netdfs_dissect_element_dfs_Add_path(tvb, offset, pinfo, tree, di, drep);
3520 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3521 offset = netdfs_dissect_element_dfs_Add_server(tvb, offset, pinfo, tree, di, drep);
3522 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3523 offset = netdfs_dissect_element_dfs_Add_share(tvb, offset, pinfo, tree, di, drep);
3524 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3525 offset = netdfs_dissect_element_dfs_Add_comment(tvb, offset, pinfo, tree, di, drep);
3526 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3527 offset = netdfs_dissect_element_dfs_Add_flags(tvb, offset, pinfo, tree, di, drep);
3528 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3529 return offset;
3532 static int
3533 netdfs_dissect_element_dfs_Remove_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3535 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Remove_dfs_entry_path_, NDR_POINTER_REF, "Pointer to Dfs Entry Path (uint16)",hf_netdfs_dfs_Remove_dfs_entry_path);
3537 return offset;
3540 static int
3541 netdfs_dissect_element_dfs_Remove_dfs_entry_path_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3543 char *data = NULL;
3544 struct ndr_generic_array nga = { .is_conformant = false, };
3546 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3548 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3549 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Remove_dfs_entry_path, false, &nga, &data);
3550 proto_item_append_text(tree, ": %s", data);
3552 return offset;
3555 static int
3556 netdfs_dissect_element_dfs_Remove_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3558 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Remove_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_netdfs_dfs_Remove_servername);
3560 return offset;
3563 static int
3564 netdfs_dissect_element_dfs_Remove_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3566 char *data = NULL;
3567 struct ndr_generic_array nga = { .is_conformant = false, };
3569 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3571 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3572 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Remove_servername, false, &nga, &data);
3573 proto_item_append_text(tree, ": %s", data);
3575 return offset;
3578 static int
3579 netdfs_dissect_element_dfs_Remove_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3581 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Remove_sharename_, NDR_POINTER_UNIQUE, "Pointer to Sharename (uint16)",hf_netdfs_dfs_Remove_sharename);
3583 return offset;
3586 static int
3587 netdfs_dissect_element_dfs_Remove_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3589 char *data = NULL;
3590 struct ndr_generic_array nga = { .is_conformant = false, };
3592 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3594 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3595 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_Remove_sharename, false, &nga, &data);
3596 proto_item_append_text(tree, ": %s", data);
3598 return offset;
3601 /* IDL: WERROR dfs_Remove( */
3602 /* IDL: [charset(UTF16)] [in] [ref] uint16 *dfs_entry_path, */
3603 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
3604 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *sharename */
3605 /* IDL: ); */
3607 static int
3608 netdfs_dissect_dfs_Remove_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3610 uint32_t status;
3612 di->dcerpc_procedure_name="dfs_Remove";
3613 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3615 if (status != 0)
3616 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3618 return offset;
3621 static int
3622 netdfs_dissect_dfs_Remove_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3624 di->dcerpc_procedure_name="dfs_Remove";
3625 offset = netdfs_dissect_element_dfs_Remove_dfs_entry_path(tvb, offset, pinfo, tree, di, drep);
3626 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3627 offset = netdfs_dissect_element_dfs_Remove_servername(tvb, offset, pinfo, tree, di, drep);
3628 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3629 offset = netdfs_dissect_element_dfs_Remove_sharename(tvb, offset, pinfo, tree, di, drep);
3630 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3631 return offset;
3634 static int
3635 netdfs_dissect_element_dfs_SetInfo_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3637 char *data = NULL;
3638 struct ndr_generic_array nga = { .is_conformant = false, };
3640 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3642 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3643 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_SetInfo_dfs_entry_path, false, &nga, &data);
3644 proto_item_append_text(tree, ": %s", data);
3646 return offset;
3649 static int
3650 netdfs_dissect_element_dfs_SetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3652 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_SetInfo_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_netdfs_dfs_SetInfo_servername);
3654 return offset;
3657 static int
3658 netdfs_dissect_element_dfs_SetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3660 char *data = NULL;
3661 struct ndr_generic_array nga = { .is_conformant = false, };
3663 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3665 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3666 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_SetInfo_servername, false, &nga, &data);
3667 proto_item_append_text(tree, ": %s", data);
3669 return offset;
3672 static int
3673 netdfs_dissect_element_dfs_SetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3675 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_SetInfo_sharename_, NDR_POINTER_UNIQUE, "Pointer to Sharename (uint16)",hf_netdfs_dfs_SetInfo_sharename);
3677 return offset;
3680 static int
3681 netdfs_dissect_element_dfs_SetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3683 char *data = NULL;
3684 struct ndr_generic_array nga = { .is_conformant = false, };
3686 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3688 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3689 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_SetInfo_sharename, false, &nga, &data);
3690 proto_item_append_text(tree, ": %s", data);
3692 return offset;
3695 static int
3696 netdfs_dissect_element_dfs_SetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3698 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_SetInfo_level, 0);
3700 return offset;
3703 static int
3704 netdfs_dissect_element_dfs_SetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3706 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_SetInfo_info_, NDR_POINTER_REF, "Pointer to Info (dfs_Info)",hf_netdfs_dfs_SetInfo_info);
3708 return offset;
3711 static int
3712 netdfs_dissect_element_dfs_SetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3714 offset = netdfs_dissect_dfs_Info(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_SetInfo_info, 0);
3716 return offset;
3719 /* IDL: WERROR dfs_SetInfo( */
3720 /* IDL: [charset(UTF16)] [in] uint16 dfs_entry_path[*], */
3721 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
3722 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *sharename, */
3723 /* IDL: [in] uint32 level, */
3724 /* IDL: [in] [ref] [switch_is(level)] dfs_Info *info */
3725 /* IDL: ); */
3727 static int
3728 netdfs_dissect_dfs_SetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3730 uint32_t status;
3732 di->dcerpc_procedure_name="dfs_SetInfo";
3733 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3735 if (status != 0)
3736 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3738 return offset;
3741 static int
3742 netdfs_dissect_dfs_SetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3744 di->dcerpc_procedure_name="dfs_SetInfo";
3745 offset = netdfs_dissect_element_dfs_SetInfo_dfs_entry_path(tvb, offset, pinfo, tree, di, drep);
3746 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3747 offset = netdfs_dissect_element_dfs_SetInfo_servername(tvb, offset, pinfo, tree, di, drep);
3748 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3749 offset = netdfs_dissect_element_dfs_SetInfo_sharename(tvb, offset, pinfo, tree, di, drep);
3750 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3751 offset = netdfs_dissect_element_dfs_SetInfo_level(tvb, offset, pinfo, tree, di, drep);
3752 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3753 offset = netdfs_dissect_element_dfs_SetInfo_info(tvb, offset, pinfo, tree, di, drep);
3754 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3755 return offset;
3758 static int
3759 netdfs_dissect_element_dfs_GetInfo_dfs_entry_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3761 char *data = NULL;
3762 struct ndr_generic_array nga = { .is_conformant = false, };
3764 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3766 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3767 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_GetInfo_dfs_entry_path, false, &nga, &data);
3768 proto_item_append_text(tree, ": %s", data);
3770 return offset;
3773 static int
3774 netdfs_dissect_element_dfs_GetInfo_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3776 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_GetInfo_servername_, NDR_POINTER_UNIQUE, "Pointer to Servername (uint16)",hf_netdfs_dfs_GetInfo_servername);
3778 return offset;
3781 static int
3782 netdfs_dissect_element_dfs_GetInfo_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3784 char *data = NULL;
3785 struct ndr_generic_array nga = { .is_conformant = false, };
3787 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3789 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3790 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_GetInfo_servername, false, &nga, &data);
3791 proto_item_append_text(tree, ": %s", data);
3793 return offset;
3796 static int
3797 netdfs_dissect_element_dfs_GetInfo_sharename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3799 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_GetInfo_sharename_, NDR_POINTER_UNIQUE, "Pointer to Sharename (uint16)",hf_netdfs_dfs_GetInfo_sharename);
3801 return offset;
3804 static int
3805 netdfs_dissect_element_dfs_GetInfo_sharename_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3807 char *data = NULL;
3808 struct ndr_generic_array nga = { .is_conformant = false, };
3810 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3812 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
3813 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_GetInfo_sharename, false, &nga, &data);
3814 proto_item_append_text(tree, ": %s", data);
3816 return offset;
3819 static int
3820 netdfs_dissect_element_dfs_GetInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3822 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_GetInfo_level, 0);
3824 return offset;
3827 static int
3828 netdfs_dissect_element_dfs_GetInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3830 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_GetInfo_info_, NDR_POINTER_REF, "Pointer to Info (dfs_Info)",hf_netdfs_dfs_GetInfo_info);
3832 return offset;
3835 static int
3836 netdfs_dissect_element_dfs_GetInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3838 offset = netdfs_dissect_dfs_Info(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_GetInfo_info, 0);
3840 return offset;
3843 /* IDL: WERROR dfs_GetInfo( */
3844 /* IDL: [charset(UTF16)] [in] uint16 dfs_entry_path[*], */
3845 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *servername, */
3846 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *sharename, */
3847 /* IDL: [in] uint32 level, */
3848 /* IDL: [out] [ref] [switch_is(level)] dfs_Info *info */
3849 /* IDL: ); */
3851 static int
3852 netdfs_dissect_dfs_GetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3854 uint32_t status;
3856 di->dcerpc_procedure_name="dfs_GetInfo";
3857 offset = netdfs_dissect_element_dfs_GetInfo_info(tvb, offset, pinfo, tree, di, drep);
3858 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3860 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3862 if (status != 0)
3863 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3865 return offset;
3868 static int
3869 netdfs_dissect_dfs_GetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3871 di->dcerpc_procedure_name="dfs_GetInfo";
3872 offset = netdfs_dissect_element_dfs_GetInfo_dfs_entry_path(tvb, offset, pinfo, tree, di, drep);
3873 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3874 offset = netdfs_dissect_element_dfs_GetInfo_servername(tvb, offset, pinfo, tree, di, drep);
3875 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3876 offset = netdfs_dissect_element_dfs_GetInfo_sharename(tvb, offset, pinfo, tree, di, drep);
3877 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3878 offset = netdfs_dissect_element_dfs_GetInfo_level(tvb, offset, pinfo, tree, di, drep);
3879 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3880 return offset;
3883 static int
3884 netdfs_dissect_element_dfs_Enum_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3886 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Enum_level, 0);
3888 return offset;
3891 static int
3892 netdfs_dissect_element_dfs_Enum_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3894 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Enum_bufsize, 0);
3896 return offset;
3899 static int
3900 netdfs_dissect_element_dfs_Enum_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3902 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Enum_info_, NDR_POINTER_UNIQUE, "Pointer to Info (dfs_EnumStruct)",hf_netdfs_dfs_Enum_info);
3904 return offset;
3907 static int
3908 netdfs_dissect_element_dfs_Enum_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3910 offset = netdfs_dissect_struct_dfs_EnumStruct(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_Enum_info,0);
3912 return offset;
3915 static int
3916 netdfs_dissect_element_dfs_Enum_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3918 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_Enum_total_, NDR_POINTER_UNIQUE, "Pointer to Total (uint32)",hf_netdfs_dfs_Enum_total);
3920 return offset;
3923 static int
3924 netdfs_dissect_element_dfs_Enum_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3926 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_Enum_total, 0);
3928 return offset;
3931 /* IDL: WERROR dfs_Enum( */
3932 /* IDL: [in] uint32 level, */
3933 /* IDL: [in] uint32 bufsize, */
3934 /* IDL: [in] [out] [unique(1)] dfs_EnumStruct *info, */
3935 /* IDL: [in] [out] [unique(1)] uint32 *total */
3936 /* IDL: ); */
3938 static int
3939 netdfs_dissect_dfs_Enum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3941 uint32_t status;
3943 di->dcerpc_procedure_name="dfs_Enum";
3944 offset = netdfs_dissect_element_dfs_Enum_info(tvb, offset, pinfo, tree, di, drep);
3945 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3947 offset = netdfs_dissect_element_dfs_Enum_total(tvb, offset, pinfo, tree, di, drep);
3948 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3950 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3952 if (status != 0)
3953 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3955 return offset;
3958 static int
3959 netdfs_dissect_dfs_Enum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3961 di->dcerpc_procedure_name="dfs_Enum";
3962 offset = netdfs_dissect_element_dfs_Enum_level(tvb, offset, pinfo, tree, di, drep);
3963 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3964 offset = netdfs_dissect_element_dfs_Enum_bufsize(tvb, offset, pinfo, tree, di, drep);
3965 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3966 offset = netdfs_dissect_element_dfs_Enum_info(tvb, offset, pinfo, tree, di, drep);
3967 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3968 offset = netdfs_dissect_element_dfs_Enum_total(tvb, offset, pinfo, tree, di, drep);
3969 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
3970 return offset;
3973 /* IDL: WERROR dfs_Rename( */
3974 /* IDL: */
3975 /* IDL: ); */
3977 static int
3978 netdfs_dissect_dfs_Rename_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3980 uint32_t status;
3982 di->dcerpc_procedure_name="dfs_Rename";
3983 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
3985 if (status != 0)
3986 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
3988 return offset;
3991 static int
3992 netdfs_dissect_dfs_Rename_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3994 di->dcerpc_procedure_name="dfs_Rename";
3995 return offset;
3998 /* IDL: WERROR dfs_Move( */
3999 /* IDL: */
4000 /* IDL: ); */
4002 static int
4003 netdfs_dissect_dfs_Move_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4005 uint32_t status;
4007 di->dcerpc_procedure_name="dfs_Move";
4008 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4010 if (status != 0)
4011 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4013 return offset;
4016 static int
4017 netdfs_dissect_dfs_Move_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4019 di->dcerpc_procedure_name="dfs_Move";
4020 return offset;
4023 /* IDL: WERROR dfs_ManagerGetConfigInfo( */
4024 /* IDL: */
4025 /* IDL: ); */
4027 static int
4028 netdfs_dissect_dfs_ManagerGetConfigInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4030 uint32_t status;
4032 di->dcerpc_procedure_name="dfs_ManagerGetConfigInfo";
4033 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4035 if (status != 0)
4036 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4038 return offset;
4041 static int
4042 netdfs_dissect_dfs_ManagerGetConfigInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4044 di->dcerpc_procedure_name="dfs_ManagerGetConfigInfo";
4045 return offset;
4048 /* IDL: WERROR dfs_ManagerSendSiteInfo( */
4049 /* IDL: */
4050 /* IDL: ); */
4052 static int
4053 netdfs_dissect_dfs_ManagerSendSiteInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4055 uint32_t status;
4057 di->dcerpc_procedure_name="dfs_ManagerSendSiteInfo";
4058 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4060 if (status != 0)
4061 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4063 return offset;
4066 static int
4067 netdfs_dissect_dfs_ManagerSendSiteInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4069 di->dcerpc_procedure_name="dfs_ManagerSendSiteInfo";
4070 return offset;
4073 static int
4074 netdfs_dissect_element_dfs_AddFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4076 char *data = NULL;
4077 struct ndr_generic_array nga = { .is_conformant = false, };
4079 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4081 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4082 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_servername, false, &nga, &data);
4083 proto_item_append_text(tree, ": %s", data);
4085 return offset;
4088 static int
4089 netdfs_dissect_element_dfs_AddFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4091 char *data = NULL;
4092 struct ndr_generic_array nga = { .is_conformant = false, };
4094 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4096 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4097 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_dns_servername, false, &nga, &data);
4098 proto_item_append_text(tree, ": %s", data);
4100 return offset;
4103 static int
4104 netdfs_dissect_element_dfs_AddFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4106 char *data = NULL;
4107 struct ndr_generic_array nga = { .is_conformant = false, };
4109 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4111 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4112 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_dfsname, false, &nga, &data);
4113 proto_item_append_text(tree, ": %s", data);
4115 return offset;
4118 static int
4119 netdfs_dissect_element_dfs_AddFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4121 char *data = NULL;
4122 struct ndr_generic_array nga = { .is_conformant = false, };
4124 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4126 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4127 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_rootshare, false, &nga, &data);
4128 proto_item_append_text(tree, ": %s", data);
4130 return offset;
4133 static int
4134 netdfs_dissect_element_dfs_AddFtRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4136 char *data = NULL;
4137 struct ndr_generic_array nga = { .is_conformant = false, };
4139 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4141 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4142 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_comment, false, &nga, &data);
4143 proto_item_append_text(tree, ": %s", data);
4145 return offset;
4148 static int
4149 netdfs_dissect_element_dfs_AddFtRoot_dfs_config_dn(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4151 char *data = NULL;
4152 struct ndr_generic_array nga = { .is_conformant = false, };
4154 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4156 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4157 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddFtRoot_dfs_config_dn, false, &nga, &data);
4158 proto_item_append_text(tree, ": %s", data);
4160 return offset;
4163 static int
4164 netdfs_dissect_element_dfs_AddFtRoot_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4166 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_AddFtRoot_unknown1, 0);
4168 return offset;
4171 static int
4172 netdfs_dissect_element_dfs_AddFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4174 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_AddFtRoot_flags, 0);
4176 return offset;
4179 static int
4180 netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4182 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_AddFtRoot_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (dfs_UnknownStruct)",hf_netdfs_dfs_AddFtRoot_unknown2);
4184 return offset;
4187 static int
4188 netdfs_dissect_element_dfs_AddFtRoot_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4190 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_AddFtRoot_unknown2__, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (dfs_UnknownStruct)",hf_netdfs_dfs_AddFtRoot_unknown2);
4192 return offset;
4195 static int
4196 netdfs_dissect_element_dfs_AddFtRoot_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4198 offset = netdfs_dissect_struct_dfs_UnknownStruct(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_AddFtRoot_unknown2,0);
4200 return offset;
4203 /* IDL: WERROR dfs_AddFtRoot( */
4204 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4205 /* IDL: [charset(UTF16)] [in] uint16 dns_servername[*], */
4206 /* IDL: [charset(UTF16)] [in] uint16 dfsname[*], */
4207 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4208 /* IDL: [charset(UTF16)] [in] uint16 comment[*], */
4209 /* IDL: [charset(UTF16)] [in] uint16 dfs_config_dn[*], */
4210 /* IDL: [in] uint8 unknown1, */
4211 /* IDL: [in] uint32 flags, */
4212 /* IDL: [in] [out] [unique(1)] dfs_UnknownStruct **unknown2 */
4213 /* IDL: ); */
4215 static int
4216 netdfs_dissect_dfs_AddFtRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4218 uint32_t status;
4220 di->dcerpc_procedure_name="dfs_AddFtRoot";
4221 offset = netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvb, offset, pinfo, tree, di, drep);
4222 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4224 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4226 if (status != 0)
4227 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4229 return offset;
4232 static int
4233 netdfs_dissect_dfs_AddFtRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4235 di->dcerpc_procedure_name="dfs_AddFtRoot";
4236 offset = netdfs_dissect_element_dfs_AddFtRoot_servername(tvb, offset, pinfo, tree, di, drep);
4237 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4238 offset = netdfs_dissect_element_dfs_AddFtRoot_dns_servername(tvb, offset, pinfo, tree, di, drep);
4239 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4240 offset = netdfs_dissect_element_dfs_AddFtRoot_dfsname(tvb, offset, pinfo, tree, di, drep);
4241 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4242 offset = netdfs_dissect_element_dfs_AddFtRoot_rootshare(tvb, offset, pinfo, tree, di, drep);
4243 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4244 offset = netdfs_dissect_element_dfs_AddFtRoot_comment(tvb, offset, pinfo, tree, di, drep);
4245 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4246 offset = netdfs_dissect_element_dfs_AddFtRoot_dfs_config_dn(tvb, offset, pinfo, tree, di, drep);
4247 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4248 offset = netdfs_dissect_element_dfs_AddFtRoot_unknown1(tvb, offset, pinfo, tree, di, drep);
4249 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4250 offset = netdfs_dissect_element_dfs_AddFtRoot_flags(tvb, offset, pinfo, tree, di, drep);
4251 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4252 offset = netdfs_dissect_element_dfs_AddFtRoot_unknown2(tvb, offset, pinfo, tree, di, drep);
4253 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4254 return offset;
4257 static int
4258 netdfs_dissect_element_dfs_RemoveFtRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4260 char *data = NULL;
4261 struct ndr_generic_array nga = { .is_conformant = false, };
4263 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4265 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4266 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveFtRoot_servername, false, &nga, &data);
4267 proto_item_append_text(tree, ": %s", data);
4269 return offset;
4272 static int
4273 netdfs_dissect_element_dfs_RemoveFtRoot_dns_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4275 char *data = NULL;
4276 struct ndr_generic_array nga = { .is_conformant = false, };
4278 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4280 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4281 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveFtRoot_dns_servername, false, &nga, &data);
4282 proto_item_append_text(tree, ": %s", data);
4284 return offset;
4287 static int
4288 netdfs_dissect_element_dfs_RemoveFtRoot_dfsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4290 char *data = NULL;
4291 struct ndr_generic_array nga = { .is_conformant = false, };
4293 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4295 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4296 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveFtRoot_dfsname, false, &nga, &data);
4297 proto_item_append_text(tree, ": %s", data);
4299 return offset;
4302 static int
4303 netdfs_dissect_element_dfs_RemoveFtRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4305 char *data = NULL;
4306 struct ndr_generic_array nga = { .is_conformant = false, };
4308 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4310 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4311 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveFtRoot_rootshare, false, &nga, &data);
4312 proto_item_append_text(tree, ": %s", data);
4314 return offset;
4317 static int
4318 netdfs_dissect_element_dfs_RemoveFtRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4320 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_RemoveFtRoot_flags, 0);
4322 return offset;
4325 static int
4326 netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4328 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_RemoveFtRoot_unknown_, NDR_POINTER_UNIQUE, "Pointer to Unknown (dfs_UnknownStruct)",hf_netdfs_dfs_RemoveFtRoot_unknown);
4330 return offset;
4333 static int
4334 netdfs_dissect_element_dfs_RemoveFtRoot_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4336 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_RemoveFtRoot_unknown__, NDR_POINTER_UNIQUE, "Pointer to Unknown (dfs_UnknownStruct)",hf_netdfs_dfs_RemoveFtRoot_unknown);
4338 return offset;
4341 static int
4342 netdfs_dissect_element_dfs_RemoveFtRoot_unknown__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4344 offset = netdfs_dissect_struct_dfs_UnknownStruct(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_RemoveFtRoot_unknown,0);
4346 return offset;
4349 /* IDL: WERROR dfs_RemoveFtRoot( */
4350 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4351 /* IDL: [charset(UTF16)] [in] uint16 dns_servername[*], */
4352 /* IDL: [charset(UTF16)] [in] uint16 dfsname[*], */
4353 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4354 /* IDL: [in] uint32 flags, */
4355 /* IDL: [in] [out] [unique(1)] dfs_UnknownStruct **unknown */
4356 /* IDL: ); */
4358 static int
4359 netdfs_dissect_dfs_RemoveFtRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4361 uint32_t status;
4363 di->dcerpc_procedure_name="dfs_RemoveFtRoot";
4364 offset = netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvb, offset, pinfo, tree, di, drep);
4365 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4367 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4369 if (status != 0)
4370 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4372 return offset;
4375 static int
4376 netdfs_dissect_dfs_RemoveFtRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4378 di->dcerpc_procedure_name="dfs_RemoveFtRoot";
4379 offset = netdfs_dissect_element_dfs_RemoveFtRoot_servername(tvb, offset, pinfo, tree, di, drep);
4380 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4381 offset = netdfs_dissect_element_dfs_RemoveFtRoot_dns_servername(tvb, offset, pinfo, tree, di, drep);
4382 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4383 offset = netdfs_dissect_element_dfs_RemoveFtRoot_dfsname(tvb, offset, pinfo, tree, di, drep);
4384 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4385 offset = netdfs_dissect_element_dfs_RemoveFtRoot_rootshare(tvb, offset, pinfo, tree, di, drep);
4386 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4387 offset = netdfs_dissect_element_dfs_RemoveFtRoot_flags(tvb, offset, pinfo, tree, di, drep);
4388 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4389 offset = netdfs_dissect_element_dfs_RemoveFtRoot_unknown(tvb, offset, pinfo, tree, di, drep);
4390 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4391 return offset;
4394 static int
4395 netdfs_dissect_element_dfs_AddStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4397 char *data = NULL;
4398 struct ndr_generic_array nga = { .is_conformant = false, };
4400 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4402 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4403 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRoot_servername, false, &nga, &data);
4404 proto_item_append_text(tree, ": %s", data);
4406 return offset;
4409 static int
4410 netdfs_dissect_element_dfs_AddStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4412 char *data = NULL;
4413 struct ndr_generic_array nga = { .is_conformant = false, };
4415 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4417 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4418 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRoot_rootshare, false, &nga, &data);
4419 proto_item_append_text(tree, ": %s", data);
4421 return offset;
4424 static int
4425 netdfs_dissect_element_dfs_AddStdRoot_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4427 char *data = NULL;
4428 struct ndr_generic_array nga = { .is_conformant = false, };
4430 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4432 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4433 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRoot_comment, false, &nga, &data);
4434 proto_item_append_text(tree, ": %s", data);
4436 return offset;
4439 static int
4440 netdfs_dissect_element_dfs_AddStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4442 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_AddStdRoot_flags, 0);
4444 return offset;
4447 /* IDL: WERROR dfs_AddStdRoot( */
4448 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4449 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4450 /* IDL: [charset(UTF16)] [in] uint16 comment[*], */
4451 /* IDL: [in] uint32 flags */
4452 /* IDL: ); */
4454 static int
4455 netdfs_dissect_dfs_AddStdRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4457 uint32_t status;
4459 di->dcerpc_procedure_name="dfs_AddStdRoot";
4460 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4462 if (status != 0)
4463 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4465 return offset;
4468 static int
4469 netdfs_dissect_dfs_AddStdRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4471 di->dcerpc_procedure_name="dfs_AddStdRoot";
4472 offset = netdfs_dissect_element_dfs_AddStdRoot_servername(tvb, offset, pinfo, tree, di, drep);
4473 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4474 offset = netdfs_dissect_element_dfs_AddStdRoot_rootshare(tvb, offset, pinfo, tree, di, drep);
4475 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4476 offset = netdfs_dissect_element_dfs_AddStdRoot_comment(tvb, offset, pinfo, tree, di, drep);
4477 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4478 offset = netdfs_dissect_element_dfs_AddStdRoot_flags(tvb, offset, pinfo, tree, di, drep);
4479 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4480 return offset;
4483 static int
4484 netdfs_dissect_element_dfs_RemoveStdRoot_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4486 char *data = NULL;
4487 struct ndr_generic_array nga = { .is_conformant = false, };
4489 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4491 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4492 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveStdRoot_servername, false, &nga, &data);
4493 proto_item_append_text(tree, ": %s", data);
4495 return offset;
4498 static int
4499 netdfs_dissect_element_dfs_RemoveStdRoot_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4501 char *data = NULL;
4502 struct ndr_generic_array nga = { .is_conformant = false, };
4504 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4506 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4507 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_RemoveStdRoot_rootshare, false, &nga, &data);
4508 proto_item_append_text(tree, ": %s", data);
4510 return offset;
4513 static int
4514 netdfs_dissect_element_dfs_RemoveStdRoot_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4516 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_RemoveStdRoot_flags, 0);
4518 return offset;
4521 /* IDL: WERROR dfs_RemoveStdRoot( */
4522 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4523 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4524 /* IDL: [in] uint32 flags */
4525 /* IDL: ); */
4527 static int
4528 netdfs_dissect_dfs_RemoveStdRoot_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4530 uint32_t status;
4532 di->dcerpc_procedure_name="dfs_RemoveStdRoot";
4533 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4535 if (status != 0)
4536 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4538 return offset;
4541 static int
4542 netdfs_dissect_dfs_RemoveStdRoot_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4544 di->dcerpc_procedure_name="dfs_RemoveStdRoot";
4545 offset = netdfs_dissect_element_dfs_RemoveStdRoot_servername(tvb, offset, pinfo, tree, di, drep);
4546 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4547 offset = netdfs_dissect_element_dfs_RemoveStdRoot_rootshare(tvb, offset, pinfo, tree, di, drep);
4548 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4549 offset = netdfs_dissect_element_dfs_RemoveStdRoot_flags(tvb, offset, pinfo, tree, di, drep);
4550 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4551 return offset;
4554 static int
4555 netdfs_dissect_element_dfs_ManagerInitialize_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4557 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_ManagerInitialize_servername_, NDR_POINTER_REF, "Pointer to Servername (uint16)",hf_netdfs_dfs_ManagerInitialize_servername);
4559 return offset;
4562 static int
4563 netdfs_dissect_element_dfs_ManagerInitialize_servername_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4565 char *data = NULL;
4566 struct ndr_generic_array nga = { .is_conformant = false, };
4568 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4570 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4571 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_ManagerInitialize_servername, false, &nga, &data);
4572 proto_item_append_text(tree, ": %s", data);
4574 return offset;
4577 static int
4578 netdfs_dissect_element_dfs_ManagerInitialize_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4580 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_ManagerInitialize_flags, 0);
4582 return offset;
4585 /* IDL: WERROR dfs_ManagerInitialize( */
4586 /* IDL: [charset(UTF16)] [in] [ref] uint16 *servername, */
4587 /* IDL: [in] uint32 flags */
4588 /* IDL: ); */
4590 static int
4591 netdfs_dissect_dfs_ManagerInitialize_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4593 uint32_t status;
4595 di->dcerpc_procedure_name="dfs_ManagerInitialize";
4596 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4598 if (status != 0)
4599 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4601 return offset;
4604 static int
4605 netdfs_dissect_dfs_ManagerInitialize_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4607 di->dcerpc_procedure_name="dfs_ManagerInitialize";
4608 offset = netdfs_dissect_element_dfs_ManagerInitialize_servername(tvb, offset, pinfo, tree, di, drep);
4609 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4610 offset = netdfs_dissect_element_dfs_ManagerInitialize_flags(tvb, offset, pinfo, tree, di, drep);
4611 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4612 return offset;
4615 static int
4616 netdfs_dissect_element_dfs_AddStdRootForced_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4618 char *data = NULL;
4619 struct ndr_generic_array nga = { .is_conformant = false, };
4621 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4623 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4624 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRootForced_servername, false, &nga, &data);
4625 proto_item_append_text(tree, ": %s", data);
4627 return offset;
4630 static int
4631 netdfs_dissect_element_dfs_AddStdRootForced_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4633 char *data = NULL;
4634 struct ndr_generic_array nga = { .is_conformant = false, };
4636 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4638 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4639 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRootForced_rootshare, false, &nga, &data);
4640 proto_item_append_text(tree, ": %s", data);
4642 return offset;
4645 static int
4646 netdfs_dissect_element_dfs_AddStdRootForced_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4648 char *data = NULL;
4649 struct ndr_generic_array nga = { .is_conformant = false, };
4651 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4653 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4654 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRootForced_comment, false, &nga, &data);
4655 proto_item_append_text(tree, ": %s", data);
4657 return offset;
4660 static int
4661 netdfs_dissect_element_dfs_AddStdRootForced_store(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4663 char *data = NULL;
4664 struct ndr_generic_array nga = { .is_conformant = false, };
4666 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4668 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4669 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_AddStdRootForced_store, false, &nga, &data);
4670 proto_item_append_text(tree, ": %s", data);
4672 return offset;
4675 /* IDL: WERROR dfs_AddStdRootForced( */
4676 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4677 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*], */
4678 /* IDL: [charset(UTF16)] [in] uint16 comment[*], */
4679 /* IDL: [charset(UTF16)] [in] uint16 store[*] */
4680 /* IDL: ); */
4682 static int
4683 netdfs_dissect_dfs_AddStdRootForced_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4685 uint32_t status;
4687 di->dcerpc_procedure_name="dfs_AddStdRootForced";
4688 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4690 if (status != 0)
4691 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4693 return offset;
4696 static int
4697 netdfs_dissect_dfs_AddStdRootForced_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4699 di->dcerpc_procedure_name="dfs_AddStdRootForced";
4700 offset = netdfs_dissect_element_dfs_AddStdRootForced_servername(tvb, offset, pinfo, tree, di, drep);
4701 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4702 offset = netdfs_dissect_element_dfs_AddStdRootForced_rootshare(tvb, offset, pinfo, tree, di, drep);
4703 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4704 offset = netdfs_dissect_element_dfs_AddStdRootForced_comment(tvb, offset, pinfo, tree, di, drep);
4705 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4706 offset = netdfs_dissect_element_dfs_AddStdRootForced_store(tvb, offset, pinfo, tree, di, drep);
4707 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4708 return offset;
4711 /* IDL: WERROR dfs_GetDcAddress( */
4712 /* IDL: */
4713 /* IDL: ); */
4715 static int
4716 netdfs_dissect_dfs_GetDcAddress_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4718 uint32_t status;
4720 di->dcerpc_procedure_name="dfs_GetDcAddress";
4721 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4723 if (status != 0)
4724 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4726 return offset;
4729 static int
4730 netdfs_dissect_dfs_GetDcAddress_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4732 di->dcerpc_procedure_name="dfs_GetDcAddress";
4733 return offset;
4736 /* IDL: WERROR dfs_SetDcAddress( */
4737 /* IDL: */
4738 /* IDL: ); */
4740 static int
4741 netdfs_dissect_dfs_SetDcAddress_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4743 uint32_t status;
4745 di->dcerpc_procedure_name="dfs_SetDcAddress";
4746 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4748 if (status != 0)
4749 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4751 return offset;
4754 static int
4755 netdfs_dissect_dfs_SetDcAddress_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4757 di->dcerpc_procedure_name="dfs_SetDcAddress";
4758 return offset;
4761 static int
4762 netdfs_dissect_element_dfs_FlushFtTable_servername(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4764 char *data = NULL;
4765 struct ndr_generic_array nga = { .is_conformant = false, };
4767 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4769 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4770 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_FlushFtTable_servername, false, &nga, &data);
4771 proto_item_append_text(tree, ": %s", data);
4773 return offset;
4776 static int
4777 netdfs_dissect_element_dfs_FlushFtTable_rootshare(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4779 char *data = NULL;
4780 struct ndr_generic_array nga = { .is_conformant = false, };
4782 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4784 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4785 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_FlushFtTable_rootshare, false, &nga, &data);
4786 proto_item_append_text(tree, ": %s", data);
4788 return offset;
4791 /* IDL: WERROR dfs_FlushFtTable( */
4792 /* IDL: [charset(UTF16)] [in] uint16 servername[*], */
4793 /* IDL: [charset(UTF16)] [in] uint16 rootshare[*] */
4794 /* IDL: ); */
4796 static int
4797 netdfs_dissect_dfs_FlushFtTable_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4799 uint32_t status;
4801 di->dcerpc_procedure_name="dfs_FlushFtTable";
4802 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4804 if (status != 0)
4805 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4807 return offset;
4810 static int
4811 netdfs_dissect_dfs_FlushFtTable_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4813 di->dcerpc_procedure_name="dfs_FlushFtTable";
4814 offset = netdfs_dissect_element_dfs_FlushFtTable_servername(tvb, offset, pinfo, tree, di, drep);
4815 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4816 offset = netdfs_dissect_element_dfs_FlushFtTable_rootshare(tvb, offset, pinfo, tree, di, drep);
4817 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4818 return offset;
4821 /* IDL: WERROR dfs_Add2( */
4822 /* IDL: */
4823 /* IDL: ); */
4825 static int
4826 netdfs_dissect_dfs_Add2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4828 uint32_t status;
4830 di->dcerpc_procedure_name="dfs_Add2";
4831 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4833 if (status != 0)
4834 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4836 return offset;
4839 static int
4840 netdfs_dissect_dfs_Add2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4842 di->dcerpc_procedure_name="dfs_Add2";
4843 return offset;
4846 /* IDL: WERROR dfs_Remove2( */
4847 /* IDL: */
4848 /* IDL: ); */
4850 static int
4851 netdfs_dissect_dfs_Remove2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4853 uint32_t status;
4855 di->dcerpc_procedure_name="dfs_Remove2";
4856 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4858 if (status != 0)
4859 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4861 return offset;
4864 static int
4865 netdfs_dissect_dfs_Remove2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4867 di->dcerpc_procedure_name="dfs_Remove2";
4868 return offset;
4871 static int
4872 netdfs_dissect_element_dfs_EnumEx_dfs_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4874 char *data = NULL;
4875 struct ndr_generic_array nga = { .is_conformant = false, };
4877 offset = dissect_ndr_conformant_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4879 offset = dissect_ndr_varying_array_hdr(tvb, offset, pinfo, tree, di, drep, &nga);
4880 offset = dissect_ndr_generic_array_string(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_netdfs_dfs_EnumEx_dfs_name, false, &nga, &data);
4881 proto_item_append_text(tree, ": %s", data);
4883 return offset;
4886 static int
4887 netdfs_dissect_element_dfs_EnumEx_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4889 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumEx_level, 0);
4891 return offset;
4894 static int
4895 netdfs_dissect_element_dfs_EnumEx_bufsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4897 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumEx_bufsize, 0);
4899 return offset;
4902 static int
4903 netdfs_dissect_element_dfs_EnumEx_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4905 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumEx_info_, NDR_POINTER_UNIQUE, "Pointer to Info (dfs_EnumStruct)",hf_netdfs_dfs_EnumEx_info);
4907 return offset;
4910 static int
4911 netdfs_dissect_element_dfs_EnumEx_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4913 offset = netdfs_dissect_struct_dfs_EnumStruct(tvb,offset,pinfo,tree,di,drep,hf_netdfs_dfs_EnumEx_info,0);
4915 return offset;
4918 static int
4919 netdfs_dissect_element_dfs_EnumEx_total(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4921 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, netdfs_dissect_element_dfs_EnumEx_total_, NDR_POINTER_UNIQUE, "Pointer to Total (uint32)",hf_netdfs_dfs_EnumEx_total);
4923 return offset;
4926 static int
4927 netdfs_dissect_element_dfs_EnumEx_total_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4929 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_dfs_EnumEx_total, 0);
4931 return offset;
4934 /* IDL: WERROR dfs_EnumEx( */
4935 /* IDL: [charset(UTF16)] [in] uint16 dfs_name[*], */
4936 /* IDL: [in] uint32 level, */
4937 /* IDL: [in] uint32 bufsize, */
4938 /* IDL: [in] [out] [unique(1)] dfs_EnumStruct *info, */
4939 /* IDL: [in] [out] [unique(1)] uint32 *total */
4940 /* IDL: ); */
4942 static int
4943 netdfs_dissect_dfs_EnumEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4945 uint32_t status;
4947 di->dcerpc_procedure_name="dfs_EnumEx";
4948 offset = netdfs_dissect_element_dfs_EnumEx_info(tvb, offset, pinfo, tree, di, drep);
4949 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4951 offset = netdfs_dissect_element_dfs_EnumEx_total(tvb, offset, pinfo, tree, di, drep);
4952 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4954 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4956 if (status != 0)
4957 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4959 return offset;
4962 static int
4963 netdfs_dissect_dfs_EnumEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4965 di->dcerpc_procedure_name="dfs_EnumEx";
4966 offset = netdfs_dissect_element_dfs_EnumEx_dfs_name(tvb, offset, pinfo, tree, di, drep);
4967 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4968 offset = netdfs_dissect_element_dfs_EnumEx_level(tvb, offset, pinfo, tree, di, drep);
4969 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4970 offset = netdfs_dissect_element_dfs_EnumEx_bufsize(tvb, offset, pinfo, tree, di, drep);
4971 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4972 offset = netdfs_dissect_element_dfs_EnumEx_info(tvb, offset, pinfo, tree, di, drep);
4973 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4974 offset = netdfs_dissect_element_dfs_EnumEx_total(tvb, offset, pinfo, tree, di, drep);
4975 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
4976 return offset;
4979 /* IDL: WERROR dfs_SetInfo2( */
4980 /* IDL: */
4981 /* IDL: ); */
4983 static int
4984 netdfs_dissect_dfs_SetInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4986 uint32_t status;
4988 di->dcerpc_procedure_name="dfs_SetInfo2";
4989 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_netdfs_werror, &status);
4991 if (status != 0)
4992 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
4994 return offset;
4997 static int
4998 netdfs_dissect_dfs_SetInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5000 di->dcerpc_procedure_name="dfs_SetInfo2";
5001 return offset;
5005 static const dcerpc_sub_dissector netdfs_dissectors[] = {
5006 { 0, "dfs_GetManagerVersion",
5007 netdfs_dissect_dfs_GetManagerVersion_request, netdfs_dissect_dfs_GetManagerVersion_response},
5008 { 1, "dfs_Add",
5009 netdfs_dissect_dfs_Add_request, netdfs_dissect_dfs_Add_response},
5010 { 2, "dfs_Remove",
5011 netdfs_dissect_dfs_Remove_request, netdfs_dissect_dfs_Remove_response},
5012 { 3, "dfs_SetInfo",
5013 netdfs_dissect_dfs_SetInfo_request, netdfs_dissect_dfs_SetInfo_response},
5014 { 4, "dfs_GetInfo",
5015 netdfs_dissect_dfs_GetInfo_request, netdfs_dissect_dfs_GetInfo_response},
5016 { 5, "dfs_Enum",
5017 netdfs_dissect_dfs_Enum_request, netdfs_dissect_dfs_Enum_response},
5018 { 6, "dfs_Rename",
5019 netdfs_dissect_dfs_Rename_request, netdfs_dissect_dfs_Rename_response},
5020 { 7, "dfs_Move",
5021 netdfs_dissect_dfs_Move_request, netdfs_dissect_dfs_Move_response},
5022 { 8, "dfs_ManagerGetConfigInfo",
5023 netdfs_dissect_dfs_ManagerGetConfigInfo_request, netdfs_dissect_dfs_ManagerGetConfigInfo_response},
5024 { 9, "dfs_ManagerSendSiteInfo",
5025 netdfs_dissect_dfs_ManagerSendSiteInfo_request, netdfs_dissect_dfs_ManagerSendSiteInfo_response},
5026 { 10, "dfs_AddFtRoot",
5027 netdfs_dissect_dfs_AddFtRoot_request, netdfs_dissect_dfs_AddFtRoot_response},
5028 { 11, "dfs_RemoveFtRoot",
5029 netdfs_dissect_dfs_RemoveFtRoot_request, netdfs_dissect_dfs_RemoveFtRoot_response},
5030 { 12, "dfs_AddStdRoot",
5031 netdfs_dissect_dfs_AddStdRoot_request, netdfs_dissect_dfs_AddStdRoot_response},
5032 { 13, "dfs_RemoveStdRoot",
5033 netdfs_dissect_dfs_RemoveStdRoot_request, netdfs_dissect_dfs_RemoveStdRoot_response},
5034 { 14, "dfs_ManagerInitialize",
5035 netdfs_dissect_dfs_ManagerInitialize_request, netdfs_dissect_dfs_ManagerInitialize_response},
5036 { 15, "dfs_AddStdRootForced",
5037 netdfs_dissect_dfs_AddStdRootForced_request, netdfs_dissect_dfs_AddStdRootForced_response},
5038 { 16, "dfs_GetDcAddress",
5039 netdfs_dissect_dfs_GetDcAddress_request, netdfs_dissect_dfs_GetDcAddress_response},
5040 { 17, "dfs_SetDcAddress",
5041 netdfs_dissect_dfs_SetDcAddress_request, netdfs_dissect_dfs_SetDcAddress_response},
5042 { 18, "dfs_FlushFtTable",
5043 netdfs_dissect_dfs_FlushFtTable_request, netdfs_dissect_dfs_FlushFtTable_response},
5044 { 19, "dfs_Add2",
5045 netdfs_dissect_dfs_Add2_request, netdfs_dissect_dfs_Add2_response},
5046 { 20, "dfs_Remove2",
5047 netdfs_dissect_dfs_Remove2_request, netdfs_dissect_dfs_Remove2_response},
5048 { 21, "dfs_EnumEx",
5049 netdfs_dissect_dfs_EnumEx_request, netdfs_dissect_dfs_EnumEx_response},
5050 { 22, "dfs_SetInfo2",
5051 netdfs_dissect_dfs_SetInfo2_request, netdfs_dissect_dfs_SetInfo2_response},
5052 { 0, NULL, NULL, NULL }
5055 void proto_register_dcerpc_netdfs(void)
5057 static hf_register_info hf[] = {
5058 { &hf_netdfs_dfs_AddFtRoot_comment,
5059 { "Comment", "netdfs.dfs_AddFtRoot.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5060 { &hf_netdfs_dfs_AddFtRoot_dfs_config_dn,
5061 { "Dfs Config Dn", "netdfs.dfs_AddFtRoot.dfs_config_dn", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5062 { &hf_netdfs_dfs_AddFtRoot_dfsname,
5063 { "Dfsname", "netdfs.dfs_AddFtRoot.dfsname", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5064 { &hf_netdfs_dfs_AddFtRoot_dns_servername,
5065 { "Dns Servername", "netdfs.dfs_AddFtRoot.dns_servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5066 { &hf_netdfs_dfs_AddFtRoot_flags,
5067 { "Flags", "netdfs.dfs_AddFtRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5068 { &hf_netdfs_dfs_AddFtRoot_rootshare,
5069 { "Rootshare", "netdfs.dfs_AddFtRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5070 { &hf_netdfs_dfs_AddFtRoot_servername,
5071 { "Servername", "netdfs.dfs_AddFtRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5072 { &hf_netdfs_dfs_AddFtRoot_unknown1,
5073 { "Unknown1", "netdfs.dfs_AddFtRoot.unknown1", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
5074 { &hf_netdfs_dfs_AddFtRoot_unknown2,
5075 { "Unknown2", "netdfs.dfs_AddFtRoot.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5076 { &hf_netdfs_dfs_AddStdRootForced_comment,
5077 { "Comment", "netdfs.dfs_AddStdRootForced.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5078 { &hf_netdfs_dfs_AddStdRootForced_rootshare,
5079 { "Rootshare", "netdfs.dfs_AddStdRootForced.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5080 { &hf_netdfs_dfs_AddStdRootForced_servername,
5081 { "Servername", "netdfs.dfs_AddStdRootForced.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5082 { &hf_netdfs_dfs_AddStdRootForced_store,
5083 { "Store", "netdfs.dfs_AddStdRootForced.store", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5084 { &hf_netdfs_dfs_AddStdRoot_comment,
5085 { "Comment", "netdfs.dfs_AddStdRoot.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5086 { &hf_netdfs_dfs_AddStdRoot_flags,
5087 { "Flags", "netdfs.dfs_AddStdRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5088 { &hf_netdfs_dfs_AddStdRoot_rootshare,
5089 { "Rootshare", "netdfs.dfs_AddStdRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5090 { &hf_netdfs_dfs_AddStdRoot_servername,
5091 { "Servername", "netdfs.dfs_AddStdRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5092 { &hf_netdfs_dfs_Add_comment,
5093 { "Comment", "netdfs.dfs_Add.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5094 { &hf_netdfs_dfs_Add_flags,
5095 { "Flags", "netdfs.dfs_Add.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5096 { &hf_netdfs_dfs_Add_path,
5097 { "Path", "netdfs.dfs_Add.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5098 { &hf_netdfs_dfs_Add_server,
5099 { "Server", "netdfs.dfs_Add.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5100 { &hf_netdfs_dfs_Add_share,
5101 { "Share", "netdfs.dfs_Add.share", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5102 { &hf_netdfs_dfs_EnumArray1_count,
5103 { "Count", "netdfs.dfs_EnumArray1.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5104 { &hf_netdfs_dfs_EnumArray1_s,
5105 { "S", "netdfs.dfs_EnumArray1.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5106 { &hf_netdfs_dfs_EnumArray200_count,
5107 { "Count", "netdfs.dfs_EnumArray200.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5108 { &hf_netdfs_dfs_EnumArray200_s,
5109 { "S", "netdfs.dfs_EnumArray200.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5110 { &hf_netdfs_dfs_EnumArray2_count,
5111 { "Count", "netdfs.dfs_EnumArray2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5112 { &hf_netdfs_dfs_EnumArray2_s,
5113 { "S", "netdfs.dfs_EnumArray2.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5114 { &hf_netdfs_dfs_EnumArray300_count,
5115 { "Count", "netdfs.dfs_EnumArray300.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5116 { &hf_netdfs_dfs_EnumArray300_s,
5117 { "S", "netdfs.dfs_EnumArray300.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5118 { &hf_netdfs_dfs_EnumArray3_count,
5119 { "Count", "netdfs.dfs_EnumArray3.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5120 { &hf_netdfs_dfs_EnumArray3_s,
5121 { "S", "netdfs.dfs_EnumArray3.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5122 { &hf_netdfs_dfs_EnumArray4_count,
5123 { "Count", "netdfs.dfs_EnumArray4.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5124 { &hf_netdfs_dfs_EnumArray4_s,
5125 { "S", "netdfs.dfs_EnumArray4.s", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5126 { &hf_netdfs_dfs_EnumEx_bufsize,
5127 { "Bufsize", "netdfs.dfs_EnumEx.bufsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5128 { &hf_netdfs_dfs_EnumEx_dfs_name,
5129 { "Dfs Name", "netdfs.dfs_EnumEx.dfs_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5130 { &hf_netdfs_dfs_EnumEx_info,
5131 { "Info", "netdfs.dfs_EnumEx.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5132 { &hf_netdfs_dfs_EnumEx_level,
5133 { "Level", "netdfs.dfs_EnumEx.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5134 { &hf_netdfs_dfs_EnumEx_total,
5135 { "Total", "netdfs.dfs_EnumEx.total", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5136 { &hf_netdfs_dfs_EnumInfo_info1,
5137 { "Info1", "netdfs.dfs_EnumInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5138 { &hf_netdfs_dfs_EnumInfo_info2,
5139 { "Info2", "netdfs.dfs_EnumInfo.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5140 { &hf_netdfs_dfs_EnumInfo_info200,
5141 { "Info200", "netdfs.dfs_EnumInfo.info200", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5142 { &hf_netdfs_dfs_EnumInfo_info3,
5143 { "Info3", "netdfs.dfs_EnumInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5144 { &hf_netdfs_dfs_EnumInfo_info300,
5145 { "Info300", "netdfs.dfs_EnumInfo.info300", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5146 { &hf_netdfs_dfs_EnumInfo_info4,
5147 { "Info4", "netdfs.dfs_EnumInfo.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5148 { &hf_netdfs_dfs_EnumStruct_e,
5149 { "E", "netdfs.dfs_EnumStruct.e", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5150 { &hf_netdfs_dfs_EnumStruct_level,
5151 { "Level", "netdfs.dfs_EnumStruct.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5152 { &hf_netdfs_dfs_Enum_bufsize,
5153 { "Bufsize", "netdfs.dfs_Enum.bufsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5154 { &hf_netdfs_dfs_Enum_info,
5155 { "Info", "netdfs.dfs_Enum.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5156 { &hf_netdfs_dfs_Enum_level,
5157 { "Level", "netdfs.dfs_Enum.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5158 { &hf_netdfs_dfs_Enum_total,
5159 { "Total", "netdfs.dfs_Enum.total", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5160 { &hf_netdfs_dfs_FlushFtTable_rootshare,
5161 { "Rootshare", "netdfs.dfs_FlushFtTable.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5162 { &hf_netdfs_dfs_FlushFtTable_servername,
5163 { "Servername", "netdfs.dfs_FlushFtTable.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5164 { &hf_netdfs_dfs_GetInfo_dfs_entry_path,
5165 { "Dfs Entry Path", "netdfs.dfs_GetInfo.dfs_entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5166 { &hf_netdfs_dfs_GetInfo_info,
5167 { "Info", "netdfs.dfs_GetInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5168 { &hf_netdfs_dfs_GetInfo_level,
5169 { "Level", "netdfs.dfs_GetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5170 { &hf_netdfs_dfs_GetInfo_servername,
5171 { "Servername", "netdfs.dfs_GetInfo.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5172 { &hf_netdfs_dfs_GetInfo_sharename,
5173 { "Sharename", "netdfs.dfs_GetInfo.sharename", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5174 { &hf_netdfs_dfs_GetManagerVersion_version,
5175 { "Version", "netdfs.dfs_GetManagerVersion.version", FT_UINT32, BASE_DEC, VALS(netdfs_dfs_ManagerVersion_vals), 0, NULL, HFILL }},
5176 { &hf_netdfs_dfs_Info100_comment,
5177 { "Comment", "netdfs.dfs_Info100.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5178 { &hf_netdfs_dfs_Info101_state,
5179 { "State", "netdfs.dfs_Info101.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5180 { &hf_netdfs_dfs_Info102_timeout,
5181 { "Timeout", "netdfs.dfs_Info102.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5182 { &hf_netdfs_dfs_Info103_flags,
5183 { "Flags", "netdfs.dfs_Info103.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5184 { &hf_netdfs_dfs_Info104_priority,
5185 { "Priority", "netdfs.dfs_Info104.priority", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5186 { &hf_netdfs_dfs_Info105_comment,
5187 { "Comment", "netdfs.dfs_Info105.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5188 { &hf_netdfs_dfs_Info105_property_flag_mask,
5189 { "Property Flag Mask", "netdfs.dfs_Info105.property_flag_mask", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5190 { &hf_netdfs_dfs_Info105_property_flags,
5191 { "Property Flags", "netdfs.dfs_Info105.property_flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5192 { &hf_netdfs_dfs_Info105_state,
5193 { "State", "netdfs.dfs_Info105.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5194 { &hf_netdfs_dfs_Info105_timeout,
5195 { "Timeout", "netdfs.dfs_Info105.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5196 { &hf_netdfs_dfs_Info106_priority,
5197 { "Priority", "netdfs.dfs_Info106.priority", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5198 { &hf_netdfs_dfs_Info106_state,
5199 { "State", "netdfs.dfs_Info106.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5200 { &hf_netdfs_dfs_Info1_path,
5201 { "Path", "netdfs.dfs_Info1.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5202 { &hf_netdfs_dfs_Info200_dom_root,
5203 { "Dom Root", "netdfs.dfs_Info200.dom_root", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5204 { &hf_netdfs_dfs_Info2_comment,
5205 { "Comment", "netdfs.dfs_Info2.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5206 { &hf_netdfs_dfs_Info2_num_stores,
5207 { "Num Stores", "netdfs.dfs_Info2.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5208 { &hf_netdfs_dfs_Info2_path,
5209 { "Path", "netdfs.dfs_Info2.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5210 { &hf_netdfs_dfs_Info2_state,
5211 { "State", "netdfs.dfs_Info2.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5212 { &hf_netdfs_dfs_Info300_dom_root,
5213 { "Dom Root", "netdfs.dfs_Info300.dom_root", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5214 { &hf_netdfs_dfs_Info300_flavor,
5215 { "Flavor", "netdfs.dfs_Info300.flavor", FT_UINT1632, BASE_DEC, VALS(netdfs_dfs_VolumeFlavor_vals), 0, NULL, HFILL }},
5216 { &hf_netdfs_dfs_Info3_comment,
5217 { "Comment", "netdfs.dfs_Info3.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5218 { &hf_netdfs_dfs_Info3_num_stores,
5219 { "Num Stores", "netdfs.dfs_Info3.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5220 { &hf_netdfs_dfs_Info3_path,
5221 { "Path", "netdfs.dfs_Info3.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5222 { &hf_netdfs_dfs_Info3_state,
5223 { "State", "netdfs.dfs_Info3.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5224 { &hf_netdfs_dfs_Info3_stores,
5225 { "Stores", "netdfs.dfs_Info3.stores", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5226 { &hf_netdfs_dfs_Info4_comment,
5227 { "Comment", "netdfs.dfs_Info4.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5228 { &hf_netdfs_dfs_Info4_guid,
5229 { "Guid", "netdfs.dfs_Info4.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
5230 { &hf_netdfs_dfs_Info4_num_stores,
5231 { "Num Stores", "netdfs.dfs_Info4.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5232 { &hf_netdfs_dfs_Info4_path,
5233 { "Path", "netdfs.dfs_Info4.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5234 { &hf_netdfs_dfs_Info4_state,
5235 { "State", "netdfs.dfs_Info4.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5236 { &hf_netdfs_dfs_Info4_stores,
5237 { "Stores", "netdfs.dfs_Info4.stores", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5238 { &hf_netdfs_dfs_Info4_timeout,
5239 { "Timeout", "netdfs.dfs_Info4.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5240 { &hf_netdfs_dfs_Info5_comment,
5241 { "Comment", "netdfs.dfs_Info5.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5242 { &hf_netdfs_dfs_Info5_flags,
5243 { "Flags", "netdfs.dfs_Info5.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5244 { &hf_netdfs_dfs_Info5_guid,
5245 { "Guid", "netdfs.dfs_Info5.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
5246 { &hf_netdfs_dfs_Info5_num_stores,
5247 { "Num Stores", "netdfs.dfs_Info5.num_stores", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5248 { &hf_netdfs_dfs_Info5_path,
5249 { "Path", "netdfs.dfs_Info5.path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5250 { &hf_netdfs_dfs_Info5_pktsize,
5251 { "Pktsize", "netdfs.dfs_Info5.pktsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5252 { &hf_netdfs_dfs_Info5_state,
5253 { "State", "netdfs.dfs_Info5.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5254 { &hf_netdfs_dfs_Info5_timeout,
5255 { "Timeout", "netdfs.dfs_Info5.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5256 { &hf_netdfs_dfs_Info6_comment,
5257 { "Comment", "netdfs.dfs_Info6.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5258 { &hf_netdfs_dfs_Info6_entry_path,
5259 { "Entry Path", "netdfs.dfs_Info6.entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5260 { &hf_netdfs_dfs_Info6_flags,
5261 { "Flags", "netdfs.dfs_Info6.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5262 { &hf_netdfs_dfs_Info6_guid,
5263 { "Guid", "netdfs.dfs_Info6.guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
5264 { &hf_netdfs_dfs_Info6_num_stores,
5265 { "Num Stores", "netdfs.dfs_Info6.num_stores", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
5266 { &hf_netdfs_dfs_Info6_pktsize,
5267 { "Pktsize", "netdfs.dfs_Info6.pktsize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5268 { &hf_netdfs_dfs_Info6_state,
5269 { "State", "netdfs.dfs_Info6.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5270 { &hf_netdfs_dfs_Info6_stores,
5271 { "Stores", "netdfs.dfs_Info6.stores", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5272 { &hf_netdfs_dfs_Info6_timeout,
5273 { "Timeout", "netdfs.dfs_Info6.timeout", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5274 { &hf_netdfs_dfs_Info7_generation_guid,
5275 { "Generation Guid", "netdfs.dfs_Info7.generation_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
5276 { &hf_netdfs_dfs_Info_info0,
5277 { "Info0", "netdfs.dfs_Info.info0", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5278 { &hf_netdfs_dfs_Info_info1,
5279 { "Info1", "netdfs.dfs_Info.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5280 { &hf_netdfs_dfs_Info_info100,
5281 { "Info100", "netdfs.dfs_Info.info100", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5282 { &hf_netdfs_dfs_Info_info101,
5283 { "Info101", "netdfs.dfs_Info.info101", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5284 { &hf_netdfs_dfs_Info_info102,
5285 { "Info102", "netdfs.dfs_Info.info102", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5286 { &hf_netdfs_dfs_Info_info103,
5287 { "Info103", "netdfs.dfs_Info.info103", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5288 { &hf_netdfs_dfs_Info_info104,
5289 { "Info104", "netdfs.dfs_Info.info104", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5290 { &hf_netdfs_dfs_Info_info105,
5291 { "Info105", "netdfs.dfs_Info.info105", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5292 { &hf_netdfs_dfs_Info_info106,
5293 { "Info106", "netdfs.dfs_Info.info106", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5294 { &hf_netdfs_dfs_Info_info2,
5295 { "Info2", "netdfs.dfs_Info.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5296 { &hf_netdfs_dfs_Info_info3,
5297 { "Info3", "netdfs.dfs_Info.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5298 { &hf_netdfs_dfs_Info_info4,
5299 { "Info4", "netdfs.dfs_Info.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5300 { &hf_netdfs_dfs_Info_info5,
5301 { "Info5", "netdfs.dfs_Info.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5302 { &hf_netdfs_dfs_Info_info6,
5303 { "Info6", "netdfs.dfs_Info.info6", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5304 { &hf_netdfs_dfs_Info_info7,
5305 { "Info7", "netdfs.dfs_Info.info7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5306 { &hf_netdfs_dfs_ManagerInitialize_flags,
5307 { "Flags", "netdfs.dfs_ManagerInitialize.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5308 { &hf_netdfs_dfs_ManagerInitialize_servername,
5309 { "Servername", "netdfs.dfs_ManagerInitialize.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5310 { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED,
5311 { "DFS PROPERTY FLAG CLUSTER ENABLED", "netdfs.dfs_PropertyFlags.DFS_PROPERTY_FLAG_CLUSTER_ENABLED", FT_BOOLEAN, 32, TFS(&dfs_PropertyFlags_DFS_PROPERTY_FLAG_CLUSTER_ENABLED_tfs), ( 0x00000010 ), NULL, HFILL }},
5312 { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS,
5313 { "DFS PROPERTY FLAG INSITE REFERRALS", "netdfs.dfs_PropertyFlags.DFS_PROPERTY_FLAG_INSITE_REFERRALS", FT_BOOLEAN, 32, TFS(&dfs_PropertyFlags_DFS_PROPERTY_FLAG_INSITE_REFERRALS_tfs), ( 0x00000001 ), NULL, HFILL }},
5314 { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY,
5315 { "DFS PROPERTY FLAG ROOT SCALABILITY", "netdfs.dfs_PropertyFlags.DFS_PROPERTY_FLAG_ROOT_SCALABILITY", FT_BOOLEAN, 32, TFS(&dfs_PropertyFlags_DFS_PROPERTY_FLAG_ROOT_SCALABILITY_tfs), ( 0x00000002 ), NULL, HFILL }},
5316 { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING,
5317 { "DFS PROPERTY FLAG SITE COSTING", "netdfs.dfs_PropertyFlags.DFS_PROPERTY_FLAG_SITE_COSTING", FT_BOOLEAN, 32, TFS(&dfs_PropertyFlags_DFS_PROPERTY_FLAG_SITE_COSTING_tfs), ( 0x00000004 ), NULL, HFILL }},
5318 { &hf_netdfs_dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK,
5319 { "DFS PROPERTY FLAG TARGET FAILBACK", "netdfs.dfs_PropertyFlags.DFS_PROPERTY_FLAG_TARGET_FAILBACK", FT_BOOLEAN, 32, TFS(&dfs_PropertyFlags_DFS_PROPERTY_FLAG_TARGET_FAILBACK_tfs), ( 0x00000008 ), NULL, HFILL }},
5320 { &hf_netdfs_dfs_RemoveFtRoot_dfsname,
5321 { "Dfsname", "netdfs.dfs_RemoveFtRoot.dfsname", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5322 { &hf_netdfs_dfs_RemoveFtRoot_dns_servername,
5323 { "Dns Servername", "netdfs.dfs_RemoveFtRoot.dns_servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5324 { &hf_netdfs_dfs_RemoveFtRoot_flags,
5325 { "Flags", "netdfs.dfs_RemoveFtRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5326 { &hf_netdfs_dfs_RemoveFtRoot_rootshare,
5327 { "Rootshare", "netdfs.dfs_RemoveFtRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5328 { &hf_netdfs_dfs_RemoveFtRoot_servername,
5329 { "Servername", "netdfs.dfs_RemoveFtRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5330 { &hf_netdfs_dfs_RemoveFtRoot_unknown,
5331 { "Unknown", "netdfs.dfs_RemoveFtRoot.unknown", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5332 { &hf_netdfs_dfs_RemoveStdRoot_flags,
5333 { "Flags", "netdfs.dfs_RemoveStdRoot.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5334 { &hf_netdfs_dfs_RemoveStdRoot_rootshare,
5335 { "Rootshare", "netdfs.dfs_RemoveStdRoot.rootshare", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5336 { &hf_netdfs_dfs_RemoveStdRoot_servername,
5337 { "Servername", "netdfs.dfs_RemoveStdRoot.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5338 { &hf_netdfs_dfs_Remove_dfs_entry_path,
5339 { "Dfs Entry Path", "netdfs.dfs_Remove.dfs_entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5340 { &hf_netdfs_dfs_Remove_servername,
5341 { "Servername", "netdfs.dfs_Remove.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5342 { &hf_netdfs_dfs_Remove_sharename,
5343 { "Sharename", "netdfs.dfs_Remove.sharename", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5344 { &hf_netdfs_dfs_SetInfo_dfs_entry_path,
5345 { "Dfs Entry Path", "netdfs.dfs_SetInfo.dfs_entry_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5346 { &hf_netdfs_dfs_SetInfo_info,
5347 { "Info", "netdfs.dfs_SetInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5348 { &hf_netdfs_dfs_SetInfo_level,
5349 { "Level", "netdfs.dfs_SetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5350 { &hf_netdfs_dfs_SetInfo_servername,
5351 { "Servername", "netdfs.dfs_SetInfo.servername", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5352 { &hf_netdfs_dfs_SetInfo_sharename,
5353 { "Sharename", "netdfs.dfs_SetInfo.sharename", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5354 { &hf_netdfs_dfs_StorageInfo2_info,
5355 { "Info", "netdfs.dfs_StorageInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5356 { &hf_netdfs_dfs_StorageInfo2_target_priority,
5357 { "Target Priority", "netdfs.dfs_StorageInfo2.target_priority", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
5358 { &hf_netdfs_dfs_StorageInfo_server,
5359 { "Server", "netdfs.dfs_StorageInfo.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5360 { &hf_netdfs_dfs_StorageInfo_share,
5361 { "Share", "netdfs.dfs_StorageInfo.share", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5362 { &hf_netdfs_dfs_StorageInfo_state,
5363 { "State", "netdfs.dfs_StorageInfo.state", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
5364 { &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ACTIVE,
5365 { "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 }},
5366 { &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_OFFLINE,
5367 { "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 }},
5368 { &hf_netdfs_dfs_StorageState_DFS_STORAGE_STATE_ONLINE,
5369 { "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 }},
5370 { &hf_netdfs_dfs_Target_Priority_reserved,
5371 { "Reserved", "netdfs.dfs_Target_Priority.reserved", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
5372 { &hf_netdfs_dfs_Target_Priority_target_priority_class,
5373 { "Target Priority Class", "netdfs.dfs_Target_Priority.target_priority_class", FT_UINT32, BASE_DEC, VALS(netdfs_dfs_Target_PriorityClass_vals), 0, NULL, HFILL }},
5374 { &hf_netdfs_dfs_Target_Priority_target_priority_rank,
5375 { "Target Priority Rank", "netdfs.dfs_Target_Priority.target_priority_rank", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
5376 { &hf_netdfs_dfs_UnknownStruct_unknown1,
5377 { "Unknown1", "netdfs.dfs_UnknownStruct.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
5378 { &hf_netdfs_dfs_UnknownStruct_unknown2,
5379 { "Unknown2", "netdfs.dfs_UnknownStruct.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
5380 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_AD_BLOB,
5381 { "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 }},
5382 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_INCONSISTENT,
5383 { "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 }},
5384 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OFFLINE,
5385 { "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 }},
5386 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_OK,
5387 { "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 }},
5388 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_ONLINE,
5389 { "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 }},
5390 { &hf_netdfs_dfs_VolumeState_DFS_VOLUME_STATE_STANDALONE,
5391 { "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 }},
5392 { &hf_netdfs_opnum,
5393 { "Operation", "netdfs.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
5394 { &hf_netdfs_werror,
5395 { "Windows Error", "netdfs.werror", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }},
5399 static int *ett[] = {
5400 &ett_dcerpc_netdfs,
5401 &ett_netdfs_dfs_Info0,
5402 &ett_netdfs_dfs_Info1,
5403 &ett_netdfs_dfs_VolumeState,
5404 &ett_netdfs_dfs_Info2,
5405 &ett_netdfs_dfs_StorageState,
5406 &ett_netdfs_dfs_StorageInfo,
5407 &ett_netdfs_dfs_Info3,
5408 &ett_netdfs_dfs_Info4,
5409 &ett_netdfs_dfs_PropertyFlags,
5410 &ett_netdfs_dfs_Info5,
5411 &ett_netdfs_dfs_Target_Priority,
5412 &ett_netdfs_dfs_StorageInfo2,
5413 &ett_netdfs_dfs_Info6,
5414 &ett_netdfs_dfs_Info7,
5415 &ett_netdfs_dfs_Info100,
5416 &ett_netdfs_dfs_Info101,
5417 &ett_netdfs_dfs_Info102,
5418 &ett_netdfs_dfs_Info103,
5419 &ett_netdfs_dfs_Info104,
5420 &ett_netdfs_dfs_Info105,
5421 &ett_netdfs_dfs_Info106,
5422 &ett_netdfs_dfs_Info200,
5423 &ett_netdfs_dfs_Info300,
5424 &ett_netdfs_dfs_Info,
5425 &ett_netdfs_dfs_EnumArray1,
5426 &ett_netdfs_dfs_EnumArray2,
5427 &ett_netdfs_dfs_EnumArray3,
5428 &ett_netdfs_dfs_EnumArray4,
5429 &ett_netdfs_dfs_EnumArray200,
5430 &ett_netdfs_dfs_EnumArray300,
5431 &ett_netdfs_dfs_EnumInfo,
5432 &ett_netdfs_dfs_EnumStruct,
5433 &ett_netdfs_dfs_UnknownStruct,
5436 proto_dcerpc_netdfs = proto_register_protocol("Settings for Microsoft Distributed File System", "NETDFS", "netdfs");
5437 proto_register_field_array(proto_dcerpc_netdfs, hf, array_length (hf));
5438 proto_register_subtree_array(ett, array_length(ett));
5441 void proto_reg_handoff_dcerpc_netdfs(void)
5443 dcerpc_init_uuid(proto_dcerpc_netdfs, ett_dcerpc_netdfs,
5444 &uuid_dcerpc_netdfs, ver_dcerpc_netdfs,
5445 netdfs_dissectors, hf_netdfs_opnum);