Coverage Report

Created: 2025-08-04 07:15

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