/* packet-dcerpc-srvsvc.c
* Routines for SMB \\PIPE\\srvsvc packet disassembly
- * Copyright 2001, Tim Potter <tpot@samba.org>
+ * Copyright 2001-2002, Tim Potter <tpot@samba.org>
* Copyright 2002, Richard Sharpe <rsharpe@ns.aus.com>
* decode srvsvc calls where Samba knows them ...
* Copyright 2002, Ronnie Sahlberg
* rewrote entire dissector
*
- * $Id: packet-dcerpc-srvsvc.c,v 1.35 2002/06/22 14:04:56 sahlberg Exp $
+ * 2002, some share information levels implemented based on samba
+ * sources.
+ *
+ *
+ * $Id: packet-dcerpc-srvsvc.c,v 1.44 2002/09/05 00:17:05 tpot Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
* Copyright 1998 Gerald Combs
- *
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
+/* The IDL file for this interface can be extracted by grepping for IDL */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#include "smb.h"
static int proto_dcerpc_srvsvc = -1;
+static int hf_srvsvc_opnum = -1;
static int hf_srvsvc_reserved = -1;
static int hf_srvsvc_server = -1;
static int hf_srvsvc_emulated_server = -1;
static int hf_srvsvc_user = -1;
static int hf_srvsvc_path = -1;
static int hf_srvsvc_share_passwd = -1;
+static int hf_srvsvc_share_alternate_name = -1;
static int hf_srvsvc_file_id = -1;
static int hf_srvsvc_perm = -1;
+static int hf_srvsvc_policy = -1;
static int hf_srvsvc_file_num_locks = -1;
static int hf_srvsvc_con_id = -1;
static int hf_srvsvc_max_uses = -1;
static int hf_srvsvc_glist_mtime = -1;
static int hf_srvsvc_alist_mtime = -1;
static int hf_srvsvc_security = -1;
+static int hf_srvsvc_dfs_root_flags = -1;
static int hf_srvsvc_numadmin = -1;
static int hf_srvsvc_lanmask = -1;
static int hf_srvsvc_chdevs = -1;
static int hf_srvsvc_service_bits_of_interest = -1;
static int hf_srvsvc_update_immediately = -1;
static int hf_srvsvc_path_flags = -1;
+static int hf_srvsvc_share_flags = -1;
static int hf_srvsvc_path_type = -1;
static int hf_srvsvc_outbuflen = -1;
static int hf_srvsvc_prefix = -1;
static int hf_srvsvc_hnd = -1;
+static int hf_srvsvc_server_stat_start = -1;
+static int hf_srvsvc_server_stat_fopens = -1;
+static int hf_srvsvc_server_stat_devopens = -1;
+static int hf_srvsvc_server_stat_jobsqueued = -1;
+static int hf_srvsvc_server_stat_sopens = -1;
+static int hf_srvsvc_server_stat_stimeouts = -1;
+static int hf_srvsvc_server_stat_serrorout = -1;
+static int hf_srvsvc_server_stat_pwerrors = -1;
+static int hf_srvsvc_server_stat_permerrors = -1;
+static int hf_srvsvc_server_stat_syserrors = -1;
+static int hf_srvsvc_server_stat_bytessent = -1;
+static int hf_srvsvc_server_stat_bytesrcvd = -1;
+static int hf_srvsvc_server_stat_avresponse = -1;
+static int hf_srvsvc_server_stat_reqbufneed = -1;
+static int hf_srvsvc_server_stat_bigbufneed = -1;
+static int hf_srvsvc_tod_elapsed = -1;
+static int hf_srvsvc_tod_msecs = -1;
+static int hf_srvsvc_tod_hours = -1;
+static int hf_srvsvc_tod_mins = -1;
+static int hf_srvsvc_tod_secs = -1;
+static int hf_srvsvc_tod_hunds = -1;
+static int hf_srvsvc_tod_timezone = -1;
+static int hf_srvsvc_tod_tinterval = -1;
+static int hf_srvsvc_tod_day = -1;
+static int hf_srvsvc_tod_month = -1;
+static int hf_srvsvc_tod_year = -1;
+static int hf_srvsvc_tod_weekday = -1;
+static int hf_srvsvc_path_len = -1;
static gint ett_dcerpc_srvsvc = -1;
static gint ett_srvsvc_share_info_1 = -1;
static gint ett_srvsvc_share_info_2 = -1;
+static gint ett_srvsvc_share_info_501 = -1;
static gint ett_srvsvc_share_info_502 = -1;
+/*
+ IDL [ uuid(4b324fc8-1670-01d3-1278-5a47bf6ee188),
+ IDL version(3.0),
+ IDL implicit_handle(handle_t rpc_binding)
+ IDL ] interface srvsvc
+ IDL {
+*/
static e_uuid_t uuid_dcerpc_srvsvc = {
0x4b324fc8, 0x1670, 0x01d3,
{ 0x12, 0x78, 0x5a, 0x47, 0xbf, 0x6e, 0xe1, 0x88 }
static guint16 ver_dcerpc_srvsvc = 3;
static int
-srvsvc_dissect_pointer_long(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_pointer_long(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
dcerpc_info *di;
}
static int
-srvsvc_dissect_ENUM_HANDLE(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_ENUM_HANDLE(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
}
static int
-srvsvc_dissect_pointer_UNICODE_STRING(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_pointer_UNICODE_STRING(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
dcerpc_info *di;
return offset;
}
- offset = dissect_ndr_nt_UNICODE_STRING_str(tvb, offset, pinfo, tree,
+ offset = dissect_ndr_nt_UNICODE_STRING_str(tvb, offset, pinfo, tree,
drep);
return offset;
}
* IDL } CHARDEV_INFO_0;
*/
static int
-srvsvc_dissect_CHARDEV_INFO_0(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEV_INFO_0(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Char Device",
hf_srvsvc_chrdev, 0);
-
+
return offset;
}
static int
-srvsvc_dissect_CHARDEV_INFO_0_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEV_INFO_0_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } CHARDEV_INFO_0_CONTAINER;
*/
static int
-srvsvc_dissect_CHARDEV_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEV_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } CHARDEV_INFO_1;
*/
static int
-srvsvc_dissect_CHARDEV_INFO_1(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEV_INFO_1(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Char Device",
hf_srvsvc_chrdev, 0);
-
+
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_chrdev_status, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User",
hf_srvsvc_user, 0);
return offset;
}
static int
-srvsvc_dissect_CHARDEV_INFO_1_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEV_INFO_1_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } CHARDEV_INFO_1_CONTAINER;
*/
static int
-srvsvc_dissect_CHARDEV_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEV_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } CHARDEV_ENUM_UNION;
*/
static int
-srvsvc_dissect_CHARDEV_ENUM_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEV_ENUM_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
* IDL } CHARDEV_ENUM_STRUCT;
*/
static int
-srvsvc_dissect_CHARDEV_ENUM_STRUCT(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEV_ENUM_STRUCT(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } CHARDEV_INFO_UNION;
*/
static int
-srvsvc_dissect_CHARDEV_INFO_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEV_INFO_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
* IDL );
*/
static int
-srvsvc_dissect_netrchardevenum_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevenum_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_CHARDEV_ENUM_STRUCT,
NDR_POINTER_REF, "CHARDEV_ENUM_STRUCT",
-1, 0);
return offset;
}
static int
-srvsvc_dissect_netrchardevenum_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevenum_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_CHARDEV_ENUM_STRUCT,
NDR_POINTER_REF, "CHARDEV_ENUM_STRUCT",
-1, 0);
srvsvc_dissect_ENUM_HANDLE,
NDR_POINTER_UNIQUE, "Enum Handle", -1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL );
*/
static int
-srvsvc_dissect_netrchardevgetinfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevgetinfo_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Char Device",
hf_srvsvc_chrdev, 0);
return offset;
}
static int
-srvsvc_dissect_netrchardevgetinfo_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevgetinfo_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_CHARDEV_INFO_UNION,
NDR_POINTER_REF, "CHARDEV_INFO_UNION", -1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL long NetrCharDevControl(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *DevName,
- * IDL [in] long Opcode
+ * IDL [in] long Opcode
* IDL );
*/
static int
-srvsvc_dissect_netrchardevcontrol_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevcontrol_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Char Device",
hf_srvsvc_chrdev, 0);
return offset;
}
static int
-srvsvc_dissect_netrchardevcontrol_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevcontrol_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL } CHARDEVQ_INFO_0;
*/
static int
-srvsvc_dissect_CHARDEVQ_INFO_0(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEVQ_INFO_0(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Char QDevice",
hf_srvsvc_chrdev, 0);
-
+
return offset;
}
static int
-srvsvc_dissect_CHARDEVQ_INFO_0_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEVQ_INFO_0_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } CHARDEVQ_INFO_0_CONTAINER;
*/
static int
-srvsvc_dissect_CHARDEVQ_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEVQ_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } CHARDEVQ_INFO_1;
*/
static int
-srvsvc_dissect_CHARDEVQ_INFO_1(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEVQ_INFO_1(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Char Device",
hf_srvsvc_chrdev, 0);
-
+
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_chrqpri, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Char Devices",
hf_srvsvc_chrdevq, 0);
-
+
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_chrqnumusers, 0);
return offset;
}
static int
-srvsvc_dissect_CHARDEVQ_INFO_1_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEVQ_INFO_1_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } CHARDEVQ_INFO_1_CONTAINER;
*/
static int
-srvsvc_dissect_CHARDEVQ_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEVQ_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } CHARDEVQ_ENUM_UNION;
*/
static int
-srvsvc_dissect_CHARDEVQ_ENUM_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEVQ_ENUM_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
* IDL } CHARDEVQ_ENUM_STRUCT;
*/
static int
-srvsvc_dissect_CHARDEVQ_ENUM_STRUCT(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEVQ_ENUM_STRUCT(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } CHARDEVQ_INFO;
*/
static int
-srvsvc_dissect_CHARDEVQ_INFO(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CHARDEVQ_INFO(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
* IDL );
*/
static int
-srvsvc_dissect_netrchardevqenum_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevqenum_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User",
hf_srvsvc_user, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_CHARDEVQ_ENUM_STRUCT,
NDR_POINTER_REF, "CHARDEVQ_ENUM_STRUCT",
-1, 0);
return offset;
}
static int
-srvsvc_dissect_netrchardevqenum_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevqenum_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_CHARDEVQ_ENUM_STRUCT,
NDR_POINTER_REF, "CHARDEVQ_ENUM_STRUCT",
-1, 0);
srvsvc_dissect_ENUM_HANDLE,
NDR_POINTER_UNIQUE, "Enum Handle", -1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL );
*/
static int
-srvsvc_dissect_netrchardevqgetinfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevqgetinfo_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Device Queue",
hf_srvsvc_chrdevq, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "User",
hf_srvsvc_user, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_info_level, NULL);
return offset;
}
static int
-srvsvc_dissect_netrchardevqgetinfo_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevqgetinfo_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_CHARDEVQ_INFO,
NDR_POINTER_REF, "CHARDEVQ_INFO:", -1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL );
*/
static int
-srvsvc_dissect_netrchardevqsetinfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevqsetinfo_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Device Queue",
hf_srvsvc_chrdevq, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_info_level, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_CHARDEVQ_INFO,
NDR_POINTER_REF, "CHARDEVQ_INFO",
-1, 0);
return offset;
}
static int
-srvsvc_dissect_netrchardevqsetinfo_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevqsetinfo_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
"Parameter Error:", hf_srvsvc_parm_error, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL );
*/
static int
-srvsvc_dissect_netrchardevqpurge_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevqpurge_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Device Queue",
hf_srvsvc_chrdevq, 0);
return offset;
}
static int
-srvsvc_dissect_netrchardevqpurge_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevqpurge_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL );
*/
static int
-srvsvc_dissect_netrchardevqpurgeself_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevqpurgeself_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Device Queue",
hf_srvsvc_chrdevq, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Computer",
hf_srvsvc_computer, 0);
return offset;
}
static int
-srvsvc_dissect_netrchardevqpurgeself_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrchardevqpurgeself_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL } CONNECT_INFO_0;
*/
static int
-srvsvc_dissect_CONNECT_INFO_0(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CONNECT_INFO_0(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_con_id, NULL);
-
+
return offset;
}
static int
-srvsvc_dissect_CONNECT_INFO_0_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CONNECT_INFO_0_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } CONNECT_INFO_0_CONTAINER;
*/
static int
-srvsvc_dissect_CONNECT_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CONNECT_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } CONNECT_INFO_1;
*/
static int
-srvsvc_dissect_CONNECT_INFO_1(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CONNECT_INFO_1(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_con_time, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User",
hf_srvsvc_user, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Share",
hf_srvsvc_share, 0);
return offset;
}
static int
-srvsvc_dissect_CONNECT_INFO_1_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CONNECT_INFO_1_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } CONNECT_INFO_1_CONTAINER;
*/
static int
-srvsvc_dissect_CONNECT_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CONNECT_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } CONNECT_ENUM_UNION;
*/
static int
-srvsvc_dissect_CONNECT_ENUM_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CONNECT_ENUM_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
* IDL } CONNECT_ENUM_STRUCT;
*/
static int
-srvsvc_dissect_CONNECT_ENUM_STRUCT(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_CONNECT_ENUM_STRUCT(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL );
*/
static int
-srvsvc_dissect_netrconnectionenum_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrconnectionenum_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Qualifier",
hf_srvsvc_qualifier, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_CONNECT_ENUM_STRUCT,
NDR_POINTER_REF, "CONNECT_ENUM_STRUCT:",
-1, 0);
return offset;
}
static int
-srvsvc_dissect_netrconnectionenum_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrconnectionenum_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_CONNECT_ENUM_STRUCT,
NDR_POINTER_REF, "CONNECT_ENUM_STRUCT:",
-1, 0);
srvsvc_dissect_ENUM_HANDLE,
NDR_POINTER_UNIQUE, "Enum Handle", -1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL } FILE_INFO_2;
*/
static int
-srvsvc_dissect_FILE_INFO_2(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_FILE_INFO_2(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_file_id, NULL);
-
+
return offset;
}
static int
-srvsvc_dissect_FILE_INFO_2_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_FILE_INFO_2_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } FILE_INFO_2_CONTAINER;
*/
static int
-srvsvc_dissect_FILE_INFO_2_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_FILE_INFO_2_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } FILE_INFO_3;
*/
static int
-srvsvc_dissect_FILE_INFO_3(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_FILE_INFO_3(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_file_num_locks, NULL);
-
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Path",
hf_srvsvc_path, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User",
hf_srvsvc_user, 0);
return offset;
}
static int
-srvsvc_dissect_FILE_INFO_3_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_FILE_INFO_3_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } FILE_INFO_3_CONTAINER;
*/
static int
-srvsvc_dissect_FILE_INFO_3_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_FILE_INFO_3_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } FILE_ENUM_UNION;
*/
static int
-srvsvc_dissect_FILE_ENUM_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_FILE_ENUM_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
* IDL } FILE_INFO_UNION;
*/
static int
-srvsvc_dissect_FILE_INFO_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_FILE_INFO_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
* IDL } FILE_ENUM_STRUCT;
*/
static int
-srvsvc_dissect_FILE_ENUM_STRUCT(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_FILE_ENUM_STRUCT(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL );
*/
static int
-srvsvc_dissect_netrfileenum_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrfileenum_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Path",
hf_srvsvc_path, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User",
hf_srvsvc_user, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_FILE_ENUM_STRUCT,
NDR_POINTER_REF, "FILE_ENUM_STRUCT:",
-1, 0);
return offset;
}
static int
-srvsvc_dissect_netrfileenum_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrfileenum_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_FILE_ENUM_STRUCT,
NDR_POINTER_REF, "FILE_ENUM_STRUCT:",
-1, 0);
srvsvc_dissect_ENUM_HANDLE,
NDR_POINTER_UNIQUE, "Enum Handle", -1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL );
*/
static int
-srvsvc_dissect_netrfilegetinfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrfilegetinfo_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
return offset;
}
static int
-srvsvc_dissect_netrfilegetinfo_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrfilegetinfo_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_FILE_INFO_UNION,
NDR_POINTER_REF, "FILE_INFO_UNION:", -1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL );
*/
static int
-srvsvc_dissect_netrfileclose_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrfileclose_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
return offset;
}
static int
-srvsvc_dissect_netrfileclose_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrfileclose_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL } SESSION_INFO_0;
*/
static int
-srvsvc_dissect_SESSION_INFO_0(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_0(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Session",
hf_srvsvc_session, 0);
-
+
return offset;
}
static int
-srvsvc_dissect_SESSION_INFO_0_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_0_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SESSION_INFO_0_CONTAINER;
*/
static int
-srvsvc_dissect_SESSION_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } SESSION_INFO_1;
*/
static int
-srvsvc_dissect_SESSION_INFO_1(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_1(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Session",
hf_srvsvc_session, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User",
hf_srvsvc_user, 0);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_session_num_opens, NULL);
return offset;
}
static int
-srvsvc_dissect_SESSION_INFO_1_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_1_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SESSION_INFO_1_CONTAINER;
*/
static int
-srvsvc_dissect_SESSION_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } SESSION_INFO_2;
*/
static int
-srvsvc_dissect_SESSION_INFO_2(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_2(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Session",
hf_srvsvc_session, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User",
hf_srvsvc_user, 0);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_session_num_opens, NULL);
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_session_user_flags, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Client Type:",
hf_srvsvc_client_type, 0);
return offset;
}
static int
-srvsvc_dissect_SESSION_INFO_2_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_2_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SESSION_INFO_2_CONTAINER;
*/
static int
-srvsvc_dissect_SESSION_INFO_2_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_2_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } SESSION_INFO_10;
*/
static int
-srvsvc_dissect_SESSION_INFO_10(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_10(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Session",
hf_srvsvc_session, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User",
hf_srvsvc_user, 0);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_session_time, NULL);
return offset;
}
static int
-srvsvc_dissect_SESSION_INFO_10_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_10_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SESSION_INFO_10_CONTAINER;
*/
static int
-srvsvc_dissect_SESSION_INFO_10_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_10_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } SESSION_INFO_502;
*/
static int
-srvsvc_dissect_SESSION_INFO_502(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_502(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Session",
hf_srvsvc_session, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User",
hf_srvsvc_user, 0);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_session_num_opens, NULL);
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_session_user_flags, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Client Type:",
hf_srvsvc_client_type, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Transport:",
hf_srvsvc_transport, 0);
return offset;
}
static int
-srvsvc_dissect_SESSION_INFO_502_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_502_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SESSION_INFO_502_CONTAINER;
*/
static int
-srvsvc_dissect_SESSION_INFO_502_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_INFO_502_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } SESSION_ENUM_UNION;
*/
static int
-srvsvc_dissect_SESSION_ENUM_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_ENUM_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
* IDL } SESSION_ENUM_STRUCT;
*/
static int
-srvsvc_dissect_SESSION_ENUM_STRUCT(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SESSION_ENUM_STRUCT(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL );
*/
static int
-srvsvc_dissect_netrsessionenum_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsessionenum_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Computer",
hf_srvsvc_computer, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User",
hf_srvsvc_user, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_SESSION_ENUM_STRUCT,
NDR_POINTER_REF, "SESSION_ENUM_STRUCT",
-1, 0);
return offset;
}
static int
-srvsvc_dissect_netrsessionenum_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsessionenum_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_SESSION_ENUM_STRUCT,
NDR_POINTER_REF, "SESSION_ENUM_STRUCT",
-1, 0);
srvsvc_dissect_ENUM_HANDLE,
NDR_POINTER_UNIQUE, "Enum Handle", -1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL );
*/
static int
-srvsvc_dissect_netrsessiondel_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsessiondel_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Computer",
hf_srvsvc_computer, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "User",
hf_srvsvc_user, 0);
return offset;
}
static int
-srvsvc_dissect_netrsessiondel_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsessiondel_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL } SHARE_INFO_0;
*/
static int
-srvsvc_dissect_SHARE_INFO_0(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_0(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Share",
hf_srvsvc_share, 0);
return offset;
}
static int
-srvsvc_dissect_SHARE_INFO_0_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_0_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SHARE_INFO_0_CONTAINER;
*/
static int
-srvsvc_dissect_SHARE_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
{
proto_item *item = NULL;
proto_tree *tree = NULL;
-
+
dcerpc_info *di;
di=pinfo->private_data;
return offset;
}
static int
-srvsvc_dissect_SHARE_INFO_1_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_1_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SHARE_INFO_1_CONTAINER;
*/
static int
-srvsvc_dissect_SHARE_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
{
proto_item *item = NULL;
proto_tree *tree = NULL;
-
+
dcerpc_info *di;
di=pinfo->private_data;
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_max_uses, NULL);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_cur_uses, NULL);
-
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Path",
hf_srvsvc_path, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Passwd",
hf_srvsvc_share_passwd, 0);
return offset;
}
static int
-srvsvc_dissect_SHARE_INFO_2_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_2_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SHARE_INFO_2_CONTAINER;
*/
static int
-srvsvc_dissect_SHARE_INFO_2_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_2_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
return offset;
}
+/*
+ IDL typedef struct {
+ IDL [unique] [string] wchar_t *share;
+ IDL long type;
+ IDL [unique] [string] wchar_t *comment;
+ IDL long policy;
+ IDL } SHARE_INFO_501;
+*/
+static int
+srvsvc_dissect_SHARE_INFO_501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, char *drep)
+{
+ proto_item *item = NULL;
+ proto_tree *tree = NULL;
+
+ dcerpc_info *di;
+
+ di=pinfo->private_data;
+ if (parent_tree) {
+ item = proto_tree_add_text(parent_tree, tvb, offset, -1, "Share");
+ tree = proto_item_add_subtree(item, ett_srvsvc_share_info_501);
+ }
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_pointer_UNICODE_STRING, NDR_POINTER_UNIQUE,
+ "Share", hf_srvsvc_share, di->levels);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_share_type, NULL);
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_pointer_UNICODE_STRING, NDR_POINTER_UNIQUE,
+ "Comment", hf_srvsvc_comment, 0);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_policy, NULL);
+
+ return offset;
+}
+static int
+srvsvc_dissect_SHARE_INFO_501_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_501);
+
+ return offset;
+}
+
+/*
+ * IDL typedef struct {
+ * IDL long EntriesRead;
+ * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_501 *shares;
+ * IDL } SHARE_INFO_501_CONTAINER;
+ */
+static int
+srvsvc_dissect_SHARE_INFO_501_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_num_entries, NULL);
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_501_array, NDR_POINTER_UNIQUE,
+ "SHARE_INFO_501 array:", -1, 0);
+
+ return offset;
+}
+
+
/*
IDL typedef struct {
IDL [unique] [string] wchar_t *share;
{
proto_item *item = NULL;
proto_tree *tree = NULL;
-
+
dcerpc_info *di;
di=pinfo->private_data;
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_max_uses, NULL);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_cur_uses, NULL);
-
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Path",
hf_srvsvc_path, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Passwd",
hf_srvsvc_share_passwd, 0);
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_reserved, NULL);
-
+
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
lsa_dissect_LSA_SECURITY_DESCRIPTOR_data, NDR_POINTER_UNIQUE,
"LSA SECURITY DESCRIPTOR data:", -1, 0);
return offset;
}
static int
-srvsvc_dissect_SHARE_INFO_502_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_502_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SHARE_INFO_502_CONTAINER;
*/
static int
-srvsvc_dissect_SHARE_INFO_502_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_502_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
return offset;
}
static int
-srvsvc_dissect_SHARE_INFO_1004_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_1004_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SHARE_INFO_1004_CONTAINER;
*/
static int
-srvsvc_dissect_SHARE_INFO_1004_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_1004_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
return offset;
}
+/*
+ IDL typedef struct {
+ IDL long dfs_root_flags;
+ IDL } SHARE_INFO_1005;
+*/
+static int
+srvsvc_dissect_SHARE_INFO_1005(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *drep)
+{
+ offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_dfs_root_flags, NULL);
+
+ return offset;
+}
+static int
+srvsvc_dissect_SHARE_INFO_1005_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1005);
+
+ return offset;
+}
+
+/*
+ * IDL typedef struct {
+ * IDL long EntriesRead;
+ * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1005 *shares;
+ * IDL } SHARE_INFO_1005_CONTAINER;
+ */
+static int
+srvsvc_dissect_SHARE_INFO_1005_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_num_entries, NULL);
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1005_array, NDR_POINTER_UNIQUE,
+ "SHARE_INFO_1005 array:", -1, 0);
+
+ return offset;
+}
+
+
/*
IDL typedef struct {
IDL long max_uses;
{
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_max_uses, NULL);
-
+
return offset;
}
static int
-srvsvc_dissect_SHARE_INFO_1006_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_1006_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SHARE_INFO_1006_CONTAINER;
*/
static int
-srvsvc_dissect_SHARE_INFO_1006_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_INFO_1006_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
/*
- * IDL typedef [switch_type(long)] union {
- * IDL [case(0)] [unique] SHARE_INFO_0 *share0;
- * IDL [case(1)] [unique] SHARE_INFO_1 *share1;
- * IDL [case(2)] [unique] SHARE_INFO_2 *share2;
- * IDL [case(502)] [unique] SHARE_INFO_502 *share502;
- * IDL [case(1004)] [unique] SHARE_INFO_1004 *share1004;
- * IDL [case(1006)] [unique] SHARE_INFO_1006 *share1006;
- * IDL } SHARE_INFO_UNION;
- */
+ IDL typedef struct {
+ IDL long flags;
+ IDL [unique] [string] wchar_t *alternate_directory_name;
+ IDL } SHARE_INFO_1007;
+*/
static int
-srvsvc_dissect_SHARE_INFO_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
- char *drep)
+srvsvc_dissect_SHARE_INFO_1007(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *drep)
{
- guint32 level;
-
- ALIGN_TO_4_BYTES;
-
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
+ offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_share_flags, NULL);
- switch(level){
- case 0:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- srvsvc_dissect_SHARE_INFO_0,
- NDR_POINTER_UNIQUE, "SHARE_INFO_0:",
- -1, 0);
- break;
- case 1:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- srvsvc_dissect_SHARE_INFO_1,
- NDR_POINTER_UNIQUE, "SHARE_INFO_1:",
- -1, 0);
- break;
- case 2:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- srvsvc_dissect_SHARE_INFO_2,
- NDR_POINTER_UNIQUE, "SHARE_INFO_2:",
- -1, 0);
- break;
- case 502:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- srvsvc_dissect_SHARE_INFO_502,
- NDR_POINTER_UNIQUE, "SHARE_INFO_502:",
- -1, 0);
- break;
- case 1004:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- srvsvc_dissect_SHARE_INFO_1004,
- NDR_POINTER_UNIQUE, "SHARE_INFO_1004:",
- -1, 0);
- break;
- case 1006:
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- srvsvc_dissect_SHARE_INFO_1006,
- NDR_POINTER_UNIQUE, "SHARE_INFO_1006:",
- -1, 0);
- break;
- }
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_pointer_UNICODE_STRING,
+ NDR_POINTER_UNIQUE, "Alternate Name",
+ hf_srvsvc_share_alternate_name, 0);
return offset;
}
+static int
+srvsvc_dissect_SHARE_INFO_1007_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1007);
+ return offset;
+}
/*
- * IDL long NetrShareAdd(
- * IDL [in] [string] [unique] wchar_t *ServerName,
+ * IDL typedef struct {
+ * IDL long EntriesRead;
+ * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1007 *shares;
+ * IDL } SHARE_INFO_1007_CONTAINER;
+ */
+static int
+srvsvc_dissect_SHARE_INFO_1007_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_num_entries, NULL);
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1007_array, NDR_POINTER_UNIQUE,
+ "SHARE_INFO_1007 array:", -1, 0);
+
+ return offset;
+}
+
+/*
+ IDL typedef struct {
+ IDL SECDESC [unique] *securitysecriptor; 4byte-len followed by bytestring
+ IDL } SHARE_INFO_1501;
+*/
+static int
+srvsvc_dissect_SHARE_INFO_1501(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *drep)
+{
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ lsa_dissect_LSA_SECURITY_DESCRIPTOR_data, NDR_POINTER_UNIQUE,
+ "LSA SECURITY DESCRIPTOR data:", -1, 0);
+
+ return offset;
+}
+static int
+srvsvc_dissect_SHARE_INFO_1501_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1501);
+
+ return offset;
+}
+
+/*
+ * IDL typedef struct {
+ * IDL long EntriesRead;
+ * IDL [size_is(EntriesRead)] [unique] SHARE_INFO_1501 *shares;
+ * IDL } SHARE_INFO_1501_CONTAINER;
+ */
+static int
+srvsvc_dissect_SHARE_INFO_1501_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_num_entries, NULL);
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1501_array, NDR_POINTER_UNIQUE,
+ "SHARE_INFO_1501 array:", -1, 0);
+
+ return offset;
+}
+
+
+/*
+ * IDL typedef [switch_type(long)] union {
+ * IDL [case(0)] [unique] SHARE_INFO_0 *share0;
+ * IDL [case(1)] [unique] SHARE_INFO_1 *share1;
+ * IDL [case(2)] [unique] SHARE_INFO_2 *share2;
+ * IDL [case(501)] [unique] SHARE_INFO_501 *share501;
+ * IDL [case(502)] [unique] SHARE_INFO_502 *share502;
+ * IDL [case(1004)] [unique] SHARE_INFO_1004 *share1004;
+ * IDL [case(1005)] [unique] SHARE_INFO_1005 *share1005;
+ * IDL [case(1006)] [unique] SHARE_INFO_1006 *share1006;
+ * IDL [case(1007)] [unique] SHARE_INFO_1007 *share1007;
+ * IDL [case(1501)] [unique] SHARE_INFO_1501 *share1501;
+ * IDL } SHARE_INFO_UNION;
+ */
+static int
+srvsvc_dissect_SHARE_INFO_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ guint32 level;
+
+ ALIGN_TO_4_BYTES;
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_srvsvc_info_level, &level);
+
+ switch(level){
+ case 0:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_0,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_0:",
+ -1, 0);
+ break;
+ case 1:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_1:",
+ -1, 0);
+ break;
+ case 2:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_2,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_2:",
+ -1, 0);
+ break;
+ case 501:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_501,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_501:",
+ -1, 0);
+ break;
+ case 502:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_502,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_502:",
+ -1, 0);
+ break;
+ case 1004:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1004,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_1004:",
+ -1, 0);
+ break;
+ case 1005:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1005,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_1005:",
+ -1, 0);
+ break;
+ case 1006:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1006,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_1006:",
+ -1, 0);
+ break;
+ case 1007:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1007,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_1007:",
+ -1, 0);
+ break;
+ case 1501:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1501,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_1501:",
+ -1, 0);
+ break;
+ }
+
+ return offset;
+}
+
+
+/*
+ * IDL long NetrShareAdd(
+ * IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] long Level,
* IDL [in] [ref] SHARE_INFO_UNION *share,
* IDL [in] [out] [unique] long *ParmError
* IDL );
*/
static int
-srvsvc_dissect_netrshareadd_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrshareadd_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_info_level, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_SHARE_INFO_UNION,
NDR_POINTER_REF, "SHARE_INFO_UNION:",
-1, 0);
return offset;
}
static int
-srvsvc_dissect_netrshareadd_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrshareadd_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
"Parameter Error:", hf_srvsvc_parm_error, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL [case(0)] [unique] SHARE_INFO_0_CONTAINER *share0;
* IDL [case(1)] [unique] SHARE_INFO_1_CONTAINER *share1;
* IDL [case(2)] [unique] SHARE_INFO_2_CONTAINER *share2;
+ * IDL [case(501)] [unique] SHARE_INFO_501_CONTAINER *share501;
* IDL [case(502)] [unique] SHARE_INFO_502_CONTAINER *share502;
* IDL [case(1004)] [unique] SHARE_INFO_1004_CONTAINER *share1004;
+ * IDL [case(1005)] [unique] SHARE_INFO_1005_CONTAINER *share1005;
* IDL [case(1006)] [unique] SHARE_INFO_1006_CONTAINER *share1006;
+ * IDL [case(1007)] [unique] SHARE_INFO_1007_CONTAINER *share1007;
+ * IDL [case(1501)] [unique] SHARE_INFO_1501_CONTAINER *share1501;
* IDL } SHARE_ENUM_UNION;
*/
static int
-srvsvc_dissect_SHARE_ENUM_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_ENUM_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
NDR_POINTER_UNIQUE, "SHARE_INFO_2_CONTAINER:",
-1, 0);
break;
+ case 501:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_501_CONTAINER,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_501_CONTAINER:",
+ -1, 0);
+ break;
case 502:
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_SHARE_INFO_502_CONTAINER,
NDR_POINTER_UNIQUE, "SHARE_INFO_1004_CONTAINER:",
-1, 0);
break;
+ case 1005:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1005_CONTAINER,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_1005_CONTAINER:",
+ -1, 0);
+ break;
case 1006:
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_SHARE_INFO_1006_CONTAINER,
NDR_POINTER_UNIQUE, "SHARE_INFO_1006_CONTAINER:",
-1, 0);
break;
+ case 1007:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1007_CONTAINER,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_1007_CONTAINER:",
+ -1, 0);
+ break;
+ case 1501:
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_INFO_1501_CONTAINER,
+ NDR_POINTER_UNIQUE, "SHARE_INFO_1501_CONTAINER:",
+ -1, 0);
+ break;
}
return offset;
* IDL } SHARE_ENUM_STRUCT;
*/
static int
-srvsvc_dissect_SHARE_ENUM_STRUCT(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SHARE_ENUM_STRUCT(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL );
*/
static int
-srvsvc_dissect_netrshareenum_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrshareenum_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
}
static int
-srvsvc_dissect_netrshareenum_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrshareenum_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_ENUM_HANDLE,
NDR_POINTER_UNIQUE, "Enum Handle", -1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
* IDL );
*/
static int
-srvsvc_dissect_netrsharegetinfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsharegetinfo_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
}
static int
-srvsvc_dissect_netrsharegetinfo_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsharegetinfo_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
NDR_POINTER_REF, "Share",
-1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrShareSetInfo(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *ShareName,
* IDL [in] long Level,
* IDL [in] [ref] SHARE_INFO_UNION *share
- * IDL [in] [unique] long *ParmError,
+ * IDL [in] [out] [unique] long *ParmError,
* IDL );
*/
static int
-srvsvc_dissect_netrsharesetinfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsharesetinfo_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
return offset;
}
+static int
+srvsvc_dissect_netrsharesetinfo_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
+ "Parameter Error:", hf_srvsvc_parm_error, 0);
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrShareDel(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *ShareName,
* IDL );
*/
static int
-srvsvc_dissect_netrsharedel_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsharedel_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_reserved, NULL);
-
+
return offset;
}
+static int
+srvsvc_dissect_netrsharedel_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
-/* XXX dont know the out parameters. only the in parameters.
- *
+ return offset;
+}
+
+/*
* IDL long NetrShareDelSticky(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *ShareName,
* IDL );
*/
static int
-srvsvc_dissect_netrsharedelsticky_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsharedelsticky_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_reserved, NULL);
-
+
+ return offset;
+}
+static int
+srvsvc_dissect_netrsharedelsticky_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
return offset;
}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrShareCheck(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *DeviceName,
+ * IDL [out] long type
* IDL );
*/
static int
-srvsvc_dissect_netrsharecheck_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsharecheck_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Char Device",
hf_srvsvc_chrdev, 0);
-
+
+ return offset;
+}
+static int
+srvsvc_dissect_netrsharecheck_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_share_type, NULL);
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
return offset;
}
* IDL } SERVER_INFO_100;
*/
static int
-srvsvc_dissect_SERVER_INFO_100(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_100(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_platform_id, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
* IDL } SERVER_INFO_101;
*/
static int
-srvsvc_dissect_SERVER_INFO_101(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_101(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_platform_id, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_ver_major, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_ver_minor, NULL);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_server_type, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Comment",
hf_srvsvc_comment, 0);
* IDL } SERVER_INFO_102;
*/
static int
-srvsvc_dissect_SERVER_INFO_102(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_102(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_platform_id, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_ver_major, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_ver_minor, NULL);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_server_type, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Comment",
hf_srvsvc_comment, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_users, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_disc, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_hidden, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_announce, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_anndelta, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_licences, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "User Path",
hf_srvsvc_user_path, 0);
* IDL long lanmask;
* IDL [string] [unique] wchar_t *guestaccount;
* IDL long chdevs;
- * IDL long chdevqs;
+ * IDL long chdevqs;
* IDL long chdevjobs;
* IDL long connections;
* IDL long shares;
* IDL } SERVER_INFO_402;
*/
static int
-srvsvc_dissect_SERVER_INFO_402(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_402(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_ulist_mtime, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_glist_mtime, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_alist_mtime, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Alerts",
hf_srvsvc_alerts, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_security, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_numadmin, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_lanmask, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Guest",
hf_srvsvc_guest, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_chdevs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_chdevqs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_chdevjobs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_connections, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_shares, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_openfiles, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessopens, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessvcs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessreqs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_opensearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_activelocks, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sizreqbufs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_numbigbufs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_numfiletasks, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_alertsched, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_erroralert, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_logonalert, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_accessalert, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_diskalert, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_netioalert, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxauditsz, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server Heuristics",
hf_srvsvc_srvheuristics, 0);
* IDL long lanmask;
* IDL [string] [unique] wchar_t *guestaccount;
* IDL long chdevs;
- * IDL long chdevqs;
+ * IDL long chdevqs;
* IDL long chdevjobs;
* IDL long connections;
* IDL long shares;
* IDL } SERVER_INFO_403;
*/
static int
-srvsvc_dissect_SERVER_INFO_403(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_403(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_ulist_mtime, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_glist_mtime, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_alist_mtime, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Alerts",
hf_srvsvc_alerts, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_security, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_numadmin, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_lanmask, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Guest",
hf_srvsvc_guest, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_chdevs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_chdevqs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_chdevjobs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_connections, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_shares, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_openfiles, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessopens, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessvcs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessreqs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_opensearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_activelocks, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sizreqbufs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_numbigbufs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_numfiletasks, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_alertsched, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_erroralert, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_logonalert, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_accessalert, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_diskalert, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_netioalert, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxauditsz, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server Heuristics",
hf_srvsvc_srvheuristics, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_auditedevents, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_auditprofile, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Autopath",
hf_srvsvc_autopath, 0);
* IDL } SERVER_INFO_502;
*/
static int
-srvsvc_dissect_SERVER_INFO_502(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_502(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessopens, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessvcs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_opensearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sizreqbufs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rawworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_irpstacksize, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxrawbuflen, NULL);
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_users, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_connections, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxpagedmemoryusage, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxnonpagedmemoryusage, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enablesoftcompat, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableforcedlogoff, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_timesource, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_acceptdownlevelapis, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_lmannounce, NULL);
return offset;
* IDL } SERVER_INFO_503;
*/
static int
-srvsvc_dissect_SERVER_INFO_503(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_503(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessopens, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessvcs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_opensearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sizreqbufs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rawworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_irpstacksize, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxrawbuflen, NULL);
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_users, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_connections, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxpagedmemoryusage, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxnonpagedmemoryusage, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enablesoftcompat, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableforcedlogoff, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_timesource, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_acceptdownlevelapis, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_lmannounce, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Domain",
hf_srvsvc_domain, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxcopyreadlen, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxcopywritelen, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minkeepsearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxkeepsearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minkeepcomplsearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxkeepcomplsearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_threadcountadd, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_numblockthreads, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_scavtimeout, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minrcvqueue, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minfreeworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_xactmemsize, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_threadpriority, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxmpxct, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_oplockbreakwait, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_oplockbreakresponsewait, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableoplocks, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableoplockforceclose, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enablefcbopens, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableraw, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enablesharednetdrives, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minfreeconnections, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxfreeconnections, NULL);
return offset;
* IDL } SERVER_INFO_599;
*/
static int
-srvsvc_dissect_SERVER_INFO_599(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_599(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessopens, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessvcs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_opensearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sizreqbufs, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rawworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_irpstacksize, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxrawbuflen, NULL);
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_users, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_connections, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxpagedmemoryusage, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxnonpagedmemoryusage, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enablesoftcompat, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableforcedlogoff, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_timesource, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_acceptdownlevelapis, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_lmannounce, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Domain",
hf_srvsvc_domain, 0);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxcopyreadlen, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxcopywritelen, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minkeepsearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxkeepsearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minkeepcomplsearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxkeepcomplsearch, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_threadcountadd, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_numblockthreads, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_scavtimeout, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minrcvqueue, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minfreeworkitems, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_xactmemsize, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_threadpriority, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxmpxct, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_oplockbreakwait, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_oplockbreakresponsewait, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableoplocks, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableoplockforceclose, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enablefcbopens, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableraw, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enablesharednetdrives, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minfreeconnections, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxfreeconnections, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initsesstable, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initconntable, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initfiletable, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initsearchtable, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_alertsched, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_errortreshold, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_networkerrortreshold, NULL);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_diskspacetreshold, NULL);
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_reserved, NULL);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_reserved, NULL);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxlinkdelay, NULL);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_minlinkthroughput, NULL);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_linkinfovalidtime, NULL);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_scavqosinfoupdatetime, NULL);
-
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxworkitemidletime, NULL);
-
+
return offset;
}
* IDL } SERVER_INFO_1005;
*/
static int
-srvsvc_dissect_SERVER_INFO_1005(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1005(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
* IDL } SERVER_INFO_1010;
*/
static int
-srvsvc_dissect_SERVER_INFO_1010(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1010(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_disc, NULL);
return offset;
* IDL } SERVER_INFO_1016;
*/
static int
-srvsvc_dissect_SERVER_INFO_1016(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1016(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_hidden, NULL);
return offset;
* IDL } SERVER_INFO_1017;
*/
static int
-srvsvc_dissect_SERVER_INFO_1017(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1017(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_announce, NULL);
return offset;
* IDL } SERVER_INFO_1018;
*/
static int
-srvsvc_dissect_SERVER_INFO_1018(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1018(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_anndelta, NULL);
return offset;
* IDL } SERVER_INFO_1107;
*/
static int
-srvsvc_dissect_SERVER_INFO_1107(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1107(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_users, NULL);
return offset;
* IDL } SERVER_INFO_1501;
*/
static int
-srvsvc_dissect_SERVER_INFO_1501(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1501(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessopens, NULL);
return offset;
* IDL } SERVER_INFO_1502;
*/
static int
-srvsvc_dissect_SERVER_INFO_1502(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1502(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_sessvcs, NULL);
return offset;
* IDL } SERVER_INFO_1503;
*/
static int
-srvsvc_dissect_SERVER_INFO_1503(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1503(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_opensearch, NULL);
return offset;
* IDL } SERVER_INFO_1506;
*/
static int
-srvsvc_dissect_SERVER_INFO_1506(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1506(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxworkitems, NULL);
return offset;
* IDL } SERVER_INFO_1509;
*/
static int
-srvsvc_dissect_SERVER_INFO_1509(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1509(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxrawbuflen, NULL);
return offset;
* IDL } SERVER_INFO_1510;
*/
static int
-srvsvc_dissect_SERVER_INFO_1510(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1510(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
* IDL } SERVER_INFO_1511;
*/
static int
-srvsvc_dissect_SERVER_INFO_1511(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1511(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_connections, NULL);
return offset;
* IDL } SERVER_INFO_1512;
*/
static int
-srvsvc_dissect_SERVER_INFO_1512(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1512(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxnonpagedmemoryusage, NULL);
return offset;
* IDL } SERVER_INFO_1513;
*/
static int
-srvsvc_dissect_SERVER_INFO_1513(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1513(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxpagedmemoryusage, NULL);
return offset;
* IDL } SERVER_INFO_1514;
*/
static int
-srvsvc_dissect_SERVER_INFO_1514(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1514(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enablesoftcompat, NULL);
return offset;
* IDL } SERVER_INFO_1515;
*/
static int
-srvsvc_dissect_SERVER_INFO_1515(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1515(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableforcedlogoff, NULL);
return offset;
* IDL } SERVER_INFO_1516;
*/
static int
-srvsvc_dissect_SERVER_INFO_1516(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1516(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_timesource, NULL);
return offset;
* IDL } SERVER_INFO_1518;
*/
static int
-srvsvc_dissect_SERVER_INFO_1518(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1518(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_lmannounce, NULL);
return offset;
* IDL } SERVER_INFO_1520;
*/
static int
-srvsvc_dissect_SERVER_INFO_1520(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1520(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxcopyreadlen, NULL);
return offset;
* IDL } SERVER_INFO_1521;
*/
static int
-srvsvc_dissect_SERVER_INFO_1521(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1521(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxcopywritelen, NULL);
return offset;
* IDL } SERVER_INFO_1522;
*/
static int
-srvsvc_dissect_SERVER_INFO_1522(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1522(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minkeepsearch, NULL);
return offset;
* IDL } SERVER_INFO_1523;
*/
static int
-srvsvc_dissect_SERVER_INFO_1523(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1523(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxkeepsearch, NULL);
return offset;
* IDL } SERVER_INFO_1524;
*/
static int
-srvsvc_dissect_SERVER_INFO_1524(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1524(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minkeepcomplsearch, NULL);
return offset;
* IDL } SERVER_INFO_1525;
*/
static int
-srvsvc_dissect_SERVER_INFO_1525(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1525(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxkeepcomplsearch, NULL);
return offset;
* IDL } SERVER_INFO_1528;
*/
static int
-srvsvc_dissect_SERVER_INFO_1528(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1528(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_scavtimeout, NULL);
return offset;
* IDL } SERVER_INFO_1529;
*/
static int
-srvsvc_dissect_SERVER_INFO_1529(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1529(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minrcvqueue, NULL);
return offset;
* IDL } SERVER_INFO_1530;
*/
static int
-srvsvc_dissect_SERVER_INFO_1530(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1530(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minfreeworkitems, NULL);
return offset;
* IDL } SERVER_INFO_1533;
*/
static int
-srvsvc_dissect_SERVER_INFO_1533(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1533(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxmpxct, NULL);
return offset;
* IDL } SERVER_INFO_1534;
*/
static int
-srvsvc_dissect_SERVER_INFO_1534(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1534(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_oplockbreakwait, NULL);
return offset;
* IDL } SERVER_INFO_1535;
*/
static int
-srvsvc_dissect_SERVER_INFO_1535(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1535(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_oplockbreakresponsewait, NULL);
return offset;
* IDL } SERVER_INFO_1536;
*/
static int
-srvsvc_dissect_SERVER_INFO_1536(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1536(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableoplocks, NULL);
return offset;
* IDL } SERVER_INFO_1537;
*/
static int
-srvsvc_dissect_SERVER_INFO_1537(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1537(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableoplockforceclose, NULL);
return offset;
* IDL } SERVER_INFO_1538;
*/
static int
-srvsvc_dissect_SERVER_INFO_1538(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1538(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enablefcbopens, NULL);
return offset;
* IDL } SERVER_INFO_1539;
*/
static int
-srvsvc_dissect_SERVER_INFO_1539(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1539(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enableraw, NULL);
return offset;
* IDL } SERVER_INFO_1540;
*/
static int
-srvsvc_dissect_SERVER_INFO_1540(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1540(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_enablesharednetdrives, NULL);
return offset;
* IDL } SERVER_INFO_1541;
*/
static int
-srvsvc_dissect_SERVER_INFO_1541(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1541(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minfreeconnections, NULL);
return offset;
* IDL } SERVER_INFO_1542;
*/
static int
-srvsvc_dissect_SERVER_INFO_1542(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1542(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxfreeconnections, NULL);
return offset;
* IDL } SERVER_INFO_1543;
*/
static int
-srvsvc_dissect_SERVER_INFO_1543(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1543(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initsesstable, NULL);
return offset;
* IDL } SERVER_INFO_1544;
*/
static int
-srvsvc_dissect_SERVER_INFO_1544(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1544(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initconntable, NULL);
return offset;
* IDL } SERVER_INFO_1545;
*/
static int
-srvsvc_dissect_SERVER_INFO_1545(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1545(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initfiletable, NULL);
return offset;
* IDL } SERVER_INFO_1546;
*/
static int
-srvsvc_dissect_SERVER_INFO_1546(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1546(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_initsearchtable, NULL);
return offset;
* IDL } SERVER_INFO_1547;
*/
static int
-srvsvc_dissect_SERVER_INFO_1547(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1547(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_alertsched, NULL);
return offset;
* IDL } SERVER_INFO_1548;
*/
static int
-srvsvc_dissect_SERVER_INFO_1548(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1548(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_errortreshold, NULL);
return offset;
* IDL } SERVER_INFO_1549;
*/
static int
-srvsvc_dissect_SERVER_INFO_1549(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1549(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_networkerrortreshold, NULL);
return offset;
* IDL } SERVER_INFO_1550;
*/
static int
-srvsvc_dissect_SERVER_INFO_1550(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1550(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_diskspacetreshold, NULL);
return offset;
* IDL } SERVER_INFO_1552;
*/
static int
-srvsvc_dissect_SERVER_INFO_1552(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1552(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxlinkdelay, NULL);
return offset;
* IDL } SERVER_INFO_1553;
*/
static int
-srvsvc_dissect_SERVER_INFO_1553(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1553(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_minlinkthroughput, NULL);
return offset;
* IDL } SERVER_INFO_1554;
*/
static int
-srvsvc_dissect_SERVER_INFO_1554(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1554(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_linkinfovalidtime, NULL);
return offset;
* IDL } SERVER_INFO_1555;
*/
static int
-srvsvc_dissect_SERVER_INFO_1555(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1555(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_scavqosinfoupdatetime, NULL);
return offset;
* IDL } SERVER_INFO_1556;
*/
static int
-srvsvc_dissect_SERVER_INFO_1556(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_1556(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_maxworkitemidletime, NULL);
return offset;
* IDL } SERVER_INFO_UNION;
*/
static int
-srvsvc_dissect_SERVER_INFO_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_INFO_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
* IDL );
*/
static int
-srvsvc_dissect_netrservergetinfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrservergetinfo_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
return offset;
}
static int
-srvsvc_dissect_netrservergetinfo_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrservergetinfo_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_SERVER_INFO_UNION,
NDR_POINTER_REF, "Server Info",
-1, 0);
- offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
hf_srvsvc_rc, NULL);
return offset;
}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrServerSetInfo(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] long Level,
* IDL [in] [ref] SERVER_INFO_UNION *srv;
- * IDL [in] [unique] long *ParamError;
+ * IDL [in] [out] [unique] long *ParamError;
* IDL );
*/
static int
-srvsvc_dissect_netrserversetinfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrserversetinfo_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_info_level, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_SERVER_INFO_UNION,
NDR_POINTER_REF, "Server Info",
-1, 0);
return offset;
}
+static int
+srvsvc_dissect_netrserversetinfo_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_pointer_long, NDR_POINTER_UNIQUE,
+ "Parameter Error:", hf_srvsvc_parm_error, 0);
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
+
/*
* IDL typedef struct {
* IDL } DISK_INFO_0;
*/
static int
-srvsvc_dissect_DISK_INFO_0(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_DISK_INFO_0(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 len;
return offset;
}
static int
-srvsvc_dissect_DISK_INFO_0_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_DISK_INFO_0_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, drep,
* IDL } DISK_ENUM_CONTAINER;
*/
static int
-srvsvc_dissect_DISK_ENUM_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_DISK_ENUM_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrServerDiskEnum(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] long Level,
- * IDL [in] [ref] DISK_ENUM_CONTAINER *disk;
+ * IDL [in] [out] [ref] DISK_ENUM_CONTAINER *disk;
* IDL [in] long maxlen,
- * IDL [in] [unique] long *resumehandle,
+ * IDL [out] long entries,
+ * IDL [in] [out] [unique] long *resumehandle,
* IDL );
*/
static int
-srvsvc_dissect_netrserverdiskenum_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrserverdiskenum_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_info_level, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_DISK_ENUM_CONTAINER,
NDR_POINTER_REF, "Disks",
-1, 0);
return offset;
}
+static int
+srvsvc_dissect_netrserverdiskenum_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_DISK_ENUM_CONTAINER,
+ NDR_POINTER_REF, "Disks",
+ -1, 0);
-/* XXX dont know the out parameters. only the in parameters.
- *
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_num_entries, NULL);
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_ENUM_HANDLE,
+ NDR_POINTER_UNIQUE, "Enum Handle", -1, 0);
+
+ return offset;
+}
+
+/*
+ * IDL typedef struct {
+ * IDL long start;
+ * IDL long fopens;
+ * IDL long devopens;
+ * IDL long jobsqueued;
+ * IDL long sopens;
+ * IDL long stimeouts;
+ * IDL long serrorout;
+ * IDL long pwerrors;
+ * IDL long permerrors;
+ * IDL long syserrors;
+ * IDL long bytessent_low;
+ * IDL long bytessent_high;
+ * IDL long bytesrcvd_low;
+ * IDL long bytesrcvd_high;
+ * IDL long avresponse;
+ * IDL long reqbufneed;
+ * IDL long bigbufneed;
+ * IDL } SERVER_STAT;
+ */
+
+static int
+srvsvc_dissect_SERVER_STAT(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_start, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_fopens, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_devopens, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_jobsqueued, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_sopens, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_stimeouts, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_serrorout, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_pwerrors, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_permerrors, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_syserrors, NULL);
+
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_bytessent, NULL);
+
+ offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_bytesrcvd, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_avresponse, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_reqbufneed, NULL);
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_server_stat_bigbufneed, NULL);
+
+ return offset;
+}
+
+/*
* IDL long NetrServerStatisticsGet(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [unique] wchar_t *Service,
* IDL [in] long Level,
* IDL [in] long Options,
+ * IDL [out] [ref] SERVER_STAT *stat
* IDL );
*/
static int
-srvsvc_dissect_netrserverstatisticsget_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrserverstatisticsget_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Service",
hf_srvsvc_service, 0);
return offset;
}
+static int
+srvsvc_dissect_netrserverstatisticsget_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SERVER_STAT,
+ NDR_POINTER_REF, "Stat",
+ -1, 0);
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+ return offset;
+}
/*
* IDL typedef struct {
* IDL } TRANSPORT_ADDRESS;
*/
static int
-srvsvc_dissect_TRANSPORT_ADDRESS(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_TRANSPORT_ADDRESS(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
dcerpc_info *di;
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_transport_address_len, &len);
- proto_tree_add_item(tree, hf_srvsvc_transport_address, tvb, offset,
+ proto_tree_add_item(tree, hf_srvsvc_transport_address, tvb, offset,
len, FALSE);
offset += len;
- return len;
+ return offset;
}
/*
* IDL } TRANSPORT_INFO_0;
*/
static int
-srvsvc_dissect_TRANSPORT_INFO_0(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_TRANSPORT_INFO_0(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_srvsvc_transport_numberofvcs, 0);
+ hf_srvsvc_transport_numberofvcs, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- srvsvc_dissect_pointer_UNICODE_STRING,
- NDR_POINTER_UNIQUE, "Name",
- hf_srvsvc_transport_name, 0);
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_pointer_UNICODE_STRING,
+ NDR_POINTER_UNIQUE, "Name",
+ hf_srvsvc_transport_name, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_TRANSPORT_ADDRESS,
NDR_POINTER_UNIQUE, "Transport Address",
-1, 0);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
- hf_srvsvc_transport_address_len, 0);
+ hf_srvsvc_transport_address_len, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
- srvsvc_dissect_pointer_UNICODE_STRING,
- NDR_POINTER_UNIQUE, "Network Address",
- hf_srvsvc_transport_networkaddress, 0);
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_pointer_UNICODE_STRING,
+ NDR_POINTER_UNIQUE, "Network Address",
+ hf_srvsvc_transport_networkaddress, 0);
return offset;
}
static int
-srvsvc_dissect_TRANSPORT_INFO_0_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_TRANSPORT_INFO_0_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SERVER_XPORT_INFO_0_CONTAINER;
*/
static int
-srvsvc_dissect_SERVER_XPORT_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_XPORT_INFO_0_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } TRANSPORT_INFO_1;
*/
static int
-srvsvc_dissect_TRANSPORT_INFO_1(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_TRANSPORT_INFO_1(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_transport_numberofvcs, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Name",
hf_srvsvc_transport_name, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_TRANSPORT_ADDRESS,
NDR_POINTER_UNIQUE, "Transport Address",
-1, 0);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_transport_address_len, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Network Address",
hf_srvsvc_transport_networkaddress, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Domain",
hf_srvsvc_domain, 0);
return offset;
}
static int
-srvsvc_dissect_TRANSPORT_INFO_1_array(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_TRANSPORT_INFO_1_array(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep,
* IDL } SERVER_XPORT_INFO_1_CONTAINER;
*/
static int
-srvsvc_dissect_SERVER_XPORT_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_XPORT_INFO_1_CONTAINER(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
* IDL } SERVER_XPORT_ENUM_UNION;
*/
static int
-srvsvc_dissect_SERVER_XPORT_ENUM_UNION(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_XPORT_ENUM_UNION(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
guint32 level;
* IDL } SERVER_XPORT_ENUM_STRUCT;
*/
static int
-srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrServerTransportAdd(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] long Level,
* IDL );
*/
static int
-srvsvc_dissect_netrservertransportadd_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrservertransportadd_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_info_level, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_TRANSPORT_INFO_0,
NDR_POINTER_REF, "Transports",
-1, 0);
return offset;
}
+static int
+srvsvc_dissect_netrservertransportadd_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+ return offset;
+}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrServerTransportEnum(
* IDL [in] [string] [unique] wchar_t *ServerName,
- * IDL [in] [ref] SERVER_XPORT_ENUM_STRUCT *xport;
+ * IDL [in] [out] [ref] SERVER_XPORT_ENUM_STRUCT *xport;
* IDL [in] long MaxLen,
- * IDL [in] [unique] long *resumehandle;
+ * IDL [out] long entries,
+ * IDL [in] [out] [unique] long *resumehandle;
* IDL );
*/
static int
-srvsvc_dissect_netrservertransportenum_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrservertransportenum_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT,
NDR_POINTER_REF, "Transports",
-1, 0);
return offset;
}
+static int
+srvsvc_dissect_netrservertransportenum_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT,
+ NDR_POINTER_REF, "Transports",
+ -1, 0);
-/* XXX dont know the out parameters. only the in parameters.
- *
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_num_entries, NULL);
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_ENUM_HANDLE,
+ NDR_POINTER_UNIQUE, "Enum Handle", -1, 0);
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
+
+
+/*
* IDL long NetrServerTransportDel(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] long Level,
* IDL );
*/
static int
-srvsvc_dissect_netrservertransportdel_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrservertransportdel_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_info_level, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_TRANSPORT_INFO_0,
NDR_POINTER_REF, "Transports",
-1, 0);
return offset;
}
+static int
+srvsvc_dissect_netrservertransportdel_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
+ * IDL typedef struct {
+ * IDL long elapsed;
+ * IDL long msecs;
+ * IDL long hours;
+ * IDL long mins;
+ * IDL long secs;
+ * IDL long hunds;
+ * IDL long timezone;
+ * IDL long tinterval;
+ * IDL long day;
+ * IDL long month;
+ * IDL long year;
+ * IDL long weekday;
+ * IDL } TIMEOFDAY;
+ */
+static int
+srvsvc_dissect_TIMEOFDAY(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ /*
+ * XXX - is "hf_srvsvc_tod_elapsed" something that should be
+ * processed by "add_abstime_absent_unknown()" from
+ * "packet-smb-pipe.c"? This structure looks similar
+ * to the result of a NetRemoteTOD RAP call, and that has
+ * a "current time" field that's processed by
+ * "add_abstime_absent_unknown()".
+ *
+ * Should other fields, such as the time zone offset and
+ * the time interval, be processed as they are for
+ * "lm_data_resp_netremotetod_nolevel" as well?
+ */
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_elapsed, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_msecs, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_hours, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_mins, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_secs, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_hunds, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_timezone, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_tinterval, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_day, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_month, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_year, NULL);
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_tod_weekday, NULL);
+
+ return offset;
+}
+
+/*
* IDL long NetrRemoteTOD(
* IDL [in] [string] [unique] wchar_t *ServerName,
+ * IDL [out] [unique] TIMEOFDAY *t
* IDL );
*/
static int
-srvsvc_dissect_netrremotetod_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrremotetod_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
return offset;
}
+static int
+srvsvc_dissect_netrremotetod_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_TIMEOFDAY,
+ NDR_POINTER_UNIQUE, "Time of day",
+ -1, 0);
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrSetServerServiceBits(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [unique] wchar_t *Transport,
* IDL );
*/
static int
-srvsvc_dissect_netrsetserverservicebits_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsetserverservicebits_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Transport:",
hf_srvsvc_transport, 0);
return offset;
}
+static int
+srvsvc_dissect_netrsetserverservicebits_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
-/* XXX dont know the out parameters. only the in parameters.
- *
+ return offset;
+}
+
+/*
* IDL long NetrPathType(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *PathName,
* IDL [in] long PathFlags;
+ * IDL [out] long PathType;
* IDL );
*/
static int
-srvsvc_dissect_netrpathtype_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrpathtype_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Path:",
hf_srvsvc_path, 0);
return offset;
}
+static int
+srvsvc_dissect_netrpathtype_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_path_type, NULL);
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrPathCanonicalize(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *PathName,
* IDL [in] long OutBufLen;
* IDL [in] [string] [ref] wchar_t *Prefix,
- * IDL [in] long PathType;
+ * IDL [in] [out] [ref] long *PathType;
* IDL [in] long PathFlags;
* IDL );
*/
static int
-srvsvc_dissect_netrpathcanonicalize_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrpathcanonicalize_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Path:",
hf_srvsvc_path, 0);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_outbuflen, NULL);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Prefix:",
hf_srvsvc_prefix, 0);
return offset;
}
+static int
+srvsvc_dissect_netrpathcanonicalize_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ guint32 len;
+ dcerpc_info *di;
+ int old_offset;
+ int data16_offset;
+ char *text;
-/* XXX dont know the out parameters. only the in parameters.
- *
+ di=pinfo->private_data;
+ if(di->conformant_run){
+ /* this call is to make ethereal eat the array header for the conformant run */
+ offset =dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, NULL);
+
+ return offset;
+ }
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_path_len, &len);
+
+ old_offset=offset;
+ offset = prs_uint16s(tvb, offset, pinfo, tree, len, &data16_offset,
+ NULL);
+ text = fake_unicode(tvb, data16_offset, len);
+
+ proto_tree_add_string(tree, hf_srvsvc_path, tvb, old_offset,
+ offset-old_offset, text);
+
+ g_free(text);
+
+
+
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_path_type, NULL);
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
+
+
+/*
* IDL long NetrPathCompare(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *PathName1,
* IDL );
*/
static int
-srvsvc_dissect_netrpathcompare_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrpathcompare_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Path 1:",
hf_srvsvc_path, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Path 2:",
hf_srvsvc_path, 0);
return offset;
}
+static int
+srvsvc_dissect_netrpathcompare_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
-/* XXX dont know the out parameters. only the in parameters.
- *
+ return offset;
+}
+
+
+/*
* IDL long NetrNameValidate(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *PathName,
* IDL );
*/
static int
-srvsvc_dissect_netrnamevalidate_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrnamevalidate_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Path:",
hf_srvsvc_path, 0);
return offset;
}
+static int
+srvsvc_dissect_netrnamevalidate_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrNameCanonicalize(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *PathName,
- * IDL [in] long OutBufLen;
- * IDL [in] long PathType;
- * IDL [in] long PathFlags;
+ * IDL [in] long OutBufLen,
+ * IDL [in] long PathType,
+ * IDL [in] long PathFlags,
+ * IDL [out] [ref] *PathName
* IDL );
*/
static int
-srvsvc_dissect_netrnamecanonicalize_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrnamecanonicalize_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Path:",
hf_srvsvc_path, 0);
return offset;
}
+static int
+srvsvc_dissect_netrnamecanonicalize_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ guint32 len;
+ dcerpc_info *di;
+ int old_offset;
+ int data16_offset;
+ char *text;
-/* XXX dont know the out parameters. only the in parameters.
- *
+ di=pinfo->private_data;
+ if(di->conformant_run){
+ /* this call is to make ethereal eat the array header for the conformant run */
+ offset =dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, NULL);
+
+ return offset;
+ }
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_path_len, &len);
+
+ old_offset=offset;
+ offset = prs_uint16s(tvb, offset, pinfo, tree, len, &data16_offset,
+ NULL);
+ text = fake_unicode(tvb, data16_offset, len);
+
+ proto_tree_add_string(tree, hf_srvsvc_path, tvb, old_offset,
+ offset-old_offset, text);
+
+ g_free(text);
+
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
+
+
+/*
* IDL long NetrNameCompare(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *PathName1,
* IDL );
*/
static int
-srvsvc_dissect_netrnamecompare_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrnamecompare_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Path 1:",
hf_srvsvc_path, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Path 2:",
hf_srvsvc_path, 0);
return offset;
}
+static int
+srvsvc_dissect_netrnamecompare_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
-/* XXX dont know the out parameters. only the in parameters.
- *
+
+/*
* IDL long NetrShareEnumSticky(
* IDL [in] [string] [unique] wchar_t *ServerName,
- * IDL [in] [ref] SHARE_ENUM_STRUCT *share,
+ * IDL [in] [out] [ref] SHARE_ENUM_STRUCT *share,
* IDL [in] long MaxLen,
- * IDL [in] [unique] *ResumeHandle
+ * IDL [out] long Entries,
+ * IDL [in] [out] [unique] *ResumeHandle
* IDL );
*/
static int
-srvsvc_dissect_netrshareenumsticky_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrshareenumsticky_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
return offset;
}
+static int
+srvsvc_dissect_netrshareenumsticky_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_SHARE_ENUM_STRUCT,
+ NDR_POINTER_REF, "Shares",
+ -1, 0);
-/* XXX dont know the out parameters. only the in parameters.
- *
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_num_entries, NULL);
+
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ srvsvc_dissect_ENUM_HANDLE,
+ NDR_POINTER_UNIQUE, "Enum Handle", -1, 0);
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
+
+
+/*
* IDL long NetrShareDelStart(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [ref] wchar_t *Share,
- * IDL long reserved;
+ * IDL [in] long reserved,
+ * IDL [out] [context_handle] hnd
* IDL );
*/
static int
-srvsvc_dissect_netrsharedelstart_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsharedelstart_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Share",
hf_srvsvc_share, 0);
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_srvsvc_reserved, NULL);
-
+
+ return offset;
+}
+static int
+srvsvc_dissect_netrsharedelstart_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_hnd, NULL, TRUE, FALSE);
+
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
return offset;
}
-/* XXX dont know the out parameters. only the in parameters.
- *
+/*
* IDL long NetrShareDelCommit(
- * IDL [in] contect_handle
+ * IDL [in] [out] [contect_handle] h
* IDL );
*/
static int
-srvsvc_dissect_netrsharedelcommit_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsharedelcommit_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_hnd, NULL, TRUE, FALSE);
+
+ return offset;
+}
+static int
+srvsvc_dissect_netrsharedelcommit_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
hf_srvsvc_hnd, NULL, TRUE, FALSE);
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
return offset;
}
+
/* XXX dont know the out parameters. only the in parameters.
*
* IDL long NetrGetFileSecurity(
* IDL [in] [string] [unique] wchar_t *Share,
* IDL [in] [string] [ref] wchar_t *File,
* IDL [in] long requetedinformation
+ * IDL [out] [ref] SECDESC *securitysecriptor; 4byte-len followed by bytestring
* IDL );
*/
static int
-srvsvc_dissect_netrgetfilesecurity_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrgetfilesecurity_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Share",
hf_srvsvc_share, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Path",
hf_srvsvc_path, 0);
return offset;
}
+static int
+srvsvc_dissect_netrgetfilesecurity_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ lsa_dissect_LSA_SECURITY_DESCRIPTOR_data, NDR_POINTER_REF,
+ "LSA SECURITY DESCRIPTOR data:", -1, 0);
-/* XXX dont know the out parameters. only the in parameters.
- *
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+
+ return offset;
+}
+
+
+/*
* IDL long NetrSetFileSecurity(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [unique] wchar_t *Share,
* IDL );
*/
static int
-srvsvc_dissect_netrsetfilesecurity_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrsetfilesecurity_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Share",
hf_srvsvc_share, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_REF, "Path",
hf_srvsvc_path, 0);
return offset;
}
+static int
+srvsvc_dissect_netrsetfilesecurity_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
-/* XXX dont know the out parameters. only the in parameters.
- *
+ return offset;
+}
+
+
+/*
* IDL long NetrServerTransportAddEx(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] long Level
* IDL );
*/
static int
-srvsvc_dissect_netrservertransportaddex_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrservertransportaddex_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
hf_srvsvc_info_level, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_SERVER_XPORT_ENUM_STRUCT,
NDR_POINTER_REF, "Transports",
-1, 0);
return offset;
}
+static int
+srvsvc_dissect_netrservertransportaddex_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
-/* XXX dont know the out parameters. only the in parameters.
- *
+ return offset;
+}
+
+
+/*
* IDL long NetrServerSetServiceBits2(
* IDL [in] [string] [unique] wchar_t *ServerName,
* IDL [in] [string] [unique] wchar_t *EmulatedServerName,
* IDL );
*/
static int
-srvsvc_dissect_netrserversetservicebits2_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree,
+srvsvc_dissect_netrserversetservicebits2_rqst(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
char *drep)
{
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Server",
hf_srvsvc_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Emulated Server",
hf_srvsvc_emulated_server, 0);
- offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
srvsvc_dissect_pointer_UNICODE_STRING,
NDR_POINTER_UNIQUE, "Transport:",
hf_srvsvc_transport, 0);
return offset;
}
+static int
+srvsvc_dissect_netrserversetservicebits2_reply(tvbuff_t *tvb, int offset,
+ packet_info *pinfo, proto_tree *tree,
+ char *drep)
+{
+ offset = dissect_doserror(tvb, offset, pinfo, tree, drep,
+ hf_srvsvc_rc, NULL);
+ return offset;
+}
+/*
+ IDL }
+*/
static dcerpc_sub_dissector dcerpc_srvsvc_dissectors[] = {
{SRV_NETRCHARDEVENUM, "NetrCharDevEnum",
srvsvc_dissect_netrchardevenum_rqst,
srvsvc_dissect_netrsharegetinfo_reply},
{SRV_NETRSHARESETINFO, "NetrShareSetInfo",
srvsvc_dissect_netrsharesetinfo_rqst,
- NULL},
+ srvsvc_dissect_netrsharesetinfo_reply},
{SRV_NETRSHAREDEL, "NetrShareDel",
srvsvc_dissect_netrsharedel_rqst,
- NULL},
+ srvsvc_dissect_netrsharedel_reply},
{SRV_NETRSHAREDELSTICKY, "NetrShareDelSticky",
srvsvc_dissect_netrsharedelsticky_rqst,
- NULL},
+ srvsvc_dissect_netrsharedelsticky_reply},
{SRV_NETRSHARECHECK, "NetrShareCheck",
srvsvc_dissect_netrsharecheck_rqst,
- NULL},
+ srvsvc_dissect_netrsharecheck_reply},
{SRV_NETRSERVERGETINFO, "NetrServerGetInfo",
- srvsvc_dissect_netrservergetinfo_rqst,
+ srvsvc_dissect_netrservergetinfo_rqst,
srvsvc_dissect_netrservergetinfo_reply},
{SRV_NETRSERVERSETINFO, "NetrServerSetInfo",
- srvsvc_dissect_netrserversetinfo_rqst,
- NULL},
+ srvsvc_dissect_netrserversetinfo_rqst,
+ srvsvc_dissect_netrserversetinfo_reply},
{SRV_NETRSERVERDISKENUM, "NetrServerDiskEnum",
- srvsvc_dissect_netrserverdiskenum_rqst,
- NULL},
+ srvsvc_dissect_netrserverdiskenum_rqst,
+ srvsvc_dissect_netrserverdiskenum_reply},
{SRV_NETRSERVERSTATISTICSGET, "NetrServerStatisticsGet",
- srvsvc_dissect_netrserverstatisticsget_rqst,
- NULL},
+ srvsvc_dissect_netrserverstatisticsget_rqst,
+ srvsvc_dissect_netrserverstatisticsget_reply},
{SRV_NETRSERVERTRANSPORTADD, "NetrServerTransportAdd",
- srvsvc_dissect_netrservertransportadd_rqst,
- NULL},
+ srvsvc_dissect_netrservertransportadd_rqst,
+ srvsvc_dissect_netrservertransportadd_reply},
{SRV_NETRSERVERTRANSPORTENUM, "NetrServerTransportEnum",
- srvsvc_dissect_netrservertransportenum_rqst,
- NULL},
+ srvsvc_dissect_netrservertransportenum_rqst,
+ srvsvc_dissect_netrservertransportenum_reply},
{SRV_NETRSERVERTRANSPORTDEL, "NetrServerTransportDel",
- srvsvc_dissect_netrservertransportdel_rqst,
- NULL},
+ srvsvc_dissect_netrservertransportdel_rqst,
+ srvsvc_dissect_netrservertransportdel_reply},
{SRV_NETRREMOTETOD, "NetrRemoteTOD",
- srvsvc_dissect_netrremotetod_rqst,
- NULL},
+ srvsvc_dissect_netrremotetod_rqst,
+ srvsvc_dissect_netrremotetod_reply},
{SRV_NETRSERVERSETSERVICEBITS, "NetrServerSetServiceBits",
- srvsvc_dissect_netrsetserverservicebits_rqst,
- NULL},
+ srvsvc_dissect_netrsetserverservicebits_rqst,
+ srvsvc_dissect_netrsetserverservicebits_reply},
{SRV_NETRPRPATHTYPE, "NetrPathType",
- srvsvc_dissect_netrpathtype_rqst,
- NULL},
+ srvsvc_dissect_netrpathtype_rqst,
+ srvsvc_dissect_netrpathtype_reply},
{SRV_NETRPRPATHCANONICALIZE, "NetrpPathCanonicalize",
- srvsvc_dissect_netrpathcanonicalize_rqst,
- NULL},
+ srvsvc_dissect_netrpathcanonicalize_rqst,
+ srvsvc_dissect_netrpathcanonicalize_reply},
{SRV_NETRPRPATHCOMPARE, "NetrpPathCompare",
- srvsvc_dissect_netrpathcompare_rqst,
- NULL},
+ srvsvc_dissect_netrpathcompare_rqst,
+ srvsvc_dissect_netrpathcompare_reply},
{SRV_NETRPRNAMEVALIDATE, "NetrpNameValidate",
- srvsvc_dissect_netrnamevalidate_rqst,
- NULL},
+ srvsvc_dissect_netrnamevalidate_rqst,
+ srvsvc_dissect_netrnamevalidate_reply},
{SRV_NETRPRNAMECANONICALIZE, "NetrpNameCanonicalize",
- srvsvc_dissect_netrnamecanonicalize_rqst,
- NULL},
+ srvsvc_dissect_netrnamecanonicalize_rqst,
+ srvsvc_dissect_netrnamecanonicalize_reply},
{SRV_NETRPRNAMECOMPARE, "NetrpNameCompare",
- srvsvc_dissect_netrnamecompare_rqst,
- NULL},
+ srvsvc_dissect_netrnamecompare_rqst,
+ srvsvc_dissect_netrnamecompare_reply},
{SRV_NETRSHAREENUMSTICKY, "NetrShareEnumSticky",
- srvsvc_dissect_netrshareenumsticky_rqst,
- NULL},
+ srvsvc_dissect_netrshareenumsticky_rqst,
+ srvsvc_dissect_netrshareenumsticky_reply},
{SRV_NETRSHAREDELSTART, "NetrShareDelStart",
- srvsvc_dissect_netrsharedelstart_rqst,
- NULL},
+ srvsvc_dissect_netrsharedelstart_rqst,
+ srvsvc_dissect_netrsharedelstart_reply},
{SRV_NETRSHAREDELCOMMIT, "NetrShareDelCommit",
- srvsvc_dissect_netrsharedelcommit_rqst,
- NULL},
+ srvsvc_dissect_netrsharedelcommit_rqst,
+ srvsvc_dissect_netrsharedelcommit_reply},
{SRV_NETRPGETFILESECURITY, "NetrpGetFileSecurity",
- srvsvc_dissect_netrgetfilesecurity_rqst,
- NULL},
+ srvsvc_dissect_netrgetfilesecurity_rqst,
+ srvsvc_dissect_netrgetfilesecurity_reply},
{SRV_NETRPSETFILESECURITY, "NetrpSetFileSecurity",
- srvsvc_dissect_netrsetfilesecurity_rqst,
- NULL},
+ srvsvc_dissect_netrsetfilesecurity_rqst,
+ srvsvc_dissect_netrsetfilesecurity_reply},
{SRV_NETRSERVERTRANSPORTADDEX, "NetrServerTransportAddEx",
- srvsvc_dissect_netrservertransportaddex_rqst,
- NULL},
+ srvsvc_dissect_netrservertransportaddex_rqst,
+ srvsvc_dissect_netrservertransportaddex_reply},
{SRV_NETRSERVERSETSERVICEBITS2, "NetrServerSetServiceBits2",
- srvsvc_dissect_netrserversetservicebits2_rqst,
- NULL},
+ srvsvc_dissect_netrserversetservicebits2_rqst,
+ srvsvc_dissect_netrserversetservicebits2_reply},
{0, NULL, NULL, NULL}
};
{ 0, NULL }
};
-void
+static const value_string srvsvc_opnum_vals[] = {
+ {SRV_NETRCHARDEVENUM, "NetrCharDevEnum" },
+ {SRV_NETRCHARDEVGETINFO, "NetrCharDevGetInfo" },
+ {SRV_NETRCHARDEVCONTROL, "NetrCharDevControl" },
+ {SRV_NETRCHARDEVQENUM, "NetrCharDevQEnum" },
+ {SRV_NETRCHARDEVQGETINFO, "NetrCharDevQGetInfo" },
+ {SRV_NETRCHARDEVQSETINFO, "NetrCharDevQSetInfo" },
+ {SRV_NETRCHARDEVQPURGE, "NetrCharDevQPurge" },
+ {SRV_NETRCHARDEVQPURGESELF, "NetrCharDevQPurgeSelf" },
+ {SRV_NETRCONNECTIONENUM, "NetrConnectionEnum" },
+ {SRV_NETRFILEENUM, "NetrFileEnum" },
+ {SRV_NETRFILEGETINFO, "NetrFileGetInfo" },
+ {SRV_NETRFILECLOSE, "NetrFileClose" },
+ {SRV_NETRSESSIONENUM, "NetrSessionEnum" },
+ {SRV_NETRSESSIONDEL, "NetrSessionDel" },
+ {SRV_NETRSHAREADD, "NetrShareAdd" },
+ {SRV_NETRSHAREENUM, "NetrShareEnum" },
+ {SRV_NETRSHAREGETINFO, "NetrShareGetInfo" },
+ {SRV_NETRSHARESETINFO, "NetrShareSetInfo" },
+ {SRV_NETRSHAREDEL, "NetrShareDel" },
+ {SRV_NETRSHAREDELSTICKY, "NetrShareDelSticky" },
+ {SRV_NETRSHARECHECK, "NetrShareCheck" },
+ {SRV_NETRSERVERGETINFO, "NetrServerGetInfo" },
+ {SRV_NETRSERVERSETINFO, "NetrServerSetInfo" },
+ {SRV_NETRSERVERDISKENUM, "NetrServerDiskEnum" },
+ {SRV_NETRSERVERSTATISTICSGET, "NetrServerStatisticsGet" },
+ {SRV_NETRSERVERTRANSPORTADD, "NetrServerTransportAdd" },
+ {SRV_NETRSERVERTRANSPORTENUM, "NetrServerTransportEnum" },
+ {SRV_NETRSERVERTRANSPORTDEL, "NetrServerTransportDel" },
+ {SRV_NETRREMOTETOD, "NetrRemoteTOD" },
+ {SRV_NETRSERVERSETSERVICEBITS, "NetrServerSetServiceBits" },
+ {SRV_NETRPRPATHTYPE, "NetrPathType" },
+ {SRV_NETRPRPATHCANONICALIZE, "NetrpPathCanonicalize" },
+ {SRV_NETRPRPATHCOMPARE, "NetrpPathCompare" },
+ {SRV_NETRPRNAMEVALIDATE, "NetrpNameValidate" },
+ {SRV_NETRPRNAMECANONICALIZE, "NetrpNameCanonicalize" },
+ {SRV_NETRPRNAMECOMPARE, "NetrpNameCompare" },
+ {SRV_NETRSHAREENUMSTICKY, "NetrShareEnumSticky" },
+ {SRV_NETRSHAREDELSTART, "NetrShareDelStart" },
+ {SRV_NETRSHAREDELCOMMIT, "NetrShareDelCommit" },
+ {SRV_NETRPGETFILESECURITY, "NetrpGetFileSecurity" },
+ {SRV_NETRPSETFILESECURITY, "NetrpSetFileSecurity" },
+ {SRV_NETRSERVERTRANSPORTADDEX, "NetrServerTransportAddEx" },
+ {SRV_NETRSERVERSETSERVICEBITS2, "NetrServerSetServiceBits2" },
+ {0, NULL }
+};
+
+void
proto_register_dcerpc_srvsvc(void)
{
static hf_register_info hf[] = {
+ { &hf_srvsvc_opnum,
+ { "Operation", "srvsvc.opnum", FT_UINT16, BASE_DEC,
+ VALS(srvsvc_opnum_vals), 0x0, "Operation", HFILL }},
{ &hf_srvsvc_server,
{ "Server", "srvsvc.server", FT_STRING, BASE_NONE,
NULL, 0x0, "Server Name", HFILL}},
{ &hf_srvsvc_share_passwd,
{ "Share Passwd", "srvsvc.share_passwd", FT_STRING, BASE_NONE,
NULL, 0x0, "Password for this share", HFILL}},
+ { &hf_srvsvc_share_alternate_name,
+ { "Alternate Name", "srvsvc.share_alternate_name", FT_STRING, BASE_NONE,
+ NULL, 0x0, "Alternate name for this share", HFILL}},
{ &hf_srvsvc_chrdev_status,
{ "Status", "srvsvc.chrdev_status", FT_UINT32, BASE_HEX,
NULL, 0x0, "Char Device Status", HFILL}},
{ "Time", "srvsvc.chrdev_time", FT_UINT32, BASE_DEC,
NULL, 0x0, "Char Device Time?", HFILL}},
{ &hf_srvsvc_info_level,
- { "Info Level", "svrsvc.info_level", FT_UINT32,
+ { "Info Level", "svrsvc.info_level", FT_UINT32,
BASE_DEC, NULL, 0x0, "Info Level", HFILL}},
{ &hf_srvsvc_rc,
- { "Return code", "srvsvc.rc", FT_UINT32,
- BASE_HEX, VALS(NT_errors), 0x0, "Return Code", HFILL}},
+ { "Return code", "srvsvc.rc", FT_UINT32,
+ BASE_HEX, VALS(DOS_errors), 0x0, "Return Code", HFILL}},
{ &hf_srvsvc_platform_id,
{ "Platform ID", "srvsvc.info.platform_id", FT_UINT32,
{ &hf_srvsvc_ver_minor,
{ "Minor Version", "srvsvc.version.minor", FT_UINT32,
BASE_DEC, NULL, 0x0, "Minor Version", HFILL}},
- /* XXX - Should break this out. We know it from browsing. */
+ /* XXX - Should break this out. We know it from browsing.
+ See "dissect_smb_server_type_flags()"
+ in "packet-smb-browse.c" */
{ &hf_srvsvc_server_type,
{ "Server Type", "srvsvc.server.type", FT_UINT32,
BASE_HEX, NULL, 0x0, "Server Type", HFILL}},
{ &hf_srvsvc_client_type,
- { "Client Type", "srvsvc.Client.type", FT_STRING,
+ { "Client Type", "srvsvc.client.type", FT_STRING,
BASE_NONE, NULL, 0x0, "Client Type", HFILL}},
- { &hf_srvsvc_comment,
+ { &hf_srvsvc_comment,
{ "Comment", "srvsvc.comment", FT_STRING,
BASE_NONE, NULL, 0x0, "Comment", HFILL}},
{ &hf_srvsvc_users,
{ &hf_srvsvc_user_path,
{ "User Path", "srvsvc.user_path", FT_STRING,
BASE_NONE, NULL, 0x0, "User Path", HFILL}},
- { &hf_srvsvc_share,
+ { &hf_srvsvc_share,
{ "Share", "srvsvc.share", FT_STRING,
BASE_NONE, NULL, 0x0, "Share", HFILL}},
{ &hf_srvsvc_share_type,
- { "Share Type", "srvsvc.share_type", FT_UINT32,
+ { "Share Type", "srvsvc.share_type", FT_UINT32,
BASE_HEX, VALS(share_type_vals), 0x0, "Share Type", HFILL}},
{ &hf_srvsvc_file_id,
{ "File ID", "srvsvc.file_id", FT_UINT32,
{ &hf_srvsvc_perm,
{ "Permissions", "srvsvc.perm", FT_UINT32,
BASE_HEX, NULL, 0x0, "Permissions", HFILL}},
+ { &hf_srvsvc_dfs_root_flags,
+ { "DFS Root Flags", "srvsvc.dfs_root_flags", FT_UINT32,
+ BASE_HEX, NULL, 0x0, "DFS Root Flags. Contact ethereal developers if you know what the bits are", HFILL}},
+ { &hf_srvsvc_policy,
+ { "Policy", "srvsvc.policy", FT_UINT32,
+ BASE_HEX, NULL, 0x0, "Policy", HFILL}},
{ &hf_srvsvc_file_num_locks,
{ "Num Locks", "srvsvc.file_num_locks", FT_UINT32,
BASE_DEC, NULL, 0x0, "Number of locks for file", HFILL}},
{ &hf_srvsvc_parm_error,
{ "Parameter Error", "srvsvc.parm_error", FT_UINT32,
BASE_DEC, NULL, 0x0, "Parameter Error", HFILL}},
- { &hf_srvsvc_enum_handle,
+ { &hf_srvsvc_enum_handle,
{ "Enumeration handle", "srvsvc.enum_hnd", FT_BYTES,
BASE_HEX, NULL, 0x0, "Enumeration Handle", HFILL}},
{ &hf_srvsvc_irpstacksize,
{ "Address Len", "srvsvc.transport.addresslen", FT_UINT32,
BASE_DEC, NULL, 0x0, "Length of transport address", HFILL}},
{ &hf_srvsvc_transport_networkaddress,
- { "Network Address", "srvsvc.transport.networkaddress", FT_UINT32,
+ { "Network Address", "srvsvc.transport.networkaddress", FT_STRING,
BASE_HEX, NULL, 0x0, "Network address for transport", HFILL}},
{ &hf_srvsvc_service_bits,
{ "Service Bits", "srvsvc.service_bits", FT_UINT32,
{ &hf_srvsvc_path_flags,
{ "Flags", "srvsvc.path_flags", FT_UINT32,
BASE_HEX, NULL, 0x0, "Path flags", HFILL}},
+ { &hf_srvsvc_share_flags,
+ { "Flags", "srvsvc.share_flags", FT_UINT32,
+ BASE_HEX, NULL, 0x0, "Share flags", HFILL}},
{ &hf_srvsvc_path_type,
{ "Type", "srvsvc.path_type", FT_UINT32,
BASE_DEC, NULL, 0x0, "Path type", HFILL}},
+ { &hf_srvsvc_path_len,
+ { "Len", "srvsvc.path_len", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Path len", HFILL}},
{ &hf_srvsvc_outbuflen,
{ "OutBufLen", "srvsvc.outbuflen", FT_UINT32,
BASE_DEC, NULL, 0x0, "Output Buffer Length", HFILL}},
{ &hf_srvsvc_prefix,
- { "Prefix", "srvsvc.prefix", FT_UINT32,
+ { "Prefix", "srvsvc.prefix", FT_STRING,
BASE_HEX, NULL, 0x0, "Path Prefix", HFILL}},
{ &hf_srvsvc_hnd,
{ "Context Handle", "srvsvc.hnd", FT_BYTES,
BASE_NONE, NULL, 0x0, "Context Handle", HFILL}},
+ { &hf_srvsvc_server_stat_start,
+ { "Start", "srvsvc.server_stat.start", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_server_stat_fopens,
+ { "Fopens", "srvsvc.server_stat.fopens", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of fopens", HFILL}},
+ { &hf_srvsvc_server_stat_devopens,
+ { "Devopens", "srvsvc.server_stat.devopens", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of devopens", HFILL}},
+ { &hf_srvsvc_server_stat_jobsqueued,
+ { "Jobs Queued", "srvsvc.server_stat.jobsqueued", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of jobs queued", HFILL}},
+ { &hf_srvsvc_server_stat_sopens,
+ { "Sopens", "srvsvc.server_stat.sopens", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of sopens", HFILL}},
+ { &hf_srvsvc_server_stat_stimeouts,
+ { "stimeouts", "srvsvc.server_stat.stimeouts", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of stimeouts", HFILL}},
+ { &hf_srvsvc_server_stat_serrorout,
+ { "Serrorout", "srvsvc.server_stat.serrorout", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of serrorout", HFILL}},
+ { &hf_srvsvc_server_stat_pwerrors,
+ { "Pwerrors", "srvsvc.server_stat.pwerrors", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of password errors", HFILL}},
+ { &hf_srvsvc_server_stat_permerrors,
+ { "Permerrors", "srvsvc.server_stat.permerrors", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of permission errors", HFILL}},
+ { &hf_srvsvc_server_stat_syserrors,
+ { "Syserrors", "srvsvc.server_stat.syserrors", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of system errors", HFILL}},
+ { &hf_srvsvc_server_stat_bytessent,
+ { "Bytes Sent", "srvsvc.server_stat.bytessent", FT_UINT64,
+ BASE_DEC, NULL, 0x0, "Number of bytes sent", HFILL}},
+ { &hf_srvsvc_server_stat_bytesrcvd,
+ { "Bytes Rcvd", "srvsvc.server_stat.bytesrcvd", FT_UINT64,
+ BASE_DEC, NULL, 0x0, "Number of bytes received", HFILL}},
+ { &hf_srvsvc_server_stat_avresponse,
+ { "Avresponse", "srvsvc.server_stat.avresponse", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_server_stat_reqbufneed,
+ { "Req Buf Need", "srvsvc.server_stat.reqbufneed", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of request buffers needed?", HFILL}},
+ { &hf_srvsvc_server_stat_bigbufneed,
+ { "Big Buf Need", "srvsvc.server_stat.bigbufneed", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "Number of big buffers needed?", HFILL}},
+ { &hf_srvsvc_tod_elapsed,
+ { "Elapsed", "srvsvc.tod.elapsed", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_msecs,
+ { "msecs", "srvsvc.tod.msecs", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_hours,
+ { "Hours", "srvsvc.tod.hours", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_mins,
+ { "Mins", "srvsvc.tod.mins", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_secs,
+ { "Secs", "srvsvc.tod.secs", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_hunds,
+ { "Hunds", "srvsvc.tod.hunds", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_timezone,
+ { "Timezone", "srvsvc.tod.timezone", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_tinterval,
+ { "Tinterval", "srvsvc.tod.tinterval", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_day,
+ { "Day", "srvsvc.tod.day", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_month,
+ { "Month", "srvsvc.tod.month", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_year,
+ { "Year", "srvsvc.tod.year", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
+ { &hf_srvsvc_tod_weekday,
+ { "Weekday", "srvsvc.tod.weekday", FT_UINT32,
+ BASE_DEC, NULL, 0x0, "", HFILL}},
};
static gint *ett[] = {
&ett_dcerpc_srvsvc,
&ett_srvsvc_share_info_1,
&ett_srvsvc_share_info_2,
+ &ett_srvsvc_share_info_501,
&ett_srvsvc_share_info_502
};
{
/* Register protocol as dcerpc */
- dcerpc_init_uuid(proto_dcerpc_srvsvc, ett_dcerpc_srvsvc,
- &uuid_dcerpc_srvsvc, ver_dcerpc_srvsvc,
- dcerpc_srvsvc_dissectors);
+ dcerpc_init_uuid(proto_dcerpc_srvsvc, ett_dcerpc_srvsvc,
+ &uuid_dcerpc_srvsvc, ver_dcerpc_srvsvc,
+ dcerpc_srvsvc_dissectors, hf_srvsvc_opnum);
}
-