2014-04-04 22:13:05 +00:00
/* DO NOT EDIT
This file was automatically generated by Pidl
from mdssvc . idl and mdssvc . cnf .
2014-09-18 04:10:51 +00:00
2014-04-04 22:13:05 +00:00
Pidl is a perl based IDL compiler for DCE / RPC idl files .
It is maintained by the Samba team , not the Wireshark team .
Instructions on how to download and install Pidl can be
2015-06-23 17:55:22 +00:00
found at https : //wiki.wireshark.org/Pidl
2014-04-04 22:13:05 +00:00
*/
# include "config.h"
# include <glib.h>
# include <string.h>
# include <epan/packet.h>
2016-04-15 17:16:16 +00:00
DIAG_OFF ( unused - parameter )
2014-04-04 22:13:05 +00:00
# include "packet-dcerpc.h"
# include "packet-dcerpc-nt.h"
# include "packet-windows-common.h"
# include "packet-dcerpc-mdssvc.h"
2014-09-26 16:47:53 +00:00
void proto_register_dcerpc_mdssvc ( void ) ;
void proto_reg_handoff_dcerpc_mdssvc ( void ) ;
2014-04-04 22:13:05 +00:00
/* Ett declarations */
static gint ett_dcerpc_mdssvc = - 1 ;
static gint ett_mdssvc_mdssvc_blob = - 1 ;
/* Header field declarations */
2014-11-03 23:03:01 +00:00
static gint hf_mdssvc_mdssvc_blob_length = - 1 ;
static gint hf_mdssvc_mdssvc_blob_size = - 1 ;
static gint hf_mdssvc_mdssvc_blob_spotlight_blob = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_device_id = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_flags = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_max_fragment_size1 = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_max_fragment_size2 = - 1 ;
2014-09-27 01:27:30 +00:00
static gint hf_mdssvc_mdssvc_cmd_request_blob = - 1 ;
2014-11-03 23:03:01 +00:00
static gint hf_mdssvc_mdssvc_cmd_response_blob = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_share_handle = - 1 ;
2014-09-27 01:27:30 +00:00
static gint hf_mdssvc_mdssvc_cmd_status = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_unkn1 = - 1 ;
2014-09-20 02:23:27 +00:00
static gint hf_mdssvc_mdssvc_cmd_unkn3 = - 1 ;
2014-11-03 23:03:01 +00:00
static gint hf_mdssvc_mdssvc_cmd_unkn4 = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_unkn5 = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_unkn6 = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_unkn7 = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_unkn8 = - 1 ;
static gint hf_mdssvc_mdssvc_cmd_unkn9 = - 1 ;
static gint hf_mdssvc_mdssvc_open_device_id = - 1 ;
2014-09-20 02:23:27 +00:00
static gint hf_mdssvc_mdssvc_open_share_handle = - 1 ;
static gint hf_mdssvc_mdssvc_open_share_mount_path = - 1 ;
2014-09-27 01:27:30 +00:00
static gint hf_mdssvc_mdssvc_open_share_name = - 1 ;
2014-11-03 23:03:01 +00:00
static gint hf_mdssvc_mdssvc_open_share_path = - 1 ;
static gint hf_mdssvc_mdssvc_open_unkn2 = - 1 ;
2014-09-27 01:27:30 +00:00
static gint hf_mdssvc_mdssvc_open_unkn3 = - 1 ;
2014-11-03 23:03:01 +00:00
static gint hf_mdssvc_mdssvc_unknown1_device_id = - 1 ;
static gint hf_mdssvc_mdssvc_unknown1_flags = - 1 ;
static gint hf_mdssvc_mdssvc_unknown1_share_handle = - 1 ;
2014-09-27 01:27:30 +00:00
static gint hf_mdssvc_mdssvc_unknown1_status = - 1 ;
2014-09-20 02:23:27 +00:00
static gint hf_mdssvc_mdssvc_unknown1_unkn1 = - 1 ;
2014-09-27 01:27:30 +00:00
static gint hf_mdssvc_mdssvc_unknown1_unkn3 = - 1 ;
2014-11-03 23:03:01 +00:00
static gint hf_mdssvc_mdssvc_unknown1_unkn4 = - 1 ;
static gint hf_mdssvc_mdssvc_unknown1_unkn5 = - 1 ;
static gint hf_mdssvc_mdssvc_unknown1_unkn6 = - 1 ;
static gint hf_mdssvc_mdssvc_unknown1_unkn7 = - 1 ;
static gint hf_mdssvc_opnum = - 1 ;
2014-04-04 22:13:05 +00:00
static gint proto_dcerpc_mdssvc = - 1 ;
/* Version information */
2015-03-03 10:47:53 +00:00
static e_guid_t uuid_dcerpc_mdssvc = {
2014-04-04 22:13:05 +00:00
0x885d85fb , 0xc754 , 0x4062 ,
{ 0xa0 , 0xe7 , 0x68 , 0x72 , 0xce , 0x00 , 0x64 , 0xf4 }
} ;
static guint16 ver_dcerpc_mdssvc = 2 ;
2016-04-15 17:16:16 +00:00
static int mdssvc_dissect_element_blob_length ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_blob_size ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_blob_spotlight_blob ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_device_id ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_device_id_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_unkn2 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_unkn2_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_unkn3 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_unkn3_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_share_mount_path ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_share_name ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_share_path ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_share_handle ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_open_share_handle_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_share_handle ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_unkn1 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_device_id ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_unkn3 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_unkn4 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_unkn5 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_unkn6 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_status ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_status_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_flags ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_flags_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_unkn7 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_unknown1_unkn7_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_share_handle ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_unkn1 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_device_id ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_unkn3 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_unkn4 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_flags ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_request_blob ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_unkn5 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_max_fragment_size1 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_unkn6 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_max_fragment_size2 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_unkn7 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_unkn8 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_status ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_status_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_response_blob ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_response_blob_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_unkn9 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
static int mdssvc_dissect_element_cmd_unkn9_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep ) ;
2014-04-04 22:13:05 +00:00
static int
mdssvc_dissect_element_blob_spotlight_blob ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep _U_ )
{
tvbuff_t * spotlight_tvb ;
dissector_handle_t spotlight_handle ;
if ( di - > conformant_run ) {
return offset ;
}
spotlight_handle = find_dissector ( " afp_spotlight " ) ;
if ( spotlight_handle )
{
spotlight_tvb = tvb_new_subset_remaining ( tvb , offset + 16 ) ;
2014-04-05 21:06:45 +00:00
return ( offset + 16 + call_dissector ( spotlight_handle , spotlight_tvb , pinfo , tree ) ) ;
2014-04-04 22:13:05 +00:00
}
return offset ;
}
/* IDL: struct { */
/* IDL: uint32 length; */
/* IDL: uint32 size; */
2014-11-03 23:03:01 +00:00
/* IDL: [length_is(length)] [size_is(size)] [unique(1)] uint8 *spotlight_blob; */
2014-04-04 22:13:05 +00:00
/* IDL: } */
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_blob_length ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_blob_length , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_blob_size ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_blob_size , 0 ) ;
return offset ;
}
int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_struct_blob ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * parent_tree , dcerpc_info * di , guint8 * drep , int hf_index , guint32 param )
2014-04-04 22:13:05 +00:00
{
proto_item * item = NULL ;
proto_tree * tree = NULL ;
int old_offset ;
ALIGN_TO_5_BYTES ;
old_offset = offset ;
if ( parent_tree ) {
item = proto_tree_add_item ( parent_tree , hf_index , tvb , offset , - 1 , ENC_NA ) ;
tree = proto_item_add_subtree ( item , ett_mdssvc_mdssvc_blob ) ;
}
2016-02-11 18:44:47 +00:00
2014-04-04 22:13:05 +00:00
offset = mdssvc_dissect_element_blob_length ( tvb , offset , pinfo , tree , di , drep ) ;
offset = mdssvc_dissect_element_blob_size ( tvb , offset , pinfo , tree , di , drep ) ;
offset = mdssvc_dissect_element_blob_spotlight_blob ( tvb , offset , pinfo , tree , di , drep ) ;
proto_item_set_len ( item , offset - old_offset ) ;
if ( di - > call_data - > flags & DCERPC_IS_NDR64 ) {
ALIGN_TO_5_BYTES ;
}
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_device_id ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = dissect_ndr_toplevel_pointer ( tvb , offset , pinfo , tree , di , drep , mdssvc_dissect_element_open_device_id_ , NDR_POINTER_REF , " Pointer to Device Id (uint32) " , hf_mdssvc_mdssvc_open_device_id ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_device_id_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_open_device_id , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_unkn2 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = dissect_ndr_toplevel_pointer ( tvb , offset , pinfo , tree , di , drep , mdssvc_dissect_element_open_unkn2_ , NDR_POINTER_REF , " Pointer to Unkn2 (uint32) " , hf_mdssvc_mdssvc_open_unkn2 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_unkn2_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_open_unkn2 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_unkn3 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = dissect_ndr_toplevel_pointer ( tvb , offset , pinfo , tree , di , drep , mdssvc_dissect_element_open_unkn3_ , NDR_POINTER_REF , " Pointer to Unkn3 (uint32) " , hf_mdssvc_mdssvc_open_unkn3 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_unkn3_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_open_unkn3 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_share_mount_path ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
char * data ;
offset = dissect_ndr_cvstring ( tvb , offset , pinfo , tree , di , drep , sizeof ( guint8 ) , hf_mdssvc_mdssvc_open_share_mount_path , FALSE , & data ) ;
proto_item_append_text ( tree , " : %s " , data ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_share_name ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
char * data ;
offset = dissect_ndr_cvstring ( tvb , offset , pinfo , tree , di , drep , sizeof ( guint8 ) , hf_mdssvc_mdssvc_open_share_name , FALSE , & data ) ;
proto_item_append_text ( tree , " : %s " , data ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_share_path ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
char * data ;
offset = dissect_ndr_cvstring ( tvb , offset , pinfo , tree , di , drep , sizeof ( guint8 ) , hf_mdssvc_mdssvc_open_share_path , FALSE , & data ) ;
proto_item_append_text ( tree , " : %s " , data ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_share_handle ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = dissect_ndr_toplevel_pointer ( tvb , offset , pinfo , tree , di , drep , mdssvc_dissect_element_open_share_handle_ , NDR_POINTER_REF , " Pointer to Share Handle (policy_handle) " , hf_mdssvc_mdssvc_open_share_handle ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_open_share_handle_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_policy_hnd ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_open_share_handle , 0 ) ;
return offset ;
}
/* IDL: void mdssvc_open( */
2014-11-03 23:03:01 +00:00
/* IDL: [in] [out] [ref] uint32 *device_id, */
/* IDL: [in] [out] [ref] uint32 *unkn2, */
/* IDL: [in] [out] [ref] uint32 *unkn3, */
/* IDL: [charset(UTF8)] [in] uint8 share_mount_path[*], */
/* IDL: [charset(UTF8)] [in] uint8 share_name[*], */
/* IDL: [charset(UTF8)] [out] [size_is(1025)] uint8 share_path[*], */
2014-09-27 01:27:30 +00:00
/* IDL: [out] [ref] policy_handle *share_handle */
2014-04-04 22:13:05 +00:00
/* IDL: ); */
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_open_response ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
di - > dcerpc_procedure_name = " open " ;
offset = mdssvc_dissect_element_open_device_id ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_open_unkn2 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_open_unkn3 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_open_share_path ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_open_share_handle ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_open_request ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
di - > dcerpc_procedure_name = " open " ;
offset = mdssvc_dissect_element_open_device_id ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_open_unkn2 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_open_unkn3 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_open_share_mount_path ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_open_share_name ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_share_handle ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_policy_hnd ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_unknown1_share_handle , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_unkn1 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_unknown1_unkn1 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_device_id ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_unknown1_device_id , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_unkn3 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_unknown1_unkn3 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_unkn4 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_unknown1_unkn4 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_unkn5 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_unknown1_unkn5 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_unkn6 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_unknown1_unkn6 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_status ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = dissect_ndr_toplevel_pointer ( tvb , offset , pinfo , tree , di , drep , mdssvc_dissect_element_unknown1_status_ , NDR_POINTER_REF , " Pointer to Status (uint32) " , hf_mdssvc_mdssvc_unknown1_status ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_status_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_unknown1_status , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_flags ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = dissect_ndr_toplevel_pointer ( tvb , offset , pinfo , tree , di , drep , mdssvc_dissect_element_unknown1_flags_ , NDR_POINTER_REF , " Pointer to Flags (uint32) " , hf_mdssvc_mdssvc_unknown1_flags ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_flags_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_unknown1_flags , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_unkn7 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = dissect_ndr_toplevel_pointer ( tvb , offset , pinfo , tree , di , drep , mdssvc_dissect_element_unknown1_unkn7_ , NDR_POINTER_REF , " Pointer to Unkn7 (uint32) " , hf_mdssvc_mdssvc_unknown1_unkn7 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_unknown1_unkn7_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_unknown1_unkn7 , 0 ) ;
return offset ;
}
/* IDL: void mdssvc_unknown1( */
/* IDL: [in] policy_handle share_handle, */
/* IDL: [in] uint32 unkn1, */
/* IDL: [in] uint32 device_id, */
/* IDL: [in] uint32 unkn3, */
/* IDL: [in] uint32 unkn4, */
/* IDL: [in] uint32 unkn5, */
/* IDL: [in] uint32 unkn6, */
2014-09-27 01:27:30 +00:00
/* IDL: [out] [ref] uint32 *status, */
/* IDL: [out] [ref] uint32 *flags, */
/* IDL: [out] [ref] uint32 *unkn7 */
2014-04-04 22:13:05 +00:00
/* IDL: ); */
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_unknown1_response ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
di - > dcerpc_procedure_name = " unknown1 " ;
offset = mdssvc_dissect_element_unknown1_status ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_unknown1_flags ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_unknown1_unkn7 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_unknown1_request ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
di - > dcerpc_procedure_name = " unknown1 " ;
offset = mdssvc_dissect_element_unknown1_share_handle ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_unknown1_unkn1 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_unknown1_device_id ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_unknown1_unkn3 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_unknown1_unkn4 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_unknown1_unkn5 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_unknown1_unkn6 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_share_handle ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_policy_hnd ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_share_handle , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_unkn1 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_unkn1 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_device_id ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_device_id , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_unkn3 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_unkn3 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_unkn4 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_unkn4 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_flags ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_flags , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_request_blob ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = mdssvc_dissect_struct_blob ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_request_blob , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_unkn5 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_unkn5 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_max_fragment_size1 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_max_fragment_size1 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_unkn6 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_unkn6 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_max_fragment_size2 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_max_fragment_size2 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_unkn7 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_unkn7 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_unkn8 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_unkn8 , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_status ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = dissect_ndr_toplevel_pointer ( tvb , offset , pinfo , tree , di , drep , mdssvc_dissect_element_cmd_status_ , NDR_POINTER_REF , " Pointer to Status (uint32) " , hf_mdssvc_mdssvc_cmd_status ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_status_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_status , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_response_blob ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = dissect_ndr_toplevel_pointer ( tvb , offset , pinfo , tree , di , drep , mdssvc_dissect_element_cmd_response_blob_ , NDR_POINTER_REF , " Pointer to Response Blob (mdssvc_blob) " , hf_mdssvc_mdssvc_cmd_response_blob ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_response_blob_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = mdssvc_dissect_struct_blob ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_response_blob , 0 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_unkn9 ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = dissect_ndr_toplevel_pointer ( tvb , offset , pinfo , tree , di , drep , mdssvc_dissect_element_cmd_unkn9_ , NDR_POINTER_REF , " Pointer to Unkn9 (uint32) " , hf_mdssvc_mdssvc_cmd_unkn9 ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_element_cmd_unkn9_ ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
offset = PIDL_dissect_uint32 ( tvb , offset , pinfo , tree , di , drep , hf_mdssvc_mdssvc_cmd_unkn9 , 0 ) ;
return offset ;
}
/* IDL: void mdssvc_cmd( */
/* IDL: [in] policy_handle share_handle, */
/* IDL: [in] uint32 unkn1, */
/* IDL: [in] uint32 device_id, */
/* IDL: [in] uint32 unkn3, */
/* IDL: [in] uint32 unkn4, */
/* IDL: [in] uint32 flags, */
/* IDL: [in] mdssvc_blob request_blob, */
/* IDL: [in] uint32 unkn5, */
/* IDL: [in] uint32 max_fragment_size1, */
/* IDL: [in] uint32 unkn6, */
/* IDL: [in] uint32 max_fragment_size2, */
/* IDL: [in] uint32 unkn7, */
/* IDL: [in] uint32 unkn8, */
2014-09-27 01:27:30 +00:00
/* IDL: [out] [ref] uint32 *status, */
2014-09-18 04:10:51 +00:00
/* IDL: [out] [ref] mdssvc_blob *response_blob, */
2014-09-20 02:23:27 +00:00
/* IDL: [out] [ref] uint32 *unkn9 */
2014-04-04 22:13:05 +00:00
/* IDL: ); */
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_cmd_response ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
di - > dcerpc_procedure_name = " cmd " ;
offset = mdssvc_dissect_element_cmd_status ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_response_blob ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_unkn9 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
return offset ;
}
static int
2016-04-15 17:16:16 +00:00
mdssvc_dissect_cmd_request ( tvbuff_t * tvb , int offset , packet_info * pinfo , proto_tree * tree , dcerpc_info * di , guint8 * drep )
2014-04-04 22:13:05 +00:00
{
di - > dcerpc_procedure_name = " cmd " ;
offset = mdssvc_dissect_element_cmd_share_handle ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_unkn1 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_device_id ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_unkn3 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_unkn4 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_flags ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_request_blob ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_unkn5 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_max_fragment_size1 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_unkn6 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_max_fragment_size2 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_unkn7 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
offset = mdssvc_dissect_element_cmd_unkn8 ( tvb , offset , pinfo , tree , di , drep ) ;
offset = dissect_deferred_pointers ( pinfo , tvb , offset , di , drep ) ;
return offset ;
}
static dcerpc_sub_dissector mdssvc_dissectors [ ] = {
{ 0 , " open " ,
mdssvc_dissect_open_request , mdssvc_dissect_open_response } ,
{ 1 , " unknown1 " ,
mdssvc_dissect_unknown1_request , mdssvc_dissect_unknown1_response } ,
{ 2 , " cmd " ,
mdssvc_dissect_cmd_request , mdssvc_dissect_cmd_response } ,
{ 0 , NULL , NULL , NULL }
} ;
void proto_register_dcerpc_mdssvc ( void )
{
static hf_register_info hf [ ] = {
2014-11-03 23:03:01 +00:00
{ & hf_mdssvc_mdssvc_blob_length ,
{ " Length " , " mdssvc.mdssvc_blob.length " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_blob_size ,
{ " Size " , " mdssvc.mdssvc_blob.size " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_blob_spotlight_blob ,
{ " Spotlight Blob " , " mdssvc.mdssvc_blob.spotlight_blob " , FT_UINT8 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_device_id ,
{ " Device Id " , " mdssvc.mdssvc_cmd.device_id " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_flags ,
{ " Flags " , " mdssvc.mdssvc_cmd.flags " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_max_fragment_size1 ,
{ " Max Fragment Size1 " , " mdssvc.mdssvc_cmd.max_fragment_size1 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_max_fragment_size2 ,
{ " Max Fragment Size2 " , " mdssvc.mdssvc_cmd.max_fragment_size2 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
2014-09-27 01:27:30 +00:00
{ & hf_mdssvc_mdssvc_cmd_request_blob ,
{ " Request Blob " , " mdssvc.mdssvc_cmd.request_blob " , FT_NONE , BASE_NONE , NULL , 0 , NULL , HFILL } } ,
2014-11-03 23:03:01 +00:00
{ & hf_mdssvc_mdssvc_cmd_response_blob ,
{ " Response Blob " , " mdssvc.mdssvc_cmd.response_blob " , FT_NONE , BASE_NONE , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_share_handle ,
{ " Share Handle " , " mdssvc.mdssvc_cmd.share_handle " , FT_BYTES , BASE_NONE , NULL , 0 , NULL , HFILL } } ,
2014-09-27 01:27:30 +00:00
{ & hf_mdssvc_mdssvc_cmd_status ,
{ " Status " , " mdssvc.mdssvc_cmd.status " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_unkn1 ,
{ " Unkn1 " , " mdssvc.mdssvc_cmd.unkn1 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
2014-09-20 02:23:27 +00:00
{ & hf_mdssvc_mdssvc_cmd_unkn3 ,
{ " Unkn3 " , " mdssvc.mdssvc_cmd.unkn3 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
2014-11-03 23:03:01 +00:00
{ & hf_mdssvc_mdssvc_cmd_unkn4 ,
{ " Unkn4 " , " mdssvc.mdssvc_cmd.unkn4 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_unkn5 ,
{ " Unkn5 " , " mdssvc.mdssvc_cmd.unkn5 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_unkn6 ,
{ " Unkn6 " , " mdssvc.mdssvc_cmd.unkn6 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_unkn7 ,
{ " Unkn7 " , " mdssvc.mdssvc_cmd.unkn7 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_unkn8 ,
{ " Unkn8 " , " mdssvc.mdssvc_cmd.unkn8 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_cmd_unkn9 ,
{ " Unkn9 " , " mdssvc.mdssvc_cmd.unkn9 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_open_device_id ,
{ " Device Id " , " mdssvc.mdssvc_open.device_id " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
2014-09-20 02:23:27 +00:00
{ & hf_mdssvc_mdssvc_open_share_handle ,
{ " Share Handle " , " mdssvc.mdssvc_open.share_handle " , FT_BYTES , BASE_NONE , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_open_share_mount_path ,
{ " Share Mount Path " , " mdssvc.mdssvc_open.share_mount_path " , FT_STRING , BASE_NONE , NULL , 0 , NULL , HFILL } } ,
2014-09-27 01:27:30 +00:00
{ & hf_mdssvc_mdssvc_open_share_name ,
{ " Share Name " , " mdssvc.mdssvc_open.share_name " , FT_STRING , BASE_NONE , NULL , 0 , NULL , HFILL } } ,
2014-11-03 23:03:01 +00:00
{ & hf_mdssvc_mdssvc_open_share_path ,
{ " Share Path " , " mdssvc.mdssvc_open.share_path " , FT_STRING , BASE_NONE , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_open_unkn2 ,
{ " Unkn2 " , " mdssvc.mdssvc_open.unkn2 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
2014-09-27 01:27:30 +00:00
{ & hf_mdssvc_mdssvc_open_unkn3 ,
{ " Unkn3 " , " mdssvc.mdssvc_open.unkn3 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
2014-11-03 23:03:01 +00:00
{ & hf_mdssvc_mdssvc_unknown1_device_id ,
{ " Device Id " , " mdssvc.mdssvc_unknown1.device_id " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_unknown1_flags ,
{ " Flags " , " mdssvc.mdssvc_unknown1.flags " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_unknown1_share_handle ,
{ " Share Handle " , " mdssvc.mdssvc_unknown1.share_handle " , FT_BYTES , BASE_NONE , NULL , 0 , NULL , HFILL } } ,
2014-09-27 01:27:30 +00:00
{ & hf_mdssvc_mdssvc_unknown1_status ,
{ " Status " , " mdssvc.mdssvc_unknown1.status " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
2014-09-20 02:23:27 +00:00
{ & hf_mdssvc_mdssvc_unknown1_unkn1 ,
{ " Unkn1 " , " mdssvc.mdssvc_unknown1.unkn1 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
2014-09-27 01:27:30 +00:00
{ & hf_mdssvc_mdssvc_unknown1_unkn3 ,
{ " Unkn3 " , " mdssvc.mdssvc_unknown1.unkn3 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
2014-11-03 23:03:01 +00:00
{ & hf_mdssvc_mdssvc_unknown1_unkn4 ,
{ " Unkn4 " , " mdssvc.mdssvc_unknown1.unkn4 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_unknown1_unkn5 ,
{ " Unkn5 " , " mdssvc.mdssvc_unknown1.unkn5 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_unknown1_unkn6 ,
{ " Unkn6 " , " mdssvc.mdssvc_unknown1.unkn6 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_mdssvc_unknown1_unkn7 ,
{ " Unkn7 " , " mdssvc.mdssvc_unknown1.unkn7 " , FT_UINT32 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
{ & hf_mdssvc_opnum ,
{ " Operation " , " mdssvc.opnum " , FT_UINT16 , BASE_DEC , NULL , 0 , NULL , HFILL } } ,
2014-04-04 22:13:05 +00:00
} ;
static gint * ett [ ] = {
& ett_dcerpc_mdssvc ,
& ett_mdssvc_mdssvc_blob ,
} ;
proto_dcerpc_mdssvc = proto_register_protocol ( " Spotlight metadata search service " , " MDSSVC " , " mdssvc " ) ;
proto_register_field_array ( proto_dcerpc_mdssvc , hf , array_length ( hf ) ) ;
proto_register_subtree_array ( ett , array_length ( ett ) ) ;
}
void proto_reg_handoff_dcerpc_mdssvc ( void )
{
dcerpc_init_uuid ( proto_dcerpc_mdssvc , ett_dcerpc_mdssvc ,
& uuid_dcerpc_mdssvc , ver_dcerpc_mdssvc ,
mdssvc_dissectors , hf_mdssvc_opnum ) ;
}