1 /* packet-dcerpc-srvsvc.c
2 * Routines for SMB \PIPE\srvsvc packet disassembly
3 * Copyright 2001-2003, Tim Potter <tpot@samba.org>
4 * Copyright 2002, Richard Sharpe <rsharpe@ns.aus.com>
5 * decode srvsvc calls where Samba knows them ...
6 * Copyright 2002, Ronnie Sahlberg
7 * rewrote entire dissector
9 * 2002, some share information levels implemented based on samba
12 * $Id: packet-dcerpc-srvsvc.c,v 1.64 2004/01/19 20:10:35 jmayer Exp $
14 * Ethereal - Network traffic analyzer
15 * By Gerald Combs <gerald@ethereal.com>
16 * Copyright 1998 Gerald Combs
18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License
20 * as published by the Free Software Foundation; either version 2
21 * of the License, or (at your option) any later version.
23 * This program is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
28 * You should have received a copy of the GNU General Public License
29 * along with this program; if not, write to the Free Software
30 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33 /* The IDL file for this interface can be extracted by grepping for IDL */
41 #include <epan/packet.h>
42 #include "packet-dcerpc.h"
43 #include "packet-dcerpc-srvsvc.h"
44 #include "packet-dcerpc-lsa.h"
45 #include "packet-dcerpc-nt.h"
46 #include "packet-smb-common.h"
47 #include "packet-smb-browse.h"
50 static int proto_dcerpc_srvsvc = -1;
51 static int hf_srvsvc_opnum = -1;
52 static int hf_srvsvc_reserved = -1;
53 static int hf_srvsvc_server = -1;
54 static int hf_srvsvc_emulated_server = -1;
55 static int hf_srvsvc_alerts = -1;
56 static int hf_srvsvc_guest = -1;
57 static int hf_srvsvc_transport = -1;
58 static int hf_srvsvc_session = -1;
59 static int hf_srvsvc_session_num_opens = -1;
60 static int hf_srvsvc_session_time = -1;
61 static int hf_srvsvc_session_idle_time = -1;
62 static int hf_srvsvc_session_user_flags = -1;
63 static int hf_srvsvc_qualifier = -1;
64 static int hf_srvsvc_computer = -1;
65 static int hf_srvsvc_user = -1;
66 static int hf_srvsvc_path = -1;
67 static int hf_srvsvc_share_passwd = -1;
68 static int hf_srvsvc_share_alternate_name = -1;
69 static int hf_srvsvc_file_id = -1;
70 static int hf_srvsvc_perm = -1;
71 static int hf_srvsvc_policy = -1;
72 static int hf_srvsvc_file_num_locks = -1;
73 static int hf_srvsvc_con_id = -1;
74 static int hf_srvsvc_max_uses = -1;
75 static int hf_srvsvc_cur_uses = -1;
76 static int hf_srvsvc_con_time = -1;
77 static int hf_srvsvc_con_type = -1;
78 static int hf_srvsvc_con_num_opens = -1;
79 static int hf_srvsvc_chrqpri = -1;
80 static int hf_srvsvc_chrqnumusers = -1;
81 static int hf_srvsvc_chrqnumahead = -1;
82 static int hf_srvsvc_chrdev = -1;
83 static int hf_srvsvc_chrdevq = -1;
84 static int hf_srvsvc_chrdev_time = -1;
85 static int hf_srvsvc_chrdev_status = -1;
86 static int hf_srvsvc_chrdev_opcode = -1;
87 static int hf_srvsvc_info_level = -1;
88 static int hf_srvsvc_rc = -1;
89 static int hf_srvsvc_platform_id = -1;
90 static int hf_srvsvc_ver_major = -1;
91 static int hf_srvsvc_ver_minor = -1;
92 static int hf_srvsvc_client_type = -1;
93 static int hf_srvsvc_comment = -1;
94 static int hf_srvsvc_users = -1;
95 static int hf_srvsvc_disc = -1;
96 static int hf_srvsvc_hidden = -1;
97 static int hf_srvsvc_announce = -1;
98 static int hf_srvsvc_anndelta = -1;
99 static int hf_srvsvc_licences = -1;
100 static int hf_srvsvc_user_path = -1;
101 static int hf_srvsvc_share = -1;
102 static int hf_srvsvc_share_type = -1;
103 static int hf_srvsvc_num_entries = -1;
104 static int hf_srvsvc_total_entries = -1;
105 static int hf_srvsvc_preferred_len = -1;
106 static int hf_srvsvc_parm_error = -1;
107 static int hf_srvsvc_enum_handle = -1;
108 static int hf_srvsvc_ulist_mtime = -1;
109 static int hf_srvsvc_glist_mtime = -1;
110 static int hf_srvsvc_alist_mtime = -1;
111 static int hf_srvsvc_security = -1;
112 static int hf_srvsvc_dfs_root_flags = -1;
113 static int hf_srvsvc_numadmin = -1;
114 static int hf_srvsvc_lanmask = -1;
115 static int hf_srvsvc_chdevs = -1;
116 static int hf_srvsvc_chdevqs = -1;
117 static int hf_srvsvc_chdevjobs = -1;
118 static int hf_srvsvc_connections = -1;
119 static int hf_srvsvc_shares = -1;
120 static int hf_srvsvc_openfiles = -1;
121 static int hf_srvsvc_sessopens = -1;
122 static int hf_srvsvc_sessvcs = -1;
123 static int hf_srvsvc_sessreqs = -1;
124 static int hf_srvsvc_opensearch = -1;
125 static int hf_srvsvc_activelocks = -1;
126 static int hf_srvsvc_sizreqbufs = -1;
127 static int hf_srvsvc_numbigbufs = -1;
128 static int hf_srvsvc_numfiletasks = -1;
129 static int hf_srvsvc_alertsched = -1;
130 static int hf_srvsvc_erroralert = -1;
131 static int hf_srvsvc_logonalert = -1;
132 static int hf_srvsvc_accessalert = -1;
133 static int hf_srvsvc_diskalert = -1;
134 static int hf_srvsvc_netioalert = -1;
135 static int hf_srvsvc_maxauditsz = -1;
136 static int hf_srvsvc_srvheuristics = -1;
137 static int hf_srvsvc_auditedevents = -1;
138 static int hf_srvsvc_auditprofile = -1;
139 static int hf_srvsvc_autopath = -1;
140 static int hf_srvsvc_initworkitems = -1;
141 static int hf_srvsvc_maxworkitems = -1;
142 static int hf_srvsvc_rawworkitems = -1;
143 static int hf_srvsvc_irpstacksize = -1;
144 static int hf_srvsvc_maxrawbuflen = -1;
145 static int hf_srvsvc_maxpagedmemoryusage = -1;
146 static int hf_srvsvc_maxnonpagedmemoryusage = -1;
147 static int hf_srvsvc_enablesoftcompat = -1;
148 static int hf_srvsvc_enableforcedlogoff = -1;
149 static int hf_srvsvc_timesource = -1;
150 static int hf_srvsvc_acceptdownlevelapis = -1;
151 static int hf_srvsvc_lmannounce = -1;
152 static int hf_srvsvc_domain = -1;
153 static int hf_srvsvc_maxcopyreadlen = -1;
154 static int hf_srvsvc_maxcopywritelen = -1;
155 static int hf_srvsvc_minkeepsearch = -1;
156 static int hf_srvsvc_maxkeepsearch = -1;
157 static int hf_srvsvc_minkeepcomplsearch = -1;
158 static int hf_srvsvc_maxkeepcomplsearch = -1;
159 static int hf_srvsvc_threadcountadd = -1;
160 static int hf_srvsvc_numblockthreads = -1;
161 static int hf_srvsvc_scavtimeout = -1;
162 static int hf_srvsvc_minrcvqueue = -1;
163 static int hf_srvsvc_minfreeworkitems = -1;
164 static int hf_srvsvc_xactmemsize = -1;
165 static int hf_srvsvc_threadpriority = -1;
166 static int hf_srvsvc_maxmpxct = -1;
167 static int hf_srvsvc_oplockbreakwait = -1;
168 static int hf_srvsvc_oplockbreakresponsewait = -1;
169 static int hf_srvsvc_enableoplocks = -1;
170 static int hf_srvsvc_enableoplockforceclose = -1;
171 static int hf_srvsvc_enablefcbopens = -1;
172 static int hf_srvsvc_enableraw = -1;
173 static int hf_srvsvc_enablesharednetdrives = -1;
174 static int hf_srvsvc_minfreeconnections = -1;
175 static int hf_srvsvc_maxfreeconnections = -1;
176 static int hf_srvsvc_initsesstable = -1;
177 static int hf_srvsvc_initconntable = -1;
178 static int hf_srvsvc_initfiletable = -1;
179 static int hf_srvsvc_initsearchtable = -1;
180 static int hf_srvsvc_errortreshold = -1;
181 static int hf_srvsvc_networkerrortreshold = -1;
182 static int hf_srvsvc_diskspacetreshold = -1;
183 static int hf_srvsvc_maxlinkdelay = -1;
184 static int hf_srvsvc_minlinkthroughput = -1;
185 static int hf_srvsvc_linkinfovalidtime = -1;
186 static int hf_srvsvc_scavqosinfoupdatetime = -1;
187 static int hf_srvsvc_maxworkitemidletime = -1;
188 static int hf_srvsvc_disk_name = -1;
189 static int hf_srvsvc_disk_name_len = -1;
190 static int hf_srvsvc_disk_inf0_unknown = -1;
191 static int hf_srvsvc_service = -1;
192 static int hf_srvsvc_service_options = -1;
193 static int hf_srvsvc_transport_numberofvcs = -1;
194 static int hf_srvsvc_transport_name = -1;
195 static int hf_srvsvc_transport_address = -1;
196 static int hf_srvsvc_transport_address_len = -1;
197 static int hf_srvsvc_transport_networkaddress = -1;
198 static int hf_srvsvc_service_bits = -1;
199 static int hf_srvsvc_service_bits_of_interest = -1;
200 static int hf_srvsvc_update_immediately = -1;
201 static int hf_srvsvc_path_flags = -1;
202 static int hf_srvsvc_share_flags = -1;
203 static int hf_srvsvc_path_type = -1;
204 static int hf_srvsvc_outbuflen = -1;
205 static int hf_srvsvc_prefix = -1;
206 static int hf_srvsvc_hnd = -1;
207 static int hf_srvsvc_server_stat_start = -1;
208 static int hf_srvsvc_server_stat_fopens = -1;
209 static int hf_srvsvc_server_stat_devopens = -1;
210 static int hf_srvsvc_server_stat_jobsqueued = -1;
211 static int hf_srvsvc_server_stat_sopens = -1;
212 static int hf_srvsvc_server_stat_stimeouts = -1;
213 static int hf_srvsvc_server_stat_serrorout = -1;
214 static int hf_srvsvc_server_stat_pwerrors = -1;
215 static int hf_srvsvc_server_stat_permerrors = -1;
216 static int hf_srvsvc_server_stat_syserrors = -1;
217 static int hf_srvsvc_server_stat_bytessent = -1;
218 static int hf_srvsvc_server_stat_bytesrcvd = -1;
219 static int hf_srvsvc_server_stat_avresponse = -1;
220 static int hf_srvsvc_server_stat_reqbufneed = -1;
221 static int hf_srvsvc_server_stat_bigbufneed = -1;
222 static int hf_srvsvc_tod_elapsed = -1;
223 static int hf_srvsvc_tod_msecs = -1;
224 static int hf_srvsvc_tod_hours = -1;
225 static int hf_srvsvc_tod_mins = -1;
226 static int hf_srvsvc_tod_secs = -1;
227 static int hf_srvsvc_tod_hunds = -1;
228 static int hf_srvsvc_tod_timezone = -1;
229 static int hf_srvsvc_tod_tinterval = -1;
230 static int hf_srvsvc_tod_day = -1;
231 static int hf_srvsvc_tod_month = -1;
232 static int hf_srvsvc_tod_year = -1;
233 static int hf_srvsvc_tod_weekday = -1;
234 static int hf_srvsvc_path_len = -1;
236 static gint ett_dcerpc_srvsvc = -1;
237 static gint ett_srvsvc_share_info_1 = -1;
238 static gint ett_srvsvc_share_info_2 = -1;
239 static gint ett_srvsvc_share_info_501 = -1;
240 static gint ett_srvsvc_share_info_502 = -1;
245 IDL [ uuid(4b324fc8-1670-01d3-1278-5a47bf6ee188),
247 IDL implicit_handle(handle_t rpc_binding)
248 IDL ] interface srvsvc
251 static e_uuid_t uuid_dcerpc_srvsvc = {
252 0x4b324fc8, 0x1670, 0x01d3,
253 { 0x12, 0x78, 0x5a, 0x47, 0xbf, 0x6e, 0xe1, 0x88 }
256 static guint16 ver_dcerpc_srvsvc = 3;
259 srvsvc_dissect_pointer_long(tvbuff_t *tvb, int offset,
260 packet_info *pinfo, proto_tree *tree,
265 di=pinfo->private_data;
266 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
272 srvsvc_dissect_ENUM_HANDLE(tvbuff_t *tvb, int offset,
273 packet_info *pinfo, proto_tree *tree,
277 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
278 hf_srvsvc_enum_handle, 0);
284 * IDL typedef struct {
285 * IDL [string] [unique] wchar_t *dev;
286 * IDL } CHARDEV_INFO_0;
289 srvsvc_dissect_CHARDEV_INFO_0(tvbuff_t *tvb, int offset,
290 packet_info *pinfo, proto_tree *tree,
293 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
294 NDR_POINTER_UNIQUE, "Char Device",
295 hf_srvsvc_chrdev, 0);
301 srvsvc_dissect_CHARDEV_INFO_0_array(tvbuff_t *tvb, int offset,
302 packet_info *pinfo, proto_tree *tree,
305 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
306 srvsvc_dissect_CHARDEV_INFO_0);
312 * IDL typedef struct {
313 * IDL long EntriesRead;
314 * IDL [size_is(EntriesRead)] [unique] CHARDEV_INFO_0 *devs;
315 * IDL } CHARDEV_INFO_0_CONTAINER;
318 srvsvc_dissect_CHARDEV_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
319 packet_info *pinfo, proto_tree *tree,
322 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
323 hf_srvsvc_num_entries, NULL);
325 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
326 srvsvc_dissect_CHARDEV_INFO_0_array, NDR_POINTER_UNIQUE,
327 "CHARDEV_INFO_0 array:", -1);
333 * IDL typedef struct {
334 * IDL [string] [unique] wchar_t *dev;
336 * IDL [string] [unique] wchar_t *user;
338 * IDL } CHARDEV_INFO_1;
341 srvsvc_dissect_CHARDEV_INFO_1(tvbuff_t *tvb, int offset,
342 packet_info *pinfo, proto_tree *tree,
345 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
346 NDR_POINTER_UNIQUE, "Char Device",
347 hf_srvsvc_chrdev, 0);
349 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
350 hf_srvsvc_chrdev_status, 0);
352 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
353 NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0);
355 /* XXX dont know how to decode this time field */
356 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
357 hf_srvsvc_chrdev_time, 0);
362 srvsvc_dissect_CHARDEV_INFO_1_array(tvbuff_t *tvb, int offset,
363 packet_info *pinfo, proto_tree *tree,
366 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
367 srvsvc_dissect_CHARDEV_INFO_1);
373 * IDL typedef struct {
374 * IDL long EntriesRead;
375 * IDL [size_is(EntriesRead)] [unique] CHARDEV_INFO_1 *devs;
376 * IDL } CHARDEV_INFO_1_CONTAINER;
379 srvsvc_dissect_CHARDEV_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
380 packet_info *pinfo, proto_tree *tree,
383 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
384 hf_srvsvc_num_entries, NULL);
386 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
387 srvsvc_dissect_CHARDEV_INFO_1_array, NDR_POINTER_UNIQUE,
388 "CHARDEV_INFO_1 array:", -1);
394 * IDL typedef [switch_type(long)] union {
395 * IDL [case(0)] [unique] CHARDEV_INFO_0_CONTAINER *dev0;
396 * IDL [case(1)] [unique] CHARDEV_INFO_1_CONTAINER *dev1;
397 * IDL } CHARDEV_ENUM_UNION;
400 srvsvc_dissect_CHARDEV_ENUM_UNION(tvbuff_t *tvb, int offset,
401 packet_info *pinfo, proto_tree *tree,
408 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
412 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
413 srvsvc_dissect_CHARDEV_INFO_0_CONTAINER,
414 NDR_POINTER_UNIQUE, "CHARDEV_INFO_0_CONTAINER:", -1);
417 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
418 srvsvc_dissect_CHARDEV_INFO_1_CONTAINER,
419 NDR_POINTER_UNIQUE, "CHARDEV_INFO_1_CONTAINER:", -1);
427 * IDL typedef struct {
429 * IDL CHARDEV_ENUM_UNION devs;
430 * IDL } CHARDEV_ENUM_STRUCT;
433 srvsvc_dissect_CHARDEV_ENUM_STRUCT(tvbuff_t *tvb, int offset,
434 packet_info *pinfo, proto_tree *tree,
437 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
438 hf_srvsvc_info_level, 0);
440 offset = srvsvc_dissect_CHARDEV_ENUM_UNION(tvb, offset, pinfo, tree, drep);
446 * IDL typedef [switch_type(long)] union {
447 * IDL [case(0)] [unique] CHARDEV_INFO_0 *dev0;
448 * IDL [case(1)] [unique] CHARDEV_INFO_1 *dev1;
449 * IDL } CHARDEV_INFO_UNION;
452 srvsvc_dissect_CHARDEV_INFO_UNION(tvbuff_t *tvb, int offset,
453 packet_info *pinfo, proto_tree *tree,
460 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
464 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
465 srvsvc_dissect_CHARDEV_INFO_0,
466 NDR_POINTER_UNIQUE, "CHARDEV_INFO_0:", -1);
469 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
470 srvsvc_dissect_CHARDEV_INFO_1,
471 NDR_POINTER_UNIQUE, "CHARDEV_INFO_1:", -1);
479 * IDL long NetrCharDevEnum(
480 * IDL [in] [string] [unique] wchar_t *ServerName,
481 * IDL [in] [out] [ref] CHARDEV_ENUM_STRUCT *devs,
482 * IDL [in] long PreferredMaximumLength,
483 * IDL [out] long num_entries,
484 * IDL [in] [out] [unique] long *ResumeHandle
488 srvsvc_dissect_netrchardevenum_rqst(tvbuff_t *tvb, int offset,
489 packet_info *pinfo, proto_tree *tree,
492 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
493 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
495 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
496 srvsvc_dissect_CHARDEV_ENUM_STRUCT,
497 NDR_POINTER_REF, "CHARDEV_ENUM_STRUCT", -1);
499 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
500 hf_srvsvc_preferred_len, 0);
502 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
503 srvsvc_dissect_ENUM_HANDLE,
504 NDR_POINTER_UNIQUE, "Enum Handle", -1);
509 srvsvc_dissect_netrchardevenum_reply(tvbuff_t *tvb, int offset,
510 packet_info *pinfo, proto_tree *tree,
513 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
514 srvsvc_dissect_CHARDEV_ENUM_STRUCT,
515 NDR_POINTER_REF, "CHARDEV_ENUM_STRUCT", -1);
517 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
518 hf_srvsvc_num_entries, NULL);
520 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
521 srvsvc_dissect_ENUM_HANDLE,
522 NDR_POINTER_UNIQUE, "Enum Handle", -1);
524 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
532 * IDL long NetrCharDevGetInfo(
533 * IDL [in] [string] [unique] wchar_t *ServerName,
534 * IDL [in] [string] [ref] wchar_t *DevName,
535 * IDL [in] long Level ,
536 * IDL [out] [ref] CHARDEV_INFO_STRUCT *dev
540 srvsvc_dissect_netrchardevgetinfo_rqst(tvbuff_t *tvb, int offset,
541 packet_info *pinfo, proto_tree *tree,
544 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
545 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
547 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
548 NDR_POINTER_REF, "Char Device", hf_srvsvc_chrdev, 0);
550 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
551 hf_srvsvc_info_level, 0);
556 srvsvc_dissect_netrchardevgetinfo_reply(tvbuff_t *tvb, int offset,
557 packet_info *pinfo, proto_tree *tree,
560 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
561 srvsvc_dissect_CHARDEV_INFO_UNION,
562 NDR_POINTER_REF, "CHARDEV_INFO_UNION", -1);
564 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
571 * IDL long NetrCharDevControl(
572 * IDL [in] [string] [unique] wchar_t *ServerName,
573 * IDL [in] [string] [ref] wchar_t *DevName,
574 * IDL [in] long Opcode
578 srvsvc_dissect_netrchardevcontrol_rqst(tvbuff_t *tvb, int offset,
579 packet_info *pinfo, proto_tree *tree,
582 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
583 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
585 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
586 NDR_POINTER_REF, "Char Device", hf_srvsvc_chrdev, 0);
588 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
589 hf_srvsvc_chrdev_opcode, 0);
594 srvsvc_dissect_netrchardevcontrol_reply(tvbuff_t *tvb, int offset,
595 packet_info *pinfo, proto_tree *tree,
598 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
607 * IDL typedef struct {
608 * IDL [string] [unique] wchar_t *dev;
609 * IDL } CHARDEVQ_INFO_0;
612 srvsvc_dissect_CHARDEVQ_INFO_0(tvbuff_t *tvb, int offset,
613 packet_info *pinfo, proto_tree *tree,
616 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
617 NDR_POINTER_UNIQUE, "Char QDevice", hf_srvsvc_chrdev, 0);
623 srvsvc_dissect_CHARDEVQ_INFO_0_array(tvbuff_t *tvb, int offset,
624 packet_info *pinfo, proto_tree *tree,
627 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
628 srvsvc_dissect_CHARDEVQ_INFO_0);
634 * IDL typedef struct {
635 * IDL long EntriesRead;
636 * IDL [size_is(EntriesRead)] [unique] CHARDEVQ_INFO_0 *devs;
637 * IDL } CHARDEVQ_INFO_0_CONTAINER;
640 srvsvc_dissect_CHARDEVQ_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
641 packet_info *pinfo, proto_tree *tree,
644 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
645 hf_srvsvc_num_entries, NULL);
647 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
648 srvsvc_dissect_CHARDEVQ_INFO_0_array, NDR_POINTER_UNIQUE,
649 "CHARDEVQ_INFO_0 array:", -1);
655 * IDL typedef struct {
656 * IDL [string] [unique] wchar_t *dev;
658 * IDL [string] [unique] wchar_t *devs;
660 * IDL long num_ahead;
661 * IDL } CHARDEVQ_INFO_1;
664 srvsvc_dissect_CHARDEVQ_INFO_1(tvbuff_t *tvb, int offset,
665 packet_info *pinfo, proto_tree *tree,
668 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
669 NDR_POINTER_UNIQUE, "Char Device", hf_srvsvc_chrdev, 0);
671 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
672 hf_srvsvc_chrqpri, 0);
674 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
675 NDR_POINTER_UNIQUE, "Char Devices", hf_srvsvc_chrdevq, 0);
677 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
678 hf_srvsvc_chrqnumusers, 0);
680 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
681 hf_srvsvc_chrqnumahead, 0);
686 srvsvc_dissect_CHARDEVQ_INFO_1_array(tvbuff_t *tvb, int offset,
687 packet_info *pinfo, proto_tree *tree,
690 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
691 srvsvc_dissect_CHARDEVQ_INFO_1);
697 * IDL typedef struct {
698 * IDL long EntriesRead;
699 * IDL [size_is(EntriesRead)] [unique] CHARDEVQ_INFO_1 *devs;
700 * IDL } CHARDEVQ_INFO_1_CONTAINER;
703 srvsvc_dissect_CHARDEVQ_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
704 packet_info *pinfo, proto_tree *tree,
707 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
708 hf_srvsvc_num_entries, NULL);
710 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
711 srvsvc_dissect_CHARDEVQ_INFO_1_array, NDR_POINTER_UNIQUE,
712 "CHARDEVQ_INFO_1 array:", -1);
718 * IDL typedef [switch_type(long)] union {
719 * IDL [case(0)] [unique] CHARDEVQ_INFO_0_CONTAINER *dev0;
720 * IDL [case(1)] [unique] CHARDEVQ_INFO_1_CONTAINER *dev1;
721 * IDL } CHARDEVQ_ENUM_UNION;
724 srvsvc_dissect_CHARDEVQ_ENUM_UNION(tvbuff_t *tvb, int offset,
725 packet_info *pinfo, proto_tree *tree,
732 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
736 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
737 srvsvc_dissect_CHARDEVQ_INFO_0_CONTAINER,
738 NDR_POINTER_UNIQUE, "CHARDEVQ_INFO_0_CONTAINER:", -1);
741 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
742 srvsvc_dissect_CHARDEVQ_INFO_1_CONTAINER,
743 NDR_POINTER_UNIQUE, "CHARDEVQ_INFO_1_CONTAINER:", -1);
751 * IDL typedef struct {
753 * IDL CHARDEVQ_ENUM_UNION devs;
754 * IDL } CHARDEVQ_ENUM_STRUCT;
757 srvsvc_dissect_CHARDEVQ_ENUM_STRUCT(tvbuff_t *tvb, int offset,
758 packet_info *pinfo, proto_tree *tree,
761 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
762 hf_srvsvc_info_level, 0);
764 offset = srvsvc_dissect_CHARDEVQ_ENUM_UNION(tvb, offset, pinfo, tree, drep);
770 * IDL typedef [switch_type(long)] union {
771 * IDL [case(0)] [unique] CHARDEVQ_INFO_0 *dev0;
772 * IDL [case(1)] [unique] CHARDEVQ_INFO_1 *dev1;
773 * IDL } CHARDEVQ_INFO;
776 srvsvc_dissect_CHARDEVQ_INFO(tvbuff_t *tvb, int offset,
777 packet_info *pinfo, proto_tree *tree,
784 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
788 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
789 srvsvc_dissect_CHARDEVQ_INFO_0,
790 NDR_POINTER_UNIQUE, "CHARDEVQ_INFO_0:", -1);
793 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
794 srvsvc_dissect_CHARDEVQ_INFO_1,
795 NDR_POINTER_UNIQUE, "CHARDEVQ_INFO_1:", -1);
804 * IDL long NetrCharDevQEnum(
805 * IDL [in] [string] [unique] wchar_t *ServerName,
806 * IDL [in] [string] [unique] wchar_t *UserName,
807 * IDL [in] [out] [ref] CHARDEVQ_ENUM_STRUCT *devs,
808 * IDL [in] long PreferredMaximumLength,
809 * IDL [out] long num_entries,
810 * IDL [in] [out] [unique] long *ResumeHandle
814 srvsvc_dissect_netrchardevqenum_rqst(tvbuff_t *tvb, int offset,
815 packet_info *pinfo, proto_tree *tree,
818 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
819 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
821 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
822 NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0);
824 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
825 srvsvc_dissect_CHARDEVQ_ENUM_STRUCT,
826 NDR_POINTER_REF, "CHARDEVQ_ENUM_STRUCT", -1);
828 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
829 hf_srvsvc_preferred_len, 0);
831 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
832 srvsvc_dissect_ENUM_HANDLE,
833 NDR_POINTER_UNIQUE, "Enum Handle", -1);
838 srvsvc_dissect_netrchardevqenum_reply(tvbuff_t *tvb, int offset,
839 packet_info *pinfo, proto_tree *tree,
842 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
843 srvsvc_dissect_CHARDEVQ_ENUM_STRUCT,
844 NDR_POINTER_REF, "CHARDEVQ_ENUM_STRUCT", -1);
846 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
847 hf_srvsvc_num_entries, NULL);
849 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
850 srvsvc_dissect_ENUM_HANDLE,
851 NDR_POINTER_UNIQUE, "Enum Handle", -1);
853 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
860 * IDL long NetrCharDevQGetInfo(
861 * IDL [in] [string] [unique] wchar_t *ServerName,
862 * IDL [in] [string] [ref] wchar_t *QueueName,
863 * IDL [in] [string] [ref] wchar_t *UserName,
864 * IDL [in] long Level,
865 * IDL [out] [ref] CHARDEVQ_INFO *devq
869 srvsvc_dissect_netrchardevqgetinfo_rqst(tvbuff_t *tvb, int offset,
870 packet_info *pinfo, proto_tree *tree,
873 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
874 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
876 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
877 NDR_POINTER_REF, "Device Queue", hf_srvsvc_chrdevq, 0);
879 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
880 NDR_POINTER_REF, "User", hf_srvsvc_user, 0);
882 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
883 hf_srvsvc_info_level, NULL);
888 srvsvc_dissect_netrchardevqgetinfo_reply(tvbuff_t *tvb, int offset,
889 packet_info *pinfo, proto_tree *tree,
892 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
893 srvsvc_dissect_CHARDEVQ_INFO,
894 NDR_POINTER_REF, "CHARDEVQ_INFO:", -1);
896 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
903 * IDL long NetrCharDevQSetInfo(
904 * IDL [in] [string] [unique] wchar_t *ServerName,
905 * IDL [in] [string] [ref] wchar_t *QueueName,
906 * IDL [in] long Level,
907 * IDL [in] [ref] CHARDEVQ_INFO *dev,
908 * IDL [in] [out] [unique] long *ParmError
912 srvsvc_dissect_netrchardevqsetinfo_rqst(tvbuff_t *tvb, int offset,
913 packet_info *pinfo, proto_tree *tree,
916 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
917 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
919 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
920 NDR_POINTER_REF, "Device Queue", hf_srvsvc_chrdevq, 0);
922 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
923 hf_srvsvc_info_level, NULL);
925 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
926 srvsvc_dissect_CHARDEVQ_INFO,
927 NDR_POINTER_REF, "CHARDEVQ_INFO", -1);
929 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
930 srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
931 "Parameter Error:", hf_srvsvc_parm_error);
936 srvsvc_dissect_netrchardevqsetinfo_reply(tvbuff_t *tvb, int offset,
937 packet_info *pinfo, proto_tree *tree,
940 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
941 srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
942 "Parameter Error:", hf_srvsvc_parm_error);
944 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
951 * IDL long NetrCharDevQPurge(
952 * IDL [in] [string] [unique] wchar_t *ServerName,
953 * IDL [in] [string] [ref] wchar_t *QueueName
957 srvsvc_dissect_netrchardevqpurge_rqst(tvbuff_t *tvb, int offset,
958 packet_info *pinfo, proto_tree *tree,
961 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
962 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
964 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
965 NDR_POINTER_REF, "Device Queue", hf_srvsvc_chrdevq, 0);
970 srvsvc_dissect_netrchardevqpurge_reply(tvbuff_t *tvb, int offset,
971 packet_info *pinfo, proto_tree *tree,
974 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
981 * IDL long NetrCharDevQPurge(
982 * IDL [in] [string] [unique] wchar_t *ServerName,
983 * IDL [in] [string] [ref] wchar_t *QueueName
984 * IDL [in] [string] [ref] wchar_t *ComputerName
988 srvsvc_dissect_netrchardevqpurgeself_rqst(tvbuff_t *tvb, int offset,
989 packet_info *pinfo, proto_tree *tree,
992 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
993 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
995 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
996 NDR_POINTER_REF, "Device Queue", hf_srvsvc_chrdevq, 0);
998 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
999 NDR_POINTER_REF, "Computer", hf_srvsvc_computer, 0);
1004 srvsvc_dissect_netrchardevqpurgeself_reply(tvbuff_t *tvb, int offset,
1005 packet_info *pinfo, proto_tree *tree,
1008 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
1009 hf_srvsvc_rc, NULL);
1017 * IDL typedef struct {
1019 * IDL } CONNECT_INFO_0;
1022 srvsvc_dissect_CONNECT_INFO_0(tvbuff_t *tvb, int offset,
1023 packet_info *pinfo, proto_tree *tree,
1026 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1027 hf_srvsvc_con_id, NULL);
1032 srvsvc_dissect_CONNECT_INFO_0_array(tvbuff_t *tvb, int offset,
1033 packet_info *pinfo, proto_tree *tree,
1036 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
1037 srvsvc_dissect_CONNECT_INFO_0);
1043 * IDL typedef struct {
1044 * IDL long EntriesRead;
1045 * IDL [size_is(EntriesRead)] [unique] CONNECT_INFO_0 *cons;
1046 * IDL } CONNECT_INFO_0_CONTAINER;
1049 srvsvc_dissect_CONNECT_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
1050 packet_info *pinfo, proto_tree *tree,
1053 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1054 hf_srvsvc_num_entries, NULL);
1056 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1057 srvsvc_dissect_CONNECT_INFO_0_array, NDR_POINTER_UNIQUE,
1058 "CONNECT_INFO_0 array:", -1);
1065 * IDL typedef struct {
1068 * IDL long num_opens;
1071 * IDL [string] [unique] wchar_t *username;
1072 * IDL [string] [unique] wchar_t *share;
1073 * IDL } CONNECT_INFO_1;
1076 srvsvc_dissect_CONNECT_INFO_1(tvbuff_t *tvb, int offset,
1077 packet_info *pinfo, proto_tree *tree,
1080 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1081 hf_srvsvc_con_id, NULL);
1083 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1084 hf_srvsvc_con_type, NULL);
1086 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1087 hf_srvsvc_con_num_opens, NULL);
1089 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1090 hf_srvsvc_users, NULL);
1092 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1093 hf_srvsvc_con_time, NULL);
1095 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1096 NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0);
1098 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1099 NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0);
1104 srvsvc_dissect_CONNECT_INFO_1_array(tvbuff_t *tvb, int offset,
1105 packet_info *pinfo, proto_tree *tree,
1108 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
1109 srvsvc_dissect_CONNECT_INFO_1);
1115 * IDL typedef struct {
1116 * IDL long EntriesRead;
1117 * IDL [size_is(EntriesRead)] [unique] CONNECT_INFO_0 *cons;
1118 * IDL } CONNECT_INFO_1_CONTAINER;
1121 srvsvc_dissect_CONNECT_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
1122 packet_info *pinfo, proto_tree *tree,
1125 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1126 hf_srvsvc_num_entries, NULL);
1128 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1129 srvsvc_dissect_CONNECT_INFO_1_array, NDR_POINTER_UNIQUE,
1130 "CONNECT_INFO_1 array:", -1);
1137 * IDL typedef [switch_type(long)] union {
1138 * IDL [case(0)] [unique] CONNECT_INFO_0_CONTAINER *con0;
1139 * IDL [case(1)] [unique] CONNECT_INFO_1_CONTAINER *con1;
1140 * IDL } CONNECT_ENUM_UNION;
1143 srvsvc_dissect_CONNECT_ENUM_UNION(tvbuff_t *tvb, int offset,
1144 packet_info *pinfo, proto_tree *tree,
1151 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
1155 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1156 srvsvc_dissect_CONNECT_INFO_0_CONTAINER,
1157 NDR_POINTER_UNIQUE, "CONNECT_INFO_0_CONTAINER:", -1);
1160 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1161 srvsvc_dissect_CONNECT_INFO_1_CONTAINER,
1162 NDR_POINTER_UNIQUE, "CONNECT_INFO_1_CONTAINER:", -1);
1171 * IDL typedef struct {
1173 * IDL CONNECT_ENUM_UNION devs;
1174 * IDL } CONNECT_ENUM_STRUCT;
1177 srvsvc_dissect_CONNECT_ENUM_STRUCT(tvbuff_t *tvb, int offset,
1178 packet_info *pinfo, proto_tree *tree,
1181 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1182 hf_srvsvc_info_level, 0);
1184 offset = srvsvc_dissect_CONNECT_ENUM_UNION(tvb, offset, pinfo, tree, drep);
1191 * IDL long NetrConnectionEnum(
1192 * IDL [in] [string] [unique] wchar_t *ServerName,
1193 * IDL [in] [string] [unique] wchar_t *Qualifier,
1194 * IDL [in] [out] [ref] CONNECT_ENUM_STRUCT *con,
1195 * IDL [in] long MaxLen,
1196 * IDL [in] long num_connections,
1197 * IDL [in] [out] [unique] long *ResumeHandle
1201 srvsvc_dissect_netrconnectionenum_rqst(tvbuff_t *tvb, int offset,
1202 packet_info *pinfo, proto_tree *tree,
1205 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1206 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
1208 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1209 NDR_POINTER_UNIQUE, "Qualifier", hf_srvsvc_qualifier, 0);
1211 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1212 srvsvc_dissect_CONNECT_ENUM_STRUCT,
1213 NDR_POINTER_REF, "CONNECT_ENUM_STRUCT:", -1);
1215 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1216 hf_srvsvc_preferred_len, 0);
1218 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1219 srvsvc_dissect_ENUM_HANDLE,
1220 NDR_POINTER_UNIQUE, "Enum Handle", -1);
1225 srvsvc_dissect_netrconnectionenum_reply(tvbuff_t *tvb, int offset,
1226 packet_info *pinfo, proto_tree *tree,
1229 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1230 srvsvc_dissect_CONNECT_ENUM_STRUCT,
1231 NDR_POINTER_REF, "CONNECT_ENUM_STRUCT:", -1);
1233 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1234 hf_srvsvc_num_entries, NULL);
1236 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1237 srvsvc_dissect_ENUM_HANDLE,
1238 NDR_POINTER_UNIQUE, "Enum Handle", -1);
1240 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
1241 hf_srvsvc_rc, NULL);
1247 * IDL typedef struct {
1249 * IDL } FILE_INFO_2;
1252 srvsvc_dissect_FILE_INFO_2(tvbuff_t *tvb, int offset,
1253 packet_info *pinfo, proto_tree *tree,
1256 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1257 hf_srvsvc_file_id, NULL);
1262 srvsvc_dissect_FILE_INFO_2_array(tvbuff_t *tvb, int offset,
1263 packet_info *pinfo, proto_tree *tree,
1266 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
1267 srvsvc_dissect_FILE_INFO_2);
1273 * IDL typedef struct {
1274 * IDL long EntriesRead;
1275 * IDL [size_is(EntriesRead)] [unique] FILE_INFO_2 *files;
1276 * IDL } FILE_INFO_2_CONTAINER;
1279 srvsvc_dissect_FILE_INFO_2_CONTAINER(tvbuff_t *tvb, int offset,
1280 packet_info *pinfo, proto_tree *tree,
1283 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1284 hf_srvsvc_num_entries, NULL);
1286 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1287 srvsvc_dissect_FILE_INFO_2_array, NDR_POINTER_UNIQUE,
1288 "FILE_INFO_2 array:", -1);
1295 * IDL typedef struct {
1297 * IDL long permissions;
1298 * IDL long num_locks;
1299 * IDL [string] [unique] wchar_t *pathname;
1300 * IDL [string] [unique] wchar_t *username;
1301 * IDL } FILE_INFO_3;
1304 srvsvc_dissect_FILE_INFO_3(tvbuff_t *tvb, int offset,
1305 packet_info *pinfo, proto_tree *tree,
1308 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1309 hf_srvsvc_file_id, NULL);
1311 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1312 hf_srvsvc_perm, NULL);
1314 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1315 hf_srvsvc_file_num_locks, NULL);
1317 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1318 NDR_POINTER_UNIQUE, "Path", hf_srvsvc_path, 0);
1320 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1321 NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0);
1326 srvsvc_dissect_FILE_INFO_3_array(tvbuff_t *tvb, int offset,
1327 packet_info *pinfo, proto_tree *tree,
1330 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
1331 srvsvc_dissect_FILE_INFO_3);
1337 * IDL typedef struct {
1338 * IDL long EntriesRead;
1339 * IDL [size_is(EntriesRead)] [unique] FILE_INFO_3 *files;
1340 * IDL } FILE_INFO_3_CONTAINER;
1343 srvsvc_dissect_FILE_INFO_3_CONTAINER(tvbuff_t *tvb, int offset,
1344 packet_info *pinfo, proto_tree *tree,
1347 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1348 hf_srvsvc_num_entries, NULL);
1350 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1351 srvsvc_dissect_FILE_INFO_3_array, NDR_POINTER_UNIQUE,
1352 "CHARDEV_INFO_3 array:", -1);
1359 * IDL typedef [switch_type(long)] union {
1360 * IDL [case(2)] [unique] FILE_INFO_2_CONTAINER *file0;
1361 * IDL [case(3)] [unique] FILE_INFO_3_CONTAINER *file1;
1362 * IDL } FILE_ENUM_UNION;
1365 srvsvc_dissect_FILE_ENUM_UNION(tvbuff_t *tvb, int offset,
1366 packet_info *pinfo, proto_tree *tree,
1373 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
1377 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1378 srvsvc_dissect_FILE_INFO_2_CONTAINER,
1379 NDR_POINTER_UNIQUE, "FILE_INFO_2_CONTAINER:", -1);
1382 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1383 srvsvc_dissect_FILE_INFO_3_CONTAINER,
1384 NDR_POINTER_UNIQUE, "FILE_INFO_3_CONTAINER:", -1);
1392 * IDL typedef [switch_type(long)] union {
1393 * IDL [case(2)] [unique] FILE_INFO_2 *file0;
1394 * IDL [case(3)] [unique] FILE_INFO_3 *file1;
1395 * IDL } FILE_INFO_UNION;
1398 srvsvc_dissect_FILE_INFO_UNION(tvbuff_t *tvb, int offset,
1399 packet_info *pinfo, proto_tree *tree,
1406 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
1410 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1411 srvsvc_dissect_FILE_INFO_2,
1412 NDR_POINTER_UNIQUE, "FILE_INFO_2:", -1);
1415 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1416 srvsvc_dissect_FILE_INFO_3,
1417 NDR_POINTER_UNIQUE, "FILE_INFO_3:", -1);
1426 * IDL typedef struct {
1428 * IDL FILE_ENUM_UNION files;
1429 * IDL } FILE_ENUM_STRUCT;
1432 srvsvc_dissect_FILE_ENUM_STRUCT(tvbuff_t *tvb, int offset,
1433 packet_info *pinfo, proto_tree *tree,
1436 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1437 hf_srvsvc_info_level, 0);
1439 offset = srvsvc_dissect_FILE_ENUM_UNION(tvb, offset, pinfo, tree, drep);
1446 * IDL long NetrFileEnum(
1447 * IDL [in] [string] [unique] wchar_t *ServerName,
1448 * IDL [in] [string] [unique] wchar_t *Path,
1449 * IDL [in] [string] [unique] wchar_t *UserName,
1450 * IDL [in] [out] [ref] FILE_ENUM_STRUCT *file,
1451 * IDL [in] long MaxLen,
1452 * IDL [out] long num_entries,
1453 * IDL [in] [out] [unique] long *ResumeHandle
1457 srvsvc_dissect_netrfileenum_rqst(tvbuff_t *tvb, int offset,
1458 packet_info *pinfo, proto_tree *tree,
1461 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1462 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
1464 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1465 NDR_POINTER_UNIQUE, "Path", hf_srvsvc_path, 0);
1467 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1468 NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0);
1470 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1471 srvsvc_dissect_FILE_ENUM_STRUCT,
1472 NDR_POINTER_REF, "FILE_ENUM_STRUCT:", -1);
1474 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1475 hf_srvsvc_preferred_len, 0);
1477 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1478 srvsvc_dissect_ENUM_HANDLE,
1479 NDR_POINTER_UNIQUE, "Enum Handle", -1);
1484 srvsvc_dissect_netrfileenum_reply(tvbuff_t *tvb, int offset,
1485 packet_info *pinfo, proto_tree *tree,
1488 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1489 srvsvc_dissect_FILE_ENUM_STRUCT,
1490 NDR_POINTER_REF, "FILE_ENUM_STRUCT:", -1);
1492 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1493 hf_srvsvc_num_entries, NULL);
1495 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1496 srvsvc_dissect_ENUM_HANDLE,
1497 NDR_POINTER_UNIQUE, "Enum Handle", -1);
1499 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
1500 hf_srvsvc_rc, NULL);
1507 * IDL long NetrFileGetInfo(
1508 * IDL [in] [string] [unique] wchar_t *ServerName,
1509 * IDL [in] long fileid,
1510 * IDL [in] long level,
1511 * IDL [out] [ref] FILE_INFO_UNION *file
1515 srvsvc_dissect_netrfilegetinfo_rqst(tvbuff_t *tvb, int offset,
1516 packet_info *pinfo, proto_tree *tree,
1519 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1520 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
1522 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1523 hf_srvsvc_file_id, NULL);
1525 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1526 hf_srvsvc_info_level, 0);
1531 srvsvc_dissect_netrfilegetinfo_reply(tvbuff_t *tvb, int offset,
1532 packet_info *pinfo, proto_tree *tree,
1535 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1536 srvsvc_dissect_FILE_INFO_UNION,
1537 NDR_POINTER_REF, "FILE_INFO_UNION:", -1);
1539 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
1540 hf_srvsvc_rc, NULL);
1547 * IDL long NetrFileClose(
1548 * IDL [in] [string] [unique] wchar_t *ServerName,
1549 * IDL [in] long fileid,
1553 srvsvc_dissect_netrfileclose_rqst(tvbuff_t *tvb, int offset,
1554 packet_info *pinfo, proto_tree *tree,
1557 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1558 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
1560 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1561 hf_srvsvc_file_id, NULL);
1566 srvsvc_dissect_netrfileclose_reply(tvbuff_t *tvb, int offset,
1567 packet_info *pinfo, proto_tree *tree,
1570 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
1571 hf_srvsvc_rc, NULL);
1577 * IDL typedef struct {
1578 * IDL [string] [unique] wchar_t *ses;
1579 * IDL } SESSION_INFO_0;
1582 srvsvc_dissect_SESSION_INFO_0(tvbuff_t *tvb, int offset,
1583 packet_info *pinfo, proto_tree *tree,
1586 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1587 NDR_POINTER_UNIQUE, "Session", hf_srvsvc_session, 0);
1592 srvsvc_dissect_SESSION_INFO_0_array(tvbuff_t *tvb, int offset,
1593 packet_info *pinfo, proto_tree *tree,
1596 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
1597 srvsvc_dissect_SESSION_INFO_0);
1603 * IDL typedef struct {
1604 * IDL long EntriesRead;
1605 * IDL [size_is(EntriesRead)] [unique] SESSION_INFO_0 *ses;
1606 * IDL } SESSION_INFO_0_CONTAINER;
1609 srvsvc_dissect_SESSION_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
1610 packet_info *pinfo, proto_tree *tree,
1613 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1614 hf_srvsvc_num_entries, NULL);
1616 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1617 srvsvc_dissect_SESSION_INFO_0_array, NDR_POINTER_UNIQUE,
1618 "SESSION_INFO_0 array:", -1);
1624 * IDL typedef struct {
1625 * IDL [string] [unique] wchar_t *ses;
1626 * IDL [string] [unique] wchar_t *user;
1627 * IDL long num_open;
1629 * IDL long idle_time;
1630 * IDL long user_flags
1631 * IDL } SESSION_INFO_1;
1634 srvsvc_dissect_SESSION_INFO_1(tvbuff_t *tvb, int offset,
1635 packet_info *pinfo, proto_tree *tree,
1638 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1639 NDR_POINTER_UNIQUE, "Session", hf_srvsvc_session, 0);
1641 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1642 NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0);
1644 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1645 hf_srvsvc_session_num_opens, NULL);
1647 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1648 hf_srvsvc_session_time, NULL);
1650 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1651 hf_srvsvc_session_idle_time, NULL);
1653 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1654 hf_srvsvc_session_user_flags, NULL);
1659 srvsvc_dissect_SESSION_INFO_1_array(tvbuff_t *tvb, int offset,
1660 packet_info *pinfo, proto_tree *tree,
1663 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
1664 srvsvc_dissect_SESSION_INFO_1);
1670 * IDL typedef struct {
1671 * IDL long EntriesRead;
1672 * IDL [size_is(EntriesRead)] [unique] SESSION_INFO_1 *ses;
1673 * IDL } SESSION_INFO_1_CONTAINER;
1676 srvsvc_dissect_SESSION_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
1677 packet_info *pinfo, proto_tree *tree,
1680 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1681 hf_srvsvc_num_entries, NULL);
1683 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1684 srvsvc_dissect_SESSION_INFO_1_array, NDR_POINTER_UNIQUE,
1685 "SESSION_INFO_1 array:", -1);
1691 * IDL typedef struct {
1692 * IDL [string] [unique] wchar_t *ses;
1693 * IDL [string] [unique] wchar_t *user;
1694 * IDL long num_open;
1696 * IDL long idle_time;
1697 * IDL long user_flags
1698 * IDL [string] [unique] wchar_t *clienttype;
1699 * IDL } SESSION_INFO_2;
1702 srvsvc_dissect_SESSION_INFO_2(tvbuff_t *tvb, int offset,
1703 packet_info *pinfo, proto_tree *tree,
1706 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1707 NDR_POINTER_UNIQUE, "Session", hf_srvsvc_session, 0);
1709 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1710 NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0);
1712 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1713 hf_srvsvc_session_num_opens, NULL);
1715 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1716 hf_srvsvc_session_time, NULL);
1718 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1719 hf_srvsvc_session_idle_time, NULL);
1721 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1722 hf_srvsvc_session_user_flags, NULL);
1724 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1725 NDR_POINTER_UNIQUE, "Client Type",
1726 hf_srvsvc_client_type, 0);
1731 srvsvc_dissect_SESSION_INFO_2_array(tvbuff_t *tvb, int offset,
1732 packet_info *pinfo, proto_tree *tree,
1735 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
1736 srvsvc_dissect_SESSION_INFO_2);
1742 * IDL typedef struct {
1743 * IDL long EntriesRead;
1744 * IDL [size_is(EntriesRead)] [unique] SESSION_INFO_2 *ses;
1745 * IDL } SESSION_INFO_2_CONTAINER;
1748 srvsvc_dissect_SESSION_INFO_2_CONTAINER(tvbuff_t *tvb, int offset,
1749 packet_info *pinfo, proto_tree *tree,
1752 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1753 hf_srvsvc_num_entries, NULL);
1755 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1756 srvsvc_dissect_SESSION_INFO_2_array, NDR_POINTER_UNIQUE,
1757 "SESSION_INFO_2 array:", -1);
1763 * IDL typedef struct {
1764 * IDL [string] [unique] wchar_t *ses;
1765 * IDL [string] [unique] wchar_t *user;
1767 * IDL long idle_time;
1768 * IDL } SESSION_INFO_10;
1771 srvsvc_dissect_SESSION_INFO_10(tvbuff_t *tvb, int offset,
1772 packet_info *pinfo, proto_tree *tree,
1775 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1776 NDR_POINTER_UNIQUE, "Session", hf_srvsvc_session, 0);
1778 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1779 NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0);
1781 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1782 hf_srvsvc_session_time, NULL);
1784 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1785 hf_srvsvc_session_idle_time, NULL);
1790 srvsvc_dissect_SESSION_INFO_10_array(tvbuff_t *tvb, int offset,
1791 packet_info *pinfo, proto_tree *tree,
1794 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
1795 srvsvc_dissect_SESSION_INFO_10);
1801 * IDL typedef struct {
1802 * IDL long EntriesRead;
1803 * IDL [size_is(EntriesRead)] [unique] SESSION_INFO_10 *ses;
1804 * IDL } SESSION_INFO_10_CONTAINER;
1807 srvsvc_dissect_SESSION_INFO_10_CONTAINER(tvbuff_t *tvb, int offset,
1808 packet_info *pinfo, proto_tree *tree,
1811 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1812 hf_srvsvc_num_entries, NULL);
1814 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1815 srvsvc_dissect_SESSION_INFO_10_array, NDR_POINTER_UNIQUE,
1816 "SESSION_INFO_10 array:", -1);
1822 * IDL typedef struct {
1823 * IDL [string] [unique] wchar_t *ses;
1824 * IDL [string] [unique] wchar_t *user;
1825 * IDL long num_open;
1827 * IDL long idle_time;
1828 * IDL long user_flags
1829 * IDL [string] [unique] wchar_t *clienttype;
1830 * IDL [string] [unique] wchar_t *transport;
1831 * IDL } SESSION_INFO_502;
1834 srvsvc_dissect_SESSION_INFO_502(tvbuff_t *tvb, int offset,
1835 packet_info *pinfo, proto_tree *tree,
1838 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1839 NDR_POINTER_UNIQUE, "Session", hf_srvsvc_session, 0);
1841 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1842 NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0);
1844 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1845 hf_srvsvc_session_num_opens, NULL);
1847 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1848 hf_srvsvc_session_time, NULL);
1850 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1851 hf_srvsvc_session_idle_time, NULL);
1853 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1854 hf_srvsvc_session_user_flags, NULL);
1856 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1857 NDR_POINTER_UNIQUE, "Client Type",
1858 hf_srvsvc_client_type, 0);
1860 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1861 NDR_POINTER_UNIQUE, "Transport", hf_srvsvc_transport, 0);
1866 srvsvc_dissect_SESSION_INFO_502_array(tvbuff_t *tvb, int offset,
1867 packet_info *pinfo, proto_tree *tree,
1870 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
1871 srvsvc_dissect_SESSION_INFO_502);
1877 * IDL typedef struct {
1878 * IDL long EntriesRead;
1879 * IDL [size_is(EntriesRead)] [unique] SESSION_INFO_502 *ses;
1880 * IDL } SESSION_INFO_502_CONTAINER;
1883 srvsvc_dissect_SESSION_INFO_502_CONTAINER(tvbuff_t *tvb, int offset,
1884 packet_info *pinfo, proto_tree *tree,
1887 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1888 hf_srvsvc_num_entries, NULL);
1890 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1891 srvsvc_dissect_SESSION_INFO_502_array, NDR_POINTER_UNIQUE,
1892 "SESSION_INFO_502 array:", -1);
1898 * IDL typedef [switch_type(long)] union {
1899 * IDL [case(0)] [unique] SESSION_INFO_0_CONTAINER *ses0;
1900 * IDL [case(1)] [unique] SESSION_INFO_1_CONTAINER *ses1;
1901 * IDL [case(2)] [unique] SESSION_INFO_2_CONTAINER *ses2;
1902 * IDL [case(10)] [unique] SESSION_INFO_10_CONTAINER *ses10;
1903 * IDL [case(502)] [unique] SESSION_INFO_502_CONTAINER *ses502;
1904 * IDL } SESSION_ENUM_UNION;
1907 srvsvc_dissect_SESSION_ENUM_UNION(tvbuff_t *tvb, int offset,
1908 packet_info *pinfo, proto_tree *tree,
1915 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
1919 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1920 srvsvc_dissect_SESSION_INFO_0_CONTAINER,
1921 NDR_POINTER_UNIQUE, "SESSION_INFO_0_CONTAINER:", -1);
1924 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1925 srvsvc_dissect_SESSION_INFO_1_CONTAINER,
1926 NDR_POINTER_UNIQUE, "SESSION_INFO_1_CONTAINER:", -1);
1929 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1930 srvsvc_dissect_SESSION_INFO_2_CONTAINER,
1931 NDR_POINTER_UNIQUE, "SESSION_INFO_2_CONTAINER:", -1);
1934 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1935 srvsvc_dissect_SESSION_INFO_10_CONTAINER,
1936 NDR_POINTER_UNIQUE, "SESSION_INFO_10_CONTAINER:", -1);
1939 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1940 srvsvc_dissect_SESSION_INFO_502_CONTAINER,
1941 NDR_POINTER_UNIQUE, "SESSION_INFO_502_CONTAINER:", -1);
1949 * IDL typedef struct {
1951 * IDL SESSION_ENUM_UNION ses;
1952 * IDL } SESSION_ENUM_STRUCT;
1955 srvsvc_dissect_SESSION_ENUM_STRUCT(tvbuff_t *tvb, int offset,
1956 packet_info *pinfo, proto_tree *tree,
1959 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1960 hf_srvsvc_info_level, 0);
1962 offset = srvsvc_dissect_SESSION_ENUM_UNION(tvb, offset, pinfo, tree, drep);
1969 * IDL long NetrSessionEnum(
1970 * IDL [in] [string] [unique] wchar_t *ServerName,
1971 * IDL [in] [string] [unique] wchar_t *ClientName,
1972 * IDL [in] [string] [unique] wchar_t *UserName,
1973 * IDL [in] [out] [ref] SESSION_ENUM_STRUCT *ses,
1974 * IDL [in] long maxlen,
1975 * IDL [out] long num_sessions,
1976 * IDL [in] [out] [unique] long *resumehandle,
1980 srvsvc_dissect_netrsessionenum_rqst(tvbuff_t *tvb, int offset,
1981 packet_info *pinfo, proto_tree *tree,
1984 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1985 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
1987 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1988 NDR_POINTER_UNIQUE, "Computer", hf_srvsvc_computer, 0);
1990 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
1991 NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0);
1993 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
1994 srvsvc_dissect_SESSION_ENUM_STRUCT,
1995 NDR_POINTER_REF, "SESSION_ENUM_STRUCT", -1);
1997 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
1998 hf_srvsvc_preferred_len, 0);
2000 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2001 srvsvc_dissect_ENUM_HANDLE,
2002 NDR_POINTER_UNIQUE, "Enum Handle", -1);
2007 srvsvc_dissect_netrsessionenum_reply(tvbuff_t *tvb, int offset,
2008 packet_info *pinfo, proto_tree *tree,
2011 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2012 srvsvc_dissect_SESSION_ENUM_STRUCT,
2013 NDR_POINTER_REF, "SESSION_ENUM_STRUCT", -1);
2015 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2016 hf_srvsvc_num_entries, NULL);
2018 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2019 srvsvc_dissect_ENUM_HANDLE,
2020 NDR_POINTER_UNIQUE, "Enum Handle", -1);
2022 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
2023 hf_srvsvc_rc, NULL);
2030 * IDL long NetrSessionDel(
2031 * IDL [in] [string] [unique] wchar_t *ServerName,
2032 * IDL [in] [string] [ref] wchar_t *ClientName,
2033 * IDL [in] [string] [ref] wchar_t *UserName,
2037 srvsvc_dissect_netrsessiondel_rqst(tvbuff_t *tvb, int offset,
2038 packet_info *pinfo, proto_tree *tree,
2041 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2042 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
2044 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2045 NDR_POINTER_REF, "Computer", hf_srvsvc_computer, 0);
2047 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2048 NDR_POINTER_REF, "User", hf_srvsvc_user, 0);
2053 srvsvc_dissect_netrsessiondel_reply(tvbuff_t *tvb, int offset,
2054 packet_info *pinfo, proto_tree *tree,
2057 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
2058 hf_srvsvc_rc, NULL);
2065 * IDL typedef struct {
2066 * IDL [string] [unique] wchar_t *share;
2067 * IDL } SHARE_INFO_0;
2070 srvsvc_dissect_SHARE_INFO_0(tvbuff_t *tvb, int offset,
2071 packet_info *pinfo, proto_tree *tree,
2074 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2075 NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0);
2080 srvsvc_dissect_SHARE_INFO_0_array(tvbuff_t *tvb, int offset,
2081 packet_info *pinfo, proto_tree *tree,
2084 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
2085 srvsvc_dissect_SHARE_INFO_0);
2091 * IDL typedef struct {
2092 * IDL long EntriesRead;
2093 * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_0 *shares;
2094 * IDL } SHARE_INFO_0_CONTAINER;
2097 srvsvc_dissect_SHARE_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
2098 packet_info *pinfo, proto_tree *tree,
2101 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2102 hf_srvsvc_num_entries, NULL);
2104 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2105 srvsvc_dissect_SHARE_INFO_0_array, NDR_POINTER_UNIQUE,
2106 "SHARE_INFO_0 array:", -1);
2112 IDL typedef struct {
2113 IDL [unique] [string] wchar_t *share;
2115 IDL [unique] [string] wchar_t *comment;
2119 srvsvc_dissect_SHARE_INFO_1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep)
2121 proto_item *item = NULL;
2122 proto_tree *tree = NULL;
2126 di=pinfo->private_data;
2128 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "Share");
2129 tree = proto_item_add_subtree(item, ett_srvsvc_share_info_1);
2132 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2133 NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 3);
2135 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2136 hf_srvsvc_share_type, NULL);
2138 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2139 NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0);
2144 srvsvc_dissect_SHARE_INFO_1_array(tvbuff_t *tvb, int offset,
2145 packet_info *pinfo, proto_tree *tree,
2148 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
2149 srvsvc_dissect_SHARE_INFO_1);
2155 * IDL typedef struct {
2156 * IDL long EntriesRead;
2157 * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1 *shares;
2158 * IDL } SHARE_INFO_1_CONTAINER;
2161 srvsvc_dissect_SHARE_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
2162 packet_info *pinfo, proto_tree *tree,
2165 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2166 hf_srvsvc_num_entries, NULL);
2168 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2169 srvsvc_dissect_SHARE_INFO_1_array, NDR_POINTER_UNIQUE,
2170 "SHARE_INFO_1 array:", -1);
2176 IDL typedef struct {
2177 IDL [unique] [string] wchar_t *share;
2179 IDL [unique] [string] wchar_t *comment;
2180 IDL long permissions;
2182 IDL long current_uses;
2183 IDL [unique] [string] wchar_t *path;
2184 IDL [unique] [string] wchar_t *passwd;
2188 srvsvc_dissect_SHARE_INFO_2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep)
2190 proto_item *item = NULL;
2191 proto_tree *tree = NULL;
2195 di=pinfo->private_data;
2197 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "Share");
2198 tree = proto_item_add_subtree(item, ett_srvsvc_share_info_2);
2201 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2202 NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0);
2204 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2205 hf_srvsvc_share_type, NULL);
2207 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2208 NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0);
2210 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2211 hf_srvsvc_perm, NULL);
2213 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2214 hf_srvsvc_max_uses, NULL);
2216 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2217 hf_srvsvc_cur_uses, NULL);
2219 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2220 NDR_POINTER_UNIQUE, "Path", hf_srvsvc_path, 0);
2222 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2223 NDR_POINTER_UNIQUE, "Password",
2224 hf_srvsvc_share_passwd, 0);
2229 srvsvc_dissect_SHARE_INFO_2_array(tvbuff_t *tvb, int offset,
2230 packet_info *pinfo, proto_tree *tree,
2233 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
2234 srvsvc_dissect_SHARE_INFO_2);
2240 * IDL typedef struct {
2241 * IDL long EntriesRead;
2242 * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_2 *shares;
2243 * IDL } SHARE_INFO_2_CONTAINER;
2246 srvsvc_dissect_SHARE_INFO_2_CONTAINER(tvbuff_t *tvb, int offset,
2247 packet_info *pinfo, proto_tree *tree,
2250 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2251 hf_srvsvc_num_entries, NULL);
2253 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2254 srvsvc_dissect_SHARE_INFO_2_array, NDR_POINTER_UNIQUE,
2255 "SHARE_INFO_2 array:", -1);
2261 IDL typedef struct {
2262 IDL [unique] [string] wchar_t *share;
2264 IDL [unique] [string] wchar_t *comment;
2266 IDL } SHARE_INFO_501;
2269 srvsvc_dissect_SHARE_INFO_501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep)
2271 proto_item *item = NULL;
2272 proto_tree *tree = NULL;
2276 di=pinfo->private_data;
2278 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "Share");
2279 tree = proto_item_add_subtree(item, ett_srvsvc_share_info_501);
2282 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2283 NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0);
2285 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2286 hf_srvsvc_share_type, NULL);
2288 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2289 NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0);
2291 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2292 hf_srvsvc_policy, NULL);
2297 srvsvc_dissect_SHARE_INFO_501_array(tvbuff_t *tvb, int offset,
2298 packet_info *pinfo, proto_tree *tree,
2301 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
2302 srvsvc_dissect_SHARE_INFO_501);
2308 * IDL typedef struct {
2309 * IDL long EntriesRead;
2310 * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_501 *shares;
2311 * IDL } SHARE_INFO_501_CONTAINER;
2314 srvsvc_dissect_SHARE_INFO_501_CONTAINER(tvbuff_t *tvb, int offset,
2315 packet_info *pinfo, proto_tree *tree,
2318 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2319 hf_srvsvc_num_entries, NULL);
2321 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2322 srvsvc_dissect_SHARE_INFO_501_array, NDR_POINTER_UNIQUE,
2323 "SHARE_INFO_501 array:", -1);
2330 IDL typedef struct {
2331 IDL [unique] [string] wchar_t *share;
2333 IDL [unique] [string] wchar_t *comment;
2334 IDL long permissions;
2336 IDL long current_uses;
2337 IDL [unique] [string] wchar_t *path;
2338 IDL [unique] [string] wchar_t *passwd;
2340 IDL SECDESC [unique] *securitysecriptor; 4byte-len followed by bytestring
2341 IDL } SHARE_INFO_502;
2344 srvsvc_dissect_SHARE_INFO_502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep)
2346 proto_item *item = NULL;
2347 proto_tree *tree = NULL;
2351 di=pinfo->private_data;
2353 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "Share");
2354 tree = proto_item_add_subtree(item, ett_srvsvc_share_info_502);
2357 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2358 NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0);
2360 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2361 hf_srvsvc_share_type, NULL);
2363 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2364 NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0);
2366 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2367 hf_srvsvc_perm, NULL);
2369 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2370 hf_srvsvc_max_uses, NULL);
2372 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2373 hf_srvsvc_cur_uses, NULL);
2375 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2376 NDR_POINTER_UNIQUE, "Path", hf_srvsvc_path, 0);
2378 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2379 NDR_POINTER_UNIQUE, "Password",
2380 hf_srvsvc_share_passwd, 0);
2382 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2383 hf_srvsvc_reserved, NULL);
2385 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2386 lsa_dissect_LSA_SECURITY_DESCRIPTOR_data, NDR_POINTER_UNIQUE,
2387 "LSA SECURITY DESCRIPTOR data:", -1);
2392 srvsvc_dissect_SHARE_INFO_502_array(tvbuff_t *tvb, int offset,
2393 packet_info *pinfo, proto_tree *tree,
2396 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
2397 srvsvc_dissect_SHARE_INFO_502);
2403 * IDL typedef struct {
2404 * IDL long EntriesRead;
2405 * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_502 *shares;
2406 * IDL } SHARE_INFO_502_CONTAINER;
2409 srvsvc_dissect_SHARE_INFO_502_CONTAINER(tvbuff_t *tvb, int offset,
2410 packet_info *pinfo, proto_tree *tree,
2413 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2414 hf_srvsvc_num_entries, NULL);
2416 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2417 srvsvc_dissect_SHARE_INFO_502_array, NDR_POINTER_UNIQUE,
2418 "SHARE_INFO_502 array:", -1);
2425 IDL typedef struct {
2426 IDL [unique] [string] wchar_t *comment;
2427 IDL } SHARE_INFO_1004;
2430 srvsvc_dissect_SHARE_INFO_1004(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2432 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2433 NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0);
2439 srvsvc_dissect_SHARE_INFO_1004_array(tvbuff_t *tvb, int offset,
2440 packet_info *pinfo, proto_tree *tree,
2443 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
2444 srvsvc_dissect_SHARE_INFO_1004);
2450 * IDL typedef struct {
2451 * IDL long EntriesRead;
2452 * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1004 *shares;
2453 * IDL } SHARE_INFO_1004_CONTAINER;
2456 srvsvc_dissect_SHARE_INFO_1004_CONTAINER(tvbuff_t *tvb, int offset,
2457 packet_info *pinfo, proto_tree *tree,
2462 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2463 hf_srvsvc_num_entries, &count);
2466 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2467 srvsvc_dissect_SHARE_INFO_1004_array, NDR_POINTER_UNIQUE,
2468 "SHARE_INFO_1004 array:", -1);
2475 IDL typedef struct {
2476 IDL long dfs_root_flags;
2477 IDL } SHARE_INFO_1005;
2480 srvsvc_dissect_SHARE_INFO_1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2482 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2483 hf_srvsvc_dfs_root_flags, NULL);
2488 srvsvc_dissect_SHARE_INFO_1005_array(tvbuff_t *tvb, int offset,
2489 packet_info *pinfo, proto_tree *tree,
2492 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
2493 srvsvc_dissect_SHARE_INFO_1005);
2499 * IDL typedef struct {
2500 * IDL long EntriesRead;
2501 * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1005 *shares;
2502 * IDL } SHARE_INFO_1005_CONTAINER;
2505 srvsvc_dissect_SHARE_INFO_1005_CONTAINER(tvbuff_t *tvb, int offset,
2506 packet_info *pinfo, proto_tree *tree,
2509 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2510 hf_srvsvc_num_entries, NULL);
2512 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2513 srvsvc_dissect_SHARE_INFO_1005_array, NDR_POINTER_UNIQUE,
2514 "SHARE_INFO_1005 array:", -1);
2521 IDL typedef struct {
2523 IDL } SHARE_INFO_1006;
2526 srvsvc_dissect_SHARE_INFO_1006(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2528 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2529 hf_srvsvc_max_uses, NULL);
2534 srvsvc_dissect_SHARE_INFO_1006_array(tvbuff_t *tvb, int offset,
2535 packet_info *pinfo, proto_tree *tree,
2538 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
2539 srvsvc_dissect_SHARE_INFO_1006);
2545 * IDL typedef struct {
2546 * IDL long EntriesRead;
2547 * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1006 *shares;
2548 * IDL } SHARE_INFO_1006_CONTAINER;
2551 srvsvc_dissect_SHARE_INFO_1006_CONTAINER(tvbuff_t *tvb, int offset,
2552 packet_info *pinfo, proto_tree *tree,
2555 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2556 hf_srvsvc_num_entries, NULL);
2558 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2559 srvsvc_dissect_SHARE_INFO_1006_array, NDR_POINTER_UNIQUE,
2560 "SHARE_INFO_1006 array:", -1);
2567 IDL typedef struct {
2569 IDL [unique] [string] wchar_t *alternate_directory_name;
2570 IDL } SHARE_INFO_1007;
2573 srvsvc_dissect_SHARE_INFO_1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2575 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2576 hf_srvsvc_share_flags, NULL);
2578 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2579 NDR_POINTER_UNIQUE, "Alternate Name",
2580 hf_srvsvc_share_alternate_name, 0);
2585 srvsvc_dissect_SHARE_INFO_1007_array(tvbuff_t *tvb, int offset,
2586 packet_info *pinfo, proto_tree *tree,
2589 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
2590 srvsvc_dissect_SHARE_INFO_1007);
2596 * IDL typedef struct {
2597 * IDL long EntriesRead;
2598 * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1007 *shares;
2599 * IDL } SHARE_INFO_1007_CONTAINER;
2602 srvsvc_dissect_SHARE_INFO_1007_CONTAINER(tvbuff_t *tvb, int offset,
2603 packet_info *pinfo, proto_tree *tree,
2606 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2607 hf_srvsvc_num_entries, NULL);
2609 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2610 srvsvc_dissect_SHARE_INFO_1007_array, NDR_POINTER_UNIQUE,
2611 "SHARE_INFO_1007 array:", -1);
2617 IDL typedef struct {
2618 IDL SECDESC [unique] *securitysecriptor; 4byte-len followed by bytestring
2619 IDL } SHARE_INFO_1501;
2622 srvsvc_dissect_SHARE_INFO_1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2624 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2625 lsa_dissect_LSA_SECURITY_DESCRIPTOR_data, NDR_POINTER_UNIQUE,
2626 "LSA SECURITY DESCRIPTOR data:", -1);
2631 srvsvc_dissect_SHARE_INFO_1501_array(tvbuff_t *tvb, int offset,
2632 packet_info *pinfo, proto_tree *tree,
2635 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
2636 srvsvc_dissect_SHARE_INFO_1501);
2642 * IDL typedef struct {
2643 * IDL long EntriesRead;
2644 * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1501 *shares;
2645 * IDL } SHARE_INFO_1501_CONTAINER;
2648 srvsvc_dissect_SHARE_INFO_1501_CONTAINER(tvbuff_t *tvb, int offset,
2649 packet_info *pinfo, proto_tree *tree,
2652 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2653 hf_srvsvc_num_entries, NULL);
2655 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2656 srvsvc_dissect_SHARE_INFO_1501_array, NDR_POINTER_UNIQUE,
2657 "SHARE_INFO_1501 array:", -1);
2664 * IDL typedef [switch_type(long)] union {
2665 * IDL [case(0)] [unique] SHARE_INFO_0 *share0;
2666 * IDL [case(1)] [unique] SHARE_INFO_1 *share1;
2667 * IDL [case(2)] [unique] SHARE_INFO_2 *share2;
2668 * IDL [case(501)] [unique] SHARE_INFO_501 *share501;
2669 * IDL [case(502)] [unique] SHARE_INFO_502 *share502;
2670 * IDL [case(1004)] [unique] SHARE_INFO_1004 *share1004;
2671 * IDL [case(1005)] [unique] SHARE_INFO_1005 *share1005;
2672 * IDL [case(1006)] [unique] SHARE_INFO_1006 *share1006;
2673 * IDL [case(1007)] [unique] SHARE_INFO_1007 *share1007;
2674 * IDL [case(1501)] [unique] SHARE_INFO_1501 *share1501;
2675 * IDL } SHARE_INFO_UNION;
2678 srvsvc_dissect_SHARE_INFO_UNION(tvbuff_t *tvb, int offset,
2679 packet_info *pinfo, proto_tree *tree,
2686 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
2690 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2691 srvsvc_dissect_SHARE_INFO_0,
2692 NDR_POINTER_UNIQUE, "SHARE_INFO_0:", -1);
2695 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2696 srvsvc_dissect_SHARE_INFO_1,
2697 NDR_POINTER_UNIQUE, "SHARE_INFO_1:", -1);
2700 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2701 srvsvc_dissect_SHARE_INFO_2,
2702 NDR_POINTER_UNIQUE, "SHARE_INFO_2:", -1);
2705 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2706 srvsvc_dissect_SHARE_INFO_501,
2707 NDR_POINTER_UNIQUE, "SHARE_INFO_501:", -1);
2710 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2711 srvsvc_dissect_SHARE_INFO_502,
2712 NDR_POINTER_UNIQUE, "SHARE_INFO_502:", -1);
2715 * These next lot do not seem to be understood by Windows of any
2720 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2721 srvsvc_dissect_SHARE_INFO_1004,
2722 NDR_POINTER_UNIQUE, "SHARE_INFO_1004:", -1);
2725 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2726 srvsvc_dissect_SHARE_INFO_1005,
2727 NDR_POINTER_UNIQUE, "SHARE_INFO_1005:", -1);
2730 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2731 srvsvc_dissect_SHARE_INFO_1006,
2732 NDR_POINTER_UNIQUE, "SHARE_INFO_1006:", -1);
2735 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2736 srvsvc_dissect_SHARE_INFO_1007,
2737 NDR_POINTER_UNIQUE, "SHARE_INFO_1007:", -1);
2740 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2741 srvsvc_dissect_SHARE_INFO_1501,
2742 NDR_POINTER_UNIQUE, "SHARE_INFO_1501:", -1);
2752 * IDL long NetrShareAdd(
2753 * IDL [in] [string] [unique] wchar_t *ServerName,
2754 * IDL [in] long Level,
2755 * IDL [in] [ref] SHARE_INFO_UNION *share,
2756 * IDL [in] [out] [unique] long *ParmError
2760 srvsvc_dissect_netrshareadd_rqst(tvbuff_t *tvb, int offset,
2761 packet_info *pinfo, proto_tree *tree,
2764 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2765 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
2767 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2768 hf_srvsvc_info_level, 0);
2770 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2771 srvsvc_dissect_SHARE_INFO_UNION,
2772 NDR_POINTER_REF, "SHARE_INFO_UNION:", -1);
2774 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2775 srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
2776 "Parameter Error:", hf_srvsvc_parm_error);
2781 srvsvc_dissect_netrshareadd_reply(tvbuff_t *tvb, int offset,
2782 packet_info *pinfo, proto_tree *tree,
2785 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2786 srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
2787 "Parameter Error:", hf_srvsvc_parm_error);
2789 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
2790 hf_srvsvc_rc, NULL);
2797 * IDL typedef [switch_type(long)] union {
2798 * IDL [case(0)] [unique] SHARE_INFO_0_CONTAINER *share0;
2799 * IDL [case(1)] [unique] SHARE_INFO_1_CONTAINER *share1;
2800 * IDL [case(2)] [unique] SHARE_INFO_2_CONTAINER *share2;
2801 * IDL [case(501)] [unique] SHARE_INFO_501_CONTAINER *share501;
2802 * IDL [case(502)] [unique] SHARE_INFO_502_CONTAINER *share502;
2803 * IDL [case(1004)] [unique] SHARE_INFO_1004_CONTAINER *share1004;
2804 * IDL [case(1005)] [unique] SHARE_INFO_1005_CONTAINER *share1005;
2805 * IDL [case(1006)] [unique] SHARE_INFO_1006_CONTAINER *share1006;
2806 * IDL [case(1007)] [unique] SHARE_INFO_1007_CONTAINER *share1007;
2807 * IDL [case(1501)] [unique] SHARE_INFO_1501_CONTAINER *share1501;
2808 * IDL } SHARE_ENUM_UNION;
2811 srvsvc_dissect_SHARE_ENUM_UNION(tvbuff_t *tvb, int offset,
2812 packet_info *pinfo, proto_tree *tree,
2819 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
2823 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2824 srvsvc_dissect_SHARE_INFO_0_CONTAINER,
2825 NDR_POINTER_UNIQUE, "SHARE_INFO_0_CONTAINER:", -1);
2828 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2829 srvsvc_dissect_SHARE_INFO_1_CONTAINER,
2830 NDR_POINTER_UNIQUE, "SHARE_INFO_1_CONTAINER:", -1);
2833 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2834 srvsvc_dissect_SHARE_INFO_2_CONTAINER,
2835 NDR_POINTER_UNIQUE, "SHARE_INFO_2_CONTAINER:", -1);
2838 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2839 srvsvc_dissect_SHARE_INFO_501_CONTAINER,
2840 NDR_POINTER_UNIQUE, "SHARE_INFO_501_CONTAINER:", -1);
2843 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2844 srvsvc_dissect_SHARE_INFO_502_CONTAINER,
2845 NDR_POINTER_UNIQUE, "SHARE_INFO_502_CONTAINER:", -1);
2849 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2850 srvsvc_dissect_SHARE_INFO_1004_CONTAINER,
2851 NDR_POINTER_UNIQUE, "SHARE_INFO_1004_CONTAINER:", -1);
2854 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2855 srvsvc_dissect_SHARE_INFO_1005_CONTAINER,
2856 NDR_POINTER_UNIQUE, "SHARE_INFO_1005_CONTAINER:", -1);
2859 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2860 srvsvc_dissect_SHARE_INFO_1006_CONTAINER,
2861 NDR_POINTER_UNIQUE, "SHARE_INFO_1006_CONTAINER:", -1);
2864 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2865 srvsvc_dissect_SHARE_INFO_1007_CONTAINER,
2866 NDR_POINTER_UNIQUE, "SHARE_INFO_1007_CONTAINER:", -1);
2869 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2870 srvsvc_dissect_SHARE_INFO_1501_CONTAINER,
2871 NDR_POINTER_UNIQUE, "SHARE_INFO_1501_CONTAINER:", -1);
2880 * IDL typedef struct {
2881 * IDL SHARE_ENUM_UNION shares;
2882 * IDL } SHARE_ENUM_STRUCT;
2885 srvsvc_dissect_SHARE_ENUM_STRUCT(tvbuff_t *tvb, int offset,
2886 packet_info *pinfo, proto_tree *tree,
2889 offset = srvsvc_dissect_SHARE_ENUM_UNION(tvb, offset, pinfo, tree, drep);
2895 * IDL long NetrShareEnum(
2896 * IDL [in] [string] [unique] wchar_t *ServerName,
2897 * IDL [in] [out] level
2898 * IDL [in] [out] [ref] SHARE_ENUM_STRUCT *share,
2899 * IDL [in] long MaxLen,
2900 * IDL [out] long Entries,
2901 * IDL [in] [out] [unique] *ResumeHandle
2905 srvsvc_dissect_netrshareenum_rqst(tvbuff_t *tvb, int offset,
2906 packet_info *pinfo, proto_tree *tree,
2909 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
2910 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
2912 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2913 hf_srvsvc_info_level, 0);
2915 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2916 srvsvc_dissect_SHARE_ENUM_UNION,
2917 NDR_POINTER_REF, "Shares", -1);
2919 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2920 hf_srvsvc_preferred_len, 0);
2922 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2923 srvsvc_dissect_ENUM_HANDLE,
2924 NDR_POINTER_UNIQUE, "Enum Handle", -1);
2930 srvsvc_dissect_netrshareenum_reply(tvbuff_t *tvb, int offset,
2931 packet_info *pinfo, proto_tree *tree,
2934 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2935 hf_srvsvc_info_level, 0);
2937 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2938 srvsvc_dissect_SHARE_ENUM_UNION,
2939 NDR_POINTER_REF, "Shares", -1);
2941 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2942 hf_srvsvc_total_entries, NULL);
2944 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2945 srvsvc_dissect_ENUM_HANDLE,
2946 NDR_POINTER_UNIQUE, "Enum Handle", -1);
2948 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
2949 hf_srvsvc_rc, NULL);
2955 * IDL long NetrShareGetInfo(
2956 * IDL [in] [string] [unique] wchar_t *ServerName,
2957 * IDL [in] [string] [ref] wchar_t *ShareName,
2958 * IDL [in] long Level,
2959 * IDL [out] [ref] SHARE_INFO_UNION *share
2963 srvsvc_dissect_netrsharegetinfo_rqst(tvbuff_t *tvb, int offset,
2964 packet_info *pinfo, proto_tree *tree,
2967 offset = dissect_ndr_pointer_cb(
2968 tvb, offset, pinfo, tree, drep,
2969 dissect_ndr_wchar_cvstring, NDR_POINTER_UNIQUE,
2970 "Server", hf_srvsvc_server, cb_wstr_postprocess,
2971 GINT_TO_POINTER(CB_STR_COL_INFO | 1));
2973 offset = dissect_ndr_pointer_cb(
2974 tvb, offset, pinfo, tree, drep,
2975 dissect_ndr_wchar_cvstring, NDR_POINTER_REF,
2976 "Share", hf_srvsvc_share, cb_wstr_postprocess,
2977 GINT_TO_POINTER(CB_STR_COL_INFO | 1));
2979 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
2980 hf_srvsvc_info_level, 0);
2986 srvsvc_dissect_netrsharegetinfo_reply(tvbuff_t *tvb, int offset,
2987 packet_info *pinfo, proto_tree *tree,
2990 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
2991 srvsvc_dissect_SHARE_INFO_UNION,
2992 NDR_POINTER_REF, "Share:", -1);
2994 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
2995 hf_srvsvc_rc, NULL);
3001 * IDL long NetrShareSetInfo(
3002 * IDL [in] [string] [unique] wchar_t *ServerName,
3003 * IDL [in] [string] [ref] wchar_t *ShareName,
3004 * IDL [in] long Level,
3005 * IDL [in] [ref] SHARE_INFO_UNION *share
3006 * IDL [in] [out] [unique] long *ParmError,
3010 srvsvc_dissect_netrsharesetinfo_rqst(tvbuff_t *tvb, int offset,
3011 packet_info *pinfo, proto_tree *tree,
3014 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3015 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
3017 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3018 NDR_POINTER_REF, "Share", hf_srvsvc_share, 0);
3020 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3021 hf_srvsvc_info_level, 0);
3023 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
3024 srvsvc_dissect_SHARE_INFO_UNION,
3025 NDR_POINTER_REF, "Share:", -1);
3027 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
3028 srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
3029 "Parameter Error:", hf_srvsvc_parm_error);
3034 srvsvc_dissect_netrsharesetinfo_reply(tvbuff_t *tvb, int offset,
3035 packet_info *pinfo, proto_tree *tree,
3038 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
3039 srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
3040 "Parameter Error:", hf_srvsvc_parm_error);
3042 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
3043 hf_srvsvc_rc, NULL);
3049 * IDL long NetrShareDel(
3050 * IDL [in] [string] [unique] wchar_t *ServerName,
3051 * IDL [in] [string] [ref] wchar_t *ShareName,
3052 * IDL [in] long Reserved,
3056 srvsvc_dissect_netrsharedel_rqst(tvbuff_t *tvb, int offset,
3057 packet_info *pinfo, proto_tree *tree,
3060 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3061 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
3063 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3064 NDR_POINTER_REF, "Share", hf_srvsvc_share, 0);
3066 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3067 hf_srvsvc_reserved, NULL);
3072 srvsvc_dissect_netrsharedel_reply(tvbuff_t *tvb, int offset,
3073 packet_info *pinfo, proto_tree *tree,
3076 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
3077 hf_srvsvc_rc, NULL);
3083 * IDL long NetrShareDelSticky(
3084 * IDL [in] [string] [unique] wchar_t *ServerName,
3085 * IDL [in] [string] [ref] wchar_t *ShareName,
3086 * IDL [in] long Reserved,
3090 srvsvc_dissect_netrsharedelsticky_rqst(tvbuff_t *tvb, int offset,
3091 packet_info *pinfo, proto_tree *tree,
3094 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3095 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
3097 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3098 NDR_POINTER_REF, "Share", hf_srvsvc_share, 0);
3100 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3101 hf_srvsvc_reserved, NULL);
3106 srvsvc_dissect_netrsharedelsticky_reply(tvbuff_t *tvb, int offset,
3107 packet_info *pinfo, proto_tree *tree,
3110 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
3111 hf_srvsvc_rc, NULL);
3117 * IDL long NetrShareCheck(
3118 * IDL [in] [string] [unique] wchar_t *ServerName,
3119 * IDL [in] [string] [ref] wchar_t *DeviceName,
3120 * IDL [out] long type
3124 srvsvc_dissect_netrsharecheck_rqst(tvbuff_t *tvb, int offset,
3125 packet_info *pinfo, proto_tree *tree,
3128 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3129 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
3131 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3132 NDR_POINTER_UNIQUE, "Char Device", hf_srvsvc_chrdev, 0);
3137 srvsvc_dissect_netrsharecheck_reply(tvbuff_t *tvb, int offset,
3138 packet_info *pinfo, proto_tree *tree,
3141 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3142 hf_srvsvc_share_type, NULL);
3144 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
3145 hf_srvsvc_rc, NULL);
3151 * IDL typedef struct {
3152 * IDL long platform_id;
3153 * IDL [string] [unique] wchar_t *server;
3154 * IDL } SERVER_INFO_100;
3157 srvsvc_dissect_SERVER_INFO_100(tvbuff_t *tvb, int offset,
3158 packet_info *pinfo, proto_tree *tree,
3161 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3162 hf_srvsvc_platform_id, NULL);
3164 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3165 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
3171 * IDL typedef struct {
3172 * IDL long platform_id;
3173 * IDL [string] [unique] wchar_t *server;
3174 * IDL long ver_major;
3175 * IDL long ver_minor;
3177 * IDL [string] [unique] wchar_t *comment;
3178 * IDL } SERVER_INFO_101;
3181 srvsvc_dissect_SERVER_INFO_101(tvbuff_t *tvb, int offset,
3182 packet_info *pinfo, proto_tree *tree,
3185 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3186 hf_srvsvc_platform_id, NULL);
3188 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3189 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
3191 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3192 hf_srvsvc_ver_major, NULL);
3194 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3195 hf_srvsvc_ver_minor, NULL);
3197 offset = dissect_smb_server_type_flags(
3198 tvb, offset, pinfo, tree, drep, TRUE);
3200 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3201 NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0);
3207 * IDL typedef struct {
3208 * IDL long platform_id;
3209 * IDL [string] [unique] wchar_t *server;
3210 * IDL long ver_major;
3211 * IDL long ver_minor;
3213 * IDL [string] [unique] wchar_t *comment;
3217 * IDL long announce;
3218 * IDL long anndelta;
3219 * IDL long licences;
3220 * IDL [string] [unique] wchar_t *userpath;
3221 * IDL } SERVER_INFO_102;
3224 srvsvc_dissect_SERVER_INFO_102(tvbuff_t *tvb, int offset,
3225 packet_info *pinfo, proto_tree *tree,
3228 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3229 hf_srvsvc_platform_id, NULL);
3231 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3232 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
3234 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3235 hf_srvsvc_ver_major, NULL);
3237 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3238 hf_srvsvc_ver_minor, NULL);
3240 offset = dissect_smb_server_type_flags(
3241 tvb, offset, pinfo, tree, drep, TRUE);
3243 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3244 NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0);
3246 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3247 hf_srvsvc_users, NULL);
3249 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3250 hf_srvsvc_disc, NULL);
3252 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3253 hf_srvsvc_hidden, NULL);
3255 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3256 hf_srvsvc_announce, NULL);
3258 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3259 hf_srvsvc_anndelta, NULL);
3261 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3262 hf_srvsvc_licences, NULL);
3264 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3265 NDR_POINTER_UNIQUE, "User Path", hf_srvsvc_user_path, 0);
3271 * IDL typedef struct {
3272 * IDL long ulist_mtime;
3273 * IDL long glist_mtime;
3274 * IDL long alist_mtime;
3275 * IDL [string] [unique] wchar_t *alerts;
3276 * IDL long security;
3277 * IDL long numadmin;
3279 * IDL [string] [unique] wchar_t *guestaccount;
3282 * IDL long chdevjobs;
3283 * IDL long connections;
3285 * IDL long openfiles;
3286 * IDL long sessopens;
3288 * IDL long sessreqs;
3289 * IDL long opensearch;
3290 * IDL long activelocks;
3291 * IDL long sizreqbufs
3292 * IDL long numbigbufs
3293 * IDL long numfiletasks;
3294 * IDL long alertsched;
3295 * IDL long erroralert;
3296 * IDL long logonalert;
3297 * IDL long accessalert;
3298 * IDL long diskalert;
3299 * IDL long netioalert;
3300 * IDL long maxauditsz;
3301 * IDL [string] [unique] wchar_t *srvheuristics;
3302 * IDL } SERVER_INFO_402;
3305 srvsvc_dissect_SERVER_INFO_402(tvbuff_t *tvb, int offset,
3306 packet_info *pinfo, proto_tree *tree,
3309 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3310 hf_srvsvc_ulist_mtime, NULL);
3312 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3313 hf_srvsvc_glist_mtime, NULL);
3315 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3316 hf_srvsvc_alist_mtime, NULL);
3318 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3319 NDR_POINTER_UNIQUE, "Alerts", hf_srvsvc_alerts, 0);
3321 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3322 hf_srvsvc_security, NULL);
3324 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3325 hf_srvsvc_numadmin, NULL);
3327 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3328 hf_srvsvc_lanmask, NULL);
3330 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3331 NDR_POINTER_UNIQUE, "Guest", hf_srvsvc_guest, 0);
3333 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3334 hf_srvsvc_chdevs, NULL);
3336 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3337 hf_srvsvc_chdevqs, NULL);
3339 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3340 hf_srvsvc_chdevjobs, NULL);
3342 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3343 hf_srvsvc_connections, NULL);
3345 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3346 hf_srvsvc_shares, NULL);
3348 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3349 hf_srvsvc_openfiles, NULL);
3351 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3352 hf_srvsvc_sessopens, NULL);
3354 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3355 hf_srvsvc_sessvcs, NULL);
3357 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3358 hf_srvsvc_sessreqs, NULL);
3360 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3361 hf_srvsvc_opensearch, NULL);
3363 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3364 hf_srvsvc_activelocks, NULL);
3366 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3367 hf_srvsvc_sizreqbufs, NULL);
3369 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3370 hf_srvsvc_numbigbufs, NULL);
3372 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3373 hf_srvsvc_numfiletasks, NULL);
3375 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3376 hf_srvsvc_alertsched, NULL);
3378 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3379 hf_srvsvc_erroralert, NULL);
3381 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3382 hf_srvsvc_logonalert, NULL);
3384 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3385 hf_srvsvc_accessalert, NULL);
3387 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3388 hf_srvsvc_diskalert, NULL);
3390 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3391 hf_srvsvc_netioalert, NULL);
3393 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3394 hf_srvsvc_maxauditsz, NULL);
3396 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3397 NDR_POINTER_UNIQUE, "Server Heuristics",
3398 hf_srvsvc_srvheuristics, 0);
3404 * IDL typedef struct {
3405 * IDL long ulist_mtime;
3406 * IDL long glist_mtime;
3407 * IDL long alist_mtime;
3408 * IDL [string] [unique] wchar_t *alerts;
3409 * IDL long security;
3410 * IDL long numadmin;
3412 * IDL [string] [unique] wchar_t *guestaccount;
3415 * IDL long chdevjobs;
3416 * IDL long connections;
3418 * IDL long openfiles;
3419 * IDL long sessopens;
3421 * IDL long sessreqs;
3422 * IDL long opensearch;
3423 * IDL long activelocks;
3424 * IDL long sizreqbufs
3425 * IDL long numbigbufs
3426 * IDL long numfiletasks;
3427 * IDL long alertsched;
3428 * IDL long erroralert;
3429 * IDL long logonalert;
3430 * IDL long accessalert;
3431 * IDL long diskalert;
3432 * IDL long netioalert;
3433 * IDL long maxauditsz;
3434 * IDL [string] [unique] wchar_t *srvheuristics;
3435 * IDL long auditedevents;
3436 * IDL long auditprofile;
3437 * IDL [string] [unique] wchar_t *autopath;
3438 * IDL } SERVER_INFO_403;
3441 srvsvc_dissect_SERVER_INFO_403(tvbuff_t *tvb, int offset,
3442 packet_info *pinfo, proto_tree *tree,
3445 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3446 hf_srvsvc_ulist_mtime, NULL);
3448 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3449 hf_srvsvc_glist_mtime, NULL);
3451 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3452 hf_srvsvc_alist_mtime, NULL);
3454 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3455 NDR_POINTER_UNIQUE, "Alerts", hf_srvsvc_alerts, 0);
3457 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3458 hf_srvsvc_security, NULL);
3460 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3461 hf_srvsvc_numadmin, NULL);
3463 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3464 hf_srvsvc_lanmask, NULL);
3466 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3467 NDR_POINTER_UNIQUE, "Guest", hf_srvsvc_guest, 0);
3469 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3470 hf_srvsvc_chdevs, NULL);
3472 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3473 hf_srvsvc_chdevqs, NULL);
3475 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3476 hf_srvsvc_chdevjobs, NULL);
3478 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3479 hf_srvsvc_connections, NULL);
3481 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3482 hf_srvsvc_shares, NULL);
3484 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3485 hf_srvsvc_openfiles, NULL);
3487 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3488 hf_srvsvc_sessopens, NULL);
3490 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3491 hf_srvsvc_sessvcs, NULL);
3493 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3494 hf_srvsvc_sessreqs, NULL);
3496 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3497 hf_srvsvc_opensearch, NULL);
3499 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3500 hf_srvsvc_activelocks, NULL);
3502 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3503 hf_srvsvc_sizreqbufs, NULL);
3505 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3506 hf_srvsvc_numbigbufs, NULL);
3508 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3509 hf_srvsvc_numfiletasks, NULL);
3511 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3512 hf_srvsvc_alertsched, NULL);
3514 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3515 hf_srvsvc_erroralert, NULL);
3517 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3518 hf_srvsvc_logonalert, NULL);
3520 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3521 hf_srvsvc_accessalert, NULL);
3523 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3524 hf_srvsvc_diskalert, NULL);
3526 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3527 hf_srvsvc_netioalert, NULL);
3529 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3530 hf_srvsvc_maxauditsz, NULL);
3532 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3533 NDR_POINTER_UNIQUE, "Server Heuristics",
3534 hf_srvsvc_srvheuristics, 0);
3536 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3537 hf_srvsvc_auditedevents, NULL);
3539 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3540 hf_srvsvc_auditprofile, NULL);
3542 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3543 NDR_POINTER_UNIQUE, "Autopath", hf_srvsvc_autopath, 0);
3549 * IDL typedef struct {
3550 * IDL long sessopens;
3552 * IDL long opensearch;
3553 * IDL long sizreqbufs
3554 * IDL long initworkitems;
3555 * IDL long maxworkitems;
3556 * IDL long rawworkitems;
3557 * IDL long irpstacksize;
3558 * IDL long maxrawbuflen;
3559 * IDL long sessusers;
3560 * IDL long sessconns;
3561 * IDL long maxpagedmemoryusage;
3562 * IDL long maxnonpagedmemoryusage;
3563 * IDL long enablesoftcompat;
3564 * IDL long enableforcedlogoff;
3565 * IDL long timesource
3566 * IDL long acceptdownlevelapis;
3567 * IDL long lmannounce;
3568 * IDL } SERVER_INFO_502;
3571 srvsvc_dissect_SERVER_INFO_502(tvbuff_t *tvb, int offset,
3572 packet_info *pinfo, proto_tree *tree,
3575 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3576 hf_srvsvc_sessopens, NULL);
3578 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3579 hf_srvsvc_sessvcs, NULL);
3581 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3582 hf_srvsvc_opensearch, NULL);
3584 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3585 hf_srvsvc_sizreqbufs, NULL);
3587 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3588 hf_srvsvc_initworkitems, NULL);
3590 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3591 hf_srvsvc_maxworkitems, NULL);
3593 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3594 hf_srvsvc_rawworkitems, NULL);
3596 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3597 hf_srvsvc_irpstacksize, NULL);
3599 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3600 hf_srvsvc_maxrawbuflen, NULL);
3602 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3603 hf_srvsvc_users, NULL);
3605 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3606 hf_srvsvc_connections, NULL);
3608 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3609 hf_srvsvc_maxpagedmemoryusage, NULL);
3611 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3612 hf_srvsvc_maxnonpagedmemoryusage, NULL);
3614 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3615 hf_srvsvc_enablesoftcompat, NULL);
3617 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3618 hf_srvsvc_enableforcedlogoff, NULL);
3620 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3621 hf_srvsvc_timesource, NULL);
3623 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3624 hf_srvsvc_acceptdownlevelapis, NULL);
3626 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3627 hf_srvsvc_lmannounce, NULL);
3633 * IDL typedef struct {
3634 * IDL long sessopens;
3636 * IDL long opensearch;
3637 * IDL long sizreqbufs
3638 * IDL long initworkitems;
3639 * IDL long maxworkitems;
3640 * IDL long rawworkitems;
3641 * IDL long irpstacksize;
3642 * IDL long maxrawbuflen;
3643 * IDL long sessusers;
3644 * IDL long sessconns;
3645 * IDL long maxpagedmemoryusage;
3646 * IDL long maxnonpagedmemoryusage;
3647 * IDL long enablesoftcompat;
3648 * IDL long enableforcedlogoff;
3649 * IDL long timesource
3650 * IDL long acceptdownlevelapis;
3651 * IDL long lmannounce;
3652 * IDL [string] [unique] wchar_t *domain;
3653 * IDL long maxcopyreadlen;
3654 * IDL long maxcopywritelen;
3655 * IDL long minkeepsearch;
3656 * IDL long mankeepsearch;
3657 * IDL long minkeepcomplsearch;
3658 * IDL long mankeepcomplsearch;
3659 * IDL long threadcountadd;
3660 * IDL long numblockthreads;
3661 * IDL long scavtimeout;
3662 * IDL long minrcvqueue;
3663 * IDL long minfreeworkitems;
3664 * IDL long xactmemsize;
3665 * IDL long threadpriority;
3666 * IDL long maxmpxct;
3667 * IDL long oplockbreakwait;
3668 * IDL long oplockbreakresponsewait;
3669 * IDL long enableoplocks;
3670 * IDL long enableoplockforceclose
3671 * IDL long enablefcbopens;
3672 * IDL long enableraw;
3673 * IDL long enablesharednetdrives;
3674 * IDL long minfreeconnections;
3675 * IDL long maxfreeconnections;
3676 * IDL } SERVER_INFO_503;
3679 srvsvc_dissect_SERVER_INFO_503(tvbuff_t *tvb, int offset,
3680 packet_info *pinfo, proto_tree *tree,
3683 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3684 hf_srvsvc_sessopens, NULL);
3686 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3687 hf_srvsvc_sessvcs, NULL);
3689 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3690 hf_srvsvc_opensearch, NULL);
3692 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3693 hf_srvsvc_sizreqbufs, NULL);
3695 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3696 hf_srvsvc_initworkitems, NULL);
3698 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3699 hf_srvsvc_maxworkitems, NULL);
3701 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3702 hf_srvsvc_rawworkitems, NULL);
3704 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3705 hf_srvsvc_irpstacksize, NULL);
3707 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3708 hf_srvsvc_maxrawbuflen, NULL);
3710 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3711 hf_srvsvc_users, NULL);
3713 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3714 hf_srvsvc_connections, NULL);
3716 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3717 hf_srvsvc_maxpagedmemoryusage, NULL);
3719 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3720 hf_srvsvc_maxnonpagedmemoryusage, NULL);
3722 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3723 hf_srvsvc_enablesoftcompat, NULL);
3725 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3726 hf_srvsvc_enableforcedlogoff, NULL);
3728 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3729 hf_srvsvc_timesource, NULL);
3731 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3732 hf_srvsvc_acceptdownlevelapis, NULL);
3734 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3735 hf_srvsvc_lmannounce, NULL);
3737 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3738 NDR_POINTER_UNIQUE, "Domain", hf_srvsvc_domain, 0);
3740 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3741 hf_srvsvc_maxcopyreadlen, NULL);
3743 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3744 hf_srvsvc_maxcopywritelen, NULL);
3746 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3747 hf_srvsvc_minkeepsearch, NULL);
3749 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3750 hf_srvsvc_maxkeepsearch, NULL);
3752 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3753 hf_srvsvc_minkeepcomplsearch, NULL);
3755 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3756 hf_srvsvc_maxkeepcomplsearch, NULL);
3758 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3759 hf_srvsvc_threadcountadd, NULL);
3761 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3762 hf_srvsvc_numblockthreads, NULL);
3764 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3765 hf_srvsvc_scavtimeout, NULL);
3767 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3768 hf_srvsvc_minrcvqueue, NULL);
3770 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3771 hf_srvsvc_minfreeworkitems, NULL);
3773 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3774 hf_srvsvc_xactmemsize, NULL);
3776 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3777 hf_srvsvc_threadpriority, NULL);
3779 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3780 hf_srvsvc_maxmpxct, NULL);
3782 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3783 hf_srvsvc_oplockbreakwait, NULL);
3785 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3786 hf_srvsvc_oplockbreakresponsewait, NULL);
3788 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3789 hf_srvsvc_enableoplocks, NULL);
3791 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3792 hf_srvsvc_enableoplockforceclose, NULL);
3794 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3795 hf_srvsvc_enablefcbopens, NULL);
3797 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3798 hf_srvsvc_enableraw, NULL);
3800 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3801 hf_srvsvc_enablesharednetdrives, NULL);
3803 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3804 hf_srvsvc_minfreeconnections, NULL);
3806 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3807 hf_srvsvc_maxfreeconnections, NULL);
3814 * IDL typedef struct {
3815 * IDL long sessopens;
3817 * IDL long opensearch;
3818 * IDL long sizreqbufs
3819 * IDL long initworkitems;
3820 * IDL long maxworkitems;
3821 * IDL long rawworkitems;
3822 * IDL long irpstacksize;
3823 * IDL long maxrawbuflen;
3824 * IDL long sessusers;
3825 * IDL long sessconns;
3826 * IDL long maxpagedmemoryusage;
3827 * IDL long maxnonpagedmemoryusage;
3828 * IDL long enablesoftcompat;
3829 * IDL long enableforcedlogoff;
3830 * IDL long timesource
3831 * IDL long acceptdownlevelapis;
3832 * IDL long lmannounce;
3833 * IDL [string] [unique] wchar_t *domain;
3834 * IDL long maxcopyreadlen;
3835 * IDL long maxcopywritelen;
3836 * IDL long minkeepsearch;
3837 * IDL long mankeepsearch;
3838 * IDL long minkeepcomplsearch;
3839 * IDL long mankeepcomplsearch;
3840 * IDL long threadcountadd;
3841 * IDL long numblockthreads;
3842 * IDL long scavtimeout;
3843 * IDL long minrcvqueue;
3844 * IDL long minfreeworkitems;
3845 * IDL long xactmemsize;
3846 * IDL long threadpriority;
3847 * IDL long maxmpxct;
3848 * IDL long oplockbreakwait;
3849 * IDL long oplockbreakresponsewait;
3850 * IDL long enableoplocks;
3851 * IDL long enableoplockforceclose
3852 * IDL long enablefcbopens;
3853 * IDL long enableraw;
3854 * IDL long enablesharednetdrives;
3855 * IDL long minfreeconnections;
3856 * IDL long maxfreeconnections;
3857 * IDL long initsesstable;
3858 * IDL long initconntable;
3859 * IDL long initfiletable;
3860 * IDL long initsearchtable;
3861 * IDL long alertsched;
3862 * IDL long errortreshold;
3863 * IDL long networkerrortreshold;
3864 * IDL long diskspacetreshold;
3865 * IDL long reserved;
3866 * IDL long maxlinkdelay;
3867 * IDL long minlinkthroughput;
3868 * IDL long linkinfovalidtime;
3869 * IDL long scavqosinfoupdatetime;
3870 * IDL long maxworkitemidletime;
3871 * IDL } SERVER_INFO_599;
3874 srvsvc_dissect_SERVER_INFO_599(tvbuff_t *tvb, int offset,
3875 packet_info *pinfo, proto_tree *tree,
3878 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3879 hf_srvsvc_sessopens, NULL);
3881 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3882 hf_srvsvc_sessvcs, NULL);
3884 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3885 hf_srvsvc_opensearch, NULL);
3887 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3888 hf_srvsvc_sizreqbufs, NULL);
3890 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3891 hf_srvsvc_initworkitems, NULL);
3893 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3894 hf_srvsvc_maxworkitems, NULL);
3896 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3897 hf_srvsvc_rawworkitems, NULL);
3899 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3900 hf_srvsvc_irpstacksize, NULL);
3902 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3903 hf_srvsvc_maxrawbuflen, NULL);
3905 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3906 hf_srvsvc_users, NULL);
3908 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3909 hf_srvsvc_connections, NULL);
3911 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3912 hf_srvsvc_maxpagedmemoryusage, NULL);
3914 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3915 hf_srvsvc_maxnonpagedmemoryusage, NULL);
3917 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3918 hf_srvsvc_enablesoftcompat, NULL);
3920 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3921 hf_srvsvc_enableforcedlogoff, NULL);
3923 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3924 hf_srvsvc_timesource, NULL);
3926 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3927 hf_srvsvc_acceptdownlevelapis, NULL);
3929 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3930 hf_srvsvc_lmannounce, NULL);
3932 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
3933 NDR_POINTER_UNIQUE, "Domain", hf_srvsvc_domain, 0);
3935 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3936 hf_srvsvc_maxcopyreadlen, NULL);
3938 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3939 hf_srvsvc_maxcopywritelen, NULL);
3941 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3942 hf_srvsvc_minkeepsearch, NULL);
3944 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3945 hf_srvsvc_maxkeepsearch, NULL);
3947 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3948 hf_srvsvc_minkeepcomplsearch, NULL);
3950 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3951 hf_srvsvc_maxkeepcomplsearch, NULL);
3953 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3954 hf_srvsvc_threadcountadd, NULL);
3956 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3957 hf_srvsvc_numblockthreads, NULL);
3959 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3960 hf_srvsvc_scavtimeout, NULL);
3962 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3963 hf_srvsvc_minrcvqueue, NULL);
3965 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3966 hf_srvsvc_minfreeworkitems, NULL);
3968 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3969 hf_srvsvc_xactmemsize, NULL);
3971 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3972 hf_srvsvc_threadpriority, NULL);
3974 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3975 hf_srvsvc_maxmpxct, NULL);
3977 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3978 hf_srvsvc_oplockbreakwait, NULL);
3980 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3981 hf_srvsvc_oplockbreakresponsewait, NULL);
3983 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3984 hf_srvsvc_enableoplocks, NULL);
3986 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3987 hf_srvsvc_enableoplockforceclose, NULL);
3989 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3990 hf_srvsvc_enablefcbopens, NULL);
3992 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3993 hf_srvsvc_enableraw, NULL);
3995 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3996 hf_srvsvc_enablesharednetdrives, NULL);
3998 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
3999 hf_srvsvc_minfreeconnections, NULL);
4001 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4002 hf_srvsvc_maxfreeconnections, NULL);
4004 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4005 hf_srvsvc_initsesstable, NULL);
4007 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4008 hf_srvsvc_initconntable, NULL);
4010 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4011 hf_srvsvc_initfiletable, NULL);
4013 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4014 hf_srvsvc_initsearchtable, NULL);
4016 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4017 hf_srvsvc_alertsched, NULL);
4019 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4020 hf_srvsvc_errortreshold, NULL);
4022 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4023 hf_srvsvc_networkerrortreshold, NULL);
4025 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4026 hf_srvsvc_diskspacetreshold, NULL);
4028 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4029 hf_srvsvc_reserved, NULL);
4031 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4032 hf_srvsvc_reserved, NULL);
4034 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4035 hf_srvsvc_maxlinkdelay, NULL);
4037 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4038 hf_srvsvc_minlinkthroughput, NULL);
4040 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4041 hf_srvsvc_linkinfovalidtime, NULL);
4043 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4044 hf_srvsvc_scavqosinfoupdatetime, NULL);
4046 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4047 hf_srvsvc_maxworkitemidletime, NULL);
4053 * IDL typedef struct {
4054 * IDL [string] [unique] wchar_t *comment;
4055 * IDL } SERVER_INFO_1005;
4058 srvsvc_dissect_SERVER_INFO_1005(tvbuff_t *tvb, int offset,
4059 packet_info *pinfo, proto_tree *tree,
4062 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
4063 NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0);
4069 * IDL typedef struct {
4071 * IDL } SERVER_INFO_1010;
4074 srvsvc_dissect_SERVER_INFO_1010(tvbuff_t *tvb, int offset,
4075 packet_info *pinfo, proto_tree *tree,
4078 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4079 hf_srvsvc_disc, NULL);
4085 * IDL typedef struct {
4087 * IDL } SERVER_INFO_1016;
4090 srvsvc_dissect_SERVER_INFO_1016(tvbuff_t *tvb, int offset,
4091 packet_info *pinfo, proto_tree *tree,
4094 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4095 hf_srvsvc_hidden, NULL);
4101 * IDL typedef struct {
4102 * IDL long announce;
4103 * IDL } SERVER_INFO_1017;
4106 srvsvc_dissect_SERVER_INFO_1017(tvbuff_t *tvb, int offset,
4107 packet_info *pinfo, proto_tree *tree,
4110 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4111 hf_srvsvc_announce, NULL);
4117 * IDL typedef struct {
4118 * IDL long anndelta;
4119 * IDL } SERVER_INFO_1018;
4122 srvsvc_dissect_SERVER_INFO_1018(tvbuff_t *tvb, int offset,
4123 packet_info *pinfo, proto_tree *tree,
4126 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4127 hf_srvsvc_anndelta, NULL);
4133 * IDL typedef struct {
4135 * IDL } SERVER_INFO_1107;
4138 srvsvc_dissect_SERVER_INFO_1107(tvbuff_t *tvb, int offset,
4139 packet_info *pinfo, proto_tree *tree,
4142 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4143 hf_srvsvc_users, NULL);
4149 * IDL typedef struct {
4150 * IDL long sessopens;
4151 * IDL } SERVER_INFO_1501;
4154 srvsvc_dissect_SERVER_INFO_1501(tvbuff_t *tvb, int offset,
4155 packet_info *pinfo, proto_tree *tree,
4158 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4159 hf_srvsvc_sessopens, NULL);
4165 * IDL typedef struct {
4167 * IDL } SERVER_INFO_1502;
4170 srvsvc_dissect_SERVER_INFO_1502(tvbuff_t *tvb, int offset,
4171 packet_info *pinfo, proto_tree *tree,
4174 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4175 hf_srvsvc_sessvcs, NULL);
4181 * IDL typedef struct {
4182 * IDL long opensearch;
4183 * IDL } SERVER_INFO_1503;
4186 srvsvc_dissect_SERVER_INFO_1503(tvbuff_t *tvb, int offset,
4187 packet_info *pinfo, proto_tree *tree,
4190 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4191 hf_srvsvc_opensearch, NULL);
4197 * IDL typedef struct {
4198 * IDL long maxworkitems;
4199 * IDL } SERVER_INFO_1506;
4202 srvsvc_dissect_SERVER_INFO_1506(tvbuff_t *tvb, int offset,
4203 packet_info *pinfo, proto_tree *tree,
4206 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4207 hf_srvsvc_maxworkitems, NULL);
4213 * IDL typedef struct {
4214 * IDL long maxrawbuflen;
4215 * IDL } SERVER_INFO_1509;
4218 srvsvc_dissect_SERVER_INFO_1509(tvbuff_t *tvb, int offset,
4219 packet_info *pinfo, proto_tree *tree,
4222 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4223 hf_srvsvc_maxrawbuflen, NULL);
4229 * IDL typedef struct {
4230 * IDL long sessusers;
4231 * IDL } SERVER_INFO_1510;
4234 srvsvc_dissect_SERVER_INFO_1510(tvbuff_t *tvb, int offset,
4235 packet_info *pinfo, proto_tree *tree,
4238 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4239 hf_srvsvc_users, NULL);
4245 * IDL typedef struct {
4246 * IDL long sessconns;
4247 * IDL } SERVER_INFO_1511;
4250 srvsvc_dissect_SERVER_INFO_1511(tvbuff_t *tvb, int offset,
4251 packet_info *pinfo, proto_tree *tree,
4254 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4255 hf_srvsvc_connections, NULL);
4261 * IDL typedef struct {
4262 * IDL long maxnonpagedmemoryusage;
4263 * IDL } SERVER_INFO_1512;
4266 srvsvc_dissect_SERVER_INFO_1512(tvbuff_t *tvb, int offset,
4267 packet_info *pinfo, proto_tree *tree,
4270 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4271 hf_srvsvc_maxnonpagedmemoryusage, NULL);
4277 * IDL typedef struct {
4278 * IDL long maxpagedmemoryusage;
4279 * IDL } SERVER_INFO_1513;
4282 srvsvc_dissect_SERVER_INFO_1513(tvbuff_t *tvb, int offset,
4283 packet_info *pinfo, proto_tree *tree,
4286 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4287 hf_srvsvc_maxpagedmemoryusage, NULL);
4293 * IDL typedef struct {
4294 * IDL long enablesoftcompat;
4295 * IDL } SERVER_INFO_1514;
4298 srvsvc_dissect_SERVER_INFO_1514(tvbuff_t *tvb, int offset,
4299 packet_info *pinfo, proto_tree *tree,
4302 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4303 hf_srvsvc_enablesoftcompat, NULL);
4309 * IDL typedef struct {
4310 * IDL long enableforcedlogoff;
4311 * IDL } SERVER_INFO_1515;
4314 srvsvc_dissect_SERVER_INFO_1515(tvbuff_t *tvb, int offset,
4315 packet_info *pinfo, proto_tree *tree,
4318 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4319 hf_srvsvc_enableforcedlogoff, NULL);
4325 * IDL typedef struct {
4326 * IDL long timesource;
4327 * IDL } SERVER_INFO_1516;
4330 srvsvc_dissect_SERVER_INFO_1516(tvbuff_t *tvb, int offset,
4331 packet_info *pinfo, proto_tree *tree,
4334 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4335 hf_srvsvc_timesource, NULL);
4341 * IDL typedef struct {
4342 * IDL long lmannounce;
4343 * IDL } SERVER_INFO_1518;
4346 srvsvc_dissect_SERVER_INFO_1518(tvbuff_t *tvb, int offset,
4347 packet_info *pinfo, proto_tree *tree,
4350 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4351 hf_srvsvc_lmannounce, NULL);
4357 * IDL typedef struct {
4358 * IDL long maxcopyreadlen;
4359 * IDL } SERVER_INFO_1520;
4362 srvsvc_dissect_SERVER_INFO_1520(tvbuff_t *tvb, int offset,
4363 packet_info *pinfo, proto_tree *tree,
4366 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4367 hf_srvsvc_maxcopyreadlen, NULL);
4373 * IDL typedef struct {
4374 * IDL long maxcopywritelen;
4375 * IDL } SERVER_INFO_1521;
4378 srvsvc_dissect_SERVER_INFO_1521(tvbuff_t *tvb, int offset,
4379 packet_info *pinfo, proto_tree *tree,
4382 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4383 hf_srvsvc_maxcopywritelen, NULL);
4389 * IDL typedef struct {
4390 * IDL long minkeepsearch;
4391 * IDL } SERVER_INFO_1522;
4394 srvsvc_dissect_SERVER_INFO_1522(tvbuff_t *tvb, int offset,
4395 packet_info *pinfo, proto_tree *tree,
4398 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4399 hf_srvsvc_minkeepsearch, NULL);
4405 * IDL typedef struct {
4406 * IDL long maxkeepsearch;
4407 * IDL } SERVER_INFO_1523;
4410 srvsvc_dissect_SERVER_INFO_1523(tvbuff_t *tvb, int offset,
4411 packet_info *pinfo, proto_tree *tree,
4414 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4415 hf_srvsvc_maxkeepsearch, NULL);
4421 * IDL typedef struct {
4422 * IDL long minkeepcomplsearch;
4423 * IDL } SERVER_INFO_1524;
4426 srvsvc_dissect_SERVER_INFO_1524(tvbuff_t *tvb, int offset,
4427 packet_info *pinfo, proto_tree *tree,
4430 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4431 hf_srvsvc_minkeepcomplsearch, NULL);
4437 * IDL typedef struct {
4438 * IDL long maxkeepcomplsearch;
4439 * IDL } SERVER_INFO_1525;
4442 srvsvc_dissect_SERVER_INFO_1525(tvbuff_t *tvb, int offset,
4443 packet_info *pinfo, proto_tree *tree,
4446 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4447 hf_srvsvc_maxkeepcomplsearch, NULL);
4453 * IDL typedef struct {
4454 * IDL long scavtimeout;
4455 * IDL } SERVER_INFO_1528;
4458 srvsvc_dissect_SERVER_INFO_1528(tvbuff_t *tvb, int offset,
4459 packet_info *pinfo, proto_tree *tree,
4462 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4463 hf_srvsvc_scavtimeout, NULL);
4469 * IDL typedef struct {
4470 * IDL long minrcvqueue;
4471 * IDL } SERVER_INFO_1529;
4474 srvsvc_dissect_SERVER_INFO_1529(tvbuff_t *tvb, int offset,
4475 packet_info *pinfo, proto_tree *tree,
4478 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4479 hf_srvsvc_minrcvqueue, NULL);
4485 * IDL typedef struct {
4486 * IDL long minfreeworkitems;
4487 * IDL } SERVER_INFO_1530;
4490 srvsvc_dissect_SERVER_INFO_1530(tvbuff_t *tvb, int offset,
4491 packet_info *pinfo, proto_tree *tree,
4494 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4495 hf_srvsvc_minfreeworkitems, NULL);
4501 * IDL typedef struct {
4502 * IDL long maxmpxct;
4503 * IDL } SERVER_INFO_1533;
4506 srvsvc_dissect_SERVER_INFO_1533(tvbuff_t *tvb, int offset,
4507 packet_info *pinfo, proto_tree *tree,
4510 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4511 hf_srvsvc_maxmpxct, NULL);
4517 * IDL typedef struct {
4518 * IDL long oplockbreakwait;
4519 * IDL } SERVER_INFO_1534;
4522 srvsvc_dissect_SERVER_INFO_1534(tvbuff_t *tvb, int offset,
4523 packet_info *pinfo, proto_tree *tree,
4526 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4527 hf_srvsvc_oplockbreakwait, NULL);
4533 * IDL typedef struct {
4534 * IDL long oplockbreakresponsewait;
4535 * IDL } SERVER_INFO_1535;
4538 srvsvc_dissect_SERVER_INFO_1535(tvbuff_t *tvb, int offset,
4539 packet_info *pinfo, proto_tree *tree,
4542 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4543 hf_srvsvc_oplockbreakresponsewait, NULL);
4549 * IDL typedef struct {
4550 * IDL long enableoplocks;
4551 * IDL } SERVER_INFO_1536;
4554 srvsvc_dissect_SERVER_INFO_1536(tvbuff_t *tvb, int offset,
4555 packet_info *pinfo, proto_tree *tree,
4558 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4559 hf_srvsvc_enableoplocks, NULL);
4565 * IDL typedef struct {
4566 * IDL long enableoplockforceclose;
4567 * IDL } SERVER_INFO_1537;
4570 srvsvc_dissect_SERVER_INFO_1537(tvbuff_t *tvb, int offset,
4571 packet_info *pinfo, proto_tree *tree,
4574 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4575 hf_srvsvc_enableoplockforceclose, NULL);
4581 * IDL typedef struct {
4582 * IDL long enablefcbopens;
4583 * IDL } SERVER_INFO_1538;
4586 srvsvc_dissect_SERVER_INFO_1538(tvbuff_t *tvb, int offset,
4587 packet_info *pinfo, proto_tree *tree,
4590 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4591 hf_srvsvc_enablefcbopens, NULL);
4597 * IDL typedef struct {
4598 * IDL long enableraw;
4599 * IDL } SERVER_INFO_1539;
4602 srvsvc_dissect_SERVER_INFO_1539(tvbuff_t *tvb, int offset,
4603 packet_info *pinfo, proto_tree *tree,
4606 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4607 hf_srvsvc_enableraw, NULL);
4613 * IDL typedef struct {
4614 * IDL long enablesharednetdrives;
4615 * IDL } SERVER_INFO_1540;
4618 srvsvc_dissect_SERVER_INFO_1540(tvbuff_t *tvb, int offset,
4619 packet_info *pinfo, proto_tree *tree,
4622 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4623 hf_srvsvc_enablesharednetdrives, NULL);
4629 * IDL typedef struct {
4630 * IDL long minfreeconnections;
4631 * IDL } SERVER_INFO_1541;
4634 srvsvc_dissect_SERVER_INFO_1541(tvbuff_t *tvb, int offset,
4635 packet_info *pinfo, proto_tree *tree,
4638 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4639 hf_srvsvc_minfreeconnections, NULL);
4645 * IDL typedef struct {
4646 * IDL long maxfreeconnections;
4647 * IDL } SERVER_INFO_1542;
4650 srvsvc_dissect_SERVER_INFO_1542(tvbuff_t *tvb, int offset,
4651 packet_info *pinfo, proto_tree *tree,
4654 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4655 hf_srvsvc_maxfreeconnections, NULL);
4661 * IDL typedef struct {
4662 * IDL long initsesstable;
4663 * IDL } SERVER_INFO_1543;
4666 srvsvc_dissect_SERVER_INFO_1543(tvbuff_t *tvb, int offset,
4667 packet_info *pinfo, proto_tree *tree,
4670 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4671 hf_srvsvc_initsesstable, NULL);
4677 * IDL typedef struct {
4678 * IDL long initconntable;
4679 * IDL } SERVER_INFO_1544;
4682 srvsvc_dissect_SERVER_INFO_1544(tvbuff_t *tvb, int offset,
4683 packet_info *pinfo, proto_tree *tree,
4686 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4687 hf_srvsvc_initconntable, NULL);
4693 * IDL typedef struct {
4694 * IDL long initfiletable;
4695 * IDL } SERVER_INFO_1545;
4698 srvsvc_dissect_SERVER_INFO_1545(tvbuff_t *tvb, int offset,
4699 packet_info *pinfo, proto_tree *tree,
4702 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4703 hf_srvsvc_initfiletable, NULL);
4709 * IDL typedef struct {
4710 * IDL long initsearchtable;
4711 * IDL } SERVER_INFO_1546;
4714 srvsvc_dissect_SERVER_INFO_1546(tvbuff_t *tvb, int offset,
4715 packet_info *pinfo, proto_tree *tree,
4718 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4719 hf_srvsvc_initsearchtable, NULL);
4725 * IDL typedef struct {
4726 * IDL long alertsched;
4727 * IDL } SERVER_INFO_1547;
4730 srvsvc_dissect_SERVER_INFO_1547(tvbuff_t *tvb, int offset,
4731 packet_info *pinfo, proto_tree *tree,
4734 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4735 hf_srvsvc_alertsched, NULL);
4741 * IDL typedef struct {
4742 * IDL long errortreshold;
4743 * IDL } SERVER_INFO_1548;
4746 srvsvc_dissect_SERVER_INFO_1548(tvbuff_t *tvb, int offset,
4747 packet_info *pinfo, proto_tree *tree,
4750 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4751 hf_srvsvc_errortreshold, NULL);
4757 * IDL typedef struct {
4758 * IDL long networkerrortreshold;
4759 * IDL } SERVER_INFO_1549;
4762 srvsvc_dissect_SERVER_INFO_1549(tvbuff_t *tvb, int offset,
4763 packet_info *pinfo, proto_tree *tree,
4766 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4767 hf_srvsvc_networkerrortreshold, NULL);
4773 * IDL typedef struct {
4774 * IDL long diskspacetreshold;
4775 * IDL } SERVER_INFO_1550;
4778 srvsvc_dissect_SERVER_INFO_1550(tvbuff_t *tvb, int offset,
4779 packet_info *pinfo, proto_tree *tree,
4782 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4783 hf_srvsvc_diskspacetreshold, NULL);
4789 * IDL typedef struct {
4790 * IDL long maxlinkdelay;
4791 * IDL } SERVER_INFO_1552;
4794 srvsvc_dissect_SERVER_INFO_1552(tvbuff_t *tvb, int offset,
4795 packet_info *pinfo, proto_tree *tree,
4798 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4799 hf_srvsvc_maxlinkdelay, NULL);
4805 * IDL typedef struct {
4806 * IDL long minlinkthroughput;
4807 * IDL } SERVER_INFO_1553;
4810 srvsvc_dissect_SERVER_INFO_1553(tvbuff_t *tvb, int offset,
4811 packet_info *pinfo, proto_tree *tree,
4814 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4815 hf_srvsvc_minlinkthroughput, NULL);
4821 * IDL typedef struct {
4822 * IDL long linkinfovalidtime;
4823 * IDL } SERVER_INFO_1554;
4826 srvsvc_dissect_SERVER_INFO_1554(tvbuff_t *tvb, int offset,
4827 packet_info *pinfo, proto_tree *tree,
4830 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4831 hf_srvsvc_linkinfovalidtime, NULL);
4837 * IDL typedef struct {
4838 * IDL long scavqosinfoupdatetime;
4839 * IDL } SERVER_INFO_1555;
4842 srvsvc_dissect_SERVER_INFO_1555(tvbuff_t *tvb, int offset,
4843 packet_info *pinfo, proto_tree *tree,
4846 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4847 hf_srvsvc_scavqosinfoupdatetime, NULL);
4853 * IDL typedef struct {
4854 * IDL long maxworkitemidletime;
4855 * IDL } SERVER_INFO_1556;
4858 srvsvc_dissect_SERVER_INFO_1556(tvbuff_t *tvb, int offset,
4859 packet_info *pinfo, proto_tree *tree,
4862 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
4863 hf_srvsvc_maxworkitemidletime, NULL);
4869 * IDL typedef [switch_type(long)] union {
4870 * IDL [case(100)] [unique] SERVER_INFO_100 *srv100;
4871 * IDL [case(101)] [unique] SERVER_INFO_101 *srv101;
4872 * IDL [case(102)] [unique] SERVER_INFO_102 *srv102;
4873 * IDL [case(402)] [unique] SERVER_INFO_402 *srv402;
4874 * IDL [case(403)] [unique] SERVER_INFO_403 *srv403;
4875 * IDL [case(502)] [unique] SERVER_INFO_502 *srv502;
4876 * IDL [case(503)] [unique] SERVER_INFO_503 *srv503;
4877 * IDL [case(599)] [unique] SERVER_INFO_599 *srv599;
4878 * IDL [case(1005)] [unique] SERVER_INFO_1005 *srv1005;
4879 * IDL [case(1010)] [unique] SERVER_INFO_1010 *srv1010;
4880 * IDL [case(1016)] [unique] SERVER_INFO_1016 *srv1016;
4881 * IDL [case(1017)] [unique] SERVER_INFO_1017 *srv1017;
4882 * IDL [case(1018)] [unique] SERVER_INFO_1018 *srv1018;
4883 * IDL [case(1107)] [unique] SERVER_INFO_1107 *srv1107;
4884 * IDL [case(1501)] [unique] SERVER_INFO_1501 *srv1501;
4885 * IDL [case(1502)] [unique] SERVER_INFO_1502 *srv1502;
4886 * IDL [case(1503)] [unique] SERVER_INFO_1503 *srv1503;
4887 * IDL [case(1506)] [unique] SERVER_INFO_1506 *srv1506;
4888 * IDL [case(1509)] [unique] SERVER_INFO_1509 *srv1509;
4889 * IDL [case(1510)] [unique] SERVER_INFO_1510 *srv1510;
4890 * IDL [case(1511)] [unique] SERVER_INFO_1511 *srv1511;
4891 * IDL [case(1512)] [unique] SERVER_INFO_1512 *srv1512;
4892 * IDL [case(1513)] [unique] SERVER_INFO_1513 *srv1513;
4893 * IDL [case(1514)] [unique] SERVER_INFO_1514 *srv1514;
4894 * IDL [case(1515)] [unique] SERVER_INFO_1515 *srv1515;
4895 * IDL [case(1516)] [unique] SERVER_INFO_1516 *srv1516;
4896 * IDL [case(1518)] [unique] SERVER_INFO_1518 *srv1518;
4897 * IDL [case(1520)] [unique] SERVER_INFO_1520 *srv1520;
4898 * IDL [case(1521)] [unique] SERVER_INFO_1521 *srv1521;
4899 * IDL [case(1522)] [unique] SERVER_INFO_1522 *srv1522;
4900 * IDL [case(1523)] [unique] SERVER_INFO_1523 *srv1523;
4901 * IDL [case(1524)] [unique] SERVER_INFO_1524 *srv1524;
4902 * IDL [case(1525)] [unique] SERVER_INFO_1525 *srv1525;
4903 * IDL [case(1528)] [unique] SERVER_INFO_1528 *srv1528;
4904 * IDL [case(1529)] [unique] SERVER_INFO_1529 *srv1529;
4905 * IDL [case(1530)] [unique] SERVER_INFO_1530 *srv1530;
4906 * IDL [case(1533)] [unique] SERVER_INFO_1533 *srv1533;
4907 * IDL [case(1534)] [unique] SERVER_INFO_1534 *srv1534;
4908 * IDL [case(1535)] [unique] SERVER_INFO_1535 *srv1535;
4909 * IDL [case(1536)] [unique] SERVER_INFO_1536 *srv1536;
4910 * IDL [case(1537)] [unique] SERVER_INFO_1537 *srv1537;
4911 * IDL [case(1538)] [unique] SERVER_INFO_1538 *srv1538;
4912 * IDL [case(1539)] [unique] SERVER_INFO_1539 *srv1539;
4913 * IDL [case(1540)] [unique] SERVER_INFO_1540 *srv1540;
4914 * IDL [case(1541)] [unique] SERVER_INFO_1541 *srv1541;
4915 * IDL [case(1542)] [unique] SERVER_INFO_1542 *srv1542;
4916 * IDL [case(1543)] [unique] SERVER_INFO_1543 *srv1543;
4917 * IDL [case(1544)] [unique] SERVER_INFO_1544 *srv1544;
4918 * IDL [case(1545)] [unique] SERVER_INFO_1545 *srv1545;
4919 * IDL [case(1546)] [unique] SERVER_INFO_1546 *srv1546;
4920 * IDL [case(1547)] [unique] SERVER_INFO_1547 *srv1547;
4921 * IDL [case(1548)] [unique] SERVER_INFO_1548 *srv1548;
4922 * IDL [case(1549)] [unique] SERVER_INFO_1549 *srv1549;
4923 * IDL [case(1550)] [unique] SERVER_INFO_1550 *srv1550;
4924 * IDL [case(1552)] [unique] SERVER_INFO_1552 *srv1552;
4925 * IDL [case(1553)] [unique] SERVER_INFO_1553 *srv1553;
4926 * IDL [case(1554)] [unique] SERVER_INFO_1554 *srv1554;
4927 * IDL [case(1555)] [unique] SERVER_INFO_1555 *srv1555;
4928 * IDL [case(1556)] [unique] SERVER_INFO_1556 *srv1556;
4929 * IDL } SERVER_INFO_UNION;
4932 srvsvc_dissect_SERVER_INFO_UNION(tvbuff_t *tvb, int offset,
4933 packet_info *pinfo, proto_tree *tree,
4940 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
4944 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
4945 srvsvc_dissect_SERVER_INFO_100,
4946 NDR_POINTER_UNIQUE, "SERVER_INFO_100:", -1);
4950 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
4951 srvsvc_dissect_SERVER_INFO_101,
4952 NDR_POINTER_UNIQUE, "SERVER_INFO_101:", -1);
4956 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
4957 srvsvc_dissect_SERVER_INFO_102,
4958 NDR_POINTER_UNIQUE, "SERVER_INFO_102:", -1);
4962 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
4963 srvsvc_dissect_SERVER_INFO_402,
4964 NDR_POINTER_UNIQUE, "SERVER_INFO_402:", -1);
4968 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
4969 srvsvc_dissect_SERVER_INFO_403,
4970 NDR_POINTER_UNIQUE, "SERVER_INFO_403:", -1);
4974 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
4975 srvsvc_dissect_SERVER_INFO_502,
4976 NDR_POINTER_UNIQUE, "SERVER_INFO_502:", -1);
4980 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
4981 srvsvc_dissect_SERVER_INFO_503,
4982 NDR_POINTER_UNIQUE, "SERVER_INFO_503:", -1);
4986 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
4987 srvsvc_dissect_SERVER_INFO_599,
4988 NDR_POINTER_UNIQUE, "SERVER_INFO_599:", -1);
4992 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
4993 srvsvc_dissect_SERVER_INFO_1005,
4994 NDR_POINTER_UNIQUE, "SERVER_INFO_1005:", -1);
4998 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
4999 srvsvc_dissect_SERVER_INFO_1010,
5000 NDR_POINTER_UNIQUE, "SERVER_INFO_1010:", -1);
5004 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5005 srvsvc_dissect_SERVER_INFO_1016,
5006 NDR_POINTER_UNIQUE, "SERVER_INFO_1016:", -1);
5010 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5011 srvsvc_dissect_SERVER_INFO_1017,
5012 NDR_POINTER_UNIQUE, "SERVER_INFO_1017:", -1);
5016 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5017 srvsvc_dissect_SERVER_INFO_1018,
5018 NDR_POINTER_UNIQUE, "SERVER_INFO_1018:", -1);
5022 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5023 srvsvc_dissect_SERVER_INFO_1107,
5024 NDR_POINTER_UNIQUE, "SERVER_INFO_1107:", -1);
5028 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5029 srvsvc_dissect_SERVER_INFO_1501,
5030 NDR_POINTER_UNIQUE, "SERVER_INFO_1501:", -1);
5034 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5035 srvsvc_dissect_SERVER_INFO_1502,
5036 NDR_POINTER_UNIQUE, "SERVER_INFO_1502:", -1);
5040 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5041 srvsvc_dissect_SERVER_INFO_1503,
5042 NDR_POINTER_UNIQUE, "SERVER_INFO_1503:", -1);
5046 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5047 srvsvc_dissect_SERVER_INFO_1506,
5048 NDR_POINTER_UNIQUE, "SERVER_INFO_1506:", -1);
5052 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5053 srvsvc_dissect_SERVER_INFO_1509,
5054 NDR_POINTER_UNIQUE, "SERVER_INFO_1509:", -1);
5058 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5059 srvsvc_dissect_SERVER_INFO_1510,
5060 NDR_POINTER_UNIQUE, "SERVER_INFO_1510:", -1);
5064 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5065 srvsvc_dissect_SERVER_INFO_1511,
5066 NDR_POINTER_UNIQUE, "SERVER_INFO_1511:", -1);
5070 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5071 srvsvc_dissect_SERVER_INFO_1512,
5072 NDR_POINTER_UNIQUE, "SERVER_INFO_1512:", -1);
5076 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5077 srvsvc_dissect_SERVER_INFO_1513,
5078 NDR_POINTER_UNIQUE, "SERVER_INFO_1513:", -1);
5082 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5083 srvsvc_dissect_SERVER_INFO_1514,
5084 NDR_POINTER_UNIQUE, "SERVER_INFO_1514:", -1);
5088 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5089 srvsvc_dissect_SERVER_INFO_1515,
5090 NDR_POINTER_UNIQUE, "SERVER_INFO_1515:", -1);
5094 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5095 srvsvc_dissect_SERVER_INFO_1516,
5096 NDR_POINTER_UNIQUE, "SERVER_INFO_1516:", -1);
5100 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5101 srvsvc_dissect_SERVER_INFO_1518,
5102 NDR_POINTER_UNIQUE, "SERVER_INFO_1518:", -1);
5106 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5107 srvsvc_dissect_SERVER_INFO_1520,
5108 NDR_POINTER_UNIQUE, "SERVER_INFO_1520:", -1);
5112 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5113 srvsvc_dissect_SERVER_INFO_1521,
5114 NDR_POINTER_UNIQUE, "SERVER_INFO_1521:", -1);
5118 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5119 srvsvc_dissect_SERVER_INFO_1522,
5120 NDR_POINTER_UNIQUE, "SERVER_INFO_1522:", -1);
5124 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5125 srvsvc_dissect_SERVER_INFO_1523,
5126 NDR_POINTER_UNIQUE, "SERVER_INFO_1523:", -1);
5130 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5131 srvsvc_dissect_SERVER_INFO_1524,
5132 NDR_POINTER_UNIQUE, "SERVER_INFO_1524:", -1);
5136 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5137 srvsvc_dissect_SERVER_INFO_1525,
5138 NDR_POINTER_UNIQUE, "SERVER_INFO_1525:", -1);
5142 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5143 srvsvc_dissect_SERVER_INFO_1528,
5144 NDR_POINTER_UNIQUE, "SERVER_INFO_1528:", -1);
5148 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5149 srvsvc_dissect_SERVER_INFO_1529,
5150 NDR_POINTER_UNIQUE, "SERVER_INFO_1529:", -1);
5154 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5155 srvsvc_dissect_SERVER_INFO_1530,
5156 NDR_POINTER_UNIQUE, "SERVER_INFO_1530:", -1);
5160 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5161 srvsvc_dissect_SERVER_INFO_1533,
5162 NDR_POINTER_UNIQUE, "SERVER_INFO_1533:", -1);
5166 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5167 srvsvc_dissect_SERVER_INFO_1534,
5168 NDR_POINTER_UNIQUE, "SERVER_INFO_1534:", -1);
5172 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5173 srvsvc_dissect_SERVER_INFO_1535,
5174 NDR_POINTER_UNIQUE, "SERVER_INFO_1535:", -1);
5178 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5179 srvsvc_dissect_SERVER_INFO_1536,
5180 NDR_POINTER_UNIQUE, "SERVER_INFO_1536:", -1);
5184 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5185 srvsvc_dissect_SERVER_INFO_1537,
5186 NDR_POINTER_UNIQUE, "SERVER_INFO_1537:", -1);
5190 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5191 srvsvc_dissect_SERVER_INFO_1538,
5192 NDR_POINTER_UNIQUE, "SERVER_INFO_1538:", -1);
5196 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5197 srvsvc_dissect_SERVER_INFO_1539,
5198 NDR_POINTER_UNIQUE, "SERVER_INFO_1539:", -1);
5202 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5203 srvsvc_dissect_SERVER_INFO_1540,
5204 NDR_POINTER_UNIQUE, "SERVER_INFO_1540:", -1);
5208 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5209 srvsvc_dissect_SERVER_INFO_1541,
5210 NDR_POINTER_UNIQUE, "SERVER_INFO_1541:", -1);
5214 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5215 srvsvc_dissect_SERVER_INFO_1542,
5216 NDR_POINTER_UNIQUE, "SERVER_INFO_1542:", -1);
5220 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5221 srvsvc_dissect_SERVER_INFO_1543,
5222 NDR_POINTER_UNIQUE, "SERVER_INFO_1543:", -1);
5226 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5227 srvsvc_dissect_SERVER_INFO_1544,
5228 NDR_POINTER_UNIQUE, "SERVER_INFO_1544:", -1);
5232 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5233 srvsvc_dissect_SERVER_INFO_1545,
5234 NDR_POINTER_UNIQUE, "SERVER_INFO_1545:", -1);
5238 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5239 srvsvc_dissect_SERVER_INFO_1546,
5240 NDR_POINTER_UNIQUE, "SERVER_INFO_1546:", -1);
5244 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5245 srvsvc_dissect_SERVER_INFO_1547,
5246 NDR_POINTER_UNIQUE, "SERVER_INFO_1547:", -1);
5250 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5251 srvsvc_dissect_SERVER_INFO_1548,
5252 NDR_POINTER_UNIQUE, "SERVER_INFO_1548:", -1);
5256 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5257 srvsvc_dissect_SERVER_INFO_1549,
5258 NDR_POINTER_UNIQUE, "SERVER_INFO_1549:", -1);
5262 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5263 srvsvc_dissect_SERVER_INFO_1550,
5264 NDR_POINTER_UNIQUE, "SERVER_INFO_1550:", -1);
5268 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5269 srvsvc_dissect_SERVER_INFO_1552,
5270 NDR_POINTER_UNIQUE, "SERVER_INFO_1552:", -1);
5274 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5275 srvsvc_dissect_SERVER_INFO_1553,
5276 NDR_POINTER_UNIQUE, "SERVER_INFO_1553:", -1);
5280 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5281 srvsvc_dissect_SERVER_INFO_1554,
5282 NDR_POINTER_UNIQUE, "SERVER_INFO_1554:", -1);
5286 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5287 srvsvc_dissect_SERVER_INFO_1555,
5288 NDR_POINTER_UNIQUE, "SERVER_INFO_1555:", -1);
5292 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5293 srvsvc_dissect_SERVER_INFO_1556,
5294 NDR_POINTER_UNIQUE, "SERVER_INFO_1556:", -1);
5303 * IDL long NetrServerGetInfo(
5304 * IDL [in] [string] [unique] wchar_t *ServerName,
5305 * IDL [in] long Level,
5306 * IDL [out] [ref] SERVER_INFO_UNION *srv;
5310 srvsvc_dissect_netrservergetinfo_rqst(tvbuff_t *tvb, int offset,
5311 packet_info *pinfo, proto_tree *tree,
5314 offset = dissect_ndr_pointer_cb(
5315 tvb, offset, pinfo, tree, drep,
5316 dissect_ndr_wchar_cvstring, NDR_POINTER_UNIQUE,
5317 "Server", hf_srvsvc_server, cb_wstr_postprocess,
5318 GINT_TO_POINTER(CB_STR_COL_INFO | 1));
5320 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5321 hf_srvsvc_info_level, 0);
5326 srvsvc_dissect_netrservergetinfo_reply(tvbuff_t *tvb, int offset,
5327 packet_info *pinfo, proto_tree *tree,
5330 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5331 srvsvc_dissect_SERVER_INFO_UNION,
5332 NDR_POINTER_REF, "Server Info", -1);
5334 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
5335 hf_srvsvc_rc, NULL);
5341 * IDL long NetrServerSetInfo(
5342 * IDL [in] [string] [unique] wchar_t *ServerName,
5343 * IDL [in] long Level,
5344 * IDL [in] [ref] SERVER_INFO_UNION *srv;
5345 * IDL [in] [out] [unique] long *ParamError;
5349 srvsvc_dissect_netrserversetinfo_rqst(tvbuff_t *tvb, int offset,
5350 packet_info *pinfo, proto_tree *tree,
5353 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5354 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
5356 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5357 hf_srvsvc_info_level, 0);
5359 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5360 srvsvc_dissect_SERVER_INFO_UNION,
5361 NDR_POINTER_REF, "Server Info", -1);
5363 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5364 srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
5365 "Parameter Error:", hf_srvsvc_parm_error);
5370 srvsvc_dissect_netrserversetinfo_reply(tvbuff_t *tvb, int offset,
5371 packet_info *pinfo, proto_tree *tree,
5374 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5375 srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
5376 "Parameter Error:", hf_srvsvc_parm_error);
5378 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
5379 hf_srvsvc_rc, NULL);
5386 * IDL typedef struct {
5387 * IDL [size_is()] [unique] wchar_t *disk;
5388 * IDL } DISK_INFO_0;
5391 srvsvc_dissect_DISK_INFO_0(tvbuff_t *tvb, int offset,
5392 packet_info *pinfo, proto_tree *tree,
5398 di=pinfo->private_data;
5399 if(di->conformant_run){
5400 /* this call is to make ethereal eat the array header for the conformant run */
5401 offset =dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, NULL);
5406 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5407 hf_srvsvc_disk_inf0_unknown, &len);
5409 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5410 hf_srvsvc_disk_name_len, &len);
5412 offset = dissect_ndr_uint16s(
5413 tvb, offset, pinfo, tree, drep, hf_srvsvc_disk_name, len);
5418 srvsvc_dissect_DISK_INFO_0_array(tvbuff_t *tvb, int offset,
5419 packet_info *pinfo, proto_tree *tree,
5422 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, drep,
5423 srvsvc_dissect_DISK_INFO_0);
5429 * IDL typedef struct {
5430 * IDL long EntriesRead;
5431 * IDL [length_is(EntriesRead)] [size_is(EntriesRead)] [unique] DISK_INFO_0 *disk;
5432 * IDL } DISK_ENUM_CONTAINER;
5435 srvsvc_dissect_DISK_ENUM_CONTAINER(tvbuff_t *tvb, int offset,
5436 packet_info *pinfo, proto_tree *tree,
5439 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5440 hf_srvsvc_num_entries, NULL);
5442 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5443 srvsvc_dissect_DISK_INFO_0_array, NDR_POINTER_UNIQUE,
5444 "DISK_INFO_0 array:", -1);
5451 * IDL long NetrServerDiskEnum(
5452 * IDL [in] [string] [unique] wchar_t *ServerName,
5453 * IDL [in] long Level,
5454 * IDL [in] [out] [ref] DISK_ENUM_CONTAINER *disk;
5455 * IDL [in] long maxlen,
5456 * IDL [out] long entries,
5457 * IDL [in] [out] [unique] long *resumehandle,
5461 srvsvc_dissect_netrserverdiskenum_rqst(tvbuff_t *tvb, int offset,
5462 packet_info *pinfo, proto_tree *tree,
5465 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5466 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
5468 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5469 hf_srvsvc_info_level, 0);
5471 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5472 srvsvc_dissect_DISK_ENUM_CONTAINER,
5473 NDR_POINTER_REF, "Disks", -1);
5475 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5476 hf_srvsvc_preferred_len, 0);
5478 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5479 srvsvc_dissect_ENUM_HANDLE,
5480 NDR_POINTER_UNIQUE, "Enum Handle", -1);
5485 srvsvc_dissect_netrserverdiskenum_reply(tvbuff_t *tvb, int offset,
5486 packet_info *pinfo, proto_tree *tree,
5489 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5490 srvsvc_dissect_DISK_ENUM_CONTAINER,
5491 NDR_POINTER_REF, "Disks", -1);
5493 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5494 hf_srvsvc_num_entries, NULL);
5496 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5497 srvsvc_dissect_ENUM_HANDLE,
5498 NDR_POINTER_UNIQUE, "Enum Handle", -1);
5500 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
5501 hf_srvsvc_rc, NULL);
5507 * IDL typedef struct {
5510 * IDL long devopens;
5511 * IDL long jobsqueued;
5513 * IDL long stimeouts;
5514 * IDL long serrorout;
5515 * IDL long pwerrors;
5516 * IDL long permerrors;
5517 * IDL long syserrors;
5518 * IDL long bytessent_low;
5519 * IDL long bytessent_high;
5520 * IDL long bytesrcvd_low;
5521 * IDL long bytesrcvd_high;
5522 * IDL long avresponse;
5523 * IDL long reqbufneed;
5524 * IDL long bigbufneed;
5525 * IDL } SERVER_STAT;
5529 srvsvc_dissect_SERVER_STAT(tvbuff_t *tvb, int offset,
5530 packet_info *pinfo, proto_tree *tree,
5533 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5534 hf_srvsvc_server_stat_start, NULL);
5536 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5537 hf_srvsvc_server_stat_fopens, NULL);
5539 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5540 hf_srvsvc_server_stat_devopens, NULL);
5542 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5543 hf_srvsvc_server_stat_jobsqueued, NULL);
5545 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5546 hf_srvsvc_server_stat_sopens, NULL);
5548 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5549 hf_srvsvc_server_stat_stimeouts, NULL);
5551 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5552 hf_srvsvc_server_stat_serrorout, NULL);
5554 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5555 hf_srvsvc_server_stat_pwerrors, NULL);
5557 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5558 hf_srvsvc_server_stat_permerrors, NULL);
5560 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5561 hf_srvsvc_server_stat_syserrors, NULL);
5563 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, drep,
5564 hf_srvsvc_server_stat_bytessent, NULL);
5566 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, drep,
5567 hf_srvsvc_server_stat_bytesrcvd, NULL);
5569 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5570 hf_srvsvc_server_stat_avresponse, NULL);
5572 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5573 hf_srvsvc_server_stat_reqbufneed, NULL);
5575 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5576 hf_srvsvc_server_stat_bigbufneed, NULL);
5582 * IDL long NetrServerStatisticsGet(
5583 * IDL [in] [string] [unique] wchar_t *ServerName,
5584 * IDL [in] [string] [unique] wchar_t *Service,
5585 * IDL [in] long Level,
5586 * IDL [in] long Options,
5587 * IDL [out] [ref] SERVER_STAT *stat
5591 srvsvc_dissect_netrserverstatisticsget_rqst(tvbuff_t *tvb, int offset,
5592 packet_info *pinfo, proto_tree *tree,
5595 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5596 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
5598 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5599 NDR_POINTER_UNIQUE, "Service", hf_srvsvc_service, 0);
5601 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5602 hf_srvsvc_info_level, 0);
5604 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5605 hf_srvsvc_service_options, 0);
5610 srvsvc_dissect_netrserverstatisticsget_reply(tvbuff_t *tvb, int offset,
5611 packet_info *pinfo, proto_tree *tree,
5614 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5615 srvsvc_dissect_SERVER_STAT,
5616 NDR_POINTER_REF, "Stat", -1);
5618 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
5619 hf_srvsvc_rc, NULL);
5625 * IDL typedef struct {
5626 * IDL [size_is(transportaddresslen)] char transportaddress;
5627 * IDL } TRANSPORT_ADDRESS;
5630 srvsvc_dissect_TRANSPORT_ADDRESS(tvbuff_t *tvb, int offset,
5631 packet_info *pinfo, proto_tree *tree,
5637 di=pinfo->private_data;
5638 if(di->conformant_run){
5639 /*just a run to handle conformant arrays, nothing to dissect */
5643 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5644 hf_srvsvc_transport_address_len, &len);
5646 proto_tree_add_item(tree, hf_srvsvc_transport_address, tvb, offset,
5654 * IDL typedef struct {
5655 * IDL long numberofvcs;
5656 * IDL [string] [unique] transportname;
5657 * IDL [unique] TRANSPORT_ADDRESS *transportaddress;
5658 * IDL long transportaddresslen;
5659 * IDL [string] [unique] wchar_t *networkaddress;
5660 * IDL } TRANSPORT_INFO_0;
5663 srvsvc_dissect_TRANSPORT_INFO_0(tvbuff_t *tvb, int offset,
5664 packet_info *pinfo, proto_tree *tree,
5667 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5668 hf_srvsvc_transport_numberofvcs, 0);
5670 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5671 NDR_POINTER_UNIQUE, "Name",
5672 hf_srvsvc_transport_name, 0);
5674 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5675 srvsvc_dissect_TRANSPORT_ADDRESS,
5676 NDR_POINTER_UNIQUE, "Transport Address", -1);
5678 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5679 hf_srvsvc_transport_address_len, 0);
5681 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5682 NDR_POINTER_UNIQUE, "Network Address",
5683 hf_srvsvc_transport_networkaddress, 0);
5688 srvsvc_dissect_TRANSPORT_INFO_0_array(tvbuff_t *tvb, int offset,
5689 packet_info *pinfo, proto_tree *tree,
5692 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
5693 srvsvc_dissect_TRANSPORT_INFO_0);
5699 * IDL typedef struct {
5700 * IDL long EntriesRead;
5701 * IDL [size_is(EntriesRead)] [unique] TRANSPORT_INFO_0 *trans;
5702 * IDL } SERVER_XPORT_INFO_0_CONTAINER;
5705 srvsvc_dissect_SERVER_XPORT_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
5706 packet_info *pinfo, proto_tree *tree,
5709 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5710 hf_srvsvc_num_entries, NULL);
5712 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5713 srvsvc_dissect_TRANSPORT_INFO_0_array, NDR_POINTER_UNIQUE,
5714 "TRANSPORT_INFO_0 array:", -1);
5720 * IDL typedef struct {
5721 * IDL long numberofvcs;
5722 * IDL [string] [unique] transportname;
5723 * IDL [unique] TRANSPORT_ADDRESS *transportaddress;
5724 * IDL long transportaddresslen;
5725 * IDL [string] [unique] wchar_t *networkaddress;
5726 * IDL } TRANSPORT_INFO_1;
5729 srvsvc_dissect_TRANSPORT_INFO_1(tvbuff_t *tvb, int offset,
5730 packet_info *pinfo, proto_tree *tree,
5733 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5734 hf_srvsvc_transport_numberofvcs, 0);
5736 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5737 NDR_POINTER_UNIQUE, "Name",
5738 hf_srvsvc_transport_name, 0);
5740 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5741 srvsvc_dissect_TRANSPORT_ADDRESS,
5742 NDR_POINTER_UNIQUE, "Transport Address", -1);
5744 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5745 hf_srvsvc_transport_address_len, 0);
5747 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5748 NDR_POINTER_UNIQUE, "Network Address",
5749 hf_srvsvc_transport_networkaddress, 0);
5751 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5752 NDR_POINTER_UNIQUE, "Domain", hf_srvsvc_domain, 0);
5757 srvsvc_dissect_TRANSPORT_INFO_1_array(tvbuff_t *tvb, int offset,
5758 packet_info *pinfo, proto_tree *tree,
5761 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
5762 srvsvc_dissect_TRANSPORT_INFO_1);
5768 * IDL typedef struct {
5769 * IDL long EntriesRead;
5770 * IDL [size_is(EntriesRead)] [unique] TRANSPORT_INFO_1 *trans;
5771 * IDL } SERVER_XPORT_INFO_1_CONTAINER;
5774 srvsvc_dissect_SERVER_XPORT_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
5775 packet_info *pinfo, proto_tree *tree,
5778 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5779 hf_srvsvc_num_entries, NULL);
5781 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5782 srvsvc_dissect_TRANSPORT_INFO_1_array, NDR_POINTER_UNIQUE,
5783 "TRANSPORT_INFO_1 array:", -1);
5790 * IDL typedef [switch_type(long)] union {
5791 * IDL [case(0)] [unique] SERVER_XPORT_INFO_0_CONTAINER *xp0;
5792 * IDL [case(1)] [unique] SERVER_XPORT_INFO_1_CONTAINER *xp1;
5793 * IDL } SERVER_XPORT_ENUM_UNION;
5796 srvsvc_dissect_SERVER_XPORT_ENUM_UNION(tvbuff_t *tvb, int offset,
5797 packet_info *pinfo, proto_tree *tree,
5804 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
5808 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5809 srvsvc_dissect_SERVER_XPORT_INFO_0_CONTAINER,
5810 NDR_POINTER_UNIQUE, "SERVER_XPORT_INFO_0_CONTAINER:",
5814 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5815 srvsvc_dissect_SERVER_XPORT_INFO_1_CONTAINER,
5816 NDR_POINTER_UNIQUE, "SERVER_XPORT_INFO_1_CONTAINER:",
5825 * IDL typedef struct {
5827 * IDL SERVER_XPORT_ENUM_UNION xport;
5828 * IDL } SERVER_XPORT_ENUM_STRUCT;
5831 srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT(tvbuff_t *tvb, int offset,
5832 packet_info *pinfo, proto_tree *tree,
5835 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5836 hf_srvsvc_info_level, 0);
5838 offset = srvsvc_dissect_SERVER_XPORT_ENUM_UNION(tvb, offset,
5846 * IDL long NetrServerTransportAdd(
5847 * IDL [in] [string] [unique] wchar_t *ServerName,
5848 * IDL [in] long Level,
5849 * IDL [in] [ref] TRANSPORT_INFO_0 *trans;
5853 srvsvc_dissect_netrservertransportadd_rqst(tvbuff_t *tvb, int offset,
5854 packet_info *pinfo, proto_tree *tree,
5857 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5858 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
5860 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5861 hf_srvsvc_info_level, 0);
5863 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5864 srvsvc_dissect_TRANSPORT_INFO_0,
5865 NDR_POINTER_REF, "Transports", -1);
5870 srvsvc_dissect_netrservertransportadd_reply(tvbuff_t *tvb, int offset,
5871 packet_info *pinfo, proto_tree *tree,
5874 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
5875 hf_srvsvc_rc, NULL);
5881 * IDL long NetrServerTransportEnum(
5882 * IDL [in] [string] [unique] wchar_t *ServerName,
5883 * IDL [in] [out] [ref] SERVER_XPORT_ENUM_STRUCT *xport;
5884 * IDL [in] long MaxLen,
5885 * IDL [out] long entries,
5886 * IDL [in] [out] [unique] long *resumehandle;
5890 srvsvc_dissect_netrservertransportenum_rqst(tvbuff_t *tvb, int offset,
5891 packet_info *pinfo, proto_tree *tree,
5894 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5895 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
5897 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5898 srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT,
5899 NDR_POINTER_REF, "Transports", -1);
5901 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5902 hf_srvsvc_preferred_len, 0);
5904 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5905 srvsvc_dissect_ENUM_HANDLE,
5906 NDR_POINTER_UNIQUE, "Enum Handle", -1);
5911 srvsvc_dissect_netrservertransportenum_reply(tvbuff_t *tvb, int offset,
5912 packet_info *pinfo, proto_tree *tree,
5915 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5916 srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT,
5917 NDR_POINTER_REF, "Transports", -1);
5919 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5920 hf_srvsvc_num_entries, NULL);
5922 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5923 srvsvc_dissect_ENUM_HANDLE,
5924 NDR_POINTER_UNIQUE, "Enum Handle", -1);
5926 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
5927 hf_srvsvc_rc, NULL);
5934 * IDL long NetrServerTransportDel(
5935 * IDL [in] [string] [unique] wchar_t *ServerName,
5936 * IDL [in] long Level,
5937 * IDL [in] [ref] TRANSPORT_INFO_0 *trans;
5941 srvsvc_dissect_netrservertransportdel_rqst(tvbuff_t *tvb, int offset,
5942 packet_info *pinfo, proto_tree *tree,
5945 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
5946 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
5948 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
5949 hf_srvsvc_info_level, 0);
5951 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
5952 srvsvc_dissect_TRANSPORT_INFO_0,
5953 NDR_POINTER_REF, "Transports", -1);
5958 srvsvc_dissect_netrservertransportdel_reply(tvbuff_t *tvb, int offset,
5959 packet_info *pinfo, proto_tree *tree,
5962 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
5963 hf_srvsvc_rc, NULL);
5969 * IDL typedef struct {
5976 * IDL long timezone;
5977 * IDL long tinterval;
5985 srvsvc_dissect_TIMEOFDAY(tvbuff_t *tvb, int offset,
5986 packet_info *pinfo, proto_tree *tree,
5990 * XXX - is "hf_srvsvc_tod_elapsed" something that should be
5991 * processed by "add_abstime_absent_unknown()" from
5992 * "packet-smb-pipe.c"? This structure looks similar
5993 * to the result of a NetRemoteTOD RAP call, and that has
5994 * a "current time" field that's processed by
5995 * "add_abstime_absent_unknown()".
5997 * Should other fields, such as the time zone offset and
5998 * the time interval, be processed as they are for
5999 * "lm_data_resp_netremotetod_nolevel" as well?
6001 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6002 hf_srvsvc_tod_elapsed, NULL);
6003 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6004 hf_srvsvc_tod_msecs, NULL);
6005 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6006 hf_srvsvc_tod_hours, NULL);
6007 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6008 hf_srvsvc_tod_mins, NULL);
6009 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6010 hf_srvsvc_tod_secs, NULL);
6011 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6012 hf_srvsvc_tod_hunds, NULL);
6013 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6014 hf_srvsvc_tod_timezone, NULL);
6015 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6016 hf_srvsvc_tod_tinterval, NULL);
6017 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6018 hf_srvsvc_tod_day, NULL);
6019 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6020 hf_srvsvc_tod_month, NULL);
6021 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6022 hf_srvsvc_tod_year, NULL);
6023 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6024 hf_srvsvc_tod_weekday, NULL);
6030 * IDL long NetrRemoteTOD(
6031 * IDL [in] [string] [unique] wchar_t *ServerName,
6032 * IDL [out] [unique] TIMEOFDAY *t
6036 srvsvc_dissect_netrremotetod_rqst(tvbuff_t *tvb, int offset,
6037 packet_info *pinfo, proto_tree *tree,
6040 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6041 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6046 srvsvc_dissect_netrremotetod_reply(tvbuff_t *tvb, int offset,
6047 packet_info *pinfo, proto_tree *tree,
6050 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
6051 srvsvc_dissect_TIMEOFDAY,
6052 NDR_POINTER_UNIQUE, "Time of day", -1);
6054 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6055 hf_srvsvc_rc, NULL);
6061 * IDL long NetrSetServerServiceBits(
6062 * IDL [in] [string] [unique] wchar_t *ServerName,
6063 * IDL [in] [string] [unique] wchar_t *Transport,
6064 * IDL [in] long ServiceBits;
6065 * IDL [in] long UpdateImmediately;
6069 srvsvc_dissect_netrsetserverservicebits_rqst(tvbuff_t *tvb, int offset,
6070 packet_info *pinfo, proto_tree *tree,
6073 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6074 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6076 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6077 NDR_POINTER_UNIQUE, "Transport", hf_srvsvc_transport, 0);
6079 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6080 hf_srvsvc_service_bits, NULL);
6082 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6083 hf_srvsvc_update_immediately, NULL);
6088 srvsvc_dissect_netrsetserverservicebits_reply(tvbuff_t *tvb, int offset,
6089 packet_info *pinfo, proto_tree *tree,
6092 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6093 hf_srvsvc_rc, NULL);
6099 * IDL long NetrPathType(
6100 * IDL [in] [string] [unique] wchar_t *ServerName,
6101 * IDL [in] [string] [ref] wchar_t *PathName,
6102 * IDL [in] long PathFlags;
6103 * IDL [out] long PathType;
6107 srvsvc_dissect_netrpathtype_rqst(tvbuff_t *tvb, int offset,
6108 packet_info *pinfo, proto_tree *tree,
6111 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6112 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6114 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6115 NDR_POINTER_REF, "Path", hf_srvsvc_path, 0);
6117 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6118 hf_srvsvc_path_flags, NULL);
6123 srvsvc_dissect_netrpathtype_reply(tvbuff_t *tvb, int offset,
6124 packet_info *pinfo, proto_tree *tree,
6127 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6128 hf_srvsvc_path_type, NULL);
6130 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6131 hf_srvsvc_rc, NULL);
6137 * IDL long NetrPathCanonicalize(
6138 * IDL [in] [string] [unique] wchar_t *ServerName,
6139 * IDL [in] [string] [ref] wchar_t *PathName,
6140 * IDL [in] long OutBufLen;
6141 * IDL [in] [string] [ref] wchar_t *Prefix,
6142 * IDL [in] [out] [ref] long *PathType;
6143 * IDL [in] long PathFlags;
6147 srvsvc_dissect_netrpathcanonicalize_rqst(tvbuff_t *tvb, int offset,
6148 packet_info *pinfo, proto_tree *tree,
6151 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6152 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6154 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6155 NDR_POINTER_REF, "Path", hf_srvsvc_path, 0);
6157 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6158 hf_srvsvc_outbuflen, NULL);
6160 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6161 NDR_POINTER_REF, "Prefix", hf_srvsvc_prefix, 0);
6163 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6164 hf_srvsvc_path_type, NULL);
6166 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6167 hf_srvsvc_path_flags, NULL);
6172 srvsvc_dissect_netrpathcanonicalize_reply(tvbuff_t *tvb, int offset,
6173 packet_info *pinfo, proto_tree *tree,
6179 di=pinfo->private_data;
6180 if(di->conformant_run){
6181 /* this call is to make ethereal eat the array header for the conformant run */
6182 offset =dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, NULL);
6186 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6187 hf_srvsvc_path_len, &len);
6189 offset = dissect_ndr_uint16s(
6190 tvb, offset, pinfo, tree, drep, hf_srvsvc_path, len);
6192 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6193 hf_srvsvc_path_type, NULL);
6195 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6196 hf_srvsvc_rc, NULL);
6203 * IDL long NetrPathCompare(
6204 * IDL [in] [string] [unique] wchar_t *ServerName,
6205 * IDL [in] [string] [ref] wchar_t *PathName1,
6206 * IDL [in] [string] [ref] wchar_t *PathName2,
6207 * IDL [in] long PathType;
6208 * IDL [in] long PathFlags;
6212 srvsvc_dissect_netrpathcompare_rqst(tvbuff_t *tvb, int offset,
6213 packet_info *pinfo, proto_tree *tree,
6216 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6217 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6219 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6220 NDR_POINTER_REF, "Path 1", hf_srvsvc_path, 0);
6222 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6223 NDR_POINTER_REF, "Path 2", hf_srvsvc_path, 0);
6225 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6226 hf_srvsvc_path_type, NULL);
6228 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6229 hf_srvsvc_path_flags, NULL);
6234 srvsvc_dissect_netrpathcompare_reply(tvbuff_t *tvb, int offset,
6235 packet_info *pinfo, proto_tree *tree,
6238 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6239 hf_srvsvc_rc, NULL);
6246 * IDL long NetrNameValidate(
6247 * IDL [in] [string] [unique] wchar_t *ServerName,
6248 * IDL [in] [string] [ref] wchar_t *PathName,
6249 * IDL [in] long PathType;
6250 * IDL [in] long PathFlags;
6254 srvsvc_dissect_netrnamevalidate_rqst(tvbuff_t *tvb, int offset,
6255 packet_info *pinfo, proto_tree *tree,
6258 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6259 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6261 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6262 NDR_POINTER_REF, "Path", hf_srvsvc_path, 0);
6264 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6265 hf_srvsvc_path_type, NULL);
6267 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6268 hf_srvsvc_path_flags, NULL);
6273 srvsvc_dissect_netrnamevalidate_reply(tvbuff_t *tvb, int offset,
6274 packet_info *pinfo, proto_tree *tree,
6277 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6278 hf_srvsvc_rc, NULL);
6284 * IDL long NetrNameCanonicalize(
6285 * IDL [in] [string] [unique] wchar_t *ServerName,
6286 * IDL [in] [string] [ref] wchar_t *PathName,
6287 * IDL [in] long OutBufLen,
6288 * IDL [in] long PathType,
6289 * IDL [in] long PathFlags,
6290 * IDL [out] [ref] *PathName
6294 srvsvc_dissect_netrnamecanonicalize_rqst(tvbuff_t *tvb, int offset,
6295 packet_info *pinfo, proto_tree *tree,
6298 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6299 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6301 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6302 NDR_POINTER_REF, "Path", hf_srvsvc_path, 0);
6304 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6305 hf_srvsvc_outbuflen, NULL);
6307 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6308 hf_srvsvc_path_type, NULL);
6310 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6311 hf_srvsvc_path_flags, NULL);
6316 srvsvc_dissect_netrnamecanonicalize_reply(tvbuff_t *tvb, int offset,
6317 packet_info *pinfo, proto_tree *tree,
6323 di=pinfo->private_data;
6324 if(di->conformant_run){
6325 /* this call is to make ethereal eat the array header for the conformant run */
6326 offset =dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, NULL);
6330 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6331 hf_srvsvc_path_len, &len);
6333 offset = dissect_ndr_uint16s(
6334 tvb, offset, pinfo, tree, drep, hf_srvsvc_path, len);
6336 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6337 hf_srvsvc_rc, NULL);
6344 * IDL long NetrNameCompare(
6345 * IDL [in] [string] [unique] wchar_t *ServerName,
6346 * IDL [in] [string] [ref] wchar_t *PathName1,
6347 * IDL [in] [string] [ref] wchar_t *PathName2,
6348 * IDL [in] long PathType;
6349 * IDL [in] long PathFlags;
6353 srvsvc_dissect_netrnamecompare_rqst(tvbuff_t *tvb, int offset,
6354 packet_info *pinfo, proto_tree *tree,
6357 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6358 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6360 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6361 NDR_POINTER_REF, "Path 1", hf_srvsvc_path, 0);
6363 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6364 NDR_POINTER_REF, "Path 2", hf_srvsvc_path, 0);
6366 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6367 hf_srvsvc_path_type, NULL);
6369 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6370 hf_srvsvc_path_flags, NULL);
6375 srvsvc_dissect_netrnamecompare_reply(tvbuff_t *tvb, int offset,
6376 packet_info *pinfo, proto_tree *tree,
6379 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6380 hf_srvsvc_rc, NULL);
6387 * IDL long NetrShareEnumSticky(
6388 * IDL [in] [string] [unique] wchar_t *ServerName,
6389 * IDL [in] [out] [ref] SHARE_ENUM_STRUCT *share,
6390 * IDL [in] long MaxLen,
6391 * IDL [out] long Entries,
6392 * IDL [in] [out] [unique] *ResumeHandle
6396 srvsvc_dissect_netrshareenumsticky_rqst(tvbuff_t *tvb, int offset,
6397 packet_info *pinfo, proto_tree *tree,
6400 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6401 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6403 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
6404 srvsvc_dissect_SHARE_ENUM_STRUCT,
6405 NDR_POINTER_REF, "Shares", -1);
6407 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6408 hf_srvsvc_preferred_len, 0);
6410 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
6411 srvsvc_dissect_ENUM_HANDLE,
6412 NDR_POINTER_UNIQUE, "Enum Handle", -1);
6417 srvsvc_dissect_netrshareenumsticky_reply(tvbuff_t *tvb, int offset,
6418 packet_info *pinfo, proto_tree *tree,
6421 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
6422 srvsvc_dissect_SHARE_ENUM_STRUCT,
6423 NDR_POINTER_REF, "Shares", -1);
6425 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6426 hf_srvsvc_num_entries, NULL);
6428 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
6429 srvsvc_dissect_ENUM_HANDLE,
6430 NDR_POINTER_UNIQUE, "Enum Handle", -1);
6432 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6433 hf_srvsvc_rc, NULL);
6440 * IDL long NetrShareDelStart(
6441 * IDL [in] [string] [unique] wchar_t *ServerName,
6442 * IDL [in] [string] [ref] wchar_t *Share,
6443 * IDL [in] long reserved,
6444 * IDL [out] [context_handle] hnd
6448 srvsvc_dissect_netrsharedelstart_rqst(tvbuff_t *tvb, int offset,
6449 packet_info *pinfo, proto_tree *tree,
6452 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6453 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6455 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6456 NDR_POINTER_REF, "Share", hf_srvsvc_share, 0);
6458 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
6459 hf_srvsvc_reserved, NULL);
6464 srvsvc_dissect_netrsharedelstart_reply(tvbuff_t *tvb, int offset,
6465 packet_info *pinfo, proto_tree *tree,
6468 offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
6469 hf_srvsvc_hnd, NULL, NULL, TRUE, FALSE);
6471 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6472 hf_srvsvc_rc, NULL);
6478 * IDL long NetrShareDelCommit(
6479 * IDL [in] [out] [contect_handle] h
6483 srvsvc_dissect_netrsharedelcommit_rqst(tvbuff_t *tvb, int offset,
6484 packet_info *pinfo, proto_tree *tree,
6487 offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
6488 hf_srvsvc_hnd, NULL, NULL, TRUE, FALSE);
6493 srvsvc_dissect_netrsharedelcommit_reply(tvbuff_t *tvb, int offset,
6494 packet_info *pinfo, proto_tree *tree,
6497 offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
6498 hf_srvsvc_hnd, NULL, NULL, TRUE, FALSE);
6500 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6501 hf_srvsvc_rc, NULL);
6507 /* XXX dont know the out parameters. only the in parameters.
6509 * IDL long NetrGetFileSecurity(
6510 * IDL [in] [string] [unique] wchar_t *ServerName,
6511 * IDL [in] [string] [unique] wchar_t *Share,
6512 * IDL [in] [string] [ref] wchar_t *File,
6513 * IDL [in] long requetedinformation
6514 * IDL [out] [ref] SECDESC *securitysecriptor; 4byte-len followed by bytestring
6518 srvsvc_dissect_netrgetfilesecurity_rqst(tvbuff_t *tvb, int offset,
6519 packet_info *pinfo, proto_tree *tree,
6522 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6523 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6525 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6526 NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0);
6528 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6529 NDR_POINTER_REF, "Path", hf_srvsvc_path, 0);
6531 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6532 hf_srvsvc_info_level, 0);
6537 srvsvc_dissect_netrgetfilesecurity_reply(tvbuff_t *tvb, int offset,
6538 packet_info *pinfo, proto_tree *tree,
6541 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
6542 lsa_dissect_LSA_SECURITY_DESCRIPTOR_data, NDR_POINTER_REF,
6543 "LSA SECURITY DESCRIPTOR data:", -1);
6545 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6546 hf_srvsvc_rc, NULL);
6553 * IDL long NetrSetFileSecurity(
6554 * IDL [in] [string] [unique] wchar_t *ServerName,
6555 * IDL [in] [string] [unique] wchar_t *Share,
6556 * IDL [in] [string] [ref] wchar_t *File,
6557 * IDL [in] long sequrityinformation
6558 * IDL SECDESC [ref] *securitysecriptor; 4byte-len followed by bytestring
6562 srvsvc_dissect_netrsetfilesecurity_rqst(tvbuff_t *tvb, int offset,
6563 packet_info *pinfo, proto_tree *tree,
6566 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6567 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6569 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6570 NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0);
6572 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6573 NDR_POINTER_REF, "Path", hf_srvsvc_path, 0);
6575 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6576 hf_srvsvc_info_level, 0);
6578 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
6579 lsa_dissect_LSA_SECURITY_DESCRIPTOR_data, NDR_POINTER_REF,
6580 "LSA SECURITY DESCRIPTOR data:", -1);
6585 srvsvc_dissect_netrsetfilesecurity_reply(tvbuff_t *tvb, int offset,
6586 packet_info *pinfo, proto_tree *tree,
6589 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6590 hf_srvsvc_rc, NULL);
6597 * IDL long NetrServerTransportAddEx(
6598 * IDL [in] [string] [unique] wchar_t *ServerName,
6599 * IDL [in] long Level
6600 * IDL [in] [ref] SERVER_XPORT_ENUM_STRUCT *sxes;
6604 srvsvc_dissect_netrservertransportaddex_rqst(tvbuff_t *tvb, int offset,
6605 packet_info *pinfo, proto_tree *tree,
6608 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6609 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6611 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6612 hf_srvsvc_info_level, 0);
6614 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
6615 srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT,
6616 NDR_POINTER_REF, "Transports", -1);
6621 srvsvc_dissect_netrservertransportaddex_reply(tvbuff_t *tvb, int offset,
6622 packet_info *pinfo, proto_tree *tree,
6625 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6626 hf_srvsvc_rc, NULL);
6633 * IDL long NetrServerSetServiceBitsEx(
6634 * IDL [in] [string] [unique] wchar_t *ServerName,
6635 * IDL [in] [string] [unique] wchar_t *EmulatedServerName,
6636 * IDL [in] [string] [unique] wchar_t *Transport,
6637 * IDL [in] long servicebitsofinterest
6638 * IDL [in] long servicebits
6639 * IDL [in] long updateimmediately
6643 srvsvc_dissect_netrserversetservicebitsex_rqst(tvbuff_t *tvb, int offset,
6644 packet_info *pinfo, proto_tree *tree,
6647 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6648 NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0);
6650 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6651 NDR_POINTER_UNIQUE, "Emulated Server",
6652 hf_srvsvc_emulated_server, 0);
6654 offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep,
6655 NDR_POINTER_UNIQUE, "Transport", hf_srvsvc_transport, 0);
6657 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6658 hf_srvsvc_service_bits_of_interest, NULL);
6660 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6661 hf_srvsvc_service_bits, NULL);
6663 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
6664 hf_srvsvc_update_immediately, NULL);
6669 srvsvc_dissect_netrserversetservicebitsex_reply(tvbuff_t *tvb, int offset,
6670 packet_info *pinfo, proto_tree *tree,
6673 offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
6674 hf_srvsvc_rc, NULL);
6685 static dcerpc_sub_dissector dcerpc_srvsvc_dissectors[] = {
6686 {SRV_NETRCHARDEVENUM, "NetrCharDevEnum",
6687 srvsvc_dissect_netrchardevenum_rqst,
6688 srvsvc_dissect_netrchardevenum_reply},
6689 {SRV_NETRCHARDEVGETINFO, "NetrCharDevGetInfo",
6690 srvsvc_dissect_netrchardevgetinfo_rqst,
6691 srvsvc_dissect_netrchardevgetinfo_reply},
6692 {SRV_NETRCHARDEVCONTROL, "NetrCharDevControl",
6693 srvsvc_dissect_netrchardevcontrol_rqst,
6694 srvsvc_dissect_netrchardevcontrol_reply},
6695 {SRV_NETRCHARDEVQENUM, "NetrCharDevQEnum",
6696 srvsvc_dissect_netrchardevqenum_rqst,
6697 srvsvc_dissect_netrchardevqenum_reply},
6698 {SRV_NETRCHARDEVQGETINFO, "NetrCharDevQGetInfo",
6699 srvsvc_dissect_netrchardevqgetinfo_rqst,
6700 srvsvc_dissect_netrchardevqgetinfo_reply},
6701 {SRV_NETRCHARDEVQSETINFO, "NetrCharDevQSetInfo",
6702 srvsvc_dissect_netrchardevqsetinfo_rqst,
6703 srvsvc_dissect_netrchardevqsetinfo_reply},
6704 {SRV_NETRCHARDEVQPURGE, "NetrCharDevQPurge",
6705 srvsvc_dissect_netrchardevqpurge_rqst,
6706 srvsvc_dissect_netrchardevqpurge_reply},
6707 {SRV_NETRCHARDEVQPURGESELF, "NetrCharDevQPurgeSelf",
6708 srvsvc_dissect_netrchardevqpurgeself_rqst,
6709 srvsvc_dissect_netrchardevqpurgeself_reply},
6710 {SRV_NETRCONNECTIONENUM, "NetrConnectionEnum",
6711 srvsvc_dissect_netrconnectionenum_rqst,
6712 srvsvc_dissect_netrconnectionenum_reply},
6713 {SRV_NETRFILEENUM, "NetrFileEnum",
6714 srvsvc_dissect_netrfileenum_rqst,
6715 srvsvc_dissect_netrfileenum_reply},
6716 {SRV_NETRFILEGETINFO, "NetrFileGetInfo",
6717 srvsvc_dissect_netrfilegetinfo_rqst,
6718 srvsvc_dissect_netrfilegetinfo_reply},
6719 {SRV_NETRFILECLOSE, "NetrFileClose",
6720 srvsvc_dissect_netrfileclose_rqst,
6721 srvsvc_dissect_netrfileclose_reply},
6722 {SRV_NETRSESSIONENUM, "NetrSessionEnum",
6723 srvsvc_dissect_netrsessionenum_rqst,
6724 srvsvc_dissect_netrsessionenum_reply},
6725 {SRV_NETRSESSIONDEL, "NetrSessionDel",
6726 srvsvc_dissect_netrsessiondel_rqst,
6727 srvsvc_dissect_netrsessiondel_reply},
6728 {SRV_NETRSHAREADD, "NetrShareAdd",
6729 srvsvc_dissect_netrshareadd_rqst,
6730 srvsvc_dissect_netrshareadd_reply},
6731 {SRV_NETRSHAREENUM, "NetrShareEnum",
6732 srvsvc_dissect_netrshareenum_rqst,
6733 srvsvc_dissect_netrshareenum_reply},
6734 {SRV_NETRSHAREGETINFO, "NetrShareGetInfo",
6735 srvsvc_dissect_netrsharegetinfo_rqst,
6736 srvsvc_dissect_netrsharegetinfo_reply},
6737 {SRV_NETRSHARESETINFO, "NetrShareSetInfo",
6738 srvsvc_dissect_netrsharesetinfo_rqst,
6739 srvsvc_dissect_netrsharesetinfo_reply},
6740 {SRV_NETRSHAREDEL, "NetrShareDel",
6741 srvsvc_dissect_netrsharedel_rqst,
6742 srvsvc_dissect_netrsharedel_reply},
6743 {SRV_NETRSHAREDELSTICKY, "NetrShareDelSticky",
6744 srvsvc_dissect_netrsharedelsticky_rqst,
6745 srvsvc_dissect_netrsharedelsticky_reply},
6746 {SRV_NETRSHARECHECK, "NetrShareCheck",
6747 srvsvc_dissect_netrsharecheck_rqst,
6748 srvsvc_dissect_netrsharecheck_reply},
6749 {SRV_NETRSERVERGETINFO, "NetrServerGetInfo",
6750 srvsvc_dissect_netrservergetinfo_rqst,
6751 srvsvc_dissect_netrservergetinfo_reply},
6752 {SRV_NETRSERVERSETINFO, "NetrServerSetInfo",
6753 srvsvc_dissect_netrserversetinfo_rqst,
6754 srvsvc_dissect_netrserversetinfo_reply},
6755 {SRV_NETRSERVERDISKENUM, "NetrServerDiskEnum",
6756 srvsvc_dissect_netrserverdiskenum_rqst,
6757 srvsvc_dissect_netrserverdiskenum_reply},
6758 {SRV_NETRSERVERSTATISTICSGET, "NetrServerStatisticsGet",
6759 srvsvc_dissect_netrserverstatisticsget_rqst,
6760 srvsvc_dissect_netrserverstatisticsget_reply},
6761 {SRV_NETRSERVERTRANSPORTADD, "NetrServerTransportAdd",
6762 srvsvc_dissect_netrservertransportadd_rqst,
6763 srvsvc_dissect_netrservertransportadd_reply},
6764 {SRV_NETRSERVERTRANSPORTENUM, "NetrServerTransportEnum",
6765 srvsvc_dissect_netrservertransportenum_rqst,
6766 srvsvc_dissect_netrservertransportenum_reply},
6767 {SRV_NETRSERVERTRANSPORTDEL, "NetrServerTransportDel",
6768 srvsvc_dissect_netrservertransportdel_rqst,
6769 srvsvc_dissect_netrservertransportdel_reply},
6770 {SRV_NETRREMOTETOD, "NetrRemoteTOD",
6771 srvsvc_dissect_netrremotetod_rqst,
6772 srvsvc_dissect_netrremotetod_reply},
6773 {SRV_NETRSERVERSETSERVICEBITS, "NetrServerSetServiceBits",
6774 srvsvc_dissect_netrsetserverservicebits_rqst,
6775 srvsvc_dissect_netrsetserverservicebits_reply},
6776 {SRV_NETRPRPATHTYPE, "NetrpPathType",
6777 srvsvc_dissect_netrpathtype_rqst,
6778 srvsvc_dissect_netrpathtype_reply},
6779 {SRV_NETRPRPATHCANONICALIZE, "NetrpPathCanonicalize",
6780 srvsvc_dissect_netrpathcanonicalize_rqst,
6781 srvsvc_dissect_netrpathcanonicalize_reply},
6782 {SRV_NETRPRPATHCOMPARE, "NetrpPathCompare",
6783 srvsvc_dissect_netrpathcompare_rqst,
6784 srvsvc_dissect_netrpathcompare_reply},
6785 {SRV_NETRPRNAMEVALIDATE, "NetrpNameValidate",
6786 srvsvc_dissect_netrnamevalidate_rqst,
6787 srvsvc_dissect_netrnamevalidate_reply},
6788 {SRV_NETRPRNAMECANONICALIZE, "NetrpNameCanonicalize",
6789 srvsvc_dissect_netrnamecanonicalize_rqst,
6790 srvsvc_dissect_netrnamecanonicalize_reply},
6791 {SRV_NETRPRNAMECOMPARE, "NetrpNameCompare",
6792 srvsvc_dissect_netrnamecompare_rqst,
6793 srvsvc_dissect_netrnamecompare_reply},
6794 {SRV_NETRSHAREENUMSTICKY, "NetrShareEnumSticky",
6795 srvsvc_dissect_netrshareenumsticky_rqst,
6796 srvsvc_dissect_netrshareenumsticky_reply},
6797 {SRV_NETRSHAREDELSTART, "NetrShareDelStart",
6798 srvsvc_dissect_netrsharedelstart_rqst,
6799 srvsvc_dissect_netrsharedelstart_reply},
6800 {SRV_NETRSHAREDELCOMMIT, "NetrShareDelCommit",
6801 srvsvc_dissect_netrsharedelcommit_rqst,
6802 srvsvc_dissect_netrsharedelcommit_reply},
6803 {SRV_NETRPGETFILESECURITY, "NetrpGetFileSecurity",
6804 srvsvc_dissect_netrgetfilesecurity_rqst,
6805 srvsvc_dissect_netrgetfilesecurity_reply},
6806 {SRV_NETRPSETFILESECURITY, "NetrpSetFileSecurity",
6807 srvsvc_dissect_netrsetfilesecurity_rqst,
6808 srvsvc_dissect_netrsetfilesecurity_reply},
6809 {SRV_NETRSERVERTRANSPORTADDEX, "NetrServerTransportAddEx",
6810 srvsvc_dissect_netrservertransportaddex_rqst,
6811 srvsvc_dissect_netrservertransportaddex_reply},
6812 {SRV_NETRSERVERSETSERVICEBITSEX,"NetrServerSetServiceBitsEx",
6813 srvsvc_dissect_netrserversetservicebitsex_rqst,
6814 srvsvc_dissect_netrserversetservicebitsex_reply},
6815 { SRV_NETRDFSGETVERSION, "NetrDfsGetVersion",
6817 { SRV_NETRDFSCREATELOCALPARTITION, "NetrDfsCreateLocalPartition",
6819 { SRV_NETRDFSDELETELOCALPARTITION, "NetrDfsDeleteLocalPartition",
6821 { SRV_NETRDFSSETLOCALVOLUMESTATE, "NetrDfsSetLocalVolumeState",
6823 { SRV_NETRDFSSETSERVERINFO, "NetrDfsSetServerInfo",
6825 { SRV_NETRDFSCREATEEXITPOINT, "NetrDfsCreateExitPoint",
6827 { SRV_NETRDFSDELETEEXITPOINT, "NetrDfsDeleteExitPoint",
6829 { SRV_NETRDFSMODIFYPREFIX, "NetrDfsModifyPrefix",
6831 { SRV_NETRDFSFIXLOCALVOLUME, "NetrDfsFixLocalVolume",
6833 { SRV_NETRDFSMANAGERREPORTSITEINFO, "NetrDfsManagerReportSiteInfo",
6835 { SRV_NETRSERVERTRANSPORTDELEX, "NetrServerTransportDelEx",
6837 {0, NULL, NULL, NULL}
6841 proto_register_dcerpc_srvsvc(void)
6843 static hf_register_info hf[] = {
6845 { "Operation", "srvsvc.opnum", FT_UINT16, BASE_DEC,
6846 NULL, 0x0, "Operation", HFILL }},
6847 { &hf_srvsvc_server,
6848 { "Server", "srvsvc.server", FT_STRING, BASE_NONE,
6849 NULL, 0x0, "Server Name", HFILL}},
6850 { &hf_srvsvc_emulated_server,
6851 { "Emulated Server", "srvsvc.emulated_server", FT_STRING, BASE_NONE,
6852 NULL, 0x0, "Emulated Server Name", HFILL}},
6853 { &hf_srvsvc_alerts,
6854 { "Alerts", "srvsvc.alerts", FT_STRING, BASE_NONE,
6855 NULL, 0x0, "Alerts", HFILL}},
6857 { "Guest Account", "srvsvc.guest", FT_STRING, BASE_NONE,
6858 NULL, 0x0, "Guest Account", HFILL}},
6859 { &hf_srvsvc_transport,
6860 { "Transport", "srvsvc.transport", FT_STRING, BASE_NONE,
6861 NULL, 0x0, "Transport Name", HFILL}},
6862 { &hf_srvsvc_session,
6863 { "Session", "srvsvc.session", FT_STRING, BASE_NONE,
6864 NULL, 0x0, "Session Name", HFILL}},
6865 { &hf_srvsvc_qualifier,
6866 { "Qualifier", "srvsvc.qualifier", FT_STRING, BASE_NONE,
6867 NULL, 0x0, "Connection Qualifier", HFILL}},
6868 { &hf_srvsvc_computer,
6869 { "Computer", "srvsvc.computer", FT_STRING, BASE_NONE,
6870 NULL, 0x0, "Computer Name", HFILL}},
6871 { &hf_srvsvc_chrdev,
6872 { "Char Device", "srvsvc.chrdev", FT_STRING, BASE_NONE,
6873 NULL, 0x0, "Char Device Name", HFILL}},
6874 { &hf_srvsvc_chrdevq,
6875 { "Device Queue", "srvsvc.chrdevq", FT_STRING, BASE_NONE,
6876 NULL, 0x0, "Char Device Queue Name", HFILL}},
6878 { "User", "srvsvc.user", FT_STRING, BASE_NONE,
6879 NULL, 0x0, "User Name", HFILL}},
6881 { "Path", "srvsvc.path", FT_STRING, BASE_NONE,
6882 NULL, 0x0, "Path", HFILL}},
6883 { &hf_srvsvc_share_passwd,
6884 { "Share Passwd", "srvsvc.share_passwd", FT_STRING, BASE_NONE,
6885 NULL, 0x0, "Password for this share", HFILL}},
6886 { &hf_srvsvc_share_alternate_name,
6887 { "Alternate Name", "srvsvc.share_alternate_name", FT_STRING, BASE_NONE,
6888 NULL, 0x0, "Alternate name for this share", HFILL}},
6889 { &hf_srvsvc_chrdev_status,
6890 { "Status", "srvsvc.chrdev_status", FT_UINT32, BASE_HEX,
6891 NULL, 0x0, "Char Device Status", HFILL}},
6892 { &hf_srvsvc_chrqpri,
6893 { "Priority", "srvsvc.chrqdev_pri", FT_UINT32, BASE_HEX,
6894 NULL, 0x0, "Char QDevice Priority", HFILL}},
6895 { &hf_srvsvc_chrqnumusers,
6896 { "Num Users", "srvsvc.chrqdev_numusers", FT_UINT32, BASE_DEC,
6897 NULL, 0x0, "Char QDevice Number Of Users", HFILL}},
6898 { &hf_srvsvc_chrqnumahead,
6899 { "Num Ahead", "srvsvc.chrqdev_numahead", FT_UINT32, BASE_DEC,
6900 NULL, 0x0, "", HFILL}},
6901 { &hf_srvsvc_chrdev_opcode,
6902 { "Opcode", "srvsvc.chrdev_opcode", FT_UINT32, BASE_HEX,
6903 NULL, 0x0, "Opcode to apply to the Char Device", HFILL}},
6904 { &hf_srvsvc_chrdev_time,
6905 { "Time", "srvsvc.chrdev_time", FT_UINT32, BASE_DEC,
6906 NULL, 0x0, "Char Device Time?", HFILL}},
6907 { &hf_srvsvc_info_level,
6908 { "Info Level", "svrsvc.info_level", FT_UINT32,
6909 BASE_DEC, NULL, 0x0, "Info Level", HFILL}},
6911 { "Return code", "srvsvc.rc", FT_UINT32,
6912 BASE_HEX, VALS(DOS_errors), 0x0, "Return Code", HFILL}},
6914 { &hf_srvsvc_platform_id,
6915 { "Platform ID", "srvsvc.info.platform_id", FT_UINT32,
6916 BASE_DEC, VALS(platform_id_vals), 0x0, "Platform ID", HFILL}},
6917 { &hf_srvsvc_ver_major,
6918 { "Major Version", "srvsvc.version.major", FT_UINT32,
6919 BASE_DEC, NULL, 0x0, "Major Version", HFILL}},
6920 { &hf_srvsvc_ver_minor,
6921 { "Minor Version", "srvsvc.version.minor", FT_UINT32,
6922 BASE_DEC, NULL, 0x0, "Minor Version", HFILL}},
6923 { &hf_srvsvc_client_type,
6924 { "Client Type", "srvsvc.client.type", FT_STRING,
6925 BASE_NONE, NULL, 0x0, "Client Type", HFILL}},
6926 { &hf_srvsvc_comment,
6927 { "Comment", "srvsvc.comment", FT_STRING,
6928 BASE_NONE, NULL, 0x0, "Comment", HFILL}},
6930 { "Users", "srvsvc.users", FT_UINT32,
6931 BASE_DEC, NULL, 0x0 , "User Count", HFILL}},
6933 { "Disc", "srvsvc.disc", FT_UINT32,
6934 BASE_DEC, NULL, 0x0 , "", HFILL}},
6935 { &hf_srvsvc_hidden,
6936 { "Hidden", "srvsvc.hidden", FT_UINT32,
6937 BASE_DEC, NULL, 0x0, "Hidden", HFILL}},
6938 { &hf_srvsvc_reserved,
6939 { "Reserved", "srvsvc.reserved", FT_UINT32,
6940 BASE_DEC, NULL, 0x0, "Announce", HFILL }},
6941 { &hf_srvsvc_announce,
6942 { "Announce", "srvsvc.announce", FT_UINT32,
6943 BASE_DEC, NULL, 0x0, "Announce", HFILL }},
6944 { &hf_srvsvc_anndelta,
6945 { "Announce Delta", "srvsvc.ann_delta", FT_UINT32,
6946 BASE_DEC, NULL, 0x0, "Announce Delta", HFILL}},
6947 { &hf_srvsvc_licences,
6948 { "Licences", "srvsvc.licences", FT_UINT32,
6949 BASE_DEC, NULL, 0x0, "Licences", HFILL}},
6950 { &hf_srvsvc_user_path,
6951 { "User Path", "srvsvc.user_path", FT_STRING,
6952 BASE_NONE, NULL, 0x0, "User Path", HFILL}},
6954 { "Share", "srvsvc.share", FT_STRING,
6955 BASE_NONE, NULL, 0x0, "Share", HFILL}},
6956 { &hf_srvsvc_share_type,
6957 { "Share Type", "srvsvc.share_type", FT_UINT32,
6958 BASE_HEX, VALS(share_type_vals), 0x0, "Share Type", HFILL}},
6959 { &hf_srvsvc_file_id,
6960 { "File ID", "srvsvc.file_id", FT_UINT32,
6961 BASE_DEC, NULL, 0x0, "File ID", HFILL}},
6963 { "Permissions", "srvsvc.perm", FT_UINT32,
6964 BASE_HEX, NULL, 0x0, "Permissions", HFILL}},
6965 { &hf_srvsvc_dfs_root_flags,
6966 { "DFS Root Flags", "srvsvc.dfs_root_flags", FT_UINT32,
6967 BASE_HEX, NULL, 0x0, "DFS Root Flags. Contact ethereal developers if you know what the bits are", HFILL}},
6968 { &hf_srvsvc_policy,
6969 { "Policy", "srvsvc.policy", FT_UINT32,
6970 BASE_HEX, NULL, 0x0, "Policy", HFILL}},
6971 { &hf_srvsvc_file_num_locks,
6972 { "Num Locks", "srvsvc.file_num_locks", FT_UINT32,
6973 BASE_DEC, NULL, 0x0, "Number of locks for file", HFILL}},
6974 { &hf_srvsvc_con_id,
6975 { "Connection ID", "srvsvc.con_id", FT_UINT32,
6976 BASE_DEC, NULL, 0x0, "Connection ID", HFILL}},
6977 { &hf_srvsvc_max_uses,
6978 { "Max Uses", "srvsvc.max_uses", FT_UINT32,
6979 BASE_DEC, NULL, 0x0, "Max Uses", HFILL}},
6980 { &hf_srvsvc_cur_uses,
6981 { "Current Uses", "srvsvc.cur_uses", FT_UINT32,
6982 BASE_DEC, NULL, 0x0, "Current Uses", HFILL}},
6983 { &hf_srvsvc_con_num_opens,
6984 { "Num Opens", "srvsvc.con_num_opens", FT_UINT32,
6985 BASE_DEC, NULL, 0x0, "Num Opens", HFILL}},
6986 { &hf_srvsvc_session_num_opens,
6987 { "Num Opens", "srvsvc.session.num_opens", FT_UINT32,
6988 BASE_DEC, NULL, 0x0, "Num Opens", HFILL}},
6989 { &hf_srvsvc_session_time,
6990 { "Time", "srvsvc.session.time", FT_UINT32,
6991 BASE_DEC, NULL, 0x0, "Time", HFILL}},
6992 { &hf_srvsvc_session_idle_time,
6993 { "Idle Time", "srvsvc.session.idle_time", FT_UINT32,
6994 BASE_DEC, NULL, 0x0, "Idle Time", HFILL}},
6995 { &hf_srvsvc_session_user_flags,
6996 { "User Flags", "srvsvc.session.user_flags", FT_UINT32,
6997 BASE_HEX, NULL, 0x0, "User Flags", HFILL}},
6998 { &hf_srvsvc_con_type,
6999 { "Connection Type", "srvsvc.con_type", FT_UINT32,
7000 BASE_DEC, NULL, 0x0, "Connection Type", HFILL}},
7001 { &hf_srvsvc_con_time,
7002 { "Connection Time", "srvsvc.con_time", FT_UINT32,
7003 BASE_DEC, NULL, 0x0, "Connection Time", HFILL}},
7004 { &hf_srvsvc_ulist_mtime,
7005 { "Ulist mtime", "srvsvc.ulist_mtime", FT_UINT32,
7006 BASE_DEC, NULL, 0x0, "Ulist mtime", HFILL}},
7007 { &hf_srvsvc_glist_mtime,
7008 { "Glist mtime", "srvsvc.glist_mtime", FT_UINT32,
7009 BASE_DEC, NULL, 0x0, "Glist mtime", HFILL}},
7010 { &hf_srvsvc_alist_mtime,
7011 { "Alist mtime", "srvsvc.alist_mtime", FT_UINT32,
7012 BASE_DEC, NULL, 0x0, "Alist mtime", HFILL}},
7013 { &hf_srvsvc_connections,
7014 { "Connections", "srvsvc.connections", FT_UINT32,
7015 BASE_DEC, NULL, 0x0, "Number of Connections", HFILL}},
7016 { &hf_srvsvc_shares,
7017 { "Shares", "srvsvc.shares", FT_UINT32,
7018 BASE_DEC, NULL, 0x0, "Number of Shares", HFILL}},
7019 { &hf_srvsvc_diskalert,
7020 { "Disk Alerts", "srvsvc.diskalert", FT_UINT32,
7021 BASE_DEC, NULL, 0x0, "Number of disk alerts", HFILL}},
7022 { &hf_srvsvc_netioalert,
7023 { "Net I/O Alerts", "srvsvc.netioalert", FT_UINT32,
7024 BASE_DEC, NULL, 0x0, "Number of Net I/O Alerts", HFILL}},
7025 { &hf_srvsvc_maxauditsz,
7026 { "Max Audits", "srvsvc.maxaudits", FT_UINT32,
7027 BASE_DEC, NULL, 0x0, "Maximum number of audits", HFILL}},
7028 { &hf_srvsvc_srvheuristics,
7029 { "Server Heuristics", "srvsvc.srvheuristics", FT_STRING,
7030 BASE_DEC, NULL, 0x0, "Server Heuristics", HFILL}},
7031 { &hf_srvsvc_openfiles,
7032 { "Open Files", "srvsvc.openfiles", FT_UINT32,
7033 BASE_DEC, NULL, 0x0, "Open Files", HFILL}},
7034 { &hf_srvsvc_opensearch,
7035 { "Open Search", "srvsvc.opensearch", FT_UINT32,
7036 BASE_DEC, NULL, 0x0, "Open Search", HFILL}},
7037 { &hf_srvsvc_activelocks,
7038 { "Active Locks", "srvsvc.activelocks", FT_UINT32,
7039 BASE_DEC, NULL, 0x0, "Active Locks", HFILL}},
7040 { &hf_srvsvc_numfiletasks,
7041 { "Num Filetasks", "srvsvc.numfiletasks", FT_UINT32,
7042 BASE_DEC, NULL, 0x0, "Number of filetasks", HFILL}},
7043 { &hf_srvsvc_alertsched,
7044 { "Alert Sched", "srvsvc.alertsched", FT_UINT32,
7045 BASE_DEC, NULL, 0x0, "Alert Schedule", HFILL}},
7046 { &hf_srvsvc_erroralert,
7047 { "Error Alerts", "srvsvc.erroralert", FT_UINT32,
7048 BASE_DEC, NULL, 0x0, "Number of error alerts", HFILL}},
7049 { &hf_srvsvc_logonalert,
7050 { "Logon Alerts", "srvsvc.logonalert", FT_UINT32,
7051 BASE_DEC, NULL, 0x0, "Number of logon alerts", HFILL}},
7052 { &hf_srvsvc_accessalert,
7053 { "Access Alerts", "srvsvc.accessalert", FT_UINT32,
7054 BASE_DEC, NULL, 0x0, "Number of access alerts", HFILL}},
7055 { &hf_srvsvc_sizreqbufs,
7056 { "Siz Req Bufs", "srvsvc.sizreqbufs", FT_UINT32,
7057 BASE_DEC, NULL, 0x0, "", HFILL}},
7058 { &hf_srvsvc_numbigbufs,
7059 { "Num Big Bufs", "srvsvc.numbigbufs", FT_UINT32,
7060 BASE_DEC, NULL, 0x0, "Number of big buffers", HFILL}},
7061 { &hf_srvsvc_sessopens,
7062 { "Sessions Open", "srvsvc.sessopens", FT_UINT32,
7063 BASE_DEC, NULL, 0x0, "Sessions Open", HFILL}},
7064 { &hf_srvsvc_sessvcs,
7065 { "Sessions VCs", "srvsvc.sessvcs", FT_UINT32,
7066 BASE_DEC, NULL, 0x0, "Sessions VCs", HFILL}},
7067 { &hf_srvsvc_sessreqs,
7068 { "Sessions Reqs", "srvsvc.sessreqs", FT_UINT32,
7069 BASE_DEC, NULL, 0x0, "Sessions Requests", HFILL}},
7070 { &hf_srvsvc_auditedevents,
7071 { "Audited Events", "srvsvc.auditedevents", FT_UINT32,
7072 BASE_DEC, NULL, 0x0, "Number of audited events", HFILL}},
7073 { &hf_srvsvc_auditprofile,
7074 { "Audit Profile", "srvsvc.auditprofile", FT_UINT32,
7075 BASE_HEX, NULL, 0x0, "Audit Profile", HFILL}},
7076 { &hf_srvsvc_autopath,
7077 { "Autopath", "srvsvc.autopath", FT_STRING,
7078 BASE_DEC, NULL, 0x0, "Autopath", HFILL}},
7079 { &hf_srvsvc_security,
7080 { "Security", "srvsvc.security", FT_UINT32,
7081 BASE_HEX, NULL, 0x0, "Security", HFILL}},
7082 { &hf_srvsvc_numadmin,
7083 { "Num Admins", "srvsvc.num_admins", FT_UINT32,
7084 BASE_DEC, NULL, 0x0, "Number of Administrators", HFILL}},
7085 { &hf_srvsvc_lanmask,
7086 { "LANMask", "srvsvc.lanmask", FT_UINT32,
7087 BASE_HEX, NULL, 0x0, "LANMask", HFILL}},
7088 { &hf_srvsvc_chdevs,
7089 { "Char Devs", "srvsvc.chdevs", FT_UINT32,
7090 BASE_DEC, NULL, 0x0, "Number of Char Devices", HFILL}},
7091 { &hf_srvsvc_chdevqs,
7092 { "Char Devqs", "srvsvc.chdevqs", FT_UINT32,
7093 BASE_DEC, NULL, 0x0, "Number of Char Device Queues", HFILL}},
7094 { &hf_srvsvc_chdevjobs,
7095 { "Char Dev Jobs", "srvsvc.chdevjobs", FT_UINT32,
7096 BASE_DEC, NULL, 0x0, "Number of Char Device Jobs", HFILL}},
7097 { &hf_srvsvc_num_entries,
7098 { "Number of entries", "srvsvc.share.num_entries", FT_UINT32,
7099 BASE_DEC, NULL, 0x0, "Number of Entries", HFILL}},
7100 { &hf_srvsvc_total_entries,
7101 { "Total entries", "srvsvc.share.tot_entries", FT_UINT32,
7102 BASE_DEC, NULL, 0x0, "Total Entries", HFILL}},
7103 { &hf_srvsvc_initworkitems,
7104 { "Init Workitems", "srvsvc.initworkitems", FT_UINT32,
7105 BASE_DEC, NULL, 0x0, "Workitems", HFILL}},
7106 { &hf_srvsvc_maxworkitems,
7107 { "Max Workitems", "srvsvc.maxworkitems", FT_UINT32,
7108 BASE_DEC, NULL, 0x0, "Workitems", HFILL}},
7109 { &hf_srvsvc_rawworkitems,
7110 { "Raw Workitems", "srvsvc.rawworkitems", FT_UINT32,
7111 BASE_DEC, NULL, 0x0, "Workitems", HFILL}},
7112 { &hf_srvsvc_preferred_len,
7113 { "Preferred length", "srvsvc.preferred_len", FT_UINT32,
7114 BASE_DEC, NULL, 0x0, "Preferred Length", HFILL}},
7115 { &hf_srvsvc_parm_error,
7116 { "Parameter Error", "srvsvc.parm_error", FT_UINT32,
7117 BASE_DEC, NULL, 0x0, "Parameter Error", HFILL}},
7118 { &hf_srvsvc_enum_handle,
7119 { "Enumeration handle", "srvsvc.enum_hnd", FT_BYTES,
7120 BASE_HEX, NULL, 0x0, "Enumeration Handle", HFILL}},
7121 { &hf_srvsvc_irpstacksize,
7122 { "Irp Stack Size", "srvsvc.irpstacksize", FT_UINT32,
7123 BASE_HEX, NULL, 0x0, "Irp Stack Size", HFILL}},
7124 { &hf_srvsvc_maxrawbuflen,
7125 { "Max Raw Buf Len", "srvsvc.", FT_UINT32,
7126 BASE_HEX, NULL, 0x0, "Max Raw Buf Len", HFILL}},
7127 { &hf_srvsvc_maxpagedmemoryusage,
7128 { "Max Paged Memory Usage", "srvsvc.maxpagedmemoryusage", FT_UINT32,
7129 BASE_HEX, NULL, 0x0, "Max Paged Memory Usage", HFILL}},
7130 { &hf_srvsvc_maxnonpagedmemoryusage,
7131 { "Max Non-Paged Memory Usage", "srvsvc.maxnonpagedmemoryusage", FT_UINT32,
7132 BASE_HEX, NULL, 0x0, "Max Non-Paged Memory Usage", HFILL}},
7133 { &hf_srvsvc_enablesoftcompat,
7134 { "Enable Soft Compat", "srvsvc.enablesoftcompat", FT_UINT32,
7135 BASE_HEX, NULL, 0x0, "Enable Soft Compat", HFILL}},
7136 { &hf_srvsvc_enableforcedlogoff,
7137 { "Enable Forced Logoff", "srvsvc.enableforcedlogoff", FT_UINT32,
7138 BASE_HEX, NULL, 0x0, "Enable Forced Logoff", HFILL}},
7139 { &hf_srvsvc_timesource,
7140 { "Timesource", "srvsvc.timesource", FT_UINT32,
7141 BASE_HEX, NULL, 0x0, "Timesource", HFILL}},
7142 { &hf_srvsvc_acceptdownlevelapis,
7143 { "Accept Downlevel APIs", "srvsvc.acceptdownlevelapis", FT_UINT32,
7144 BASE_HEX, NULL, 0x0, "Accept Downlevel APIs", HFILL}},
7145 { &hf_srvsvc_lmannounce,
7146 { "LM Announce", "srvsvc.lmannounce", FT_UINT32,
7147 BASE_HEX, NULL, 0x0, "LM Announce", HFILL}},
7148 { &hf_srvsvc_domain,
7149 { "Domain", "srvsvc.domain", FT_STRING,
7150 BASE_HEX, NULL, 0x0, "Domain", HFILL}},
7151 { &hf_srvsvc_maxcopyreadlen,
7152 { "Max Copy Read Len", "srvsvc.maxcopyreadlen", FT_UINT32,
7153 BASE_DEC, NULL, 0x0, "Max Copy Read Len", HFILL}},
7154 { &hf_srvsvc_maxcopywritelen,
7155 { "Max Copy Write Len", "srvsvc.maxcopywritelen", FT_UINT32,
7156 BASE_DEC, NULL, 0x0, "Max Copy Write Len", HFILL}},
7157 { &hf_srvsvc_minkeepsearch,
7158 { "Min Keep Search", "srvsvc.minkeepsearch", FT_UINT32,
7159 BASE_DEC, NULL, 0x0, "Min Keep Search", HFILL}},
7160 { &hf_srvsvc_maxkeepsearch,
7161 { "Max Keep Search", "srvsvc.maxkeepsearch", FT_UINT32,
7162 BASE_DEC, NULL, 0x0, "Max Keep Search", HFILL}},
7163 { &hf_srvsvc_minkeepcomplsearch,
7164 { "Min Keep Compl Search", "srvsvc.minkeepcomplsearch", FT_UINT32,
7165 BASE_DEC, NULL, 0x0, "Min Keep Compl Search", HFILL}},
7166 { &hf_srvsvc_maxkeepcomplsearch,
7167 { "Max Keep Compl Search", "srvsvc.maxkeepcomplsearch", FT_UINT32,
7168 BASE_DEC, NULL, 0x0, "Max Keep Compl Search", HFILL}},
7169 { &hf_srvsvc_threadcountadd,
7170 { "Thread Count Add", "srvsvc.threadcountadd", FT_UINT32,
7171 BASE_DEC, NULL, 0x0, "Thread Count Add", HFILL}},
7172 { &hf_srvsvc_numblockthreads,
7173 { "Num Block Threads", "srvsvc.numblockthreads", FT_UINT32,
7174 BASE_DEC, NULL, 0x0, "Num Block Threads", HFILL}},
7175 { &hf_srvsvc_scavtimeout,
7176 { "Scav Timeout", "srvsvc.scavtimeout", FT_UINT32,
7177 BASE_DEC, NULL, 0x0, "Scav Timeout", HFILL}},
7178 { &hf_srvsvc_minrcvqueue,
7179 { "Min Rcv Queue", "srvsvc.minrcvqueue", FT_UINT32,
7180 BASE_DEC, NULL, 0x0, "Min Rcv Queue", HFILL}},
7181 { &hf_srvsvc_minfreeworkitems,
7182 { "Min Free Workitems", "srvsvc.minfreeworkitems", FT_UINT32,
7183 BASE_DEC, NULL, 0x0, "Min Free Workitems", HFILL}},
7184 { &hf_srvsvc_xactmemsize,
7185 { "Xact Mem Size", "srvsvc.xactmemsize", FT_UINT32,
7186 BASE_DEC, NULL, 0x0, "Xact Mem Size", HFILL}},
7187 { &hf_srvsvc_threadpriority,
7188 { "Thread Priority", "srvsvc.threadpriority", FT_UINT32,
7189 BASE_DEC, NULL, 0x0, "Thread Priority", HFILL}},
7190 { &hf_srvsvc_maxmpxct,
7191 { "MaxMpxCt", "srvsvc.maxmpxct", FT_UINT32,
7192 BASE_DEC, NULL, 0x0, "MaxMpxCt", HFILL}},
7193 { &hf_srvsvc_oplockbreakwait,
7194 { "Oplock Break Wait", "srvsvc.oplockbreakwait", FT_UINT32,
7195 BASE_DEC, NULL, 0x0, "Oplock Break Wait", HFILL}},
7196 { &hf_srvsvc_oplockbreakresponsewait,
7197 { "Oplock Break Response wait", "srvsvc.oplockbreakresponsewait", FT_UINT32,
7198 BASE_DEC, NULL, 0x0, "Oplock Break response Wait", HFILL}},
7199 { &hf_srvsvc_enableoplocks,
7200 { "Enable Oplocks", "srvsvc.enableoplocks", FT_UINT32,
7201 BASE_DEC, NULL, 0x0, "Enable Oplocks", HFILL}},
7202 { &hf_srvsvc_enableoplockforceclose,
7203 { "Enable Oplock Force Close", "srvsvc.enableoplockforceclose", FT_UINT32,
7204 BASE_DEC, NULL, 0x0, "Enable Oplock Force Close", HFILL}},
7205 { &hf_srvsvc_enablefcbopens,
7206 { "Enable FCB Opens", "srvsvc.enablefcbopens", FT_UINT32,
7207 BASE_DEC, NULL, 0x0, "Enable FCB Opens", HFILL}},
7208 { &hf_srvsvc_enableraw,
7209 { "Enable RAW", "srvsvc.enableraw", FT_UINT32,
7210 BASE_DEC, NULL, 0x0, "Enable RAW", HFILL}},
7211 { &hf_srvsvc_enablesharednetdrives,
7212 { "Enable Shared Net Drives", "srvsvc.enablesharednetdrives", FT_UINT32,
7213 BASE_DEC, NULL, 0x0, "Enable Shared Net Drives", HFILL}},
7214 { &hf_srvsvc_minfreeconnections,
7215 { "Min Free Conenctions", "srvsvc.minfreeconnections", FT_UINT32,
7216 BASE_DEC, NULL, 0x0, "Min Free Connections", HFILL}},
7217 { &hf_srvsvc_maxfreeconnections,
7218 { "Max Free Conenctions", "srvsvc.maxfreeconnections", FT_UINT32,
7219 BASE_DEC, NULL, 0x0, "Max Free Connections", HFILL}},
7220 { &hf_srvsvc_initsesstable,
7221 { "Init Session Table", "srvsvc.initsesstable", FT_UINT32,
7222 BASE_DEC, NULL, 0x0, "Init Session Table", HFILL}},
7223 { &hf_srvsvc_initconntable,
7224 { "Init Connection Table", "srvsvc.initconntable", FT_UINT32,
7225 BASE_DEC, NULL, 0x0, "Init Connection Table", HFILL}},
7226 { &hf_srvsvc_initfiletable,
7227 { "Init File Table", "srvsvc.initfiletable", FT_UINT32,
7228 BASE_DEC, NULL, 0x0, "Init File Table", HFILL}},
7229 { &hf_srvsvc_initsearchtable,
7230 { "Init Search Table", "srvsvc.initsearchtable", FT_UINT32,
7231 BASE_DEC, NULL, 0x0, "Init Search Table", HFILL}},
7232 { &hf_srvsvc_errortreshold,
7233 { "Error Treshold", "srvsvc.errortreshold", FT_UINT32,
7234 BASE_DEC, NULL, 0x0, "Error Treshold", HFILL}},
7235 { &hf_srvsvc_networkerrortreshold,
7236 { "Network Error Treshold", "srvsvc.networkerrortreshold", FT_UINT32,
7237 BASE_DEC, NULL, 0x0, "Network Error Treshold", HFILL}},
7238 { &hf_srvsvc_diskspacetreshold,
7239 { "Diskspace Treshold", "srvsvc.diskspacetreshold", FT_UINT32,
7240 BASE_DEC, NULL, 0x0, "Diskspace Treshold", HFILL}},
7241 { &hf_srvsvc_maxlinkdelay,
7242 { "Max Link Delay", "srvsvc.maxlinkdelay", FT_UINT32,
7243 BASE_DEC, NULL, 0x0, "Max Link Delay", HFILL}},
7244 { &hf_srvsvc_minlinkthroughput,
7245 { "Min Link Throughput", "srvsvc.minlinkthroughput", FT_UINT32,
7246 BASE_DEC, NULL, 0x0, "Min Link Throughput", HFILL}},
7247 { &hf_srvsvc_linkinfovalidtime,
7248 { "Link Info Valid Time", "srvsvc.linkinfovalidtime", FT_UINT32,
7249 BASE_DEC, NULL, 0x0, "Link Info Valid Time", HFILL}},
7250 { &hf_srvsvc_scavqosinfoupdatetime,
7251 { "Scav QoS Info Update Time", "srvsvc.scavqosinfoupdatetime", FT_UINT32,
7252 BASE_DEC, NULL, 0x0, "Scav QoS Info Update Time", HFILL}},
7253 { &hf_srvsvc_maxworkitemidletime,
7254 { "Max Workitem Idle Time", "srvsvc.maxworkitemidletime", FT_UINT32,
7255 BASE_DEC, NULL, 0x0, "Max Workitem Idle Time", HFILL}},
7256 { &hf_srvsvc_disk_name,
7257 { "Disk Name", "srvsvc.disk_name", FT_STRING,
7258 BASE_DEC, NULL, 0x0, "Disk Name", HFILL}},
7259 { &hf_srvsvc_disk_name_len,
7260 { "Disk Name Length", "srvsvc.disk_name_len", FT_UINT32,
7261 BASE_DEC, NULL, 0x0, "Length of Disk Name", HFILL}},
7262 { &hf_srvsvc_disk_inf0_unknown,
7263 { "Disk_Info0 unknown", "srvsvc.disk_info0_unknown1", FT_UINT32,
7264 BASE_DEC, NULL, 0x0, "Disk Info 0 unknown uint32", HFILL}},
7265 { &hf_srvsvc_service,
7266 { "Service", "srvsvc.service", FT_STRING,
7267 BASE_DEC, NULL, 0x0, "Service", HFILL}},
7268 { &hf_srvsvc_service_options,
7269 { "Options", "srvsvc.service_options", FT_UINT32,
7270 BASE_HEX, NULL, 0x0, "Service Options", HFILL}},
7271 { &hf_srvsvc_transport_numberofvcs,
7272 { "VCs", "srvsvc.transport.num_vcs", FT_UINT32,
7273 BASE_DEC, NULL, 0x0, "Number of VCs for this transport", HFILL}},
7274 { &hf_srvsvc_transport_name,
7275 { "Name", "srvsvc.transport.name", FT_STRING,
7276 BASE_HEX, NULL, 0x0, "Name of transport", HFILL}},
7277 { &hf_srvsvc_transport_address,
7278 { "Address", "srvsvc.transport.address", FT_BYTES,
7279 BASE_HEX, NULL, 0x0, "Address of transport", HFILL}},
7280 { &hf_srvsvc_transport_address_len,
7281 { "Address Len", "srvsvc.transport.addresslen", FT_UINT32,
7282 BASE_DEC, NULL, 0x0, "Length of transport address", HFILL}},
7283 { &hf_srvsvc_transport_networkaddress,
7284 { "Network Address", "srvsvc.transport.networkaddress", FT_STRING,
7285 BASE_HEX, NULL, 0x0, "Network address for transport", HFILL}},
7286 { &hf_srvsvc_service_bits,
7287 { "Service Bits", "srvsvc.service_bits", FT_UINT32,
7288 BASE_HEX, NULL, 0x0, "Service Bits", HFILL}},
7289 { &hf_srvsvc_service_bits_of_interest,
7290 { "Service Bits Of Interest", "srvsvc.service_bits_of_interest", FT_UINT32,
7291 BASE_HEX, NULL, 0x0, "Service Bits Of Interest", HFILL}},
7292 { &hf_srvsvc_update_immediately,
7293 { "Update Immediately", "srvsvc.update_immediately", FT_UINT32,
7294 BASE_DEC, NULL, 0x0, "Update Immediately", HFILL}},
7295 { &hf_srvsvc_path_flags,
7296 { "Flags", "srvsvc.path_flags", FT_UINT32,
7297 BASE_HEX, NULL, 0x0, "Path flags", HFILL}},
7298 { &hf_srvsvc_share_flags,
7299 { "Flags", "srvsvc.share_flags", FT_UINT32,
7300 BASE_HEX, NULL, 0x0, "Share flags", HFILL}},
7301 { &hf_srvsvc_path_type,
7302 { "Type", "srvsvc.path_type", FT_UINT32,
7303 BASE_DEC, NULL, 0x0, "Path type", HFILL}},
7304 { &hf_srvsvc_path_len,
7305 { "Len", "srvsvc.path_len", FT_UINT32,
7306 BASE_DEC, NULL, 0x0, "Path len", HFILL}},
7307 { &hf_srvsvc_outbuflen,
7308 { "OutBufLen", "srvsvc.outbuflen", FT_UINT32,
7309 BASE_DEC, NULL, 0x0, "Output Buffer Length", HFILL}},
7310 { &hf_srvsvc_prefix,
7311 { "Prefix", "srvsvc.prefix", FT_STRING,
7312 BASE_HEX, NULL, 0x0, "Path Prefix", HFILL}},
7314 { "Context Handle", "srvsvc.hnd", FT_BYTES,
7315 BASE_NONE, NULL, 0x0, "Context Handle", HFILL}},
7316 { &hf_srvsvc_server_stat_start,
7317 { "Start", "srvsvc.server_stat.start", FT_UINT32,
7318 BASE_DEC, NULL, 0x0, "", HFILL}},
7319 { &hf_srvsvc_server_stat_fopens,
7320 { "Fopens", "srvsvc.server_stat.fopens", FT_UINT32,
7321 BASE_DEC, NULL, 0x0, "Number of fopens", HFILL}},
7322 { &hf_srvsvc_server_stat_devopens,
7323 { "Devopens", "srvsvc.server_stat.devopens", FT_UINT32,
7324 BASE_DEC, NULL, 0x0, "Number of devopens", HFILL}},
7325 { &hf_srvsvc_server_stat_jobsqueued,
7326 { "Jobs Queued", "srvsvc.server_stat.jobsqueued", FT_UINT32,
7327 BASE_DEC, NULL, 0x0, "Number of jobs queued", HFILL}},
7328 { &hf_srvsvc_server_stat_sopens,
7329 { "Sopens", "srvsvc.server_stat.sopens", FT_UINT32,
7330 BASE_DEC, NULL, 0x0, "Number of sopens", HFILL}},
7331 { &hf_srvsvc_server_stat_stimeouts,
7332 { "stimeouts", "srvsvc.server_stat.stimeouts", FT_UINT32,
7333 BASE_DEC, NULL, 0x0, "Number of stimeouts", HFILL}},
7334 { &hf_srvsvc_server_stat_serrorout,
7335 { "Serrorout", "srvsvc.server_stat.serrorout", FT_UINT32,
7336 BASE_DEC, NULL, 0x0, "Number of serrorout", HFILL}},
7337 { &hf_srvsvc_server_stat_pwerrors,
7338 { "Pwerrors", "srvsvc.server_stat.pwerrors", FT_UINT32,
7339 BASE_DEC, NULL, 0x0, "Number of password errors", HFILL}},
7340 { &hf_srvsvc_server_stat_permerrors,
7341 { "Permerrors", "srvsvc.server_stat.permerrors", FT_UINT32,
7342 BASE_DEC, NULL, 0x0, "Number of permission errors", HFILL}},
7343 { &hf_srvsvc_server_stat_syserrors,
7344 { "Syserrors", "srvsvc.server_stat.syserrors", FT_UINT32,
7345 BASE_DEC, NULL, 0x0, "Number of system errors", HFILL}},
7346 { &hf_srvsvc_server_stat_bytessent,
7347 { "Bytes Sent", "srvsvc.server_stat.bytessent", FT_UINT64,
7348 BASE_DEC, NULL, 0x0, "Number of bytes sent", HFILL}},
7349 { &hf_srvsvc_server_stat_bytesrcvd,
7350 { "Bytes Rcvd", "srvsvc.server_stat.bytesrcvd", FT_UINT64,
7351 BASE_DEC, NULL, 0x0, "Number of bytes received", HFILL}},
7352 { &hf_srvsvc_server_stat_avresponse,
7353 { "Avresponse", "srvsvc.server_stat.avresponse", FT_UINT32,
7354 BASE_DEC, NULL, 0x0, "", HFILL}},
7355 { &hf_srvsvc_server_stat_reqbufneed,
7356 { "Req Buf Need", "srvsvc.server_stat.reqbufneed", FT_UINT32,
7357 BASE_DEC, NULL, 0x0, "Number of request buffers needed?", HFILL}},
7358 { &hf_srvsvc_server_stat_bigbufneed,
7359 { "Big Buf Need", "srvsvc.server_stat.bigbufneed", FT_UINT32,
7360 BASE_DEC, NULL, 0x0, "Number of big buffers needed?", HFILL}},
7361 { &hf_srvsvc_tod_elapsed,
7362 { "Elapsed", "srvsvc.tod.elapsed", FT_UINT32,
7363 BASE_DEC, NULL, 0x0, "", HFILL}},
7364 { &hf_srvsvc_tod_msecs,
7365 { "msecs", "srvsvc.tod.msecs", FT_UINT32,
7366 BASE_DEC, NULL, 0x0, "", HFILL}},
7367 { &hf_srvsvc_tod_hours,
7368 { "Hours", "srvsvc.tod.hours", FT_UINT32,
7369 BASE_DEC, NULL, 0x0, "", HFILL}},
7370 { &hf_srvsvc_tod_mins,
7371 { "Mins", "srvsvc.tod.mins", FT_UINT32,
7372 BASE_DEC, NULL, 0x0, "", HFILL}},
7373 { &hf_srvsvc_tod_secs,
7374 { "Secs", "srvsvc.tod.secs", FT_UINT32,
7375 BASE_DEC, NULL, 0x0, "", HFILL}},
7376 { &hf_srvsvc_tod_hunds,
7377 { "Hunds", "srvsvc.tod.hunds", FT_UINT32,
7378 BASE_DEC, NULL, 0x0, "", HFILL}},
7379 { &hf_srvsvc_tod_timezone,
7380 { "Timezone", "srvsvc.tod.timezone", FT_UINT32,
7381 BASE_DEC, NULL, 0x0, "", HFILL}},
7382 { &hf_srvsvc_tod_tinterval,
7383 { "Tinterval", "srvsvc.tod.tinterval", FT_UINT32,
7384 BASE_DEC, NULL, 0x0, "", HFILL}},
7385 { &hf_srvsvc_tod_day,
7386 { "Day", "srvsvc.tod.day", FT_UINT32,
7387 BASE_DEC, NULL, 0x0, "", HFILL}},
7388 { &hf_srvsvc_tod_month,
7389 { "Month", "srvsvc.tod.month", FT_UINT32,
7390 BASE_DEC, NULL, 0x0, "", HFILL}},
7391 { &hf_srvsvc_tod_year,
7392 { "Year", "srvsvc.tod.year", FT_UINT32,
7393 BASE_DEC, NULL, 0x0, "", HFILL}},
7394 { &hf_srvsvc_tod_weekday,
7395 { "Weekday", "srvsvc.tod.weekday", FT_UINT32,
7396 BASE_DEC, NULL, 0x0, "", HFILL}},
7399 static gint *ett[] = {
7401 &ett_srvsvc_share_info_1,
7402 &ett_srvsvc_share_info_2,
7403 &ett_srvsvc_share_info_501,
7404 &ett_srvsvc_share_info_502
7407 proto_dcerpc_srvsvc = proto_register_protocol(
7408 "Microsoft Server Service", "SRVSVC", "srvsvc");
7410 proto_register_field_array(proto_dcerpc_srvsvc, hf, array_length(hf));
7411 proto_register_subtree_array(ett, array_length(ett));
7415 proto_reg_handoff_dcerpc_srvsvc(void)
7417 /* Register protocol as dcerpc */
7419 dcerpc_init_uuid(proto_dcerpc_srvsvc, ett_dcerpc_srvsvc,
7420 &uuid_dcerpc_srvsvc, ver_dcerpc_srvsvc,
7421 dcerpc_srvsvc_dissectors, hf_srvsvc_opnum);