From b85f1d1b809125b2c5c66e5a4d0d31d19936cac9 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Sat, 16 Sep 2006 11:57:14 +0000 Subject: [PATCH] generate SRVSVC by pidl small prettification regression but that will be fixed in the next few days svn path=/trunk/; revision=19244 --- epan/dissectors/packet-dcerpc-srvsvc.c | 26646 ++++++++++++++++------- epan/dissectors/packet-dcerpc-srvsvc.h | 239 +- epan/dissectors/pidl/srvsvc.cnf | 127 + epan/dissectors/pidl/srvsvc.idl | 70 +- 4 files changed, 19670 insertions(+), 7412 deletions(-) create mode 100644 epan/dissectors/pidl/srvsvc.cnf diff --git a/epan/dissectors/packet-dcerpc-srvsvc.c b/epan/dissectors/packet-dcerpc-srvsvc.c index a91a75b6de..b02a1a7a8a 100644 --- a/epan/dissectors/packet-dcerpc-srvsvc.c +++ b/epan/dissectors/packet-dcerpc-srvsvc.c @@ -1,36 +1,12 @@ -/* packet-dcerpc-srvsvc.c - * Routines for SMB \PIPE\srvsvc packet disassembly - * Copyright 2001-2003, Tim Potter - * Copyright 2002, Richard Sharpe - * decode srvsvc calls where Samba knows them ... - * Copyright 2002, Ronnie Sahlberg - * rewrote entire dissector - * - * 2002, some share information levels implemented based on samba - * sources. - * - * $Id$ - * - * Wireshark - Network traffic analyzer - * By Gerald Combs - * Copyright 1998 Gerald Combs - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -/* The IDL file for this interface can be extracted by grepping for IDL */ +/* DO NOT EDIT + This filter was automatically generated + from srvsvc.idl and srvsvc.cnf. + + Pidl is a perl based IDL compiler for DCE/RPC idl files. + It is maintained by the Samba team, not the Wireshark team. + Instructions on how to download and install Pidl can be + found at http://wiki.wireshark.org/Pidl +*/ #ifdef HAVE_CONFIG_H @@ -38,7448 +14,19536 @@ #endif #include +#include #include + #include "packet-dcerpc.h" -#include "packet-dcerpc-srvsvc.h" -#include "packet-dcerpc-lsa.h" #include "packet-dcerpc-nt.h" -#include "packet-smb-common.h" -#include "packet-smb-browse.h" -#include "packet-windows-common.h" /* for "DOS_errors[]" */ - -static int proto_dcerpc_srvsvc = -1; -static int hf_srvsvc_opnum = -1; -static int hf_srvsvc_reserved = -1; -static int hf_srvsvc_server = -1; -static int hf_srvsvc_emulated_server = -1; -static int hf_srvsvc_alerts = -1; -static int hf_srvsvc_guest = -1; -static int hf_srvsvc_transport = -1; -static int hf_srvsvc_session = -1; -static int hf_srvsvc_session_num_opens = -1; -static int hf_srvsvc_session_time = -1; -static int hf_srvsvc_session_idle_time = -1; -static int hf_srvsvc_session_user_flags = -1; -static int hf_srvsvc_qualifier = -1; -static int hf_srvsvc_computer = -1; -static int hf_srvsvc_user = -1; -static int hf_srvsvc_path = -1; -static int hf_srvsvc_share_passwd = -1; -static int hf_srvsvc_share_alternate_name = -1; -static int hf_srvsvc_file_id = -1; -static int hf_srvsvc_perm = -1; -static int hf_srvsvc_policy = -1; -static int hf_srvsvc_file_num_locks = -1; -static int hf_srvsvc_con_id = -1; -static int hf_srvsvc_max_uses = -1; -static int hf_srvsvc_cur_uses = -1; -static int hf_srvsvc_con_time = -1; -static int hf_srvsvc_con_type = -1; -static int hf_srvsvc_con_num_opens = -1; -static int hf_srvsvc_chrqpri = -1; -static int hf_srvsvc_chrqnumusers = -1; -static int hf_srvsvc_chrqnumahead = -1; -static int hf_srvsvc_chrdev = -1; -static int hf_srvsvc_chrdevq = -1; -static int hf_srvsvc_chrdev_time = -1; -static int hf_srvsvc_chrdev_status = -1; -static int hf_srvsvc_chrdev_opcode = -1; -static int hf_srvsvc_info_level = -1; -static int hf_srvsvc_rc = -1; -static int hf_srvsvc_platform_id = -1; -static int hf_srvsvc_ver_major = -1; -static int hf_srvsvc_ver_minor = -1; -static int hf_srvsvc_client_type = -1; -static int hf_srvsvc_comment = -1; -static int hf_srvsvc_users = -1; -static int hf_srvsvc_disc = -1; -static int hf_srvsvc_hidden = -1; -static int hf_srvsvc_announce = -1; -static int hf_srvsvc_anndelta = -1; -static int hf_srvsvc_licences = -1; -static int hf_srvsvc_user_path = -1; -static int hf_srvsvc_share = -1; -static int hf_srvsvc_share_type = -1; -static int hf_srvsvc_num_entries = -1; -static int hf_srvsvc_total_entries = -1; -static int hf_srvsvc_preferred_len = -1; -static int hf_srvsvc_parm_error = -1; -static int hf_srvsvc_enum_handle = -1; -static int hf_srvsvc_ulist_mtime = -1; -static int hf_srvsvc_glist_mtime = -1; -static int hf_srvsvc_alist_mtime = -1; -static int hf_srvsvc_security = -1; -static int hf_srvsvc_dfs_root_flags = -1; -static int hf_srvsvc_numadmin = -1; -static int hf_srvsvc_lanmask = -1; -static int hf_srvsvc_chdevs = -1; -static int hf_srvsvc_chdevqs = -1; -static int hf_srvsvc_chdevjobs = -1; -static int hf_srvsvc_connections = -1; -static int hf_srvsvc_shares = -1; -static int hf_srvsvc_openfiles = -1; -static int hf_srvsvc_sessopens = -1; -static int hf_srvsvc_sessvcs = -1; -static int hf_srvsvc_sessreqs = -1; -static int hf_srvsvc_opensearch = -1; -static int hf_srvsvc_activelocks = -1; -static int hf_srvsvc_sizreqbufs = -1; -static int hf_srvsvc_numbigbufs = -1; -static int hf_srvsvc_numfiletasks = -1; -static int hf_srvsvc_alertsched = -1; -static int hf_srvsvc_erroralert = -1; -static int hf_srvsvc_logonalert = -1; -static int hf_srvsvc_accessalert = -1; -static int hf_srvsvc_diskalert = -1; -static int hf_srvsvc_netioalert = -1; -static int hf_srvsvc_maxauditsz = -1; -static int hf_srvsvc_srvheuristics = -1; -static int hf_srvsvc_auditedevents = -1; -static int hf_srvsvc_auditprofile = -1; -static int hf_srvsvc_autopath = -1; -static int hf_srvsvc_initworkitems = -1; -static int hf_srvsvc_maxworkitems = -1; -static int hf_srvsvc_rawworkitems = -1; -static int hf_srvsvc_irpstacksize = -1; -static int hf_srvsvc_maxrawbuflen = -1; -static int hf_srvsvc_maxpagedmemoryusage = -1; -static int hf_srvsvc_maxnonpagedmemoryusage = -1; -static int hf_srvsvc_enablesoftcompat = -1; -static int hf_srvsvc_enableforcedlogoff = -1; -static int hf_srvsvc_timesource = -1; -static int hf_srvsvc_acceptdownlevelapis = -1; -static int hf_srvsvc_lmannounce = -1; -static int hf_srvsvc_domain = -1; -static int hf_srvsvc_maxcopyreadlen = -1; -static int hf_srvsvc_maxcopywritelen = -1; -static int hf_srvsvc_minkeepsearch = -1; -static int hf_srvsvc_maxkeepsearch = -1; -static int hf_srvsvc_minkeepcomplsearch = -1; -static int hf_srvsvc_maxkeepcomplsearch = -1; -static int hf_srvsvc_threadcountadd = -1; -static int hf_srvsvc_numblockthreads = -1; -static int hf_srvsvc_scavtimeout = -1; -static int hf_srvsvc_minrcvqueue = -1; -static int hf_srvsvc_minfreeworkitems = -1; -static int hf_srvsvc_xactmemsize = -1; -static int hf_srvsvc_threadpriority = -1; -static int hf_srvsvc_maxmpxct = -1; -static int hf_srvsvc_oplockbreakwait = -1; -static int hf_srvsvc_oplockbreakresponsewait = -1; -static int hf_srvsvc_enableoplocks = -1; -static int hf_srvsvc_enableoplockforceclose = -1; -static int hf_srvsvc_enablefcbopens = -1; -static int hf_srvsvc_enableraw = -1; -static int hf_srvsvc_enablesharednetdrives = -1; -static int hf_srvsvc_minfreeconnections = -1; -static int hf_srvsvc_maxfreeconnections = -1; -static int hf_srvsvc_initsesstable = -1; -static int hf_srvsvc_initconntable = -1; -static int hf_srvsvc_initfiletable = -1; -static int hf_srvsvc_initsearchtable = -1; -static int hf_srvsvc_errortreshold = -1; -static int hf_srvsvc_networkerrortreshold = -1; -static int hf_srvsvc_diskspacetreshold = -1; -static int hf_srvsvc_maxlinkdelay = -1; -static int hf_srvsvc_minlinkthroughput = -1; -static int hf_srvsvc_linkinfovalidtime = -1; -static int hf_srvsvc_scavqosinfoupdatetime = -1; -static int hf_srvsvc_maxworkitemidletime = -1; -static int hf_srvsvc_disk_name = -1; -static int hf_srvsvc_disk_name_len = -1; -static int hf_srvsvc_disk_inf0_unknown = -1; -static int hf_srvsvc_service = -1; -static int hf_srvsvc_service_options = -1; -static int hf_srvsvc_transport_numberofvcs = -1; -static int hf_srvsvc_transport_name = -1; -static int hf_srvsvc_transport_address = -1; -static int hf_srvsvc_transport_address_len = -1; -static int hf_srvsvc_transport_networkaddress = -1; -static int hf_srvsvc_service_bits = -1; -static int hf_srvsvc_service_bits_of_interest = -1; -static int hf_srvsvc_update_immediately = -1; -static int hf_srvsvc_path_flags = -1; -static int hf_srvsvc_share_flags = -1; -static int hf_srvsvc_path_type = -1; -static int hf_srvsvc_outbuflen = -1; -static int hf_srvsvc_prefix = -1; -static int hf_srvsvc_hnd = -1; -static int hf_srvsvc_server_stat_start = -1; -static int hf_srvsvc_server_stat_fopens = -1; -static int hf_srvsvc_server_stat_devopens = -1; -static int hf_srvsvc_server_stat_jobsqueued = -1; -static int hf_srvsvc_server_stat_sopens = -1; -static int hf_srvsvc_server_stat_stimeouts = -1; -static int hf_srvsvc_server_stat_serrorout = -1; -static int hf_srvsvc_server_stat_pwerrors = -1; -static int hf_srvsvc_server_stat_permerrors = -1; -static int hf_srvsvc_server_stat_syserrors = -1; -static int hf_srvsvc_server_stat_bytessent = -1; -static int hf_srvsvc_server_stat_bytesrcvd = -1; -static int hf_srvsvc_server_stat_avresponse = -1; -static int hf_srvsvc_server_stat_reqbufneed = -1; -static int hf_srvsvc_server_stat_bigbufneed = -1; -static int hf_srvsvc_tod_elapsed = -1; -static int hf_srvsvc_tod_msecs = -1; -static int hf_srvsvc_tod_hours = -1; -static int hf_srvsvc_tod_mins = -1; -static int hf_srvsvc_tod_secs = -1; -static int hf_srvsvc_tod_hunds = -1; -static int hf_srvsvc_tod_timezone = -1; -static int hf_srvsvc_tod_tinterval = -1; -static int hf_srvsvc_tod_day = -1; -static int hf_srvsvc_tod_month = -1; -static int hf_srvsvc_tod_year = -1; -static int hf_srvsvc_tod_weekday = -1; -static int hf_srvsvc_path_len = -1; +#include "packet-windows-common.h" +#include "packet-dcerpc-srvsvc.h" +/* Ett declarations */ static gint ett_dcerpc_srvsvc = -1; -static gint ett_srvsvc_share_info_1 = -1; -static gint ett_srvsvc_share_info_2 = -1; -static gint ett_srvsvc_share_info_501 = -1; -static gint ett_srvsvc_share_info_502 = -1; +static gint ett_srvsvc_srvsvc_NetCharDevInfo0 = -1; +static gint ett_srvsvc_srvsvc_NetCharDevCtr0 = -1; +static gint ett_srvsvc_srvsvc_NetCharDevInfo1 = -1; +static gint ett_srvsvc_srvsvc_NetCharDevCtr1 = -1; +static gint ett_srvsvc_srvsvc_NetCharDevInfo = -1; +static gint ett_srvsvc_srvsvc_NetCharDevCtr = -1; +static gint ett_srvsvc_srvsvc_NetCharDevQInfo0 = -1; +static gint ett_srvsvc_srvsvc_NetCharDevQCtr0 = -1; +static gint ett_srvsvc_srvsvc_NetCharDevQInfo1 = -1; +static gint ett_srvsvc_srvsvc_NetCharDevQCtr1 = -1; +static gint ett_srvsvc_srvsvc_NetCharDevQInfo = -1; +static gint ett_srvsvc_srvsvc_NetCharDevQCtr = -1; +static gint ett_srvsvc_srvsvc_NetConnInfo0 = -1; +static gint ett_srvsvc_srvsvc_NetConnCtr0 = -1; +static gint ett_srvsvc_srvsvc_NetConnInfo1 = -1; +static gint ett_srvsvc_srvsvc_NetConnCtr1 = -1; +static gint ett_srvsvc_srvsvc_NetConnCtr = -1; +static gint ett_srvsvc_srvsvc_NetFileInfo2 = -1; +static gint ett_srvsvc_srvsvc_NetFileCtr2 = -1; +static gint ett_srvsvc_srvsvc_NetFileInfo3 = -1; +static gint ett_srvsvc_srvsvc_NetFileCtr3 = -1; +static gint ett_srvsvc_srvsvc_NetFileInfo = -1; +static gint ett_srvsvc_srvsvc_NetFileCtr = -1; +static gint ett_srvsvc_srvsvc_NetSessInfo0 = -1; +static gint ett_srvsvc_srvsvc_NetSessCtr0 = -1; +static gint ett_srvsvc_srvsvc_NetSessInfo1 = -1; +static gint ett_srvsvc_srvsvc_NetSessCtr1 = -1; +static gint ett_srvsvc_srvsvc_NetSessInfo2 = -1; +static gint ett_srvsvc_srvsvc_NetSessCtr2 = -1; +static gint ett_srvsvc_srvsvc_NetSessInfo10 = -1; +static gint ett_srvsvc_srvsvc_NetSessCtr10 = -1; +static gint ett_srvsvc_srvsvc_NetSessInfo502 = -1; +static gint ett_srvsvc_srvsvc_NetSessCtr502 = -1; +static gint ett_srvsvc_srvsvc_NetSessCtr = -1; +static gint ett_srvsvc_srvsvc_NetShareInfo0 = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr0 = -1; +static gint ett_srvsvc_srvsvc_NetShareInfo1 = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr1 = -1; +static gint ett_srvsvc_srvsvc_NetShareInfo2 = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr2 = -1; +static gint ett_srvsvc_srvsvc_NetShareInfo501 = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr501 = -1; +static gint ett_srvsvc_srvsvc_NetShareInfo502 = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr502 = -1; +static gint ett_srvsvc_srvsvc_NetShareInfo1004 = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr1004 = -1; +static gint ett_srvsvc_srvsvc_NetShareInfo1005 = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr1005 = -1; +static gint ett_srvsvc_srvsvc_NetShareInfo1006 = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr1006 = -1; +static gint ett_srvsvc_srvsvc_NetShareInfo1007 = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr1007 = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr1501 = -1; +static gint ett_srvsvc_srvsvc_NetShareInfo = -1; +static gint ett_srvsvc_srvsvc_NetShareCtr = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo100 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo101 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo102 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo402 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo403 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo502 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo503 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo599 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1005 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1010 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1016 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1017 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1018 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1107 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1501 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1502 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1503 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1506 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1509 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1510 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1511 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1512 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1513 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1514 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1515 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1516 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1518 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1520 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1521 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1522 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1523 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1524 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1525 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1528 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1529 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1530 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1533 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1534 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1535 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1536 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1537 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1538 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1539 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1540 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1541 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1542 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1543 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1544 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1545 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1546 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1547 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1548 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1549 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1550 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1552 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1553 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1554 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1555 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo1556 = -1; +static gint ett_srvsvc_srvsvc_NetSrvInfo = -1; +static gint ett_srvsvc_srvsvc_NetDiskInfo0 = -1; +static gint ett_srvsvc_srvsvc_NetDiskInfo = -1; +static gint ett_srvsvc_srvsvc_Statistics = -1; +static gint ett_srvsvc_srvsvc_NetTransportInfo0 = -1; +static gint ett_srvsvc_srvsvc_NetTransportCtr0 = -1; +static gint ett_srvsvc_srvsvc_NetTransportInfo1 = -1; +static gint ett_srvsvc_srvsvc_NetTransportCtr1 = -1; +static gint ett_srvsvc_srvsvc_NetTransportInfo2 = -1; +static gint ett_srvsvc_srvsvc_NetTransportCtr2 = -1; +static gint ett_srvsvc_srvsvc_NetTransportInfo3 = -1; +static gint ett_srvsvc_srvsvc_NetTransportCtr3 = -1; +static gint ett_srvsvc_srvsvc_NetTransportCtr = -1; +static gint ett_srvsvc_srvsvc_NetRemoteTODInfo = -1; +static gint ett_srvsvc_srvsvc_NetTransportInfo = -1; +/* Header field declarations */ +static gint hf_srvsvc_srvsvc_NetSrvInfo102_platform_id = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1501_sessopens = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_openfiles = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr2_count = -1; +static gint hf_srvsvc_srvsvc_NetPathCanonicalize_pathflags = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_version_minor = -1; +static gint hf_srvsvc_srvsvc_NetShareAdd_parm_error = -1; +static gint hf_srvsvc_srvsvc_NetSessEnum_user = -1; +static gint hf_srvsvc_srvsvc_NetShareCheck_device_name = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr_ctr502 = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_hours = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxmpxct = -1; +static gint hf_srvsvc_srvsvc_NetTransportAdd_level = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo3_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_enableoplockforceclose = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_hunds = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr2_array = -1; +static gint hf_srvsvc_srvsvc_NetConnInfo1_share = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQEnum_totalentries = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1518_lmannounce = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo502_idle_time = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_netioalert = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQGetInfo_info = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_sessopen = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxkeepcomplsearch = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_enablesharednetdrives = -1; +static gint hf_srvsvc_srvsvc_NetShareCheck_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_maxpagedmemoryusage = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_srvheuristics = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo501_name = -1; +static gint hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_servicebits = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_day = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_maxkeepcomplsearch = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_accessalert = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_glist_mtime = -1; +static gint hf_srvsvc_srvsvc_NetShareSetInfo_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetConnCtr0_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_sizereqbufs = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo_info1004 = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo_info1005 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo2_addr = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo_info1006 = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo10_time = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo_info1007 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1516_timesource = -1; +static gint hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_servicebitsofinterest = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_alerts = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo2_max_users = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1005 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo1_name = -1; +static gint hf_srvsvc_srvsvc_NetFileEnum_totalentries = -1; +static gint hf_srvsvc_srvsvc_NetCharDevControl_device_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1540_enablesharednetdrives = -1; +static gint hf_srvsvc_srvsvc_NetFileEnum_level = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_shares = -1; +static gint hf_srvsvc_srvsvc_NetConnInfo1_conn_id = -1; +static gint hf_srvsvc_srvsvc_NetCharDevCtr0_count = -1; +static gint hf_srvsvc_srvsvc_NetShareGetInfo_share_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1548_errortreshold = -1; +static gint hf_srvsvc_srvsvc_NetPRNameCompare_name1 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_version_major = -1; +static gint hf_srvsvc_srvsvc_NetPRNameCompare_name2 = -1; +static gint hf_srvsvc_srvsvc_NetPRNameCompare_name_type = -1; +static gint hf_srvsvc_srvsvc_NetSessEnum_max_buffer = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_chdevqs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_rawworkitems = -1; +static gint hf_srvsvc_srvsvc_NetConnInfo1_num_users = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo2_password = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo502_type = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQInfo1_device = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1010 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo100_platform_id = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1556_maxworkitemidletime = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_oplockbreakwait = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1016 = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr_ctr0 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1017 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1018 = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr_ctr1 = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr_ctr2 = -1; +static gint hf_srvsvc_srvsvc_NetShareEnum_ctr = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_networkerrortreshold = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_mins = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_acceptdownlevelapis = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo0_addr = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1005_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_netioalert = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_irpstacksize = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQSetInfo_parm_error = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo2_addr_len = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_sessopen = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo101_server_name = -1; +static gint hf_srvsvc_srvsvc_NetPathCanonicalize_path = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_minrcvqueue = -1; +static gint hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetConnEnum_max_buffer = -1; +static gint hf_srvsvc_srvsvc_NetServerStatisticsGet_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_scavtimeout = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1506_maxworkitems = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_alist_mtime = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1501_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_chdevjobs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_announce = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr1_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_server_type = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo2_client = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1549_networkerrortreshold = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_maxworkitems = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_hidden = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_userpath = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_guestaccount = -1; +static gint hf_srvsvc_srvsvc_NetDiskInfo_disks = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo502_path = -1; +static gint hf_srvsvc_srvsvc_NetShareDelStart_share = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_xactmemsize = -1; +static gint hf_srvsvc_srvsvc_NetSessEnum_level = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1503_opensearch = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo1_comment = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxworkitemidletime = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_initworkitems = -1; +static gint hf_srvsvc_srvsvc_NetConnEnum_resume_handle = -1; +static gint hf_srvsvc_srvsvc_NetTransportEnum_transports = -1; +static gint hf_srvsvc_srvsvc_NetSrvSetInfo_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1107 = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo502_unknown = -1; +static gint hf_srvsvc_srvsvc_NetShareEnumAll_resume_handle = -1; +static gint hf_srvsvc_srvsvc_NetConnInfo1_conn_type = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1016_hidden = -1; +static gint hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_updateimmediately = -1; +static gint hf_srvsvc_srvsvc_NetSessDel_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_transport = -1; +static gint hf_srvsvc_srvsvc_NetSessDel_user = -1; +static gint hf_srvsvc_srvsvc_Statistics_serrorout = -1; +static gint hf_srvsvc_srvsvc_Statistics_syserrors = -1; +static gint hf_srvsvc_srvsvc_NetCharDevGetInfo_level = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr1_array = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo501_csc_policy = -1; +static gint hf_srvsvc_srvsvc_NetPathCompare_pathtype = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_minlinkthroughput = -1; +static gint hf_srvsvc_srvsvc_NetShareGetInfo_level = -1; +static gint hf_srvsvc_srvsvc_NetCharDevInfo_info0 = -1; +static gint hf_srvsvc_srvsvc_NetCharDevInfo_info1 = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_weekday = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo502_transport = -1; +static gint hf_srvsvc_srvsvc_NetSrvGetInfo_level = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo2_user = -1; +static gint hf_srvsvc_srvsvc_NetCharDevGetInfo_info = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQPurgeSelf_computer_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_numfiletasks = -1; +static gint hf_srvsvc_srvsvc_NetFileCtr3_count = -1; +static gint hf_srvsvc_srvsvc_NetFileEnum_resume_handle = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_maxaudits = -1; +static gint hf_srvsvc_srvsvc_Statistics_bytesrcvd_high = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info599 = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo1_user_flags = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_sizereqbufs = -1; +static gint hf_srvsvc_srvsvc_NetServerStatisticsGet_stat = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQInfo0_device = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1007_count = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr10_count = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo2_vcs = -1; +static gint hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_emulated_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetCharDevControl_opcode = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1004_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_chdevqs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_diskalert = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr2_array = -1; +static gint hf_srvsvc_srvsvc_NetShareDel_reserved = -1; +static gint hf_srvsvc_srvsvc_NetFileGetInfo_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetDiskEnum_totalentries = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_rawworkitems = -1; +static gint hf_srvsvc_srvsvc_NetShareCheck_type = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo3_unknown1 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_opensearch = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo3_unknown2 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo3_unknown3 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1515_enableforcedlogoff = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxcopywritelen = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_chdevs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1509_maxrawbuflen = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo1_client = -1; +static gint hf_srvsvc_srvsvc_NetDiskEnum_level = -1; +static gint hf_srvsvc_srvsvc_NetFileGetInfo_level = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_domain = -1; +static gint hf_srvsvc_srvsvc_NetCharDevInfo1_device = -1; +static gint hf_srvsvc_srvsvc_NetShareEnum_totalentries = -1; +static gint hf_srvsvc_srvsvc_NetShareDelStart_reserved = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQEnum_ctr = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_ulist_mtime = -1; +static gint hf_srvsvc_srvsvc_NetDiskInfo_count = -1; +static gint hf_srvsvc_srvsvc_NetFileCtr_ctr2 = -1; +static gint hf_srvsvc_srvsvc_NetFileCtr_ctr3 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_openfiles = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo1_name = -1; +static gint hf_srvsvc_srvsvc_NetConnCtr0_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_maxworkitems = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr_ctr0 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo0_addr_len = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo2_user_flags = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_guestaccount = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr_ctr1 = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr_ctr2 = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr_ctr3 = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo2_comment = -1; +static gint hf_srvsvc_srvsvc_NetFileGetInfo_fid = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo2_time = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr0_count = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo502_client_type = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_activelocks = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo2_permissions = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_lmannounce = -1; +static gint hf_srvsvc_srvsvc_NetCharDevCtr_ctr0 = -1; +static gint hf_srvsvc_srvsvc_NetCharDevCtr_ctr1 = -1; +static gint hf_srvsvc_srvsvc_NetCharDevCtr0_array = -1; +static gint hf_srvsvc_srvsvc_Statistics_bytessent_low = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1525_maxkeepcomplsearch = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo2_client_type = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_sesssvc = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQSetInfo_level = -1; +static gint hf_srvsvc_srvsvc_NetFileEnum_path = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_oplockbreakwait = -1; +static gint hf_srvsvc_srvsvc_NetFileInfo_info2 = -1; +static gint hf_srvsvc_srvsvc_NetTransportEnum_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_msecs = -1; +static gint hf_srvsvc_srvsvc_NetFileInfo_info3 = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo2_type = -1; +static gint hf_srvsvc_srvsvc_NetTransportDel_unknown = -1; +static gint hf_srvsvc_srvsvc_NetTransportEnum_level = -1; +static gint hf_srvsvc_srvsvc_NetShareDelStart_hnd = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_connections = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo502_max_users = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_numlockthreads = -1; +static gint hf_srvsvc_srvsvc_NetShareAdd_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTOD_info = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQPurge_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo1_num_open = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_numlockthreads = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_numfiletasks = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_srvheuristics = -1; +static gint hf_srvsvc_srvsvc_NetServerTransportAddEx_level = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxlinkdelay = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_acceptdownlevelapis = -1; +static gint hf_srvsvc_srvsvc_NetTransportAdd_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr1_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_licenses = -1; +static gint hf_srvsvc_srvsvc_NetGetFileSecurity_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_chdevs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1520_maxcopyreadlen = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_sessusers = -1; +static gint hf_srvsvc_srvsvc_NetGetFileSecurity_file = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo0_client = -1; +static gint hf_srvsvc_srvsvc_NetPathCompare_path1 = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo2_path = -1; +static gint hf_srvsvc_srvsvc_NetPathCompare_path2 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_sessreqs = -1; +static gint hf_srvsvc_srvsvc_NetFileInfo3_num_locks = -1; +static gint hf_srvsvc_srvsvc_NetCharDevInfo0_device = -1; +static gint hf_srvsvc_srvsvc_NetShareDelSticky_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetFileInfo3_path = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQPurge_queue_name = -1; +static gint hf_srvsvc_srvsvc_NetPathType_pathflags = -1; +static gint hf_srvsvc_srvsvc_NetSetServiceBits_updateimmediately = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo1006_max_users = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQInfo1_devices = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1553_minlinkthroughput = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1530_minfreeworkitems = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1514_enablesoftcompat = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_minkeepsearch = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQCtr1_count = -1; +static gint hf_srvsvc_srvsvc_Statistics_bytessent_high = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr_ctr501 = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr_ctr502 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo2_net_addr = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_users = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr502_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1017_announce = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxfreeconnections = -1; +static gint hf_srvsvc_srvsvc_NetSetServiceBits_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_reserved = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_sessusers = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_numadmin = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_maxfreeconnections = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1521_maxcopywritelen = -1; +static gint hf_srvsvc_opnum = -1; +static gint hf_srvsvc_srvsvc_NetCharDevEnum_totalentries = -1; +static gint hf_srvsvc_srvsvc_NetFileCtr3_array = -1; +static gint hf_srvsvc_srvsvc_NetFileInfo2_fid = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_maxkeepsearch = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_initconntable = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_initsesstable = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1007_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1005_comment = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr10_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_enablesoftcompat = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_sesssvc = -1; +static gint hf_srvsvc_srvsvc_NetShareEnum_resume_handle = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQSetInfo_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1004_array = -1; +static gint hf_srvsvc_srvsvc_NetShareDelStart_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_maxcopywritelen = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_enablesharednetdrives = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQInfo1_priority = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr_ctr1004 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_sessopen = -1; +static gint hf_srvsvc_srvsvc_NetPRNameCompare_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr_ctr1005 = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr_ctr1006 = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr3_count = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr_ctr1007 = -1; +static gint hf_srvsvc_srvsvc_NetConnCtr_ctr0 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_maxpagedmemoryusage = -1; +static gint hf_srvsvc_srvsvc_NetConnCtr_ctr1 = -1; +static gint hf_srvsvc_srvsvc_NetTransportEnum_max_buffer = -1; +static gint hf_srvsvc_srvsvc_NetShareGetInfo_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSetFileSecurity_securityinformation = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr0_count = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQInfo1_users = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_lanmask = -1; +static gint hf_srvsvc_srvsvc_NetDiskEnum_info = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1554_linkinfovalidtime = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_timesource = -1; +static gint hf_srvsvc_srvsvc_NetTransportEnum_totalentries = -1; +static gint hf_srvsvc_srvsvc_NetSessEnum_ctr = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1541_minfreeconnections = -1; +static gint hf_srvsvc_srvsvc_NetConnInfo1_user = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_timezone = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo2_current_users = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_security = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQSetInfo_queue_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_enablesoftcompat = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxrawbuflen = -1; +static gint hf_srvsvc_srvsvc_NetTransportAdd_info = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_errortreshold = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_initsearchtable = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_alertsched = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_glist_mtime = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_accessalert = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_secs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1555_scavqosinfoupdatetime = -1; +static gint hf_srvsvc_srvsvc_NetCharDevInfo1_user = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_sizereqbufs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_maxnonpagedmemoryusage = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info100 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info101 = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr0_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_enableoplocks = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info102 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_minkeepcomplsearch = -1; +static gint hf_srvsvc_srvsvc_NetFileEnum_user = -1; +static gint hf_srvsvc_srvsvc_NetConnInfo1_conn_time = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo502_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_minkeepcomplsearch = -1; +static gint hf_srvsvc_srvsvc_NetPathType_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo3_addr_len = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo1007_alternate_directory_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_sessopen = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_enableoplockforceclose = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo3_addr = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo3_vcs = -1; +static gint hf_srvsvc_srvsvc_NetSetFileSecurity_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetShareEnum_level = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo_info1501 = -1; +static gint hf_srvsvc_srvsvc_Statistics_start = -1; +static gint hf_srvsvc_srvsvc_NetFileCtr2_count = -1; +static gint hf_srvsvc_srvsvc_NetSessEnum_totalentries = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_scavtimeout = -1; +static gint hf_srvsvc_srvsvc_NetSrvSetInfo_info = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo2_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1543_initsesstable = -1; +static gint hf_srvsvc_srvsvc_NetSetServiceBits_transport = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1501 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1502 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo101_platform_id = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1503 = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1006_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1506 = -1; +static gint hf_srvsvc_srvsvc_NetFileInfo3_permissions = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1509 = -1; +static gint hf_srvsvc_srvsvc_NetPathType_pathtype = -1; +static gint hf_srvsvc_srvsvc_NetSetFileSecurity_sd_buf = -1; +static gint hf_srvsvc_srvsvc_NetShareDelCommit_hnd = -1; +static gint hf_srvsvc_srvsvc_NetCharDevControl_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_enableforcedlogoff = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1512_maxnonpagedmemoryusage = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_server_name = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo0_net_addr = -1; +static gint hf_srvsvc_srvsvc_NetShareDel_share_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_xactmemsize = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_logonalert = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_alertsched = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_enableforcedlogoff = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo_info0 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo_info1 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo_info2 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo_info3 = -1; +static gint hf_srvsvc_srvsvc_NetDiskEnum_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxcopyreadlen = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_sesssvc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_auditedevents = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_threadcountadd = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1552_maxlinkdelay = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1510 = -1; +static gint hf_srvsvc_srvsvc_NetSrvGetInfo_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1511 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1512 = -1; +static gint hf_srvsvc_srvsvc_NetShareEnumAll_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo502_user = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo1004_comment = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_oplockbreakresponsewait = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1513 = -1; +static gint hf_srvsvc_srvsvc_NetShareEnumAll_totalentries = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_maxcopyreadlen = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1514 = -1; +static gint hf_srvsvc_srvsvc_NetDiskInfo0_disk = -1; +static gint hf_srvsvc_srvsvc_NetShareSetInfo_level = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1515 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo0_vcs = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo1_addr = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_year = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_threadcountadd = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1516 = -1; +static gint hf_srvsvc_srvsvc_NetFileInfo3_user = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1518 = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr_ctr10 = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQEnum_level = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_enableraw = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_sessopen = -1; +static gint hf_srvsvc_srvsvc_NetSrvSetInfo_level = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_scavqosinfoupdatetime = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo0_name = -1; +static gint hf_srvsvc_srvsvc_NetDiskEnum_resume_handle = -1; +static gint hf_srvsvc_srvsvc_NetCharDevInfo1_time = -1; +static gint hf_srvsvc_srvsvc_NetShareSetInfo_info = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_lanmask = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo1007_flags = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1546_initsearchtable = -1; +static gint hf_srvsvc_srvsvc_Statistics_jobsqueued = -1; +static gint hf_srvsvc_srvsvc_NetConnEnum_path = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_threadpriority = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_enableforcedlogoff = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1520 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_autopath = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_oplockbreakresponsewait = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1521 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1522 = -1; +static gint hf_srvsvc_srvsvc_NetServerStatisticsGet_options = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1523 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_threadpriority = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1524 = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQCtr1_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1525 = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr2_count = -1; +static gint hf_srvsvc_srvsvc_Statistics_permerrors = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo501_type = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1528 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1529 = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_tinterval = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_sessconns = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1537_enableoplockforceclose = -1; +static gint hf_srvsvc_srvsvc_NetPRNameCompare_flags = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr502_array = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo502_client = -1; +static gint hf_srvsvc_srvsvc_NetSessDel_client = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr502_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1018_anndelta = -1; +static gint hf_srvsvc_srvsvc_NetSetServiceBits_servicebits = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_sessusers = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_enablefcbopens = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_enableraw = -1; +static gint hf_srvsvc_srvsvc_NetShareDelSticky_reserved = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_enablesoftcompat = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1545_initfiletable = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_enablefcbopens = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_logonalert = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_numbigbufs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1530 = -1; +static gint hf_srvsvc_srvsvc_NetFileEnum_ctr = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1533 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1534 = -1; +static gint hf_srvsvc_srvsvc_NetSrvGetInfo_info = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1535 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1536 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1537 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1538 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1539 = -1; +static gint hf_srvsvc_srvsvc_NetCharDevGetInfo_device_name = -1; +static gint hf_srvsvc_srvsvc_NetCharDevEnum_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo100_server_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_opensearch = -1; +static gint hf_srvsvc_srvsvc_NetSetFileSecurity_share = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_erroralert = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_sessconns = -1; +static gint hf_srvsvc_srvsvc_NetGetFileSecurity_share = -1; +static gint hf_srvsvc_srvsvc_NetDiskEnum_maxlen = -1; +static gint hf_srvsvc_srvsvc_NetShareSetInfo_share_name = -1; +static gint hf_srvsvc_srvsvc_Statistics_fopens = -1; +static gint hf_srvsvc_srvsvc_NetCharDevEnum_resume_handle = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1523_maxkeepsearch = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_alist_mtime = -1; +static gint hf_srvsvc_srvsvc_NetGetFileSecurity_sd_buf = -1; +static gint hf_srvsvc_srvsvc_NetCharDevEnum_ctr = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo502_time = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1522_minkeepsearch = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr0_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1540 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1533_maxmpxct = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1541 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1542 = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr3_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1543 = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo10_idle_time = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo101_server_type = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1544 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1545 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1546 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_maxrawbuflen = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1547 = -1; +static gint hf_srvsvc_srvsvc_NetPathCanonicalize_can_path = -1; +static gint hf_srvsvc_srvsvc_NetTransportEnum_resume_handle = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1548 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1549 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_acceptdownlevelapis = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr0_array = -1; +static gint hf_srvsvc_srvsvc_NetServerStatisticsGet_level = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_minrcvqueue = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo1_addr_len = -1; +static gint hf_srvsvc_srvsvc_NetCharDevGetInfo_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetNameValidate_flags = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo1005_dfs_flags = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo3_domain = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_eroralert = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQPurgeSelf_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxpagedmemoryusage = -1; +static gint hf_srvsvc_srvsvc_Statistics_avresponse = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo101_version_minor = -1; +static gint hf_srvsvc_srvsvc_Statistics_pwerrors = -1; +static gint hf_srvsvc_srvsvc_NetShareGetInfo_info = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_sesssvc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1550 = -1; +static gint hf_srvsvc_srvsvc_NetShareEnum_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetTransportDel_transport = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo2_idle_time = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1552 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_ulist_mtime = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1553 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1554 = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo1_user = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1555 = -1; +static gint hf_srvsvc_srvsvc_NetConnCtr1_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info1556 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_numbigbufs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_lmannounce = -1; +static gint hf_srvsvc_srvsvc_NetShareSetInfo_parm_error = -1; +static gint hf_srvsvc_srvsvc_NetNameValidate_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_minkeepsearch = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr_ctr0 = -1; +static gint hf_srvsvc_srvsvc_NetShareEnumAll_max_buffer = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr_ctr1 = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr_ctr2 = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQCtr0_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo101_comment = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1528_scavtimeout = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_opensearch = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr501_count = -1; +static gint hf_srvsvc_srvsvc_NetFileInfo3_fid = -1; +static gint hf_srvsvc_srvsvc_NetCharDevCtr1_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1536_enableoplocks = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQPurgeSelf_queue_name = -1; +static gint hf_srvsvc_srvsvc_NetShareAdd_level = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo2_name = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo501_comment = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo2_num_open = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_domain = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_sizereqbufs = -1; +static gint hf_srvsvc_srvsvc_NetFileCtr2_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1529_minrcvqueue = -1; +static gint hf_srvsvc_srvsvc_NetSessEnum_resume_handle = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQEnum_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1006_array = -1; +static gint hf_srvsvc_srvsvc_NetSessEnum_client = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo502_sd = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_irpstacksize = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo10_client = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo_info0 = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo_info1 = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo_info2 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_connections = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQGetInfo_user = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo101_version_major = -1; +static gint hf_srvsvc_srvsvc_NetPathCompare_pathflags = -1; +static gint hf_srvsvc_srvsvc_NetPathCanonicalize_maxbuf = -1; +static gint hf_srvsvc_srvsvc_NetCharDevInfo1_status = -1; +static gint hf_srvsvc_srvsvc_NetTransportCtr2_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_lmannounce = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo0_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info402 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info403 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo2_unknown = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_opensearch = -1; +static gint hf_srvsvc_srvsvc_NetCharDevEnum_max_buffer = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo1_time = -1; +static gint hf_srvsvc_srvsvc_Statistics_devopens = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo3_net_addr = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1538_enablefcbopens = -1; +static gint hf_srvsvc_srvsvc_Statistics_bytesrcvd_low = -1; +static gint hf_srvsvc_werror = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo2_domain = -1; +static gint hf_srvsvc_srvsvc_NetPathCanonicalize_pathtype = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_initworkitems = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_elapsed = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1524_minkeepcomplsearch = -1; +static gint hf_srvsvc_srvsvc_NetFileClose_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_numadmin = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_maxrawbuflen = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQEnum_resume_handle = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQInfo_info0 = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQInfo_info1 = -1; +static gint hf_srvsvc_srvsvc_NetSrvSetInfo_parm_error = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1535_oplockbreakresponsewait = -1; +static gint hf_srvsvc_srvsvc_NetConnEnum_ctr = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1544_initconntable = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr2_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_activelocks = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_diskspacetreshold = -1; +static gint hf_srvsvc_srvsvc_NetFileEnum_server_unc = -1; +static gint hf_srvsvc_srvsvc_Statistics_sopens = -1; +static gint hf_srvsvc_srvsvc_NetServerTransportAddEx_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo1_type = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_enableoplocks = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_auditprofile = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo502_permissions = -1; +static gint hf_srvsvc_srvsvc_NetSetFileSecurity_file = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr502_array = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQGetInfo_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo502_user_flags = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_initworkitems = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQInfo1_num_ahead = -1; +static gint hf_srvsvc_srvsvc_NetShareEnum_max_buffer = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_chdevjobs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_maxnonpagedmemoryusage = -1; +static gint hf_srvsvc_srvsvc_NetFileGetInfo_info = -1; +static gint hf_srvsvc_srvsvc_NetServerTransportAddEx_info = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQEnum_user = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_comment = -1; +static gint hf_srvsvc_srvsvc_Statistics_stimeouts = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1511_sesscons = -1; +static gint hf_srvsvc_srvsvc_NetPathCompare_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1502_sessvcs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1534_oplockbreakwait = -1; +static gint hf_srvsvc_srvsvc_Statistics_reqbufneed = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_minfreeconnections = -1; +static gint hf_srvsvc_srvsvc_NetNameValidate_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_opensearch = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQCtr_ctr0 = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1005_count = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQCtr_ctr1 = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo502_comment = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_minfreeconnections = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_sessconns = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_linkinfovalidtime = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_rawworkitems = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr0_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info502 = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQGetInfo_queue_name = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo502_timesource = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1539_enableraw = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo_info503 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo1_vcs = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_security = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr1501_count = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQGetInfo_level = -1; +static gint hf_srvsvc_srvsvc_NetPathType_path = -1; +static gint hf_srvsvc_srvsvc_NetFileClose_fid = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_minfreeworkitems = -1; +static gint hf_srvsvc_srvsvc_NetConnEnum_level = -1; +static gint hf_srvsvc_srvsvc_NetConnInfo1_num_open = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQEnum_max_buffer = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1107_users = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_alertsched = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_sizereqbufs = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQSetInfo_info = -1; +static gint hf_srvsvc_srvsvc_Statistics_bigbufneed = -1; +static gint hf_srvsvc_srvsvc_NetGetFileSecurity_securityinformation = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_maxaudits = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr_ctr1501 = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo1_domain = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1547_alertsched = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_initfiletable = -1; +static gint hf_srvsvc_srvsvc_NetServerStatisticsGet_service = -1; +static gint hf_srvsvc_srvsvc_NetCharDevEnum_level = -1; +static gint hf_srvsvc_srvsvc_NetConnInfo0_conn_id = -1; +static gint hf_srvsvc_srvsvc_NetShareEnumAll_level = -1; +static gint hf_srvsvc_srvsvc_NetShareAdd_info = -1; +static gint hf_srvsvc_srvsvc_NetConnCtr1_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1513_maxpagedmemoryusage = -1; +static gint hf_srvsvc_srvsvc_NetSessEnum_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetPathCanonicalize_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_anndelta = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxworkitems = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_alerts = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo502_password = -1; +static gint hf_srvsvc_srvsvc_NetShareDel_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo402_sessreqs = -1; +static gint hf_srvsvc_srvsvc_NetCharDevQCtr0_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_maxmpxct = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_diskalert = -1; +static gint hf_srvsvc_srvsvc_NetSessCtr1_count = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo403_shares = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo_info501 = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1510_sessusers = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1542_maxfreeconnections = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo_info502 = -1; +static gint hf_srvsvc_srvsvc_NetShareInfo502_current_users = -1; +static gint hf_srvsvc_srvsvc_NetShareCtr501_array = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTOD_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_minfreeworkitems = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo10_user = -1; +static gint hf_srvsvc_srvsvc_NetCharDevCtr1_array = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1550_diskspacetreshold = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_irpstacksize = -1; +static gint hf_srvsvc_srvsvc_NetTransportDel_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetConnEnum_server_unc = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo503_timesource = -1; +static gint hf_srvsvc_srvsvc_NetConnEnum_totalentries = -1; +static gint hf_srvsvc_srvsvc_NetRemoteTODInfo_month = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo502_num_open = -1; +static gint hf_srvsvc_srvsvc_NetNameValidate_name_type = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo1010_disc = -1; +static gint hf_srvsvc_srvsvc_NetPathCanonicalize_prefix = -1; +static gint hf_srvsvc_srvsvc_NetTransportInfo1_net_addr = -1; +static gint hf_srvsvc_srvsvc_NetSessInfo1_idle_time = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_sesssvc = -1; +static gint hf_srvsvc_srvsvc_NetFileEnum_max_buffer = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo102_disc = -1; +static gint hf_srvsvc_srvsvc_NetShareDelSticky_share_name = -1; +static gint hf_srvsvc_srvsvc_NetShareEnumAll_ctr = -1; +static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxnonpagedmemoryusage = -1; + +static gint proto_dcerpc_srvsvc = -1; +/* Version information */ + -/* - IDL [ uuid(4b324fc8-1670-01d3-1278-5a47bf6ee188), - IDL version(3.0), - IDL implicit_handle(handle_t rpc_binding) - IDL ] interface srvsvc - IDL { -*/ static e_uuid_t uuid_dcerpc_srvsvc = { - 0x4b324fc8, 0x1670, 0x01d3, - { 0x12, 0x78, 0x5a, 0x47, 0xbf, 0x6e, 0xe1, 0x88 } + 0x4b324fc8, 0x1670, 0x01d3, + { 0x12, 0x78, 0x5a, 0x47, 0xbf, 0x6e, 0xe1, 0x88 } }; - static guint16 ver_dcerpc_srvsvc = 3; -static int -srvsvc_dissect_pointer_long(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - dcerpc_info *di; - - di=pinfo->private_data; - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - di->hf_index, NULL); - return offset; -} - -static int -srvsvc_dissect_ENUM_HANDLE(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enum_handle, 0); - return offset; - -} - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *dev; - * IDL } CHARDEV_INFO_0; - */ -static int -srvsvc_dissect_CHARDEV_INFO_0(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Char Device", - hf_srvsvc_chrdev, 0); - - return offset; -} - -static int -srvsvc_dissect_CHARDEV_INFO_0_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_INFO_0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] CHARDEV_INFO_0 *devs; - * IDL } CHARDEV_INFO_0_CONTAINER; - */ -static int -srvsvc_dissect_CHARDEV_INFO_0_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_INFO_0_array, NDR_POINTER_UNIQUE, - "CHARDEV_INFO_0 array:", -1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *dev; - * IDL long status; - * IDL [string] [unique] wchar_t *user; - * IDL long time; - * IDL } CHARDEV_INFO_1; - */ -static int -srvsvc_dissect_CHARDEV_INFO_1(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Char Device", - hf_srvsvc_chrdev, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chrdev_status, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0); - - /* XXX dont know how to decode this time field */ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chrdev_time, 0); - - return offset; -} -static int -srvsvc_dissect_CHARDEV_INFO_1_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_INFO_1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] CHARDEV_INFO_1 *devs; - * IDL } CHARDEV_INFO_1_CONTAINER; - */ -static int -srvsvc_dissect_CHARDEV_INFO_1_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_INFO_1_array, NDR_POINTER_UNIQUE, - "CHARDEV_INFO_1 array:", -1); - - return offset; -} - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(0)] [unique] CHARDEV_INFO_0_CONTAINER *dev0; - * IDL [case(1)] [unique] CHARDEV_INFO_1_CONTAINER *dev1; - * IDL } CHARDEV_ENUM_UNION; - */ -static int -srvsvc_dissect_CHARDEV_ENUM_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - dcerpc_info *di; - - di = pinfo->private_data; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 0: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_INFO_0_CONTAINER, - NDR_POINTER_UNIQUE, "CHARDEV_INFO_0_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", CHARDEV_INFO_0 level"); - break; - case 1: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_INFO_1_CONTAINER, - NDR_POINTER_UNIQUE, "CHARDEV_INFO_1_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", CHARDEV_INFO_1 level"); - break; - } - - return offset; -} - -/* - * IDL typedef struct { - * IDL long Level; - * IDL CHARDEV_ENUM_UNION devs; - * IDL } CHARDEV_ENUM_STRUCT; - */ -static int -srvsvc_dissect_CHARDEV_ENUM_STRUCT(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = srvsvc_dissect_CHARDEV_ENUM_UNION(tvb, offset, pinfo, tree, drep); - - return offset; -} - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(0)] [unique] CHARDEV_INFO_0 *dev0; - * IDL [case(1)] [unique] CHARDEV_INFO_1 *dev1; - * IDL } CHARDEV_INFO_UNION; - */ -static int -srvsvc_dissect_CHARDEV_INFO_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 0: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_INFO_0, - NDR_POINTER_UNIQUE, "CHARDEV_INFO_0:", -1); - break; - case 1: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_INFO_1, - NDR_POINTER_UNIQUE, "CHARDEV_INFO_1:", -1); - break; - } - - return offset; -} - -/* - * IDL long NetrCharDevEnum( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [out] [ref] CHARDEV_ENUM_STRUCT *devs, - * IDL [in] long PreferredMaximumLength, - * IDL [out] long num_entries, - * IDL [in] [out] [unique] long *ResumeHandle - * IDL ); -*/ -static int -srvsvc_dissect_netrchardevenum_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_ENUM_STRUCT, - NDR_POINTER_REF, "CHARDEV_ENUM_STRUCT", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_preferred_len, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - return offset; -} -static int -srvsvc_dissect_netrchardevenum_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_ENUM_STRUCT, - NDR_POINTER_REF, "CHARDEV_ENUM_STRUCT", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - -/* - * IDL long NetrCharDevGetInfo( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *DevName, - * IDL [in] long Level , - * IDL [out] [ref] CHARDEV_INFO_STRUCT *dev - * IDL ); -*/ -static int -srvsvc_dissect_netrchardevgetinfo_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Char Device", hf_srvsvc_chrdev, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - return offset; -} -static int -srvsvc_dissect_netrchardevgetinfo_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEV_INFO_UNION, - NDR_POINTER_REF, "CHARDEV_INFO_UNION", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrCharDevControl( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *DevName, - * IDL [in] long Opcode - * IDL ); -*/ -static int -srvsvc_dissect_netrchardevcontrol_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Char Device", hf_srvsvc_chrdev, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chrdev_opcode, 0); - - return offset; -} -static int -srvsvc_dissect_netrchardevcontrol_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *dev; - * IDL } CHARDEVQ_INFO_0; - */ -static int -srvsvc_dissect_CHARDEVQ_INFO_0(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Char QDevice", hf_srvsvc_chrdev, 0); - - return offset; -} - -static int -srvsvc_dissect_CHARDEVQ_INFO_0_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_INFO_0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] CHARDEVQ_INFO_0 *devs; - * IDL } CHARDEVQ_INFO_0_CONTAINER; - */ -static int -srvsvc_dissect_CHARDEVQ_INFO_0_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_INFO_0_array, NDR_POINTER_UNIQUE, - "CHARDEVQ_INFO_0 array:", -1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *dev; - * IDL long priority; - * IDL [string] [unique] wchar_t *devs; - * IDL long users; - * IDL long num_ahead; - * IDL } CHARDEVQ_INFO_1; - */ -static int -srvsvc_dissect_CHARDEVQ_INFO_1(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Char Device", hf_srvsvc_chrdev, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chrqpri, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Char Devices", hf_srvsvc_chrdevq, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chrqnumusers, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chrqnumahead, 0); - - return offset; -} -static int -srvsvc_dissect_CHARDEVQ_INFO_1_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_INFO_1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] CHARDEVQ_INFO_1 *devs; - * IDL } CHARDEVQ_INFO_1_CONTAINER; - */ -static int -srvsvc_dissect_CHARDEVQ_INFO_1_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_INFO_1_array, NDR_POINTER_UNIQUE, - "CHARDEVQ_INFO_1 array:", -1); - - return offset; -} - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(0)] [unique] CHARDEVQ_INFO_0_CONTAINER *dev0; - * IDL [case(1)] [unique] CHARDEVQ_INFO_1_CONTAINER *dev1; - * IDL } CHARDEVQ_ENUM_UNION; - */ -static int -srvsvc_dissect_CHARDEVQ_ENUM_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 0: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_INFO_0_CONTAINER, - NDR_POINTER_UNIQUE, "CHARDEVQ_INFO_0_CONTAINER:", -1); - break; - case 1: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_INFO_1_CONTAINER, - NDR_POINTER_UNIQUE, "CHARDEVQ_INFO_1_CONTAINER:", -1); - break; - } - - return offset; -} - -/* - * IDL typedef struct { - * IDL long Level; - * IDL CHARDEVQ_ENUM_UNION devs; - * IDL } CHARDEVQ_ENUM_STRUCT; - */ -static int -srvsvc_dissect_CHARDEVQ_ENUM_STRUCT(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = srvsvc_dissect_CHARDEVQ_ENUM_UNION(tvb, offset, pinfo, tree, drep); - - return offset; -} - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(0)] [unique] CHARDEVQ_INFO_0 *dev0; - * IDL [case(1)] [unique] CHARDEVQ_INFO_1 *dev1; - * IDL } CHARDEVQ_INFO; - */ -static int -srvsvc_dissect_CHARDEVQ_INFO(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 0: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_INFO_0, - NDR_POINTER_UNIQUE, "CHARDEVQ_INFO_0:", -1); - break; - case 1: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_INFO_1, - NDR_POINTER_UNIQUE, "CHARDEVQ_INFO_1:", -1); - break; - } - - return offset; -} - - -/* - * IDL long NetrCharDevQEnum( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [unique] wchar_t *UserName, - * IDL [in] [out] [ref] CHARDEVQ_ENUM_STRUCT *devs, - * IDL [in] long PreferredMaximumLength, - * IDL [out] long num_entries, - * IDL [in] [out] [unique] long *ResumeHandle - * IDL ); -*/ -static int -srvsvc_dissect_netrchardevqenum_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_ENUM_STRUCT, - NDR_POINTER_REF, "CHARDEVQ_ENUM_STRUCT", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_preferred_len, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - return offset; -} -static int -srvsvc_dissect_netrchardevqenum_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_ENUM_STRUCT, - NDR_POINTER_REF, "CHARDEVQ_ENUM_STRUCT", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrCharDevQGetInfo( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *QueueName, - * IDL [in] [string] [ref] wchar_t *UserName, - * IDL [in] long Level, - * IDL [out] [ref] CHARDEVQ_INFO *devq - * IDL ); -*/ -static int -srvsvc_dissect_netrchardevqgetinfo_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Device Queue", hf_srvsvc_chrdevq, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "User", hf_srvsvc_user, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, NULL); - - return offset; -} -static int -srvsvc_dissect_netrchardevqgetinfo_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_INFO, - NDR_POINTER_REF, "CHARDEVQ_INFO:", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrCharDevQSetInfo( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *QueueName, - * IDL [in] long Level, - * IDL [in] [ref] CHARDEVQ_INFO *dev, - * IDL [in] [out] [unique] long *ParmError - * IDL ); -*/ -static int -srvsvc_dissect_netrchardevqsetinfo_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Device Queue", hf_srvsvc_chrdevq, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CHARDEVQ_INFO, - NDR_POINTER_REF, "CHARDEVQ_INFO", -1); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE, - "Parameter Error:", hf_srvsvc_parm_error); - - return offset; -} -static int -srvsvc_dissect_netrchardevqsetinfo_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE, - "Parameter Error:", hf_srvsvc_parm_error); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrCharDevQPurge( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *QueueName - * IDL ); -*/ -static int -srvsvc_dissect_netrchardevqpurge_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Device Queue", hf_srvsvc_chrdevq, 0); - - return offset; -} -static int -srvsvc_dissect_netrchardevqpurge_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrCharDevQPurge( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *QueueName - * IDL [in] [string] [ref] wchar_t *ComputerName - * IDL ); -*/ -static int -srvsvc_dissect_netrchardevqpurgeself_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Device Queue", hf_srvsvc_chrdevq, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Computer", hf_srvsvc_computer, 0); - - return offset; -} -static int -srvsvc_dissect_netrchardevqpurgeself_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - - -/* - * IDL typedef struct { - * IDL long con_id; - * IDL } CONNECT_INFO_0; - */ -static int -srvsvc_dissect_CONNECT_INFO_0(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_con_id, NULL); - - return offset; -} -static int -srvsvc_dissect_CONNECT_INFO_0_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CONNECT_INFO_0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] CONNECT_INFO_0 *cons; - * IDL } CONNECT_INFO_0_CONTAINER; - */ -static int -srvsvc_dissect_CONNECT_INFO_0_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CONNECT_INFO_0_array, NDR_POINTER_UNIQUE, - "CONNECT_INFO_0 array:", -1); - - return offset; -} - - -/* - * IDL typedef struct { - * IDL long conid; - * IDL long type; - * IDL long num_opens; - * IDL long users; - * IDL long time; - * IDL [string] [unique] wchar_t *username; - * IDL [string] [unique] wchar_t *share; - * IDL } CONNECT_INFO_1; - */ -static int -srvsvc_dissect_CONNECT_INFO_1(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_con_id, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_con_type, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_con_num_opens, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_users, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_con_time, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0); - - return offset; -} -static int -srvsvc_dissect_CONNECT_INFO_1_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CONNECT_INFO_1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] CONNECT_INFO_0 *cons; - * IDL } CONNECT_INFO_1_CONTAINER; - */ -static int -srvsvc_dissect_CONNECT_INFO_1_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CONNECT_INFO_1_array, NDR_POINTER_UNIQUE, - "CONNECT_INFO_1 array:", -1); - - return offset; -} - - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(0)] [unique] CONNECT_INFO_0_CONTAINER *con0; - * IDL [case(1)] [unique] CONNECT_INFO_1_CONTAINER *con1; - * IDL } CONNECT_ENUM_UNION; - */ -static int -srvsvc_dissect_CONNECT_ENUM_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - dcerpc_info *di; - - di = pinfo->private_data; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 0: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CONNECT_INFO_0_CONTAINER, - NDR_POINTER_UNIQUE, "CONNECT_INFO_0_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", CONNECT_INFO_0 level"); - break; - case 1: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CONNECT_INFO_1_CONTAINER, - NDR_POINTER_UNIQUE, "CONNECT_INFO_1_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", CONNECT_INFO_1 level"); - break; - } - - return offset; -} - - -/* - * IDL typedef struct { - * IDL long Level; - * IDL CONNECT_ENUM_UNION devs; - * IDL } CONNECT_ENUM_STRUCT; - */ -static int -srvsvc_dissect_CONNECT_ENUM_STRUCT(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = srvsvc_dissect_CONNECT_ENUM_UNION(tvb, offset, pinfo, tree, drep); - - return offset; -} - - -/* - * IDL long NetrConnectionEnum( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [unique] wchar_t *Qualifier, - * IDL [in] [out] [ref] CONNECT_ENUM_STRUCT *con, - * IDL [in] long MaxLen, - * IDL [in] long num_connections, - * IDL [in] [out] [unique] long *ResumeHandle - * IDL ); -*/ -static int -srvsvc_dissect_netrconnectionenum_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Qualifier", hf_srvsvc_qualifier, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CONNECT_ENUM_STRUCT, - NDR_POINTER_REF, "CONNECT_ENUM_STRUCT:", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_preferred_len, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - return offset; -} -static int -srvsvc_dissect_netrconnectionenum_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_CONNECT_ENUM_STRUCT, - NDR_POINTER_REF, "CONNECT_ENUM_STRUCT:", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long fileid; - * IDL } FILE_INFO_2; - */ -static int -srvsvc_dissect_FILE_INFO_2(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_file_id, NULL); - - return offset; -} -static int -srvsvc_dissect_FILE_INFO_2_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_INFO_2); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] FILE_INFO_2 *files; - * IDL } FILE_INFO_2_CONTAINER; - */ -static int -srvsvc_dissect_FILE_INFO_2_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_INFO_2_array, NDR_POINTER_UNIQUE, - "FILE_INFO_2 array:", -1); - - return offset; -} - - -/* - * IDL typedef struct { - * IDL long file_id; - * IDL long permissions; - * IDL long num_locks; - * IDL [string] [unique] wchar_t *pathname; - * IDL [string] [unique] wchar_t *username; - * IDL } FILE_INFO_3; - */ -static int -srvsvc_dissect_FILE_INFO_3(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_file_id, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_perm, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_file_num_locks, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Path", hf_srvsvc_path, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0); - - return offset; -} -static int -srvsvc_dissect_FILE_INFO_3_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_INFO_3); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] FILE_INFO_3 *files; - * IDL } FILE_INFO_3_CONTAINER; - */ -static int -srvsvc_dissect_FILE_INFO_3_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_INFO_3_array, NDR_POINTER_UNIQUE, - "CHARDEV_INFO_3 array:", -1); - - return offset; -} - - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(2)] [unique] FILE_INFO_2_CONTAINER *file0; - * IDL [case(3)] [unique] FILE_INFO_3_CONTAINER *file1; - * IDL } FILE_ENUM_UNION; - */ -static int -srvsvc_dissect_FILE_ENUM_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - dcerpc_info *di; - - di = pinfo->private_data; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 2: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_INFO_2_CONTAINER, - NDR_POINTER_UNIQUE, "FILE_INFO_2_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", FILE_INFO_2 level"); - break; - case 3: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_INFO_3_CONTAINER, - NDR_POINTER_UNIQUE, "FILE_INFO_3_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", FILE_INFO_3 level"); - break; - } - - return offset; -} - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(2)] [unique] FILE_INFO_2 *file0; - * IDL [case(3)] [unique] FILE_INFO_3 *file1; - * IDL } FILE_INFO_UNION; - */ -static int -srvsvc_dissect_FILE_INFO_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 2: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_INFO_2, - NDR_POINTER_UNIQUE, "FILE_INFO_2:", -1); - break; - case 3: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_INFO_3, - NDR_POINTER_UNIQUE, "FILE_INFO_3:", -1); - break; - } - - return offset; -} - - -/* - * IDL typedef struct { - * IDL long Level; - * IDL FILE_ENUM_UNION files; - * IDL } FILE_ENUM_STRUCT; - */ -static int -srvsvc_dissect_FILE_ENUM_STRUCT(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = srvsvc_dissect_FILE_ENUM_UNION(tvb, offset, pinfo, tree, drep); - - return offset; -} - - -/* - * IDL long NetrFileEnum( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [unique] wchar_t *Path, - * IDL [in] [string] [unique] wchar_t *UserName, - * IDL [in] [out] [ref] FILE_ENUM_STRUCT *file, - * IDL [in] long MaxLen, - * IDL [out] long num_entries, - * IDL [in] [out] [unique] long *ResumeHandle - * IDL ); -*/ -static int -srvsvc_dissect_netrfileenum_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Path", hf_srvsvc_path, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_ENUM_STRUCT, - NDR_POINTER_REF, "FILE_ENUM_STRUCT:", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_preferred_len, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - return offset; -} -static int -srvsvc_dissect_netrfileenum_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_ENUM_STRUCT, - NDR_POINTER_REF, "FILE_ENUM_STRUCT:", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - -/* - * IDL long NetrFileGetInfo( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] long fileid, - * IDL [in] long level, - * IDL [out] [ref] FILE_INFO_UNION *file - * IDL ); -*/ -static int -srvsvc_dissect_netrfilegetinfo_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_file_id, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - return offset; -} -static int -srvsvc_dissect_netrfilegetinfo_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_FILE_INFO_UNION, - NDR_POINTER_REF, "FILE_INFO_UNION:", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - -/* - * IDL long NetrFileClose( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] long fileid, - * IDL ); -*/ -static int -srvsvc_dissect_netrfileclose_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_file_id, NULL); - - return offset; -} -static int -srvsvc_dissect_netrfileclose_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *ses; - * IDL } SESSION_INFO_0; - */ -static int -srvsvc_dissect_SESSION_INFO_0(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Session", hf_srvsvc_session, 0); - - return offset; -} -static int -srvsvc_dissect_SESSION_INFO_0_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SESSION_INFO_0 *ses; - * IDL } SESSION_INFO_0_CONTAINER; - */ -static int -srvsvc_dissect_SESSION_INFO_0_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_0_array, NDR_POINTER_UNIQUE, - "SESSION_INFO_0 array:", -1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *ses; - * IDL [string] [unique] wchar_t *user; - * IDL long num_open; - * IDL long time; - * IDL long idle_time; - * IDL long user_flags - * IDL } SESSION_INFO_1; - */ -static int -srvsvc_dissect_SESSION_INFO_1(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Session", hf_srvsvc_session, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_num_opens, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_time, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_idle_time, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_user_flags, NULL); - - return offset; -} -static int -srvsvc_dissect_SESSION_INFO_1_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SESSION_INFO_1 *ses; - * IDL } SESSION_INFO_1_CONTAINER; - */ -static int -srvsvc_dissect_SESSION_INFO_1_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_1_array, NDR_POINTER_UNIQUE, - "SESSION_INFO_1 array:", -1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *ses; - * IDL [string] [unique] wchar_t *user; - * IDL long num_open; - * IDL long time; - * IDL long idle_time; - * IDL long user_flags - * IDL [string] [unique] wchar_t *clienttype; - * IDL } SESSION_INFO_2; - */ -static int -srvsvc_dissect_SESSION_INFO_2(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Session", hf_srvsvc_session, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_num_opens, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_time, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_idle_time, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_user_flags, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Client Type", - hf_srvsvc_client_type, 0); - - return offset; -} -static int -srvsvc_dissect_SESSION_INFO_2_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_2); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SESSION_INFO_2 *ses; - * IDL } SESSION_INFO_2_CONTAINER; - */ -static int -srvsvc_dissect_SESSION_INFO_2_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_2_array, NDR_POINTER_UNIQUE, - "SESSION_INFO_2 array:", -1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *ses; - * IDL [string] [unique] wchar_t *user; - * IDL long time; - * IDL long idle_time; - * IDL } SESSION_INFO_10; - */ -static int -srvsvc_dissect_SESSION_INFO_10(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Session", hf_srvsvc_session, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_time, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_idle_time, NULL); - - return offset; -} -static int -srvsvc_dissect_SESSION_INFO_10_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_10); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SESSION_INFO_10 *ses; - * IDL } SESSION_INFO_10_CONTAINER; - */ -static int -srvsvc_dissect_SESSION_INFO_10_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_10_array, NDR_POINTER_UNIQUE, - "SESSION_INFO_10 array:", -1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *ses; - * IDL [string] [unique] wchar_t *user; - * IDL long num_open; - * IDL long time; - * IDL long idle_time; - * IDL long user_flags - * IDL [string] [unique] wchar_t *clienttype; - * IDL [string] [unique] wchar_t *transport; - * IDL } SESSION_INFO_502; - */ -static int -srvsvc_dissect_SESSION_INFO_502(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Session", hf_srvsvc_session, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_num_opens, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_time, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_idle_time, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_session_user_flags, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Client Type", - hf_srvsvc_client_type, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Transport", hf_srvsvc_transport, 0); - - return offset; -} -static int -srvsvc_dissect_SESSION_INFO_502_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_502); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SESSION_INFO_502 *ses; - * IDL } SESSION_INFO_502_CONTAINER; - */ -static int -srvsvc_dissect_SESSION_INFO_502_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_502_array, NDR_POINTER_UNIQUE, - "SESSION_INFO_502 array:", -1); - - return offset; -} - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(0)] [unique] SESSION_INFO_0_CONTAINER *ses0; - * IDL [case(1)] [unique] SESSION_INFO_1_CONTAINER *ses1; - * IDL [case(2)] [unique] SESSION_INFO_2_CONTAINER *ses2; - * IDL [case(10)] [unique] SESSION_INFO_10_CONTAINER *ses10; - * IDL [case(502)] [unique] SESSION_INFO_502_CONTAINER *ses502; - * IDL } SESSION_ENUM_UNION; - */ -static int -srvsvc_dissect_SESSION_ENUM_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - dcerpc_info *di; - - di = pinfo->private_data; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 0: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_0_CONTAINER, - NDR_POINTER_UNIQUE, "SESSION_INFO_0_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", SESSION_INFO_0 level"); - break; - case 1: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_1_CONTAINER, - NDR_POINTER_UNIQUE, "SESSION_INFO_1_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", SESSION_INFO_1 level"); - break; - case 2: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_2_CONTAINER, - NDR_POINTER_UNIQUE, "SESSION_INFO_2_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", SESSION_INFO_2 level"); - break; - case 10: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_10_CONTAINER, - NDR_POINTER_UNIQUE, "SESSION_INFO_10_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", SESSION_INFO_10 level"); - break; - case 502: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_INFO_502_CONTAINER, - NDR_POINTER_UNIQUE, "SESSION_INFO_502_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, - ", SESSION_INFO_502 level"); - break; - } - - return offset; -} - -/* - * IDL typedef struct { - * IDL long Level; - * IDL SESSION_ENUM_UNION ses; - * IDL } SESSION_ENUM_STRUCT; - */ -static int -srvsvc_dissect_SESSION_ENUM_STRUCT(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = srvsvc_dissect_SESSION_ENUM_UNION(tvb, offset, pinfo, tree, drep); - - return offset; -} - - -/* - * IDL long NetrSessionEnum( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [unique] wchar_t *ClientName, - * IDL [in] [string] [unique] wchar_t *UserName, - * IDL [in] [out] [ref] SESSION_ENUM_STRUCT *ses, - * IDL [in] long maxlen, - * IDL [out] long num_sessions, - * IDL [in] [out] [unique] long *resumehandle, - * IDL ); -*/ -static int -srvsvc_dissect_netrsessionenum_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Computer", hf_srvsvc_computer, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User", hf_srvsvc_user, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_ENUM_STRUCT, - NDR_POINTER_REF, "SESSION_ENUM_STRUCT", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_preferred_len, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - return offset; -} -static int -srvsvc_dissect_netrsessionenum_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SESSION_ENUM_STRUCT, - NDR_POINTER_REF, "SESSION_ENUM_STRUCT", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - -/* - * IDL long NetrSessionDel( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *ClientName, - * IDL [in] [string] [ref] wchar_t *UserName, - * IDL ); -*/ -static int -srvsvc_dissect_netrsessiondel_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Computer", hf_srvsvc_computer, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "User", hf_srvsvc_user, 0); - - return offset; -} -static int -srvsvc_dissect_netrsessiondel_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *share; - * IDL } SHARE_INFO_0; - */ -static int -srvsvc_dissect_SHARE_INFO_0(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0); - - return offset; -} -static int -srvsvc_dissect_SHARE_INFO_0_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_0 *shares; - * IDL } SHARE_INFO_0_CONTAINER; - */ -static int -srvsvc_dissect_SHARE_INFO_0_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_0_array, NDR_POINTER_UNIQUE, - "SHARE_INFO_0 array:", -1); - - return offset; -} - -/* - IDL typedef struct { - IDL [unique] [string] wchar_t *share; - IDL long type; - IDL [unique] [string] wchar_t *comment; - IDL } SHARE_INFO_1; -*/ -static int -srvsvc_dissect_SHARE_INFO_1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep) -{ - proto_item *item = NULL; - proto_tree *tree = NULL; - - dcerpc_info *di; - - di=pinfo->private_data; - if (parent_tree) { - item = proto_tree_add_text(parent_tree, tvb, offset, -1, "Share"); - tree = proto_item_add_subtree(item, ett_srvsvc_share_info_1); - } - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 3); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_share_type, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0); - - return offset; -} -static int -srvsvc_dissect_SHARE_INFO_1_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1 *shares; - * IDL } SHARE_INFO_1_CONTAINER; - */ -static int -srvsvc_dissect_SHARE_INFO_1_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1_array, NDR_POINTER_UNIQUE, - "SHARE_INFO_1 array:", -1); - - return offset; -} - -/* - IDL typedef struct { - IDL [unique] [string] wchar_t *share; - IDL long type; - IDL [unique] [string] wchar_t *comment; - IDL long permissions; - IDL long max_uses; - IDL long current_uses; - IDL [unique] [string] wchar_t *path; - IDL [unique] [string] wchar_t *passwd; - IDL } SHARE_INFO_2; -*/ -static int -srvsvc_dissect_SHARE_INFO_2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep) -{ - proto_item *item = NULL; - proto_tree *tree = NULL; - - dcerpc_info *di; - - di=pinfo->private_data; - if (parent_tree) { - item = proto_tree_add_text(parent_tree, tvb, offset, -1, "Share"); - tree = proto_item_add_subtree(item, ett_srvsvc_share_info_2); - } - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_share_type, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_perm, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_max_uses, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_cur_uses, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Path", hf_srvsvc_path, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Password", - hf_srvsvc_share_passwd, 0); - - return offset; -} -static int -srvsvc_dissect_SHARE_INFO_2_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_2); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_2 *shares; - * IDL } SHARE_INFO_2_CONTAINER; - */ -static int -srvsvc_dissect_SHARE_INFO_2_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_2_array, NDR_POINTER_UNIQUE, - "SHARE_INFO_2 array:", -1); - - return offset; -} - -/* - IDL typedef struct { - IDL [unique] [string] wchar_t *share; - IDL long type; - IDL [unique] [string] wchar_t *comment; - IDL long policy; - IDL } SHARE_INFO_501; -*/ -static int -srvsvc_dissect_SHARE_INFO_501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep) -{ - proto_item *item = NULL; - proto_tree *tree = NULL; - - dcerpc_info *di; - - di=pinfo->private_data; - if (parent_tree) { - item = proto_tree_add_text(parent_tree, tvb, offset, -1, "Share"); - tree = proto_item_add_subtree(item, ett_srvsvc_share_info_501); - } - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_share_type, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_policy, NULL); - - return offset; -} -static int -srvsvc_dissect_SHARE_INFO_501_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_501); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_501 *shares; - * IDL } SHARE_INFO_501_CONTAINER; - */ -static int -srvsvc_dissect_SHARE_INFO_501_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_501_array, NDR_POINTER_UNIQUE, - "SHARE_INFO_501 array:", -1); - - return offset; -} - - -/* - IDL typedef struct { - IDL [unique] [string] wchar_t *share; - IDL long type; - IDL [unique] [string] wchar_t *comment; - IDL long permissions; - IDL long max_uses; - IDL long current_uses; - IDL [unique] [string] wchar_t *path; - IDL [unique] [string] wchar_t *passwd; - IDL long reserved; - IDL SECDESC [unique] *securitysecriptor; 4byte-len followed by bytestring - IDL } SHARE_INFO_502; -*/ -static int -srvsvc_dissect_SHARE_INFO_502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep) -{ - proto_item *item = NULL; - proto_tree *tree = NULL; - - dcerpc_info *di; - - di=pinfo->private_data; - if (parent_tree) { - item = proto_tree_add_text(parent_tree, tvb, offset, -1, "Share"); - tree = proto_item_add_subtree(item, ett_srvsvc_share_info_502); - } - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_share_type, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_perm, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_max_uses, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_cur_uses, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Path", hf_srvsvc_path, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Password", - hf_srvsvc_share_passwd, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_reserved, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - lsa_dissect_sec_desc_buf_data, NDR_POINTER_UNIQUE, - "LSA SECURITY DESCRIPTOR data:", -1); - - return offset; -} -static int -srvsvc_dissect_SHARE_INFO_502_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_502); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_502 *shares; - * IDL } SHARE_INFO_502_CONTAINER; - */ -static int -srvsvc_dissect_SHARE_INFO_502_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_502_array, NDR_POINTER_UNIQUE, - "SHARE_INFO_502 array:", -1); - - return offset; -} - -#if 0 -/* - IDL typedef struct { - IDL [unique] [string] wchar_t *comment; - IDL } SHARE_INFO_1004; -*/ -static int -srvsvc_dissect_SHARE_INFO_1004(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0); - - return offset; -} - -static int -srvsvc_dissect_SHARE_INFO_1004_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1004); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1004 *shares; - * IDL } SHARE_INFO_1004_CONTAINER; - */ -static int -srvsvc_dissect_SHARE_INFO_1004_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 count; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, &count); - - if (count) { - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1004_array, NDR_POINTER_UNIQUE, - "SHARE_INFO_1004 array:", -1); - } - - return offset; -} - -/* - IDL typedef struct { - IDL long dfs_root_flags; - IDL } SHARE_INFO_1005; -*/ -static int -srvsvc_dissect_SHARE_INFO_1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) -{ - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_dfs_root_flags, NULL); - - return offset; -} -static int -srvsvc_dissect_SHARE_INFO_1005_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1005); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1005 *shares; - * IDL } SHARE_INFO_1005_CONTAINER; - */ -static int -srvsvc_dissect_SHARE_INFO_1005_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1005_array, NDR_POINTER_UNIQUE, - "SHARE_INFO_1005 array:", -1); - - return offset; -} - - -/* - IDL typedef struct { - IDL long max_uses; - IDL } SHARE_INFO_1006; -*/ -static int -srvsvc_dissect_SHARE_INFO_1006(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) -{ - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_max_uses, NULL); - - return offset; -} -static int -srvsvc_dissect_SHARE_INFO_1006_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1006); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1006 *shares; - * IDL } SHARE_INFO_1006_CONTAINER; - */ -static int -srvsvc_dissect_SHARE_INFO_1006_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1006_array, NDR_POINTER_UNIQUE, - "SHARE_INFO_1006 array:", -1); - - return offset; -} - - -/* - IDL typedef struct { - IDL long flags; - IDL [unique] [string] wchar_t *alternate_directory_name; - IDL } SHARE_INFO_1007; -*/ -static int -srvsvc_dissect_SHARE_INFO_1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) -{ - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_share_flags, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Alternate Name", - hf_srvsvc_share_alternate_name, 0); - - return offset; -} -static int -srvsvc_dissect_SHARE_INFO_1007_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1007); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1007 *shares; - * IDL } SHARE_INFO_1007_CONTAINER; - */ -static int -srvsvc_dissect_SHARE_INFO_1007_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1007_array, NDR_POINTER_UNIQUE, - "SHARE_INFO_1007 array:", -1); - - return offset; -} - -/* - IDL typedef struct { - IDL SECDESC [unique] *securitysecriptor; 4byte-len followed by bytestring - IDL } SHARE_INFO_1501; -*/ -static int -srvsvc_dissect_SHARE_INFO_1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - lsa_dissect_sec_desc_buf_data, NDR_POINTER_UNIQUE, - "LSA SECURITY DESCRIPTOR data:", -1); - - return offset; -} -static int -srvsvc_dissect_SHARE_INFO_1501_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1501); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1501 *shares; - * IDL } SHARE_INFO_1501_CONTAINER; - */ -static int -srvsvc_dissect_SHARE_INFO_1501_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1501_array, NDR_POINTER_UNIQUE, - "SHARE_INFO_1501 array:", -1); - - return offset; -} -#endif - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(0)] [unique] SHARE_INFO_0 *share0; - * IDL [case(1)] [unique] SHARE_INFO_1 *share1; - * IDL [case(2)] [unique] SHARE_INFO_2 *share2; - * IDL [case(501)] [unique] SHARE_INFO_501 *share501; - * IDL [case(502)] [unique] SHARE_INFO_502 *share502; - * IDL [case(1004)] [unique] SHARE_INFO_1004 *share1004; - * IDL [case(1005)] [unique] SHARE_INFO_1005 *share1005; - * IDL [case(1006)] [unique] SHARE_INFO_1006 *share1006; - * IDL [case(1007)] [unique] SHARE_INFO_1007 *share1007; - * IDL [case(1501)] [unique] SHARE_INFO_1501 *share1501; - * IDL } SHARE_INFO_UNION; - */ -static int -srvsvc_dissect_SHARE_INFO_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 0: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_0, - NDR_POINTER_UNIQUE, "SHARE_INFO_0:", -1); - break; - case 1: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1, - NDR_POINTER_UNIQUE, "SHARE_INFO_1:", -1); - break; - case 2: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_2, - NDR_POINTER_UNIQUE, "SHARE_INFO_2:", -1); - break; - case 501: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_501, - NDR_POINTER_UNIQUE, "SHARE_INFO_501:", -1); - break; - case 502: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_502, - NDR_POINTER_UNIQUE, "SHARE_INFO_502:", -1); - break; - /* - * These next lot do not seem to be understood by Windows of any - * flavor - */ -#if 0 - case 1004: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1004, - NDR_POINTER_UNIQUE, "SHARE_INFO_1004:", -1); - break; - case 1005: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1005, - NDR_POINTER_UNIQUE, "SHARE_INFO_1005:", -1); - break; - case 1006: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1006, - NDR_POINTER_UNIQUE, "SHARE_INFO_1006:", -1); - break; - case 1007: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1007, - NDR_POINTER_UNIQUE, "SHARE_INFO_1007:", -1); - break; - case 1501: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1501, - NDR_POINTER_UNIQUE, "SHARE_INFO_1501:", -1); - break; -#endif - } - - return offset; -} - - -/* - * IDL long NetrShareAdd( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] long Level, - * IDL [in] [ref] SHARE_INFO_UNION *share, - * IDL [in] [out] [unique] long *ParmError - * IDL ); -*/ -static int -srvsvc_dissect_netrshareadd_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_UNION, - NDR_POINTER_REF, "SHARE_INFO_UNION:", -1); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE, - "Parameter Error:", hf_srvsvc_parm_error); - - return offset; -} -static int -srvsvc_dissect_netrshareadd_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE, - "Parameter Error:", hf_srvsvc_parm_error); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(0)] [unique] SHARE_INFO_0_CONTAINER *share0; - * IDL [case(1)] [unique] SHARE_INFO_1_CONTAINER *share1; - * IDL [case(2)] [unique] SHARE_INFO_2_CONTAINER *share2; - * IDL [case(501)] [unique] SHARE_INFO_501_CONTAINER *share501; - * IDL [case(502)] [unique] SHARE_INFO_502_CONTAINER *share502; - * IDL [case(1004)] [unique] SHARE_INFO_1004_CONTAINER *share1004; - * IDL [case(1005)] [unique] SHARE_INFO_1005_CONTAINER *share1005; - * IDL [case(1006)] [unique] SHARE_INFO_1006_CONTAINER *share1006; - * IDL [case(1007)] [unique] SHARE_INFO_1007_CONTAINER *share1007; - * IDL [case(1501)] [unique] SHARE_INFO_1501_CONTAINER *share1501; - * IDL } SHARE_ENUM_UNION; - */ -static int -srvsvc_dissect_SHARE_ENUM_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - dcerpc_info *di; - - di = pinfo->private_data; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 0: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_0_CONTAINER, - NDR_POINTER_UNIQUE, "SHARE_INFO_0_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", SHARE_INFO_0 level"); - break; - case 1: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1_CONTAINER, - NDR_POINTER_UNIQUE, "SHARE_INFO_1_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", SHARE_INFO_1 level"); - break; - case 2: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_2_CONTAINER, - NDR_POINTER_UNIQUE, "SHARE_INFO_2_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", SHARE_INFO_2 level"); - break; - case 501: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_501_CONTAINER, - NDR_POINTER_UNIQUE, "SHARE_INFO_501_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", SHARE_INFO_501 level"); - break; - case 502: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_502_CONTAINER, - NDR_POINTER_UNIQUE, "SHARE_INFO_502_CONTAINER:", -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", SHARE_INFO_502 level"); - break; -#if 0 - case 1004: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1004_CONTAINER, - NDR_POINTER_UNIQUE, "SHARE_INFO_1004_CONTAINER:", -1); - break; - case 1005: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1005_CONTAINER, - NDR_POINTER_UNIQUE, "SHARE_INFO_1005_CONTAINER:", -1); - break; - case 1006: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1006_CONTAINER, - NDR_POINTER_UNIQUE, "SHARE_INFO_1006_CONTAINER:", -1); - break; - case 1007: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1007_CONTAINER, - NDR_POINTER_UNIQUE, "SHARE_INFO_1007_CONTAINER:", -1); - break; - case 1501: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_1501_CONTAINER, - NDR_POINTER_UNIQUE, "SHARE_INFO_1501_CONTAINER:", -1); - break; -#endif - } - - return offset; -} - -/* - * IDL typedef struct { - * IDL SHARE_ENUM_UNION shares; - * IDL } SHARE_ENUM_STRUCT; - */ -static int -srvsvc_dissect_SHARE_ENUM_STRUCT(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = srvsvc_dissect_SHARE_ENUM_UNION(tvb, offset, pinfo, tree, drep); - - return offset; -} - -/* - * IDL long NetrShareEnum( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [out] level - * IDL [in] [out] [ref] SHARE_ENUM_STRUCT *share, - * IDL [in] long MaxLen, - * IDL [out] long Entries, - * IDL [in] [out] [unique] *ResumeHandle - * IDL ); - */ -static int -srvsvc_dissect_netrshareenum_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_ENUM_UNION, - NDR_POINTER_REF, "Shares", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_preferred_len, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - return offset; -} - -static int -srvsvc_dissect_netrshareenum_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_ENUM_UNION, - NDR_POINTER_REF, "Shares", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_total_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrShareGetInfo( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *ShareName, - * IDL [in] long Level, - * IDL [out] [ref] SHARE_INFO_UNION *share - * IDL ); - */ -static int -srvsvc_dissect_netrsharegetinfo_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer_cb( - tvb, offset, pinfo, tree, drep, - dissect_ndr_wchar_cvstring, NDR_POINTER_UNIQUE, - "Server", hf_srvsvc_server, cb_wstr_postprocess, - GINT_TO_POINTER(CB_STR_COL_INFO | 1)); - - offset = dissect_ndr_pointer_cb( - tvb, offset, pinfo, tree, drep, - dissect_ndr_wchar_cvstring, NDR_POINTER_REF, - "Share", hf_srvsvc_share, cb_wstr_postprocess, - GINT_TO_POINTER(CB_STR_COL_INFO | 1)); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - return offset; -} - -static int -srvsvc_dissect_netrsharegetinfo_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_UNION, - NDR_POINTER_REF, "Share:", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrShareSetInfo( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *ShareName, - * IDL [in] long Level, - * IDL [in] [ref] SHARE_INFO_UNION *share - * IDL [in] [out] [unique] long *ParmError, - * IDL ); - */ -static int -srvsvc_dissect_netrsharesetinfo_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Share", hf_srvsvc_share, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_INFO_UNION, - NDR_POINTER_REF, "Share:", -1); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE, - "Parameter Error:", hf_srvsvc_parm_error); - - return offset; -} -static int -srvsvc_dissect_netrsharesetinfo_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE, - "Parameter Error:", hf_srvsvc_parm_error); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrShareDel( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *ShareName, - * IDL [in] long Reserved, - * IDL ); - */ -static int -srvsvc_dissect_netrsharedel_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Share", hf_srvsvc_share, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_reserved, NULL); - - return offset; -} -static int -srvsvc_dissect_netrsharedel_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrShareDelSticky( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *ShareName, - * IDL [in] long Reserved, - * IDL ); - */ -static int -srvsvc_dissect_netrsharedelsticky_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Share", hf_srvsvc_share, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_reserved, NULL); - - return offset; -} -static int -srvsvc_dissect_netrsharedelsticky_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrShareCheck( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *DeviceName, - * IDL [out] long type - * IDL ); - */ -static int -srvsvc_dissect_netrsharecheck_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Char Device", hf_srvsvc_chrdev, 0); - - return offset; -} -static int -srvsvc_dissect_netrsharecheck_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_share_type, NULL); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long platform_id; - * IDL [string] [unique] wchar_t *server; - * IDL } SERVER_INFO_100; - */ -static int -srvsvc_dissect_SERVER_INFO_100(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_platform_id, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long platform_id; - * IDL [string] [unique] wchar_t *server; - * IDL long ver_major; - * IDL long ver_minor; - * IDL long type; - * IDL [string] [unique] wchar_t *comment; - * IDL } SERVER_INFO_101; - */ -static int -srvsvc_dissect_SERVER_INFO_101(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_platform_id, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_ver_major, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_ver_minor, NULL); - - offset = dissect_smb_server_type_flags( - tvb, offset, pinfo, tree, drep, TRUE); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long platform_id; - * IDL [string] [unique] wchar_t *server; - * IDL long ver_major; - * IDL long ver_minor; - * IDL long type; - * IDL [string] [unique] wchar_t *comment; - * IDL long users; - * IDL long disc; - * IDL long hidden; - * IDL long announce; - * IDL long anndelta; - * IDL long licences; - * IDL [string] [unique] wchar_t *userpath; - * IDL } SERVER_INFO_102; - */ -static int -srvsvc_dissect_SERVER_INFO_102(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_platform_id, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_ver_major, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_ver_minor, NULL); - - offset = dissect_smb_server_type_flags( - tvb, offset, pinfo, tree, drep, TRUE); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_users, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_disc, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_hidden, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_announce, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_anndelta, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_licences, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "User Path", hf_srvsvc_user_path, 0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long ulist_mtime; - * IDL long glist_mtime; - * IDL long alist_mtime; - * IDL [string] [unique] wchar_t *alerts; - * IDL long security; - * IDL long numadmin; - * IDL long lanmask; - * IDL [string] [unique] wchar_t *guestaccount; - * IDL long chdevs; - * IDL long chdevqs; - * IDL long chdevjobs; - * IDL long connections; - * IDL long shares; - * IDL long openfiles; - * IDL long sessopens; - * IDL long sessvcs; - * IDL long sessreqs; - * IDL long opensearch; - * IDL long activelocks; - * IDL long sizreqbufs - * IDL long numbigbufs - * IDL long numfiletasks; - * IDL long alertsched; - * IDL long erroralert; - * IDL long logonalert; - * IDL long accessalert; - * IDL long diskalert; - * IDL long netioalert; - * IDL long maxauditsz; - * IDL [string] [unique] wchar_t *srvheuristics; - * IDL } SERVER_INFO_402; - */ -static int -srvsvc_dissect_SERVER_INFO_402(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_ulist_mtime, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_glist_mtime, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_alist_mtime, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Alerts", hf_srvsvc_alerts, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_security, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_numadmin, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_lanmask, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Guest", hf_srvsvc_guest, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chdevs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chdevqs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chdevjobs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_connections, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_shares, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_openfiles, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessopens, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessvcs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessreqs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_opensearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_activelocks, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sizreqbufs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_numbigbufs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_numfiletasks, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_alertsched, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_erroralert, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_logonalert, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_accessalert, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_diskalert, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_netioalert, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxauditsz, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server Heuristics", - hf_srvsvc_srvheuristics, 0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long ulist_mtime; - * IDL long glist_mtime; - * IDL long alist_mtime; - * IDL [string] [unique] wchar_t *alerts; - * IDL long security; - * IDL long numadmin; - * IDL long lanmask; - * IDL [string] [unique] wchar_t *guestaccount; - * IDL long chdevs; - * IDL long chdevqs; - * IDL long chdevjobs; - * IDL long connections; - * IDL long shares; - * IDL long openfiles; - * IDL long sessopens; - * IDL long sessvcs; - * IDL long sessreqs; - * IDL long opensearch; - * IDL long activelocks; - * IDL long sizreqbufs - * IDL long numbigbufs - * IDL long numfiletasks; - * IDL long alertsched; - * IDL long erroralert; - * IDL long logonalert; - * IDL long accessalert; - * IDL long diskalert; - * IDL long netioalert; - * IDL long maxauditsz; - * IDL [string] [unique] wchar_t *srvheuristics; - * IDL long auditedevents; - * IDL long auditprofile; - * IDL [string] [unique] wchar_t *autopath; - * IDL } SERVER_INFO_403; - */ -static int -srvsvc_dissect_SERVER_INFO_403(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_ulist_mtime, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_glist_mtime, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_alist_mtime, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Alerts", hf_srvsvc_alerts, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_security, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_numadmin, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_lanmask, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Guest", hf_srvsvc_guest, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chdevs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chdevqs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_chdevjobs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_connections, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_shares, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_openfiles, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessopens, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessvcs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessreqs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_opensearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_activelocks, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sizreqbufs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_numbigbufs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_numfiletasks, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_alertsched, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_erroralert, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_logonalert, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_accessalert, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_diskalert, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_netioalert, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxauditsz, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server Heuristics", - hf_srvsvc_srvheuristics, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_auditedevents, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_auditprofile, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Autopath", hf_srvsvc_autopath, 0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long sessopens; - * IDL long sessvcs; - * IDL long opensearch; - * IDL long sizreqbufs - * IDL long initworkitems; - * IDL long maxworkitems; - * IDL long rawworkitems; - * IDL long irpstacksize; - * IDL long maxrawbuflen; - * IDL long sessusers; - * IDL long sessconns; - * IDL long maxpagedmemoryusage; - * IDL long maxnonpagedmemoryusage; - * IDL long enablesoftcompat; - * IDL long enableforcedlogoff; - * IDL long timesource - * IDL long acceptdownlevelapis; - * IDL long lmannounce; - * IDL } SERVER_INFO_502; - */ -static int -srvsvc_dissect_SERVER_INFO_502(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessopens, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessvcs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_opensearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sizreqbufs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rawworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_irpstacksize, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxrawbuflen, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_users, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_connections, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxpagedmemoryusage, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxnonpagedmemoryusage, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enablesoftcompat, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableforcedlogoff, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_timesource, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_acceptdownlevelapis, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_lmannounce, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long sessopens; - * IDL long sessvcs; - * IDL long opensearch; - * IDL long sizreqbufs - * IDL long initworkitems; - * IDL long maxworkitems; - * IDL long rawworkitems; - * IDL long irpstacksize; - * IDL long maxrawbuflen; - * IDL long sessusers; - * IDL long sessconns; - * IDL long maxpagedmemoryusage; - * IDL long maxnonpagedmemoryusage; - * IDL long enablesoftcompat; - * IDL long enableforcedlogoff; - * IDL long timesource - * IDL long acceptdownlevelapis; - * IDL long lmannounce; - * IDL [string] [unique] wchar_t *domain; - * IDL long maxcopyreadlen; - * IDL long maxcopywritelen; - * IDL long minkeepsearch; - * IDL long mankeepsearch; - * IDL long minkeepcomplsearch; - * IDL long mankeepcomplsearch; - * IDL long threadcountadd; - * IDL long numblockthreads; - * IDL long scavtimeout; - * IDL long minrcvqueue; - * IDL long minfreeworkitems; - * IDL long xactmemsize; - * IDL long threadpriority; - * IDL long maxmpxct; - * IDL long oplockbreakwait; - * IDL long oplockbreakresponsewait; - * IDL long enableoplocks; - * IDL long enableoplockforceclose - * IDL long enablefcbopens; - * IDL long enableraw; - * IDL long enablesharednetdrives; - * IDL long minfreeconnections; - * IDL long maxfreeconnections; - * IDL } SERVER_INFO_503; - */ -static int -srvsvc_dissect_SERVER_INFO_503(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessopens, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessvcs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_opensearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sizreqbufs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rawworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_irpstacksize, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxrawbuflen, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_users, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_connections, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxpagedmemoryusage, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxnonpagedmemoryusage, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enablesoftcompat, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableforcedlogoff, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_timesource, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_acceptdownlevelapis, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_lmannounce, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Domain", hf_srvsvc_domain, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxcopyreadlen, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxcopywritelen, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minkeepsearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxkeepsearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minkeepcomplsearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxkeepcomplsearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_threadcountadd, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_numblockthreads, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_scavtimeout, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minrcvqueue, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minfreeworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_xactmemsize, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_threadpriority, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxmpxct, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_oplockbreakwait, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_oplockbreakresponsewait, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableoplocks, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableoplockforceclose, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enablefcbopens, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableraw, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enablesharednetdrives, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minfreeconnections, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxfreeconnections, NULL); - - return offset; -} - - -/* - * IDL typedef struct { - * IDL long sessopens; - * IDL long sessvcs; - * IDL long opensearch; - * IDL long sizreqbufs - * IDL long initworkitems; - * IDL long maxworkitems; - * IDL long rawworkitems; - * IDL long irpstacksize; - * IDL long maxrawbuflen; - * IDL long sessusers; - * IDL long sessconns; - * IDL long maxpagedmemoryusage; - * IDL long maxnonpagedmemoryusage; - * IDL long enablesoftcompat; - * IDL long enableforcedlogoff; - * IDL long timesource - * IDL long acceptdownlevelapis; - * IDL long lmannounce; - * IDL [string] [unique] wchar_t *domain; - * IDL long maxcopyreadlen; - * IDL long maxcopywritelen; - * IDL long minkeepsearch; - * IDL long mankeepsearch; - * IDL long minkeepcomplsearch; - * IDL long mankeepcomplsearch; - * IDL long threadcountadd; - * IDL long numblockthreads; - * IDL long scavtimeout; - * IDL long minrcvqueue; - * IDL long minfreeworkitems; - * IDL long xactmemsize; - * IDL long threadpriority; - * IDL long maxmpxct; - * IDL long oplockbreakwait; - * IDL long oplockbreakresponsewait; - * IDL long enableoplocks; - * IDL long enableoplockforceclose - * IDL long enablefcbopens; - * IDL long enableraw; - * IDL long enablesharednetdrives; - * IDL long minfreeconnections; - * IDL long maxfreeconnections; - * IDL long initsesstable; - * IDL long initconntable; - * IDL long initfiletable; - * IDL long initsearchtable; - * IDL long alertsched; - * IDL long errortreshold; - * IDL long networkerrortreshold; - * IDL long diskspacetreshold; - * IDL long reserved; - * IDL long maxlinkdelay; - * IDL long minlinkthroughput; - * IDL long linkinfovalidtime; - * IDL long scavqosinfoupdatetime; - * IDL long maxworkitemidletime; - * IDL } SERVER_INFO_599; - */ -static int -srvsvc_dissect_SERVER_INFO_599(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessopens, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessvcs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_opensearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sizreqbufs, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rawworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_irpstacksize, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxrawbuflen, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_users, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_connections, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxpagedmemoryusage, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxnonpagedmemoryusage, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enablesoftcompat, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableforcedlogoff, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_timesource, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_acceptdownlevelapis, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_lmannounce, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Domain", hf_srvsvc_domain, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxcopyreadlen, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxcopywritelen, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minkeepsearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxkeepsearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minkeepcomplsearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxkeepcomplsearch, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_threadcountadd, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_numblockthreads, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_scavtimeout, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minrcvqueue, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minfreeworkitems, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_xactmemsize, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_threadpriority, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxmpxct, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_oplockbreakwait, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_oplockbreakresponsewait, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableoplocks, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableoplockforceclose, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enablefcbopens, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableraw, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enablesharednetdrives, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minfreeconnections, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxfreeconnections, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initsesstable, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initconntable, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initfiletable, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initsearchtable, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_alertsched, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_errortreshold, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_networkerrortreshold, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_diskspacetreshold, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_reserved, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_reserved, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxlinkdelay, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_minlinkthroughput, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_linkinfovalidtime, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_scavqosinfoupdatetime, NULL); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxworkitemidletime, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL [string] [unique] wchar_t *comment; - * IDL } SERVER_INFO_1005; - */ -static int -srvsvc_dissect_SERVER_INFO_1005(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Comment", hf_srvsvc_comment, 0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long disc; - * IDL } SERVER_INFO_1010; - */ -static int -srvsvc_dissect_SERVER_INFO_1010(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_disc, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long hidden; - * IDL } SERVER_INFO_1016; - */ -static int -srvsvc_dissect_SERVER_INFO_1016(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_hidden, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long announce; - * IDL } SERVER_INFO_1017; - */ -static int -srvsvc_dissect_SERVER_INFO_1017(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_announce, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long anndelta; - * IDL } SERVER_INFO_1018; - */ -static int -srvsvc_dissect_SERVER_INFO_1018(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_anndelta, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long users; - * IDL } SERVER_INFO_1107; - */ -static int -srvsvc_dissect_SERVER_INFO_1107(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_users, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long sessopens; - * IDL } SERVER_INFO_1501; - */ -static int -srvsvc_dissect_SERVER_INFO_1501(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessopens, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long sessvcs; - * IDL } SERVER_INFO_1502; - */ -static int -srvsvc_dissect_SERVER_INFO_1502(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_sessvcs, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long opensearch; - * IDL } SERVER_INFO_1503; - */ -static int -srvsvc_dissect_SERVER_INFO_1503(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_opensearch, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxworkitems; - * IDL } SERVER_INFO_1506; - */ -static int -srvsvc_dissect_SERVER_INFO_1506(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxworkitems, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxrawbuflen; - * IDL } SERVER_INFO_1509; - */ -static int -srvsvc_dissect_SERVER_INFO_1509(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxrawbuflen, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long sessusers; - * IDL } SERVER_INFO_1510; - */ -static int -srvsvc_dissect_SERVER_INFO_1510(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_users, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long sessconns; - * IDL } SERVER_INFO_1511; - */ -static int -srvsvc_dissect_SERVER_INFO_1511(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_connections, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxnonpagedmemoryusage; - * IDL } SERVER_INFO_1512; - */ -static int -srvsvc_dissect_SERVER_INFO_1512(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxnonpagedmemoryusage, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxpagedmemoryusage; - * IDL } SERVER_INFO_1513; - */ -static int -srvsvc_dissect_SERVER_INFO_1513(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxpagedmemoryusage, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long enablesoftcompat; - * IDL } SERVER_INFO_1514; - */ -static int -srvsvc_dissect_SERVER_INFO_1514(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enablesoftcompat, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long enableforcedlogoff; - * IDL } SERVER_INFO_1515; - */ -static int -srvsvc_dissect_SERVER_INFO_1515(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableforcedlogoff, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long timesource; - * IDL } SERVER_INFO_1516; - */ -static int -srvsvc_dissect_SERVER_INFO_1516(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_timesource, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long lmannounce; - * IDL } SERVER_INFO_1518; - */ -static int -srvsvc_dissect_SERVER_INFO_1518(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_lmannounce, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxcopyreadlen; - * IDL } SERVER_INFO_1520; - */ -static int -srvsvc_dissect_SERVER_INFO_1520(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxcopyreadlen, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxcopywritelen; - * IDL } SERVER_INFO_1521; - */ -static int -srvsvc_dissect_SERVER_INFO_1521(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxcopywritelen, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long minkeepsearch; - * IDL } SERVER_INFO_1522; - */ -static int -srvsvc_dissect_SERVER_INFO_1522(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minkeepsearch, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxkeepsearch; - * IDL } SERVER_INFO_1523; - */ -static int -srvsvc_dissect_SERVER_INFO_1523(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxkeepsearch, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long minkeepcomplsearch; - * IDL } SERVER_INFO_1524; - */ -static int -srvsvc_dissect_SERVER_INFO_1524(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minkeepcomplsearch, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxkeepcomplsearch; - * IDL } SERVER_INFO_1525; - */ -static int -srvsvc_dissect_SERVER_INFO_1525(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxkeepcomplsearch, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long scavtimeout; - * IDL } SERVER_INFO_1528; - */ -static int -srvsvc_dissect_SERVER_INFO_1528(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_scavtimeout, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long minrcvqueue; - * IDL } SERVER_INFO_1529; - */ -static int -srvsvc_dissect_SERVER_INFO_1529(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minrcvqueue, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long minfreeworkitems; - * IDL } SERVER_INFO_1530; - */ -static int -srvsvc_dissect_SERVER_INFO_1530(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minfreeworkitems, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxmpxct; - * IDL } SERVER_INFO_1533; - */ -static int -srvsvc_dissect_SERVER_INFO_1533(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxmpxct, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long oplockbreakwait; - * IDL } SERVER_INFO_1534; - */ -static int -srvsvc_dissect_SERVER_INFO_1534(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_oplockbreakwait, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long oplockbreakresponsewait; - * IDL } SERVER_INFO_1535; - */ -static int -srvsvc_dissect_SERVER_INFO_1535(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_oplockbreakresponsewait, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long enableoplocks; - * IDL } SERVER_INFO_1536; - */ -static int -srvsvc_dissect_SERVER_INFO_1536(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableoplocks, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long enableoplockforceclose; - * IDL } SERVER_INFO_1537; - */ -static int -srvsvc_dissect_SERVER_INFO_1537(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableoplockforceclose, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long enablefcbopens; - * IDL } SERVER_INFO_1538; - */ -static int -srvsvc_dissect_SERVER_INFO_1538(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enablefcbopens, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long enableraw; - * IDL } SERVER_INFO_1539; - */ -static int -srvsvc_dissect_SERVER_INFO_1539(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enableraw, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long enablesharednetdrives; - * IDL } SERVER_INFO_1540; - */ -static int -srvsvc_dissect_SERVER_INFO_1540(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_enablesharednetdrives, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long minfreeconnections; - * IDL } SERVER_INFO_1541; - */ -static int -srvsvc_dissect_SERVER_INFO_1541(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minfreeconnections, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxfreeconnections; - * IDL } SERVER_INFO_1542; - */ -static int -srvsvc_dissect_SERVER_INFO_1542(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxfreeconnections, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long initsesstable; - * IDL } SERVER_INFO_1543; - */ -static int -srvsvc_dissect_SERVER_INFO_1543(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initsesstable, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long initconntable; - * IDL } SERVER_INFO_1544; - */ -static int -srvsvc_dissect_SERVER_INFO_1544(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initconntable, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long initfiletable; - * IDL } SERVER_INFO_1545; - */ -static int -srvsvc_dissect_SERVER_INFO_1545(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initfiletable, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long initsearchtable; - * IDL } SERVER_INFO_1546; - */ -static int -srvsvc_dissect_SERVER_INFO_1546(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_initsearchtable, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long alertsched; - * IDL } SERVER_INFO_1547; - */ -static int -srvsvc_dissect_SERVER_INFO_1547(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_alertsched, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long errortreshold; - * IDL } SERVER_INFO_1548; - */ -static int -srvsvc_dissect_SERVER_INFO_1548(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_errortreshold, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long networkerrortreshold; - * IDL } SERVER_INFO_1549; - */ -static int -srvsvc_dissect_SERVER_INFO_1549(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_networkerrortreshold, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long diskspacetreshold; - * IDL } SERVER_INFO_1550; - */ -static int -srvsvc_dissect_SERVER_INFO_1550(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_diskspacetreshold, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxlinkdelay; - * IDL } SERVER_INFO_1552; - */ -static int -srvsvc_dissect_SERVER_INFO_1552(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxlinkdelay, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long minlinkthroughput; - * IDL } SERVER_INFO_1553; - */ -static int -srvsvc_dissect_SERVER_INFO_1553(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_minlinkthroughput, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long linkinfovalidtime; - * IDL } SERVER_INFO_1554; - */ -static int -srvsvc_dissect_SERVER_INFO_1554(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_linkinfovalidtime, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long scavqosinfoupdatetime; - * IDL } SERVER_INFO_1555; - */ -static int -srvsvc_dissect_SERVER_INFO_1555(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_scavqosinfoupdatetime, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long maxworkitemidletime; - * IDL } SERVER_INFO_1556; - */ -static int -srvsvc_dissect_SERVER_INFO_1556(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_maxworkitemidletime, NULL); - - return offset; -} - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(100)] [unique] SERVER_INFO_100 *srv100; - * IDL [case(101)] [unique] SERVER_INFO_101 *srv101; - * IDL [case(102)] [unique] SERVER_INFO_102 *srv102; - * IDL [case(402)] [unique] SERVER_INFO_402 *srv402; - * IDL [case(403)] [unique] SERVER_INFO_403 *srv403; - * IDL [case(502)] [unique] SERVER_INFO_502 *srv502; - * IDL [case(503)] [unique] SERVER_INFO_503 *srv503; - * IDL [case(599)] [unique] SERVER_INFO_599 *srv599; - * IDL [case(1005)] [unique] SERVER_INFO_1005 *srv1005; - * IDL [case(1010)] [unique] SERVER_INFO_1010 *srv1010; - * IDL [case(1016)] [unique] SERVER_INFO_1016 *srv1016; - * IDL [case(1017)] [unique] SERVER_INFO_1017 *srv1017; - * IDL [case(1018)] [unique] SERVER_INFO_1018 *srv1018; - * IDL [case(1107)] [unique] SERVER_INFO_1107 *srv1107; - * IDL [case(1501)] [unique] SERVER_INFO_1501 *srv1501; - * IDL [case(1502)] [unique] SERVER_INFO_1502 *srv1502; - * IDL [case(1503)] [unique] SERVER_INFO_1503 *srv1503; - * IDL [case(1506)] [unique] SERVER_INFO_1506 *srv1506; - * IDL [case(1509)] [unique] SERVER_INFO_1509 *srv1509; - * IDL [case(1510)] [unique] SERVER_INFO_1510 *srv1510; - * IDL [case(1511)] [unique] SERVER_INFO_1511 *srv1511; - * IDL [case(1512)] [unique] SERVER_INFO_1512 *srv1512; - * IDL [case(1513)] [unique] SERVER_INFO_1513 *srv1513; - * IDL [case(1514)] [unique] SERVER_INFO_1514 *srv1514; - * IDL [case(1515)] [unique] SERVER_INFO_1515 *srv1515; - * IDL [case(1516)] [unique] SERVER_INFO_1516 *srv1516; - * IDL [case(1518)] [unique] SERVER_INFO_1518 *srv1518; - * IDL [case(1520)] [unique] SERVER_INFO_1520 *srv1520; - * IDL [case(1521)] [unique] SERVER_INFO_1521 *srv1521; - * IDL [case(1522)] [unique] SERVER_INFO_1522 *srv1522; - * IDL [case(1523)] [unique] SERVER_INFO_1523 *srv1523; - * IDL [case(1524)] [unique] SERVER_INFO_1524 *srv1524; - * IDL [case(1525)] [unique] SERVER_INFO_1525 *srv1525; - * IDL [case(1528)] [unique] SERVER_INFO_1528 *srv1528; - * IDL [case(1529)] [unique] SERVER_INFO_1529 *srv1529; - * IDL [case(1530)] [unique] SERVER_INFO_1530 *srv1530; - * IDL [case(1533)] [unique] SERVER_INFO_1533 *srv1533; - * IDL [case(1534)] [unique] SERVER_INFO_1534 *srv1534; - * IDL [case(1535)] [unique] SERVER_INFO_1535 *srv1535; - * IDL [case(1536)] [unique] SERVER_INFO_1536 *srv1536; - * IDL [case(1537)] [unique] SERVER_INFO_1537 *srv1537; - * IDL [case(1538)] [unique] SERVER_INFO_1538 *srv1538; - * IDL [case(1539)] [unique] SERVER_INFO_1539 *srv1539; - * IDL [case(1540)] [unique] SERVER_INFO_1540 *srv1540; - * IDL [case(1541)] [unique] SERVER_INFO_1541 *srv1541; - * IDL [case(1542)] [unique] SERVER_INFO_1542 *srv1542; - * IDL [case(1543)] [unique] SERVER_INFO_1543 *srv1543; - * IDL [case(1544)] [unique] SERVER_INFO_1544 *srv1544; - * IDL [case(1545)] [unique] SERVER_INFO_1545 *srv1545; - * IDL [case(1546)] [unique] SERVER_INFO_1546 *srv1546; - * IDL [case(1547)] [unique] SERVER_INFO_1547 *srv1547; - * IDL [case(1548)] [unique] SERVER_INFO_1548 *srv1548; - * IDL [case(1549)] [unique] SERVER_INFO_1549 *srv1549; - * IDL [case(1550)] [unique] SERVER_INFO_1550 *srv1550; - * IDL [case(1552)] [unique] SERVER_INFO_1552 *srv1552; - * IDL [case(1553)] [unique] SERVER_INFO_1553 *srv1553; - * IDL [case(1554)] [unique] SERVER_INFO_1554 *srv1554; - * IDL [case(1555)] [unique] SERVER_INFO_1555 *srv1555; - * IDL [case(1556)] [unique] SERVER_INFO_1556 *srv1556; - * IDL } SERVER_INFO_UNION; - */ -static int -srvsvc_dissect_SERVER_INFO_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 level; - - ALIGN_TO_4_BYTES; - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); - - switch(level){ - case 100: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_100, - NDR_POINTER_UNIQUE, "SERVER_INFO_100:", -1); - break; - - case 101: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_101, - NDR_POINTER_UNIQUE, "SERVER_INFO_101:", -1); - break; - - case 102: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_102, - NDR_POINTER_UNIQUE, "SERVER_INFO_102:", -1); - break; - - case 402: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_402, - NDR_POINTER_UNIQUE, "SERVER_INFO_402:", -1); - break; - - case 403: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_403, - NDR_POINTER_UNIQUE, "SERVER_INFO_403:", -1); - break; - - case 502: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_502, - NDR_POINTER_UNIQUE, "SERVER_INFO_502:", -1); - break; - - case 503: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_503, - NDR_POINTER_UNIQUE, "SERVER_INFO_503:", -1); - break; - - case 599: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_599, - NDR_POINTER_UNIQUE, "SERVER_INFO_599:", -1); - break; - - case 1005: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1005, - NDR_POINTER_UNIQUE, "SERVER_INFO_1005:", -1); - break; - - case 1010: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1010, - NDR_POINTER_UNIQUE, "SERVER_INFO_1010:", -1); - break; - - case 1016: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1016, - NDR_POINTER_UNIQUE, "SERVER_INFO_1016:", -1); - break; - - case 1017: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1017, - NDR_POINTER_UNIQUE, "SERVER_INFO_1017:", -1); - break; - - case 1018: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1018, - NDR_POINTER_UNIQUE, "SERVER_INFO_1018:", -1); - break; - - case 1107: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1107, - NDR_POINTER_UNIQUE, "SERVER_INFO_1107:", -1); - break; - - case 1501: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1501, - NDR_POINTER_UNIQUE, "SERVER_INFO_1501:", -1); - break; - - case 1502: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1502, - NDR_POINTER_UNIQUE, "SERVER_INFO_1502:", -1); - break; - - case 1503: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1503, - NDR_POINTER_UNIQUE, "SERVER_INFO_1503:", -1); - break; - - case 1506: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1506, - NDR_POINTER_UNIQUE, "SERVER_INFO_1506:", -1); - break; - - case 1509: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1509, - NDR_POINTER_UNIQUE, "SERVER_INFO_1509:", -1); - break; - - case 1510: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1510, - NDR_POINTER_UNIQUE, "SERVER_INFO_1510:", -1); - break; - - case 1511: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1511, - NDR_POINTER_UNIQUE, "SERVER_INFO_1511:", -1); - break; - - case 1512: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1512, - NDR_POINTER_UNIQUE, "SERVER_INFO_1512:", -1); - break; - - case 1513: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1513, - NDR_POINTER_UNIQUE, "SERVER_INFO_1513:", -1); - break; - - case 1514: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1514, - NDR_POINTER_UNIQUE, "SERVER_INFO_1514:", -1); - break; - - case 1515: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1515, - NDR_POINTER_UNIQUE, "SERVER_INFO_1515:", -1); - break; - - case 1516: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1516, - NDR_POINTER_UNIQUE, "SERVER_INFO_1516:", -1); - break; - - case 1518: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1518, - NDR_POINTER_UNIQUE, "SERVER_INFO_1518:", -1); - break; - - case 1520: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1520, - NDR_POINTER_UNIQUE, "SERVER_INFO_1520:", -1); - break; - - case 1521: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1521, - NDR_POINTER_UNIQUE, "SERVER_INFO_1521:", -1); - break; - - case 1522: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1522, - NDR_POINTER_UNIQUE, "SERVER_INFO_1522:", -1); - break; - - case 1523: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1523, - NDR_POINTER_UNIQUE, "SERVER_INFO_1523:", -1); - break; - - case 1524: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1524, - NDR_POINTER_UNIQUE, "SERVER_INFO_1524:", -1); - break; - - case 1525: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1525, - NDR_POINTER_UNIQUE, "SERVER_INFO_1525:", -1); - break; - - case 1528: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1528, - NDR_POINTER_UNIQUE, "SERVER_INFO_1528:", -1); - break; - - case 1529: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1529, - NDR_POINTER_UNIQUE, "SERVER_INFO_1529:", -1); - break; - - case 1530: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1530, - NDR_POINTER_UNIQUE, "SERVER_INFO_1530:", -1); - break; - - case 1533: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1533, - NDR_POINTER_UNIQUE, "SERVER_INFO_1533:", -1); - break; - - case 1534: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1534, - NDR_POINTER_UNIQUE, "SERVER_INFO_1534:", -1); - break; - - case 1535: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1535, - NDR_POINTER_UNIQUE, "SERVER_INFO_1535:", -1); - break; - - case 1536: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1536, - NDR_POINTER_UNIQUE, "SERVER_INFO_1536:", -1); - break; - - case 1537: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1537, - NDR_POINTER_UNIQUE, "SERVER_INFO_1537:", -1); - break; - - case 1538: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1538, - NDR_POINTER_UNIQUE, "SERVER_INFO_1538:", -1); - break; - - case 1539: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1539, - NDR_POINTER_UNIQUE, "SERVER_INFO_1539:", -1); - break; - - case 1540: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1540, - NDR_POINTER_UNIQUE, "SERVER_INFO_1540:", -1); - break; - - case 1541: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1541, - NDR_POINTER_UNIQUE, "SERVER_INFO_1541:", -1); - break; - - case 1542: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1542, - NDR_POINTER_UNIQUE, "SERVER_INFO_1542:", -1); - break; - - case 1543: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1543, - NDR_POINTER_UNIQUE, "SERVER_INFO_1543:", -1); - break; - - case 1544: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1544, - NDR_POINTER_UNIQUE, "SERVER_INFO_1544:", -1); - break; - - case 1545: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1545, - NDR_POINTER_UNIQUE, "SERVER_INFO_1545:", -1); - break; - - case 1546: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1546, - NDR_POINTER_UNIQUE, "SERVER_INFO_1546:", -1); - break; - - case 1547: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1547, - NDR_POINTER_UNIQUE, "SERVER_INFO_1547:", -1); - break; - - case 1548: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1548, - NDR_POINTER_UNIQUE, "SERVER_INFO_1548:", -1); - break; - - case 1549: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1549, - NDR_POINTER_UNIQUE, "SERVER_INFO_1549:", -1); - break; - - case 1550: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1550, - NDR_POINTER_UNIQUE, "SERVER_INFO_1550:", -1); - break; - - case 1552: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1552, - NDR_POINTER_UNIQUE, "SERVER_INFO_1552:", -1); - break; - - case 1553: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1553, - NDR_POINTER_UNIQUE, "SERVER_INFO_1553:", -1); - break; - - case 1554: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1554, - NDR_POINTER_UNIQUE, "SERVER_INFO_1554:", -1); - break; - - case 1555: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1555, - NDR_POINTER_UNIQUE, "SERVER_INFO_1555:", -1); - break; - - case 1556: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_1556, - NDR_POINTER_UNIQUE, "SERVER_INFO_1556:", -1); - break; - - } - - return offset; -} - -/* - * IDL long NetrServerGetInfo( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] long Level, - * IDL [out] [ref] SERVER_INFO_UNION *srv; - * IDL ); - */ -static int -srvsvc_dissect_netrservergetinfo_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer_cb( - tvb, offset, pinfo, tree, drep, - dissect_ndr_wchar_cvstring, NDR_POINTER_UNIQUE, - "Server", hf_srvsvc_server, cb_wstr_postprocess, - GINT_TO_POINTER(CB_STR_COL_INFO | 1)); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - return offset; -} -static int -srvsvc_dissect_netrservergetinfo_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_UNION, - NDR_POINTER_REF, "Server Info", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrServerSetInfo( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] long Level, - * IDL [in] [ref] SERVER_INFO_UNION *srv; - * IDL [in] [out] [unique] long *ParamError; - * IDL ); - */ -static int -srvsvc_dissect_netrserversetinfo_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_INFO_UNION, - NDR_POINTER_REF, "Server Info", -1); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE, - "Parameter Error:", hf_srvsvc_parm_error); - - return offset; -} -static int -srvsvc_dissect_netrserversetinfo_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE, - "Parameter Error:", hf_srvsvc_parm_error); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - -/* - * IDL typedef struct { - * IDL [size_is()] [unique] wchar_t *disk; - * IDL } DISK_INFO_0; - */ -static int -srvsvc_dissect_DISK_INFO_0(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +static int srvsvc_dissect_element_NetCharDevInfo0_device(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo0_device_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo1_device(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo1_device_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo1_status(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo1_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo1_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo1_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo_info0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo_info0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo_info1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevInfo_info1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo0_device(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo0_device_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo1_device(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo1_device_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo1_priority(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo1_devices(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo1_devices_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo1_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo1_num_ahead(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo_info0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo_info0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo_info1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQInfo_info1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnInfo0_conn_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnInfo1_conn_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnInfo1_conn_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnInfo1_num_open(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnInfo1_num_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnInfo1_conn_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnInfo1_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnInfo1_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnInfo1_share(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnInfo1_share_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo2_fid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr2_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr2_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr2_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr2_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo3_fid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo3_permissions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo3_num_locks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo3_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo3_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo3_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo3_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr3_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr3_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr3_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr3_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo_info2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo_info2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo_info3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileInfo_info3_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr_ctr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr_ctr2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr_ctr3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileCtr_ctr3_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo0_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo0_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo1_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo1_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo1_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo1_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo1_num_open(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo1_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo1_idle_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo1_user_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo2_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo2_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo2_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo2_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo2_num_open(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo2_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo2_idle_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo2_user_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo2_client_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo2_client_type_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr2_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr2_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr2_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr2_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo10_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo10_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo10_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo10_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo10_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo10_idle_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr10_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr10_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr10_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr10_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_num_open(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_idle_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_user_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_client_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_client_type_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_transport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessInfo502_transport_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr502_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr502_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr502_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr502_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr_ctr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr_ctr2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr_ctr10(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr_ctr10_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr_ctr502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessCtr_ctr502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +const value_string srvsvc_srvsvc_ShareType_vals[] = { + { STYPE_DISKTREE, "STYPE_DISKTREE" }, + { STYPE_DISKTREE_TEMPORARY, "STYPE_DISKTREE_TEMPORARY" }, + { STYPE_DISKTREE_HIDDEN, "STYPE_DISKTREE_HIDDEN" }, + { STYPE_PRINTQ, "STYPE_PRINTQ" }, + { STYPE_PRINTQ_TEMPORARY, "STYPE_PRINTQ_TEMPORARY" }, + { STYPE_PRINTQ_HIDDEN, "STYPE_PRINTQ_HIDDEN" }, + { STYPE_DEVICE, "STYPE_DEVICE" }, + { STYPE_DEVICE_TEMPORARY, "STYPE_DEVICE_TEMPORARY" }, + { STYPE_DEVICE_HIDDEN, "STYPE_DEVICE_HIDDEN" }, + { STYPE_IPC, "STYPE_IPC" }, + { STYPE_IPC_TEMPORARY, "STYPE_IPC_TEMPORARY" }, + { STYPE_IPC_HIDDEN, "STYPE_IPC_HIDDEN" }, +{ 0, NULL } +}; +static int srvsvc_dissect_element_NetShareInfo0_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo0_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_permissions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_max_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_current_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo2_password_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr2_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr2_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr2_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr2_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo501_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo501_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo501_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo501_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo501_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo501_csc_policy(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr501_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr501_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr501_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr501_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_permissions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_max_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_current_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_password_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_unknown(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_sd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_sd_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo502_sd__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr502_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr502_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr502_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr502_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1004_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1004_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1004_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1004_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1004_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1004_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1005_dfs_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1005_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1005_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1005_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1005_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1006_max_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1006_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1006_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1006_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1006_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1007_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1007_alternate_directory_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo1007_alternate_directory_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1007_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1007_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1007_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1007_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1501_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1501_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1501_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr1501_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1004(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1004_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1005_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1006(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1006_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1007_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareInfo_info1501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1004(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1004_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1005_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1006(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1006_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1007_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCtr_ctr1501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +const value_string srvsvc_srvsvc_PlatformId_vals[] = { + { PLATFORM_ID_DOS, "PLATFORM_ID_DOS" }, + { PLATFORM_ID_OS2, "PLATFORM_ID_OS2" }, + { PLATFORM_ID_NT, "PLATFORM_ID_NT" }, + { PLATFORM_ID_OSF, "PLATFORM_ID_OSF" }, + { PLATFORM_ID_VMS, "PLATFORM_ID_VMS" }, +{ 0, NULL } +}; +static int srvsvc_dissect_element_NetSrvInfo100_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo100_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo100_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo101_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo101_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo101_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo101_version_major(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo101_version_minor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo101_server_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo101_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo101_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_version_major(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_version_minor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_server_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_disc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_hidden(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_announce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_anndelta(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_licenses(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_userpath(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo102_userpath_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_ulist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_glist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_alist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_alerts(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_alerts_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_security(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_numadmin(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_lanmask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_guestaccount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_guestaccount_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_chdevs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_chdevqs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_chdevjobs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_connections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_shares(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_openfiles(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_sessopen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_sesssvc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_sessreqs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_activelocks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_sizereqbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_numbigbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_numfiletasks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_alertsched(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_erroralert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_logonalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_accessalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_diskalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_netioalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_maxaudits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_srvheuristics(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo402_srvheuristics_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_ulist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_glist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_alist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_alerts(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_alerts_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_security(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_numadmin(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_lanmask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_guestaccount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_guestaccount_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_chdevs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_chdevqs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_chdevjobs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_connections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_shares(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_openfiles(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_sessopen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_sesssvc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_sessreqs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_activelocks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_sizereqbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_numbigbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_numfiletasks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_alertsched(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_eroralert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_logonalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_accessalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_diskalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_netioalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_maxaudits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_srvheuristics(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_srvheuristics_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_auditedevents(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_auditprofile(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_autopath(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo403_autopath_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_sessopen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_sesssvc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_sizereqbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_initworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_maxworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_rawworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_irpstacksize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_maxrawbuflen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_sessusers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_sessconns(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_maxpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_maxnonpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_enablesoftcompat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_enableforcedlogoff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_timesource(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_acceptdownlevelapis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo502_lmannounce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_sessopen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_sesssvc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_sizereqbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_initworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_maxworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_rawworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_irpstacksize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_maxrawbuflen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_sessusers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_sessconns(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_maxpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_maxnonpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_enablesoftcompat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_enableforcedlogoff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_timesource(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_acceptdownlevelapis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_lmannounce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_maxcopyreadlen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_maxcopywritelen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_minkeepsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_maxkeepsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_minkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_maxkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_threadcountadd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_numlockthreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_scavtimeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_minrcvqueue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_minfreeworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_xactmemsize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_threadpriority(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_maxmpxct(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_oplockbreakwait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_oplockbreakresponsewait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_enableoplocks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_enableoplockforceclose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_enablefcbopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_enableraw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_enablesharednetdrives(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_minfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo503_maxfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_sessopen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_sesssvc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_sizereqbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_initworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_rawworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_irpstacksize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxrawbuflen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_sessusers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_sessconns(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxnonpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_enablesoftcompat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_enableforcedlogoff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_timesource(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_acceptdownlevelapis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_lmannounce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxcopyreadlen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxcopywritelen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_minkeepsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_minkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_threadcountadd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_numlockthreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_scavtimeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_minrcvqueue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_minfreeworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_xactmemsize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_threadpriority(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxmpxct(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_oplockbreakwait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_oplockbreakresponsewait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_enableoplocks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_enableoplockforceclose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_enablefcbopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_enableraw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_enablesharednetdrives(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_minfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_initsesstable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_initconntable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_initfiletable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_initsearchtable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_alertsched(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_errortreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_networkerrortreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_diskspacetreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxlinkdelay(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_minlinkthroughput(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_linkinfovalidtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_scavqosinfoupdatetime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo599_maxworkitemidletime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1005_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1005_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1010_disc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1016_hidden(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1017_announce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1018_anndelta(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1107_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1501_sessopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1502_sessvcs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1503_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1506_maxworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1509_maxrawbuflen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1510_sessusers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1511_sesscons(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1512_maxnonpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1513_maxpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1514_enablesoftcompat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1515_enableforcedlogoff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1516_timesource(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1518_lmannounce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1520_maxcopyreadlen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1521_maxcopywritelen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1522_minkeepsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1523_maxkeepsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1524_minkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1525_maxkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1528_scavtimeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1529_minrcvqueue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1530_minfreeworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1533_maxmpxct(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1534_oplockbreakwait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1535_oplockbreakresponsewait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1536_enableoplocks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1537_enableoplockforceclose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1538_enablefcbopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1539_enableraw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1540_enablesharednetdrives(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1541_minfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1542_maxfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1543_initsesstable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1544_initconntable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1545_initfiletable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1546_initsearchtable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1547_alertsched(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1548_errortreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1549_networkerrortreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1550_diskspacetreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1552_maxlinkdelay(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1553_minlinkthroughput(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1554_linkinfovalidtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1555_scavqosinfoupdatetime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo1556_maxworkitemidletime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info100_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info101(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info101_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info102(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info102_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info402(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info402_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info403(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info403_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info503(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info503_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info599(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info599_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1005_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1010(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1010_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1016(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1016_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1017(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1017_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1018(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1018_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1107(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1107_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1503(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1503_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1506(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1506_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1509(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1509_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1510(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1510_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1511(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1511_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1512(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1512_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1513(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1513_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1514(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1514_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1515(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1515_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1516(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1516_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1518(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1518_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1520(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1520_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1521(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1521_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1522(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1522_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1523(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1523_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1524(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1524_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1525(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1525_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1528(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1528_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1529(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1529_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1530(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1530_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1533(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1533_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1534(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1534_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1535(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1535_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1536(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1536_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1537(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1537_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1538(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1538_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1539(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1539_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1540(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1540_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1541(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1541_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1542(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1542_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1543(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1543_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1544(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1544_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1545(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1545_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1546(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1546_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1547(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1547_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1548(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1548_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1549(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1549_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1550(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1550_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1552(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1552_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1553(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1553_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1554(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1554_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1555(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1555_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1556(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvInfo_info1556_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskInfo0_disk(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskInfo_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskInfo_disks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskInfo_disks_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskInfo_disks__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_start(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_fopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_devopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_jobsqueued(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_sopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_stimeouts(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_serrorout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_pwerrors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_permerrors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_syserrors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_bytessent_low(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_bytessent_high(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_bytesrcvd_low(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_bytesrcvd_high(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_avresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_reqbufneed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_Statistics_bigbufneed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo0_vcs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo0_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo0_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo0_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo0_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo0_addr__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo0_addr_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo0_net_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo0_net_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_vcs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_addr__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_addr_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_net_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_net_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo1_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_vcs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_addr__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_addr_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_net_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_net_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo2_unknown(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr2_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr2_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr2_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr2_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_vcs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_addr__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_addr_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_net_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_net_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_unknown1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_unknown2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_unknown3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo3_unknown3_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr3_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr3_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr3_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr3_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr_ctr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr_ctr2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr_ctr3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportCtr_ctr3_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_elapsed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_msecs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_hours(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_mins(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_secs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_hunds(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_timezone(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_tinterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_day(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_month(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_year(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTODInfo_weekday(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo_info0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo_info1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo_info2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportInfo_info3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevGetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevGetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevGetInfo_device_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevControl_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevControl_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevControl_device_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevControl_opcode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQEnum_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQEnum_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQGetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQGetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQGetInfo_queue_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQGetInfo_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQSetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQSetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQSetInfo_queue_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQSetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQSetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQSetInfo_parm_error(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQSetInfo_parm_error_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQPurge_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQPurge_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQPurge_queue_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQPurgeSelf_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQPurgeSelf_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQPurgeSelf_queue_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetCharDevQPurgeSelf_computer_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnEnum_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnEnum_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetConnEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileGetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileGetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileGetInfo_fid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileClose_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileClose_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetFileClose_fid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessDel_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessDel_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessDel_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessDel_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessDel_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSessDel_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareAdd_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareAdd_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareAdd_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareAdd_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareAdd_parm_error(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareAdd_parm_error_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnumAll_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnumAll_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnumAll_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnumAll_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnumAll_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnumAll_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnumAll_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnumAll_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareGetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareGetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareGetInfo_share_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareSetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareSetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareSetInfo_share_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareSetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareSetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareSetInfo_parm_error(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareSetInfo_parm_error_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDel_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDel_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDel_share_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDel_reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelSticky_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelSticky_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelSticky_share_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelSticky_reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCheck_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCheck_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCheck_device_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareCheck_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvGetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvGetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvSetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvSetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvSetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvSetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvSetInfo_parm_error(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSrvSetInfo_parm_error_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskEnum_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskEnum_maxlen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetDiskEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerStatisticsGet_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerStatisticsGet_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerStatisticsGet_service(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerStatisticsGet_service_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerStatisticsGet_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerStatisticsGet_options(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerStatisticsGet_stat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportAdd_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportAdd_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportAdd_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportAdd_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportEnum_transports(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportDel_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportDel_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportDel_unknown(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetTransportDel_transport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTOD_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTOD_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTOD_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetRemoteTOD_info_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetServiceBits_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetServiceBits_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetServiceBits_transport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetServiceBits_transport_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetServiceBits_servicebits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetServiceBits_updateimmediately(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathType_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathType_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathType_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathType_pathflags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathType_pathtype(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCanonicalize_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCanonicalize_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCanonicalize_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCanonicalize_can_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCanonicalize_can_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCanonicalize_maxbuf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCanonicalize_prefix(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCanonicalize_pathtype(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCanonicalize_pathflags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCompare_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCompare_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCompare_path1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCompare_path2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCompare_pathtype(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPathCompare_pathflags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetNameValidate_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetNameValidate_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetNameValidate_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetNameValidate_name_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetNameValidate_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPRNameCompare_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPRNameCompare_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPRNameCompare_name1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPRNameCompare_name2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPRNameCompare_name_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetPRNameCompare_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelStart_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelStart_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelStart_share(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelStart_reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelStart_hnd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelStart_hnd_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelCommit_hnd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetShareDelCommit_hnd_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetGetFileSecurity_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetGetFileSecurity_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetGetFileSecurity_share(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetGetFileSecurity_share_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetGetFileSecurity_file(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetGetFileSecurity_securityinformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetGetFileSecurity_sd_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetGetFileSecurity_sd_buf_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetFileSecurity_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetFileSecurity_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetFileSecurity_share(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetFileSecurity_share_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetFileSecurity_file(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetFileSecurity_securityinformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetSetFileSecurity_sd_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerTransportAddEx_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerTransportAddEx_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerTransportAddEx_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerTransportAddEx_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerSetServiceBitsEx_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerSetServiceBitsEx_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerSetServiceBitsEx_emulated_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerSetServiceBitsEx_emulated_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerSetServiceBitsEx_transport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerSetServiceBitsEx_transport_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerSetServiceBitsEx_servicebitsofinterest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerSetServiceBitsEx_servicebits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int srvsvc_dissect_element_NetServerSetServiceBitsEx_updateimmediately(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep); +static int +srvsvc_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { guint32 len; dcerpc_info *di; - - di=pinfo->private_data; - if(di->conformant_run){ - /* this call is to make wireshark eat the array header for the conformant run */ - offset =dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, NULL); - - return offset; - } - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_disk_inf0_unknown, &len); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_disk_name_len, &len); - - offset = dissect_ndr_uint16s( - tvb, offset, pinfo, tree, drep, hf_srvsvc_disk_name, len); - - return offset; -} -static int -srvsvc_dissect_DISK_INFO_0_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_DISK_INFO_0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [length_is(EntriesRead)] [size_is(EntriesRead)] [unique] DISK_INFO_0 *disk; - * IDL } DISK_ENUM_CONTAINER; - */ -static int -srvsvc_dissect_DISK_ENUM_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_DISK_INFO_0_array, NDR_POINTER_UNIQUE, - "DISK_INFO_0 array:", -1); - - return offset; -} - - -/* - * IDL long NetrServerDiskEnum( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] long Level, - * IDL [in] [out] [ref] DISK_ENUM_CONTAINER *disk; - * IDL [in] long maxlen, - * IDL [out] long entries, - * IDL [in] [out] [unique] long *resumehandle, - * IDL ); - */ -static int -srvsvc_dissect_netrserverdiskenum_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_DISK_ENUM_CONTAINER, - NDR_POINTER_REF, "Disks", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_preferred_len, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - return offset; -} -static int -srvsvc_dissect_netrserverdiskenum_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_DISK_ENUM_CONTAINER, - NDR_POINTER_REF, "Disks", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long start; - * IDL long fopens; - * IDL long devopens; - * IDL long jobsqueued; - * IDL long sopens; - * IDL long stimeouts; - * IDL long serrorout; - * IDL long pwerrors; - * IDL long permerrors; - * IDL long syserrors; - * IDL long bytessent_low; - * IDL long bytessent_high; - * IDL long bytesrcvd_low; - * IDL long bytesrcvd_high; - * IDL long avresponse; - * IDL long reqbufneed; - * IDL long bigbufneed; - * IDL } SERVER_STAT; - */ - -static int -srvsvc_dissect_SERVER_STAT(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_start, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_fopens, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_devopens, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_jobsqueued, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_sopens, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_stimeouts, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_serrorout, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_pwerrors, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_permerrors, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_syserrors, NULL); - - offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_bytessent, NULL); - - offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_bytesrcvd, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_avresponse, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_reqbufneed, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_server_stat_bigbufneed, NULL); - - return offset; -} - -/* - * IDL long NetrServerStatisticsGet( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [unique] wchar_t *Service, - * IDL [in] long Level, - * IDL [in] long Options, - * IDL [out] [ref] SERVER_STAT *stat - * IDL ); - */ -static int -srvsvc_dissect_netrserverstatisticsget_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Service", hf_srvsvc_service, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_service_options, 0); - - return offset; -} -static int -srvsvc_dissect_netrserverstatisticsget_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_STAT, - NDR_POINTER_REF, "Stat", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL [size_is(transportaddresslen)] char transportaddress; - * IDL } TRANSPORT_ADDRESS; - */ -static int -srvsvc_dissect_TRANSPORT_ADDRESS(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - dcerpc_info *di; - guint32 len; - di=pinfo->private_data; if(di->conformant_run){ /*just a run to handle conformant arrays, nothing to dissect */ return offset; } - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_transport_address_len, &len); - - proto_tree_add_item(tree, hf_srvsvc_transport_address, tvb, offset, - len, FALSE); + offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, + -1, &len); + dissect_nt_sec_desc(tvb, offset, pinfo, tree, drep, TRUE, len, + NULL); offset += len; - - return offset; -} - -/* - * IDL typedef struct { - * IDL long numberofvcs; - * IDL [string] [unique] transportname; - * IDL [unique] TRANSPORT_ADDRESS *transportaddress; - * IDL long transportaddresslen; - * IDL [string] [unique] wchar_t *networkaddress; - * IDL } TRANSPORT_INFO_0; - */ -static int -srvsvc_dissect_TRANSPORT_INFO_0(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_transport_numberofvcs, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Name", - hf_srvsvc_transport_name, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_TRANSPORT_ADDRESS, - NDR_POINTER_UNIQUE, "Transport Address", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_transport_address_len, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Network Address", - hf_srvsvc_transport_networkaddress, 0); - return offset; } static int -srvsvc_dissect_TRANSPORT_INFO_0_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetShareInfo_info1501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_TRANSPORT_INFO_0); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] TRANSPORT_INFO_0 *trans; - * IDL } SERVER_XPORT_INFO_0_CONTAINER; - */ -static int -srvsvc_dissect_SERVER_XPORT_INFO_0_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_TRANSPORT_INFO_0_array, NDR_POINTER_UNIQUE, - "TRANSPORT_INFO_0 array:", -1); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long numberofvcs; - * IDL [string] [unique] transportname; - * IDL [unique] TRANSPORT_ADDRESS *transportaddress; - * IDL long transportaddresslen; - * IDL [string] [unique] wchar_t *networkaddress; - * IDL } TRANSPORT_INFO_1; - */ -static int -srvsvc_dissect_TRANSPORT_INFO_1(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_transport_numberofvcs, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Name", - hf_srvsvc_transport_name, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_TRANSPORT_ADDRESS, - NDR_POINTER_UNIQUE, "Transport Address", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_transport_address_len, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Network Address", - hf_srvsvc_transport_networkaddress, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Domain", hf_srvsvc_domain, 0); - - return offset; + return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, drep); } static int -srvsvc_dissect_TRANSPORT_INFO_1_array(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetGetFileSecurity_sd_buf_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_TRANSPORT_INFO_1); - - return offset; + return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, drep); } - -/* - * IDL typedef struct { - * IDL long EntriesRead; - * IDL [size_is(EntriesRead)] [unique] TRANSPORT_INFO_1 *trans; - * IDL } SERVER_XPORT_INFO_1_CONTAINER; - */ static int -srvsvc_dissect_SERVER_XPORT_INFO_1_CONTAINER(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetSetFileSecurity_sd_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_TRANSPORT_INFO_1_array, NDR_POINTER_UNIQUE, - "TRANSPORT_INFO_1 array:", -1); - - return offset; + return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, drep); } - - -/* - * IDL typedef [switch_type(long)] union { - * IDL [case(0)] [unique] SERVER_XPORT_INFO_0_CONTAINER *xp0; - * IDL [case(1)] [unique] SERVER_XPORT_INFO_1_CONTAINER *xp1; - * IDL } SERVER_XPORT_ENUM_UNION; - */ static int -srvsvc_dissect_SERVER_XPORT_ENUM_UNION(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetShareCtr1501_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - guint32 level; + return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_element_NetShareInfo502_sd_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_ServerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ +int dissect_smb_server_type_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, gboolean infoflag); + guint32 len; dcerpc_info *di; + di=pinfo->private_data; + if(di->conformant_run){ + /*just a run to handle conformant arrays, nothing to dissect */ + return offset; + } + offset=dissect_smb_server_type_flags(tvb, offset, pinfo, tree, + drep, 0); + return offset; +} +static int +srvsvc_dissect_element_NetSrvInfo101_server_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_ServerType(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_element_NetSrvInfo102_server_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_ServerType(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_secinfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + dcerpc_info *di; + di=pinfo->private_data; + if(di->conformant_run){ + /*just a run to handle conformant arrays, nothing to dissect */ + return offset; + } + offset=dissect_security_information_mask(tvb, tree, offset); + return offset; +} +static int +srvsvc_dissect_element_NetGetFileSecurity_securityinformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_secinfo(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_element_NetSetFileSecurity_securityinformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_secinfo(tvb, offset, pinfo, tree, drep); +} - di = pinfo->private_data; +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *device; */ +/* IDL: } srvsvc_NetCharDevInfo0; */ + +static int +srvsvc_dissect_element_NetCharDevInfo0_device(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevInfo0_device_, NDR_POINTER_UNIQUE, "Pointer to Device (uint16)",hf_srvsvc_srvsvc_NetCharDevInfo0_device); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevInfo0_device_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevInfo0_device, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetCharDevInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; ALIGN_TO_4_BYTES; - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level); + old_offset = offset; - switch(level){ - case 0: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_XPORT_INFO_0_CONTAINER, - NDR_POINTER_UNIQUE, "SERVER_XPORT_INFO_0_CONTAINER:", - -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", TRANSPORT_INFO_0 level"); + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevInfo0); + } + + offset = srvsvc_dissect_element_NetCharDevInfo0_device(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetCharDevInfo0 *array; */ +/* IDL: } srvsvc_NetCharDevCtr0; */ + +static int +srvsvc_dissect_element_NetCharDevCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevCtr0_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevCtr0_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetCharDevInfo0)",hf_srvsvc_srvsvc_NetCharDevCtr0_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevCtr0_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetCharDevInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevCtr0_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetCharDevCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevCtr0); + } + + offset = srvsvc_dissect_element_NetCharDevCtr0_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevCtr0_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *device; */ +/* IDL: [keepref(1)] uint32 status; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *user; */ +/* IDL: [keepref(1)] uint32 time; */ +/* IDL: } srvsvc_NetCharDevInfo1; */ + +static int +srvsvc_dissect_element_NetCharDevInfo1_device(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevInfo1_device_, NDR_POINTER_UNIQUE, "Pointer to Device (uint16)",hf_srvsvc_srvsvc_NetCharDevInfo1_device); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevInfo1_device_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevInfo1_device, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevInfo1_status(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevInfo1_status,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevInfo1_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevInfo1_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetCharDevInfo1_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevInfo1_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevInfo1_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevInfo1_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevInfo1_time,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetCharDevInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevInfo1); + } + + offset = srvsvc_dissect_element_NetCharDevInfo1_device(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevInfo1_status(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevInfo1_user(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevInfo1_time(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetCharDevInfo1 *array; */ +/* IDL: } srvsvc_NetCharDevCtr1; */ + +static int +srvsvc_dissect_element_NetCharDevCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevCtr1_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevCtr1_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetCharDevInfo1)",hf_srvsvc_srvsvc_NetCharDevCtr1_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevCtr1_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetCharDevInfo1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevCtr1_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetCharDevCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevCtr1); + } + + offset = srvsvc_dissect_element_NetCharDevCtr1_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevCtr1_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef union { */ +/* IDL: [case(0)] [keepref(1)] [unique(1)] [case(0)] srvsvc_NetCharDevInfo0 *info0; */ +/* IDL: [case(1)] [keepref(1)] [unique(1)] [case(1)] srvsvc_NetCharDevInfo1 *info1; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetCharDevInfo; */ + +static int +srvsvc_dissect_element_NetCharDevInfo_info0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevInfo_info0_, NDR_POINTER_UNIQUE, "Pointer to Info0 (srvsvc_NetCharDevInfo0)",hf_srvsvc_srvsvc_NetCharDevInfo_info0); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevInfo_info0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetCharDevInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevInfo_info0,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevInfo_info1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevInfo_info1_, NDR_POINTER_UNIQUE, "Pointer to Info1 (srvsvc_NetCharDevInfo1)",hf_srvsvc_srvsvc_NetCharDevInfo_info1); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevInfo_info1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetCharDevInfo1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevInfo_info1,0); + + return offset; +} + +static int +srvsvc_dissect_NetCharDevInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetCharDevInfo"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevInfo); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 0: + offset = srvsvc_dissect_element_NetCharDevInfo_info0(tvb, offset, pinfo, tree, drep); break; - case 1: - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_XPORT_INFO_1_CONTAINER, - NDR_POINTER_UNIQUE, "SERVER_XPORT_INFO_1_CONTAINER:", - -1); - if (check_col(pinfo->cinfo, COL_INFO) && di->ptype == PDU_REQ) - col_append_str(pinfo->cinfo, COL_INFO, ", TRANSPORT_INFO_1 level"); + + case 1: + offset = srvsvc_dissect_element_NetCharDevInfo_info1(tvb, offset, pinfo, tree, drep); + break; + + default: break; } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef union { */ +/* IDL: [case(0)] [keepref(1)] [unique(1)] [case(0)] srvsvc_NetCharDevCtr0 *ctr0; */ +/* IDL: [case(1)] [keepref(1)] [unique(1)] [case(1)] srvsvc_NetCharDevCtr1 *ctr1; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetCharDevCtr; */ + +static int +srvsvc_dissect_element_NetCharDevCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevCtr_ctr0_, NDR_POINTER_UNIQUE, "Pointer to Ctr0 (srvsvc_NetCharDevCtr0)",hf_srvsvc_srvsvc_NetCharDevCtr_ctr0); return offset; } -/* - * IDL typedef struct { - * IDL long Level; - * IDL SERVER_XPORT_ENUM_UNION xport; - * IDL } SERVER_XPORT_ENUM_STRUCT; - */ static int -srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = srvsvc_dissect_SERVER_XPORT_ENUM_UNION(tvb, offset, - pinfo, tree, drep); + offset = srvsvc_dissect_struct_NetCharDevCtr0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevCtr_ctr0,0); return offset; } - -/* - * IDL long NetrServerTransportAdd( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] long Level, - * IDL [in] [ref] TRANSPORT_INFO_0 *trans; - * IDL ); - */ static int -srvsvc_dissect_netrservertransportadd_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_TRANSPORT_INFO_0, - NDR_POINTER_REF, "Transports", -1); - - return offset; -} -static int -srvsvc_dissect_netrservertransportadd_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevCtr_ctr1_, NDR_POINTER_UNIQUE, "Pointer to Ctr1 (srvsvc_NetCharDevCtr1)",hf_srvsvc_srvsvc_NetCharDevCtr_ctr1); return offset; } -/* - * IDL long NetrServerTransportEnum( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [out] [ref] SERVER_XPORT_ENUM_STRUCT *xport; - * IDL [in] long MaxLen, - * IDL [out] long entries, - * IDL [in] [out] [unique] long *resumehandle; - * IDL ); - */ static int -srvsvc_dissect_netrservertransportenum_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT, - NDR_POINTER_REF, "Transports", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_preferred_len, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - return offset; -} -static int -srvsvc_dissect_netrservertransportenum_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT, - NDR_POINTER_REF, "Transports", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); + offset = srvsvc_dissect_struct_NetCharDevCtr1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevCtr_ctr1,0); return offset; } - -/* - * IDL long NetrServerTransportDel( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] long Level, - * IDL [in] [ref] TRANSPORT_INFO_0 *trans; - * IDL ); - */ static int -srvsvc_dissect_netrservertransportdel_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_NetCharDevCtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) { - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); + ALIGN_TO_4_BYTES; - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_TRANSPORT_INFO_0, - NDR_POINTER_REF, "Transports", -1); - - return offset; -} -static int -srvsvc_dissect_netrservertransportdel_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL typedef struct { - * IDL long elapsed; - * IDL long msecs; - * IDL long hours; - * IDL long mins; - * IDL long secs; - * IDL long hunds; - * IDL long timezone; - * IDL long tinterval; - * IDL long day; - * IDL long month; - * IDL long year; - * IDL long weekday; - * IDL } TIMEOFDAY; - */ -static int -srvsvc_dissect_TIMEOFDAY(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - /* - * XXX - is "hf_srvsvc_tod_elapsed" something that should be - * processed by "add_abstime_absent_unknown()" from - * "packet-smb-pipe.c"? This structure looks similar - * to the result of a NetRemoteTOD RAP call, and that has - * a "current time" field that's processed by - * "add_abstime_absent_unknown()". - * - * Should other fields, such as the time zone offset and - * the time interval, be processed as they are for - * "lm_data_resp_netremotetod_nolevel" as well? - */ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_elapsed, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_msecs, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_hours, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_mins, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_secs, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_hunds, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_timezone, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_tinterval, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_day, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_month, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_year, NULL); - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_tod_weekday, NULL); - - return offset; -} - -/* - * IDL long NetrRemoteTOD( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [out] [unique] TIMEOFDAY *t - * IDL ); - */ -static int -srvsvc_dissect_netrremotetod_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - return offset; -} -static int -srvsvc_dissect_netrremotetod_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_TIMEOFDAY, - NDR_POINTER_UNIQUE, "Time of day", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrSetServerServiceBits( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [unique] wchar_t *Transport, - * IDL [in] long ServiceBits; - * IDL [in] long UpdateImmediately; - * IDL ); - */ -static int -srvsvc_dissect_netrsetserverservicebits_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Transport", hf_srvsvc_transport, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_service_bits, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_update_immediately, NULL); - - return offset; -} -static int -srvsvc_dissect_netrsetserverservicebits_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrPathType( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *PathName, - * IDL [in] long PathFlags; - * IDL [out] long PathType; - * IDL ); - */ -static int -srvsvc_dissect_netrpathtype_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Path", hf_srvsvc_path, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_flags, NULL); - - return offset; -} -static int -srvsvc_dissect_netrpathtype_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_type, NULL); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrPathCanonicalize( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *PathName, - * IDL [in] long OutBufLen; - * IDL [in] [string] [ref] wchar_t *Prefix, - * IDL [in] [out] [ref] long *PathType; - * IDL [in] long PathFlags; - * IDL ); - */ -static int -srvsvc_dissect_netrpathcanonicalize_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Path", hf_srvsvc_path, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_outbuflen, NULL); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Prefix", hf_srvsvc_prefix, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_type, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_flags, NULL); - - return offset; -} -static int -srvsvc_dissect_netrpathcanonicalize_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 len; - dcerpc_info *di; - - di=pinfo->private_data; - if(di->conformant_run){ - /* this call is to make wireshark eat the array header for the conformant run */ - offset =dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, NULL); - - return offset; + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetCharDevCtr"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevCtr); } - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_len, &len); - offset = dissect_ndr_uint16s( - tvb, offset, pinfo, tree, drep, hf_srvsvc_path, len); + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 0: + offset = srvsvc_dissect_element_NetCharDevCtr_ctr0(tvb, offset, pinfo, tree, drep); + break; - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_type, NULL); + case 1: + offset = srvsvc_dissect_element_NetCharDevCtr_ctr1(tvb, offset, pinfo, tree, drep); + break; - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - -/* - * IDL long NetrPathCompare( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *PathName1, - * IDL [in] [string] [ref] wchar_t *PathName2, - * IDL [in] long PathType; - * IDL [in] long PathFlags; - * IDL ); - */ -static int -srvsvc_dissect_netrpathcompare_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Path 1", hf_srvsvc_path, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Path 2", hf_srvsvc_path, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_type, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_flags, NULL); - - return offset; -} -static int -srvsvc_dissect_netrpathcompare_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - - -/* - * IDL long NetrNameValidate( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *PathName, - * IDL [in] long PathType; - * IDL [in] long PathFlags; - * IDL ); - */ -static int -srvsvc_dissect_netrnamevalidate_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Path", hf_srvsvc_path, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_type, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_flags, NULL); - - return offset; -} -static int -srvsvc_dissect_netrnamevalidate_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); - - return offset; -} - -/* - * IDL long NetrNameCanonicalize( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *PathName, - * IDL [in] long OutBufLen, - * IDL [in] long PathType, - * IDL [in] long PathFlags, - * IDL [out] [ref] *PathName - * IDL ); - */ -static int -srvsvc_dissect_netrnamecanonicalize_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Path", hf_srvsvc_path, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_outbuflen, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_type, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_flags, NULL); - - return offset; -} -static int -srvsvc_dissect_netrnamecanonicalize_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) -{ - guint32 len; - dcerpc_info *di; - - di=pinfo->private_data; - if(di->conformant_run){ - /* this call is to make wireshark eat the array header for the conformant run */ - offset =dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, NULL); - - return offset; + default: + break; } - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_len, &len); + proto_item_set_len(item, offset-old_offset); - offset = dissect_ndr_uint16s( - tvb, offset, pinfo, tree, drep, hf_srvsvc_path, len); + return offset; +} +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *device; */ +/* IDL: } srvsvc_NetCharDevQInfo0; */ - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); +static int +srvsvc_dissect_element_NetCharDevQInfo0_device(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQInfo0_device_, NDR_POINTER_UNIQUE, "Pointer to Device (uint16)",hf_srvsvc_srvsvc_NetCharDevQInfo0_device); return offset; } - -/* - * IDL long NetrNameCompare( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *PathName1, - * IDL [in] [string] [ref] wchar_t *PathName2, - * IDL [in] long PathType; - * IDL [in] long PathFlags; - * IDL ); - */ static int -srvsvc_dissect_netrnamecompare_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevQInfo0_device_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); + char *data; - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Path 1", hf_srvsvc_path, 0); + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQInfo0_device, FALSE, &data); + proto_item_append_text(tree, ": %s", data); - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Path 2", hf_srvsvc_path, 0); + return offset; +} - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_type, NULL); +int +srvsvc_dissect_struct_NetCharDevQInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_path_flags, NULL); + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevQInfo0); + } + + offset = srvsvc_dissect_element_NetCharDevQInfo0_device(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetCharDevQInfo0 *array; */ +/* IDL: } srvsvc_NetCharDevQCtr0; */ + +static int +srvsvc_dissect_element_NetCharDevQCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQCtr0_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQCtr0_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetCharDevQInfo0)",hf_srvsvc_srvsvc_NetCharDevQCtr0_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQCtr0_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetCharDevQInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevQCtr0_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetCharDevQCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevQCtr0); + } + + offset = srvsvc_dissect_element_NetCharDevQCtr0_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevQCtr0_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *device; */ +/* IDL: [keepref(1)] uint32 priority; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *devices; */ +/* IDL: [keepref(1)] uint32 users; */ +/* IDL: [keepref(1)] uint32 num_ahead; */ +/* IDL: } srvsvc_NetCharDevQInfo1; */ + +static int +srvsvc_dissect_element_NetCharDevQInfo1_device(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQInfo1_device_, NDR_POINTER_UNIQUE, "Pointer to Device (uint16)",hf_srvsvc_srvsvc_NetCharDevQInfo1_device); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQInfo1_device_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQInfo1_device, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQInfo1_priority(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQInfo1_priority,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQInfo1_devices(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQInfo1_devices_, NDR_POINTER_UNIQUE, "Pointer to Devices (uint16)",hf_srvsvc_srvsvc_NetCharDevQInfo1_devices); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQInfo1_devices_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQInfo1_devices, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQInfo1_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQInfo1_users,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQInfo1_num_ahead(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQInfo1_num_ahead,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetCharDevQInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevQInfo1); + } + + offset = srvsvc_dissect_element_NetCharDevQInfo1_device(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevQInfo1_priority(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevQInfo1_devices(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevQInfo1_users(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevQInfo1_num_ahead(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetCharDevQInfo1 *array; */ +/* IDL: } srvsvc_NetCharDevQCtr1; */ + +static int +srvsvc_dissect_element_NetCharDevQCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQCtr1_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQCtr1_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetCharDevQInfo1)",hf_srvsvc_srvsvc_NetCharDevQCtr1_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQCtr1_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetCharDevQInfo1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevQCtr1_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetCharDevQCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevQCtr1); + } + + offset = srvsvc_dissect_element_NetCharDevQCtr1_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetCharDevQCtr1_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef union { */ +/* IDL: [case(0)] [keepref(1)] [unique(1)] [case(0)] srvsvc_NetCharDevQInfo0 *info0; */ +/* IDL: [case(1)] [keepref(1)] [unique(1)] [case(1)] srvsvc_NetCharDevQInfo1 *info1; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetCharDevQInfo; */ + +static int +srvsvc_dissect_element_NetCharDevQInfo_info0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQInfo_info0_, NDR_POINTER_UNIQUE, "Pointer to Info0 (srvsvc_NetCharDevQInfo0)",hf_srvsvc_srvsvc_NetCharDevQInfo_info0); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQInfo_info0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetCharDevQInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevQInfo_info0,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQInfo_info1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQInfo_info1_, NDR_POINTER_UNIQUE, "Pointer to Info1 (srvsvc_NetCharDevQInfo1)",hf_srvsvc_srvsvc_NetCharDevQInfo_info1); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQInfo_info1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetCharDevQInfo1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevQInfo_info1,0); + + return offset; +} + +static int +srvsvc_dissect_NetCharDevQInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetCharDevQInfo"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevQInfo); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 0: + offset = srvsvc_dissect_element_NetCharDevQInfo_info0(tvb, offset, pinfo, tree, drep); + break; + + case 1: + offset = srvsvc_dissect_element_NetCharDevQInfo_info1(tvb, offset, pinfo, tree, drep); + break; + + default: + break; + } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef union { */ +/* IDL: [case(0)] [keepref(1)] [unique(1)] [case(0)] srvsvc_NetCharDevQCtr0 *ctr0; */ +/* IDL: [case(1)] [keepref(1)] [unique(1)] [case(1)] srvsvc_NetCharDevQCtr1 *ctr1; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetCharDevQCtr; */ + +static int +srvsvc_dissect_element_NetCharDevQCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQCtr_ctr0_, NDR_POINTER_UNIQUE, "Pointer to Ctr0 (srvsvc_NetCharDevQCtr0)",hf_srvsvc_srvsvc_NetCharDevQCtr_ctr0); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetCharDevQCtr0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevQCtr_ctr0,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQCtr_ctr1_, NDR_POINTER_UNIQUE, "Pointer to Ctr1 (srvsvc_NetCharDevQCtr1)",hf_srvsvc_srvsvc_NetCharDevQCtr_ctr1); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetCharDevQCtr1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevQCtr_ctr1,0); + + return offset; +} + +static int +srvsvc_dissect_NetCharDevQCtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetCharDevQCtr"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevQCtr); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 0: + offset = srvsvc_dissect_element_NetCharDevQCtr_ctr0(tvb, offset, pinfo, tree, drep); + break; + + case 1: + offset = srvsvc_dissect_element_NetCharDevQCtr_ctr1(tvb, offset, pinfo, tree, drep); + break; + + default: + break; + } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 conn_id; */ +/* IDL: } srvsvc_NetConnInfo0; */ + +static int +srvsvc_dissect_element_NetConnInfo0_conn_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnInfo0_conn_id,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetConnInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetConnInfo0); + } + + offset = srvsvc_dissect_element_NetConnInfo0_conn_id(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetConnInfo0 *array; */ +/* IDL: } srvsvc_NetConnCtr0; */ + +static int +srvsvc_dissect_element_NetConnCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnCtr0_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnCtr0_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetConnInfo0)",hf_srvsvc_srvsvc_NetConnCtr0_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnCtr0_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetConnInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetConnCtr0_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetConnCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetConnCtr0); + } + + offset = srvsvc_dissect_element_NetConnCtr0_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetConnCtr0_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 conn_id; */ +/* IDL: [keepref(1)] uint32 conn_type; */ +/* IDL: [keepref(1)] uint32 num_open; */ +/* IDL: [keepref(1)] uint32 num_users; */ +/* IDL: [keepref(1)] uint32 conn_time; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *user; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *share; */ +/* IDL: } srvsvc_NetConnInfo1; */ + +static int +srvsvc_dissect_element_NetConnInfo1_conn_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnInfo1_conn_id,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnInfo1_conn_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnInfo1_conn_type,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnInfo1_num_open(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnInfo1_num_open,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnInfo1_num_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnInfo1_num_users,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnInfo1_conn_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnInfo1_conn_time,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnInfo1_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnInfo1_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetConnInfo1_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnInfo1_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetConnInfo1_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnInfo1_share(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnInfo1_share_, NDR_POINTER_UNIQUE, "Pointer to Share (uint16)",hf_srvsvc_srvsvc_NetConnInfo1_share); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnInfo1_share_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetConnInfo1_share, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetConnInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetConnInfo1); + } + + offset = srvsvc_dissect_element_NetConnInfo1_conn_id(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetConnInfo1_conn_type(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetConnInfo1_num_open(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetConnInfo1_num_users(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetConnInfo1_conn_time(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetConnInfo1_user(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetConnInfo1_share(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetConnInfo1 *array; */ +/* IDL: } srvsvc_NetConnCtr1; */ + +static int +srvsvc_dissect_element_NetConnCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnCtr1_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnCtr1_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetConnInfo1)",hf_srvsvc_srvsvc_NetConnCtr1_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnCtr1_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetConnInfo1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetConnCtr1_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetConnCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetConnCtr1); + } + + offset = srvsvc_dissect_element_NetConnCtr1_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetConnCtr1_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef union { */ +/* IDL: [case(0)] [keepref(1)] [unique(1)] [case(0)] srvsvc_NetConnCtr0 *ctr0; */ +/* IDL: [case(1)] [keepref(1)] [unique(1)] [case(1)] srvsvc_NetConnCtr1 *ctr1; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetConnCtr; */ + +static int +srvsvc_dissect_element_NetConnCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnCtr_ctr0_, NDR_POINTER_UNIQUE, "Pointer to Ctr0 (srvsvc_NetConnCtr0)",hf_srvsvc_srvsvc_NetConnCtr_ctr0); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetConnCtr0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetConnCtr_ctr0,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnCtr_ctr1_, NDR_POINTER_UNIQUE, "Pointer to Ctr1 (srvsvc_NetConnCtr1)",hf_srvsvc_srvsvc_NetConnCtr_ctr1); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetConnCtr1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetConnCtr_ctr1,0); + + return offset; +} + +static int +srvsvc_dissect_NetConnCtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetConnCtr"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetConnCtr); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 0: + offset = srvsvc_dissect_element_NetConnCtr_ctr0(tvb, offset, pinfo, tree, drep); + break; + + case 1: + offset = srvsvc_dissect_element_NetConnCtr_ctr1(tvb, offset, pinfo, tree, drep); + break; + + default: + break; + } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 fid; */ +/* IDL: } srvsvc_NetFileInfo2; */ + +static int +srvsvc_dissect_element_NetFileInfo2_fid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileInfo2_fid,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetFileInfo2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetFileInfo2); + } + + offset = srvsvc_dissect_element_NetFileInfo2_fid(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetFileInfo2 *array; */ +/* IDL: } srvsvc_NetFileCtr2; */ + +static int +srvsvc_dissect_element_NetFileCtr2_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileCtr2_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileCtr2_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileCtr2_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetFileInfo2)",hf_srvsvc_srvsvc_NetFileCtr2_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileCtr2_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileCtr2_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileCtr2_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetFileInfo2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetFileCtr2_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetFileCtr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetFileCtr2); + } + + offset = srvsvc_dissect_element_NetFileCtr2_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetFileCtr2_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 fid; */ +/* IDL: [keepref(1)] uint32 permissions; */ +/* IDL: [keepref(1)] uint32 num_locks; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *path; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *user; */ +/* IDL: } srvsvc_NetFileInfo3; */ + +static int +srvsvc_dissect_element_NetFileInfo3_fid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileInfo3_fid,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileInfo3_permissions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileInfo3_permissions,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileInfo3_num_locks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileInfo3_num_locks,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileInfo3_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileInfo3_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_srvsvc_srvsvc_NetFileInfo3_path); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileInfo3_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetFileInfo3_path, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileInfo3_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileInfo3_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetFileInfo3_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileInfo3_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetFileInfo3_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetFileInfo3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetFileInfo3); + } + + offset = srvsvc_dissect_element_NetFileInfo3_fid(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetFileInfo3_permissions(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetFileInfo3_num_locks(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetFileInfo3_path(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetFileInfo3_user(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetFileInfo3 *array; */ +/* IDL: } srvsvc_NetFileCtr3; */ + +static int +srvsvc_dissect_element_NetFileCtr3_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileCtr3_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileCtr3_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileCtr3_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetFileInfo3)",hf_srvsvc_srvsvc_NetFileCtr3_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileCtr3_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileCtr3_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileCtr3_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetFileInfo3(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetFileCtr3_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetFileCtr3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetFileCtr3); + } + + offset = srvsvc_dissect_element_NetFileCtr3_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetFileCtr3_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef union { */ +/* IDL: [case(2)] [keepref(1)] [unique(1)] [case(2)] srvsvc_NetFileInfo2 *info2; */ +/* IDL: [case(3)] [keepref(1)] [unique(1)] [case(3)] srvsvc_NetFileInfo3 *info3; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetFileInfo; */ + +static int +srvsvc_dissect_element_NetFileInfo_info2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileInfo_info2_, NDR_POINTER_UNIQUE, "Pointer to Info2 (srvsvc_NetFileInfo2)",hf_srvsvc_srvsvc_NetFileInfo_info2); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileInfo_info2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetFileInfo2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetFileInfo_info2,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileInfo_info3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileInfo_info3_, NDR_POINTER_UNIQUE, "Pointer to Info3 (srvsvc_NetFileInfo3)",hf_srvsvc_srvsvc_NetFileInfo_info3); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileInfo_info3_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetFileInfo3(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetFileInfo_info3,0); + + return offset; +} + +static int +srvsvc_dissect_NetFileInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetFileInfo"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetFileInfo); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 2: + offset = srvsvc_dissect_element_NetFileInfo_info2(tvb, offset, pinfo, tree, drep); + break; + + case 3: + offset = srvsvc_dissect_element_NetFileInfo_info3(tvb, offset, pinfo, tree, drep); + break; + + default: + break; + } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef union { */ +/* IDL: [case(2)] [keepref(1)] [unique(1)] [case(2)] srvsvc_NetFileCtr2 *ctr2; */ +/* IDL: [case(3)] [keepref(1)] [unique(1)] [case(3)] srvsvc_NetFileCtr3 *ctr3; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetFileCtr; */ + +static int +srvsvc_dissect_element_NetFileCtr_ctr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileCtr_ctr2_, NDR_POINTER_UNIQUE, "Pointer to Ctr2 (srvsvc_NetFileCtr2)",hf_srvsvc_srvsvc_NetFileCtr_ctr2); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileCtr_ctr2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetFileCtr2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetFileCtr_ctr2,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileCtr_ctr3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileCtr_ctr3_, NDR_POINTER_UNIQUE, "Pointer to Ctr3 (srvsvc_NetFileCtr3)",hf_srvsvc_srvsvc_NetFileCtr_ctr3); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileCtr_ctr3_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetFileCtr3(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetFileCtr_ctr3,0); + + return offset; +} + +static int +srvsvc_dissect_NetFileCtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetFileCtr"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetFileCtr); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 2: + offset = srvsvc_dissect_element_NetFileCtr_ctr2(tvb, offset, pinfo, tree, drep); + break; + + case 3: + offset = srvsvc_dissect_element_NetFileCtr_ctr3(tvb, offset, pinfo, tree, drep); + break; + + default: + break; + } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *client; */ +/* IDL: } srvsvc_NetSessInfo0; */ + +static int +srvsvc_dissect_element_NetSessInfo0_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo0_client_, NDR_POINTER_UNIQUE, "Pointer to Client (uint16)",hf_srvsvc_srvsvc_NetSessInfo0_client); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo0_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo0_client, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetSessInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessInfo0); + } + + offset = srvsvc_dissect_element_NetSessInfo0_client(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetSessInfo0 *array; */ +/* IDL: } srvsvc_NetSessCtr0; */ + +static int +srvsvc_dissect_element_NetSessCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessCtr0_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr0_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetSessInfo0)",hf_srvsvc_srvsvc_NetSessCtr0_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr0_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSessInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSessCtr0_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetSessCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessCtr0); + } + + offset = srvsvc_dissect_element_NetSessCtr0_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessCtr0_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *client; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *user; */ +/* IDL: [keepref(1)] uint32 num_open; */ +/* IDL: [keepref(1)] uint32 time; */ +/* IDL: [keepref(1)] uint32 idle_time; */ +/* IDL: [keepref(1)] uint32 user_flags; */ +/* IDL: } srvsvc_NetSessInfo1; */ + +static int +srvsvc_dissect_element_NetSessInfo1_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo1_client_, NDR_POINTER_UNIQUE, "Pointer to Client (uint16)",hf_srvsvc_srvsvc_NetSessInfo1_client); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo1_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo1_client, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo1_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo1_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetSessInfo1_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo1_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo1_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo1_num_open(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo1_num_open,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo1_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo1_time,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo1_idle_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo1_idle_time,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo1_user_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo1_user_flags,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSessInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessInfo1); + } + + offset = srvsvc_dissect_element_NetSessInfo1_client(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo1_user(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo1_num_open(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo1_time(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo1_idle_time(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo1_user_flags(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetSessInfo1 *array; */ +/* IDL: } srvsvc_NetSessCtr1; */ + +static int +srvsvc_dissect_element_NetSessCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessCtr1_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr1_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetSessInfo1)",hf_srvsvc_srvsvc_NetSessCtr1_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr1_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSessInfo1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSessCtr1_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetSessCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessCtr1); + } + + offset = srvsvc_dissect_element_NetSessCtr1_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessCtr1_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *client; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *user; */ +/* IDL: [keepref(1)] uint32 num_open; */ +/* IDL: [keepref(1)] uint32 time; */ +/* IDL: [keepref(1)] uint32 idle_time; */ +/* IDL: [keepref(1)] uint32 user_flags; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *client_type; */ +/* IDL: } srvsvc_NetSessInfo2; */ + +static int +srvsvc_dissect_element_NetSessInfo2_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo2_client_, NDR_POINTER_UNIQUE, "Pointer to Client (uint16)",hf_srvsvc_srvsvc_NetSessInfo2_client); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo2_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo2_client, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo2_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo2_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetSessInfo2_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo2_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo2_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo2_num_open(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo2_num_open,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo2_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo2_time,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo2_idle_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo2_idle_time,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo2_user_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo2_user_flags,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo2_client_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo2_client_type_, NDR_POINTER_UNIQUE, "Pointer to Client Type (uint16)",hf_srvsvc_srvsvc_NetSessInfo2_client_type); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo2_client_type_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo2_client_type, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetSessInfo2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessInfo2); + } + + offset = srvsvc_dissect_element_NetSessInfo2_client(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo2_user(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo2_num_open(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo2_time(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo2_idle_time(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo2_user_flags(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo2_client_type(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetSessInfo2 *array; */ +/* IDL: } srvsvc_NetSessCtr2; */ + +static int +srvsvc_dissect_element_NetSessCtr2_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessCtr2_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr2_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr2_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetSessInfo2)",hf_srvsvc_srvsvc_NetSessCtr2_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr2_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr2_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr2_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSessInfo2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSessCtr2_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetSessCtr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessCtr2); + } + + offset = srvsvc_dissect_element_NetSessCtr2_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessCtr2_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *client; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *user; */ +/* IDL: [keepref(1)] uint32 time; */ +/* IDL: [keepref(1)] uint32 idle_time; */ +/* IDL: } srvsvc_NetSessInfo10; */ + +static int +srvsvc_dissect_element_NetSessInfo10_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo10_client_, NDR_POINTER_UNIQUE, "Pointer to Client (uint16)",hf_srvsvc_srvsvc_NetSessInfo10_client); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo10_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo10_client, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo10_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo10_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetSessInfo10_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo10_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo10_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo10_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo10_time,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo10_idle_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo10_idle_time,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSessInfo10(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessInfo10); + } + + offset = srvsvc_dissect_element_NetSessInfo10_client(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo10_user(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo10_time(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo10_idle_time(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetSessInfo10 *array; */ +/* IDL: } srvsvc_NetSessCtr10; */ + +static int +srvsvc_dissect_element_NetSessCtr10_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessCtr10_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr10_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr10_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetSessInfo10)",hf_srvsvc_srvsvc_NetSessCtr10_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr10_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr10_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr10_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSessInfo10(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSessCtr10_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetSessCtr10(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessCtr10); + } + + offset = srvsvc_dissect_element_NetSessCtr10_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessCtr10_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *client; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *user; */ +/* IDL: [keepref(1)] uint32 num_open; */ +/* IDL: [keepref(1)] uint32 time; */ +/* IDL: [keepref(1)] uint32 idle_time; */ +/* IDL: [keepref(1)] uint32 user_flags; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *client_type; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *transport; */ +/* IDL: } srvsvc_NetSessInfo502; */ + +static int +srvsvc_dissect_element_NetSessInfo502_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo502_client_, NDR_POINTER_UNIQUE, "Pointer to Client (uint16)",hf_srvsvc_srvsvc_NetSessInfo502_client); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo502_client, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo502_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetSessInfo502_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo502_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_num_open(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo502_num_open,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo502_time,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_idle_time(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo502_idle_time,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_user_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo502_user_flags,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_client_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo502_client_type_, NDR_POINTER_UNIQUE, "Pointer to Client Type (uint16)",hf_srvsvc_srvsvc_NetSessInfo502_client_type); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_client_type_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo502_client_type, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_transport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessInfo502_transport_, NDR_POINTER_UNIQUE, "Pointer to Transport (uint16)",hf_srvsvc_srvsvc_NetSessInfo502_transport); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessInfo502_transport_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessInfo502_transport, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetSessInfo502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessInfo502); + } + + offset = srvsvc_dissect_element_NetSessInfo502_client(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo502_user(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo502_num_open(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo502_time(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo502_idle_time(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo502_user_flags(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo502_client_type(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessInfo502_transport(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetSessInfo502 *array; */ +/* IDL: } srvsvc_NetSessCtr502; */ + +static int +srvsvc_dissect_element_NetSessCtr502_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessCtr502_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr502_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr502_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetSessInfo502)",hf_srvsvc_srvsvc_NetSessCtr502_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr502_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr502_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr502_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSessInfo502(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSessCtr502_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetSessCtr502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessCtr502); + } + + offset = srvsvc_dissect_element_NetSessCtr502_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSessCtr502_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef union { */ +/* IDL: [case(0)] [keepref(1)] [unique(1)] [case(0)] srvsvc_NetSessCtr0 *ctr0; */ +/* IDL: [case(1)] [keepref(1)] [unique(1)] [case(1)] srvsvc_NetSessCtr1 *ctr1; */ +/* IDL: [case(2)] [keepref(1)] [unique(1)] [case(2)] srvsvc_NetSessCtr2 *ctr2; */ +/* IDL: [case(10)] [keepref(1)] [unique(1)] [case(10)] srvsvc_NetSessCtr10 *ctr10; */ +/* IDL: [case(502)] [keepref(1)] [unique(1)] [case(502)] srvsvc_NetSessCtr502 *ctr502; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetSessCtr; */ + +static int +srvsvc_dissect_element_NetSessCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr_ctr0_, NDR_POINTER_UNIQUE, "Pointer to Ctr0 (srvsvc_NetSessCtr0)",hf_srvsvc_srvsvc_NetSessCtr_ctr0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSessCtr0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSessCtr_ctr0,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr_ctr1_, NDR_POINTER_UNIQUE, "Pointer to Ctr1 (srvsvc_NetSessCtr1)",hf_srvsvc_srvsvc_NetSessCtr_ctr1); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSessCtr1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSessCtr_ctr1,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr_ctr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr_ctr2_, NDR_POINTER_UNIQUE, "Pointer to Ctr2 (srvsvc_NetSessCtr2)",hf_srvsvc_srvsvc_NetSessCtr_ctr2); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr_ctr2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSessCtr2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSessCtr_ctr2,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr_ctr10(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr_ctr10_, NDR_POINTER_UNIQUE, "Pointer to Ctr10 (srvsvc_NetSessCtr10)",hf_srvsvc_srvsvc_NetSessCtr_ctr10); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr_ctr10_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSessCtr10(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSessCtr_ctr10,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr_ctr502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessCtr_ctr502_, NDR_POINTER_UNIQUE, "Pointer to Ctr502 (srvsvc_NetSessCtr502)",hf_srvsvc_srvsvc_NetSessCtr_ctr502); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessCtr_ctr502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSessCtr502(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSessCtr_ctr502,0); + + return offset; +} + +static int +srvsvc_dissect_NetSessCtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetSessCtr"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSessCtr); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 0: + offset = srvsvc_dissect_element_NetSessCtr_ctr0(tvb, offset, pinfo, tree, drep); + break; + + case 1: + offset = srvsvc_dissect_element_NetSessCtr_ctr1(tvb, offset, pinfo, tree, drep); + break; + + case 2: + offset = srvsvc_dissect_element_NetSessCtr_ctr2(tvb, offset, pinfo, tree, drep); + break; + + case 10: + offset = srvsvc_dissect_element_NetSessCtr_ctr10(tvb, offset, pinfo, tree, drep); + break; + + case 502: + offset = srvsvc_dissect_element_NetSessCtr_ctr502(tvb, offset, pinfo, tree, drep); + break; + + default: + break; + } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef enum { */ +/* IDL: STYPE_DISKTREE=0, */ +/* IDL: STYPE_DISKTREE_TEMPORARY=STYPE_DISKTREE|STYPE_TEMPORARY, */ +/* IDL: STYPE_DISKTREE_HIDDEN=STYPE_DISKTREE|STYPE_HIDDEN, */ +/* IDL: STYPE_PRINTQ=1, */ +/* IDL: STYPE_PRINTQ_TEMPORARY=STYPE_PRINTQ|STYPE_TEMPORARY, */ +/* IDL: STYPE_PRINTQ_HIDDEN=STYPE_PRINTQ|STYPE_HIDDEN, */ +/* IDL: STYPE_DEVICE=2, */ +/* IDL: STYPE_DEVICE_TEMPORARY=STYPE_DEVICE|STYPE_TEMPORARY, */ +/* IDL: STYPE_DEVICE_HIDDEN=STYPE_DEVICE|STYPE_HIDDEN, */ +/* IDL: STYPE_IPC=3, */ +/* IDL: STYPE_IPC_TEMPORARY=STYPE_IPC|STYPE_TEMPORARY, */ +/* IDL: STYPE_IPC_HIDDEN=STYPE_IPC|STYPE_HIDDEN, */ +/* IDL: } srvsvc_ShareType; */ + +int +srvsvc_dissect_enum_ShareType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, NULL); + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *name; */ +/* IDL: } srvsvc_NetShareInfo0; */ + +static int +srvsvc_dissect_element_NetShareInfo0_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo0_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_srvsvc_srvsvc_NetShareInfo0_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo0_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo0_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareInfo0); + } + + offset = srvsvc_dissect_element_NetShareInfo0_name(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetShareInfo0 *array; */ +/* IDL: } srvsvc_NetShareCtr0; */ + +static int +srvsvc_dissect_element_NetShareCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCtr0_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr0_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetShareInfo0)",hf_srvsvc_srvsvc_NetShareCtr0_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr0_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr0_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr0); + } + + offset = srvsvc_dissect_element_NetShareCtr0_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareCtr0_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *name; */ +/* IDL: [keepref(1)] srvsvc_ShareType type; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *comment; */ +/* IDL: } srvsvc_NetShareInfo1; */ + +static int +srvsvc_dissect_element_NetShareInfo1_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo1_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_srvsvc_srvsvc_NetShareInfo1_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo1_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo1_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo1_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_enum_ShareType(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo1_type, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo1_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo1_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_srvsvc_srvsvc_NetShareInfo1_comment); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo1_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo1_comment, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareInfo1); + } + + offset = srvsvc_dissect_element_NetShareInfo1_name(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo1_type(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo1_comment(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetShareInfo1 *array; */ +/* IDL: } srvsvc_NetShareCtr1; */ + +static int +srvsvc_dissect_element_NetShareCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCtr1_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetShareInfo1)",hf_srvsvc_srvsvc_NetShareCtr1_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr1_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr1); + } + + offset = srvsvc_dissect_element_NetShareCtr1_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareCtr1_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *name; */ +/* IDL: [keepref(1)] srvsvc_ShareType type; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *comment; */ +/* IDL: [keepref(1)] uint32 permissions; */ +/* IDL: [keepref(1)] uint32 max_users; */ +/* IDL: [keepref(1)] uint32 current_users; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *path; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *password; */ +/* IDL: } srvsvc_NetShareInfo2; */ + +static int +srvsvc_dissect_element_NetShareInfo2_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo2_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_srvsvc_srvsvc_NetShareInfo2_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo2_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_enum_ShareType(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo2_type, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo2_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_srvsvc_srvsvc_NetShareInfo2_comment); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo2_comment, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_permissions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo2_permissions,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_max_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo2_max_users,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_current_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo2_current_users,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo2_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_srvsvc_srvsvc_NetShareInfo2_path); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo2_path, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo2_password_, NDR_POINTER_UNIQUE, "Pointer to Password (uint16)",hf_srvsvc_srvsvc_NetShareInfo2_password); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo2_password_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo2_password, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareInfo2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareInfo2); + } + + offset = srvsvc_dissect_element_NetShareInfo2_name(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo2_type(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo2_comment(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo2_permissions(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo2_max_users(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo2_current_users(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo2_path(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo2_password(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetShareInfo2 *array; */ +/* IDL: } srvsvc_NetShareCtr2; */ + +static int +srvsvc_dissect_element_NetShareCtr2_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCtr2_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr2_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr2_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetShareInfo2)",hf_srvsvc_srvsvc_NetShareCtr2_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr2_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr2_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr2_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr2_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareCtr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr2); + } + + offset = srvsvc_dissect_element_NetShareCtr2_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareCtr2_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *name; */ +/* IDL: [keepref(1)] srvsvc_ShareType type; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *comment; */ +/* IDL: [keepref(1)] uint32 csc_policy; */ +/* IDL: } srvsvc_NetShareInfo501; */ + +static int +srvsvc_dissect_element_NetShareInfo501_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo501_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_srvsvc_srvsvc_NetShareInfo501_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo501_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo501_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo501_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_enum_ShareType(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo501_type, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo501_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo501_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_srvsvc_srvsvc_NetShareInfo501_comment); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo501_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo501_comment, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo501_csc_policy(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo501_csc_policy,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareInfo501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareInfo501); + } + + offset = srvsvc_dissect_element_NetShareInfo501_name(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo501_type(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo501_comment(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo501_csc_policy(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetShareInfo501 *array; */ +/* IDL: } srvsvc_NetShareCtr501; */ + +static int +srvsvc_dissect_element_NetShareCtr501_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCtr501_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr501_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr501_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetShareInfo501)",hf_srvsvc_srvsvc_NetShareCtr501_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr501_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr501_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr501_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo501(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr501_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareCtr501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr501); + } + + offset = srvsvc_dissect_element_NetShareCtr501_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareCtr501_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *name; */ +/* IDL: [keepref(1)] srvsvc_ShareType type; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *comment; */ +/* IDL: [keepref(1)] uint32 permissions; */ +/* IDL: [keepref(1)] int32 max_users; */ +/* IDL: [keepref(1)] uint32 current_users; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *path; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *password; */ +/* IDL: [keepref(1)] uint32 unknown; */ +/* IDL: [keepref(1)] [subcontext(4)] [unique(1)] security_descriptor *sd; */ +/* IDL: } srvsvc_NetShareInfo502; */ + +static int +srvsvc_dissect_element_NetShareInfo502_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo502_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_srvsvc_srvsvc_NetShareInfo502_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo502_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_enum_ShareType(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo502_type, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo502_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_srvsvc_srvsvc_NetShareInfo502_comment); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo502_comment, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_permissions(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo502_permissions,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_max_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo502_max_users, NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_current_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo502_current_users,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo502_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_srvsvc_srvsvc_NetShareInfo502_path); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo502_path, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo502_password_, NDR_POINTER_UNIQUE, "Pointer to Password (uint16)",hf_srvsvc_srvsvc_NetShareInfo502_password); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_password_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo502_password, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_unknown(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo502_unknown,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo502_sd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo502_sd_, NDR_POINTER_UNIQUE, "Pointer to Sd (security_descriptor)",hf_srvsvc_srvsvc_NetShareInfo502_sd); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareInfo502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareInfo502); + } + + offset = srvsvc_dissect_element_NetShareInfo502_name(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo502_type(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo502_comment(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo502_permissions(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo502_max_users(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo502_current_users(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo502_path(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo502_password(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo502_unknown(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo502_sd(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetShareInfo502 *array; */ +/* IDL: } srvsvc_NetShareCtr502; */ + +static int +srvsvc_dissect_element_NetShareCtr502_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCtr502_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr502_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr502_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetShareInfo502)",hf_srvsvc_srvsvc_NetShareCtr502_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr502_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr502_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr502_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo502(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr502_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareCtr502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr502); + } + + offset = srvsvc_dissect_element_NetShareCtr502_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareCtr502_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *comment; */ +/* IDL: } srvsvc_NetShareInfo1004; */ + +static int +srvsvc_dissect_element_NetShareInfo1004_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo1004_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_srvsvc_srvsvc_NetShareInfo1004_comment); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo1004_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo1004_comment, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareInfo1004(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareInfo1004); + } + + offset = srvsvc_dissect_element_NetShareInfo1004_comment(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetShareInfo1004 *array; */ +/* IDL: } srvsvc_NetShareCtr1004; */ + +static int +srvsvc_dissect_element_NetShareCtr1004_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCtr1004_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1004_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1004_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetShareInfo1004)",hf_srvsvc_srvsvc_NetShareCtr1004_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1004_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1004_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1004_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo1004(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr1004_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareCtr1004(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr1004); + } + + offset = srvsvc_dissect_element_NetShareCtr1004_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareCtr1004_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 dfs_flags; */ +/* IDL: } srvsvc_NetShareInfo1005; */ + +static int +srvsvc_dissect_element_NetShareInfo1005_dfs_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo1005_dfs_flags,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareInfo1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareInfo1005); + } + + offset = srvsvc_dissect_element_NetShareInfo1005_dfs_flags(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetShareInfo1005 *array; */ +/* IDL: } srvsvc_NetShareCtr1005; */ + +static int +srvsvc_dissect_element_NetShareCtr1005_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCtr1005_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1005_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1005_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetShareInfo1005)",hf_srvsvc_srvsvc_NetShareCtr1005_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1005_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1005_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1005_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo1005(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr1005_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareCtr1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr1005); + } + + offset = srvsvc_dissect_element_NetShareCtr1005_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareCtr1005_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] int32 max_users; */ +/* IDL: } srvsvc_NetShareInfo1006; */ + +static int +srvsvc_dissect_element_NetShareInfo1006_max_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo1006_max_users, NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareInfo1006(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareInfo1006); + } + + offset = srvsvc_dissect_element_NetShareInfo1006_max_users(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetShareInfo1006 *array; */ +/* IDL: } srvsvc_NetShareCtr1006; */ + +static int +srvsvc_dissect_element_NetShareCtr1006_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCtr1006_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1006_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1006_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetShareInfo1006)",hf_srvsvc_srvsvc_NetShareCtr1006_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1006_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1006_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1006_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo1006(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr1006_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareCtr1006(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr1006); + } + + offset = srvsvc_dissect_element_NetShareCtr1006_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareCtr1006_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 flags; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *alternate_directory_name; */ +/* IDL: } srvsvc_NetShareInfo1007; */ + +static int +srvsvc_dissect_element_NetShareInfo1007_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo1007_flags,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo1007_alternate_directory_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo1007_alternate_directory_name_, NDR_POINTER_UNIQUE, "Pointer to Alternate Directory Name (uint16)",hf_srvsvc_srvsvc_NetShareInfo1007_alternate_directory_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo1007_alternate_directory_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareInfo1007_alternate_directory_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareInfo1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareInfo1007); + } + + offset = srvsvc_dissect_element_NetShareInfo1007_flags(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareInfo1007_alternate_directory_name(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetShareInfo1007 *array; */ +/* IDL: } srvsvc_NetShareCtr1007; */ + +static int +srvsvc_dissect_element_NetShareCtr1007_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCtr1007_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1007_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1007_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetShareInfo1007)",hf_srvsvc_srvsvc_NetShareCtr1007_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1007_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1007_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1007_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo1007(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr1007_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareCtr1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr1007); + } + + offset = srvsvc_dissect_element_NetShareCtr1007_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareCtr1007_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] sec_desc_buf *array; */ +/* IDL: } srvsvc_NetShareCtr1501; */ + +static int +srvsvc_dissect_element_NetShareCtr1501_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCtr1501_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1501_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1501_array_, NDR_POINTER_UNIQUE, "Pointer to Array (sec_desc_buf)",hf_srvsvc_srvsvc_NetShareCtr1501_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr1501_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr1501_array__); + + return offset; +} + +int +srvsvc_dissect_struct_NetShareCtr1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr1501); + } + + offset = srvsvc_dissect_element_NetShareCtr1501_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetShareCtr1501_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef union { */ +/* IDL: [case(0)] [keepref(1)] [unique(1)] [case(0)] srvsvc_NetShareInfo0 *info0; */ +/* IDL: [case(1)] [keepref(1)] [unique(1)] [case(1)] srvsvc_NetShareInfo1 *info1; */ +/* IDL: [case(2)] [keepref(1)] [unique(1)] [case(2)] srvsvc_NetShareInfo2 *info2; */ +/* IDL: [case(501)] [keepref(1)] [unique(1)] [case(501)] srvsvc_NetShareInfo501 *info501; */ +/* IDL: [case(502)] [keepref(1)] [unique(1)] [case(502)] srvsvc_NetShareInfo502 *info502; */ +/* IDL: [case(1004)] [keepref(1)] [unique(1)] [case(1004)] srvsvc_NetShareInfo1004 *info1004; */ +/* IDL: [case(1005)] [keepref(1)] [unique(1)] [case(1005)] srvsvc_NetShareInfo1005 *info1005; */ +/* IDL: [case(1006)] [keepref(1)] [unique(1)] [case(1006)] srvsvc_NetShareInfo1006 *info1006; */ +/* IDL: [case(1007)] [keepref(1)] [unique(1)] [case(1007)] srvsvc_NetShareInfo1007 *info1007; */ +/* IDL: [case(1501)] [keepref(1)] [unique(1)] [case(1501)] sec_desc_buf *info1501; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetShareInfo; */ + +static int +srvsvc_dissect_element_NetShareInfo_info0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo_info0_, NDR_POINTER_UNIQUE, "Pointer to Info0 (srvsvc_NetShareInfo0)",hf_srvsvc_srvsvc_NetShareInfo_info0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareInfo_info0,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo_info1_, NDR_POINTER_UNIQUE, "Pointer to Info1 (srvsvc_NetShareInfo1)",hf_srvsvc_srvsvc_NetShareInfo_info1); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareInfo_info1,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo_info2_, NDR_POINTER_UNIQUE, "Pointer to Info2 (srvsvc_NetShareInfo2)",hf_srvsvc_srvsvc_NetShareInfo_info2); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareInfo_info2,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo_info501_, NDR_POINTER_UNIQUE, "Pointer to Info501 (srvsvc_NetShareInfo501)",hf_srvsvc_srvsvc_NetShareInfo_info501); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo501(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareInfo_info501,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo_info502_, NDR_POINTER_UNIQUE, "Pointer to Info502 (srvsvc_NetShareInfo502)",hf_srvsvc_srvsvc_NetShareInfo_info502); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo502(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareInfo_info502,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1004(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo_info1004_, NDR_POINTER_UNIQUE, "Pointer to Info1004 (srvsvc_NetShareInfo1004)",hf_srvsvc_srvsvc_NetShareInfo_info1004); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1004_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo1004(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareInfo_info1004,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo_info1005_, NDR_POINTER_UNIQUE, "Pointer to Info1005 (srvsvc_NetShareInfo1005)",hf_srvsvc_srvsvc_NetShareInfo_info1005); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1005_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo1005(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareInfo_info1005,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1006(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo_info1006_, NDR_POINTER_UNIQUE, "Pointer to Info1006 (srvsvc_NetShareInfo1006)",hf_srvsvc_srvsvc_NetShareInfo_info1006); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1006_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo1006(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareInfo_info1006,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo_info1007_, NDR_POINTER_UNIQUE, "Pointer to Info1007 (srvsvc_NetShareInfo1007)",hf_srvsvc_srvsvc_NetShareInfo_info1007); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1007_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareInfo1007(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareInfo_info1007,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareInfo_info1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareInfo_info1501_, NDR_POINTER_UNIQUE, "Pointer to Info1501 (sec_desc_buf)",hf_srvsvc_srvsvc_NetShareInfo_info1501); + + return offset; +} + +static int +srvsvc_dissect_NetShareInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetShareInfo"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareInfo); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 0: + offset = srvsvc_dissect_element_NetShareInfo_info0(tvb, offset, pinfo, tree, drep); + break; + + case 1: + offset = srvsvc_dissect_element_NetShareInfo_info1(tvb, offset, pinfo, tree, drep); + break; + + case 2: + offset = srvsvc_dissect_element_NetShareInfo_info2(tvb, offset, pinfo, tree, drep); + break; + + case 501: + offset = srvsvc_dissect_element_NetShareInfo_info501(tvb, offset, pinfo, tree, drep); + break; + + case 502: + offset = srvsvc_dissect_element_NetShareInfo_info502(tvb, offset, pinfo, tree, drep); + break; + + case 1004: + offset = srvsvc_dissect_element_NetShareInfo_info1004(tvb, offset, pinfo, tree, drep); + break; + + case 1005: + offset = srvsvc_dissect_element_NetShareInfo_info1005(tvb, offset, pinfo, tree, drep); + break; + + case 1006: + offset = srvsvc_dissect_element_NetShareInfo_info1006(tvb, offset, pinfo, tree, drep); + break; + + case 1007: + offset = srvsvc_dissect_element_NetShareInfo_info1007(tvb, offset, pinfo, tree, drep); + break; + + case 1501: + offset = srvsvc_dissect_element_NetShareInfo_info1501(tvb, offset, pinfo, tree, drep); + break; + + default: + break; + } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef union { */ +/* IDL: [case(0)] [keepref(1)] [unique(1)] [case(0)] srvsvc_NetShareCtr0 *ctr0; */ +/* IDL: [case(1)] [keepref(1)] [unique(1)] [case(1)] srvsvc_NetShareCtr1 *ctr1; */ +/* IDL: [case(2)] [keepref(1)] [unique(1)] [case(2)] srvsvc_NetShareCtr2 *ctr2; */ +/* IDL: [case(501)] [keepref(1)] [unique(1)] [case(501)] srvsvc_NetShareCtr501 *ctr501; */ +/* IDL: [case(502)] [keepref(1)] [unique(1)] [case(502)] srvsvc_NetShareCtr502 *ctr502; */ +/* IDL: [case(1004)] [keepref(1)] [unique(1)] [case(1004)] srvsvc_NetShareCtr1004 *ctr1004; */ +/* IDL: [case(1005)] [keepref(1)] [unique(1)] [case(1005)] srvsvc_NetShareCtr1005 *ctr1005; */ +/* IDL: [case(1006)] [keepref(1)] [unique(1)] [case(1006)] srvsvc_NetShareCtr1006 *ctr1006; */ +/* IDL: [case(1007)] [keepref(1)] [unique(1)] [case(1007)] srvsvc_NetShareCtr1007 *ctr1007; */ +/* IDL: [case(1501)] [keepref(1)] [unique(1)] [case(1501)] srvsvc_NetShareCtr1501 *ctr1501; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetShareCtr; */ + +static int +srvsvc_dissect_element_NetShareCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr_ctr0_, NDR_POINTER_UNIQUE, "Pointer to Ctr0 (srvsvc_NetShareCtr0)",hf_srvsvc_srvsvc_NetShareCtr_ctr0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareCtr0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr_ctr0,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr_ctr1_, NDR_POINTER_UNIQUE, "Pointer to Ctr1 (srvsvc_NetShareCtr1)",hf_srvsvc_srvsvc_NetShareCtr_ctr1); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareCtr1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr_ctr1,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr_ctr2_, NDR_POINTER_UNIQUE, "Pointer to Ctr2 (srvsvc_NetShareCtr2)",hf_srvsvc_srvsvc_NetShareCtr_ctr2); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareCtr2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr_ctr2,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr_ctr501_, NDR_POINTER_UNIQUE, "Pointer to Ctr501 (srvsvc_NetShareCtr501)",hf_srvsvc_srvsvc_NetShareCtr_ctr501); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareCtr501(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr_ctr501,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr_ctr502_, NDR_POINTER_UNIQUE, "Pointer to Ctr502 (srvsvc_NetShareCtr502)",hf_srvsvc_srvsvc_NetShareCtr_ctr502); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareCtr502(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr_ctr502,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1004(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr_ctr1004_, NDR_POINTER_UNIQUE, "Pointer to Ctr1004 (srvsvc_NetShareCtr1004)",hf_srvsvc_srvsvc_NetShareCtr_ctr1004); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1004_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareCtr1004(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr_ctr1004,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr_ctr1005_, NDR_POINTER_UNIQUE, "Pointer to Ctr1005 (srvsvc_NetShareCtr1005)",hf_srvsvc_srvsvc_NetShareCtr_ctr1005); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1005_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareCtr1005(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr_ctr1005,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1006(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr_ctr1006_, NDR_POINTER_UNIQUE, "Pointer to Ctr1006 (srvsvc_NetShareCtr1006)",hf_srvsvc_srvsvc_NetShareCtr_ctr1006); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1006_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareCtr1006(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr_ctr1006,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr_ctr1007_, NDR_POINTER_UNIQUE, "Pointer to Ctr1007 (srvsvc_NetShareCtr1007)",hf_srvsvc_srvsvc_NetShareCtr_ctr1007); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1007_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareCtr1007(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr_ctr1007,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCtr_ctr1501_, NDR_POINTER_UNIQUE, "Pointer to Ctr1501 (srvsvc_NetShareCtr1501)",hf_srvsvc_srvsvc_NetShareCtr_ctr1501); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCtr_ctr1501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetShareCtr1501(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetShareCtr_ctr1501,0); + + return offset; +} + +static int +srvsvc_dissect_NetShareCtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetShareCtr"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetShareCtr); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 0: + offset = srvsvc_dissect_element_NetShareCtr_ctr0(tvb, offset, pinfo, tree, drep); + break; + + case 1: + offset = srvsvc_dissect_element_NetShareCtr_ctr1(tvb, offset, pinfo, tree, drep); + break; + + case 2: + offset = srvsvc_dissect_element_NetShareCtr_ctr2(tvb, offset, pinfo, tree, drep); + break; + + case 501: + offset = srvsvc_dissect_element_NetShareCtr_ctr501(tvb, offset, pinfo, tree, drep); + break; + + case 502: + offset = srvsvc_dissect_element_NetShareCtr_ctr502(tvb, offset, pinfo, tree, drep); + break; + + case 1004: + offset = srvsvc_dissect_element_NetShareCtr_ctr1004(tvb, offset, pinfo, tree, drep); + break; + + case 1005: + offset = srvsvc_dissect_element_NetShareCtr_ctr1005(tvb, offset, pinfo, tree, drep); + break; + + case 1006: + offset = srvsvc_dissect_element_NetShareCtr_ctr1006(tvb, offset, pinfo, tree, drep); + break; + + case 1007: + offset = srvsvc_dissect_element_NetShareCtr_ctr1007(tvb, offset, pinfo, tree, drep); + break; + + case 1501: + offset = srvsvc_dissect_element_NetShareCtr_ctr1501(tvb, offset, pinfo, tree, drep); + break; + + default: + break; + } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef enum { */ +/* IDL: PLATFORM_ID_DOS=300, */ +/* IDL: PLATFORM_ID_OS2=400, */ +/* IDL: PLATFORM_ID_NT=500, */ +/* IDL: PLATFORM_ID_OSF=600, */ +/* IDL: PLATFORM_ID_VMS=700, */ +/* IDL: } srvsvc_PlatformId; */ + +int +srvsvc_dissect_enum_PlatformId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, NULL); + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] srvsvc_PlatformId platform_id; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *server_name; */ +/* IDL: } srvsvc_NetSrvInfo100; */ + +static int +srvsvc_dissect_element_NetSrvInfo100_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_enum_PlatformId(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo100_platform_id, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo100_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo100_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_srvsvc_srvsvc_NetSrvInfo100_server_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo100_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo100_server_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo100); + } + + offset = srvsvc_dissect_element_NetSrvInfo100_platform_id(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo100_server_name(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] srvsvc_PlatformId platform_id; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *server_name; */ +/* IDL: [keepref(1)] uint32 version_major; */ +/* IDL: [keepref(1)] uint32 version_minor; */ +/* IDL: [keepref(1)] svcctl_ServerType server_type; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *comment; */ +/* IDL: } srvsvc_NetSrvInfo101; */ + +static int +srvsvc_dissect_element_NetSrvInfo101_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_enum_PlatformId(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo101_platform_id, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo101_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo101_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_srvsvc_srvsvc_NetSrvInfo101_server_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo101_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo101_server_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo101_version_major(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo101_version_major,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo101_version_minor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo101_version_minor,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo101_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo101_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_srvsvc_srvsvc_NetSrvInfo101_comment); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo101_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo101_comment, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo101(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo101); + } + + offset = srvsvc_dissect_element_NetSrvInfo101_platform_id(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo101_server_name(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo101_version_major(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo101_version_minor(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo101_server_type(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo101_comment(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] srvsvc_PlatformId platform_id; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *server_name; */ +/* IDL: [keepref(1)] uint32 version_major; */ +/* IDL: [keepref(1)] uint32 version_minor; */ +/* IDL: [keepref(1)] svcctl_ServerType server_type; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *comment; */ +/* IDL: [keepref(1)] uint32 users; */ +/* IDL: [keepref(1)] uint32 disc; */ +/* IDL: [keepref(1)] uint32 hidden; */ +/* IDL: [keepref(1)] uint32 announce; */ +/* IDL: [keepref(1)] uint32 anndelta; */ +/* IDL: [keepref(1)] uint32 licenses; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *userpath; */ +/* IDL: } srvsvc_NetSrvInfo102; */ + +static int +srvsvc_dissect_element_NetSrvInfo102_platform_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_enum_PlatformId(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo102_platform_id, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_server_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo102_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint16)",hf_srvsvc_srvsvc_NetSrvInfo102_server_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_server_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo102_server_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_version_major(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo102_version_major,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_version_minor(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo102_version_minor,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo102_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_srvsvc_srvsvc_NetSrvInfo102_comment); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo102_comment, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo102_users,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_disc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo102_disc,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_hidden(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo102_hidden,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_announce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo102_announce,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_anndelta(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo102_anndelta,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_licenses(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo102_licenses,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_userpath(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo102_userpath_, NDR_POINTER_UNIQUE, "Pointer to Userpath (uint16)",hf_srvsvc_srvsvc_NetSrvInfo102_userpath); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo102_userpath_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo102_userpath, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo102(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo102); + } + + offset = srvsvc_dissect_element_NetSrvInfo102_platform_id(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_server_name(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_version_major(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_version_minor(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_server_type(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_comment(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_users(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_disc(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_hidden(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_announce(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_anndelta(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_licenses(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo102_userpath(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 ulist_mtime; */ +/* IDL: [keepref(1)] uint32 glist_mtime; */ +/* IDL: [keepref(1)] uint32 alist_mtime; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *alerts; */ +/* IDL: [keepref(1)] uint32 security; */ +/* IDL: [keepref(1)] uint32 numadmin; */ +/* IDL: [keepref(1)] uint32 lanmask; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *guestaccount; */ +/* IDL: [keepref(1)] uint32 chdevs; */ +/* IDL: [keepref(1)] uint32 chdevqs; */ +/* IDL: [keepref(1)] uint32 chdevjobs; */ +/* IDL: [keepref(1)] uint32 connections; */ +/* IDL: [keepref(1)] uint32 shares; */ +/* IDL: [keepref(1)] uint32 openfiles; */ +/* IDL: [keepref(1)] uint32 sessopen; */ +/* IDL: [keepref(1)] uint32 sesssvc; */ +/* IDL: [keepref(1)] uint32 sessreqs; */ +/* IDL: [keepref(1)] uint32 opensearch; */ +/* IDL: [keepref(1)] uint32 activelocks; */ +/* IDL: [keepref(1)] uint32 sizereqbufs; */ +/* IDL: [keepref(1)] uint32 numbigbufs; */ +/* IDL: [keepref(1)] uint32 numfiletasks; */ +/* IDL: [keepref(1)] uint32 alertsched; */ +/* IDL: [keepref(1)] uint32 erroralert; */ +/* IDL: [keepref(1)] uint32 logonalert; */ +/* IDL: [keepref(1)] uint32 accessalert; */ +/* IDL: [keepref(1)] uint32 diskalert; */ +/* IDL: [keepref(1)] uint32 netioalert; */ +/* IDL: [keepref(1)] uint32 maxaudits; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *srvheuristics; */ +/* IDL: } srvsvc_NetSrvInfo402; */ + +static int +srvsvc_dissect_element_NetSrvInfo402_ulist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_ulist_mtime,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_glist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_glist_mtime,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_alist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_alist_mtime,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_alerts(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo402_alerts_, NDR_POINTER_UNIQUE, "Pointer to Alerts (uint16)",hf_srvsvc_srvsvc_NetSrvInfo402_alerts); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_alerts_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo402_alerts, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_security(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_security,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_numadmin(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_numadmin,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_lanmask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_lanmask,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_guestaccount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo402_guestaccount_, NDR_POINTER_UNIQUE, "Pointer to Guestaccount (uint16)",hf_srvsvc_srvsvc_NetSrvInfo402_guestaccount); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_guestaccount_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo402_guestaccount, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_chdevs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_chdevs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_chdevqs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_chdevqs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_chdevjobs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_chdevjobs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_connections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_connections,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_shares(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_shares,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_openfiles(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_openfiles,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_sessopen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_sessopen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_sesssvc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_sesssvc,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_sessreqs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_sessreqs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_opensearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_activelocks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_activelocks,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_sizereqbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_sizereqbufs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_numbigbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_numbigbufs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_numfiletasks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_numfiletasks,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_alertsched(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_alertsched,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_erroralert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_erroralert,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_logonalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_logonalert,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_accessalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_accessalert,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_diskalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_diskalert,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_netioalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_netioalert,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_maxaudits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo402_maxaudits,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_srvheuristics(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo402_srvheuristics_, NDR_POINTER_UNIQUE, "Pointer to Srvheuristics (uint16)",hf_srvsvc_srvsvc_NetSrvInfo402_srvheuristics); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo402_srvheuristics_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo402_srvheuristics, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo402(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo402); + } + + offset = srvsvc_dissect_element_NetSrvInfo402_ulist_mtime(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_glist_mtime(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_alist_mtime(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_alerts(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_security(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_numadmin(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_lanmask(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_guestaccount(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_chdevs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_chdevqs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_chdevjobs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_connections(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_shares(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_openfiles(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_sessopen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_sesssvc(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_sessreqs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_opensearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_activelocks(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_sizereqbufs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_numbigbufs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_numfiletasks(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_alertsched(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_erroralert(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_logonalert(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_accessalert(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_diskalert(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_netioalert(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_maxaudits(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo402_srvheuristics(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 ulist_mtime; */ +/* IDL: [keepref(1)] uint32 glist_mtime; */ +/* IDL: [keepref(1)] uint32 alist_mtime; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *alerts; */ +/* IDL: [keepref(1)] uint32 security; */ +/* IDL: [keepref(1)] uint32 numadmin; */ +/* IDL: [keepref(1)] uint32 lanmask; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *guestaccount; */ +/* IDL: [keepref(1)] uint32 chdevs; */ +/* IDL: [keepref(1)] uint32 chdevqs; */ +/* IDL: [keepref(1)] uint32 chdevjobs; */ +/* IDL: [keepref(1)] uint32 connections; */ +/* IDL: [keepref(1)] uint32 shares; */ +/* IDL: [keepref(1)] uint32 openfiles; */ +/* IDL: [keepref(1)] uint32 sessopen; */ +/* IDL: [keepref(1)] uint32 sesssvc; */ +/* IDL: [keepref(1)] uint32 sessreqs; */ +/* IDL: [keepref(1)] uint32 opensearch; */ +/* IDL: [keepref(1)] uint32 activelocks; */ +/* IDL: [keepref(1)] uint32 sizereqbufs; */ +/* IDL: [keepref(1)] uint32 numbigbufs; */ +/* IDL: [keepref(1)] uint32 numfiletasks; */ +/* IDL: [keepref(1)] uint32 alertsched; */ +/* IDL: [keepref(1)] uint32 eroralert; */ +/* IDL: [keepref(1)] uint32 logonalert; */ +/* IDL: [keepref(1)] uint32 accessalert; */ +/* IDL: [keepref(1)] uint32 diskalert; */ +/* IDL: [keepref(1)] uint32 netioalert; */ +/* IDL: [keepref(1)] uint32 maxaudits; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *srvheuristics; */ +/* IDL: [keepref(1)] uint32 auditedevents; */ +/* IDL: [keepref(1)] uint32 auditprofile; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *autopath; */ +/* IDL: } srvsvc_NetSrvInfo403; */ + +static int +srvsvc_dissect_element_NetSrvInfo403_ulist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_ulist_mtime,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_glist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_glist_mtime,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_alist_mtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_alist_mtime,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_alerts(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo403_alerts_, NDR_POINTER_UNIQUE, "Pointer to Alerts (uint16)",hf_srvsvc_srvsvc_NetSrvInfo403_alerts); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_alerts_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo403_alerts, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_security(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_security,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_numadmin(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_numadmin,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_lanmask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_lanmask,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_guestaccount(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo403_guestaccount_, NDR_POINTER_UNIQUE, "Pointer to Guestaccount (uint16)",hf_srvsvc_srvsvc_NetSrvInfo403_guestaccount); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_guestaccount_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo403_guestaccount, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_chdevs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_chdevs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_chdevqs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_chdevqs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_chdevjobs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_chdevjobs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_connections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_connections,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_shares(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_shares,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_openfiles(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_openfiles,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_sessopen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_sessopen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_sesssvc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_sesssvc,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_sessreqs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_sessreqs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_opensearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_activelocks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_activelocks,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_sizereqbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_sizereqbufs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_numbigbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_numbigbufs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_numfiletasks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_numfiletasks,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_alertsched(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_alertsched,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_eroralert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_eroralert,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_logonalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_logonalert,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_accessalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_accessalert,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_diskalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_diskalert,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_netioalert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_netioalert,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_maxaudits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_maxaudits,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_srvheuristics(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo403_srvheuristics_, NDR_POINTER_UNIQUE, "Pointer to Srvheuristics (uint16)",hf_srvsvc_srvsvc_NetSrvInfo403_srvheuristics); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_srvheuristics_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo403_srvheuristics, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_auditedevents(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_auditedevents,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_auditprofile(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo403_auditprofile,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_autopath(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo403_autopath_, NDR_POINTER_UNIQUE, "Pointer to Autopath (uint16)",hf_srvsvc_srvsvc_NetSrvInfo403_autopath); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo403_autopath_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo403_autopath, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo403(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo403); + } + + offset = srvsvc_dissect_element_NetSrvInfo403_ulist_mtime(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_glist_mtime(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_alist_mtime(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_alerts(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_security(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_numadmin(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_lanmask(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_guestaccount(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_chdevs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_chdevqs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_chdevjobs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_connections(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_shares(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_openfiles(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_sessopen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_sesssvc(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_sessreqs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_opensearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_activelocks(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_sizereqbufs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_numbigbufs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_numfiletasks(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_alertsched(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_eroralert(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_logonalert(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_accessalert(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_diskalert(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_netioalert(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_maxaudits(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_srvheuristics(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_auditedevents(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_auditprofile(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo403_autopath(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 sessopen; */ +/* IDL: [keepref(1)] uint32 sesssvc; */ +/* IDL: [keepref(1)] uint32 opensearch; */ +/* IDL: [keepref(1)] uint32 sizereqbufs; */ +/* IDL: [keepref(1)] uint32 initworkitems; */ +/* IDL: [keepref(1)] uint32 maxworkitems; */ +/* IDL: [keepref(1)] uint32 rawworkitems; */ +/* IDL: [keepref(1)] uint32 irpstacksize; */ +/* IDL: [keepref(1)] uint32 maxrawbuflen; */ +/* IDL: [keepref(1)] uint32 sessusers; */ +/* IDL: [keepref(1)] uint32 sessconns; */ +/* IDL: [keepref(1)] uint32 maxpagedmemoryusage; */ +/* IDL: [keepref(1)] uint32 maxnonpagedmemoryusage; */ +/* IDL: [keepref(1)] uint32 enablesoftcompat; */ +/* IDL: [keepref(1)] uint32 enableforcedlogoff; */ +/* IDL: [keepref(1)] uint32 timesource; */ +/* IDL: [keepref(1)] uint32 acceptdownlevelapis; */ +/* IDL: [keepref(1)] uint32 lmannounce; */ +/* IDL: } srvsvc_NetSrvInfo502; */ + +static int +srvsvc_dissect_element_NetSrvInfo502_sessopen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_sessopen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_sesssvc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_sesssvc,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_opensearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_sizereqbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_sizereqbufs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_initworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_initworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_maxworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_maxworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_rawworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_rawworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_irpstacksize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_irpstacksize,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_maxrawbuflen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_maxrawbuflen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_sessusers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_sessusers,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_sessconns(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_sessconns,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_maxpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_maxpagedmemoryusage,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_maxnonpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_maxnonpagedmemoryusage,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_enablesoftcompat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_enablesoftcompat,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_enableforcedlogoff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_enableforcedlogoff,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_timesource(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_timesource,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_acceptdownlevelapis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_acceptdownlevelapis,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo502_lmannounce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo502_lmannounce,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo502); + } + + offset = srvsvc_dissect_element_NetSrvInfo502_sessopen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_sesssvc(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_opensearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_sizereqbufs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_initworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_maxworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_rawworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_irpstacksize(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_maxrawbuflen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_sessusers(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_sessconns(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_maxpagedmemoryusage(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_maxnonpagedmemoryusage(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_enablesoftcompat(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_enableforcedlogoff(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_timesource(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_acceptdownlevelapis(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo502_lmannounce(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 sessopen; */ +/* IDL: [keepref(1)] uint32 sesssvc; */ +/* IDL: [keepref(1)] uint32 opensearch; */ +/* IDL: [keepref(1)] uint32 sizereqbufs; */ +/* IDL: [keepref(1)] uint32 initworkitems; */ +/* IDL: [keepref(1)] uint32 maxworkitems; */ +/* IDL: [keepref(1)] uint32 rawworkitems; */ +/* IDL: [keepref(1)] uint32 irpstacksize; */ +/* IDL: [keepref(1)] uint32 maxrawbuflen; */ +/* IDL: [keepref(1)] uint32 sessusers; */ +/* IDL: [keepref(1)] uint32 sessconns; */ +/* IDL: [keepref(1)] uint32 maxpagedmemoryusage; */ +/* IDL: [keepref(1)] uint32 maxnonpagedmemoryusage; */ +/* IDL: [keepref(1)] uint32 enablesoftcompat; */ +/* IDL: [keepref(1)] uint32 enableforcedlogoff; */ +/* IDL: [keepref(1)] uint32 timesource; */ +/* IDL: [keepref(1)] uint32 acceptdownlevelapis; */ +/* IDL: [keepref(1)] uint32 lmannounce; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *domain; */ +/* IDL: [keepref(1)] uint32 maxcopyreadlen; */ +/* IDL: [keepref(1)] uint32 maxcopywritelen; */ +/* IDL: [keepref(1)] uint32 minkeepsearch; */ +/* IDL: [keepref(1)] uint32 maxkeepsearch; */ +/* IDL: [keepref(1)] uint32 minkeepcomplsearch; */ +/* IDL: [keepref(1)] uint32 maxkeepcomplsearch; */ +/* IDL: [keepref(1)] uint32 threadcountadd; */ +/* IDL: [keepref(1)] uint32 numlockthreads; */ +/* IDL: [keepref(1)] uint32 scavtimeout; */ +/* IDL: [keepref(1)] uint32 minrcvqueue; */ +/* IDL: [keepref(1)] uint32 minfreeworkitems; */ +/* IDL: [keepref(1)] uint32 xactmemsize; */ +/* IDL: [keepref(1)] uint32 threadpriority; */ +/* IDL: [keepref(1)] uint32 maxmpxct; */ +/* IDL: [keepref(1)] uint32 oplockbreakwait; */ +/* IDL: [keepref(1)] uint32 oplockbreakresponsewait; */ +/* IDL: [keepref(1)] uint32 enableoplocks; */ +/* IDL: [keepref(1)] uint32 enableoplockforceclose; */ +/* IDL: [keepref(1)] uint32 enablefcbopens; */ +/* IDL: [keepref(1)] uint32 enableraw; */ +/* IDL: [keepref(1)] uint32 enablesharednetdrives; */ +/* IDL: [keepref(1)] uint32 minfreeconnections; */ +/* IDL: [keepref(1)] uint32 maxfreeconnections; */ +/* IDL: } srvsvc_NetSrvInfo503; */ + +static int +srvsvc_dissect_element_NetSrvInfo503_sessopen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_sessopen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_sesssvc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_sesssvc,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_opensearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_sizereqbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_sizereqbufs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_initworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_initworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_maxworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_maxworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_rawworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_rawworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_irpstacksize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_irpstacksize,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_maxrawbuflen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_maxrawbuflen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_sessusers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_sessusers,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_sessconns(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_sessconns,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_maxpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_maxpagedmemoryusage,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_maxnonpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_maxnonpagedmemoryusage,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_enablesoftcompat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_enablesoftcompat,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_enableforcedlogoff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_enableforcedlogoff,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_timesource(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_timesource,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_acceptdownlevelapis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_acceptdownlevelapis,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_lmannounce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_lmannounce,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo503_domain_, NDR_POINTER_UNIQUE, "Pointer to Domain (uint16)",hf_srvsvc_srvsvc_NetSrvInfo503_domain); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo503_domain, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_maxcopyreadlen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_maxcopyreadlen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_maxcopywritelen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_maxcopywritelen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_minkeepsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_minkeepsearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_maxkeepsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_maxkeepsearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_minkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_minkeepcomplsearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_maxkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_maxkeepcomplsearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_threadcountadd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_threadcountadd,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_numlockthreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_numlockthreads,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_scavtimeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_scavtimeout,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_minrcvqueue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_minrcvqueue,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_minfreeworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_minfreeworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_xactmemsize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_xactmemsize,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_threadpriority(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_threadpriority,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_maxmpxct(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_maxmpxct,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_oplockbreakwait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_oplockbreakwait,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_oplockbreakresponsewait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_oplockbreakresponsewait,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_enableoplocks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_enableoplocks,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_enableoplockforceclose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_enableoplockforceclose,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_enablefcbopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_enablefcbopens,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_enableraw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_enableraw,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_enablesharednetdrives(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_enablesharednetdrives,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_minfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_minfreeconnections,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo503_maxfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo503_maxfreeconnections,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo503(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo503); + } + + offset = srvsvc_dissect_element_NetSrvInfo503_sessopen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_sesssvc(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_opensearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_sizereqbufs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_initworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_maxworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_rawworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_irpstacksize(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_maxrawbuflen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_sessusers(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_sessconns(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_maxpagedmemoryusage(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_maxnonpagedmemoryusage(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_enablesoftcompat(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_enableforcedlogoff(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_timesource(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_acceptdownlevelapis(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_lmannounce(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_domain(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_maxcopyreadlen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_maxcopywritelen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_minkeepsearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_maxkeepsearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_minkeepcomplsearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_maxkeepcomplsearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_threadcountadd(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_numlockthreads(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_scavtimeout(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_minrcvqueue(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_minfreeworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_xactmemsize(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_threadpriority(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_maxmpxct(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_oplockbreakwait(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_oplockbreakresponsewait(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_enableoplocks(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_enableoplockforceclose(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_enablefcbopens(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_enableraw(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_enablesharednetdrives(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_minfreeconnections(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo503_maxfreeconnections(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 sessopen; */ +/* IDL: [keepref(1)] uint32 sesssvc; */ +/* IDL: [keepref(1)] uint32 opensearch; */ +/* IDL: [keepref(1)] uint32 sizereqbufs; */ +/* IDL: [keepref(1)] uint32 initworkitems; */ +/* IDL: [keepref(1)] uint32 maxworkitems; */ +/* IDL: [keepref(1)] uint32 rawworkitems; */ +/* IDL: [keepref(1)] uint32 irpstacksize; */ +/* IDL: [keepref(1)] uint32 maxrawbuflen; */ +/* IDL: [keepref(1)] uint32 sessusers; */ +/* IDL: [keepref(1)] uint32 sessconns; */ +/* IDL: [keepref(1)] uint32 maxpagedmemoryusage; */ +/* IDL: [keepref(1)] uint32 maxnonpagedmemoryusage; */ +/* IDL: [keepref(1)] uint32 enablesoftcompat; */ +/* IDL: [keepref(1)] uint32 enableforcedlogoff; */ +/* IDL: [keepref(1)] uint32 timesource; */ +/* IDL: [keepref(1)] uint32 acceptdownlevelapis; */ +/* IDL: [keepref(1)] uint32 lmannounce; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *domain; */ +/* IDL: [keepref(1)] uint32 maxcopyreadlen; */ +/* IDL: [keepref(1)] uint32 maxcopywritelen; */ +/* IDL: [keepref(1)] uint32 minkeepsearch; */ +/* IDL: [keepref(1)] uint32 minkeepcomplsearch; */ +/* IDL: [keepref(1)] uint32 maxkeepcomplsearch; */ +/* IDL: [keepref(1)] uint32 threadcountadd; */ +/* IDL: [keepref(1)] uint32 numlockthreads; */ +/* IDL: [keepref(1)] uint32 scavtimeout; */ +/* IDL: [keepref(1)] uint32 minrcvqueue; */ +/* IDL: [keepref(1)] uint32 minfreeworkitems; */ +/* IDL: [keepref(1)] uint32 xactmemsize; */ +/* IDL: [keepref(1)] uint32 threadpriority; */ +/* IDL: [keepref(1)] uint32 maxmpxct; */ +/* IDL: [keepref(1)] uint32 oplockbreakwait; */ +/* IDL: [keepref(1)] uint32 oplockbreakresponsewait; */ +/* IDL: [keepref(1)] uint32 enableoplocks; */ +/* IDL: [keepref(1)] uint32 enableoplockforceclose; */ +/* IDL: [keepref(1)] uint32 enablefcbopens; */ +/* IDL: [keepref(1)] uint32 enableraw; */ +/* IDL: [keepref(1)] uint32 enablesharednetdrives; */ +/* IDL: [keepref(1)] uint32 minfreeconnections; */ +/* IDL: [keepref(1)] uint32 maxfreeconnections; */ +/* IDL: [keepref(1)] uint32 initsesstable; */ +/* IDL: [keepref(1)] uint32 initconntable; */ +/* IDL: [keepref(1)] uint32 initfiletable; */ +/* IDL: [keepref(1)] uint32 initsearchtable; */ +/* IDL: [keepref(1)] uint32 alertsched; */ +/* IDL: [keepref(1)] uint32 errortreshold; */ +/* IDL: [keepref(1)] uint32 networkerrortreshold; */ +/* IDL: [keepref(1)] uint32 diskspacetreshold; */ +/* IDL: [keepref(1)] uint32 reserved; */ +/* IDL: [keepref(1)] uint32 maxlinkdelay; */ +/* IDL: [keepref(1)] uint32 minlinkthroughput; */ +/* IDL: [keepref(1)] uint32 linkinfovalidtime; */ +/* IDL: [keepref(1)] uint32 scavqosinfoupdatetime; */ +/* IDL: [keepref(1)] uint32 maxworkitemidletime; */ +/* IDL: } srvsvc_NetSrvInfo599; */ + +static int +srvsvc_dissect_element_NetSrvInfo599_sessopen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_sessopen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_sesssvc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_sesssvc,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_opensearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_sizereqbufs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_sizereqbufs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_initworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_initworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_rawworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_rawworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_irpstacksize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_irpstacksize,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxrawbuflen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxrawbuflen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_sessusers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_sessusers,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_sessconns(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_sessconns,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxpagedmemoryusage,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxnonpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxnonpagedmemoryusage,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_enablesoftcompat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_enablesoftcompat,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_enableforcedlogoff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_enableforcedlogoff,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_timesource(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_timesource,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_acceptdownlevelapis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_acceptdownlevelapis,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_lmannounce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_lmannounce,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo599_domain_, NDR_POINTER_UNIQUE, "Pointer to Domain (uint16)",hf_srvsvc_srvsvc_NetSrvInfo599_domain); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo599_domain, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxcopyreadlen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxcopyreadlen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxcopywritelen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxcopywritelen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_minkeepsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_minkeepsearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_minkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_minkeepcomplsearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxkeepcomplsearch,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_threadcountadd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_threadcountadd,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_numlockthreads(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_numlockthreads,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_scavtimeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_scavtimeout,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_minrcvqueue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_minrcvqueue,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_minfreeworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_minfreeworkitems,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_xactmemsize(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_xactmemsize,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_threadpriority(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_threadpriority,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxmpxct(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxmpxct,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_oplockbreakwait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_oplockbreakwait,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_oplockbreakresponsewait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_oplockbreakresponsewait,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_enableoplocks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_enableoplocks,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_enableoplockforceclose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_enableoplockforceclose,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_enablefcbopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_enablefcbopens,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_enableraw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_enableraw,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_enablesharednetdrives(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_enablesharednetdrives,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_minfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_minfreeconnections,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxfreeconnections,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_initsesstable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_initsesstable,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_initconntable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_initconntable,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_initfiletable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_initfiletable,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_initsearchtable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_initsearchtable,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_alertsched(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_alertsched,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_errortreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_errortreshold,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_networkerrortreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_networkerrortreshold,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_diskspacetreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_diskspacetreshold,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_reserved,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxlinkdelay(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxlinkdelay,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_minlinkthroughput(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_minlinkthroughput,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_linkinfovalidtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_linkinfovalidtime,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_scavqosinfoupdatetime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_scavqosinfoupdatetime,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo599_maxworkitemidletime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo599_maxworkitemidletime,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo599(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo599); + } + + offset = srvsvc_dissect_element_NetSrvInfo599_sessopen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_sesssvc(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_opensearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_sizereqbufs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_initworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_rawworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_irpstacksize(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxrawbuflen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_sessusers(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_sessconns(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxpagedmemoryusage(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxnonpagedmemoryusage(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_enablesoftcompat(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_enableforcedlogoff(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_timesource(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_acceptdownlevelapis(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_lmannounce(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_domain(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxcopyreadlen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxcopywritelen(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_minkeepsearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_minkeepcomplsearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxkeepcomplsearch(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_threadcountadd(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_numlockthreads(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_scavtimeout(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_minrcvqueue(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_minfreeworkitems(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_xactmemsize(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_threadpriority(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxmpxct(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_oplockbreakwait(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_oplockbreakresponsewait(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_enableoplocks(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_enableoplockforceclose(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_enablefcbopens(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_enableraw(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_enablesharednetdrives(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_minfreeconnections(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxfreeconnections(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_initsesstable(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_initconntable(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_initfiletable(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_initsearchtable(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_alertsched(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_errortreshold(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_networkerrortreshold(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_diskspacetreshold(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_reserved(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxlinkdelay(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_minlinkthroughput(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_linkinfovalidtime(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_scavqosinfoupdatetime(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetSrvInfo599_maxworkitemidletime(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *comment; */ +/* IDL: } srvsvc_NetSrvInfo1005; */ + +static int +srvsvc_dissect_element_NetSrvInfo1005_comment(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo1005_comment_, NDR_POINTER_UNIQUE, "Pointer to Comment (uint16)",hf_srvsvc_srvsvc_NetSrvInfo1005_comment); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo1005_comment_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvInfo1005_comment, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1005); + } + + offset = srvsvc_dissect_element_NetSrvInfo1005_comment(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 disc; */ +/* IDL: } srvsvc_NetSrvInfo1010; */ + +static int +srvsvc_dissect_element_NetSrvInfo1010_disc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1010_disc,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1010(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1010); + } + + offset = srvsvc_dissect_element_NetSrvInfo1010_disc(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 hidden; */ +/* IDL: } srvsvc_NetSrvInfo1016; */ + +static int +srvsvc_dissect_element_NetSrvInfo1016_hidden(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1016_hidden,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1016(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1016); + } + + offset = srvsvc_dissect_element_NetSrvInfo1016_hidden(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 announce; */ +/* IDL: } srvsvc_NetSrvInfo1017; */ + +static int +srvsvc_dissect_element_NetSrvInfo1017_announce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1017_announce,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1017(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1017); + } + + offset = srvsvc_dissect_element_NetSrvInfo1017_announce(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 anndelta; */ +/* IDL: } srvsvc_NetSrvInfo1018; */ + +static int +srvsvc_dissect_element_NetSrvInfo1018_anndelta(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1018_anndelta,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1018(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1018); + } + + offset = srvsvc_dissect_element_NetSrvInfo1018_anndelta(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 users; */ +/* IDL: } srvsvc_NetSrvInfo1107; */ + +static int +srvsvc_dissect_element_NetSrvInfo1107_users(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1107_users,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1107(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1107); + } + + offset = srvsvc_dissect_element_NetSrvInfo1107_users(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 sessopens; */ +/* IDL: } srvsvc_NetSrvInfo1501; */ + +static int +srvsvc_dissect_element_NetSrvInfo1501_sessopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1501_sessopens,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1501); + } + + offset = srvsvc_dissect_element_NetSrvInfo1501_sessopens(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 sessvcs; */ +/* IDL: } srvsvc_NetSrvInfo1502; */ + +static int +srvsvc_dissect_element_NetSrvInfo1502_sessvcs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1502_sessvcs,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1502); + } + + offset = srvsvc_dissect_element_NetSrvInfo1502_sessvcs(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 opensearch; */ +/* IDL: } srvsvc_NetSrvInfo1503; */ + +static int +srvsvc_dissect_element_NetSrvInfo1503_opensearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1503_opensearch,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1503(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1503); + } + + offset = srvsvc_dissect_element_NetSrvInfo1503_opensearch(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxworkitems; */ +/* IDL: } srvsvc_NetSrvInfo1506; */ + +static int +srvsvc_dissect_element_NetSrvInfo1506_maxworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1506_maxworkitems,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1506(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1506); + } + + offset = srvsvc_dissect_element_NetSrvInfo1506_maxworkitems(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxrawbuflen; */ +/* IDL: } srvsvc_NetSrvInfo1509; */ + +static int +srvsvc_dissect_element_NetSrvInfo1509_maxrawbuflen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1509_maxrawbuflen,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1509(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1509); + } + + offset = srvsvc_dissect_element_NetSrvInfo1509_maxrawbuflen(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 sessusers; */ +/* IDL: } srvsvc_NetSrvInfo1510; */ + +static int +srvsvc_dissect_element_NetSrvInfo1510_sessusers(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1510_sessusers,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1510(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1510); + } + + offset = srvsvc_dissect_element_NetSrvInfo1510_sessusers(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 sesscons; */ +/* IDL: } srvsvc_NetSrvInfo1511; */ + +static int +srvsvc_dissect_element_NetSrvInfo1511_sesscons(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1511_sesscons,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1511(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1511); + } + + offset = srvsvc_dissect_element_NetSrvInfo1511_sesscons(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxnonpagedmemoryusage; */ +/* IDL: } srvsvc_NetSrvInfo1512; */ + +static int +srvsvc_dissect_element_NetSrvInfo1512_maxnonpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1512_maxnonpagedmemoryusage,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1512(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1512); + } + + offset = srvsvc_dissect_element_NetSrvInfo1512_maxnonpagedmemoryusage(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxpagedmemoryusage; */ +/* IDL: } srvsvc_NetSrvInfo1513; */ + +static int +srvsvc_dissect_element_NetSrvInfo1513_maxpagedmemoryusage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1513_maxpagedmemoryusage,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1513(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1513); + } + + offset = srvsvc_dissect_element_NetSrvInfo1513_maxpagedmemoryusage(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 enablesoftcompat; */ +/* IDL: } srvsvc_NetSrvInfo1514; */ + +static int +srvsvc_dissect_element_NetSrvInfo1514_enablesoftcompat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1514_enablesoftcompat,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1514(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1514); + } + + offset = srvsvc_dissect_element_NetSrvInfo1514_enablesoftcompat(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 enableforcedlogoff; */ +/* IDL: } srvsvc_NetSrvInfo1515; */ + +static int +srvsvc_dissect_element_NetSrvInfo1515_enableforcedlogoff(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1515_enableforcedlogoff,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1515(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1515); + } + + offset = srvsvc_dissect_element_NetSrvInfo1515_enableforcedlogoff(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 timesource; */ +/* IDL: } srvsvc_NetSrvInfo1516; */ + +static int +srvsvc_dissect_element_NetSrvInfo1516_timesource(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1516_timesource,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1516(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1516); + } + + offset = srvsvc_dissect_element_NetSrvInfo1516_timesource(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 lmannounce; */ +/* IDL: } srvsvc_NetSrvInfo1518; */ + +static int +srvsvc_dissect_element_NetSrvInfo1518_lmannounce(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1518_lmannounce,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1518(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1518); + } + + offset = srvsvc_dissect_element_NetSrvInfo1518_lmannounce(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxcopyreadlen; */ +/* IDL: } srvsvc_NetSrvInfo1520; */ + +static int +srvsvc_dissect_element_NetSrvInfo1520_maxcopyreadlen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1520_maxcopyreadlen,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1520(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1520); + } + + offset = srvsvc_dissect_element_NetSrvInfo1520_maxcopyreadlen(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxcopywritelen; */ +/* IDL: } srvsvc_NetSrvInfo1521; */ + +static int +srvsvc_dissect_element_NetSrvInfo1521_maxcopywritelen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1521_maxcopywritelen,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1521(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1521); + } + + offset = srvsvc_dissect_element_NetSrvInfo1521_maxcopywritelen(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 minkeepsearch; */ +/* IDL: } srvsvc_NetSrvInfo1522; */ + +static int +srvsvc_dissect_element_NetSrvInfo1522_minkeepsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1522_minkeepsearch,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1522(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1522); + } + + offset = srvsvc_dissect_element_NetSrvInfo1522_minkeepsearch(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxkeepsearch; */ +/* IDL: } srvsvc_NetSrvInfo1523; */ + +static int +srvsvc_dissect_element_NetSrvInfo1523_maxkeepsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1523_maxkeepsearch,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1523(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1523); + } + + offset = srvsvc_dissect_element_NetSrvInfo1523_maxkeepsearch(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 minkeepcomplsearch; */ +/* IDL: } srvsvc_NetSrvInfo1524; */ + +static int +srvsvc_dissect_element_NetSrvInfo1524_minkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1524_minkeepcomplsearch,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1524(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1524); + } + + offset = srvsvc_dissect_element_NetSrvInfo1524_minkeepcomplsearch(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxkeepcomplsearch; */ +/* IDL: } srvsvc_NetSrvInfo1525; */ + +static int +srvsvc_dissect_element_NetSrvInfo1525_maxkeepcomplsearch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1525_maxkeepcomplsearch,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1525(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1525); + } + + offset = srvsvc_dissect_element_NetSrvInfo1525_maxkeepcomplsearch(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 scavtimeout; */ +/* IDL: } srvsvc_NetSrvInfo1528; */ + +static int +srvsvc_dissect_element_NetSrvInfo1528_scavtimeout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1528_scavtimeout,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1528(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1528); + } + + offset = srvsvc_dissect_element_NetSrvInfo1528_scavtimeout(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 minrcvqueue; */ +/* IDL: } srvsvc_NetSrvInfo1529; */ + +static int +srvsvc_dissect_element_NetSrvInfo1529_minrcvqueue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1529_minrcvqueue,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1529(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1529); + } + + offset = srvsvc_dissect_element_NetSrvInfo1529_minrcvqueue(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 minfreeworkitems; */ +/* IDL: } srvsvc_NetSrvInfo1530; */ + +static int +srvsvc_dissect_element_NetSrvInfo1530_minfreeworkitems(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1530_minfreeworkitems,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1530(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1530); + } + + offset = srvsvc_dissect_element_NetSrvInfo1530_minfreeworkitems(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxmpxct; */ +/* IDL: } srvsvc_NetSrvInfo1533; */ + +static int +srvsvc_dissect_element_NetSrvInfo1533_maxmpxct(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1533_maxmpxct,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1533(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1533); + } + + offset = srvsvc_dissect_element_NetSrvInfo1533_maxmpxct(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 oplockbreakwait; */ +/* IDL: } srvsvc_NetSrvInfo1534; */ + +static int +srvsvc_dissect_element_NetSrvInfo1534_oplockbreakwait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1534_oplockbreakwait,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1534(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1534); + } + + offset = srvsvc_dissect_element_NetSrvInfo1534_oplockbreakwait(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 oplockbreakresponsewait; */ +/* IDL: } srvsvc_NetSrvInfo1535; */ + +static int +srvsvc_dissect_element_NetSrvInfo1535_oplockbreakresponsewait(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1535_oplockbreakresponsewait,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1535(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1535); + } + + offset = srvsvc_dissect_element_NetSrvInfo1535_oplockbreakresponsewait(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 enableoplocks; */ +/* IDL: } srvsvc_NetSrvInfo1536; */ + +static int +srvsvc_dissect_element_NetSrvInfo1536_enableoplocks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1536_enableoplocks,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1536(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1536); + } + + offset = srvsvc_dissect_element_NetSrvInfo1536_enableoplocks(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 enableoplockforceclose; */ +/* IDL: } srvsvc_NetSrvInfo1537; */ + +static int +srvsvc_dissect_element_NetSrvInfo1537_enableoplockforceclose(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1537_enableoplockforceclose,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1537(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1537); + } + + offset = srvsvc_dissect_element_NetSrvInfo1537_enableoplockforceclose(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 enablefcbopens; */ +/* IDL: } srvsvc_NetSrvInfo1538; */ + +static int +srvsvc_dissect_element_NetSrvInfo1538_enablefcbopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1538_enablefcbopens,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1538(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1538); + } + + offset = srvsvc_dissect_element_NetSrvInfo1538_enablefcbopens(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 enableraw; */ +/* IDL: } srvsvc_NetSrvInfo1539; */ + +static int +srvsvc_dissect_element_NetSrvInfo1539_enableraw(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1539_enableraw,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1539(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1539); + } + + offset = srvsvc_dissect_element_NetSrvInfo1539_enableraw(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 enablesharednetdrives; */ +/* IDL: } srvsvc_NetSrvInfo1540; */ + +static int +srvsvc_dissect_element_NetSrvInfo1540_enablesharednetdrives(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1540_enablesharednetdrives,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1540(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1540); + } + + offset = srvsvc_dissect_element_NetSrvInfo1540_enablesharednetdrives(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 minfreeconnections; */ +/* IDL: } srvsvc_NetSrvInfo1541; */ + +static int +srvsvc_dissect_element_NetSrvInfo1541_minfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1541_minfreeconnections,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1541(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1541); + } + + offset = srvsvc_dissect_element_NetSrvInfo1541_minfreeconnections(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxfreeconnections; */ +/* IDL: } srvsvc_NetSrvInfo1542; */ + +static int +srvsvc_dissect_element_NetSrvInfo1542_maxfreeconnections(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1542_maxfreeconnections,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1542(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1542); + } + + offset = srvsvc_dissect_element_NetSrvInfo1542_maxfreeconnections(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 initsesstable; */ +/* IDL: } srvsvc_NetSrvInfo1543; */ + +static int +srvsvc_dissect_element_NetSrvInfo1543_initsesstable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1543_initsesstable,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1543(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1543); + } + + offset = srvsvc_dissect_element_NetSrvInfo1543_initsesstable(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 initconntable; */ +/* IDL: } srvsvc_NetSrvInfo1544; */ + +static int +srvsvc_dissect_element_NetSrvInfo1544_initconntable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1544_initconntable,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1544(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1544); + } + + offset = srvsvc_dissect_element_NetSrvInfo1544_initconntable(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 initfiletable; */ +/* IDL: } srvsvc_NetSrvInfo1545; */ + +static int +srvsvc_dissect_element_NetSrvInfo1545_initfiletable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1545_initfiletable,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1545(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1545); + } + + offset = srvsvc_dissect_element_NetSrvInfo1545_initfiletable(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 initsearchtable; */ +/* IDL: } srvsvc_NetSrvInfo1546; */ + +static int +srvsvc_dissect_element_NetSrvInfo1546_initsearchtable(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1546_initsearchtable,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1546(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1546); + } + + offset = srvsvc_dissect_element_NetSrvInfo1546_initsearchtable(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 alertsched; */ +/* IDL: } srvsvc_NetSrvInfo1547; */ + +static int +srvsvc_dissect_element_NetSrvInfo1547_alertsched(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1547_alertsched,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1547(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1547); + } + + offset = srvsvc_dissect_element_NetSrvInfo1547_alertsched(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 errortreshold; */ +/* IDL: } srvsvc_NetSrvInfo1548; */ + +static int +srvsvc_dissect_element_NetSrvInfo1548_errortreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1548_errortreshold,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1548(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1548); + } + + offset = srvsvc_dissect_element_NetSrvInfo1548_errortreshold(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 networkerrortreshold; */ +/* IDL: } srvsvc_NetSrvInfo1549; */ + +static int +srvsvc_dissect_element_NetSrvInfo1549_networkerrortreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1549_networkerrortreshold,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1549(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1549); + } + + offset = srvsvc_dissect_element_NetSrvInfo1549_networkerrortreshold(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 diskspacetreshold; */ +/* IDL: } srvsvc_NetSrvInfo1550; */ + +static int +srvsvc_dissect_element_NetSrvInfo1550_diskspacetreshold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1550_diskspacetreshold,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1550(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1550); + } + + offset = srvsvc_dissect_element_NetSrvInfo1550_diskspacetreshold(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxlinkdelay; */ +/* IDL: } srvsvc_NetSrvInfo1552; */ + +static int +srvsvc_dissect_element_NetSrvInfo1552_maxlinkdelay(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1552_maxlinkdelay,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1552(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1552); + } + + offset = srvsvc_dissect_element_NetSrvInfo1552_maxlinkdelay(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 minlinkthroughput; */ +/* IDL: } srvsvc_NetSrvInfo1553; */ + +static int +srvsvc_dissect_element_NetSrvInfo1553_minlinkthroughput(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1553_minlinkthroughput,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1553(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1553); + } + + offset = srvsvc_dissect_element_NetSrvInfo1553_minlinkthroughput(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 linkinfovalidtime; */ +/* IDL: } srvsvc_NetSrvInfo1554; */ + +static int +srvsvc_dissect_element_NetSrvInfo1554_linkinfovalidtime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1554_linkinfovalidtime,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1554(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1554); + } + + offset = srvsvc_dissect_element_NetSrvInfo1554_linkinfovalidtime(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 scavqosinfoupdatetime; */ +/* IDL: } srvsvc_NetSrvInfo1555; */ + +static int +srvsvc_dissect_element_NetSrvInfo1555_scavqosinfoupdatetime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1555_scavqosinfoupdatetime,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1555(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1555); + } + + offset = srvsvc_dissect_element_NetSrvInfo1555_scavqosinfoupdatetime(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 maxworkitemidletime; */ +/* IDL: } srvsvc_NetSrvInfo1556; */ + +static int +srvsvc_dissect_element_NetSrvInfo1556_maxworkitemidletime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvInfo1556_maxworkitemidletime,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetSrvInfo1556(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo1556); + } + + offset = srvsvc_dissect_element_NetSrvInfo1556_maxworkitemidletime(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef union { */ +/* IDL: [case(100)] [keepref(1)] [unique(1)] [case(100)] srvsvc_NetSrvInfo100 *info100; */ +/* IDL: [case(101)] [keepref(1)] [unique(1)] [case(101)] srvsvc_NetSrvInfo101 *info101; */ +/* IDL: [case(102)] [keepref(1)] [unique(1)] [case(102)] srvsvc_NetSrvInfo102 *info102; */ +/* IDL: [case(402)] [keepref(1)] [unique(1)] [case(402)] srvsvc_NetSrvInfo402 *info402; */ +/* IDL: [case(403)] [keepref(1)] [unique(1)] [case(403)] srvsvc_NetSrvInfo403 *info403; */ +/* IDL: [case(502)] [keepref(1)] [unique(1)] [case(502)] srvsvc_NetSrvInfo502 *info502; */ +/* IDL: [case(503)] [keepref(1)] [unique(1)] [case(503)] srvsvc_NetSrvInfo503 *info503; */ +/* IDL: [case(599)] [keepref(1)] [unique(1)] [case(599)] srvsvc_NetSrvInfo599 *info599; */ +/* IDL: [case(1005)] [keepref(1)] [unique(1)] [case(1005)] srvsvc_NetSrvInfo1005 *info1005; */ +/* IDL: [case(1010)] [keepref(1)] [unique(1)] [case(1010)] srvsvc_NetSrvInfo1010 *info1010; */ +/* IDL: [case(1016)] [keepref(1)] [unique(1)] [case(1016)] srvsvc_NetSrvInfo1016 *info1016; */ +/* IDL: [case(1017)] [keepref(1)] [unique(1)] [case(1017)] srvsvc_NetSrvInfo1017 *info1017; */ +/* IDL: [case(1018)] [keepref(1)] [unique(1)] [case(1018)] srvsvc_NetSrvInfo1018 *info1018; */ +/* IDL: [case(1107)] [keepref(1)] [unique(1)] [case(1107)] srvsvc_NetSrvInfo1107 *info1107; */ +/* IDL: [case(1501)] [keepref(1)] [unique(1)] [case(1501)] srvsvc_NetSrvInfo1501 *info1501; */ +/* IDL: [case(1502)] [keepref(1)] [unique(1)] [case(1502)] srvsvc_NetSrvInfo1502 *info1502; */ +/* IDL: [case(1503)] [keepref(1)] [unique(1)] [case(1503)] srvsvc_NetSrvInfo1503 *info1503; */ +/* IDL: [case(1506)] [keepref(1)] [unique(1)] [case(1506)] srvsvc_NetSrvInfo1506 *info1506; */ +/* IDL: [case(1509)] [keepref(1)] [unique(1)] [case(1509)] srvsvc_NetSrvInfo1509 *info1509; */ +/* IDL: [case(1510)] [keepref(1)] [unique(1)] [case(1510)] srvsvc_NetSrvInfo1510 *info1510; */ +/* IDL: [case(1511)] [keepref(1)] [unique(1)] [case(1511)] srvsvc_NetSrvInfo1511 *info1511; */ +/* IDL: [case(1512)] [keepref(1)] [unique(1)] [case(1512)] srvsvc_NetSrvInfo1512 *info1512; */ +/* IDL: [case(1513)] [keepref(1)] [unique(1)] [case(1513)] srvsvc_NetSrvInfo1513 *info1513; */ +/* IDL: [case(1514)] [keepref(1)] [unique(1)] [case(1514)] srvsvc_NetSrvInfo1514 *info1514; */ +/* IDL: [case(1515)] [keepref(1)] [unique(1)] [case(1515)] srvsvc_NetSrvInfo1515 *info1515; */ +/* IDL: [case(1516)] [keepref(1)] [unique(1)] [case(1516)] srvsvc_NetSrvInfo1516 *info1516; */ +/* IDL: [case(1518)] [keepref(1)] [unique(1)] [case(1518)] srvsvc_NetSrvInfo1518 *info1518; */ +/* IDL: [case(1520)] [keepref(1)] [unique(1)] [case(1520)] srvsvc_NetSrvInfo1520 *info1520; */ +/* IDL: [case(1521)] [keepref(1)] [unique(1)] [case(1521)] srvsvc_NetSrvInfo1521 *info1521; */ +/* IDL: [case(1522)] [keepref(1)] [unique(1)] [case(1522)] srvsvc_NetSrvInfo1522 *info1522; */ +/* IDL: [case(1523)] [keepref(1)] [unique(1)] [case(1523)] srvsvc_NetSrvInfo1523 *info1523; */ +/* IDL: [case(1524)] [keepref(1)] [unique(1)] [case(1524)] srvsvc_NetSrvInfo1524 *info1524; */ +/* IDL: [case(1525)] [keepref(1)] [unique(1)] [case(1525)] srvsvc_NetSrvInfo1525 *info1525; */ +/* IDL: [case(1528)] [keepref(1)] [unique(1)] [case(1528)] srvsvc_NetSrvInfo1528 *info1528; */ +/* IDL: [case(1529)] [keepref(1)] [unique(1)] [case(1529)] srvsvc_NetSrvInfo1529 *info1529; */ +/* IDL: [case(1530)] [keepref(1)] [unique(1)] [case(1530)] srvsvc_NetSrvInfo1530 *info1530; */ +/* IDL: [case(1533)] [keepref(1)] [unique(1)] [case(1533)] srvsvc_NetSrvInfo1533 *info1533; */ +/* IDL: [case(1534)] [keepref(1)] [unique(1)] [case(1534)] srvsvc_NetSrvInfo1534 *info1534; */ +/* IDL: [case(1535)] [keepref(1)] [unique(1)] [case(1535)] srvsvc_NetSrvInfo1535 *info1535; */ +/* IDL: [case(1536)] [keepref(1)] [unique(1)] [case(1536)] srvsvc_NetSrvInfo1536 *info1536; */ +/* IDL: [case(1537)] [keepref(1)] [unique(1)] [case(1537)] srvsvc_NetSrvInfo1537 *info1537; */ +/* IDL: [case(1538)] [keepref(1)] [unique(1)] [case(1538)] srvsvc_NetSrvInfo1538 *info1538; */ +/* IDL: [case(1539)] [keepref(1)] [unique(1)] [case(1539)] srvsvc_NetSrvInfo1539 *info1539; */ +/* IDL: [case(1540)] [keepref(1)] [unique(1)] [case(1540)] srvsvc_NetSrvInfo1540 *info1540; */ +/* IDL: [case(1541)] [keepref(1)] [unique(1)] [case(1541)] srvsvc_NetSrvInfo1541 *info1541; */ +/* IDL: [case(1542)] [keepref(1)] [unique(1)] [case(1542)] srvsvc_NetSrvInfo1542 *info1542; */ +/* IDL: [case(1543)] [keepref(1)] [unique(1)] [case(1543)] srvsvc_NetSrvInfo1543 *info1543; */ +/* IDL: [case(1544)] [keepref(1)] [unique(1)] [case(1544)] srvsvc_NetSrvInfo1544 *info1544; */ +/* IDL: [case(1545)] [keepref(1)] [unique(1)] [case(1545)] srvsvc_NetSrvInfo1545 *info1545; */ +/* IDL: [case(1546)] [keepref(1)] [unique(1)] [case(1546)] srvsvc_NetSrvInfo1546 *info1546; */ +/* IDL: [case(1547)] [keepref(1)] [unique(1)] [case(1547)] srvsvc_NetSrvInfo1547 *info1547; */ +/* IDL: [case(1548)] [keepref(1)] [unique(1)] [case(1548)] srvsvc_NetSrvInfo1548 *info1548; */ +/* IDL: [case(1549)] [keepref(1)] [unique(1)] [case(1549)] srvsvc_NetSrvInfo1549 *info1549; */ +/* IDL: [case(1550)] [keepref(1)] [unique(1)] [case(1550)] srvsvc_NetSrvInfo1550 *info1550; */ +/* IDL: [case(1552)] [keepref(1)] [unique(1)] [case(1552)] srvsvc_NetSrvInfo1552 *info1552; */ +/* IDL: [case(1553)] [keepref(1)] [unique(1)] [case(1553)] srvsvc_NetSrvInfo1553 *info1553; */ +/* IDL: [case(1554)] [keepref(1)] [unique(1)] [case(1554)] srvsvc_NetSrvInfo1554 *info1554; */ +/* IDL: [case(1555)] [keepref(1)] [unique(1)] [case(1555)] srvsvc_NetSrvInfo1555 *info1555; */ +/* IDL: [case(1556)] [keepref(1)] [unique(1)] [case(1556)] srvsvc_NetSrvInfo1556 *info1556; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetSrvInfo; */ + +static int +srvsvc_dissect_element_NetSrvInfo_info100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info100_, NDR_POINTER_UNIQUE, "Pointer to Info100 (srvsvc_NetSrvInfo100)",hf_srvsvc_srvsvc_NetSrvInfo_info100); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info100_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo100(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info100,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info101(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info101_, NDR_POINTER_UNIQUE, "Pointer to Info101 (srvsvc_NetSrvInfo101)",hf_srvsvc_srvsvc_NetSrvInfo_info101); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info101_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo101(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info101,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info102(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info102_, NDR_POINTER_UNIQUE, "Pointer to Info102 (srvsvc_NetSrvInfo102)",hf_srvsvc_srvsvc_NetSrvInfo_info102); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info102_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo102(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info102,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info402(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info402_, NDR_POINTER_UNIQUE, "Pointer to Info402 (srvsvc_NetSrvInfo402)",hf_srvsvc_srvsvc_NetSrvInfo_info402); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info402_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo402(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info402,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info403(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info403_, NDR_POINTER_UNIQUE, "Pointer to Info403 (srvsvc_NetSrvInfo403)",hf_srvsvc_srvsvc_NetSrvInfo_info403); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info403_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo403(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info403,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info502_, NDR_POINTER_UNIQUE, "Pointer to Info502 (srvsvc_NetSrvInfo502)",hf_srvsvc_srvsvc_NetSrvInfo_info502); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo502(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info502,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info503(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info503_, NDR_POINTER_UNIQUE, "Pointer to Info503 (srvsvc_NetSrvInfo503)",hf_srvsvc_srvsvc_NetSrvInfo_info503); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info503_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo503(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info503,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info599(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info599_, NDR_POINTER_UNIQUE, "Pointer to Info599 (srvsvc_NetSrvInfo599)",hf_srvsvc_srvsvc_NetSrvInfo_info599); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info599_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo599(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info599,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1005_, NDR_POINTER_UNIQUE, "Pointer to Info1005 (srvsvc_NetSrvInfo1005)",hf_srvsvc_srvsvc_NetSrvInfo_info1005); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1005_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1005(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1005,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1010(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1010_, NDR_POINTER_UNIQUE, "Pointer to Info1010 (srvsvc_NetSrvInfo1010)",hf_srvsvc_srvsvc_NetSrvInfo_info1010); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1010_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1010(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1010,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1016(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1016_, NDR_POINTER_UNIQUE, "Pointer to Info1016 (srvsvc_NetSrvInfo1016)",hf_srvsvc_srvsvc_NetSrvInfo_info1016); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1016_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1016(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1016,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1017(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1017_, NDR_POINTER_UNIQUE, "Pointer to Info1017 (srvsvc_NetSrvInfo1017)",hf_srvsvc_srvsvc_NetSrvInfo_info1017); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1017_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1017(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1017,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1018(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1018_, NDR_POINTER_UNIQUE, "Pointer to Info1018 (srvsvc_NetSrvInfo1018)",hf_srvsvc_srvsvc_NetSrvInfo_info1018); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1018_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1018(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1018,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1107(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1107_, NDR_POINTER_UNIQUE, "Pointer to Info1107 (srvsvc_NetSrvInfo1107)",hf_srvsvc_srvsvc_NetSrvInfo_info1107); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1107_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1107(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1107,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1501_, NDR_POINTER_UNIQUE, "Pointer to Info1501 (srvsvc_NetSrvInfo1501)",hf_srvsvc_srvsvc_NetSrvInfo_info1501); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1501(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1501,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1502_, NDR_POINTER_UNIQUE, "Pointer to Info1502 (srvsvc_NetSrvInfo1502)",hf_srvsvc_srvsvc_NetSrvInfo_info1502); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1502_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1502(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1502,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1503(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1503_, NDR_POINTER_UNIQUE, "Pointer to Info1503 (srvsvc_NetSrvInfo1503)",hf_srvsvc_srvsvc_NetSrvInfo_info1503); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1503_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1503(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1503,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1506(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1506_, NDR_POINTER_UNIQUE, "Pointer to Info1506 (srvsvc_NetSrvInfo1506)",hf_srvsvc_srvsvc_NetSrvInfo_info1506); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1506_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1506(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1506,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1509(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1509_, NDR_POINTER_UNIQUE, "Pointer to Info1509 (srvsvc_NetSrvInfo1509)",hf_srvsvc_srvsvc_NetSrvInfo_info1509); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1509_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1509(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1509,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1510(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1510_, NDR_POINTER_UNIQUE, "Pointer to Info1510 (srvsvc_NetSrvInfo1510)",hf_srvsvc_srvsvc_NetSrvInfo_info1510); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1510_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1510(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1510,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1511(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1511_, NDR_POINTER_UNIQUE, "Pointer to Info1511 (srvsvc_NetSrvInfo1511)",hf_srvsvc_srvsvc_NetSrvInfo_info1511); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1511_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1511(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1511,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1512(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1512_, NDR_POINTER_UNIQUE, "Pointer to Info1512 (srvsvc_NetSrvInfo1512)",hf_srvsvc_srvsvc_NetSrvInfo_info1512); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1512_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1512(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1512,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1513(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1513_, NDR_POINTER_UNIQUE, "Pointer to Info1513 (srvsvc_NetSrvInfo1513)",hf_srvsvc_srvsvc_NetSrvInfo_info1513); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1513_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1513(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1513,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1514(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1514_, NDR_POINTER_UNIQUE, "Pointer to Info1514 (srvsvc_NetSrvInfo1514)",hf_srvsvc_srvsvc_NetSrvInfo_info1514); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1514_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1514(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1514,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1515(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1515_, NDR_POINTER_UNIQUE, "Pointer to Info1515 (srvsvc_NetSrvInfo1515)",hf_srvsvc_srvsvc_NetSrvInfo_info1515); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1515_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1515(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1515,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1516(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1516_, NDR_POINTER_UNIQUE, "Pointer to Info1516 (srvsvc_NetSrvInfo1516)",hf_srvsvc_srvsvc_NetSrvInfo_info1516); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1516_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1516(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1516,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1518(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1518_, NDR_POINTER_UNIQUE, "Pointer to Info1518 (srvsvc_NetSrvInfo1518)",hf_srvsvc_srvsvc_NetSrvInfo_info1518); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1518_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1518(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1518,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1520(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1520_, NDR_POINTER_UNIQUE, "Pointer to Info1520 (srvsvc_NetSrvInfo1520)",hf_srvsvc_srvsvc_NetSrvInfo_info1520); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1520_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1520(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1520,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1521(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1521_, NDR_POINTER_UNIQUE, "Pointer to Info1521 (srvsvc_NetSrvInfo1521)",hf_srvsvc_srvsvc_NetSrvInfo_info1521); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1521_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1521(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1521,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1522(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1522_, NDR_POINTER_UNIQUE, "Pointer to Info1522 (srvsvc_NetSrvInfo1522)",hf_srvsvc_srvsvc_NetSrvInfo_info1522); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1522_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1522(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1522,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1523(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1523_, NDR_POINTER_UNIQUE, "Pointer to Info1523 (srvsvc_NetSrvInfo1523)",hf_srvsvc_srvsvc_NetSrvInfo_info1523); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1523_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1523(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1523,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1524(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1524_, NDR_POINTER_UNIQUE, "Pointer to Info1524 (srvsvc_NetSrvInfo1524)",hf_srvsvc_srvsvc_NetSrvInfo_info1524); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1524_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1524(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1524,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1525(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1525_, NDR_POINTER_UNIQUE, "Pointer to Info1525 (srvsvc_NetSrvInfo1525)",hf_srvsvc_srvsvc_NetSrvInfo_info1525); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1525_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1525(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1525,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1528(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1528_, NDR_POINTER_UNIQUE, "Pointer to Info1528 (srvsvc_NetSrvInfo1528)",hf_srvsvc_srvsvc_NetSrvInfo_info1528); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1528_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1528(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1528,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1529(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1529_, NDR_POINTER_UNIQUE, "Pointer to Info1529 (srvsvc_NetSrvInfo1529)",hf_srvsvc_srvsvc_NetSrvInfo_info1529); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1529_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1529(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1529,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1530(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1530_, NDR_POINTER_UNIQUE, "Pointer to Info1530 (srvsvc_NetSrvInfo1530)",hf_srvsvc_srvsvc_NetSrvInfo_info1530); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1530_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1530(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1530,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1533(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1533_, NDR_POINTER_UNIQUE, "Pointer to Info1533 (srvsvc_NetSrvInfo1533)",hf_srvsvc_srvsvc_NetSrvInfo_info1533); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1533_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1533(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1533,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1534(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1534_, NDR_POINTER_UNIQUE, "Pointer to Info1534 (srvsvc_NetSrvInfo1534)",hf_srvsvc_srvsvc_NetSrvInfo_info1534); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1534_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1534(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1534,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1535(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1535_, NDR_POINTER_UNIQUE, "Pointer to Info1535 (srvsvc_NetSrvInfo1535)",hf_srvsvc_srvsvc_NetSrvInfo_info1535); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1535_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1535(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1535,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1536(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1536_, NDR_POINTER_UNIQUE, "Pointer to Info1536 (srvsvc_NetSrvInfo1536)",hf_srvsvc_srvsvc_NetSrvInfo_info1536); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1536_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1536(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1536,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1537(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1537_, NDR_POINTER_UNIQUE, "Pointer to Info1537 (srvsvc_NetSrvInfo1537)",hf_srvsvc_srvsvc_NetSrvInfo_info1537); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1537_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1537(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1537,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1538(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1538_, NDR_POINTER_UNIQUE, "Pointer to Info1538 (srvsvc_NetSrvInfo1538)",hf_srvsvc_srvsvc_NetSrvInfo_info1538); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1538_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1538(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1538,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1539(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1539_, NDR_POINTER_UNIQUE, "Pointer to Info1539 (srvsvc_NetSrvInfo1539)",hf_srvsvc_srvsvc_NetSrvInfo_info1539); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1539_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1539(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1539,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1540(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1540_, NDR_POINTER_UNIQUE, "Pointer to Info1540 (srvsvc_NetSrvInfo1540)",hf_srvsvc_srvsvc_NetSrvInfo_info1540); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1540_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1540(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1540,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1541(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1541_, NDR_POINTER_UNIQUE, "Pointer to Info1541 (srvsvc_NetSrvInfo1541)",hf_srvsvc_srvsvc_NetSrvInfo_info1541); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1541_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1541(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1541,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1542(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1542_, NDR_POINTER_UNIQUE, "Pointer to Info1542 (srvsvc_NetSrvInfo1542)",hf_srvsvc_srvsvc_NetSrvInfo_info1542); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1542_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1542(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1542,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1543(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1543_, NDR_POINTER_UNIQUE, "Pointer to Info1543 (srvsvc_NetSrvInfo1543)",hf_srvsvc_srvsvc_NetSrvInfo_info1543); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1543_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1543(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1543,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1544(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1544_, NDR_POINTER_UNIQUE, "Pointer to Info1544 (srvsvc_NetSrvInfo1544)",hf_srvsvc_srvsvc_NetSrvInfo_info1544); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1544_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1544(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1544,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1545(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1545_, NDR_POINTER_UNIQUE, "Pointer to Info1545 (srvsvc_NetSrvInfo1545)",hf_srvsvc_srvsvc_NetSrvInfo_info1545); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1545_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1545(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1545,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1546(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1546_, NDR_POINTER_UNIQUE, "Pointer to Info1546 (srvsvc_NetSrvInfo1546)",hf_srvsvc_srvsvc_NetSrvInfo_info1546); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1546_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1546(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1546,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1547(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1547_, NDR_POINTER_UNIQUE, "Pointer to Info1547 (srvsvc_NetSrvInfo1547)",hf_srvsvc_srvsvc_NetSrvInfo_info1547); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1547_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1547(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1547,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1548(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1548_, NDR_POINTER_UNIQUE, "Pointer to Info1548 (srvsvc_NetSrvInfo1548)",hf_srvsvc_srvsvc_NetSrvInfo_info1548); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1548_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1548(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1548,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1549(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1549_, NDR_POINTER_UNIQUE, "Pointer to Info1549 (srvsvc_NetSrvInfo1549)",hf_srvsvc_srvsvc_NetSrvInfo_info1549); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1549_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1549(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1549,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1550(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1550_, NDR_POINTER_UNIQUE, "Pointer to Info1550 (srvsvc_NetSrvInfo1550)",hf_srvsvc_srvsvc_NetSrvInfo_info1550); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1550_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1550(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1550,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1552(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1552_, NDR_POINTER_UNIQUE, "Pointer to Info1552 (srvsvc_NetSrvInfo1552)",hf_srvsvc_srvsvc_NetSrvInfo_info1552); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1552_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1552(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1552,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1553(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1553_, NDR_POINTER_UNIQUE, "Pointer to Info1553 (srvsvc_NetSrvInfo1553)",hf_srvsvc_srvsvc_NetSrvInfo_info1553); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1553_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1553(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1553,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1554(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1554_, NDR_POINTER_UNIQUE, "Pointer to Info1554 (srvsvc_NetSrvInfo1554)",hf_srvsvc_srvsvc_NetSrvInfo_info1554); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1554_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1554(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1554,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1555(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1555_, NDR_POINTER_UNIQUE, "Pointer to Info1555 (srvsvc_NetSrvInfo1555)",hf_srvsvc_srvsvc_NetSrvInfo_info1555); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1555_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1555(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1555,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1556(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvInfo_info1556_, NDR_POINTER_UNIQUE, "Pointer to Info1556 (srvsvc_NetSrvInfo1556)",hf_srvsvc_srvsvc_NetSrvInfo_info1556); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvInfo_info1556_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetSrvInfo1556(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetSrvInfo_info1556,0); + + return offset; +} + +static int +srvsvc_dissect_NetSrvInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetSrvInfo"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetSrvInfo); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 100: + offset = srvsvc_dissect_element_NetSrvInfo_info100(tvb, offset, pinfo, tree, drep); + break; + + case 101: + offset = srvsvc_dissect_element_NetSrvInfo_info101(tvb, offset, pinfo, tree, drep); + break; + + case 102: + offset = srvsvc_dissect_element_NetSrvInfo_info102(tvb, offset, pinfo, tree, drep); + break; + + case 402: + offset = srvsvc_dissect_element_NetSrvInfo_info402(tvb, offset, pinfo, tree, drep); + break; + + case 403: + offset = srvsvc_dissect_element_NetSrvInfo_info403(tvb, offset, pinfo, tree, drep); + break; + + case 502: + offset = srvsvc_dissect_element_NetSrvInfo_info502(tvb, offset, pinfo, tree, drep); + break; + + case 503: + offset = srvsvc_dissect_element_NetSrvInfo_info503(tvb, offset, pinfo, tree, drep); + break; + + case 599: + offset = srvsvc_dissect_element_NetSrvInfo_info599(tvb, offset, pinfo, tree, drep); + break; + + case 1005: + offset = srvsvc_dissect_element_NetSrvInfo_info1005(tvb, offset, pinfo, tree, drep); + break; + + case 1010: + offset = srvsvc_dissect_element_NetSrvInfo_info1010(tvb, offset, pinfo, tree, drep); + break; + + case 1016: + offset = srvsvc_dissect_element_NetSrvInfo_info1016(tvb, offset, pinfo, tree, drep); + break; + + case 1017: + offset = srvsvc_dissect_element_NetSrvInfo_info1017(tvb, offset, pinfo, tree, drep); + break; + + case 1018: + offset = srvsvc_dissect_element_NetSrvInfo_info1018(tvb, offset, pinfo, tree, drep); + break; + + case 1107: + offset = srvsvc_dissect_element_NetSrvInfo_info1107(tvb, offset, pinfo, tree, drep); + break; + + case 1501: + offset = srvsvc_dissect_element_NetSrvInfo_info1501(tvb, offset, pinfo, tree, drep); + break; + + case 1502: + offset = srvsvc_dissect_element_NetSrvInfo_info1502(tvb, offset, pinfo, tree, drep); + break; + + case 1503: + offset = srvsvc_dissect_element_NetSrvInfo_info1503(tvb, offset, pinfo, tree, drep); + break; + + case 1506: + offset = srvsvc_dissect_element_NetSrvInfo_info1506(tvb, offset, pinfo, tree, drep); + break; + + case 1509: + offset = srvsvc_dissect_element_NetSrvInfo_info1509(tvb, offset, pinfo, tree, drep); + break; + + case 1510: + offset = srvsvc_dissect_element_NetSrvInfo_info1510(tvb, offset, pinfo, tree, drep); + break; + + case 1511: + offset = srvsvc_dissect_element_NetSrvInfo_info1511(tvb, offset, pinfo, tree, drep); + break; + + case 1512: + offset = srvsvc_dissect_element_NetSrvInfo_info1512(tvb, offset, pinfo, tree, drep); + break; + + case 1513: + offset = srvsvc_dissect_element_NetSrvInfo_info1513(tvb, offset, pinfo, tree, drep); + break; + + case 1514: + offset = srvsvc_dissect_element_NetSrvInfo_info1514(tvb, offset, pinfo, tree, drep); + break; + + case 1515: + offset = srvsvc_dissect_element_NetSrvInfo_info1515(tvb, offset, pinfo, tree, drep); + break; + + case 1516: + offset = srvsvc_dissect_element_NetSrvInfo_info1516(tvb, offset, pinfo, tree, drep); + break; + + case 1518: + offset = srvsvc_dissect_element_NetSrvInfo_info1518(tvb, offset, pinfo, tree, drep); + break; + + case 1520: + offset = srvsvc_dissect_element_NetSrvInfo_info1520(tvb, offset, pinfo, tree, drep); + break; + + case 1521: + offset = srvsvc_dissect_element_NetSrvInfo_info1521(tvb, offset, pinfo, tree, drep); + break; + + case 1522: + offset = srvsvc_dissect_element_NetSrvInfo_info1522(tvb, offset, pinfo, tree, drep); + break; + + case 1523: + offset = srvsvc_dissect_element_NetSrvInfo_info1523(tvb, offset, pinfo, tree, drep); + break; + + case 1524: + offset = srvsvc_dissect_element_NetSrvInfo_info1524(tvb, offset, pinfo, tree, drep); + break; + + case 1525: + offset = srvsvc_dissect_element_NetSrvInfo_info1525(tvb, offset, pinfo, tree, drep); + break; + + case 1528: + offset = srvsvc_dissect_element_NetSrvInfo_info1528(tvb, offset, pinfo, tree, drep); + break; + + case 1529: + offset = srvsvc_dissect_element_NetSrvInfo_info1529(tvb, offset, pinfo, tree, drep); + break; + + case 1530: + offset = srvsvc_dissect_element_NetSrvInfo_info1530(tvb, offset, pinfo, tree, drep); + break; + + case 1533: + offset = srvsvc_dissect_element_NetSrvInfo_info1533(tvb, offset, pinfo, tree, drep); + break; + + case 1534: + offset = srvsvc_dissect_element_NetSrvInfo_info1534(tvb, offset, pinfo, tree, drep); + break; + + case 1535: + offset = srvsvc_dissect_element_NetSrvInfo_info1535(tvb, offset, pinfo, tree, drep); + break; + + case 1536: + offset = srvsvc_dissect_element_NetSrvInfo_info1536(tvb, offset, pinfo, tree, drep); + break; + + case 1537: + offset = srvsvc_dissect_element_NetSrvInfo_info1537(tvb, offset, pinfo, tree, drep); + break; + + case 1538: + offset = srvsvc_dissect_element_NetSrvInfo_info1538(tvb, offset, pinfo, tree, drep); + break; + + case 1539: + offset = srvsvc_dissect_element_NetSrvInfo_info1539(tvb, offset, pinfo, tree, drep); + break; + + case 1540: + offset = srvsvc_dissect_element_NetSrvInfo_info1540(tvb, offset, pinfo, tree, drep); + break; + + case 1541: + offset = srvsvc_dissect_element_NetSrvInfo_info1541(tvb, offset, pinfo, tree, drep); + break; + + case 1542: + offset = srvsvc_dissect_element_NetSrvInfo_info1542(tvb, offset, pinfo, tree, drep); + break; + + case 1543: + offset = srvsvc_dissect_element_NetSrvInfo_info1543(tvb, offset, pinfo, tree, drep); + break; + + case 1544: + offset = srvsvc_dissect_element_NetSrvInfo_info1544(tvb, offset, pinfo, tree, drep); + break; + + case 1545: + offset = srvsvc_dissect_element_NetSrvInfo_info1545(tvb, offset, pinfo, tree, drep); + break; + + case 1546: + offset = srvsvc_dissect_element_NetSrvInfo_info1546(tvb, offset, pinfo, tree, drep); + break; + + case 1547: + offset = srvsvc_dissect_element_NetSrvInfo_info1547(tvb, offset, pinfo, tree, drep); + break; + + case 1548: + offset = srvsvc_dissect_element_NetSrvInfo_info1548(tvb, offset, pinfo, tree, drep); + break; + + case 1549: + offset = srvsvc_dissect_element_NetSrvInfo_info1549(tvb, offset, pinfo, tree, drep); + break; + + case 1550: + offset = srvsvc_dissect_element_NetSrvInfo_info1550(tvb, offset, pinfo, tree, drep); + break; + + case 1552: + offset = srvsvc_dissect_element_NetSrvInfo_info1552(tvb, offset, pinfo, tree, drep); + break; + + case 1553: + offset = srvsvc_dissect_element_NetSrvInfo_info1553(tvb, offset, pinfo, tree, drep); + break; + + case 1554: + offset = srvsvc_dissect_element_NetSrvInfo_info1554(tvb, offset, pinfo, tree, drep); + break; + + case 1555: + offset = srvsvc_dissect_element_NetSrvInfo_info1555(tvb, offset, pinfo, tree, drep); + break; + + case 1556: + offset = srvsvc_dissect_element_NetSrvInfo_info1556(tvb, offset, pinfo, tree, drep); + break; + + default: + break; + } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] [flag(LIBNDR_FLAG_STR_LEN4)] string disk; */ +/* IDL: } srvsvc_NetDiskInfo0; */ + +static int +srvsvc_dissect_element_NetDiskInfo0_disk(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + + return offset; +} + +int +srvsvc_dissect_struct_NetDiskInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetDiskInfo0); + } + + offset = srvsvc_dissect_element_NetDiskInfo0_disk(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [length_is(count)] [unique(1)] srvsvc_NetDiskInfo0 *disks; */ +/* IDL: } srvsvc_NetDiskInfo; */ + +static int +srvsvc_dissect_element_NetDiskInfo_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetDiskInfo_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetDiskInfo_disks(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetDiskInfo_disks_, NDR_POINTER_UNIQUE, "Pointer to Disks (srvsvc_NetDiskInfo0)",hf_srvsvc_srvsvc_NetDiskInfo_disks); + + return offset; +} + +static int +srvsvc_dissect_element_NetDiskInfo_disks_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetDiskInfo_disks__); + + return offset; +} + +static int +srvsvc_dissect_element_NetDiskInfo_disks__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetDiskInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetDiskInfo_disks,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetDiskInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetDiskInfo); + } + + offset = srvsvc_dissect_element_NetDiskInfo_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetDiskInfo_disks(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 start; */ +/* IDL: [keepref(1)] uint32 fopens; */ +/* IDL: [keepref(1)] uint32 devopens; */ +/* IDL: [keepref(1)] uint32 jobsqueued; */ +/* IDL: [keepref(1)] uint32 sopens; */ +/* IDL: [keepref(1)] uint32 stimeouts; */ +/* IDL: [keepref(1)] uint32 serrorout; */ +/* IDL: [keepref(1)] uint32 pwerrors; */ +/* IDL: [keepref(1)] uint32 permerrors; */ +/* IDL: [keepref(1)] uint32 syserrors; */ +/* IDL: [keepref(1)] uint32 bytessent_low; */ +/* IDL: [keepref(1)] uint32 bytessent_high; */ +/* IDL: [keepref(1)] uint32 bytesrcvd_low; */ +/* IDL: [keepref(1)] uint32 bytesrcvd_high; */ +/* IDL: [keepref(1)] uint32 avresponse; */ +/* IDL: [keepref(1)] uint32 reqbufneed; */ +/* IDL: [keepref(1)] uint32 bigbufneed; */ +/* IDL: } srvsvc_Statistics; */ + +static int +srvsvc_dissect_element_Statistics_start(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_start,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_fopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_fopens,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_devopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_devopens,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_jobsqueued(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_jobsqueued,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_sopens(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_sopens,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_stimeouts(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_stimeouts,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_serrorout(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_serrorout,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_pwerrors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_pwerrors,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_permerrors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_permerrors,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_syserrors(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_syserrors,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_bytessent_low(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_bytessent_low,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_bytessent_high(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_bytessent_high,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_bytesrcvd_low(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_bytesrcvd_low,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_bytesrcvd_high(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_bytesrcvd_high,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_avresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_avresponse,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_reqbufneed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_reqbufneed,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_Statistics_bigbufneed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_Statistics_bigbufneed,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_Statistics(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_Statistics); + } + + offset = srvsvc_dissect_element_Statistics_start(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_fopens(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_devopens(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_jobsqueued(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_sopens(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_stimeouts(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_serrorout(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_pwerrors(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_permerrors(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_syserrors(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_bytessent_low(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_bytessent_high(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_bytesrcvd_low(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_bytesrcvd_high(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_avresponse(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_reqbufneed(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_Statistics_bigbufneed(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 vcs; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *name; */ +/* IDL: [keepref(1)] [size_is(addr_len)] [unique(1)] uint8 *addr; */ +/* IDL: [keepref(1)] uint32 addr_len; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *net_addr; */ +/* IDL: } srvsvc_NetTransportInfo0; */ + +static int +srvsvc_dissect_element_NetTransportInfo0_vcs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo0_vcs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo0_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo0_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_srvsvc_srvsvc_NetTransportInfo0_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo0_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo0_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo0_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo0_addr_, NDR_POINTER_UNIQUE, "Pointer to Addr (uint8)",hf_srvsvc_srvsvc_NetTransportInfo0_addr); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo0_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo0_addr__); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo0_addr__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo0_addr,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo0_addr_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo0_addr_len,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo0_net_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo0_net_addr_, NDR_POINTER_UNIQUE, "Pointer to Net Addr (uint16)",hf_srvsvc_srvsvc_NetTransportInfo0_net_addr); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo0_net_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo0_net_addr, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetTransportInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetTransportInfo0); + } + + offset = srvsvc_dissect_element_NetTransportInfo0_vcs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo0_name(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo0_addr(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo0_addr_len(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo0_net_addr(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetTransportInfo0 *array; */ +/* IDL: } srvsvc_NetTransportCtr0; */ + +static int +srvsvc_dissect_element_NetTransportCtr0_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportCtr0_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr0_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr0_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetTransportInfo0)",hf_srvsvc_srvsvc_NetTransportCtr0_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr0_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr0_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr0_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportCtr0_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetTransportCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetTransportCtr0); + } + + offset = srvsvc_dissect_element_NetTransportCtr0_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportCtr0_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 vcs; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *name; */ +/* IDL: [keepref(1)] [size_is(addr_len)] [unique(1)] uint8 *addr; */ +/* IDL: [keepref(1)] uint32 addr_len; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *net_addr; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *domain; */ +/* IDL: } srvsvc_NetTransportInfo1; */ + +static int +srvsvc_dissect_element_NetTransportInfo1_vcs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo1_vcs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo1_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo1_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_srvsvc_srvsvc_NetTransportInfo1_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo1_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo1_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo1_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo1_addr_, NDR_POINTER_UNIQUE, "Pointer to Addr (uint8)",hf_srvsvc_srvsvc_NetTransportInfo1_addr); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo1_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo1_addr__); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo1_addr__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo1_addr,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo1_addr_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo1_addr_len,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo1_net_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo1_net_addr_, NDR_POINTER_UNIQUE, "Pointer to Net Addr (uint16)",hf_srvsvc_srvsvc_NetTransportInfo1_net_addr); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo1_net_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo1_net_addr, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo1_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo1_domain_, NDR_POINTER_UNIQUE, "Pointer to Domain (uint16)",hf_srvsvc_srvsvc_NetTransportInfo1_domain); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo1_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo1_domain, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +int +srvsvc_dissect_struct_NetTransportInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetTransportInfo1); + } + + offset = srvsvc_dissect_element_NetTransportInfo1_vcs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo1_name(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo1_addr(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo1_addr_len(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo1_net_addr(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo1_domain(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetTransportInfo1 *array; */ +/* IDL: } srvsvc_NetTransportCtr1; */ + +static int +srvsvc_dissect_element_NetTransportCtr1_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportCtr1_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr1_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr1_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetTransportInfo1)",hf_srvsvc_srvsvc_NetTransportCtr1_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr1_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr1_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr1_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportInfo1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportCtr1_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetTransportCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetTransportCtr1); + } + + offset = srvsvc_dissect_element_NetTransportCtr1_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportCtr1_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 vcs; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *name; */ +/* IDL: [keepref(1)] [size_is(addr_len)] [unique(1)] uint8 *addr; */ +/* IDL: [keepref(1)] uint32 addr_len; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *net_addr; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *domain; */ +/* IDL: [keepref(1)] uint32 unknown; */ +/* IDL: } srvsvc_NetTransportInfo2; */ + +static int +srvsvc_dissect_element_NetTransportInfo2_vcs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo2_vcs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo2_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_srvsvc_srvsvc_NetTransportInfo2_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo2_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo2_addr_, NDR_POINTER_UNIQUE, "Pointer to Addr (uint8)",hf_srvsvc_srvsvc_NetTransportInfo2_addr); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo2_addr__); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_addr__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo2_addr,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_addr_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo2_addr_len,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_net_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo2_net_addr_, NDR_POINTER_UNIQUE, "Pointer to Net Addr (uint16)",hf_srvsvc_srvsvc_NetTransportInfo2_net_addr); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_net_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo2_net_addr, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo2_domain_, NDR_POINTER_UNIQUE, "Pointer to Domain (uint16)",hf_srvsvc_srvsvc_NetTransportInfo2_domain); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo2_domain, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo2_unknown(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo2_unknown,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetTransportInfo2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetTransportInfo2); + } + + offset = srvsvc_dissect_element_NetTransportInfo2_vcs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo2_name(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo2_addr(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo2_addr_len(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo2_net_addr(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo2_domain(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo2_unknown(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetTransportInfo2 *array; */ +/* IDL: } srvsvc_NetTransportCtr2; */ + +static int +srvsvc_dissect_element_NetTransportCtr2_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportCtr2_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr2_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr2_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetTransportInfo2)",hf_srvsvc_srvsvc_NetTransportCtr2_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr2_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr2_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr2_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportInfo2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportCtr2_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetTransportCtr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetTransportCtr2); + } + + offset = srvsvc_dissect_element_NetTransportCtr2_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportCtr2_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 vcs; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *name; */ +/* IDL: [keepref(1)] [size_is(addr_len)] [unique(1)] uint8 *addr; */ +/* IDL: [keepref(1)] uint32 addr_len; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *net_addr; */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] uint16 *domain; */ +/* IDL: [keepref(1)] uint32 unknown1; */ +/* IDL: [keepref(1)] uint32 unknown2; */ +/* IDL: [keepref(1)] uint8 unknown3[256]; */ +/* IDL: } srvsvc_NetTransportInfo3; */ + +static int +srvsvc_dissect_element_NetTransportInfo3_vcs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo3_vcs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo3_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_srvsvc_srvsvc_NetTransportInfo3_name); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_name_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo3_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo3_addr_, NDR_POINTER_UNIQUE, "Pointer to Addr (uint8)",hf_srvsvc_srvsvc_NetTransportInfo3_addr); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo3_addr__); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_addr__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo3_addr,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_addr_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo3_addr_len,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_net_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo3_net_addr_, NDR_POINTER_UNIQUE, "Pointer to Net Addr (uint16)",hf_srvsvc_srvsvc_NetTransportInfo3_net_addr); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_net_addr_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo3_net_addr, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_domain(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportInfo3_domain_, NDR_POINTER_UNIQUE, "Pointer to Domain (uint16)",hf_srvsvc_srvsvc_NetTransportInfo3_domain); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_domain_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportInfo3_domain, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_unknown1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo3_unknown1,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_unknown2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo3_unknown2,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_unknown3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + int i; + for (i = 0; i < 256; i++) + offset = srvsvc_dissect_element_NetTransportInfo3_unknown3_(tvb, offset, pinfo, tree, drep); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo3_unknown3_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo3_unknown3,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetTransportInfo3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetTransportInfo3); + } + + offset = srvsvc_dissect_element_NetTransportInfo3_vcs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo3_name(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo3_addr(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo3_addr_len(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo3_net_addr(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo3_domain(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo3_unknown1(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo3_unknown2(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportInfo3_unknown3(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 count; */ +/* IDL: [keepref(1)] [size_is(count)] [unique(1)] srvsvc_NetTransportInfo3 *array; */ +/* IDL: } srvsvc_NetTransportCtr3; */ + +static int +srvsvc_dissect_element_NetTransportCtr3_count(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportCtr3_count,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr3_array(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr3_array_, NDR_POINTER_UNIQUE, "Pointer to Array (srvsvc_NetTransportInfo3)",hf_srvsvc_srvsvc_NetTransportCtr3_array); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr3_array_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr3_array__); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr3_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportInfo3(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportCtr3_array,0); + + return offset; +} + +int +srvsvc_dissect_struct_NetTransportCtr3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetTransportCtr3); + } + + offset = srvsvc_dissect_element_NetTransportCtr3_count(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetTransportCtr3_array(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef union { */ +/* IDL: [case(0)] [keepref(1)] [unique(1)] [case(0)] srvsvc_NetTransportCtr0 *ctr0; */ +/* IDL: [case(1)] [keepref(1)] [unique(1)] [case(1)] srvsvc_NetTransportCtr1 *ctr1; */ +/* IDL: [case(2)] [keepref(1)] [unique(1)] [case(2)] srvsvc_NetTransportCtr2 *ctr2; */ +/* IDL: [case(3)] [keepref(1)] [unique(1)] [case(3)] srvsvc_NetTransportCtr3 *ctr3; */ +/* IDL: [default] ; */ +/* IDL: } srvsvc_NetTransportCtr; */ + +static int +srvsvc_dissect_element_NetTransportCtr_ctr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr_ctr0_, NDR_POINTER_UNIQUE, "Pointer to Ctr0 (srvsvc_NetTransportCtr0)",hf_srvsvc_srvsvc_NetTransportCtr_ctr0); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportCtr0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportCtr_ctr0,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr_ctr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr_ctr1_, NDR_POINTER_UNIQUE, "Pointer to Ctr1 (srvsvc_NetTransportCtr1)",hf_srvsvc_srvsvc_NetTransportCtr_ctr1); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportCtr1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportCtr_ctr1,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr_ctr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr_ctr2_, NDR_POINTER_UNIQUE, "Pointer to Ctr2 (srvsvc_NetTransportCtr2)",hf_srvsvc_srvsvc_NetTransportCtr_ctr2); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr_ctr2_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportCtr2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportCtr_ctr2,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr_ctr3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportCtr_ctr3_, NDR_POINTER_UNIQUE, "Pointer to Ctr3 (srvsvc_NetTransportCtr3)",hf_srvsvc_srvsvc_NetTransportCtr_ctr3); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportCtr_ctr3_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportCtr3(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportCtr_ctr3,0); + + return offset; +} + +static int +srvsvc_dissect_NetTransportCtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetTransportCtr"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetTransportCtr); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 0: + offset = srvsvc_dissect_element_NetTransportCtr_ctr0(tvb, offset, pinfo, tree, drep); + break; + + case 1: + offset = srvsvc_dissect_element_NetTransportCtr_ctr1(tvb, offset, pinfo, tree, drep); + break; + + case 2: + offset = srvsvc_dissect_element_NetTransportCtr_ctr2(tvb, offset, pinfo, tree, drep); + break; + + case 3: + offset = srvsvc_dissect_element_NetTransportCtr_ctr3(tvb, offset, pinfo, tree, drep); + break; + + default: + break; + } + proto_item_set_len(item, offset-old_offset); + + return offset; +} +/* IDL: typedef struct { */ +/* IDL: [keepref(1)] uint32 elapsed; */ +/* IDL: [keepref(1)] uint32 msecs; */ +/* IDL: [keepref(1)] uint32 hours; */ +/* IDL: [keepref(1)] uint32 mins; */ +/* IDL: [keepref(1)] uint32 secs; */ +/* IDL: [keepref(1)] uint32 hunds; */ +/* IDL: [keepref(1)] int32 timezone; */ +/* IDL: [keepref(1)] uint32 tinterval; */ +/* IDL: [keepref(1)] uint32 day; */ +/* IDL: [keepref(1)] uint32 month; */ +/* IDL: [keepref(1)] uint32 year; */ +/* IDL: [keepref(1)] uint32 weekday; */ +/* IDL: } srvsvc_NetRemoteTODInfo; */ + +static int +srvsvc_dissect_element_NetRemoteTODInfo_elapsed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_elapsed,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_msecs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_msecs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_hours(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_hours,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_mins(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_mins,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_secs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_secs,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_hunds(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_hunds,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_timezone(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_timezone, NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_tinterval(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_tinterval,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_day(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_day,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_month(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_month,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_year(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_year,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTODInfo_weekday(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetRemoteTODInfo_weekday,NULL); + + return offset; +} + +int +srvsvc_dissect_struct_NetRemoteTODInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetRemoteTODInfo); + } + + offset = srvsvc_dissect_element_NetRemoteTODInfo_elapsed(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_msecs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_hours(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_mins(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_secs(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_hunds(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_timezone(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_tinterval(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_day(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_month(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_year(tvb, offset, pinfo, tree, drep); + + offset = srvsvc_dissect_element_NetRemoteTODInfo_weekday(tvb, offset, pinfo, tree, drep); + + + proto_item_set_len(item, offset-old_offset); + + return offset; +} + +/* IDL: typedef [switch_type(uint32)] union { */ +/* IDL: [case(0)] [keepref(1)] [case(0)] srvsvc_NetTransportInfo0 info0; */ +/* IDL: [case(1)] [keepref(1)] [case(1)] srvsvc_NetTransportInfo1 info1; */ +/* IDL: [case(2)] [keepref(1)] [case(2)] srvsvc_NetTransportInfo2 info2; */ +/* IDL: [case(3)] [keepref(1)] [case(3)] srvsvc_NetTransportInfo3 info3; */ +/* IDL: } srvsvc_NetTransportInfo; */ + +static int +srvsvc_dissect_element_NetTransportInfo_info0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportInfo_info0,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo_info1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportInfo1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportInfo_info1,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo_info2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportInfo2(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportInfo_info2,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportInfo_info3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportInfo3(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportInfo_info3,0); + + return offset; +} + +static int +srvsvc_dissect_NetTransportInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + int old_offset; + guint32 level; + + ALIGN_TO_4_BYTES; + + old_offset = offset; + if (parent_tree) { + item = proto_tree_add_text(parent_tree, tvb, offset, -1, "srvsvc_NetTransportInfo"); + tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetTransportInfo); + } + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level); + switch(level) { + case 0: + offset = srvsvc_dissect_element_NetTransportInfo_info0(tvb, offset, pinfo, tree, drep); + break; + + case 1: + offset = srvsvc_dissect_element_NetTransportInfo_info1(tvb, offset, pinfo, tree, drep); + break; + + case 2: + offset = srvsvc_dissect_element_NetTransportInfo_info2(tvb, offset, pinfo, tree, drep); + break; + + case 3: + offset = srvsvc_dissect_element_NetTransportInfo_info3(tvb, offset, pinfo, tree, drep); + break; + } + proto_item_set_len(item, offset-old_offset); return offset; } static int -srvsvc_dissect_netrnamecompare_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevEnum_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetCharDevEnum_server_unc); return offset; } - -/* - * IDL long NetrShareEnumSticky( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [out] level - * IDL [in] [out] [ref] SHARE_ENUM_STRUCT *share, - * IDL [in] long MaxLen, - * IDL [out] long Entries, - * IDL [in] [out] [unique] *ResumeHandle - * IDL ); - */ static int -srvsvc_dissect_netrshareenumsticky_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); + char *data; - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_ENUM_STRUCT, - NDR_POINTER_REF, "Shares", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_preferred_len, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevEnum_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); return offset; } + static int -srvsvc_dissect_netrshareenumsticky_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SHARE_ENUM_STRUCT, - NDR_POINTER_REF, "Shares", -1); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_num_entries, NULL); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_ENUM_HANDLE, - NDR_POINTER_UNIQUE, "Enum Handle", -1); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevEnum_level,NULL); return offset; } - -/* - * IDL long NetrShareDelStart( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [ref] wchar_t *Share, - * IDL [in] long reserved, - * IDL [out] [context_handle] hnd - * IDL ); - */ static int -srvsvc_dissect_netrsharedelstart_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Share", hf_srvsvc_share, 0); - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_srvsvc_reserved, NULL); + offset = srvsvc_dissect_NetCharDevCtr(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevEnum_ctr, 0); return offset; } + static int -srvsvc_dissect_netrsharedelstart_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep, - hf_srvsvc_hnd, NULL, NULL, TRUE, FALSE); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevEnum_max_buffer,NULL); return offset; } -/* - * IDL long NetrShareDelCommit( - * IDL [in] [out] [contect_handle] h - * IDL ); - */ static int -srvsvc_dissect_netrsharedelcommit_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep, - hf_srvsvc_hnd, NULL, NULL, TRUE, FALSE); + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevEnum_totalentries,NULL); return offset; } + static int -srvsvc_dissect_netrsharedelcommit_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep, - hf_srvsvc_hnd, NULL, NULL, TRUE, FALSE); - - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevEnum_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_srvsvc_srvsvc_NetCharDevEnum_resume_handle); return offset; } - -/* XXX dont know the out parameters. only the in parameters. - * - * IDL long NetrGetFileSecurity( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [unique] wchar_t *Share, - * IDL [in] [string] [ref] wchar_t *File, - * IDL [in] long requetedinformation - * IDL [out] [ref] SECDESC *securitysecriptor; 4byte-len followed by bytestring - * IDL ); - */ static int -srvsvc_dissect_netrgetfilesecurity_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Path", hf_srvsvc_path, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevEnum_resume_handle,NULL); return offset; } + +/* IDL: WERROR srvsvc_NetCharDevEnum( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [out] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] [in] srvsvc_NetCharDevCtr ctr, */ +/* IDL: [keepref(1)] [in] uint32 max_buffer, */ +/* IDL: [keepref(1)] [out] uint32 totalentries, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *resume_handle */ +/* IDL: ); */ + static int -srvsvc_dissect_netrgetfilesecurity_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_NetCharDevEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) { - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - lsa_dissect_sec_desc_buf_data, NDR_POINTER_REF, - "LSA SECURITY DESCRIPTOR data:", -1); + guint32 status; - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); + offset = srvsvc_dissect_element_NetCharDevEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetCharDevEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetCharDevEnum_totalentries(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetCharDevEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); return offset; } - -/* - * IDL long NetrSetFileSecurity( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [unique] wchar_t *Share, - * IDL [in] [string] [ref] wchar_t *File, - * IDL [in] long sequrityinformation - * IDL SECDESC [ref] *securitysecriptor; 4byte-len followed by bytestring - * IDL ); - */ static int -srvsvc_dissect_netrsetfilesecurity_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_NetCharDevEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) { - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Share", hf_srvsvc_share, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_REF, "Path", hf_srvsvc_path, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - lsa_dissect_sec_desc_buf_data, NDR_POINTER_REF, - "LSA SECURITY DESCRIPTOR data:", -1); - + offset = srvsvc_dissect_element_NetCharDevEnum_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevEnum_max_buffer(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); return offset; } + static int -srvsvc_dissect_netrsetfilesecurity_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevGetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevGetInfo_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetCharDevGetInfo_server_unc); return offset; } - -/* - * IDL long NetrServerTransportAddEx( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] long Level - * IDL [in] [ref] SERVER_XPORT_ENUM_STRUCT *sxes; - * IDL ); - */ static int -srvsvc_dissect_netrservertransportaddex_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevGetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); + char *data; - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_info_level, 0); - - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT, - NDR_POINTER_REF, "Transports", -1); + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevGetInfo_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); return offset; } + static int -srvsvc_dissect_netrservertransportaddex_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevGetInfo_device_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevGetInfo_device_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); return offset; } - -/* - * IDL long NetrServerSetServiceBitsEx( - * IDL [in] [string] [unique] wchar_t *ServerName, - * IDL [in] [string] [unique] wchar_t *EmulatedServerName, - * IDL [in] [string] [unique] wchar_t *Transport, - * IDL [in] long servicebitsofinterest - * IDL [in] long servicebits - * IDL [in] long updateimmediately - * IDL ); - */ static int -srvsvc_dissect_netrserversetservicebitsex_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Server", hf_srvsvc_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Emulated Server", - hf_srvsvc_emulated_server, 0); - - offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, drep, - NDR_POINTER_UNIQUE, "Transport", hf_srvsvc_transport, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_service_bits_of_interest, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_service_bits, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_srvsvc_update_immediately, NULL); + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevGetInfo_level,NULL); return offset; } + static int -srvsvc_dissect_netrserversetservicebitsex_reply(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - guint8 *drep) +srvsvc_dissect_element_NetCharDevGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - offset = dissect_doserror(tvb, offset, pinfo, tree, drep, - hf_srvsvc_rc, NULL); + offset = srvsvc_dissect_NetCharDevInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevGetInfo_info, 0); return offset; } +/* IDL: WERROR srvsvc_NetCharDevGetInfo( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 device_name[*], */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] srvsvc_NetCharDevInfo info */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetCharDevGetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetCharDevGetInfo_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetCharDevGetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetCharDevGetInfo_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevGetInfo_device_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevGetInfo_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevControl_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevControl_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetCharDevControl_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevControl_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevControl_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevControl_device_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevControl_device_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevControl_opcode(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevControl_opcode,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetCharDevControl( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 device_name[*], */ +/* IDL: [keepref(1)] [in] uint32 opcode */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetCharDevControl_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetCharDevControl_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetCharDevControl_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevControl_device_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevControl_opcode(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQEnum_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetCharDevQEnum_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQEnum_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQEnum_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQEnum_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetCharDevQEnum_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQEnum_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQEnum_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQEnum_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetCharDevQCtr(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQEnum_ctr, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQEnum_max_buffer,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQEnum_totalentries,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQEnum_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_srvsvc_srvsvc_NetCharDevQEnum_resume_handle); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQEnum_resume_handle,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetCharDevQEnum( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *user, */ +/* IDL: [keepref(1)] [out] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] [in] srvsvc_NetCharDevQCtr ctr, */ +/* IDL: [keepref(1)] [in] uint32 max_buffer, */ +/* IDL: [keepref(1)] [out] uint32 totalentries, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *resume_handle */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetCharDevQEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetCharDevQEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetCharDevQEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetCharDevQEnum_totalentries(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetCharDevQEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetCharDevQEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetCharDevQEnum_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQEnum_user(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQEnum_max_buffer(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQGetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQGetInfo_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetCharDevQGetInfo_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQGetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQGetInfo_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQGetInfo_queue_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQGetInfo_queue_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQGetInfo_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQGetInfo_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQGetInfo_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetCharDevQInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQGetInfo_info, 0); + + return offset; +} + +/* IDL: WERROR srvsvc_NetCharDevQGetInfo( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 queue_name[*], */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 user[*], */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] srvsvc_NetCharDevQInfo info */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetCharDevQGetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetCharDevQGetInfo_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetCharDevQGetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetCharDevQGetInfo_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQGetInfo_queue_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQGetInfo_user(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQGetInfo_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQSetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQSetInfo_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetCharDevQSetInfo_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQSetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQSetInfo_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQSetInfo_queue_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQSetInfo_queue_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQSetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQSetInfo_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQSetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetCharDevQInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQSetInfo_info, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQSetInfo_parm_error(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQSetInfo_parm_error_, NDR_POINTER_UNIQUE, "Pointer to Parm Error (uint32)",hf_srvsvc_srvsvc_NetCharDevQSetInfo_parm_error); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQSetInfo_parm_error_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetCharDevQSetInfo_parm_error,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetCharDevQSetInfo( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 queue_name[*], */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [in] srvsvc_NetCharDevQInfo info, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *parm_error */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetCharDevQSetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetCharDevQSetInfo_parm_error(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetCharDevQSetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetCharDevQSetInfo_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQSetInfo_queue_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQSetInfo_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQSetInfo_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQSetInfo_parm_error(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQPurge_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQPurge_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetCharDevQPurge_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQPurge_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQPurge_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQPurge_queue_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQPurge_queue_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +/* IDL: WERROR srvsvc_NetCharDevQPurge( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 queue_name[*] */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetCharDevQPurge_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetCharDevQPurge_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetCharDevQPurge_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQPurge_queue_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQPurgeSelf_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetCharDevQPurgeSelf_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetCharDevQPurgeSelf_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQPurgeSelf_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQPurgeSelf_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQPurgeSelf_queue_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQPurgeSelf_queue_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetCharDevQPurgeSelf_computer_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetCharDevQPurgeSelf_computer_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +/* IDL: WERROR srvsvc_NetCharDevQPurgeSelf( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 queue_name[*], */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 computer_name[*] */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetCharDevQPurgeSelf_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetCharDevQPurgeSelf_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetCharDevQPurgeSelf_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQPurgeSelf_queue_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetCharDevQPurgeSelf_computer_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetConnEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnEnum_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetConnEnum_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetConnEnum_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnEnum_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnEnum_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_srvsvc_srvsvc_NetConnEnum_path); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnEnum_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetConnEnum_path, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnEnum_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetConnCtr(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnEnum_ctr, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnEnum_max_buffer,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnEnum_totalentries,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetConnEnum_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_srvsvc_srvsvc_NetConnEnum_resume_handle); + + return offset; +} + +static int +srvsvc_dissect_element_NetConnEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetConnEnum_resume_handle,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetConnEnum( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *path, */ +/* IDL: [keepref(1)] [out] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] [in] srvsvc_NetConnCtr ctr, */ +/* IDL: [keepref(1)] [in] uint32 max_buffer, */ +/* IDL: [keepref(1)] [out] uint32 totalentries, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *resume_handle */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetConnEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetConnEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetConnEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetConnEnum_totalentries(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetConnEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetConnEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetConnEnum_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetConnEnum_path(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetConnEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetConnEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetConnEnum_max_buffer(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetConnEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileEnum_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetFileEnum_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetFileEnum_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileEnum_path_, NDR_POINTER_UNIQUE, "Pointer to Path (uint16)",hf_srvsvc_srvsvc_NetFileEnum_path); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetFileEnum_path, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileEnum_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetFileEnum_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetFileEnum_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileEnum_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetFileCtr(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileEnum_ctr, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileEnum_max_buffer,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileEnum_totalentries,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileEnum_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_srvsvc_srvsvc_NetFileEnum_resume_handle); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileEnum_resume_handle,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetFileEnum( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *path, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *user, */ +/* IDL: [keepref(1)] [out] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] [in] srvsvc_NetFileCtr ctr, */ +/* IDL: [keepref(1)] [in] uint32 max_buffer, */ +/* IDL: [keepref(1)] [out] uint32 totalentries, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *resume_handle */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetFileEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetFileEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetFileEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetFileEnum_totalentries(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetFileEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetFileEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetFileEnum_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetFileEnum_path(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetFileEnum_user(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetFileEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetFileEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetFileEnum_max_buffer(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetFileEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetFileGetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileGetInfo_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetFileGetInfo_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileGetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetFileGetInfo_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileGetInfo_fid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileGetInfo_fid,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileGetInfo_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetFileInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileGetInfo_info, 0); + + return offset; +} + +/* IDL: WERROR srvsvc_NetFileGetInfo( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [in] uint32 fid, */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] srvsvc_NetFileInfo info */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetFileGetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetFileGetInfo_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetFileGetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetFileGetInfo_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetFileGetInfo_fid(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetFileGetInfo_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetFileClose_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetFileClose_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetFileClose_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileClose_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetFileClose_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetFileClose_fid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetFileClose_fid,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetFileClose( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [in] uint32 fid */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetFileClose_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetFileClose_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetFileClose_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetFileClose_fid(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessEnum_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetSessEnum_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessEnum_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessEnum_client_, NDR_POINTER_UNIQUE, "Pointer to Client (uint16)",hf_srvsvc_srvsvc_NetSessEnum_client); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessEnum_client, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessEnum_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetSessEnum_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessEnum_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessEnum_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetSessCtr(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessEnum_ctr, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessEnum_max_buffer,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessEnum_totalentries,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessEnum_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_srvsvc_srvsvc_NetSessEnum_resume_handle); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessEnum_resume_handle,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetSessEnum( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *client, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *user, */ +/* IDL: [keepref(1)] [out] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] [in] srvsvc_NetSessCtr ctr, */ +/* IDL: [keepref(1)] [in] uint32 max_buffer, */ +/* IDL: [keepref(1)] [out] uint32 totalentries, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *resume_handle */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetSessEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetSessEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetSessEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetSessEnum_totalentries(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetSessEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetSessEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetSessEnum_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSessEnum_client(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSessEnum_user(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSessEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSessEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSessEnum_max_buffer(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSessEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetSessDel_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessDel_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetSessDel_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessDel_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessDel_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessDel_client(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessDel_client_, NDR_POINTER_UNIQUE, "Pointer to Client (uint16)",hf_srvsvc_srvsvc_NetSessDel_client); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessDel_client_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessDel_client, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessDel_user(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSessDel_user_, NDR_POINTER_UNIQUE, "Pointer to User (uint16)",hf_srvsvc_srvsvc_NetSessDel_user); + + return offset; +} + +static int +srvsvc_dissect_element_NetSessDel_user_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSessDel_user, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +/* IDL: WERROR srvsvc_NetSessDel( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *client, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *user */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetSessDel_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetSessDel_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetSessDel_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSessDel_client(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSessDel_user(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetShareAdd_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareAdd_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetShareAdd_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareAdd_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareAdd_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareAdd_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareAdd_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareAdd_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetShareInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareAdd_info, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareAdd_parm_error(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareAdd_parm_error_, NDR_POINTER_UNIQUE, "Pointer to Parm Error (uint32)",hf_srvsvc_srvsvc_NetShareAdd_parm_error); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareAdd_parm_error_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareAdd_parm_error,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetShareAdd( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [in] srvsvc_NetShareInfo info, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *parm_error */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetShareAdd_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetShareAdd_parm_error(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetShareAdd_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetShareAdd_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareAdd_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareAdd_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareAdd_parm_error(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnumAll_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareEnumAll_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetShareEnumAll_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnumAll_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareEnumAll_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnumAll_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareEnumAll_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnumAll_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetShareCtr(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareEnumAll_ctr, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnumAll_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareEnumAll_max_buffer,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnumAll_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareEnumAll_totalentries,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnumAll_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareEnumAll_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_srvsvc_srvsvc_NetShareEnumAll_resume_handle); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnumAll_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareEnumAll_resume_handle,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetShareEnumAll( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [out] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] [in] srvsvc_NetShareCtr ctr, */ +/* IDL: [keepref(1)] [in] uint32 max_buffer, */ +/* IDL: [keepref(1)] [out] uint32 totalentries, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *resume_handle */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetShareEnumAll_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetShareEnumAll_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetShareEnumAll_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetShareEnumAll_totalentries(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetShareEnumAll_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetShareEnumAll_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetShareEnumAll_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareEnumAll_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareEnumAll_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareEnumAll_max_buffer(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareEnumAll_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetShareGetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareGetInfo_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetShareGetInfo_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareGetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareGetInfo_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareGetInfo_share_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareGetInfo_share_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareGetInfo_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetShareInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareGetInfo_info, 0); + + return offset; +} + +/* IDL: WERROR srvsvc_NetShareGetInfo( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 share_name[*], */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] srvsvc_NetShareInfo info */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetShareGetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetShareGetInfo_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetShareGetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetShareGetInfo_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareGetInfo_share_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareGetInfo_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetShareSetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareSetInfo_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetShareSetInfo_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareSetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareSetInfo_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareSetInfo_share_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareSetInfo_share_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareSetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareSetInfo_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareSetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetShareInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareSetInfo_info, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareSetInfo_parm_error(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareSetInfo_parm_error_, NDR_POINTER_UNIQUE, "Pointer to Parm Error (uint32)",hf_srvsvc_srvsvc_NetShareSetInfo_parm_error); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareSetInfo_parm_error_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareSetInfo_parm_error,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetShareSetInfo( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 share_name[*], */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [in] srvsvc_NetShareInfo info, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *parm_error */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetShareSetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetShareSetInfo_parm_error(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetShareSetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetShareSetInfo_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareSetInfo_share_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareSetInfo_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareSetInfo_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareSetInfo_parm_error(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetShareDel_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareDel_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetShareDel_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDel_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareDel_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDel_share_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareDel_share_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDel_reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareDel_reserved,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetShareDel( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 share_name[*], */ +/* IDL: [keepref(1)] [in] uint32 reserved */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetShareDel_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetShareDel_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetShareDel_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareDel_share_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareDel_reserved(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelSticky_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareDelSticky_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetShareDelSticky_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelSticky_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareDelSticky_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelSticky_share_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareDelSticky_share_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelSticky_reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareDelSticky_reserved,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetShareDelSticky( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 share_name[*], */ +/* IDL: [keepref(1)] [in] uint32 reserved */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetShareDelSticky_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetShareDelSticky_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetShareDelSticky_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareDelSticky_share_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareDelSticky_reserved(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetShareCheck_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareCheck_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetShareCheck_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCheck_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareCheck_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCheck_device_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareCheck_device_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareCheck_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_enum_ShareType(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareCheck_type, 0); + + return offset; +} + +/* IDL: WERROR srvsvc_NetShareCheck( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 device_name[*], */ +/* IDL: [keepref(1)] [out] srvsvc_ShareType type */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetShareCheck_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetShareCheck_type(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetShareCheck_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetShareCheck_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareCheck_device_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetSrvGetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvGetInfo_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetSrvGetInfo_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvGetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvGetInfo_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvGetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvGetInfo_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvGetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetSrvInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvGetInfo_info, 0); + + return offset; +} + +/* IDL: WERROR srvsvc_NetSrvGetInfo( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] srvsvc_NetSrvInfo info */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetSrvGetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetSrvGetInfo_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetSrvGetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetSrvGetInfo_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSrvGetInfo_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetSrvSetInfo_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvSetInfo_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetSrvSetInfo_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvSetInfo_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSrvSetInfo_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvSetInfo_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvSetInfo_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvSetInfo_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetSrvInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvSetInfo_info, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvSetInfo_parm_error(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSrvSetInfo_parm_error_, NDR_POINTER_UNIQUE, "Pointer to Parm Error (uint32)",hf_srvsvc_srvsvc_NetSrvSetInfo_parm_error); + + return offset; +} + +static int +srvsvc_dissect_element_NetSrvSetInfo_parm_error_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSrvSetInfo_parm_error,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetSrvSetInfo( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [in] srvsvc_NetSrvInfo info, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *parm_error */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetSrvSetInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetSrvSetInfo_parm_error(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetSrvSetInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetSrvSetInfo_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSrvSetInfo_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSrvSetInfo_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSrvSetInfo_parm_error(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetDiskEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetDiskEnum_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetDiskEnum_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetDiskEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetDiskEnum_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetDiskEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetDiskEnum_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetDiskEnum_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetDiskInfo(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetDiskEnum_info,0); + + return offset; +} + +static int +srvsvc_dissect_element_NetDiskEnum_maxlen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetDiskEnum_maxlen,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetDiskEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetDiskEnum_totalentries,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetDiskEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetDiskEnum_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_srvsvc_srvsvc_NetDiskEnum_resume_handle); + + return offset; +} + +static int +srvsvc_dissect_element_NetDiskEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetDiskEnum_resume_handle,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetDiskEnum( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [out] [in] srvsvc_NetDiskInfo info, */ +/* IDL: [keepref(1)] [in] uint32 maxlen, */ +/* IDL: [keepref(1)] [out] uint32 totalentries, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *resume_handle */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetDiskEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetDiskEnum_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetDiskEnum_totalentries(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetDiskEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetDiskEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetDiskEnum_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetDiskEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetDiskEnum_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetDiskEnum_maxlen(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetDiskEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetServerStatisticsGet_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetServerStatisticsGet_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetServerStatisticsGet_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerStatisticsGet_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetServerStatisticsGet_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerStatisticsGet_service(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetServerStatisticsGet_service_, NDR_POINTER_UNIQUE, "Pointer to Service (uint16)",hf_srvsvc_srvsvc_NetServerStatisticsGet_service); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerStatisticsGet_service_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetServerStatisticsGet_service, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerStatisticsGet_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetServerStatisticsGet_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerStatisticsGet_options(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetServerStatisticsGet_options,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerStatisticsGet_stat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_Statistics(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetServerStatisticsGet_stat,0); + + return offset; +} + +/* IDL: WERROR srvsvc_NetServerStatisticsGet( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *service, */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [in] uint32 options, */ +/* IDL: [keepref(1)] [out] srvsvc_Statistics stat */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetServerStatisticsGet_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetServerStatisticsGet_stat(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetServerStatisticsGet_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetServerStatisticsGet_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetServerStatisticsGet_service(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetServerStatisticsGet_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetServerStatisticsGet_options(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetTransportAdd_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportAdd_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetTransportAdd_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportAdd_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportAdd_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportAdd_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportAdd_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportAdd_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetTransportInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportAdd_info, 0); + + return offset; +} + +/* IDL: WERROR srvsvc_NetTransportAdd( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [in] srvsvc_NetTransportInfo info */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetTransportAdd_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetTransportAdd_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetTransportAdd_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetTransportAdd_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetTransportAdd_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetTransportEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportEnum_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetTransportEnum_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportEnum_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportEnum_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportEnum_transports(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetTransportCtr(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportEnum_transports, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportEnum_max_buffer,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportEnum_totalentries,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportEnum_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_srvsvc_srvsvc_NetTransportEnum_resume_handle); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportEnum_resume_handle,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetTransportEnum( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [out] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] [in] srvsvc_NetTransportCtr transports, */ +/* IDL: [keepref(1)] [in] uint32 max_buffer, */ +/* IDL: [keepref(1)] [out] uint32 totalentries, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *resume_handle */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetTransportEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetTransportEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetTransportEnum_transports(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetTransportEnum_totalentries(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetTransportEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetTransportEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetTransportEnum_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetTransportEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetTransportEnum_transports(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetTransportEnum_max_buffer(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetTransportEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetTransportDel_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetTransportDel_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetTransportDel_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportDel_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetTransportDel_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportDel_unknown(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportDel_unknown,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetTransportDel_transport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetTransportInfo0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetTransportDel_transport,0); + + return offset; +} + +/* IDL: WERROR srvsvc_NetTransportDel( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [in] uint32 unknown, */ +/* IDL: [keepref(1)] [in] srvsvc_NetTransportInfo0 transport */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetTransportDel_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetTransportDel_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetTransportDel_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetTransportDel_unknown(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetTransportDel_transport(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTOD_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetRemoteTOD_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetRemoteTOD_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTOD_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetRemoteTOD_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTOD_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetRemoteTOD_info_, NDR_POINTER_UNIQUE, "Pointer to Info (srvsvc_NetRemoteTODInfo)",hf_srvsvc_srvsvc_NetRemoteTOD_info); + + return offset; +} + +static int +srvsvc_dissect_element_NetRemoteTOD_info_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_struct_NetRemoteTODInfo(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetRemoteTOD_info,0); + + return offset; +} + +/* IDL: WERROR srvsvc_NetRemoteTOD( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [out] [unique(1)] srvsvc_NetRemoteTODInfo *info */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetRemoteTOD_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetRemoteTOD_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetRemoteTOD_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetRemoteTOD_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetSetServiceBits_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSetServiceBits_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetSetServiceBits_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetSetServiceBits_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSetServiceBits_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSetServiceBits_transport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSetServiceBits_transport_, NDR_POINTER_UNIQUE, "Pointer to Transport (uint16)",hf_srvsvc_srvsvc_NetSetServiceBits_transport); + + return offset; +} + +static int +srvsvc_dissect_element_NetSetServiceBits_transport_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSetServiceBits_transport, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSetServiceBits_servicebits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSetServiceBits_servicebits,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetSetServiceBits_updateimmediately(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSetServiceBits_updateimmediately,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetSetServiceBits( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *transport, */ +/* IDL: [keepref(1)] [in] uint32 servicebits, */ +/* IDL: [keepref(1)] [in] uint32 updateimmediately */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetSetServiceBits_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetSetServiceBits_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetSetServiceBits_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSetServiceBits_transport(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSetServiceBits_servicebits(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSetServiceBits_updateimmediately(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetPathType_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetPathType_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetPathType_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathType_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPathType_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathType_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPathType_path, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathType_pathflags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetPathType_pathflags,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathType_pathtype(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetPathType_pathtype,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetPathType( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 path[*], */ +/* IDL: [keepref(1)] [in] uint32 pathflags, */ +/* IDL: [keepref(1)] [out] uint32 pathtype */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetPathType_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetPathType_pathtype(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetPathType_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetPathType_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathType_path(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathType_pathflags(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetPathCanonicalize_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetPathCanonicalize_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetPathCanonicalize_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCanonicalize_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPathCanonicalize_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCanonicalize_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPathCanonicalize_path, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCanonicalize_can_path(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetPathCanonicalize_can_path_); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCanonicalize_can_path_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint8(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetPathCanonicalize_can_path,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCanonicalize_maxbuf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetPathCanonicalize_maxbuf,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCanonicalize_prefix(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPathCanonicalize_prefix, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCanonicalize_pathtype(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetPathCanonicalize_pathtype,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCanonicalize_pathflags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetPathCanonicalize_pathflags,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetPathCanonicalize( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 path[*], */ +/* IDL: [keepref(1)] [size_is(maxbuf)] [out] uint8 can_path[*], */ +/* IDL: [keepref(1)] [in] uint32 maxbuf, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 prefix[*], */ +/* IDL: [keepref(1)] [out] [in] uint32 pathtype, */ +/* IDL: [keepref(1)] [in] uint32 pathflags */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetPathCanonicalize_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetPathCanonicalize_can_path(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetPathCanonicalize_pathtype(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetPathCanonicalize_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetPathCanonicalize_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathCanonicalize_path(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathCanonicalize_maxbuf(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathCanonicalize_prefix(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathCanonicalize_pathtype(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathCanonicalize_pathflags(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetPathCompare_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetPathCompare_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetPathCompare_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCompare_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPathCompare_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCompare_path1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPathCompare_path1, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCompare_path2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPathCompare_path2, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCompare_pathtype(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetPathCompare_pathtype,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetPathCompare_pathflags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetPathCompare_pathflags,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetPathCompare( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 path1[*], */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 path2[*], */ +/* IDL: [keepref(1)] [in] uint32 pathtype, */ +/* IDL: [keepref(1)] [in] uint32 pathflags */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetPathCompare_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetPathCompare_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetPathCompare_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathCompare_path1(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathCompare_path2(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathCompare_pathtype(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPathCompare_pathflags(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetNameValidate_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetNameValidate_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetNameValidate_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetNameValidate_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetNameValidate_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetNameValidate_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetNameValidate_name, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetNameValidate_name_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetNameValidate_name_type,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetNameValidate_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetNameValidate_flags,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetNameValidate( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 name[*], */ +/* IDL: [keepref(1)] [in] uint32 name_type, */ +/* IDL: [keepref(1)] [in] uint32 flags */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetNameValidate_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetNameValidate_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetNameValidate_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetNameValidate_name(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetNameValidate_name_type(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetNameValidate_flags(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +/* IDL: WERROR srvsvc_NETRPRNAMECANONICALIZE( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRPRNAMECANONICALIZE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRPRNAMECANONICALIZE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +static int +srvsvc_dissect_element_NetPRNameCompare_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetPRNameCompare_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetPRNameCompare_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetPRNameCompare_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPRNameCompare_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPRNameCompare_name1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPRNameCompare_name1, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPRNameCompare_name2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetPRNameCompare_name2, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetPRNameCompare_name_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetPRNameCompare_name_type,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetPRNameCompare_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetPRNameCompare_flags,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetPRNameCompare( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 name1[*], */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 name2[*], */ +/* IDL: [keepref(1)] [in] uint32 name_type, */ +/* IDL: [keepref(1)] [in] uint32 flags */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetPRNameCompare_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetPRNameCompare_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetPRNameCompare_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPRNameCompare_name1(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPRNameCompare_name2(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPRNameCompare_name_type(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetPRNameCompare_flags(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnum_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareEnum_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetShareEnum_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnum_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareEnum_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnum_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareEnum_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnum_ctr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetShareCtr(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareEnum_ctr, 0); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnum_max_buffer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareEnum_max_buffer,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnum_totalentries(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareEnum_totalentries,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnum_resume_handle(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareEnum_resume_handle_, NDR_POINTER_UNIQUE, "Pointer to Resume Handle (uint32)",hf_srvsvc_srvsvc_NetShareEnum_resume_handle); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareEnum_resume_handle_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareEnum_resume_handle,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetShareEnum( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [out] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [out] [in] srvsvc_NetShareCtr ctr, */ +/* IDL: [keepref(1)] [in] uint32 max_buffer, */ +/* IDL: [keepref(1)] [out] uint32 totalentries, */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] uint32 *resume_handle */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetShareEnum_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetShareEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetShareEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetShareEnum_totalentries(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = srvsvc_dissect_element_NetShareEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetShareEnum_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetShareEnum_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareEnum_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareEnum_ctr(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareEnum_max_buffer(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareEnum_resume_handle(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelStart_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareDelStart_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetShareDelStart_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelStart_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareDelStart_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelStart_share(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetShareDelStart_share, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelStart_reserved(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareDelStart_reserved,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelStart_hnd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareDelStart_hnd_, NDR_POINTER_UNIQUE, "Pointer to Hnd (policy_handle)",hf_srvsvc_srvsvc_NetShareDelStart_hnd); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelStart_hnd_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareDelStart_hnd, NULL, NULL, 0&0x01, 0&0x02); + + return offset; +} + +/* IDL: WERROR srvsvc_NetShareDelStart( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 share[*], */ +/* IDL: [keepref(1)] [in] uint32 reserved, */ +/* IDL: [keepref(1)] [out] [unique(1)] policy_handle *hnd */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetShareDelStart_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetShareDelStart_hnd(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetShareDelStart_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetShareDelStart_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareDelStart_share(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetShareDelStart_reserved(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelCommit_hnd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetShareDelCommit_hnd_, NDR_POINTER_UNIQUE, "Pointer to Hnd (policy_handle)",hf_srvsvc_srvsvc_NetShareDelCommit_hnd); + + return offset; +} + +static int +srvsvc_dissect_element_NetShareDelCommit_hnd_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareDelCommit_hnd, NULL, NULL, 0&0x01, 0&0x02); + + return offset; +} + +/* IDL: WERROR srvsvc_NetShareDelCommit( */ +/* IDL: [keepref(1)] [out] [unique(1)] [in] policy_handle *hnd */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetShareDelCommit_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetShareDelCommit_hnd(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetShareDelCommit_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetShareDelCommit_hnd(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetGetFileSecurity_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetGetFileSecurity_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetGetFileSecurity_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetGetFileSecurity_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetGetFileSecurity_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetGetFileSecurity_share(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetGetFileSecurity_share_, NDR_POINTER_UNIQUE, "Pointer to Share (uint16)",hf_srvsvc_srvsvc_NetGetFileSecurity_share); + + return offset; +} + +static int +srvsvc_dissect_element_NetGetFileSecurity_share_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetGetFileSecurity_share, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetGetFileSecurity_file(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetGetFileSecurity_file, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetGetFileSecurity_sd_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetGetFileSecurity_sd_buf_, NDR_POINTER_UNIQUE, "Pointer to Sd Buf (sec_desc_buf)",hf_srvsvc_srvsvc_NetGetFileSecurity_sd_buf); + + return offset; +} + +/* IDL: WERROR srvsvc_NetGetFileSecurity( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *share, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 file[*], */ +/* IDL: [keepref(1)] [in] security_secinfo securityinformation, */ +/* IDL: [keepref(1)] [out] [unique(1)] sec_desc_buf *sd_buf */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetGetFileSecurity_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = srvsvc_dissect_element_NetGetFileSecurity_sd_buf(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetGetFileSecurity_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetGetFileSecurity_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetGetFileSecurity_share(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetGetFileSecurity_file(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetGetFileSecurity_securityinformation(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetSetFileSecurity_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSetFileSecurity_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetSetFileSecurity_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetSetFileSecurity_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSetFileSecurity_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSetFileSecurity_share(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetSetFileSecurity_share_, NDR_POINTER_UNIQUE, "Pointer to Share (uint16)",hf_srvsvc_srvsvc_NetSetFileSecurity_share); + + return offset; +} + +static int +srvsvc_dissect_element_NetSetFileSecurity_share_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSetFileSecurity_share, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetSetFileSecurity_file(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetSetFileSecurity_file, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +/* IDL: WERROR srvsvc_NetSetFileSecurity( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *share, */ +/* IDL: [charset(UTF16)] [keepref(1)] [in] uint16 file[*], */ +/* IDL: [keepref(1)] [in] security_secinfo securityinformation, */ +/* IDL: [keepref(1)] [in] sec_desc_buf sd_buf */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetSetFileSecurity_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetSetFileSecurity_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetSetFileSecurity_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSetFileSecurity_share(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSetFileSecurity_file(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSetFileSecurity_securityinformation(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetSetFileSecurity_sd_buf(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetServerTransportAddEx_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetServerTransportAddEx_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetServerTransportAddEx_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerTransportAddEx_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetServerTransportAddEx_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerTransportAddEx_level(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetServerTransportAddEx_level,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerTransportAddEx_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = srvsvc_dissect_NetTransportInfo(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetServerTransportAddEx_info, 0); + + return offset; +} + +/* IDL: WERROR srvsvc_NetServerTransportAddEx( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [keepref(1)] [in] uint32 level, */ +/* IDL: [keepref(1)] [switch_is(level)] [in] srvsvc_NetTransportInfo info */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetServerTransportAddEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetServerTransportAddEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetServerTransportAddEx_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetServerTransportAddEx_level(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetServerTransportAddEx_info(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +static int +srvsvc_dissect_element_NetServerSetServiceBitsEx_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetServerSetServiceBitsEx_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerSetServiceBitsEx_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerSetServiceBitsEx_emulated_server_unc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetServerSetServiceBitsEx_emulated_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Emulated Server Unc (uint16)",hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_emulated_server_unc); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerSetServiceBitsEx_emulated_server_unc_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_emulated_server_unc, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerSetServiceBitsEx_transport(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, drep, srvsvc_dissect_element_NetServerSetServiceBitsEx_transport_, NDR_POINTER_UNIQUE, "Pointer to Transport (uint16)",hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_transport); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerSetServiceBitsEx_transport_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + char *data; + + offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint16), hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_transport, FALSE, &data); + proto_item_append_text(tree, ": %s", data); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerSetServiceBitsEx_servicebitsofinterest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_servicebitsofinterest,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerSetServiceBitsEx_servicebits(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_servicebits,NULL); + + return offset; +} + +static int +srvsvc_dissect_element_NetServerSetServiceBitsEx_updateimmediately(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_updateimmediately,NULL); + + return offset; +} + +/* IDL: WERROR srvsvc_NetServerSetServiceBitsEx( */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *emulated_server_unc, */ +/* IDL: [charset(UTF16)] [keepref(1)] [unique(1)] [in] uint16 *transport, */ +/* IDL: [keepref(1)] [in] uint32 servicebitsofinterest, */ +/* IDL: [keepref(1)] [in] uint32 servicebits, */ +/* IDL: [keepref(1)] [in] uint32 updateimmediately */ +/* IDL: ); */ + +static int +srvsvc_dissect_NetServerSetServiceBitsEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NetServerSetServiceBitsEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + offset = srvsvc_dissect_element_NetServerSetServiceBitsEx_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetServerSetServiceBitsEx_emulated_server_unc(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetServerSetServiceBitsEx_transport(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetServerSetServiceBitsEx_servicebitsofinterest(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetServerSetServiceBitsEx_servicebits(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + offset = srvsvc_dissect_element_NetServerSetServiceBitsEx_updateimmediately(tvb, offset, pinfo, tree, drep); + offset = dissect_deferred_pointers(pinfo, tvb, offset, drep); + return offset; +} + +/* IDL: WERROR srvsvc_NETRDFSGETVERSION( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRDFSGETVERSION_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRDFSGETVERSION_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +/* IDL: WERROR srvsvc_NETRDFSCREATELOCALPARTITION( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRDFSCREATELOCALPARTITION_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRDFSCREATELOCALPARTITION_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +/* IDL: WERROR srvsvc_NETRDFSDELETELOCALPARTITION( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRDFSDELETELOCALPARTITION_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRDFSDELETELOCALPARTITION_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +/* IDL: WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRDFSSETLOCALVOLUMESTATE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRDFSSETLOCALVOLUMESTATE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +/* IDL: WERROR srvsvc_NETRDFSSETSERVERINFO( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRDFSSETSERVERINFO_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRDFSSETSERVERINFO_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +/* IDL: WERROR srvsvc_NETRDFSCREATEEXITPOINT( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRDFSCREATEEXITPOINT_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRDFSCREATEEXITPOINT_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +/* IDL: WERROR srvsvc_NETRDFSDELETEEXITPOINT( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRDFSDELETEEXITPOINT_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRDFSDELETEEXITPOINT_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +/* IDL: WERROR srvsvc_NETRDFSMODIFYPREFIX( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRDFSMODIFYPREFIX_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRDFSMODIFYPREFIX_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +/* IDL: WERROR srvsvc_NETRDFSFIXLOCALVOLUME( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRDFSFIXLOCALVOLUME_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRDFSFIXLOCALVOLUME_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +/* IDL: WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRDFSMANAGERREPORTSITEINFO_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRDFSMANAGERREPORTSITEINFO_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} + +/* IDL: WERROR srvsvc_NETRSERVERTRANSPORTDELEX( */ +/* IDL: */ +/* IDL: ); */ + +static int +srvsvc_dissect_NETRSERVERTRANSPORTDELEX_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + guint32 status; + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_werror, &status); + + if (status != 0 && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, DOS_errors, "Unknown DOS error 0x%08x")); + + return offset; +} + +static int +srvsvc_dissect_NETRSERVERTRANSPORTDELEX_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +{ + return offset; +} - -/* - IDL } -*/ -static dcerpc_sub_dissector dcerpc_srvsvc_dissectors[] = { - {SRV_NETRCHARDEVENUM, "NetrCharDevEnum", - srvsvc_dissect_netrchardevenum_rqst, - srvsvc_dissect_netrchardevenum_reply}, - {SRV_NETRCHARDEVGETINFO, "NetrCharDevGetInfo", - srvsvc_dissect_netrchardevgetinfo_rqst, - srvsvc_dissect_netrchardevgetinfo_reply}, - {SRV_NETRCHARDEVCONTROL, "NetrCharDevControl", - srvsvc_dissect_netrchardevcontrol_rqst, - srvsvc_dissect_netrchardevcontrol_reply}, - {SRV_NETRCHARDEVQENUM, "NetrCharDevQEnum", - srvsvc_dissect_netrchardevqenum_rqst, - srvsvc_dissect_netrchardevqenum_reply}, - {SRV_NETRCHARDEVQGETINFO, "NetrCharDevQGetInfo", - srvsvc_dissect_netrchardevqgetinfo_rqst, - srvsvc_dissect_netrchardevqgetinfo_reply}, - {SRV_NETRCHARDEVQSETINFO, "NetrCharDevQSetInfo", - srvsvc_dissect_netrchardevqsetinfo_rqst, - srvsvc_dissect_netrchardevqsetinfo_reply}, - {SRV_NETRCHARDEVQPURGE, "NetrCharDevQPurge", - srvsvc_dissect_netrchardevqpurge_rqst, - srvsvc_dissect_netrchardevqpurge_reply}, - {SRV_NETRCHARDEVQPURGESELF, "NetrCharDevQPurgeSelf", - srvsvc_dissect_netrchardevqpurgeself_rqst, - srvsvc_dissect_netrchardevqpurgeself_reply}, - {SRV_NETRCONNECTIONENUM, "NetrConnectionEnum", - srvsvc_dissect_netrconnectionenum_rqst, - srvsvc_dissect_netrconnectionenum_reply}, - {SRV_NETRFILEENUM, "NetrFileEnum", - srvsvc_dissect_netrfileenum_rqst, - srvsvc_dissect_netrfileenum_reply}, - {SRV_NETRFILEGETINFO, "NetrFileGetInfo", - srvsvc_dissect_netrfilegetinfo_rqst, - srvsvc_dissect_netrfilegetinfo_reply}, - {SRV_NETRFILECLOSE, "NetrFileClose", - srvsvc_dissect_netrfileclose_rqst, - srvsvc_dissect_netrfileclose_reply}, - {SRV_NETRSESSIONENUM, "NetrSessionEnum", - srvsvc_dissect_netrsessionenum_rqst, - srvsvc_dissect_netrsessionenum_reply}, - {SRV_NETRSESSIONDEL, "NetrSessionDel", - srvsvc_dissect_netrsessiondel_rqst, - srvsvc_dissect_netrsessiondel_reply}, - {SRV_NETRSHAREADD, "NetrShareAdd", - srvsvc_dissect_netrshareadd_rqst, - srvsvc_dissect_netrshareadd_reply}, - {SRV_NETRSHAREENUM, "NetrShareEnum", - srvsvc_dissect_netrshareenum_rqst, - srvsvc_dissect_netrshareenum_reply}, - {SRV_NETRSHAREGETINFO, "NetrShareGetInfo", - srvsvc_dissect_netrsharegetinfo_rqst, - srvsvc_dissect_netrsharegetinfo_reply}, - {SRV_NETRSHARESETINFO, "NetrShareSetInfo", - srvsvc_dissect_netrsharesetinfo_rqst, - srvsvc_dissect_netrsharesetinfo_reply}, - {SRV_NETRSHAREDEL, "NetrShareDel", - srvsvc_dissect_netrsharedel_rqst, - srvsvc_dissect_netrsharedel_reply}, - {SRV_NETRSHAREDELSTICKY, "NetrShareDelSticky", - srvsvc_dissect_netrsharedelsticky_rqst, - srvsvc_dissect_netrsharedelsticky_reply}, - {SRV_NETRSHARECHECK, "NetrShareCheck", - srvsvc_dissect_netrsharecheck_rqst, - srvsvc_dissect_netrsharecheck_reply}, - {SRV_NETRSERVERGETINFO, "NetrServerGetInfo", - srvsvc_dissect_netrservergetinfo_rqst, - srvsvc_dissect_netrservergetinfo_reply}, - {SRV_NETRSERVERSETINFO, "NetrServerSetInfo", - srvsvc_dissect_netrserversetinfo_rqst, - srvsvc_dissect_netrserversetinfo_reply}, - {SRV_NETRSERVERDISKENUM, "NetrServerDiskEnum", - srvsvc_dissect_netrserverdiskenum_rqst, - srvsvc_dissect_netrserverdiskenum_reply}, - {SRV_NETRSERVERSTATISTICSGET, "NetrServerStatisticsGet", - srvsvc_dissect_netrserverstatisticsget_rqst, - srvsvc_dissect_netrserverstatisticsget_reply}, - {SRV_NETRSERVERTRANSPORTADD, "NetrServerTransportAdd", - srvsvc_dissect_netrservertransportadd_rqst, - srvsvc_dissect_netrservertransportadd_reply}, - {SRV_NETRSERVERTRANSPORTENUM, "NetrServerTransportEnum", - srvsvc_dissect_netrservertransportenum_rqst, - srvsvc_dissect_netrservertransportenum_reply}, - {SRV_NETRSERVERTRANSPORTDEL, "NetrServerTransportDel", - srvsvc_dissect_netrservertransportdel_rqst, - srvsvc_dissect_netrservertransportdel_reply}, - {SRV_NETRREMOTETOD, "NetrRemoteTOD", - srvsvc_dissect_netrremotetod_rqst, - srvsvc_dissect_netrremotetod_reply}, - {SRV_NETRSERVERSETSERVICEBITS, "NetrServerSetServiceBits", - srvsvc_dissect_netrsetserverservicebits_rqst, - srvsvc_dissect_netrsetserverservicebits_reply}, - {SRV_NETRPRPATHTYPE, "NetrpPathType", - srvsvc_dissect_netrpathtype_rqst, - srvsvc_dissect_netrpathtype_reply}, - {SRV_NETRPRPATHCANONICALIZE, "NetrpPathCanonicalize", - srvsvc_dissect_netrpathcanonicalize_rqst, - srvsvc_dissect_netrpathcanonicalize_reply}, - {SRV_NETRPRPATHCOMPARE, "NetrpPathCompare", - srvsvc_dissect_netrpathcompare_rqst, - srvsvc_dissect_netrpathcompare_reply}, - {SRV_NETRPRNAMEVALIDATE, "NetrpNameValidate", - srvsvc_dissect_netrnamevalidate_rqst, - srvsvc_dissect_netrnamevalidate_reply}, - {SRV_NETRPRNAMECANONICALIZE, "NetrpNameCanonicalize", - srvsvc_dissect_netrnamecanonicalize_rqst, - srvsvc_dissect_netrnamecanonicalize_reply}, - {SRV_NETRPRNAMECOMPARE, "NetrpNameCompare", - srvsvc_dissect_netrnamecompare_rqst, - srvsvc_dissect_netrnamecompare_reply}, - {SRV_NETRSHAREENUMSTICKY, "NetrShareEnumSticky", - srvsvc_dissect_netrshareenumsticky_rqst, - srvsvc_dissect_netrshareenumsticky_reply}, - {SRV_NETRSHAREDELSTART, "NetrShareDelStart", - srvsvc_dissect_netrsharedelstart_rqst, - srvsvc_dissect_netrsharedelstart_reply}, - {SRV_NETRSHAREDELCOMMIT, "NetrShareDelCommit", - srvsvc_dissect_netrsharedelcommit_rqst, - srvsvc_dissect_netrsharedelcommit_reply}, - {SRV_NETRPGETFILESECURITY, "NetrpGetFileSecurity", - srvsvc_dissect_netrgetfilesecurity_rqst, - srvsvc_dissect_netrgetfilesecurity_reply}, - {SRV_NETRPSETFILESECURITY, "NetrpSetFileSecurity", - srvsvc_dissect_netrsetfilesecurity_rqst, - srvsvc_dissect_netrsetfilesecurity_reply}, - {SRV_NETRSERVERTRANSPORTADDEX, "NetrServerTransportAddEx", - srvsvc_dissect_netrservertransportaddex_rqst, - srvsvc_dissect_netrservertransportaddex_reply}, - {SRV_NETRSERVERSETSERVICEBITSEX,"NetrServerSetServiceBitsEx", - srvsvc_dissect_netrserversetservicebitsex_rqst, - srvsvc_dissect_netrserversetservicebitsex_reply}, - { SRV_NETRDFSGETVERSION, "NetrDfsGetVersion", - NULL, NULL }, - { SRV_NETRDFSCREATELOCALPARTITION, "NetrDfsCreateLocalPartition", - NULL, NULL }, - { SRV_NETRDFSDELETELOCALPARTITION, "NetrDfsDeleteLocalPartition", - NULL, NULL }, - { SRV_NETRDFSSETLOCALVOLUMESTATE, "NetrDfsSetLocalVolumeState", - NULL, NULL }, - { SRV_NETRDFSSETSERVERINFO, "NetrDfsSetServerInfo", - NULL, NULL }, - { SRV_NETRDFSCREATEEXITPOINT, "NetrDfsCreateExitPoint", - NULL, NULL }, - { SRV_NETRDFSDELETEEXITPOINT, "NetrDfsDeleteExitPoint", - NULL, NULL }, - { SRV_NETRDFSMODIFYPREFIX, "NetrDfsModifyPrefix", - NULL, NULL }, - { SRV_NETRDFSFIXLOCALVOLUME, "NetrDfsFixLocalVolume", - NULL, NULL }, - { SRV_NETRDFSMANAGERREPORTSITEINFO, "NetrDfsManagerReportSiteInfo", - NULL, NULL }, - { SRV_NETRSERVERTRANSPORTDELEX, "NetrServerTransportDelEx", - NULL, NULL }, - {0, NULL, NULL, NULL} +static dcerpc_sub_dissector srvsvc_dissectors[] = { + { 0, "NetCharDevEnum", + srvsvc_dissect_NetCharDevEnum_request, srvsvc_dissect_NetCharDevEnum_response}, + { 1, "NetCharDevGetInfo", + srvsvc_dissect_NetCharDevGetInfo_request, srvsvc_dissect_NetCharDevGetInfo_response}, + { 2, "NetCharDevControl", + srvsvc_dissect_NetCharDevControl_request, srvsvc_dissect_NetCharDevControl_response}, + { 3, "NetCharDevQEnum", + srvsvc_dissect_NetCharDevQEnum_request, srvsvc_dissect_NetCharDevQEnum_response}, + { 4, "NetCharDevQGetInfo", + srvsvc_dissect_NetCharDevQGetInfo_request, srvsvc_dissect_NetCharDevQGetInfo_response}, + { 5, "NetCharDevQSetInfo", + srvsvc_dissect_NetCharDevQSetInfo_request, srvsvc_dissect_NetCharDevQSetInfo_response}, + { 6, "NetCharDevQPurge", + srvsvc_dissect_NetCharDevQPurge_request, srvsvc_dissect_NetCharDevQPurge_response}, + { 7, "NetCharDevQPurgeSelf", + srvsvc_dissect_NetCharDevQPurgeSelf_request, srvsvc_dissect_NetCharDevQPurgeSelf_response}, + { 8, "NetConnEnum", + srvsvc_dissect_NetConnEnum_request, srvsvc_dissect_NetConnEnum_response}, + { 9, "NetFileEnum", + srvsvc_dissect_NetFileEnum_request, srvsvc_dissect_NetFileEnum_response}, + { 10, "NetFileGetInfo", + srvsvc_dissect_NetFileGetInfo_request, srvsvc_dissect_NetFileGetInfo_response}, + { 11, "NetFileClose", + srvsvc_dissect_NetFileClose_request, srvsvc_dissect_NetFileClose_response}, + { 12, "NetSessEnum", + srvsvc_dissect_NetSessEnum_request, srvsvc_dissect_NetSessEnum_response}, + { 13, "NetSessDel", + srvsvc_dissect_NetSessDel_request, srvsvc_dissect_NetSessDel_response}, + { 14, "NetShareAdd", + srvsvc_dissect_NetShareAdd_request, srvsvc_dissect_NetShareAdd_response}, + { 15, "NetShareEnumAll", + srvsvc_dissect_NetShareEnumAll_request, srvsvc_dissect_NetShareEnumAll_response}, + { 16, "NetShareGetInfo", + srvsvc_dissect_NetShareGetInfo_request, srvsvc_dissect_NetShareGetInfo_response}, + { 17, "NetShareSetInfo", + srvsvc_dissect_NetShareSetInfo_request, srvsvc_dissect_NetShareSetInfo_response}, + { 18, "NetShareDel", + srvsvc_dissect_NetShareDel_request, srvsvc_dissect_NetShareDel_response}, + { 19, "NetShareDelSticky", + srvsvc_dissect_NetShareDelSticky_request, srvsvc_dissect_NetShareDelSticky_response}, + { 20, "NetShareCheck", + srvsvc_dissect_NetShareCheck_request, srvsvc_dissect_NetShareCheck_response}, + { 21, "NetSrvGetInfo", + srvsvc_dissect_NetSrvGetInfo_request, srvsvc_dissect_NetSrvGetInfo_response}, + { 22, "NetSrvSetInfo", + srvsvc_dissect_NetSrvSetInfo_request, srvsvc_dissect_NetSrvSetInfo_response}, + { 23, "NetDiskEnum", + srvsvc_dissect_NetDiskEnum_request, srvsvc_dissect_NetDiskEnum_response}, + { 24, "NetServerStatisticsGet", + srvsvc_dissect_NetServerStatisticsGet_request, srvsvc_dissect_NetServerStatisticsGet_response}, + { 25, "NetTransportAdd", + srvsvc_dissect_NetTransportAdd_request, srvsvc_dissect_NetTransportAdd_response}, + { 26, "NetTransportEnum", + srvsvc_dissect_NetTransportEnum_request, srvsvc_dissect_NetTransportEnum_response}, + { 27, "NetTransportDel", + srvsvc_dissect_NetTransportDel_request, srvsvc_dissect_NetTransportDel_response}, + { 28, "NetRemoteTOD", + srvsvc_dissect_NetRemoteTOD_request, srvsvc_dissect_NetRemoteTOD_response}, + { 29, "NetSetServiceBits", + srvsvc_dissect_NetSetServiceBits_request, srvsvc_dissect_NetSetServiceBits_response}, + { 30, "NetPathType", + srvsvc_dissect_NetPathType_request, srvsvc_dissect_NetPathType_response}, + { 31, "NetPathCanonicalize", + srvsvc_dissect_NetPathCanonicalize_request, srvsvc_dissect_NetPathCanonicalize_response}, + { 32, "NetPathCompare", + srvsvc_dissect_NetPathCompare_request, srvsvc_dissect_NetPathCompare_response}, + { 33, "NetNameValidate", + srvsvc_dissect_NetNameValidate_request, srvsvc_dissect_NetNameValidate_response}, + { 34, "NETRPRNAMECANONICALIZE", + srvsvc_dissect_NETRPRNAMECANONICALIZE_request, srvsvc_dissect_NETRPRNAMECANONICALIZE_response}, + { 35, "NetPRNameCompare", + srvsvc_dissect_NetPRNameCompare_request, srvsvc_dissect_NetPRNameCompare_response}, + { 36, "NetShareEnum", + srvsvc_dissect_NetShareEnum_request, srvsvc_dissect_NetShareEnum_response}, + { 37, "NetShareDelStart", + srvsvc_dissect_NetShareDelStart_request, srvsvc_dissect_NetShareDelStart_response}, + { 38, "NetShareDelCommit", + srvsvc_dissect_NetShareDelCommit_request, srvsvc_dissect_NetShareDelCommit_response}, + { 39, "NetGetFileSecurity", + srvsvc_dissect_NetGetFileSecurity_request, srvsvc_dissect_NetGetFileSecurity_response}, + { 40, "NetSetFileSecurity", + srvsvc_dissect_NetSetFileSecurity_request, srvsvc_dissect_NetSetFileSecurity_response}, + { 41, "NetServerTransportAddEx", + srvsvc_dissect_NetServerTransportAddEx_request, srvsvc_dissect_NetServerTransportAddEx_response}, + { 42, "NetServerSetServiceBitsEx", + srvsvc_dissect_NetServerSetServiceBitsEx_request, srvsvc_dissect_NetServerSetServiceBitsEx_response}, + { 43, "NETRDFSGETVERSION", + srvsvc_dissect_NETRDFSGETVERSION_request, srvsvc_dissect_NETRDFSGETVERSION_response}, + { 44, "NETRDFSCREATELOCALPARTITION", + srvsvc_dissect_NETRDFSCREATELOCALPARTITION_request, srvsvc_dissect_NETRDFSCREATELOCALPARTITION_response}, + { 45, "NETRDFSDELETELOCALPARTITION", + srvsvc_dissect_NETRDFSDELETELOCALPARTITION_request, srvsvc_dissect_NETRDFSDELETELOCALPARTITION_response}, + { 46, "NETRDFSSETLOCALVOLUMESTATE", + srvsvc_dissect_NETRDFSSETLOCALVOLUMESTATE_request, srvsvc_dissect_NETRDFSSETLOCALVOLUMESTATE_response}, + { 47, "NETRDFSSETSERVERINFO", + srvsvc_dissect_NETRDFSSETSERVERINFO_request, srvsvc_dissect_NETRDFSSETSERVERINFO_response}, + { 48, "NETRDFSCREATEEXITPOINT", + srvsvc_dissect_NETRDFSCREATEEXITPOINT_request, srvsvc_dissect_NETRDFSCREATEEXITPOINT_response}, + { 49, "NETRDFSDELETEEXITPOINT", + srvsvc_dissect_NETRDFSDELETEEXITPOINT_request, srvsvc_dissect_NETRDFSDELETEEXITPOINT_response}, + { 50, "NETRDFSMODIFYPREFIX", + srvsvc_dissect_NETRDFSMODIFYPREFIX_request, srvsvc_dissect_NETRDFSMODIFYPREFIX_response}, + { 51, "NETRDFSFIXLOCALVOLUME", + srvsvc_dissect_NETRDFSFIXLOCALVOLUME_request, srvsvc_dissect_NETRDFSFIXLOCALVOLUME_response}, + { 52, "NETRDFSMANAGERREPORTSITEINFO", + srvsvc_dissect_NETRDFSMANAGERREPORTSITEINFO_request, srvsvc_dissect_NETRDFSMANAGERREPORTSITEINFO_response}, + { 53, "NETRSERVERTRANSPORTDELEX", + srvsvc_dissect_NETRSERVERTRANSPORTDELEX_request, srvsvc_dissect_NETRSERVERTRANSPORTDELEX_response}, + { 0, NULL, NULL, NULL } }; -void -proto_register_dcerpc_srvsvc(void) +void proto_register_dcerpc_srvsvc(void) { - static hf_register_info hf[] = { - { &hf_srvsvc_opnum, - { "Operation", "srvsvc.opnum", FT_UINT16, BASE_DEC, - NULL, 0x0, "Operation", HFILL }}, - { &hf_srvsvc_server, - { "Server", "srvsvc.server", FT_STRING, BASE_NONE, - NULL, 0x0, "Server Name", HFILL}}, - { &hf_srvsvc_emulated_server, - { "Emulated Server", "srvsvc.emulated_server", FT_STRING, BASE_NONE, - NULL, 0x0, "Emulated Server Name", HFILL}}, - { &hf_srvsvc_alerts, - { "Alerts", "srvsvc.alerts", FT_STRING, BASE_NONE, - NULL, 0x0, "Alerts", HFILL}}, - { &hf_srvsvc_guest, - { "Guest Account", "srvsvc.guest", FT_STRING, BASE_NONE, - NULL, 0x0, "Guest Account", HFILL}}, - { &hf_srvsvc_transport, - { "Transport", "srvsvc.transport", FT_STRING, BASE_NONE, - NULL, 0x0, "Transport Name", HFILL}}, - { &hf_srvsvc_session, - { "Session", "srvsvc.session", FT_STRING, BASE_NONE, - NULL, 0x0, "Session Name", HFILL}}, - { &hf_srvsvc_qualifier, - { "Qualifier", "srvsvc.qualifier", FT_STRING, BASE_NONE, - NULL, 0x0, "Connection Qualifier", HFILL}}, - { &hf_srvsvc_computer, - { "Computer", "srvsvc.computer", FT_STRING, BASE_NONE, - NULL, 0x0, "Computer Name", HFILL}}, - { &hf_srvsvc_chrdev, - { "Char Device", "srvsvc.chrdev", FT_STRING, BASE_NONE, - NULL, 0x0, "Char Device Name", HFILL}}, - { &hf_srvsvc_chrdevq, - { "Device Queue", "srvsvc.chrdevq", FT_STRING, BASE_NONE, - NULL, 0x0, "Char Device Queue Name", HFILL}}, - { &hf_srvsvc_user, - { "User", "srvsvc.user", FT_STRING, BASE_NONE, - NULL, 0x0, "User Name", HFILL}}, - { &hf_srvsvc_path, - { "Path", "srvsvc.path", FT_STRING, BASE_NONE, - NULL, 0x0, "Path", HFILL}}, - { &hf_srvsvc_share_passwd, - { "Share Passwd", "srvsvc.share_passwd", FT_STRING, BASE_NONE, - NULL, 0x0, "Password for this share", HFILL}}, - { &hf_srvsvc_share_alternate_name, - { "Alternate Name", "srvsvc.share_alternate_name", FT_STRING, BASE_NONE, - NULL, 0x0, "Alternate name for this share", HFILL}}, - { &hf_srvsvc_chrdev_status, - { "Status", "srvsvc.chrdev_status", FT_UINT32, BASE_HEX, - NULL, 0x0, "Char Device Status", HFILL}}, - { &hf_srvsvc_chrqpri, - { "Priority", "srvsvc.chrqdev_pri", FT_UINT32, BASE_HEX, - NULL, 0x0, "Char QDevice Priority", HFILL}}, - { &hf_srvsvc_chrqnumusers, - { "Num Users", "srvsvc.chrqdev_numusers", FT_UINT32, BASE_DEC, - NULL, 0x0, "Char QDevice Number Of Users", HFILL}}, - { &hf_srvsvc_chrqnumahead, - { "Num Ahead", "srvsvc.chrqdev_numahead", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_chrdev_opcode, - { "Opcode", "srvsvc.chrdev_opcode", FT_UINT32, BASE_HEX, - NULL, 0x0, "Opcode to apply to the Char Device", HFILL}}, - { &hf_srvsvc_chrdev_time, - { "Time", "srvsvc.chrdev_time", FT_UINT32, BASE_DEC, - NULL, 0x0, "Char Device Time?", HFILL}}, - { &hf_srvsvc_info_level, - { "Info Level", "svrsvc.info_level", FT_UINT32, - BASE_DEC, NULL, 0x0, "Info Level", HFILL}}, - { &hf_srvsvc_rc, - { "Return code", "srvsvc.rc", FT_UINT32, - BASE_HEX, VALS(DOS_errors), 0x0, "Return Code", HFILL}}, - - { &hf_srvsvc_platform_id, - { "Platform ID", "srvsvc.info.platform_id", FT_UINT32, - BASE_DEC, VALS(platform_id_vals), 0x0, "Platform ID", HFILL}}, - { &hf_srvsvc_ver_major, - { "Major Version", "srvsvc.version.major", FT_UINT32, - BASE_DEC, NULL, 0x0, "Major Version", HFILL}}, - { &hf_srvsvc_ver_minor, - { "Minor Version", "srvsvc.version.minor", FT_UINT32, - BASE_DEC, NULL, 0x0, "Minor Version", HFILL}}, - { &hf_srvsvc_client_type, - { "Client Type", "srvsvc.client.type", FT_STRING, - BASE_NONE, NULL, 0x0, "Client Type", HFILL}}, - { &hf_srvsvc_comment, - { "Comment", "srvsvc.comment", FT_STRING, - BASE_NONE, NULL, 0x0, "Comment", HFILL}}, - { &hf_srvsvc_users, - { "Users", "srvsvc.users", FT_UINT32, - BASE_DEC, NULL, 0x0 , "User Count", HFILL}}, - { &hf_srvsvc_disc, - { "Disc", "srvsvc.disc", FT_UINT32, - BASE_DEC, NULL, 0x0 , "", HFILL}}, - { &hf_srvsvc_hidden, - { "Hidden", "srvsvc.hidden", FT_UINT32, - BASE_DEC, NULL, 0x0, "Hidden", HFILL}}, - { &hf_srvsvc_reserved, - { "Reserved", "srvsvc.reserved", FT_UINT32, - BASE_DEC, NULL, 0x0, "Announce", HFILL }}, - { &hf_srvsvc_announce, - { "Announce", "srvsvc.announce", FT_UINT32, - BASE_DEC, NULL, 0x0, "Announce", HFILL }}, - { &hf_srvsvc_anndelta, - { "Announce Delta", "srvsvc.ann_delta", FT_UINT32, - BASE_DEC, NULL, 0x0, "Announce Delta", HFILL}}, - { &hf_srvsvc_licences, - { "Licences", "srvsvc.licences", FT_UINT32, - BASE_DEC, NULL, 0x0, "Licences", HFILL}}, - { &hf_srvsvc_user_path, - { "User Path", "srvsvc.user_path", FT_STRING, - BASE_NONE, NULL, 0x0, "User Path", HFILL}}, - { &hf_srvsvc_share, - { "Share", "srvsvc.share", FT_STRING, - BASE_NONE, NULL, 0x0, "Share", HFILL}}, - { &hf_srvsvc_share_type, - { "Share Type", "srvsvc.share_type", FT_UINT32, - BASE_HEX, VALS(share_type_vals), 0x0, "Share Type", HFILL}}, - { &hf_srvsvc_file_id, - { "File ID", "srvsvc.file_id", FT_UINT32, - BASE_DEC, NULL, 0x0, "File ID", HFILL}}, - { &hf_srvsvc_perm, - { "Permissions", "srvsvc.perm", FT_UINT32, - BASE_HEX, NULL, 0x0, "Permissions", HFILL}}, - { &hf_srvsvc_dfs_root_flags, - { "DFS Root Flags", "srvsvc.dfs_root_flags", FT_UINT32, - BASE_HEX, NULL, 0x0, "DFS Root Flags. Contact wireshark developers if you know what the bits are", HFILL}}, - { &hf_srvsvc_policy, - { "Policy", "srvsvc.policy", FT_UINT32, - BASE_HEX, NULL, 0x0, "Policy", HFILL}}, - { &hf_srvsvc_file_num_locks, - { "Num Locks", "srvsvc.file_num_locks", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of locks for file", HFILL}}, - { &hf_srvsvc_con_id, - { "Connection ID", "srvsvc.con_id", FT_UINT32, - BASE_DEC, NULL, 0x0, "Connection ID", HFILL}}, - { &hf_srvsvc_max_uses, - { "Max Uses", "srvsvc.max_uses", FT_UINT32, - BASE_DEC, NULL, 0x0, "Max Uses", HFILL}}, - { &hf_srvsvc_cur_uses, - { "Current Uses", "srvsvc.cur_uses", FT_UINT32, - BASE_DEC, NULL, 0x0, "Current Uses", HFILL}}, - { &hf_srvsvc_con_num_opens, - { "Num Opens", "srvsvc.con_num_opens", FT_UINT32, - BASE_DEC, NULL, 0x0, "Num Opens", HFILL}}, - { &hf_srvsvc_session_num_opens, - { "Num Opens", "srvsvc.session.num_opens", FT_UINT32, - BASE_DEC, NULL, 0x0, "Num Opens", HFILL}}, - { &hf_srvsvc_session_time, - { "Time", "srvsvc.session.time", FT_UINT32, - BASE_DEC, NULL, 0x0, "Time", HFILL}}, - { &hf_srvsvc_session_idle_time, - { "Idle Time", "srvsvc.session.idle_time", FT_UINT32, - BASE_DEC, NULL, 0x0, "Idle Time", HFILL}}, - { &hf_srvsvc_session_user_flags, - { "User Flags", "srvsvc.session.user_flags", FT_UINT32, - BASE_HEX, NULL, 0x0, "User Flags", HFILL}}, - { &hf_srvsvc_con_type, - { "Connection Type", "srvsvc.con_type", FT_UINT32, - BASE_DEC, NULL, 0x0, "Connection Type", HFILL}}, - { &hf_srvsvc_con_time, - { "Connection Time", "srvsvc.con_time", FT_UINT32, - BASE_DEC, NULL, 0x0, "Connection Time", HFILL}}, - { &hf_srvsvc_ulist_mtime, - { "Ulist mtime", "srvsvc.ulist_mtime", FT_UINT32, - BASE_DEC, NULL, 0x0, "Ulist mtime", HFILL}}, - { &hf_srvsvc_glist_mtime, - { "Glist mtime", "srvsvc.glist_mtime", FT_UINT32, - BASE_DEC, NULL, 0x0, "Glist mtime", HFILL}}, - { &hf_srvsvc_alist_mtime, - { "Alist mtime", "srvsvc.alist_mtime", FT_UINT32, - BASE_DEC, NULL, 0x0, "Alist mtime", HFILL}}, - { &hf_srvsvc_connections, - { "Connections", "srvsvc.connections", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of Connections", HFILL}}, - { &hf_srvsvc_shares, - { "Shares", "srvsvc.shares", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of Shares", HFILL}}, - { &hf_srvsvc_diskalert, - { "Disk Alerts", "srvsvc.diskalert", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of disk alerts", HFILL}}, - { &hf_srvsvc_netioalert, - { "Net I/O Alerts", "srvsvc.netioalert", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of Net I/O Alerts", HFILL}}, - { &hf_srvsvc_maxauditsz, - { "Max Audits", "srvsvc.maxaudits", FT_UINT32, - BASE_DEC, NULL, 0x0, "Maximum number of audits", HFILL}}, - { &hf_srvsvc_srvheuristics, - { "Server Heuristics", "srvsvc.srvheuristics", FT_STRING, - BASE_DEC, NULL, 0x0, "Server Heuristics", HFILL}}, - { &hf_srvsvc_openfiles, - { "Open Files", "srvsvc.openfiles", FT_UINT32, - BASE_DEC, NULL, 0x0, "Open Files", HFILL}}, - { &hf_srvsvc_opensearch, - { "Open Search", "srvsvc.opensearch", FT_UINT32, - BASE_DEC, NULL, 0x0, "Open Search", HFILL}}, - { &hf_srvsvc_activelocks, - { "Active Locks", "srvsvc.activelocks", FT_UINT32, - BASE_DEC, NULL, 0x0, "Active Locks", HFILL}}, - { &hf_srvsvc_numfiletasks, - { "Num Filetasks", "srvsvc.numfiletasks", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of filetasks", HFILL}}, - { &hf_srvsvc_alertsched, - { "Alert Sched", "srvsvc.alertsched", FT_UINT32, - BASE_DEC, NULL, 0x0, "Alert Schedule", HFILL}}, - { &hf_srvsvc_erroralert, - { "Error Alerts", "srvsvc.erroralert", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of error alerts", HFILL}}, - { &hf_srvsvc_logonalert, - { "Logon Alerts", "srvsvc.logonalert", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of logon alerts", HFILL}}, - { &hf_srvsvc_accessalert, - { "Access Alerts", "srvsvc.accessalert", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of access alerts", HFILL}}, - { &hf_srvsvc_sizreqbufs, - { "Siz Req Bufs", "srvsvc.sizreqbufs", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_numbigbufs, - { "Num Big Bufs", "srvsvc.numbigbufs", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of big buffers", HFILL}}, - { &hf_srvsvc_sessopens, - { "Sessions Open", "srvsvc.sessopens", FT_UINT32, - BASE_DEC, NULL, 0x0, "Sessions Open", HFILL}}, - { &hf_srvsvc_sessvcs, - { "Sessions VCs", "srvsvc.sessvcs", FT_UINT32, - BASE_DEC, NULL, 0x0, "Sessions VCs", HFILL}}, - { &hf_srvsvc_sessreqs, - { "Sessions Reqs", "srvsvc.sessreqs", FT_UINT32, - BASE_DEC, NULL, 0x0, "Sessions Requests", HFILL}}, - { &hf_srvsvc_auditedevents, - { "Audited Events", "srvsvc.auditedevents", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of audited events", HFILL}}, - { &hf_srvsvc_auditprofile, - { "Audit Profile", "srvsvc.auditprofile", FT_UINT32, - BASE_HEX, NULL, 0x0, "Audit Profile", HFILL}}, - { &hf_srvsvc_autopath, - { "Autopath", "srvsvc.autopath", FT_STRING, - BASE_DEC, NULL, 0x0, "Autopath", HFILL}}, - { &hf_srvsvc_security, - { "Security", "srvsvc.security", FT_UINT32, - BASE_HEX, NULL, 0x0, "Security", HFILL}}, - { &hf_srvsvc_numadmin, - { "Num Admins", "srvsvc.num_admins", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of Administrators", HFILL}}, - { &hf_srvsvc_lanmask, - { "LANMask", "srvsvc.lanmask", FT_UINT32, - BASE_HEX, NULL, 0x0, "LANMask", HFILL}}, - { &hf_srvsvc_chdevs, - { "Char Devs", "srvsvc.chdevs", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of Char Devices", HFILL}}, - { &hf_srvsvc_chdevqs, - { "Char Devqs", "srvsvc.chdevqs", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of Char Device Queues", HFILL}}, - { &hf_srvsvc_chdevjobs, - { "Char Dev Jobs", "srvsvc.chdevjobs", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of Char Device Jobs", HFILL}}, - { &hf_srvsvc_num_entries, - { "Number of entries", "srvsvc.share.num_entries", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of Entries", HFILL}}, - { &hf_srvsvc_total_entries, - { "Total entries", "srvsvc.share.tot_entries", FT_UINT32, - BASE_DEC, NULL, 0x0, "Total Entries", HFILL}}, - { &hf_srvsvc_initworkitems, - { "Init Workitems", "srvsvc.initworkitems", FT_UINT32, - BASE_DEC, NULL, 0x0, "Workitems", HFILL}}, - { &hf_srvsvc_maxworkitems, - { "Max Workitems", "srvsvc.maxworkitems", FT_UINT32, - BASE_DEC, NULL, 0x0, "Workitems", HFILL}}, - { &hf_srvsvc_rawworkitems, - { "Raw Workitems", "srvsvc.rawworkitems", FT_UINT32, - BASE_DEC, NULL, 0x0, "Workitems", HFILL}}, - { &hf_srvsvc_preferred_len, - { "Preferred length", "srvsvc.preferred_len", FT_UINT32, - BASE_DEC, NULL, 0x0, "Preferred Length", HFILL}}, - { &hf_srvsvc_parm_error, - { "Parameter Error", "srvsvc.parm_error", FT_UINT32, - BASE_DEC, NULL, 0x0, "Parameter Error", HFILL}}, - { &hf_srvsvc_enum_handle, - { "Enumeration handle", "srvsvc.enum_hnd", FT_BYTES, - BASE_HEX, NULL, 0x0, "Enumeration Handle", HFILL}}, - { &hf_srvsvc_irpstacksize, - { "Irp Stack Size", "srvsvc.irpstacksize", FT_UINT32, - BASE_HEX, NULL, 0x0, "Irp Stack Size", HFILL}}, - { &hf_srvsvc_maxrawbuflen, - { "Max Raw Buf Len", "srvsvc.", FT_UINT32, - BASE_HEX, NULL, 0x0, "Max Raw Buf Len", HFILL}}, - { &hf_srvsvc_maxpagedmemoryusage, - { "Max Paged Memory Usage", "srvsvc.maxpagedmemoryusage", FT_UINT32, - BASE_HEX, NULL, 0x0, "Max Paged Memory Usage", HFILL}}, - { &hf_srvsvc_maxnonpagedmemoryusage, - { "Max Non-Paged Memory Usage", "srvsvc.maxnonpagedmemoryusage", FT_UINT32, - BASE_HEX, NULL, 0x0, "Max Non-Paged Memory Usage", HFILL}}, - { &hf_srvsvc_enablesoftcompat, - { "Enable Soft Compat", "srvsvc.enablesoftcompat", FT_UINT32, - BASE_HEX, NULL, 0x0, "Enable Soft Compat", HFILL}}, - { &hf_srvsvc_enableforcedlogoff, - { "Enable Forced Logoff", "srvsvc.enableforcedlogoff", FT_UINT32, - BASE_HEX, NULL, 0x0, "Enable Forced Logoff", HFILL}}, - { &hf_srvsvc_timesource, - { "Timesource", "srvsvc.timesource", FT_UINT32, - BASE_HEX, NULL, 0x0, "Timesource", HFILL}}, - { &hf_srvsvc_acceptdownlevelapis, - { "Accept Downlevel APIs", "srvsvc.acceptdownlevelapis", FT_UINT32, - BASE_HEX, NULL, 0x0, "Accept Downlevel APIs", HFILL}}, - { &hf_srvsvc_lmannounce, - { "LM Announce", "srvsvc.lmannounce", FT_UINT32, - BASE_HEX, NULL, 0x0, "LM Announce", HFILL}}, - { &hf_srvsvc_domain, - { "Domain", "srvsvc.domain", FT_STRING, - BASE_HEX, NULL, 0x0, "Domain", HFILL}}, - { &hf_srvsvc_maxcopyreadlen, - { "Max Copy Read Len", "srvsvc.maxcopyreadlen", FT_UINT32, - BASE_DEC, NULL, 0x0, "Max Copy Read Len", HFILL}}, - { &hf_srvsvc_maxcopywritelen, - { "Max Copy Write Len", "srvsvc.maxcopywritelen", FT_UINT32, - BASE_DEC, NULL, 0x0, "Max Copy Write Len", HFILL}}, - { &hf_srvsvc_minkeepsearch, - { "Min Keep Search", "srvsvc.minkeepsearch", FT_UINT32, - BASE_DEC, NULL, 0x0, "Min Keep Search", HFILL}}, - { &hf_srvsvc_maxkeepsearch, - { "Max Keep Search", "srvsvc.maxkeepsearch", FT_UINT32, - BASE_DEC, NULL, 0x0, "Max Keep Search", HFILL}}, - { &hf_srvsvc_minkeepcomplsearch, - { "Min Keep Compl Search", "srvsvc.minkeepcomplsearch", FT_UINT32, - BASE_DEC, NULL, 0x0, "Min Keep Compl Search", HFILL}}, - { &hf_srvsvc_maxkeepcomplsearch, - { "Max Keep Compl Search", "srvsvc.maxkeepcomplsearch", FT_UINT32, - BASE_DEC, NULL, 0x0, "Max Keep Compl Search", HFILL}}, - { &hf_srvsvc_threadcountadd, - { "Thread Count Add", "srvsvc.threadcountadd", FT_UINT32, - BASE_DEC, NULL, 0x0, "Thread Count Add", HFILL}}, - { &hf_srvsvc_numblockthreads, - { "Num Block Threads", "srvsvc.numblockthreads", FT_UINT32, - BASE_DEC, NULL, 0x0, "Num Block Threads", HFILL}}, - { &hf_srvsvc_scavtimeout, - { "Scav Timeout", "srvsvc.scavtimeout", FT_UINT32, - BASE_DEC, NULL, 0x0, "Scav Timeout", HFILL}}, - { &hf_srvsvc_minrcvqueue, - { "Min Rcv Queue", "srvsvc.minrcvqueue", FT_UINT32, - BASE_DEC, NULL, 0x0, "Min Rcv Queue", HFILL}}, - { &hf_srvsvc_minfreeworkitems, - { "Min Free Workitems", "srvsvc.minfreeworkitems", FT_UINT32, - BASE_DEC, NULL, 0x0, "Min Free Workitems", HFILL}}, - { &hf_srvsvc_xactmemsize, - { "Xact Mem Size", "srvsvc.xactmemsize", FT_UINT32, - BASE_DEC, NULL, 0x0, "Xact Mem Size", HFILL}}, - { &hf_srvsvc_threadpriority, - { "Thread Priority", "srvsvc.threadpriority", FT_UINT32, - BASE_DEC, NULL, 0x0, "Thread Priority", HFILL}}, - { &hf_srvsvc_maxmpxct, - { "MaxMpxCt", "srvsvc.maxmpxct", FT_UINT32, - BASE_DEC, NULL, 0x0, "MaxMpxCt", HFILL}}, - { &hf_srvsvc_oplockbreakwait, - { "Oplock Break Wait", "srvsvc.oplockbreakwait", FT_UINT32, - BASE_DEC, NULL, 0x0, "Oplock Break Wait", HFILL}}, - { &hf_srvsvc_oplockbreakresponsewait, - { "Oplock Break Response wait", "srvsvc.oplockbreakresponsewait", FT_UINT32, - BASE_DEC, NULL, 0x0, "Oplock Break response Wait", HFILL}}, - { &hf_srvsvc_enableoplocks, - { "Enable Oplocks", "srvsvc.enableoplocks", FT_UINT32, - BASE_DEC, NULL, 0x0, "Enable Oplocks", HFILL}}, - { &hf_srvsvc_enableoplockforceclose, - { "Enable Oplock Force Close", "srvsvc.enableoplockforceclose", FT_UINT32, - BASE_DEC, NULL, 0x0, "Enable Oplock Force Close", HFILL}}, - { &hf_srvsvc_enablefcbopens, - { "Enable FCB Opens", "srvsvc.enablefcbopens", FT_UINT32, - BASE_DEC, NULL, 0x0, "Enable FCB Opens", HFILL}}, - { &hf_srvsvc_enableraw, - { "Enable RAW", "srvsvc.enableraw", FT_UINT32, - BASE_DEC, NULL, 0x0, "Enable RAW", HFILL}}, - { &hf_srvsvc_enablesharednetdrives, - { "Enable Shared Net Drives", "srvsvc.enablesharednetdrives", FT_UINT32, - BASE_DEC, NULL, 0x0, "Enable Shared Net Drives", HFILL}}, - { &hf_srvsvc_minfreeconnections, - { "Min Free Conenctions", "srvsvc.minfreeconnections", FT_UINT32, - BASE_DEC, NULL, 0x0, "Min Free Connections", HFILL}}, - { &hf_srvsvc_maxfreeconnections, - { "Max Free Conenctions", "srvsvc.maxfreeconnections", FT_UINT32, - BASE_DEC, NULL, 0x0, "Max Free Connections", HFILL}}, - { &hf_srvsvc_initsesstable, - { "Init Session Table", "srvsvc.initsesstable", FT_UINT32, - BASE_DEC, NULL, 0x0, "Init Session Table", HFILL}}, - { &hf_srvsvc_initconntable, - { "Init Connection Table", "srvsvc.initconntable", FT_UINT32, - BASE_DEC, NULL, 0x0, "Init Connection Table", HFILL}}, - { &hf_srvsvc_initfiletable, - { "Init File Table", "srvsvc.initfiletable", FT_UINT32, - BASE_DEC, NULL, 0x0, "Init File Table", HFILL}}, - { &hf_srvsvc_initsearchtable, - { "Init Search Table", "srvsvc.initsearchtable", FT_UINT32, - BASE_DEC, NULL, 0x0, "Init Search Table", HFILL}}, - { &hf_srvsvc_errortreshold, - { "Error Treshold", "srvsvc.errortreshold", FT_UINT32, - BASE_DEC, NULL, 0x0, "Error Treshold", HFILL}}, - { &hf_srvsvc_networkerrortreshold, - { "Network Error Treshold", "srvsvc.networkerrortreshold", FT_UINT32, - BASE_DEC, NULL, 0x0, "Network Error Treshold", HFILL}}, - { &hf_srvsvc_diskspacetreshold, - { "Diskspace Treshold", "srvsvc.diskspacetreshold", FT_UINT32, - BASE_DEC, NULL, 0x0, "Diskspace Treshold", HFILL}}, - { &hf_srvsvc_maxlinkdelay, - { "Max Link Delay", "srvsvc.maxlinkdelay", FT_UINT32, - BASE_DEC, NULL, 0x0, "Max Link Delay", HFILL}}, - { &hf_srvsvc_minlinkthroughput, - { "Min Link Throughput", "srvsvc.minlinkthroughput", FT_UINT32, - BASE_DEC, NULL, 0x0, "Min Link Throughput", HFILL}}, - { &hf_srvsvc_linkinfovalidtime, - { "Link Info Valid Time", "srvsvc.linkinfovalidtime", FT_UINT32, - BASE_DEC, NULL, 0x0, "Link Info Valid Time", HFILL}}, - { &hf_srvsvc_scavqosinfoupdatetime, - { "Scav QoS Info Update Time", "srvsvc.scavqosinfoupdatetime", FT_UINT32, - BASE_DEC, NULL, 0x0, "Scav QoS Info Update Time", HFILL}}, - { &hf_srvsvc_maxworkitemidletime, - { "Max Workitem Idle Time", "srvsvc.maxworkitemidletime", FT_UINT32, - BASE_DEC, NULL, 0x0, "Max Workitem Idle Time", HFILL}}, - { &hf_srvsvc_disk_name, - { "Disk Name", "srvsvc.disk_name", FT_STRING, - BASE_DEC, NULL, 0x0, "Disk Name", HFILL}}, - { &hf_srvsvc_disk_name_len, - { "Disk Name Length", "srvsvc.disk_name_len", FT_UINT32, - BASE_DEC, NULL, 0x0, "Length of Disk Name", HFILL}}, - { &hf_srvsvc_disk_inf0_unknown, - { "Disk_Info0 unknown", "srvsvc.disk_info0_unknown1", FT_UINT32, - BASE_DEC, NULL, 0x0, "Disk Info 0 unknown uint32", HFILL}}, - { &hf_srvsvc_service, - { "Service", "srvsvc.service", FT_STRING, - BASE_DEC, NULL, 0x0, "Service", HFILL}}, - { &hf_srvsvc_service_options, - { "Options", "srvsvc.service_options", FT_UINT32, - BASE_HEX, NULL, 0x0, "Service Options", HFILL}}, - { &hf_srvsvc_transport_numberofvcs, - { "VCs", "srvsvc.transport.num_vcs", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of VCs for this transport", HFILL}}, - { &hf_srvsvc_transport_name, - { "Name", "srvsvc.transport.name", FT_STRING, - BASE_HEX, NULL, 0x0, "Name of transport", HFILL}}, - { &hf_srvsvc_transport_address, - { "Address", "srvsvc.transport.address", FT_BYTES, - BASE_HEX, NULL, 0x0, "Address of transport", HFILL}}, - { &hf_srvsvc_transport_address_len, - { "Address Len", "srvsvc.transport.addresslen", FT_UINT32, - BASE_DEC, NULL, 0x0, "Length of transport address", HFILL}}, - { &hf_srvsvc_transport_networkaddress, - { "Network Address", "srvsvc.transport.networkaddress", FT_STRING, - BASE_HEX, NULL, 0x0, "Network address for transport", HFILL}}, - { &hf_srvsvc_service_bits, - { "Service Bits", "srvsvc.service_bits", FT_UINT32, - BASE_HEX, NULL, 0x0, "Service Bits", HFILL}}, - { &hf_srvsvc_service_bits_of_interest, - { "Service Bits Of Interest", "srvsvc.service_bits_of_interest", FT_UINT32, - BASE_HEX, NULL, 0x0, "Service Bits Of Interest", HFILL}}, - { &hf_srvsvc_update_immediately, - { "Update Immediately", "srvsvc.update_immediately", FT_UINT32, - BASE_DEC, NULL, 0x0, "Update Immediately", HFILL}}, - { &hf_srvsvc_path_flags, - { "Flags", "srvsvc.path_flags", FT_UINT32, - BASE_HEX, NULL, 0x0, "Path flags", HFILL}}, - { &hf_srvsvc_share_flags, - { "Flags", "srvsvc.share_flags", FT_UINT32, - BASE_HEX, NULL, 0x0, "Share flags", HFILL}}, - { &hf_srvsvc_path_type, - { "Type", "srvsvc.path_type", FT_UINT32, - BASE_DEC, NULL, 0x0, "Path type", HFILL}}, - { &hf_srvsvc_path_len, - { "Len", "srvsvc.path_len", FT_UINT32, - BASE_DEC, NULL, 0x0, "Path len", HFILL}}, - { &hf_srvsvc_outbuflen, - { "OutBufLen", "srvsvc.outbuflen", FT_UINT32, - BASE_DEC, NULL, 0x0, "Output Buffer Length", HFILL}}, - { &hf_srvsvc_prefix, - { "Prefix", "srvsvc.prefix", FT_STRING, - BASE_HEX, NULL, 0x0, "Path Prefix", HFILL}}, - { &hf_srvsvc_hnd, - { "Context Handle", "srvsvc.hnd", FT_BYTES, - BASE_NONE, NULL, 0x0, "Context Handle", HFILL}}, - { &hf_srvsvc_server_stat_start, - { "Start", "srvsvc.server_stat.start", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_server_stat_fopens, - { "Fopens", "srvsvc.server_stat.fopens", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of fopens", HFILL}}, - { &hf_srvsvc_server_stat_devopens, - { "Devopens", "srvsvc.server_stat.devopens", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of devopens", HFILL}}, - { &hf_srvsvc_server_stat_jobsqueued, - { "Jobs Queued", "srvsvc.server_stat.jobsqueued", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of jobs queued", HFILL}}, - { &hf_srvsvc_server_stat_sopens, - { "Sopens", "srvsvc.server_stat.sopens", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of sopens", HFILL}}, - { &hf_srvsvc_server_stat_stimeouts, - { "stimeouts", "srvsvc.server_stat.stimeouts", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of stimeouts", HFILL}}, - { &hf_srvsvc_server_stat_serrorout, - { "Serrorout", "srvsvc.server_stat.serrorout", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of serrorout", HFILL}}, - { &hf_srvsvc_server_stat_pwerrors, - { "Pwerrors", "srvsvc.server_stat.pwerrors", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of password errors", HFILL}}, - { &hf_srvsvc_server_stat_permerrors, - { "Permerrors", "srvsvc.server_stat.permerrors", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of permission errors", HFILL}}, - { &hf_srvsvc_server_stat_syserrors, - { "Syserrors", "srvsvc.server_stat.syserrors", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of system errors", HFILL}}, - { &hf_srvsvc_server_stat_bytessent, - { "Bytes Sent", "srvsvc.server_stat.bytessent", FT_UINT64, - BASE_DEC, NULL, 0x0, "Number of bytes sent", HFILL}}, - { &hf_srvsvc_server_stat_bytesrcvd, - { "Bytes Rcvd", "srvsvc.server_stat.bytesrcvd", FT_UINT64, - BASE_DEC, NULL, 0x0, "Number of bytes received", HFILL}}, - { &hf_srvsvc_server_stat_avresponse, - { "Avresponse", "srvsvc.server_stat.avresponse", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_server_stat_reqbufneed, - { "Req Buf Need", "srvsvc.server_stat.reqbufneed", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of request buffers needed?", HFILL}}, - { &hf_srvsvc_server_stat_bigbufneed, - { "Big Buf Need", "srvsvc.server_stat.bigbufneed", FT_UINT32, - BASE_DEC, NULL, 0x0, "Number of big buffers needed?", HFILL}}, - { &hf_srvsvc_tod_elapsed, - { "Elapsed", "srvsvc.tod.elapsed", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_msecs, - { "msecs", "srvsvc.tod.msecs", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_hours, - { "Hours", "srvsvc.tod.hours", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_mins, - { "Mins", "srvsvc.tod.mins", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_secs, - { "Secs", "srvsvc.tod.secs", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_hunds, - { "Hunds", "srvsvc.tod.hunds", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_timezone, - { "Timezone", "srvsvc.tod.timezone", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_tinterval, - { "Tinterval", "srvsvc.tod.tinterval", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_day, - { "Day", "srvsvc.tod.day", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_month, - { "Month", "srvsvc.tod.month", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_year, - { "Year", "srvsvc.tod.year", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - { &hf_srvsvc_tod_weekday, - { "Weekday", "srvsvc.tod.weekday", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, + static hf_register_info hf[] = { + { &hf_srvsvc_srvsvc_NetSrvInfo102_platform_id, + { "Platform Id", "srvsvc.srvsvc_NetSrvInfo102.platform_id", FT_UINT32, BASE_DEC, VALS(srvsvc_srvsvc_PlatformId_vals), 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1501_sessopens, + { "Sessopens", "srvsvc.srvsvc_NetSrvInfo1501.sessopens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_openfiles, + { "Openfiles", "srvsvc.srvsvc_NetSrvInfo403.openfiles", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr2_count, + { "Count", "srvsvc.srvsvc_NetShareCtr2.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCanonicalize_pathflags, + { "Pathflags", "srvsvc.srvsvc_NetPathCanonicalize.pathflags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_version_minor, + { "Version Minor", "srvsvc.srvsvc_NetSrvInfo102.version_minor", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareAdd_parm_error, + { "Parm Error", "srvsvc.srvsvc_NetShareAdd.parm_error", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessEnum_user, + { "User", "srvsvc.srvsvc_NetSessEnum.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCheck_device_name, + { "Device Name", "srvsvc.srvsvc_NetShareCheck.device_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr_ctr502, + { "Ctr502", "srvsvc.srvsvc_NetSessCtr.ctr502", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_hours, + { "Hours", "srvsvc.srvsvc_NetRemoteTODInfo.hours", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxmpxct, + { "Maxmpxct", "srvsvc.srvsvc_NetSrvInfo599.maxmpxct", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportAdd_level, + { "Level", "srvsvc.srvsvc_NetTransportAdd.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo3_name, + { "Name", "srvsvc.srvsvc_NetTransportInfo3.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_enableoplockforceclose, + { "Enableoplockforceclose", "srvsvc.srvsvc_NetSrvInfo599.enableoplockforceclose", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_hunds, + { "Hunds", "srvsvc.srvsvc_NetRemoteTODInfo.hunds", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr2_array, + { "Array", "srvsvc.srvsvc_NetTransportCtr2.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnInfo1_share, + { "Share", "srvsvc.srvsvc_NetConnInfo1.share", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQEnum_totalentries, + { "Totalentries", "srvsvc.srvsvc_NetCharDevQEnum.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1518_lmannounce, + { "Lmannounce", "srvsvc.srvsvc_NetSrvInfo1518.lmannounce", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo502_idle_time, + { "Idle Time", "srvsvc.srvsvc_NetSessInfo502.idle_time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_netioalert, + { "Netioalert", "srvsvc.srvsvc_NetSrvInfo402.netioalert", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQGetInfo_info, + { "Info", "srvsvc.srvsvc_NetCharDevQGetInfo.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_sessopen, + { "Sessopen", "srvsvc.srvsvc_NetSrvInfo402.sessopen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxkeepcomplsearch, + { "Maxkeepcomplsearch", "srvsvc.srvsvc_NetSrvInfo599.maxkeepcomplsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_enablesharednetdrives, + { "Enablesharednetdrives", "srvsvc.srvsvc_NetSrvInfo503.enablesharednetdrives", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCheck_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetShareCheck.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_maxpagedmemoryusage, + { "Maxpagedmemoryusage", "srvsvc.srvsvc_NetSrvInfo503.maxpagedmemoryusage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_srvheuristics, + { "Srvheuristics", "srvsvc.srvsvc_NetSrvInfo402.srvheuristics", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo501_name, + { "Name", "srvsvc.srvsvc_NetShareInfo501.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_servicebits, + { "Servicebits", "srvsvc.srvsvc_NetServerSetServiceBitsEx.servicebits", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_day, + { "Day", "srvsvc.srvsvc_NetRemoteTODInfo.day", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_maxkeepcomplsearch, + { "Maxkeepcomplsearch", "srvsvc.srvsvc_NetSrvInfo503.maxkeepcomplsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_accessalert, + { "Accessalert", "srvsvc.srvsvc_NetSrvInfo402.accessalert", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_glist_mtime, + { "Glist Mtime", "srvsvc.srvsvc_NetSrvInfo402.glist_mtime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareSetInfo_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetShareSetInfo.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnCtr0_count, + { "Count", "srvsvc.srvsvc_NetConnCtr0.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_sizereqbufs, + { "Sizereqbufs", "srvsvc.srvsvc_NetSrvInfo502.sizereqbufs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo_info1004, + { "Info1004", "srvsvc.srvsvc_NetShareInfo.info1004", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo_info1005, + { "Info1005", "srvsvc.srvsvc_NetShareInfo.info1005", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo2_addr, + { "Addr", "srvsvc.srvsvc_NetTransportInfo2.addr", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo_info1006, + { "Info1006", "srvsvc.srvsvc_NetShareInfo.info1006", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo10_time, + { "Time", "srvsvc.srvsvc_NetSessInfo10.time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo_info1007, + { "Info1007", "srvsvc.srvsvc_NetShareInfo.info1007", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1516_timesource, + { "Timesource", "srvsvc.srvsvc_NetSrvInfo1516.timesource", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_servicebitsofinterest, + { "Servicebitsofinterest", "srvsvc.srvsvc_NetServerSetServiceBitsEx.servicebitsofinterest", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_alerts, + { "Alerts", "srvsvc.srvsvc_NetSrvInfo402.alerts", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo2_max_users, + { "Max Users", "srvsvc.srvsvc_NetShareInfo2.max_users", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1005, + { "Info1005", "srvsvc.srvsvc_NetSrvInfo.info1005", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo1_name, + { "Name", "srvsvc.srvsvc_NetTransportInfo1.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileEnum_totalentries, + { "Totalentries", "srvsvc.srvsvc_NetFileEnum.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevControl_device_name, + { "Device Name", "srvsvc.srvsvc_NetCharDevControl.device_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1540_enablesharednetdrives, + { "Enablesharednetdrives", "srvsvc.srvsvc_NetSrvInfo1540.enablesharednetdrives", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileEnum_level, + { "Level", "srvsvc.srvsvc_NetFileEnum.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_shares, + { "Shares", "srvsvc.srvsvc_NetSrvInfo402.shares", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnInfo1_conn_id, + { "Conn Id", "srvsvc.srvsvc_NetConnInfo1.conn_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevCtr0_count, + { "Count", "srvsvc.srvsvc_NetCharDevCtr0.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareGetInfo_share_name, + { "Share Name", "srvsvc.srvsvc_NetShareGetInfo.share_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1548_errortreshold, + { "Errortreshold", "srvsvc.srvsvc_NetSrvInfo1548.errortreshold", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPRNameCompare_name1, + { "Name1", "srvsvc.srvsvc_NetPRNameCompare.name1", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_version_major, + { "Version Major", "srvsvc.srvsvc_NetSrvInfo102.version_major", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPRNameCompare_name2, + { "Name2", "srvsvc.srvsvc_NetPRNameCompare.name2", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPRNameCompare_name_type, + { "Name Type", "srvsvc.srvsvc_NetPRNameCompare.name_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessEnum_max_buffer, + { "Max Buffer", "srvsvc.srvsvc_NetSessEnum.max_buffer", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_chdevqs, + { "Chdevqs", "srvsvc.srvsvc_NetSrvInfo402.chdevqs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_rawworkitems, + { "Rawworkitems", "srvsvc.srvsvc_NetSrvInfo503.rawworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnInfo1_num_users, + { "Num Users", "srvsvc.srvsvc_NetConnInfo1.num_users", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo2_password, + { "Password", "srvsvc.srvsvc_NetShareInfo2.password", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo502_type, + { "Type", "srvsvc.srvsvc_NetShareInfo502.type", FT_UINT32, BASE_DEC, VALS(srvsvc_srvsvc_ShareType_vals), 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQInfo1_device, + { "Device", "srvsvc.srvsvc_NetCharDevQInfo1.device", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1010, + { "Info1010", "srvsvc.srvsvc_NetSrvInfo.info1010", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo100_platform_id, + { "Platform Id", "srvsvc.srvsvc_NetSrvInfo100.platform_id", FT_UINT32, BASE_DEC, VALS(srvsvc_srvsvc_PlatformId_vals), 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1556_maxworkitemidletime, + { "Maxworkitemidletime", "srvsvc.srvsvc_NetSrvInfo1556.maxworkitemidletime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_oplockbreakwait, + { "Oplockbreakwait", "srvsvc.srvsvc_NetSrvInfo599.oplockbreakwait", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1016, + { "Info1016", "srvsvc.srvsvc_NetSrvInfo.info1016", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr_ctr0, + { "Ctr0", "srvsvc.srvsvc_NetSessCtr.ctr0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1017, + { "Info1017", "srvsvc.srvsvc_NetSrvInfo.info1017", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1018, + { "Info1018", "srvsvc.srvsvc_NetSrvInfo.info1018", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr_ctr1, + { "Ctr1", "srvsvc.srvsvc_NetSessCtr.ctr1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr_ctr2, + { "Ctr2", "srvsvc.srvsvc_NetSessCtr.ctr2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnum_ctr, + { "Ctr", "srvsvc.srvsvc_NetShareEnum.ctr", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_networkerrortreshold, + { "Networkerrortreshold", "srvsvc.srvsvc_NetSrvInfo599.networkerrortreshold", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_mins, + { "Mins", "srvsvc.srvsvc_NetRemoteTODInfo.mins", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_acceptdownlevelapis, + { "Acceptdownlevelapis", "srvsvc.srvsvc_NetSrvInfo502.acceptdownlevelapis", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo0_addr, + { "Addr", "srvsvc.srvsvc_NetTransportInfo0.addr", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1005_array, + { "Array", "srvsvc.srvsvc_NetShareCtr1005.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_netioalert, + { "Netioalert", "srvsvc.srvsvc_NetSrvInfo403.netioalert", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_irpstacksize, + { "Irpstacksize", "srvsvc.srvsvc_NetSrvInfo502.irpstacksize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQSetInfo_parm_error, + { "Parm Error", "srvsvc.srvsvc_NetCharDevQSetInfo.parm_error", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo2_addr_len, + { "Addr Len", "srvsvc.srvsvc_NetTransportInfo2.addr_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_sessopen, + { "Sessopen", "srvsvc.srvsvc_NetSrvInfo502.sessopen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo101_server_name, + { "Server Name", "srvsvc.srvsvc_NetSrvInfo101.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCanonicalize_path, + { "Path", "srvsvc.srvsvc_NetPathCanonicalize.path", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_minrcvqueue, + { "Minrcvqueue", "srvsvc.srvsvc_NetSrvInfo599.minrcvqueue", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetServerSetServiceBitsEx.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnEnum_max_buffer, + { "Max Buffer", "srvsvc.srvsvc_NetConnEnum.max_buffer", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerStatisticsGet_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetServerStatisticsGet.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_scavtimeout, + { "Scavtimeout", "srvsvc.srvsvc_NetSrvInfo503.scavtimeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1506_maxworkitems, + { "Maxworkitems", "srvsvc.srvsvc_NetSrvInfo1506.maxworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_alist_mtime, + { "Alist Mtime", "srvsvc.srvsvc_NetSrvInfo403.alist_mtime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1501_array, + { "Array", "srvsvc.srvsvc_NetShareCtr1501.array", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_chdevjobs, + { "Chdevjobs", "srvsvc.srvsvc_NetSrvInfo402.chdevjobs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_announce, + { "Announce", "srvsvc.srvsvc_NetSrvInfo102.announce", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr1_count, + { "Count", "srvsvc.srvsvc_NetTransportCtr1.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_server_type, + { "Server Type", "srvsvc.srvsvc_NetSrvInfo102.server_type", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo2_client, + { "Client", "srvsvc.srvsvc_NetSessInfo2.client", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1549_networkerrortreshold, + { "Networkerrortreshold", "srvsvc.srvsvc_NetSrvInfo1549.networkerrortreshold", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_maxworkitems, + { "Maxworkitems", "srvsvc.srvsvc_NetSrvInfo503.maxworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_hidden, + { "Hidden", "srvsvc.srvsvc_NetSrvInfo102.hidden", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_userpath, + { "Userpath", "srvsvc.srvsvc_NetSrvInfo102.userpath", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_guestaccount, + { "Guestaccount", "srvsvc.srvsvc_NetSrvInfo403.guestaccount", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetDiskInfo_disks, + { "Disks", "srvsvc.srvsvc_NetDiskInfo.disks", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo502_path, + { "Path", "srvsvc.srvsvc_NetShareInfo502.path", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDelStart_share, + { "Share", "srvsvc.srvsvc_NetShareDelStart.share", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_xactmemsize, + { "Xactmemsize", "srvsvc.srvsvc_NetSrvInfo503.xactmemsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessEnum_level, + { "Level", "srvsvc.srvsvc_NetSessEnum.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1503_opensearch, + { "Opensearch", "srvsvc.srvsvc_NetSrvInfo1503.opensearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo1_comment, + { "Comment", "srvsvc.srvsvc_NetShareInfo1.comment", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxworkitemidletime, + { "Maxworkitemidletime", "srvsvc.srvsvc_NetSrvInfo599.maxworkitemidletime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_initworkitems, + { "Initworkitems", "srvsvc.srvsvc_NetSrvInfo503.initworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnEnum_resume_handle, + { "Resume Handle", "srvsvc.srvsvc_NetConnEnum.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportEnum_transports, + { "Transports", "srvsvc.srvsvc_NetTransportEnum.transports", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvSetInfo_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetSrvSetInfo.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1107, + { "Info1107", "srvsvc.srvsvc_NetSrvInfo.info1107", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo502_unknown, + { "Unknown", "srvsvc.srvsvc_NetShareInfo502.unknown", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnumAll_resume_handle, + { "Resume Handle", "srvsvc.srvsvc_NetShareEnumAll.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnInfo1_conn_type, + { "Conn Type", "srvsvc.srvsvc_NetConnInfo1.conn_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1016_hidden, + { "Hidden", "srvsvc.srvsvc_NetSrvInfo1016.hidden", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_updateimmediately, + { "Updateimmediately", "srvsvc.srvsvc_NetServerSetServiceBitsEx.updateimmediately", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessDel_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetSessDel.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_transport, + { "Transport", "srvsvc.srvsvc_NetServerSetServiceBitsEx.transport", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessDel_user, + { "User", "srvsvc.srvsvc_NetSessDel.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_serrorout, + { "Serrorout", "srvsvc.srvsvc_Statistics.serrorout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_syserrors, + { "Syserrors", "srvsvc.srvsvc_Statistics.syserrors", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevGetInfo_level, + { "Level", "srvsvc.srvsvc_NetCharDevGetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr1_array, + { "Array", "srvsvc.srvsvc_NetSessCtr1.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo501_csc_policy, + { "Csc Policy", "srvsvc.srvsvc_NetShareInfo501.csc_policy", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCompare_pathtype, + { "Pathtype", "srvsvc.srvsvc_NetPathCompare.pathtype", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_minlinkthroughput, + { "Minlinkthroughput", "srvsvc.srvsvc_NetSrvInfo599.minlinkthroughput", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareGetInfo_level, + { "Level", "srvsvc.srvsvc_NetShareGetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevInfo_info0, + { "Info0", "srvsvc.srvsvc_NetCharDevInfo.info0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevInfo_info1, + { "Info1", "srvsvc.srvsvc_NetCharDevInfo.info1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_weekday, + { "Weekday", "srvsvc.srvsvc_NetRemoteTODInfo.weekday", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo502_transport, + { "Transport", "srvsvc.srvsvc_NetSessInfo502.transport", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvGetInfo_level, + { "Level", "srvsvc.srvsvc_NetSrvGetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo2_user, + { "User", "srvsvc.srvsvc_NetSessInfo2.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevGetInfo_info, + { "Info", "srvsvc.srvsvc_NetCharDevGetInfo.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQPurgeSelf_computer_name, + { "Computer Name", "srvsvc.srvsvc_NetCharDevQPurgeSelf.computer_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_numfiletasks, + { "Numfiletasks", "srvsvc.srvsvc_NetSrvInfo403.numfiletasks", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileCtr3_count, + { "Count", "srvsvc.srvsvc_NetFileCtr3.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileEnum_resume_handle, + { "Resume Handle", "srvsvc.srvsvc_NetFileEnum.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_maxaudits, + { "Maxaudits", "srvsvc.srvsvc_NetSrvInfo402.maxaudits", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_bytesrcvd_high, + { "Bytesrcvd High", "srvsvc.srvsvc_Statistics.bytesrcvd_high", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info599, + { "Info599", "srvsvc.srvsvc_NetSrvInfo.info599", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo1_user_flags, + { "User Flags", "srvsvc.srvsvc_NetSessInfo1.user_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_sizereqbufs, + { "Sizereqbufs", "srvsvc.srvsvc_NetSrvInfo403.sizereqbufs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerStatisticsGet_stat, + { "Stat", "srvsvc.srvsvc_NetServerStatisticsGet.stat", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQInfo0_device, + { "Device", "srvsvc.srvsvc_NetCharDevQInfo0.device", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1007_count, + { "Count", "srvsvc.srvsvc_NetShareCtr1007.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr10_count, + { "Count", "srvsvc.srvsvc_NetSessCtr10.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo2_vcs, + { "Vcs", "srvsvc.srvsvc_NetTransportInfo2.vcs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerSetServiceBitsEx_emulated_server_unc, + { "Emulated Server Unc", "srvsvc.srvsvc_NetServerSetServiceBitsEx.emulated_server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevControl_opcode, + { "Opcode", "srvsvc.srvsvc_NetCharDevControl.opcode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1004_count, + { "Count", "srvsvc.srvsvc_NetShareCtr1004.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_chdevqs, + { "Chdevqs", "srvsvc.srvsvc_NetSrvInfo403.chdevqs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_diskalert, + { "Diskalert", "srvsvc.srvsvc_NetSrvInfo402.diskalert", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr2_array, + { "Array", "srvsvc.srvsvc_NetShareCtr2.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDel_reserved, + { "Reserved", "srvsvc.srvsvc_NetShareDel.reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileGetInfo_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetFileGetInfo.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetDiskEnum_totalentries, + { "Totalentries", "srvsvc.srvsvc_NetDiskEnum.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_rawworkitems, + { "Rawworkitems", "srvsvc.srvsvc_NetSrvInfo502.rawworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCheck_type, + { "Type", "srvsvc.srvsvc_NetShareCheck.type", FT_UINT32, BASE_DEC, VALS(srvsvc_srvsvc_ShareType_vals), 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo3_unknown1, + { "Unknown1", "srvsvc.srvsvc_NetTransportInfo3.unknown1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_opensearch, + { "Opensearch", "srvsvc.srvsvc_NetSrvInfo599.opensearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo3_unknown2, + { "Unknown2", "srvsvc.srvsvc_NetTransportInfo3.unknown2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo3_unknown3, + { "Unknown3", "srvsvc.srvsvc_NetTransportInfo3.unknown3", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1515_enableforcedlogoff, + { "Enableforcedlogoff", "srvsvc.srvsvc_NetSrvInfo1515.enableforcedlogoff", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxcopywritelen, + { "Maxcopywritelen", "srvsvc.srvsvc_NetSrvInfo599.maxcopywritelen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_chdevs, + { "Chdevs", "srvsvc.srvsvc_NetSrvInfo403.chdevs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1509_maxrawbuflen, + { "Maxrawbuflen", "srvsvc.srvsvc_NetSrvInfo1509.maxrawbuflen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo1_client, + { "Client", "srvsvc.srvsvc_NetSessInfo1.client", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetDiskEnum_level, + { "Level", "srvsvc.srvsvc_NetDiskEnum.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileGetInfo_level, + { "Level", "srvsvc.srvsvc_NetFileGetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_domain, + { "Domain", "srvsvc.srvsvc_NetSrvInfo503.domain", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevInfo1_device, + { "Device", "srvsvc.srvsvc_NetCharDevInfo1.device", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnum_totalentries, + { "Totalentries", "srvsvc.srvsvc_NetShareEnum.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDelStart_reserved, + { "Reserved", "srvsvc.srvsvc_NetShareDelStart.reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQEnum_ctr, + { "Ctr", "srvsvc.srvsvc_NetCharDevQEnum.ctr", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_ulist_mtime, + { "Ulist Mtime", "srvsvc.srvsvc_NetSrvInfo402.ulist_mtime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetDiskInfo_count, + { "Count", "srvsvc.srvsvc_NetDiskInfo.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileCtr_ctr2, + { "Ctr2", "srvsvc.srvsvc_NetFileCtr.ctr2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileCtr_ctr3, + { "Ctr3", "srvsvc.srvsvc_NetFileCtr.ctr3", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_openfiles, + { "Openfiles", "srvsvc.srvsvc_NetSrvInfo402.openfiles", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo1_name, + { "Name", "srvsvc.srvsvc_NetShareInfo1.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnCtr0_array, + { "Array", "srvsvc.srvsvc_NetConnCtr0.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_maxworkitems, + { "Maxworkitems", "srvsvc.srvsvc_NetSrvInfo502.maxworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr_ctr0, + { "Ctr0", "srvsvc.srvsvc_NetTransportCtr.ctr0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo0_addr_len, + { "Addr Len", "srvsvc.srvsvc_NetTransportInfo0.addr_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo2_user_flags, + { "User Flags", "srvsvc.srvsvc_NetSessInfo2.user_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_guestaccount, + { "Guestaccount", "srvsvc.srvsvc_NetSrvInfo402.guestaccount", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr_ctr1, + { "Ctr1", "srvsvc.srvsvc_NetTransportCtr.ctr1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr_ctr2, + { "Ctr2", "srvsvc.srvsvc_NetTransportCtr.ctr2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr_ctr3, + { "Ctr3", "srvsvc.srvsvc_NetTransportCtr.ctr3", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo2_comment, + { "Comment", "srvsvc.srvsvc_NetShareInfo2.comment", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileGetInfo_fid, + { "Fid", "srvsvc.srvsvc_NetFileGetInfo.fid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo2_time, + { "Time", "srvsvc.srvsvc_NetSessInfo2.time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr0_count, + { "Count", "srvsvc.srvsvc_NetSessCtr0.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo502_client_type, + { "Client Type", "srvsvc.srvsvc_NetSessInfo502.client_type", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_activelocks, + { "Activelocks", "srvsvc.srvsvc_NetSrvInfo403.activelocks", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo2_permissions, + { "Permissions", "srvsvc.srvsvc_NetShareInfo2.permissions", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_lmannounce, + { "Lmannounce", "srvsvc.srvsvc_NetSrvInfo599.lmannounce", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevCtr_ctr0, + { "Ctr0", "srvsvc.srvsvc_NetCharDevCtr.ctr0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevCtr_ctr1, + { "Ctr1", "srvsvc.srvsvc_NetCharDevCtr.ctr1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevCtr0_array, + { "Array", "srvsvc.srvsvc_NetCharDevCtr0.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_bytessent_low, + { "Bytessent Low", "srvsvc.srvsvc_Statistics.bytessent_low", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1525_maxkeepcomplsearch, + { "Maxkeepcomplsearch", "srvsvc.srvsvc_NetSrvInfo1525.maxkeepcomplsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo2_client_type, + { "Client Type", "srvsvc.srvsvc_NetSessInfo2.client_type", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_sesssvc, + { "Sesssvc", "srvsvc.srvsvc_NetSrvInfo502.sesssvc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQSetInfo_level, + { "Level", "srvsvc.srvsvc_NetCharDevQSetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileEnum_path, + { "Path", "srvsvc.srvsvc_NetFileEnum.path", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_oplockbreakwait, + { "Oplockbreakwait", "srvsvc.srvsvc_NetSrvInfo503.oplockbreakwait", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileInfo_info2, + { "Info2", "srvsvc.srvsvc_NetFileInfo.info2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportEnum_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetTransportEnum.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_msecs, + { "Msecs", "srvsvc.srvsvc_NetRemoteTODInfo.msecs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileInfo_info3, + { "Info3", "srvsvc.srvsvc_NetFileInfo.info3", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo2_type, + { "Type", "srvsvc.srvsvc_NetShareInfo2.type", FT_UINT32, BASE_DEC, VALS(srvsvc_srvsvc_ShareType_vals), 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportDel_unknown, + { "Unknown", "srvsvc.srvsvc_NetTransportDel.unknown", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportEnum_level, + { "Level", "srvsvc.srvsvc_NetTransportEnum.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDelStart_hnd, + { "Hnd", "srvsvc.srvsvc_NetShareDelStart.hnd", FT_BYTES, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_connections, + { "Connections", "srvsvc.srvsvc_NetSrvInfo402.connections", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo502_max_users, + { "Max Users", "srvsvc.srvsvc_NetShareInfo502.max_users", FT_INT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_numlockthreads, + { "Numlockthreads", "srvsvc.srvsvc_NetSrvInfo599.numlockthreads", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareAdd_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetShareAdd.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTOD_info, + { "Info", "srvsvc.srvsvc_NetRemoteTOD.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQPurge_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetCharDevQPurge.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo1_num_open, + { "Num Open", "srvsvc.srvsvc_NetSessInfo1.num_open", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_numlockthreads, + { "Numlockthreads", "srvsvc.srvsvc_NetSrvInfo503.numlockthreads", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1_count, + { "Count", "srvsvc.srvsvc_NetShareCtr1.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_numfiletasks, + { "Numfiletasks", "srvsvc.srvsvc_NetSrvInfo402.numfiletasks", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_srvheuristics, + { "Srvheuristics", "srvsvc.srvsvc_NetSrvInfo403.srvheuristics", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerTransportAddEx_level, + { "Level", "srvsvc.srvsvc_NetServerTransportAddEx.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxlinkdelay, + { "Maxlinkdelay", "srvsvc.srvsvc_NetSrvInfo599.maxlinkdelay", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_acceptdownlevelapis, + { "Acceptdownlevelapis", "srvsvc.srvsvc_NetSrvInfo599.acceptdownlevelapis", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportAdd_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetTransportAdd.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr1_array, + { "Array", "srvsvc.srvsvc_NetTransportCtr1.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_licenses, + { "Licenses", "srvsvc.srvsvc_NetSrvInfo102.licenses", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetGetFileSecurity_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetGetFileSecurity.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_chdevs, + { "Chdevs", "srvsvc.srvsvc_NetSrvInfo402.chdevs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1520_maxcopyreadlen, + { "Maxcopyreadlen", "srvsvc.srvsvc_NetSrvInfo1520.maxcopyreadlen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_sessusers, + { "Sessusers", "srvsvc.srvsvc_NetSrvInfo503.sessusers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetGetFileSecurity_file, + { "File", "srvsvc.srvsvc_NetGetFileSecurity.file", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo0_client, + { "Client", "srvsvc.srvsvc_NetSessInfo0.client", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCompare_path1, + { "Path1", "srvsvc.srvsvc_NetPathCompare.path1", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo2_path, + { "Path", "srvsvc.srvsvc_NetShareInfo2.path", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCompare_path2, + { "Path2", "srvsvc.srvsvc_NetPathCompare.path2", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_sessreqs, + { "Sessreqs", "srvsvc.srvsvc_NetSrvInfo403.sessreqs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileInfo3_num_locks, + { "Num Locks", "srvsvc.srvsvc_NetFileInfo3.num_locks", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevInfo0_device, + { "Device", "srvsvc.srvsvc_NetCharDevInfo0.device", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDelSticky_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetShareDelSticky.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileInfo3_path, + { "Path", "srvsvc.srvsvc_NetFileInfo3.path", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQPurge_queue_name, + { "Queue Name", "srvsvc.srvsvc_NetCharDevQPurge.queue_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathType_pathflags, + { "Pathflags", "srvsvc.srvsvc_NetPathType.pathflags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSetServiceBits_updateimmediately, + { "Updateimmediately", "srvsvc.srvsvc_NetSetServiceBits.updateimmediately", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo1006_max_users, + { "Max Users", "srvsvc.srvsvc_NetShareInfo1006.max_users", FT_INT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQInfo1_devices, + { "Devices", "srvsvc.srvsvc_NetCharDevQInfo1.devices", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1553_minlinkthroughput, + { "Minlinkthroughput", "srvsvc.srvsvc_NetSrvInfo1553.minlinkthroughput", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1530_minfreeworkitems, + { "Minfreeworkitems", "srvsvc.srvsvc_NetSrvInfo1530.minfreeworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1514_enablesoftcompat, + { "Enablesoftcompat", "srvsvc.srvsvc_NetSrvInfo1514.enablesoftcompat", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_minkeepsearch, + { "Minkeepsearch", "srvsvc.srvsvc_NetSrvInfo599.minkeepsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQCtr1_count, + { "Count", "srvsvc.srvsvc_NetCharDevQCtr1.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_bytessent_high, + { "Bytessent High", "srvsvc.srvsvc_Statistics.bytessent_high", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr_ctr501, + { "Ctr501", "srvsvc.srvsvc_NetShareCtr.ctr501", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr_ctr502, + { "Ctr502", "srvsvc.srvsvc_NetShareCtr.ctr502", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo2_net_addr, + { "Net Addr", "srvsvc.srvsvc_NetTransportInfo2.net_addr", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_users, + { "Users", "srvsvc.srvsvc_NetSrvInfo102.users", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr502_count, + { "Count", "srvsvc.srvsvc_NetShareCtr502.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1017_announce, + { "Announce", "srvsvc.srvsvc_NetSrvInfo1017.announce", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxfreeconnections, + { "Maxfreeconnections", "srvsvc.srvsvc_NetSrvInfo599.maxfreeconnections", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSetServiceBits_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetSetServiceBits.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_reserved, + { "Reserved", "srvsvc.srvsvc_NetSrvInfo599.reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_sessusers, + { "Sessusers", "srvsvc.srvsvc_NetSrvInfo599.sessusers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_numadmin, + { "Numadmin", "srvsvc.srvsvc_NetSrvInfo402.numadmin", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_maxfreeconnections, + { "Maxfreeconnections", "srvsvc.srvsvc_NetSrvInfo503.maxfreeconnections", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1521_maxcopywritelen, + { "Maxcopywritelen", "srvsvc.srvsvc_NetSrvInfo1521.maxcopywritelen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_opnum, + { "Operation", "srvsvc.opnum", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevEnum_totalentries, + { "Totalentries", "srvsvc.srvsvc_NetCharDevEnum.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileCtr3_array, + { "Array", "srvsvc.srvsvc_NetFileCtr3.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileInfo2_fid, + { "Fid", "srvsvc.srvsvc_NetFileInfo2.fid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_maxkeepsearch, + { "Maxkeepsearch", "srvsvc.srvsvc_NetSrvInfo503.maxkeepsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_initconntable, + { "Initconntable", "srvsvc.srvsvc_NetSrvInfo599.initconntable", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_initsesstable, + { "Initsesstable", "srvsvc.srvsvc_NetSrvInfo599.initsesstable", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1007_array, + { "Array", "srvsvc.srvsvc_NetShareCtr1007.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1005_comment, + { "Comment", "srvsvc.srvsvc_NetSrvInfo1005.comment", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr10_array, + { "Array", "srvsvc.srvsvc_NetSessCtr10.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_enablesoftcompat, + { "Enablesoftcompat", "srvsvc.srvsvc_NetSrvInfo503.enablesoftcompat", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_sesssvc, + { "Sesssvc", "srvsvc.srvsvc_NetSrvInfo503.sesssvc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnum_resume_handle, + { "Resume Handle", "srvsvc.srvsvc_NetShareEnum.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQSetInfo_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetCharDevQSetInfo.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1004_array, + { "Array", "srvsvc.srvsvc_NetShareCtr1004.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDelStart_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetShareDelStart.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_maxcopywritelen, + { "Maxcopywritelen", "srvsvc.srvsvc_NetSrvInfo503.maxcopywritelen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_enablesharednetdrives, + { "Enablesharednetdrives", "srvsvc.srvsvc_NetSrvInfo599.enablesharednetdrives", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQInfo1_priority, + { "Priority", "srvsvc.srvsvc_NetCharDevQInfo1.priority", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr_ctr1004, + { "Ctr1004", "srvsvc.srvsvc_NetShareCtr.ctr1004", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_sessopen, + { "Sessopen", "srvsvc.srvsvc_NetSrvInfo403.sessopen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPRNameCompare_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetPRNameCompare.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr_ctr1005, + { "Ctr1005", "srvsvc.srvsvc_NetShareCtr.ctr1005", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr_ctr1006, + { "Ctr1006", "srvsvc.srvsvc_NetShareCtr.ctr1006", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr3_count, + { "Count", "srvsvc.srvsvc_NetTransportCtr3.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr_ctr1007, + { "Ctr1007", "srvsvc.srvsvc_NetShareCtr.ctr1007", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnCtr_ctr0, + { "Ctr0", "srvsvc.srvsvc_NetConnCtr.ctr0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_maxpagedmemoryusage, + { "Maxpagedmemoryusage", "srvsvc.srvsvc_NetSrvInfo502.maxpagedmemoryusage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnCtr_ctr1, + { "Ctr1", "srvsvc.srvsvc_NetConnCtr.ctr1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportEnum_max_buffer, + { "Max Buffer", "srvsvc.srvsvc_NetTransportEnum.max_buffer", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareGetInfo_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetShareGetInfo.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSetFileSecurity_securityinformation, + { "Securityinformation", "srvsvc.srvsvc_NetSetFileSecurity.securityinformation", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr0_count, + { "Count", "srvsvc.srvsvc_NetTransportCtr0.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQInfo1_users, + { "Users", "srvsvc.srvsvc_NetCharDevQInfo1.users", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_lanmask, + { "Lanmask", "srvsvc.srvsvc_NetSrvInfo402.lanmask", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetDiskEnum_info, + { "Info", "srvsvc.srvsvc_NetDiskEnum.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1554_linkinfovalidtime, + { "Linkinfovalidtime", "srvsvc.srvsvc_NetSrvInfo1554.linkinfovalidtime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_timesource, + { "Timesource", "srvsvc.srvsvc_NetSrvInfo599.timesource", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportEnum_totalentries, + { "Totalentries", "srvsvc.srvsvc_NetTransportEnum.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessEnum_ctr, + { "Ctr", "srvsvc.srvsvc_NetSessEnum.ctr", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1541_minfreeconnections, + { "Minfreeconnections", "srvsvc.srvsvc_NetSrvInfo1541.minfreeconnections", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnInfo1_user, + { "User", "srvsvc.srvsvc_NetConnInfo1.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_timezone, + { "Timezone", "srvsvc.srvsvc_NetRemoteTODInfo.timezone", FT_INT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo2_current_users, + { "Current Users", "srvsvc.srvsvc_NetShareInfo2.current_users", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_security, + { "Security", "srvsvc.srvsvc_NetSrvInfo402.security", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQSetInfo_queue_name, + { "Queue Name", "srvsvc.srvsvc_NetCharDevQSetInfo.queue_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_enablesoftcompat, + { "Enablesoftcompat", "srvsvc.srvsvc_NetSrvInfo599.enablesoftcompat", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxrawbuflen, + { "Maxrawbuflen", "srvsvc.srvsvc_NetSrvInfo599.maxrawbuflen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportAdd_info, + { "Info", "srvsvc.srvsvc_NetTransportAdd.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_errortreshold, + { "Errortreshold", "srvsvc.srvsvc_NetSrvInfo599.errortreshold", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_initsearchtable, + { "Initsearchtable", "srvsvc.srvsvc_NetSrvInfo599.initsearchtable", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_alertsched, + { "Alertsched", "srvsvc.srvsvc_NetSrvInfo402.alertsched", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_glist_mtime, + { "Glist Mtime", "srvsvc.srvsvc_NetSrvInfo403.glist_mtime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_accessalert, + { "Accessalert", "srvsvc.srvsvc_NetSrvInfo403.accessalert", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_secs, + { "Secs", "srvsvc.srvsvc_NetRemoteTODInfo.secs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1555_scavqosinfoupdatetime, + { "Scavqosinfoupdatetime", "srvsvc.srvsvc_NetSrvInfo1555.scavqosinfoupdatetime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevInfo1_user, + { "User", "srvsvc.srvsvc_NetCharDevInfo1.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_sizereqbufs, + { "Sizereqbufs", "srvsvc.srvsvc_NetSrvInfo503.sizereqbufs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_maxnonpagedmemoryusage, + { "Maxnonpagedmemoryusage", "srvsvc.srvsvc_NetSrvInfo503.maxnonpagedmemoryusage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info100, + { "Info100", "srvsvc.srvsvc_NetSrvInfo.info100", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info101, + { "Info101", "srvsvc.srvsvc_NetSrvInfo.info101", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr0_array, + { "Array", "srvsvc.srvsvc_NetSessCtr0.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_enableoplocks, + { "Enableoplocks", "srvsvc.srvsvc_NetSrvInfo599.enableoplocks", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info102, + { "Info102", "srvsvc.srvsvc_NetSrvInfo.info102", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_minkeepcomplsearch, + { "Minkeepcomplsearch", "srvsvc.srvsvc_NetSrvInfo599.minkeepcomplsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileEnum_user, + { "User", "srvsvc.srvsvc_NetFileEnum.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnInfo1_conn_time, + { "Conn Time", "srvsvc.srvsvc_NetConnInfo1.conn_time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo502_name, + { "Name", "srvsvc.srvsvc_NetShareInfo502.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_minkeepcomplsearch, + { "Minkeepcomplsearch", "srvsvc.srvsvc_NetSrvInfo503.minkeepcomplsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathType_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetPathType.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo3_addr_len, + { "Addr Len", "srvsvc.srvsvc_NetTransportInfo3.addr_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo1007_alternate_directory_name, + { "Alternate Directory Name", "srvsvc.srvsvc_NetShareInfo1007.alternate_directory_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_sessopen, + { "Sessopen", "srvsvc.srvsvc_NetSrvInfo503.sessopen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_enableoplockforceclose, + { "Enableoplockforceclose", "srvsvc.srvsvc_NetSrvInfo503.enableoplockforceclose", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo3_addr, + { "Addr", "srvsvc.srvsvc_NetTransportInfo3.addr", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo3_vcs, + { "Vcs", "srvsvc.srvsvc_NetTransportInfo3.vcs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSetFileSecurity_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetSetFileSecurity.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnum_level, + { "Level", "srvsvc.srvsvc_NetShareEnum.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo_info1501, + { "Info1501", "srvsvc.srvsvc_NetShareInfo.info1501", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_start, + { "Start", "srvsvc.srvsvc_Statistics.start", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileCtr2_count, + { "Count", "srvsvc.srvsvc_NetFileCtr2.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessEnum_totalentries, + { "Totalentries", "srvsvc.srvsvc_NetSessEnum.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_scavtimeout, + { "Scavtimeout", "srvsvc.srvsvc_NetSrvInfo599.scavtimeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvSetInfo_info, + { "Info", "srvsvc.srvsvc_NetSrvSetInfo.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo2_name, + { "Name", "srvsvc.srvsvc_NetTransportInfo2.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1543_initsesstable, + { "Initsesstable", "srvsvc.srvsvc_NetSrvInfo1543.initsesstable", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSetServiceBits_transport, + { "Transport", "srvsvc.srvsvc_NetSetServiceBits.transport", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1501, + { "Info1501", "srvsvc.srvsvc_NetSrvInfo.info1501", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1502, + { "Info1502", "srvsvc.srvsvc_NetSrvInfo.info1502", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo101_platform_id, + { "Platform Id", "srvsvc.srvsvc_NetSrvInfo101.platform_id", FT_UINT32, BASE_DEC, VALS(srvsvc_srvsvc_PlatformId_vals), 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1503, + { "Info1503", "srvsvc.srvsvc_NetSrvInfo.info1503", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1006_count, + { "Count", "srvsvc.srvsvc_NetShareCtr1006.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1506, + { "Info1506", "srvsvc.srvsvc_NetSrvInfo.info1506", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileInfo3_permissions, + { "Permissions", "srvsvc.srvsvc_NetFileInfo3.permissions", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1509, + { "Info1509", "srvsvc.srvsvc_NetSrvInfo.info1509", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathType_pathtype, + { "Pathtype", "srvsvc.srvsvc_NetPathType.pathtype", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSetFileSecurity_sd_buf, + { "Sd Buf", "srvsvc.srvsvc_NetSetFileSecurity.sd_buf", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDelCommit_hnd, + { "Hnd", "srvsvc.srvsvc_NetShareDelCommit.hnd", FT_BYTES, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevControl_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetCharDevControl.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_enableforcedlogoff, + { "Enableforcedlogoff", "srvsvc.srvsvc_NetSrvInfo599.enableforcedlogoff", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1512_maxnonpagedmemoryusage, + { "Maxnonpagedmemoryusage", "srvsvc.srvsvc_NetSrvInfo1512.maxnonpagedmemoryusage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1_array, + { "Array", "srvsvc.srvsvc_NetShareCtr1.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_server_name, + { "Server Name", "srvsvc.srvsvc_NetSrvInfo102.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo0_net_addr, + { "Net Addr", "srvsvc.srvsvc_NetTransportInfo0.net_addr", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDel_share_name, + { "Share Name", "srvsvc.srvsvc_NetShareDel.share_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_xactmemsize, + { "Xactmemsize", "srvsvc.srvsvc_NetSrvInfo599.xactmemsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_logonalert, + { "Logonalert", "srvsvc.srvsvc_NetSrvInfo402.logonalert", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_alertsched, + { "Alertsched", "srvsvc.srvsvc_NetSrvInfo403.alertsched", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_enableforcedlogoff, + { "Enableforcedlogoff", "srvsvc.srvsvc_NetSrvInfo503.enableforcedlogoff", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo_info0, + { "Info0", "srvsvc.srvsvc_NetTransportInfo.info0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo_info1, + { "Info1", "srvsvc.srvsvc_NetTransportInfo.info1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo_info2, + { "Info2", "srvsvc.srvsvc_NetTransportInfo.info2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo_info3, + { "Info3", "srvsvc.srvsvc_NetTransportInfo.info3", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetDiskEnum_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetDiskEnum.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxcopyreadlen, + { "Maxcopyreadlen", "srvsvc.srvsvc_NetSrvInfo599.maxcopyreadlen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_sesssvc, + { "Sesssvc", "srvsvc.srvsvc_NetSrvInfo402.sesssvc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_auditedevents, + { "Auditedevents", "srvsvc.srvsvc_NetSrvInfo403.auditedevents", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_threadcountadd, + { "Threadcountadd", "srvsvc.srvsvc_NetSrvInfo599.threadcountadd", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1552_maxlinkdelay, + { "Maxlinkdelay", "srvsvc.srvsvc_NetSrvInfo1552.maxlinkdelay", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1510, + { "Info1510", "srvsvc.srvsvc_NetSrvInfo.info1510", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvGetInfo_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetSrvGetInfo.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1511, + { "Info1511", "srvsvc.srvsvc_NetSrvInfo.info1511", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1512, + { "Info1512", "srvsvc.srvsvc_NetSrvInfo.info1512", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnumAll_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetShareEnumAll.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo502_user, + { "User", "srvsvc.srvsvc_NetSessInfo502.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo1004_comment, + { "Comment", "srvsvc.srvsvc_NetShareInfo1004.comment", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_oplockbreakresponsewait, + { "Oplockbreakresponsewait", "srvsvc.srvsvc_NetSrvInfo503.oplockbreakresponsewait", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1513, + { "Info1513", "srvsvc.srvsvc_NetSrvInfo.info1513", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnumAll_totalentries, + { "Totalentries", "srvsvc.srvsvc_NetShareEnumAll.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_maxcopyreadlen, + { "Maxcopyreadlen", "srvsvc.srvsvc_NetSrvInfo503.maxcopyreadlen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1514, + { "Info1514", "srvsvc.srvsvc_NetSrvInfo.info1514", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetDiskInfo0_disk, + { "Disk", "srvsvc.srvsvc_NetDiskInfo0.disk", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareSetInfo_level, + { "Level", "srvsvc.srvsvc_NetShareSetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1515, + { "Info1515", "srvsvc.srvsvc_NetSrvInfo.info1515", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo0_vcs, + { "Vcs", "srvsvc.srvsvc_NetTransportInfo0.vcs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo1_addr, + { "Addr", "srvsvc.srvsvc_NetTransportInfo1.addr", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_year, + { "Year", "srvsvc.srvsvc_NetRemoteTODInfo.year", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_threadcountadd, + { "Threadcountadd", "srvsvc.srvsvc_NetSrvInfo503.threadcountadd", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1516, + { "Info1516", "srvsvc.srvsvc_NetSrvInfo.info1516", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileInfo3_user, + { "User", "srvsvc.srvsvc_NetFileInfo3.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1518, + { "Info1518", "srvsvc.srvsvc_NetSrvInfo.info1518", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr_ctr10, + { "Ctr10", "srvsvc.srvsvc_NetSessCtr.ctr10", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQEnum_level, + { "Level", "srvsvc.srvsvc_NetCharDevQEnum.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_enableraw, + { "Enableraw", "srvsvc.srvsvc_NetSrvInfo503.enableraw", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_sessopen, + { "Sessopen", "srvsvc.srvsvc_NetSrvInfo599.sessopen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvSetInfo_level, + { "Level", "srvsvc.srvsvc_NetSrvSetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_scavqosinfoupdatetime, + { "Scavqosinfoupdatetime", "srvsvc.srvsvc_NetSrvInfo599.scavqosinfoupdatetime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo0_name, + { "Name", "srvsvc.srvsvc_NetTransportInfo0.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetDiskEnum_resume_handle, + { "Resume Handle", "srvsvc.srvsvc_NetDiskEnum.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevInfo1_time, + { "Time", "srvsvc.srvsvc_NetCharDevInfo1.time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareSetInfo_info, + { "Info", "srvsvc.srvsvc_NetShareSetInfo.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_lanmask, + { "Lanmask", "srvsvc.srvsvc_NetSrvInfo403.lanmask", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo1007_flags, + { "Flags", "srvsvc.srvsvc_NetShareInfo1007.flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1546_initsearchtable, + { "Initsearchtable", "srvsvc.srvsvc_NetSrvInfo1546.initsearchtable", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_jobsqueued, + { "Jobsqueued", "srvsvc.srvsvc_Statistics.jobsqueued", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnEnum_path, + { "Path", "srvsvc.srvsvc_NetConnEnum.path", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_threadpriority, + { "Threadpriority", "srvsvc.srvsvc_NetSrvInfo599.threadpriority", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_enableforcedlogoff, + { "Enableforcedlogoff", "srvsvc.srvsvc_NetSrvInfo502.enableforcedlogoff", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1520, + { "Info1520", "srvsvc.srvsvc_NetSrvInfo.info1520", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_autopath, + { "Autopath", "srvsvc.srvsvc_NetSrvInfo403.autopath", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_oplockbreakresponsewait, + { "Oplockbreakresponsewait", "srvsvc.srvsvc_NetSrvInfo599.oplockbreakresponsewait", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1521, + { "Info1521", "srvsvc.srvsvc_NetSrvInfo.info1521", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1522, + { "Info1522", "srvsvc.srvsvc_NetSrvInfo.info1522", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerStatisticsGet_options, + { "Options", "srvsvc.srvsvc_NetServerStatisticsGet.options", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1523, + { "Info1523", "srvsvc.srvsvc_NetSrvInfo.info1523", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_threadpriority, + { "Threadpriority", "srvsvc.srvsvc_NetSrvInfo503.threadpriority", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1524, + { "Info1524", "srvsvc.srvsvc_NetSrvInfo.info1524", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQCtr1_array, + { "Array", "srvsvc.srvsvc_NetCharDevQCtr1.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1525, + { "Info1525", "srvsvc.srvsvc_NetSrvInfo.info1525", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr2_count, + { "Count", "srvsvc.srvsvc_NetSessCtr2.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_permerrors, + { "Permerrors", "srvsvc.srvsvc_Statistics.permerrors", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo501_type, + { "Type", "srvsvc.srvsvc_NetShareInfo501.type", FT_UINT32, BASE_DEC, VALS(srvsvc_srvsvc_ShareType_vals), 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1528, + { "Info1528", "srvsvc.srvsvc_NetSrvInfo.info1528", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1529, + { "Info1529", "srvsvc.srvsvc_NetSrvInfo.info1529", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_tinterval, + { "Tinterval", "srvsvc.srvsvc_NetRemoteTODInfo.tinterval", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_sessconns, + { "Sessconns", "srvsvc.srvsvc_NetSrvInfo503.sessconns", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1537_enableoplockforceclose, + { "Enableoplockforceclose", "srvsvc.srvsvc_NetSrvInfo1537.enableoplockforceclose", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPRNameCompare_flags, + { "Flags", "srvsvc.srvsvc_NetPRNameCompare.flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr502_array, + { "Array", "srvsvc.srvsvc_NetShareCtr502.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo502_client, + { "Client", "srvsvc.srvsvc_NetSessInfo502.client", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessDel_client, + { "Client", "srvsvc.srvsvc_NetSessDel.client", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr502_count, + { "Count", "srvsvc.srvsvc_NetSessCtr502.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1018_anndelta, + { "Anndelta", "srvsvc.srvsvc_NetSrvInfo1018.anndelta", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSetServiceBits_servicebits, + { "Servicebits", "srvsvc.srvsvc_NetSetServiceBits.servicebits", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_sessusers, + { "Sessusers", "srvsvc.srvsvc_NetSrvInfo502.sessusers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_enablefcbopens, + { "Enablefcbopens", "srvsvc.srvsvc_NetSrvInfo599.enablefcbopens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_enableraw, + { "Enableraw", "srvsvc.srvsvc_NetSrvInfo599.enableraw", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDelSticky_reserved, + { "Reserved", "srvsvc.srvsvc_NetShareDelSticky.reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_enablesoftcompat, + { "Enablesoftcompat", "srvsvc.srvsvc_NetSrvInfo502.enablesoftcompat", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1545_initfiletable, + { "Initfiletable", "srvsvc.srvsvc_NetSrvInfo1545.initfiletable", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_enablefcbopens, + { "Enablefcbopens", "srvsvc.srvsvc_NetSrvInfo503.enablefcbopens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_logonalert, + { "Logonalert", "srvsvc.srvsvc_NetSrvInfo403.logonalert", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_numbigbufs, + { "Numbigbufs", "srvsvc.srvsvc_NetSrvInfo402.numbigbufs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1530, + { "Info1530", "srvsvc.srvsvc_NetSrvInfo.info1530", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileEnum_ctr, + { "Ctr", "srvsvc.srvsvc_NetFileEnum.ctr", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1533, + { "Info1533", "srvsvc.srvsvc_NetSrvInfo.info1533", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1534, + { "Info1534", "srvsvc.srvsvc_NetSrvInfo.info1534", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvGetInfo_info, + { "Info", "srvsvc.srvsvc_NetSrvGetInfo.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1535, + { "Info1535", "srvsvc.srvsvc_NetSrvInfo.info1535", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1536, + { "Info1536", "srvsvc.srvsvc_NetSrvInfo.info1536", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1537, + { "Info1537", "srvsvc.srvsvc_NetSrvInfo.info1537", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1538, + { "Info1538", "srvsvc.srvsvc_NetSrvInfo.info1538", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1539, + { "Info1539", "srvsvc.srvsvc_NetSrvInfo.info1539", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevGetInfo_device_name, + { "Device Name", "srvsvc.srvsvc_NetCharDevGetInfo.device_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevEnum_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetCharDevEnum.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo100_server_name, + { "Server Name", "srvsvc.srvsvc_NetSrvInfo100.server_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_opensearch, + { "Opensearch", "srvsvc.srvsvc_NetSrvInfo502.opensearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSetFileSecurity_share, + { "Share", "srvsvc.srvsvc_NetSetFileSecurity.share", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_erroralert, + { "Erroralert", "srvsvc.srvsvc_NetSrvInfo402.erroralert", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_sessconns, + { "Sessconns", "srvsvc.srvsvc_NetSrvInfo599.sessconns", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetGetFileSecurity_share, + { "Share", "srvsvc.srvsvc_NetGetFileSecurity.share", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetDiskEnum_maxlen, + { "Maxlen", "srvsvc.srvsvc_NetDiskEnum.maxlen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareSetInfo_share_name, + { "Share Name", "srvsvc.srvsvc_NetShareSetInfo.share_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_fopens, + { "Fopens", "srvsvc.srvsvc_Statistics.fopens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevEnum_resume_handle, + { "Resume Handle", "srvsvc.srvsvc_NetCharDevEnum.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1523_maxkeepsearch, + { "Maxkeepsearch", "srvsvc.srvsvc_NetSrvInfo1523.maxkeepsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_alist_mtime, + { "Alist Mtime", "srvsvc.srvsvc_NetSrvInfo402.alist_mtime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetGetFileSecurity_sd_buf, + { "Sd Buf", "srvsvc.srvsvc_NetGetFileSecurity.sd_buf", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevEnum_ctr, + { "Ctr", "srvsvc.srvsvc_NetCharDevEnum.ctr", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo502_time, + { "Time", "srvsvc.srvsvc_NetSessInfo502.time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1522_minkeepsearch, + { "Minkeepsearch", "srvsvc.srvsvc_NetSrvInfo1522.minkeepsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr0_count, + { "Count", "srvsvc.srvsvc_NetShareCtr0.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1540, + { "Info1540", "srvsvc.srvsvc_NetSrvInfo.info1540", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1533_maxmpxct, + { "Maxmpxct", "srvsvc.srvsvc_NetSrvInfo1533.maxmpxct", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1541, + { "Info1541", "srvsvc.srvsvc_NetSrvInfo.info1541", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1542, + { "Info1542", "srvsvc.srvsvc_NetSrvInfo.info1542", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr3_array, + { "Array", "srvsvc.srvsvc_NetTransportCtr3.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1543, + { "Info1543", "srvsvc.srvsvc_NetSrvInfo.info1543", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo10_idle_time, + { "Idle Time", "srvsvc.srvsvc_NetSessInfo10.idle_time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo101_server_type, + { "Server Type", "srvsvc.srvsvc_NetSrvInfo101.server_type", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1544, + { "Info1544", "srvsvc.srvsvc_NetSrvInfo.info1544", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1545, + { "Info1545", "srvsvc.srvsvc_NetSrvInfo.info1545", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1546, + { "Info1546", "srvsvc.srvsvc_NetSrvInfo.info1546", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_maxrawbuflen, + { "Maxrawbuflen", "srvsvc.srvsvc_NetSrvInfo503.maxrawbuflen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1547, + { "Info1547", "srvsvc.srvsvc_NetSrvInfo.info1547", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCanonicalize_can_path, + { "Can Path", "srvsvc.srvsvc_NetPathCanonicalize.can_path", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportEnum_resume_handle, + { "Resume Handle", "srvsvc.srvsvc_NetTransportEnum.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1548, + { "Info1548", "srvsvc.srvsvc_NetSrvInfo.info1548", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1549, + { "Info1549", "srvsvc.srvsvc_NetSrvInfo.info1549", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_acceptdownlevelapis, + { "Acceptdownlevelapis", "srvsvc.srvsvc_NetSrvInfo503.acceptdownlevelapis", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr0_array, + { "Array", "srvsvc.srvsvc_NetTransportCtr0.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerStatisticsGet_level, + { "Level", "srvsvc.srvsvc_NetServerStatisticsGet.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_minrcvqueue, + { "Minrcvqueue", "srvsvc.srvsvc_NetSrvInfo503.minrcvqueue", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo1_addr_len, + { "Addr Len", "srvsvc.srvsvc_NetTransportInfo1.addr_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevGetInfo_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetCharDevGetInfo.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetNameValidate_flags, + { "Flags", "srvsvc.srvsvc_NetNameValidate.flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo1005_dfs_flags, + { "Dfs Flags", "srvsvc.srvsvc_NetShareInfo1005.dfs_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo3_domain, + { "Domain", "srvsvc.srvsvc_NetTransportInfo3.domain", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_eroralert, + { "Eroralert", "srvsvc.srvsvc_NetSrvInfo403.eroralert", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQPurgeSelf_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetCharDevQPurgeSelf.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxpagedmemoryusage, + { "Maxpagedmemoryusage", "srvsvc.srvsvc_NetSrvInfo599.maxpagedmemoryusage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_avresponse, + { "Avresponse", "srvsvc.srvsvc_Statistics.avresponse", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo101_version_minor, + { "Version Minor", "srvsvc.srvsvc_NetSrvInfo101.version_minor", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_pwerrors, + { "Pwerrors", "srvsvc.srvsvc_Statistics.pwerrors", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareGetInfo_info, + { "Info", "srvsvc.srvsvc_NetShareGetInfo.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_sesssvc, + { "Sesssvc", "srvsvc.srvsvc_NetSrvInfo403.sesssvc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1550, + { "Info1550", "srvsvc.srvsvc_NetSrvInfo.info1550", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnum_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetShareEnum.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportDel_transport, + { "Transport", "srvsvc.srvsvc_NetTransportDel.transport", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo2_idle_time, + { "Idle Time", "srvsvc.srvsvc_NetSessInfo2.idle_time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1552, + { "Info1552", "srvsvc.srvsvc_NetSrvInfo.info1552", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_ulist_mtime, + { "Ulist Mtime", "srvsvc.srvsvc_NetSrvInfo403.ulist_mtime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1553, + { "Info1553", "srvsvc.srvsvc_NetSrvInfo.info1553", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1554, + { "Info1554", "srvsvc.srvsvc_NetSrvInfo.info1554", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo1_user, + { "User", "srvsvc.srvsvc_NetSessInfo1.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1555, + { "Info1555", "srvsvc.srvsvc_NetSrvInfo.info1555", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnCtr1_count, + { "Count", "srvsvc.srvsvc_NetConnCtr1.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info1556, + { "Info1556", "srvsvc.srvsvc_NetSrvInfo.info1556", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_numbigbufs, + { "Numbigbufs", "srvsvc.srvsvc_NetSrvInfo403.numbigbufs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_lmannounce, + { "Lmannounce", "srvsvc.srvsvc_NetSrvInfo502.lmannounce", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareSetInfo_parm_error, + { "Parm Error", "srvsvc.srvsvc_NetShareSetInfo.parm_error", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetNameValidate_name, + { "Name", "srvsvc.srvsvc_NetNameValidate.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_minkeepsearch, + { "Minkeepsearch", "srvsvc.srvsvc_NetSrvInfo503.minkeepsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr_ctr0, + { "Ctr0", "srvsvc.srvsvc_NetShareCtr.ctr0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnumAll_max_buffer, + { "Max Buffer", "srvsvc.srvsvc_NetShareEnumAll.max_buffer", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr_ctr1, + { "Ctr1", "srvsvc.srvsvc_NetShareCtr.ctr1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr_ctr2, + { "Ctr2", "srvsvc.srvsvc_NetShareCtr.ctr2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQCtr0_count, + { "Count", "srvsvc.srvsvc_NetCharDevQCtr0.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo101_comment, + { "Comment", "srvsvc.srvsvc_NetSrvInfo101.comment", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1528_scavtimeout, + { "Scavtimeout", "srvsvc.srvsvc_NetSrvInfo1528.scavtimeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_opensearch, + { "Opensearch", "srvsvc.srvsvc_NetSrvInfo503.opensearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr501_count, + { "Count", "srvsvc.srvsvc_NetShareCtr501.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileInfo3_fid, + { "Fid", "srvsvc.srvsvc_NetFileInfo3.fid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevCtr1_count, + { "Count", "srvsvc.srvsvc_NetCharDevCtr1.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1536_enableoplocks, + { "Enableoplocks", "srvsvc.srvsvc_NetSrvInfo1536.enableoplocks", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQPurgeSelf_queue_name, + { "Queue Name", "srvsvc.srvsvc_NetCharDevQPurgeSelf.queue_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareAdd_level, + { "Level", "srvsvc.srvsvc_NetShareAdd.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo2_name, + { "Name", "srvsvc.srvsvc_NetShareInfo2.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo501_comment, + { "Comment", "srvsvc.srvsvc_NetShareInfo501.comment", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo2_num_open, + { "Num Open", "srvsvc.srvsvc_NetSessInfo2.num_open", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_domain, + { "Domain", "srvsvc.srvsvc_NetSrvInfo599.domain", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_sizereqbufs, + { "Sizereqbufs", "srvsvc.srvsvc_NetSrvInfo402.sizereqbufs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileCtr2_array, + { "Array", "srvsvc.srvsvc_NetFileCtr2.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1529_minrcvqueue, + { "Minrcvqueue", "srvsvc.srvsvc_NetSrvInfo1529.minrcvqueue", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessEnum_resume_handle, + { "Resume Handle", "srvsvc.srvsvc_NetSessEnum.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQEnum_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetCharDevQEnum.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1006_array, + { "Array", "srvsvc.srvsvc_NetShareCtr1006.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessEnum_client, + { "Client", "srvsvc.srvsvc_NetSessEnum.client", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo502_sd, + { "Sd", "srvsvc.srvsvc_NetShareInfo502.sd", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_irpstacksize, + { "Irpstacksize", "srvsvc.srvsvc_NetSrvInfo599.irpstacksize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo10_client, + { "Client", "srvsvc.srvsvc_NetSessInfo10.client", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo_info0, + { "Info0", "srvsvc.srvsvc_NetShareInfo.info0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo_info1, + { "Info1", "srvsvc.srvsvc_NetShareInfo.info1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo_info2, + { "Info2", "srvsvc.srvsvc_NetShareInfo.info2", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_connections, + { "Connections", "srvsvc.srvsvc_NetSrvInfo403.connections", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQGetInfo_user, + { "User", "srvsvc.srvsvc_NetCharDevQGetInfo.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo101_version_major, + { "Version Major", "srvsvc.srvsvc_NetSrvInfo101.version_major", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCompare_pathflags, + { "Pathflags", "srvsvc.srvsvc_NetPathCompare.pathflags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCanonicalize_maxbuf, + { "Maxbuf", "srvsvc.srvsvc_NetPathCanonicalize.maxbuf", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevInfo1_status, + { "Status", "srvsvc.srvsvc_NetCharDevInfo1.status", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportCtr2_count, + { "Count", "srvsvc.srvsvc_NetTransportCtr2.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_lmannounce, + { "Lmannounce", "srvsvc.srvsvc_NetSrvInfo503.lmannounce", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo0_name, + { "Name", "srvsvc.srvsvc_NetShareInfo0.name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info402, + { "Info402", "srvsvc.srvsvc_NetSrvInfo.info402", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info403, + { "Info403", "srvsvc.srvsvc_NetSrvInfo.info403", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo2_unknown, + { "Unknown", "srvsvc.srvsvc_NetTransportInfo2.unknown", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_opensearch, + { "Opensearch", "srvsvc.srvsvc_NetSrvInfo402.opensearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevEnum_max_buffer, + { "Max Buffer", "srvsvc.srvsvc_NetCharDevEnum.max_buffer", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo1_time, + { "Time", "srvsvc.srvsvc_NetSessInfo1.time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_devopens, + { "Devopens", "srvsvc.srvsvc_Statistics.devopens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo3_net_addr, + { "Net Addr", "srvsvc.srvsvc_NetTransportInfo3.net_addr", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1538_enablefcbopens, + { "Enablefcbopens", "srvsvc.srvsvc_NetSrvInfo1538.enablefcbopens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_bytesrcvd_low, + { "Bytesrcvd Low", "srvsvc.srvsvc_Statistics.bytesrcvd_low", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_werror, + { "Windows Error", "srvsvc.werror", FT_UINT32, BASE_HEX, VALS(DOS_errors), 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo2_domain, + { "Domain", "srvsvc.srvsvc_NetTransportInfo2.domain", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCanonicalize_pathtype, + { "Pathtype", "srvsvc.srvsvc_NetPathCanonicalize.pathtype", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_initworkitems, + { "Initworkitems", "srvsvc.srvsvc_NetSrvInfo599.initworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_elapsed, + { "Elapsed", "srvsvc.srvsvc_NetRemoteTODInfo.elapsed", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1524_minkeepcomplsearch, + { "Minkeepcomplsearch", "srvsvc.srvsvc_NetSrvInfo1524.minkeepcomplsearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileClose_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetFileClose.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_numadmin, + { "Numadmin", "srvsvc.srvsvc_NetSrvInfo403.numadmin", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_maxrawbuflen, + { "Maxrawbuflen", "srvsvc.srvsvc_NetSrvInfo502.maxrawbuflen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQEnum_resume_handle, + { "Resume Handle", "srvsvc.srvsvc_NetCharDevQEnum.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQInfo_info0, + { "Info0", "srvsvc.srvsvc_NetCharDevQInfo.info0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQInfo_info1, + { "Info1", "srvsvc.srvsvc_NetCharDevQInfo.info1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvSetInfo_parm_error, + { "Parm Error", "srvsvc.srvsvc_NetSrvSetInfo.parm_error", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1535_oplockbreakresponsewait, + { "Oplockbreakresponsewait", "srvsvc.srvsvc_NetSrvInfo1535.oplockbreakresponsewait", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnEnum_ctr, + { "Ctr", "srvsvc.srvsvc_NetConnEnum.ctr", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1544_initconntable, + { "Initconntable", "srvsvc.srvsvc_NetSrvInfo1544.initconntable", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr2_array, + { "Array", "srvsvc.srvsvc_NetSessCtr2.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_activelocks, + { "Activelocks", "srvsvc.srvsvc_NetSrvInfo402.activelocks", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_diskspacetreshold, + { "Diskspacetreshold", "srvsvc.srvsvc_NetSrvInfo599.diskspacetreshold", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileEnum_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetFileEnum.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_sopens, + { "Sopens", "srvsvc.srvsvc_Statistics.sopens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerTransportAddEx_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetServerTransportAddEx.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo1_type, + { "Type", "srvsvc.srvsvc_NetShareInfo1.type", FT_UINT32, BASE_DEC, VALS(srvsvc_srvsvc_ShareType_vals), 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_enableoplocks, + { "Enableoplocks", "srvsvc.srvsvc_NetSrvInfo503.enableoplocks", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_auditprofile, + { "Auditprofile", "srvsvc.srvsvc_NetSrvInfo403.auditprofile", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo502_permissions, + { "Permissions", "srvsvc.srvsvc_NetShareInfo502.permissions", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSetFileSecurity_file, + { "File", "srvsvc.srvsvc_NetSetFileSecurity.file", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr502_array, + { "Array", "srvsvc.srvsvc_NetSessCtr502.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQGetInfo_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetCharDevQGetInfo.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo502_user_flags, + { "User Flags", "srvsvc.srvsvc_NetSessInfo502.user_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_initworkitems, + { "Initworkitems", "srvsvc.srvsvc_NetSrvInfo502.initworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQInfo1_num_ahead, + { "Num Ahead", "srvsvc.srvsvc_NetCharDevQInfo1.num_ahead", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnum_max_buffer, + { "Max Buffer", "srvsvc.srvsvc_NetShareEnum.max_buffer", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_chdevjobs, + { "Chdevjobs", "srvsvc.srvsvc_NetSrvInfo403.chdevjobs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_maxnonpagedmemoryusage, + { "Maxnonpagedmemoryusage", "srvsvc.srvsvc_NetSrvInfo502.maxnonpagedmemoryusage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileGetInfo_info, + { "Info", "srvsvc.srvsvc_NetFileGetInfo.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerTransportAddEx_info, + { "Info", "srvsvc.srvsvc_NetServerTransportAddEx.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQEnum_user, + { "User", "srvsvc.srvsvc_NetCharDevQEnum.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_comment, + { "Comment", "srvsvc.srvsvc_NetSrvInfo102.comment", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_stimeouts, + { "Stimeouts", "srvsvc.srvsvc_Statistics.stimeouts", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1511_sesscons, + { "Sesscons", "srvsvc.srvsvc_NetSrvInfo1511.sesscons", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCompare_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetPathCompare.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1502_sessvcs, + { "Sessvcs", "srvsvc.srvsvc_NetSrvInfo1502.sessvcs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1534_oplockbreakwait, + { "Oplockbreakwait", "srvsvc.srvsvc_NetSrvInfo1534.oplockbreakwait", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_reqbufneed, + { "Reqbufneed", "srvsvc.srvsvc_Statistics.reqbufneed", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_minfreeconnections, + { "Minfreeconnections", "srvsvc.srvsvc_NetSrvInfo599.minfreeconnections", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetNameValidate_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetNameValidate.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_opensearch, + { "Opensearch", "srvsvc.srvsvc_NetSrvInfo403.opensearch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQCtr_ctr0, + { "Ctr0", "srvsvc.srvsvc_NetCharDevQCtr.ctr0", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1005_count, + { "Count", "srvsvc.srvsvc_NetShareCtr1005.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQCtr_ctr1, + { "Ctr1", "srvsvc.srvsvc_NetCharDevQCtr.ctr1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo502_comment, + { "Comment", "srvsvc.srvsvc_NetShareInfo502.comment", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_minfreeconnections, + { "Minfreeconnections", "srvsvc.srvsvc_NetSrvInfo503.minfreeconnections", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_sessconns, + { "Sessconns", "srvsvc.srvsvc_NetSrvInfo502.sessconns", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_linkinfovalidtime, + { "Linkinfovalidtime", "srvsvc.srvsvc_NetSrvInfo599.linkinfovalidtime", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_rawworkitems, + { "Rawworkitems", "srvsvc.srvsvc_NetSrvInfo599.rawworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr0_array, + { "Array", "srvsvc.srvsvc_NetShareCtr0.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info502, + { "Info502", "srvsvc.srvsvc_NetSrvInfo.info502", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQGetInfo_queue_name, + { "Queue Name", "srvsvc.srvsvc_NetCharDevQGetInfo.queue_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo502_timesource, + { "Timesource", "srvsvc.srvsvc_NetSrvInfo502.timesource", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1539_enableraw, + { "Enableraw", "srvsvc.srvsvc_NetSrvInfo1539.enableraw", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo_info503, + { "Info503", "srvsvc.srvsvc_NetSrvInfo.info503", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo1_vcs, + { "Vcs", "srvsvc.srvsvc_NetTransportInfo1.vcs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_security, + { "Security", "srvsvc.srvsvc_NetSrvInfo403.security", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr1501_count, + { "Count", "srvsvc.srvsvc_NetShareCtr1501.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQGetInfo_level, + { "Level", "srvsvc.srvsvc_NetCharDevQGetInfo.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathType_path, + { "Path", "srvsvc.srvsvc_NetPathType.path", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileClose_fid, + { "Fid", "srvsvc.srvsvc_NetFileClose.fid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_minfreeworkitems, + { "Minfreeworkitems", "srvsvc.srvsvc_NetSrvInfo503.minfreeworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnEnum_level, + { "Level", "srvsvc.srvsvc_NetConnEnum.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnInfo1_num_open, + { "Num Open", "srvsvc.srvsvc_NetConnInfo1.num_open", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQEnum_max_buffer, + { "Max Buffer", "srvsvc.srvsvc_NetCharDevQEnum.max_buffer", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1107_users, + { "Users", "srvsvc.srvsvc_NetSrvInfo1107.users", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_alertsched, + { "Alertsched", "srvsvc.srvsvc_NetSrvInfo599.alertsched", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_sizereqbufs, + { "Sizereqbufs", "srvsvc.srvsvc_NetSrvInfo599.sizereqbufs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQSetInfo_info, + { "Info", "srvsvc.srvsvc_NetCharDevQSetInfo.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_Statistics_bigbufneed, + { "Bigbufneed", "srvsvc.srvsvc_Statistics.bigbufneed", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetGetFileSecurity_securityinformation, + { "Securityinformation", "srvsvc.srvsvc_NetGetFileSecurity.securityinformation", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_maxaudits, + { "Maxaudits", "srvsvc.srvsvc_NetSrvInfo403.maxaudits", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr_ctr1501, + { "Ctr1501", "srvsvc.srvsvc_NetShareCtr.ctr1501", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo1_domain, + { "Domain", "srvsvc.srvsvc_NetTransportInfo1.domain", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1547_alertsched, + { "Alertsched", "srvsvc.srvsvc_NetSrvInfo1547.alertsched", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_initfiletable, + { "Initfiletable", "srvsvc.srvsvc_NetSrvInfo599.initfiletable", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetServerStatisticsGet_service, + { "Service", "srvsvc.srvsvc_NetServerStatisticsGet.service", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevEnum_level, + { "Level", "srvsvc.srvsvc_NetCharDevEnum.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnInfo0_conn_id, + { "Conn Id", "srvsvc.srvsvc_NetConnInfo0.conn_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnumAll_level, + { "Level", "srvsvc.srvsvc_NetShareEnumAll.level", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareAdd_info, + { "Info", "srvsvc.srvsvc_NetShareAdd.info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnCtr1_array, + { "Array", "srvsvc.srvsvc_NetConnCtr1.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1513_maxpagedmemoryusage, + { "Maxpagedmemoryusage", "srvsvc.srvsvc_NetSrvInfo1513.maxpagedmemoryusage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessEnum_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetSessEnum.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCanonicalize_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetPathCanonicalize.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_anndelta, + { "Anndelta", "srvsvc.srvsvc_NetSrvInfo102.anndelta", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxworkitems, + { "Maxworkitems", "srvsvc.srvsvc_NetSrvInfo599.maxworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_alerts, + { "Alerts", "srvsvc.srvsvc_NetSrvInfo403.alerts", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo502_password, + { "Password", "srvsvc.srvsvc_NetShareInfo502.password", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDel_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetShareDel.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo402_sessreqs, + { "Sessreqs", "srvsvc.srvsvc_NetSrvInfo402.sessreqs", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevQCtr0_array, + { "Array", "srvsvc.srvsvc_NetCharDevQCtr0.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_maxmpxct, + { "Maxmpxct", "srvsvc.srvsvc_NetSrvInfo503.maxmpxct", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_diskalert, + { "Diskalert", "srvsvc.srvsvc_NetSrvInfo403.diskalert", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessCtr1_count, + { "Count", "srvsvc.srvsvc_NetSessCtr1.count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo403_shares, + { "Shares", "srvsvc.srvsvc_NetSrvInfo403.shares", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo_info501, + { "Info501", "srvsvc.srvsvc_NetShareInfo.info501", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1510_sessusers, + { "Sessusers", "srvsvc.srvsvc_NetSrvInfo1510.sessusers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1542_maxfreeconnections, + { "Maxfreeconnections", "srvsvc.srvsvc_NetSrvInfo1542.maxfreeconnections", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo_info502, + { "Info502", "srvsvc.srvsvc_NetShareInfo.info502", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareInfo502_current_users, + { "Current Users", "srvsvc.srvsvc_NetShareInfo502.current_users", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareCtr501_array, + { "Array", "srvsvc.srvsvc_NetShareCtr501.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTOD_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetRemoteTOD.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_minfreeworkitems, + { "Minfreeworkitems", "srvsvc.srvsvc_NetSrvInfo599.minfreeworkitems", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo10_user, + { "User", "srvsvc.srvsvc_NetSessInfo10.user", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetCharDevCtr1_array, + { "Array", "srvsvc.srvsvc_NetCharDevCtr1.array", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1550_diskspacetreshold, + { "Diskspacetreshold", "srvsvc.srvsvc_NetSrvInfo1550.diskspacetreshold", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_irpstacksize, + { "Irpstacksize", "srvsvc.srvsvc_NetSrvInfo503.irpstacksize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportDel_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetTransportDel.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnEnum_server_unc, + { "Server Unc", "srvsvc.srvsvc_NetConnEnum.server_unc", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo503_timesource, + { "Timesource", "srvsvc.srvsvc_NetSrvInfo503.timesource", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetConnEnum_totalentries, + { "Totalentries", "srvsvc.srvsvc_NetConnEnum.totalentries", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetRemoteTODInfo_month, + { "Month", "srvsvc.srvsvc_NetRemoteTODInfo.month", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo502_num_open, + { "Num Open", "srvsvc.srvsvc_NetSessInfo502.num_open", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetNameValidate_name_type, + { "Name Type", "srvsvc.srvsvc_NetNameValidate.name_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo1010_disc, + { "Disc", "srvsvc.srvsvc_NetSrvInfo1010.disc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetPathCanonicalize_prefix, + { "Prefix", "srvsvc.srvsvc_NetPathCanonicalize.prefix", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetTransportInfo1_net_addr, + { "Net Addr", "srvsvc.srvsvc_NetTransportInfo1.net_addr", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSessInfo1_idle_time, + { "Idle Time", "srvsvc.srvsvc_NetSessInfo1.idle_time", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_sesssvc, + { "Sesssvc", "srvsvc.srvsvc_NetSrvInfo599.sesssvc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetFileEnum_max_buffer, + { "Max Buffer", "srvsvc.srvsvc_NetFileEnum.max_buffer", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo102_disc, + { "Disc", "srvsvc.srvsvc_NetSrvInfo102.disc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareDelSticky_share_name, + { "Share Name", "srvsvc.srvsvc_NetShareDelSticky.share_name", FT_STRING, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetShareEnumAll_ctr, + { "Ctr", "srvsvc.srvsvc_NetShareEnumAll.ctr", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_srvsvc_srvsvc_NetSrvInfo599_maxnonpagedmemoryusage, + { "Maxnonpagedmemoryusage", "srvsvc.srvsvc_NetSrvInfo599.maxnonpagedmemoryusage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, }; - static gint *ett[] = { - &ett_dcerpc_srvsvc, - &ett_srvsvc_share_info_1, - &ett_srvsvc_share_info_2, - &ett_srvsvc_share_info_501, - &ett_srvsvc_share_info_502 - }; - proto_dcerpc_srvsvc = proto_register_protocol( - "Microsoft Server Service", "SRVSVC", "srvsvc"); + static gint *ett[] = { + &ett_dcerpc_srvsvc, + &ett_srvsvc_srvsvc_NetCharDevInfo0, + &ett_srvsvc_srvsvc_NetCharDevCtr0, + &ett_srvsvc_srvsvc_NetCharDevInfo1, + &ett_srvsvc_srvsvc_NetCharDevCtr1, + &ett_srvsvc_srvsvc_NetCharDevInfo, + &ett_srvsvc_srvsvc_NetCharDevCtr, + &ett_srvsvc_srvsvc_NetCharDevQInfo0, + &ett_srvsvc_srvsvc_NetCharDevQCtr0, + &ett_srvsvc_srvsvc_NetCharDevQInfo1, + &ett_srvsvc_srvsvc_NetCharDevQCtr1, + &ett_srvsvc_srvsvc_NetCharDevQInfo, + &ett_srvsvc_srvsvc_NetCharDevQCtr, + &ett_srvsvc_srvsvc_NetConnInfo0, + &ett_srvsvc_srvsvc_NetConnCtr0, + &ett_srvsvc_srvsvc_NetConnInfo1, + &ett_srvsvc_srvsvc_NetConnCtr1, + &ett_srvsvc_srvsvc_NetConnCtr, + &ett_srvsvc_srvsvc_NetFileInfo2, + &ett_srvsvc_srvsvc_NetFileCtr2, + &ett_srvsvc_srvsvc_NetFileInfo3, + &ett_srvsvc_srvsvc_NetFileCtr3, + &ett_srvsvc_srvsvc_NetFileInfo, + &ett_srvsvc_srvsvc_NetFileCtr, + &ett_srvsvc_srvsvc_NetSessInfo0, + &ett_srvsvc_srvsvc_NetSessCtr0, + &ett_srvsvc_srvsvc_NetSessInfo1, + &ett_srvsvc_srvsvc_NetSessCtr1, + &ett_srvsvc_srvsvc_NetSessInfo2, + &ett_srvsvc_srvsvc_NetSessCtr2, + &ett_srvsvc_srvsvc_NetSessInfo10, + &ett_srvsvc_srvsvc_NetSessCtr10, + &ett_srvsvc_srvsvc_NetSessInfo502, + &ett_srvsvc_srvsvc_NetSessCtr502, + &ett_srvsvc_srvsvc_NetSessCtr, + &ett_srvsvc_srvsvc_NetShareInfo0, + &ett_srvsvc_srvsvc_NetShareCtr0, + &ett_srvsvc_srvsvc_NetShareInfo1, + &ett_srvsvc_srvsvc_NetShareCtr1, + &ett_srvsvc_srvsvc_NetShareInfo2, + &ett_srvsvc_srvsvc_NetShareCtr2, + &ett_srvsvc_srvsvc_NetShareInfo501, + &ett_srvsvc_srvsvc_NetShareCtr501, + &ett_srvsvc_srvsvc_NetShareInfo502, + &ett_srvsvc_srvsvc_NetShareCtr502, + &ett_srvsvc_srvsvc_NetShareInfo1004, + &ett_srvsvc_srvsvc_NetShareCtr1004, + &ett_srvsvc_srvsvc_NetShareInfo1005, + &ett_srvsvc_srvsvc_NetShareCtr1005, + &ett_srvsvc_srvsvc_NetShareInfo1006, + &ett_srvsvc_srvsvc_NetShareCtr1006, + &ett_srvsvc_srvsvc_NetShareInfo1007, + &ett_srvsvc_srvsvc_NetShareCtr1007, + &ett_srvsvc_srvsvc_NetShareCtr1501, + &ett_srvsvc_srvsvc_NetShareInfo, + &ett_srvsvc_srvsvc_NetShareCtr, + &ett_srvsvc_srvsvc_NetSrvInfo100, + &ett_srvsvc_srvsvc_NetSrvInfo101, + &ett_srvsvc_srvsvc_NetSrvInfo102, + &ett_srvsvc_srvsvc_NetSrvInfo402, + &ett_srvsvc_srvsvc_NetSrvInfo403, + &ett_srvsvc_srvsvc_NetSrvInfo502, + &ett_srvsvc_srvsvc_NetSrvInfo503, + &ett_srvsvc_srvsvc_NetSrvInfo599, + &ett_srvsvc_srvsvc_NetSrvInfo1005, + &ett_srvsvc_srvsvc_NetSrvInfo1010, + &ett_srvsvc_srvsvc_NetSrvInfo1016, + &ett_srvsvc_srvsvc_NetSrvInfo1017, + &ett_srvsvc_srvsvc_NetSrvInfo1018, + &ett_srvsvc_srvsvc_NetSrvInfo1107, + &ett_srvsvc_srvsvc_NetSrvInfo1501, + &ett_srvsvc_srvsvc_NetSrvInfo1502, + &ett_srvsvc_srvsvc_NetSrvInfo1503, + &ett_srvsvc_srvsvc_NetSrvInfo1506, + &ett_srvsvc_srvsvc_NetSrvInfo1509, + &ett_srvsvc_srvsvc_NetSrvInfo1510, + &ett_srvsvc_srvsvc_NetSrvInfo1511, + &ett_srvsvc_srvsvc_NetSrvInfo1512, + &ett_srvsvc_srvsvc_NetSrvInfo1513, + &ett_srvsvc_srvsvc_NetSrvInfo1514, + &ett_srvsvc_srvsvc_NetSrvInfo1515, + &ett_srvsvc_srvsvc_NetSrvInfo1516, + &ett_srvsvc_srvsvc_NetSrvInfo1518, + &ett_srvsvc_srvsvc_NetSrvInfo1520, + &ett_srvsvc_srvsvc_NetSrvInfo1521, + &ett_srvsvc_srvsvc_NetSrvInfo1522, + &ett_srvsvc_srvsvc_NetSrvInfo1523, + &ett_srvsvc_srvsvc_NetSrvInfo1524, + &ett_srvsvc_srvsvc_NetSrvInfo1525, + &ett_srvsvc_srvsvc_NetSrvInfo1528, + &ett_srvsvc_srvsvc_NetSrvInfo1529, + &ett_srvsvc_srvsvc_NetSrvInfo1530, + &ett_srvsvc_srvsvc_NetSrvInfo1533, + &ett_srvsvc_srvsvc_NetSrvInfo1534, + &ett_srvsvc_srvsvc_NetSrvInfo1535, + &ett_srvsvc_srvsvc_NetSrvInfo1536, + &ett_srvsvc_srvsvc_NetSrvInfo1537, + &ett_srvsvc_srvsvc_NetSrvInfo1538, + &ett_srvsvc_srvsvc_NetSrvInfo1539, + &ett_srvsvc_srvsvc_NetSrvInfo1540, + &ett_srvsvc_srvsvc_NetSrvInfo1541, + &ett_srvsvc_srvsvc_NetSrvInfo1542, + &ett_srvsvc_srvsvc_NetSrvInfo1543, + &ett_srvsvc_srvsvc_NetSrvInfo1544, + &ett_srvsvc_srvsvc_NetSrvInfo1545, + &ett_srvsvc_srvsvc_NetSrvInfo1546, + &ett_srvsvc_srvsvc_NetSrvInfo1547, + &ett_srvsvc_srvsvc_NetSrvInfo1548, + &ett_srvsvc_srvsvc_NetSrvInfo1549, + &ett_srvsvc_srvsvc_NetSrvInfo1550, + &ett_srvsvc_srvsvc_NetSrvInfo1552, + &ett_srvsvc_srvsvc_NetSrvInfo1553, + &ett_srvsvc_srvsvc_NetSrvInfo1554, + &ett_srvsvc_srvsvc_NetSrvInfo1555, + &ett_srvsvc_srvsvc_NetSrvInfo1556, + &ett_srvsvc_srvsvc_NetSrvInfo, + &ett_srvsvc_srvsvc_NetDiskInfo0, + &ett_srvsvc_srvsvc_NetDiskInfo, + &ett_srvsvc_srvsvc_Statistics, + &ett_srvsvc_srvsvc_NetTransportInfo0, + &ett_srvsvc_srvsvc_NetTransportCtr0, + &ett_srvsvc_srvsvc_NetTransportInfo1, + &ett_srvsvc_srvsvc_NetTransportCtr1, + &ett_srvsvc_srvsvc_NetTransportInfo2, + &ett_srvsvc_srvsvc_NetTransportCtr2, + &ett_srvsvc_srvsvc_NetTransportInfo3, + &ett_srvsvc_srvsvc_NetTransportCtr3, + &ett_srvsvc_srvsvc_NetTransportCtr, + &ett_srvsvc_srvsvc_NetRemoteTODInfo, + &ett_srvsvc_srvsvc_NetTransportInfo, + }; - proto_register_field_array(proto_dcerpc_srvsvc, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); + proto_dcerpc_srvsvc = proto_register_protocol("Server Service", "SRVSVC", "srvsvc"); + proto_register_field_array(proto_dcerpc_srvsvc, hf, array_length (hf)); + proto_register_subtree_array(ett, array_length(ett)); } -void -proto_reg_handoff_dcerpc_srvsvc(void) +void proto_reg_handoff_dcerpc_srvsvc(void) { - /* Register protocol as dcerpc */ - - dcerpc_init_uuid(proto_dcerpc_srvsvc, ett_dcerpc_srvsvc, - &uuid_dcerpc_srvsvc, ver_dcerpc_srvsvc, - dcerpc_srvsvc_dissectors, hf_srvsvc_opnum); + dcerpc_init_uuid(proto_dcerpc_srvsvc, ett_dcerpc_srvsvc, + &uuid_dcerpc_srvsvc, ver_dcerpc_srvsvc, + srvsvc_dissectors, hf_srvsvc_opnum); } diff --git a/epan/dissectors/packet-dcerpc-srvsvc.h b/epan/dissectors/packet-dcerpc-srvsvc.h index 8e120511d0..457733fd28 100644 --- a/epan/dissectors/packet-dcerpc-srvsvc.h +++ b/epan/dissectors/packet-dcerpc-srvsvc.h @@ -1,89 +1,160 @@ -/* packet-dcerpc-srvsvc.h - * Routines for SMB \PIPE\srvsvc packet disassembly - * initial version - * Copyright 2001, Tim Potter - * - * 2002, Ronnie Sahlberg. - * Rewrote entire file with a complete and correct list of all - * function names. Ronnie Sahlberg - * - * $Id$ - * - * Wireshark - Network traffic analyzer - * By Gerald Combs - * Copyright 1998 Gerald Combs - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ +/* autogenerated by pidl */ + +/* DO NOT EDIT + This filter was automatically generated + from srvsvc.idl and srvsvc.cnf. + + Pidl is a perl based IDL compiler for DCE/RPC idl files. + It is maintained by the Samba team, not the Wireshark team. + Instructions on how to download and install Pidl can be + found at http://wiki.wireshark.org/Pidl +*/ + #ifndef __PACKET_DCERPC_SRVSVC_H #define __PACKET_DCERPC_SRVSVC_H -#define SRV_NETRCHARDEVENUM 0x00 -#define SRV_NETRCHARDEVGETINFO 0x01 -#define SRV_NETRCHARDEVCONTROL 0x02 -#define SRV_NETRCHARDEVQENUM 0x03 -#define SRV_NETRCHARDEVQGETINFO 0x04 -#define SRV_NETRCHARDEVQSETINFO 0x05 -#define SRV_NETRCHARDEVQPURGE 0x06 -#define SRV_NETRCHARDEVQPURGESELF 0x07 -#define SRV_NETRCONNECTIONENUM 0x08 -#define SRV_NETRFILEENUM 0x09 -#define SRV_NETRFILEGETINFO 0x0a -#define SRV_NETRFILECLOSE 0x0b -#define SRV_NETRSESSIONENUM 0x0c -#define SRV_NETRSESSIONDEL 0x0d -#define SRV_NETRSHAREADD 0x0e -#define SRV_NETRSHAREENUM 0x0f -#define SRV_NETRSHAREGETINFO 0x10 -#define SRV_NETRSHARESETINFO 0x11 -#define SRV_NETRSHAREDEL 0x12 -#define SRV_NETRSHAREDELSTICKY 0x13 -#define SRV_NETRSHARECHECK 0x14 -#define SRV_NETRSERVERGETINFO 0x15 -#define SRV_NETRSERVERSETINFO 0x16 -#define SRV_NETRSERVERDISKENUM 0x17 -#define SRV_NETRSERVERSTATISTICSGET 0x18 -#define SRV_NETRSERVERTRANSPORTADD 0x19 -#define SRV_NETRSERVERTRANSPORTENUM 0x1a -#define SRV_NETRSERVERTRANSPORTDEL 0x1b -#define SRV_NETRREMOTETOD 0x1c -#define SRV_NETRSERVERSETSERVICEBITS 0x1d -#define SRV_NETRPRPATHTYPE 0x1e -#define SRV_NETRPRPATHCANONICALIZE 0x1f -#define SRV_NETRPRPATHCOMPARE 0x20 -#define SRV_NETRPRNAMEVALIDATE 0x21 -#define SRV_NETRPRNAMECANONICALIZE 0x22 -#define SRV_NETRPRNAMECOMPARE 0x23 -#define SRV_NETRSHAREENUMSTICKY 0x24 -#define SRV_NETRSHAREDELSTART 0x25 -#define SRV_NETRSHAREDELCOMMIT 0x26 -#define SRV_NETRPGETFILESECURITY 0x27 -#define SRV_NETRPSETFILESECURITY 0x28 -#define SRV_NETRSERVERTRANSPORTADDEX 0x29 -#define SRV_NETRSERVERSETSERVICEBITSEX 0x2a -#define SRV_NETRDFSGETVERSION 0x2b -#define SRV_NETRDFSCREATELOCALPARTITION 0x2c -#define SRV_NETRDFSDELETELOCALPARTITION 0x2d -#define SRV_NETRDFSSETLOCALVOLUMESTATE 0x2e -#define SRV_NETRDFSSETSERVERINFO 0x2f -#define SRV_NETRDFSCREATEEXITPOINT 0x30 -#define SRV_NETRDFSDELETEEXITPOINT 0x31 -#define SRV_NETRDFSMODIFYPREFIX 0x32 -#define SRV_NETRDFSFIXLOCALVOLUME 0x33 -#define SRV_NETRDFSMANAGERREPORTSITEINFO 0x34 -#define SRV_NETRSERVERTRANSPORTDELEX 0x35 +#include "packet-dcerpc-svcctl.h" -#endif +#define STYPE_TEMPORARY ( 0x40000000 ) + +#define STYPE_HIDDEN ( 0x80000000 ) + +int srvsvc_dissect_struct_NetCharDevInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetCharDevCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetCharDevInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetCharDevCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetCharDevQInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetCharDevQCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetCharDevQInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetCharDevQCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetConnInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetConnCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetConnInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetConnCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetFileInfo2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetFileCtr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetFileInfo3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetFileCtr3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSessInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSessCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSessInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSessCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSessInfo2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSessCtr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSessInfo10(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSessCtr10(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSessInfo502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSessCtr502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +#define STYPE_DISKTREE (0) +#define STYPE_DISKTREE_TEMPORARY (STYPE_DISKTREE|STYPE_TEMPORARY) +#define STYPE_DISKTREE_HIDDEN (STYPE_DISKTREE|STYPE_HIDDEN) +#define STYPE_PRINTQ (1) +#define STYPE_PRINTQ_TEMPORARY (STYPE_PRINTQ|STYPE_TEMPORARY) +#define STYPE_PRINTQ_HIDDEN (STYPE_PRINTQ|STYPE_HIDDEN) +#define STYPE_DEVICE (2) +#define STYPE_DEVICE_TEMPORARY (STYPE_DEVICE|STYPE_TEMPORARY) +#define STYPE_DEVICE_HIDDEN (STYPE_DEVICE|STYPE_HIDDEN) +#define STYPE_IPC (3) +#define STYPE_IPC_TEMPORARY (STYPE_IPC|STYPE_TEMPORARY) +#define STYPE_IPC_HIDDEN (STYPE_IPC|STYPE_HIDDEN) +extern const value_string srvsvc_srvsvc_ShareType_vals[]; +int srvsvc_dissect_enum_ShareType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param); +int srvsvc_dissect_struct_NetShareInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareInfo2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareCtr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareInfo501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareCtr501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareInfo502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareCtr502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareInfo1004(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareCtr1004(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareInfo1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareCtr1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareInfo1006(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareCtr1006(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareInfo1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareCtr1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetShareCtr1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +#define PLATFORM_ID_DOS (300) +#define PLATFORM_ID_OS2 (400) +#define PLATFORM_ID_NT (500) +#define PLATFORM_ID_OSF (600) +#define PLATFORM_ID_VMS (700) +extern const value_string srvsvc_srvsvc_PlatformId_vals[]; +int srvsvc_dissect_enum_PlatformId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param); +int srvsvc_dissect_struct_NetSrvInfo100(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo101(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo102(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo402(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo403(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo503(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo599(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1010(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1016(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1017(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1018(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1107(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1502(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1503(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1506(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1509(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1510(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1511(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1512(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1513(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1514(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1515(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1516(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1518(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1520(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1521(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1522(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1523(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1524(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1525(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1528(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1529(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1530(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1533(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1534(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1535(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1536(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1537(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1538(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1539(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1540(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1541(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1542(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1543(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1544(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1545(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1546(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1547(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1548(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1549(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1550(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1552(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1553(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1554(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1555(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetSrvInfo1556(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetDiskInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetDiskInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_Statistics(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetTransportInfo0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetTransportCtr0(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetTransportInfo1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetTransportCtr1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetTransportInfo2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetTransportCtr2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetTransportInfo3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetTransportCtr3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +int srvsvc_dissect_struct_NetRemoteTODInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_); +#endif /* __PACKET_DCERPC_SRVSVC_H */ diff --git a/epan/dissectors/pidl/srvsvc.cnf b/epan/dissectors/pidl/srvsvc.cnf new file mode 100644 index 0000000000..5220943a8d --- /dev/null +++ b/epan/dissectors/pidl/srvsvc.cnf @@ -0,0 +1,127 @@ +# conformance file for SRVSVC +# +# $Id$ +# + +MANUAL srvsvc_dissect_element_NetShareInfo_info1501_ +MANUAL srvsvc_dissect_element_NetGetFileSecurity_sd_buf_ +MANUAL srvsvc_dissect_element_NetSetFileSecurity_sd_buf +MANUAL srvsvc_dissect_element_NetShareCtr1501_array__ +MANUAL srvsvc_dissect_element_NetShareInfo502_sd_ +MANUAL srvsvc_dissect_element_NetShareInfo502_sd__ +# we wont need to manually define servertype once svcctl is autogenerated +MANUAL srvsvc_dissect_element_NetSrvInfo101_server_type +MANUAL srvsvc_dissect_element_NetSrvInfo102_server_type +# until we get secinfo +MANUAL srvsvc_dissect_element_NetGetFileSecurity_securityinformation +MANUAL srvsvc_dissect_element_NetSetFileSecurity_securityinformation +CODE START +static int +srvsvc_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + guint32 len; + dcerpc_info *di; + + di=pinfo->private_data; + if(di->conformant_run){ + /*just a run to handle conformant arrays, nothing to dissect */ + return offset; + } + + offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, + -1, &len); + + dissect_nt_sec_desc(tvb, offset, pinfo, tree, drep, TRUE, len, + NULL); + + offset += len; + + return offset; +} +static int +srvsvc_dissect_element_NetShareInfo_info1501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_element_NetGetFileSecurity_sd_buf_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_element_NetSetFileSecurity_sd_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_element_NetShareCtr1501_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_element_NetShareInfo502_sd_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, drep); +} + + + +static int +srvsvc_dissect_ServerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ +int dissect_smb_server_type_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, gboolean infoflag); + + guint32 len; + dcerpc_info *di; + + di=pinfo->private_data; + if(di->conformant_run){ + /*just a run to handle conformant arrays, nothing to dissect */ + return offset; + } + + offset=dissect_smb_server_type_flags(tvb, offset, pinfo, tree, + drep, 0); + + return offset; +} +static int +srvsvc_dissect_element_NetSrvInfo101_server_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_ServerType(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_element_NetSrvInfo102_server_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_ServerType(tvb, offset, pinfo, tree, drep); +} + + +static int +srvsvc_dissect_secinfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + dcerpc_info *di; + + di=pinfo->private_data; + if(di->conformant_run){ + /*just a run to handle conformant arrays, nothing to dissect */ + return offset; + } + + offset=dissect_security_information_mask(tvb, tree, offset); + + return offset; +} +static int +srvsvc_dissect_element_NetGetFileSecurity_securityinformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_secinfo(tvb, offset, pinfo, tree, drep); +} +static int +srvsvc_dissect_element_NetSetFileSecurity_securityinformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ + return srvsvc_dissect_secinfo(tvb, offset, pinfo, tree, drep); +} + +CODE END + diff --git a/epan/dissectors/pidl/srvsvc.idl b/epan/dissectors/pidl/srvsvc.idl index 789ddb6990..4f1f70c6e8 100644 --- a/epan/dissectors/pidl/srvsvc.idl +++ b/epan/dissectors/pidl/srvsvc.idl @@ -10,10 +10,12 @@ pointer_default(unique), pointer_default_top(unique), helpstring("Server Service"), - depends(security,svcctl) + depends(security,svcctl), + keepref ] interface srvsvc { declare bitmap svcctl_ServerType; + declare bitmap security_secinfo; /**************************/ /* srvsvc_NetCharDev */ @@ -453,6 +455,7 @@ uint32 current_users; [string,charset(UTF16)] uint16 *path; [string,charset(UTF16)] uint16 *password; + /* maybe here is a struct sec_desc_buf following */ uint32 unknown; [subcontext(4)] security_descriptor *sd; } srvsvc_NetShareInfo502; @@ -499,14 +502,9 @@ [size_is(count)] srvsvc_NetShareInfo1007 *array; } srvsvc_NetShareCtr1007; - typedef struct { - uint32 reserved; - [subcontext(4)] security_descriptor *sd; - } srvsvc_NetShareInfo1501; - typedef struct { uint32 count; - [size_is(count)] srvsvc_NetShareInfo1501 *array; + [size_is(count)] sec_desc_buf *array; } srvsvc_NetShareCtr1501; typedef union { @@ -519,7 +517,7 @@ [case(1005)] srvsvc_NetShareInfo1005 *info1005; [case(1006)] srvsvc_NetShareInfo1006 *info1006; [case(1007)] srvsvc_NetShareInfo1007 *info1007; - [case(1501)] srvsvc_NetShareInfo1501 *info1501; + [case(1501)] sec_desc_buf *info1501; [default] ; } srvsvc_NetShareInfo; @@ -603,7 +601,7 @@ /**************************/ /* srvsvc_NetSrv */ /**************************/ - typedef [public] enum { + typedef [public,v1_enum] enum { PLATFORM_ID_DOS = 300, PLATFORM_ID_OS2 = 400, PLATFORM_ID_NT = 500, @@ -628,8 +626,8 @@ typedef struct { srvsvc_PlatformId platform_id; [string,charset(UTF16)] uint16 *server_name; - uint32 ver_major; - uint32 ver_minor; + uint32 version_major; + uint32 version_minor; svcctl_ServerType server_type; [string,charset(UTF16)] uint16 *comment; uint32 users; @@ -637,7 +635,7 @@ uint32 hidden; uint32 announce; uint32 anndelta; - uint32 licences; + uint32 licenses; [string,charset(UTF16)] uint16 *userpath; } srvsvc_NetSrvInfo102; @@ -1123,12 +1121,12 @@ /* srvsvc_NetDisk */ /**************************/ typedef struct { - [string,charset(UTF16)] uint16 *disc; + [flag(STR_LEN4)] string disk; } srvsvc_NetDiskInfo0; typedef struct { uint32 count; - [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *discs; + [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *disks; } srvsvc_NetDiskInfo; /******************/ @@ -1136,7 +1134,7 @@ WERROR srvsvc_NetDiskEnum( [in] [string,charset(UTF16)] uint16 *server_unc, [in] uint32 level, - [in,out] srvsvc_NetDiskInfo disks, + [in,out] srvsvc_NetDiskInfo info, [in] uint32 maxlen, [out] uint32 totalentries, [in,out] uint32 *resume_handle @@ -1181,7 +1179,7 @@ typedef struct { uint32 vcs; [string,charset(UTF16)] uint16 *name; - [size_is(addr_len)] char *addr; + [size_is(addr_len)] uint8 *addr; uint32 addr_len; [string,charset(UTF16)] uint16 *net_addr; } srvsvc_NetTransportInfo0; @@ -1202,7 +1200,7 @@ typedef struct { uint32 vcs; [string,charset(UTF16)] uint16 *name; - [size_is(addr_len)] char *addr; + [size_is(addr_len)] uint8 *addr; uint32 addr_len; [string,charset(UTF16)] uint16 *net_addr; [string,charset(UTF16)] uint16 *domain; @@ -1216,7 +1214,7 @@ typedef struct { uint32 vcs; [string,charset(UTF16)] uint16 *name; - [size_is(addr_len)] char *addr; + [size_is(addr_len)] uint8 *addr; uint32 addr_len; [string,charset(UTF16)] uint16 *net_addr; [string,charset(UTF16)] uint16 *domain; @@ -1231,13 +1229,13 @@ typedef struct { uint32 vcs; [string,charset(UTF16)] uint16 *name; - [size_is(addr_len)] char *addr; + [size_is(addr_len)] uint8 *addr; uint32 addr_len; [string,charset(UTF16)] uint16 *net_addr; [string,charset(UTF16)] uint16 *domain; uint32 unknown1; uint32 unknown2; - [size_is(256)] char unknown3[256]; + uint8 unknown3[256]; } srvsvc_NetTransportInfo3; typedef struct { @@ -1326,7 +1324,7 @@ WERROR srvsvc_NetPathCanonicalize( [in] [string,charset(UTF16)] uint16 *server_unc, [in] [string,charset(UTF16)] uint16 path[], - [out] [size_is(maxbuf)] char can_path[], + [out] [size_is(maxbuf)] uint8 can_path[], [in] uint32 maxbuf, [in] [string,charset(UTF16)] uint16 prefix[], [in,out] uint32 pathtype, @@ -1350,9 +1348,9 @@ /* Function: 0x21 */ WERROR srvsvc_NetNameValidate( [in] [string,charset(UTF16)] uint16 *server_unc, - [in] [string,charset(UTF16)] uint16 path[], - [in] uint32 pathtype, - [in] uint32 pathflags + [in] [string,charset(UTF16)] uint16 name[], + [in] uint32 name_type, + [in] uint32 flags ); /******************/ @@ -1364,10 +1362,10 @@ /* Function: 0x23 */ WERROR srvsvc_NetPRNameCompare( [in] [string,charset(UTF16)] uint16 *server_unc, - [in] [string,charset(UTF16)] uint16 path1[], - [in] [string,charset(UTF16)] uint16 path2[], - [in] uint32 pathtype, - [in] uint32 pathflags + [in] [string,charset(UTF16)] uint16 name1[], + [in] [string,charset(UTF16)] uint16 name2[], + [in] uint32 name_type, + [in] uint32 flags ); /**************************/ @@ -1392,13 +1390,13 @@ [in] [string,charset(UTF16)] uint16 *server_unc, [in] [string,charset(UTF16)] uint16 share[], [in] uint32 reserved, - [out, context_handle] void **hnd + [out] policy_handle *hnd ); /******************/ /* Function: 0x26 */ WERROR srvsvc_NetShareDelCommit( - [in, out, context_handle] void **hnd + [in, out] policy_handle *hnd ); /******************/ @@ -1407,9 +1405,8 @@ [in] [string,charset(UTF16)] uint16 *server_unc, [in] [string,charset(UTF16)] uint16 *share, [in] [string,charset(UTF16)] uint16 file[], - [in] uint32 securityinformation, -/*QQQ is this subcontext thing correct?*/ - [out, subcontext(4)] security_descriptor *sd + [in] security_secinfo securityinformation, + [out] sec_desc_buf *sd_buf ); /******************/ @@ -1418,14 +1415,13 @@ [in] [string,charset(UTF16)] uint16 *server_unc, [in] [string,charset(UTF16)] uint16 *share, [in] [string,charset(UTF16)] uint16 file[], - [in] uint32 securityinformation, -/*QQQ is this subcontext thing correct ?*/ - [in, subcontext(4)] security_descriptor sd + [in] security_secinfo securityinformation, + [in] sec_desc_buf sd_buf ); - typedef [switch_type(long)] union { + typedef [switch_type(uint32)] union { [case(0)] srvsvc_NetTransportInfo0 info0; [case(1)] srvsvc_NetTransportInfo1 info1; [case(2)] srvsvc_NetTransportInfo2 info2;