Logo Search packages:      
Sourcecode: wireshark version File versions

packet-dcerpc-srvsvc.c

/* 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
#include "config.h"
#endif

#include <glib.h>
#include <string.h>
#include <epan/packet.h>

#include "packet-dcerpc.h"
#include "packet-dcerpc-nt.h"
#include "packet-windows-common.h"
#include "packet-dcerpc-srvsvc.h"

/* Ett declarations */
static gint ett_dcerpc_srvsvc = -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_SessionUserFlags = -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_DFSFlags = -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_TransportFlags = -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_DFSFlags_SHI1005_FLAGS_FORCE_SHARED_DELETE = -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_NetSrvInfo599_opensearch = -1;
static gint hf_srvsvc_srvsvc_NetSrvInfo1515_enableforcedlogoff = -1;
static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxcopywritelen = -1;
static gint hf_srvsvc_srvsvc_NetTransportInfo3_password_len = -1;
static gint hf_srvsvc_srvsvc_NetSrvInfo403_chdevs = -1;
static gint hf_srvsvc_srvsvc_NetSrvInfo1509_maxrawbuflen = -1;
static gint hf_srvsvc_srvsvc_DFSFlags_CSC_CACHE_VDO = -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_SessionUserFlags_SESS_NOENCRYPTION = -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_NetTransportInfo3_password = -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_SessionUserFlags_SESS_GUEST = -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_DFSFlags_SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING = -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_NetTransportInfo2_transport_flags = -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_DFSFlags_SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM = -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_DFSFlags_CSC_CACHE_AUTO_REINT = -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_TransportFlags_SVTI2_REMAP_PIPE_NAMES = -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_DFSFlags_SHI1005_FLAGS_DFS = -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_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_DFSFlags_SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS = -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_NetCharDevQInfo1_num_ahead = -1;
static gint hf_srvsvc_srvsvc_NetSrvInfo502_initworkitems = -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_NetTransportInfo3_transport_flags = -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_NetTransportInfo1_domain = -1;
static gint hf_srvsvc_srvsvc_NetShareCtr_ctr1501 = -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_DFSFlags_SHI1005_FLAGS_DFS_ROOT = -1;
static gint hf_srvsvc_srvsvc_NetSrvInfo599_maxnonpagedmemoryusage = -1;

static gint proto_dcerpc_srvsvc = -1;
/* Version information */


static e_uuid_t uuid_dcerpc_srvsvc = {
      0x4b324fc8, 0x1670, 0x01d3,
      { 0x12, 0x78, 0x5a, 0x47, 0xbf, 0x6e, 0xe1, 0x88 }
};
static guint16 ver_dcerpc_srvsvc = 3;

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 const true_false_string srvsvc_SessionUserFlags_SESS_GUEST_tfs = {
   "SESS_GUEST is SET",
   "SESS_GUEST is NOT SET",
};
static const true_false_string srvsvc_SessionUserFlags_SESS_NOENCRYPTION_tfs = {
   "SESS_NOENCRYPTION is SET",
   "SESS_NOENCRYPTION is NOT SET",
};
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 const true_false_string srvsvc_DFSFlags_SHI1005_FLAGS_DFS_tfs = {
   "SHI1005_FLAGS_DFS is SET",
   "SHI1005_FLAGS_DFS is NOT SET",
};
static const true_false_string srvsvc_DFSFlags_SHI1005_FLAGS_DFS_ROOT_tfs = {
   "SHI1005_FLAGS_DFS_ROOT is SET",
   "SHI1005_FLAGS_DFS_ROOT is NOT SET",
};
static const true_false_string srvsvc_DFSFlags_CSC_CACHE_AUTO_REINT_tfs = {
   "CSC_CACHE_AUTO_REINT is SET",
   "CSC_CACHE_AUTO_REINT is NOT SET",
};
static const true_false_string srvsvc_DFSFlags_CSC_CACHE_VDO_tfs = {
   "CSC_CACHE_VDO is SET",
   "CSC_CACHE_VDO is NOT SET",
};
static const true_false_string srvsvc_DFSFlags_SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS_tfs = {
   "SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS is SET",
   "SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS is NOT SET",
};
static const true_false_string srvsvc_DFSFlags_SHI1005_FLAGS_FORCE_SHARED_DELETE_tfs = {
   "SHI1005_FLAGS_FORCE_SHARED_DELETE is SET",
   "SHI1005_FLAGS_FORCE_SHARED_DELETE is NOT SET",
};
static const true_false_string srvsvc_DFSFlags_SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING_tfs = {
   "SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING is SET",
   "SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING is NOT SET",
};
static const true_false_string srvsvc_DFSFlags_SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM_tfs = {
   "SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM is SET",
   "SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM is NOT SET",
};
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 const true_false_string srvsvc_TransportFlags_SVTI2_REMAP_PIPE_NAMES_tfs = {
   "SVTI2_REMAP_PIPE_NAMES is SET",
   "SVTI2_REMAP_PIPE_NAMES is NOT SET",
};
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_transport_flags(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_transport_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
static int srvsvc_dissect_element_NetTransportInfo3_password_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
static int srvsvc_dissect_element_NetTransportInfo3_password(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep);
static int srvsvc_dissect_element_NetTransportInfo3_password_(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){
            /*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);
}

/* 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;

      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_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 = 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;
}

static int
srvsvc_dissect_element_NetCharDevCtr_ctr0_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
      offset = srvsvc_dissect_struct_NetCharDevCtr0(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevCtr_ctr0,0);

      return offset;
}

static int
srvsvc_dissect_element_NetCharDevCtr_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_NetCharDevCtr_ctr1_, NDR_POINTER_UNIQUE, "Pointer to Ctr1 (srvsvc_NetCharDevCtr1)",hf_srvsvc_srvsvc_NetCharDevCtr_ctr1);

      return offset;
}

static int
srvsvc_dissect_element_NetCharDevCtr_ctr1_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
      offset = srvsvc_dissect_struct_NetCharDevCtr1(tvb,offset,pinfo,tree,drep,hf_srvsvc_srvsvc_NetCharDevCtr_ctr1,0);

      return offset;
}

static int
srvsvc_dissect_NetCharDevCtr(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_NetCharDevCtr");
            tree = proto_item_add_subtree(item, ett_srvsvc_srvsvc_NetCharDevCtr);
      }

      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;

            case 1:
                  offset = srvsvc_dissect_element_NetCharDevCtr_ctr1(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 *device; */
/* IDL: } srvsvc_NetCharDevQInfo0; */

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;
}

static int
srvsvc_dissect_element_NetCharDevQInfo0_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_NetCharDevQInfo0_device, FALSE, &data);
      proto_item_append_text(tree, ": %s", data);

      return offset;
}

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;

      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 bitmap { */
/* IDL:     SESS_GUEST =  0x00000001 , */
/* IDL:     SESS_NOENCRYPTION =  0x00000002 , */
/* IDL: } srvsvc_SessionUserFlags; */

int
srvsvc_dissect_bitmap_SessionUserFlags(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;

      guint32 flags;
      ALIGN_TO_4_BYTES;

      if (parent_tree) {
            item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
            tree = proto_item_add_subtree(item,ett_srvsvc_srvsvc_SessionUserFlags);
      }

      offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
      proto_item_append_text(item, ": ");

      if (!flags)
            proto_item_append_text(item, "(No values set)");

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_SessionUserFlags_SESS_GUEST, tvb, offset-4, 4, flags);
      if (flags&( 0x00000001 )){
            proto_item_append_text(item, "SESS_GUEST");
            if (flags & (~( 0x00000001 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000001 ));

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_SessionUserFlags_SESS_NOENCRYPTION, tvb, offset-4, 4, flags);
      if (flags&( 0x00000002 )){
            proto_item_append_text(item, "SESS_NOENCRYPTION");
            if (flags & (~( 0x00000002 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000002 ));

      if (flags) {
            proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
      }

      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)] srvsvc_SessionUserFlags 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 = srvsvc_dissect_bitmap_SessionUserFlags(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo1_user_flags, 0);

      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)] srvsvc_SessionUserFlags 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 = srvsvc_dissect_bitmap_SessionUserFlags(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo2_user_flags, 0);

      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)] srvsvc_SessionUserFlags 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 = srvsvc_dissect_bitmap_SessionUserFlags(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetSessInfo502_user_flags, 0);

      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 bitmap { */
/* IDL:     SHI1005_FLAGS_DFS =  0x00000001 , */
/* IDL:     SHI1005_FLAGS_DFS_ROOT =  0x00000002 , */
/* IDL:     CSC_CACHE_AUTO_REINT =  0x00000010 , */
/* IDL:     CSC_CACHE_VDO =  0x00000020 , */
/* IDL:     SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS =  0x00000100 , */
/* IDL:     SHI1005_FLAGS_FORCE_SHARED_DELETE =  0x00000200 , */
/* IDL:     SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING =  0x00000400 , */
/* IDL:     SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM =  0x00000800 , */
/* IDL: } srvsvc_DFSFlags; */

int
srvsvc_dissect_bitmap_DFSFlags(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;

      guint32 flags;
      ALIGN_TO_4_BYTES;

      if (parent_tree) {
            item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
            tree = proto_item_add_subtree(item,ett_srvsvc_srvsvc_DFSFlags);
      }

      offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
      proto_item_append_text(item, ": ");

      if (!flags)
            proto_item_append_text(item, "(No values set)");

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_DFSFlags_SHI1005_FLAGS_DFS, tvb, offset-4, 4, flags);
      if (flags&( 0x00000001 )){
            proto_item_append_text(item, "SHI1005_FLAGS_DFS");
            if (flags & (~( 0x00000001 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000001 ));

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_DFSFlags_SHI1005_FLAGS_DFS_ROOT, tvb, offset-4, 4, flags);
      if (flags&( 0x00000002 )){
            proto_item_append_text(item, "SHI1005_FLAGS_DFS_ROOT");
            if (flags & (~( 0x00000002 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000002 ));

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_DFSFlags_CSC_CACHE_AUTO_REINT, tvb, offset-4, 4, flags);
      if (flags&( 0x00000010 )){
            proto_item_append_text(item, "CSC_CACHE_AUTO_REINT");
            if (flags & (~( 0x00000010 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000010 ));

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_DFSFlags_CSC_CACHE_VDO, tvb, offset-4, 4, flags);
      if (flags&( 0x00000020 )){
            proto_item_append_text(item, "CSC_CACHE_VDO");
            if (flags & (~( 0x00000020 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000020 ));

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_DFSFlags_SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS, tvb, offset-4, 4, flags);
      if (flags&( 0x00000100 )){
            proto_item_append_text(item, "SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS");
            if (flags & (~( 0x00000100 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000100 ));

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_DFSFlags_SHI1005_FLAGS_FORCE_SHARED_DELETE, tvb, offset-4, 4, flags);
      if (flags&( 0x00000200 )){
            proto_item_append_text(item, "SHI1005_FLAGS_FORCE_SHARED_DELETE");
            if (flags & (~( 0x00000200 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000200 ));

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_DFSFlags_SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING, tvb, offset-4, 4, flags);
      if (flags&( 0x00000400 )){
            proto_item_append_text(item, "SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING");
            if (flags & (~( 0x00000400 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000400 ));

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_DFSFlags_SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM, tvb, offset-4, 4, flags);
      if (flags&( 0x00000800 )){
            proto_item_append_text(item, "SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM");
            if (flags & (~( 0x00000800 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000800 ));

      if (flags) {
            proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
      }

      return offset;
}

/* IDL: typedef struct { */
/* IDL:     [keepref(1)] srvsvc_DFSFlags 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 = srvsvc_dissect_bitmap_DFSFlags(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetShareInfo1005_dfs_flags, 0);

      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 bitmap { */
/* IDL:     SVTI2_REMAP_PIPE_NAMES =  0x00000001 , */
/* IDL: } srvsvc_TransportFlags; */

int
srvsvc_dissect_bitmap_TransportFlags(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;

      guint32 flags;
      ALIGN_TO_4_BYTES;

      if (parent_tree) {
            item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
            tree = proto_item_add_subtree(item,ett_srvsvc_srvsvc_TransportFlags);
      }

      offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
      proto_item_append_text(item, ": ");

      if (!flags)
            proto_item_append_text(item, "(No values set)");

      proto_tree_add_boolean(tree, hf_srvsvc_srvsvc_TransportFlags_SVTI2_REMAP_PIPE_NAMES, tvb, offset-4, 4, flags);
      if (flags&( 0x00000001 )){
            proto_item_append_text(item, "SVTI2_REMAP_PIPE_NAMES");
            if (flags & (~( 0x00000001 )))
                  proto_item_append_text(item, ", ");
      }
      flags&=(~( 0x00000001 ));

      if (flags) {
            proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
      }

      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)] srvsvc_TransportFlags transport_flags; */
/* 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_transport_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
      offset = srvsvc_dissect_bitmap_TransportFlags(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo2_transport_flags, 0);

      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_transport_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_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)] srvsvc_TransportFlags transport_flags; */
/* IDL:     [keepref(1)] uint32 password_len; */
/* IDL:     [keepref(1)] uint8 password[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_transport_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
{
      offset = srvsvc_dissect_bitmap_TransportFlags(tvb, offset, pinfo, tree, drep, hf_srvsvc_srvsvc_NetTransportInfo3_transport_flags, 0);

      return offset;
}

static int
srvsvc_dissect_element_NetTransportInfo3_password_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_password_len,NULL);

      return offset;
}

static int
srvsvc_dissect_element_NetTransportInfo3_password(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_password_(tvb, offset, pinfo, tree, drep);

      return offset;
}

static int
srvsvc_dissect_element_NetTransportInfo3_password_(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_password,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