aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-11-06 14:31:29 +0000
committerMichael Mann <mmann78@netscape.net>2013-11-06 14:31:29 +0000
commit22760b2d2a065249b21b7cf4be892aba71827279 (patch)
treed2806f1e93d9d29d1d042185340a27fd23eaf296 /plugins
parent440ac8370fae681dd2e55c669226720b12491481 (diff)
Remove pinfo->private_data from DCERPC dissectors and instead have dcerpc_info* infomation be passed in as a function parameter. Bug 9387 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9387)
All "generated" source was manually modified (with the power of search/replace), but I believe the "source input" files have been adjusted (checked into revs 53098 and 53099) to reflect the necessary changes (with possible whitespace formatting differences). The Microsoft compiler doesn't flag "unused function parameters", so I apologize in advance if I may have missed a few. The "dcerpc_info* di" parameter is used in almost every function. svn path=/trunk/; revision=53100
Diffstat (limited to 'plugins')
-rw-r--r--plugins/profinet/packet-dcerpc-pn-io.c42
-rw-r--r--plugins/profinet/packet-dcom-cba-acco.c850
-rw-r--r--plugins/profinet/packet-dcom-cba.c331
3 files changed, 601 insertions, 622 deletions
diff --git a/plugins/profinet/packet-dcerpc-pn-io.c b/plugins/profinet/packet-dcerpc-pn-io.c
index 477156631a..0711cacfed 100644
--- a/plugins/profinet/packet-dcerpc-pn-io.c
+++ b/plugins/profinet/packet-dcerpc-pn-io.c
@@ -8446,7 +8446,7 @@ dissect_blocks(tvbuff_t *tvb, int offset,
/* dissect a PN-IO (DCE-RPC) request header */
static int
dissect_IPNIO_rqst_header(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32ArgsMax;
guint32 u32ArgsLen;
@@ -8462,10 +8462,10 @@ dissect_IPNIO_rqst_header(tvbuff_t *tvb, int offset,
col_set_str(pinfo->cinfo, COL_PROTOCOL, "PNIO-CM");
/* args_max */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_pn_io_args_max, &u32ArgsMax);
/* args_len */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_pn_io_args_len, &u32ArgsLen);
sub_item = proto_tree_add_item(tree, hf_pn_io_array, tvb, offset, 0, ENC_NA);
@@ -8473,11 +8473,11 @@ dissect_IPNIO_rqst_header(tvbuff_t *tvb, int offset,
u32SubStart = offset;
/* RPC array header */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, di, drep,
hf_pn_io_array_max_count, &u32MaxCount);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, di, drep,
hf_pn_io_array_offset, &u32Offset);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, di, drep,
hf_pn_io_array_act_count, &u32ArraySize);
proto_item_append_text(sub_item, ": Max: %u, Offset: %u, Size: %u",
@@ -8491,7 +8491,7 @@ dissect_IPNIO_rqst_header(tvbuff_t *tvb, int offset,
/* dissect a PN-IO (DCE-RPC) response header */
static int
dissect_IPNIO_resp_header(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32ArgsLen;
guint32 u32MaxCount;
@@ -8508,7 +8508,7 @@ dissect_IPNIO_resp_header(tvbuff_t *tvb, int offset,
offset = dissect_PNIO_status(tvb, offset, pinfo, tree, drep);
/* args_len */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_pn_io_args_len, &u32ArgsLen);
sub_item = proto_tree_add_item(tree, hf_pn_io_array, tvb, offset, 0, ENC_NA);
@@ -8516,11 +8516,11 @@ dissect_IPNIO_resp_header(tvbuff_t *tvb, int offset,
u32SubStart = offset;
/* RPC array header */
- offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, di, drep,
hf_pn_io_array_max_count, &u32MaxCount);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, di, drep,
hf_pn_io_array_offset, &u32Offset);
- offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_ndr_uint32(tvb, offset, pinfo, sub_tree, di, drep,
hf_pn_io_array_act_count, &u32ArraySize);
proto_item_append_text(sub_item, ": Max: %u, Offset: %u, Size: %u",
@@ -8534,10 +8534,10 @@ dissect_IPNIO_resp_header(tvbuff_t *tvb, int offset,
/* dissect a PN-IO request */
static int
dissect_IPNIO_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
- offset = dissect_IPNIO_rqst_header(tvb, offset, pinfo, tree, drep);
+ offset = dissect_IPNIO_rqst_header(tvb, offset, pinfo, tree, di, drep);
offset = dissect_blocks(tvb, offset, pinfo, tree, drep);
@@ -8548,10 +8548,10 @@ dissect_IPNIO_rqst(tvbuff_t *tvb, int offset,
/* dissect a PN-IO response */
static int
dissect_IPNIO_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
- offset = dissect_IPNIO_resp_header(tvb, offset, pinfo, tree, drep);
+ offset = dissect_IPNIO_resp_header(tvb, offset, pinfo, tree, di, drep);
offset = dissect_blocks(tvb, offset, pinfo, tree, drep);
@@ -8914,13 +8914,13 @@ dissect_RecordDataRead(tvbuff_t *tvb, int offset,
/* dissect a PN-IO read response */
static int
dissect_IPNIO_Read_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16Index = 0;
guint32 u32RecDataLen = 0;
pnio_ar_t *ar = NULL;
- offset = dissect_IPNIO_resp_header(tvb, offset, pinfo, tree, drep);
+ offset = dissect_IPNIO_resp_header(tvb, offset, pinfo, tree, di, drep);
/* IODReadHeader */
offset = dissect_block(tvb, offset, pinfo, tree, drep, &u16Index, &u32RecDataLen, &ar);
@@ -9116,11 +9116,11 @@ dissect_IODWriteReq(tvbuff_t *tvb, int offset,
/* dissect a PN-IO write request */
static int
dissect_IPNIO_Write_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
pnio_ar_t *ar = NULL;
- offset = dissect_IPNIO_rqst_header(tvb, offset, pinfo, tree, drep);
+ offset = dissect_IPNIO_rqst_header(tvb, offset, pinfo, tree, di, drep);
offset = dissect_IODWriteReq(tvb, offset, pinfo, tree, drep, &ar);
@@ -9163,10 +9163,10 @@ dissect_IODWriteRes(tvbuff_t *tvb, int offset,
/* dissect a PN-IO write response */
static int
dissect_IPNIO_Write_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
- offset = dissect_IPNIO_resp_header(tvb, offset, pinfo, tree, drep);
+ offset = dissect_IPNIO_resp_header(tvb, offset, pinfo, tree, di, drep);
offset = dissect_IODWriteRes(tvb, offset, pinfo, tree, drep);
diff --git a/plugins/profinet/packet-dcom-cba-acco.c b/plugins/profinet/packet-dcom-cba-acco.c
index 5d3bb936af..6198cd1413 100644
--- a/plugins/profinet/packet-dcom-cba-acco.c
+++ b/plugins/profinet/packet-dcom-cba-acco.c
@@ -1045,7 +1045,7 @@ cba_connection_incoming_data(tvbuff_t *tvb _U_, packet_info *pinfo, proto_tree *
/* dissect a response containing an array of hresults (e.g: ICBAAccoMgt::RemoveConnections) */
static int
dissect_HResultArray_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
guint32 u32Pointer;
@@ -1054,25 +1054,25 @@ dissect_HResultArray_resp(tvbuff_t *tvb, int offset,
guint32 u32Tmp;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
u32Tmp = u32ArraySize;
while (u32Tmp--) {
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult, u32Idx);
u32Idx++;
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cnt=%u -> %s",
@@ -1085,7 +1085,7 @@ dissect_HResultArray_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer_SetActivation_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
guint32 u32Pointer;
@@ -1095,29 +1095,29 @@ dissect_ICBAAccoServer_SetActivation_resp(tvbuff_t *tvb, int offset,
proto_item *item;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, FALSE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 1;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
u32Tmp = u32ArraySize;
while (u32Tmp--) {
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult, u32Idx);
u32Idx++;
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cnt=%u -> %s",
@@ -1130,7 +1130,7 @@ dissect_ICBAAccoServer_SetActivation_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_Disconnect_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
guint32 u32Pointer;
@@ -1140,29 +1140,29 @@ dissect_ICBAAccoServerSRT_Disconnect_resp(tvbuff_t *tvb, int offset,
proto_item *item;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, FALSE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 3;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
u32Tmp = u32ArraySize;
while (u32Tmp--) {
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult, u32Idx);
u32Idx++;
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cnt=%u -> %s",
@@ -1175,7 +1175,7 @@ dissect_ICBAAccoServerSRT_Disconnect_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_SetActivation_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
guint32 u32Pointer;
@@ -1185,29 +1185,29 @@ dissect_ICBAAccoServerSRT_SetActivation_resp(tvbuff_t *tvb, int offset,
proto_item *item;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, FALSE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 3;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
u32Tmp = u32ArraySize;
while (u32Tmp--) {
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult, u32Idx);
u32Idx++;
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cnt=%u -> %s",
@@ -1220,7 +1220,7 @@ dissect_ICBAAccoServerSRT_SetActivation_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer_Connect_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16QoSType;
guint16 u16QoSValue;
@@ -1240,7 +1240,6 @@ dissect_ICBAAccoServer_Connect_rqst(tvbuff_t *tvb, int offset,
guint32 u32Idx;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
dcom_interface_t *cons_interf;
cba_ldev_t *cons_ldev;
cba_ldev_t *prov_ldev;
@@ -1248,29 +1247,29 @@ dissect_ICBAAccoServer_Connect_rqst(tvbuff_t *tvb, int offset,
server_connect_call_t *call;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
/* get corresponding provider ldev */
- prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &info->call_data->object_uuid);
+ prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &di->call_data->object_uuid);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 2;
- offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_consumer, szCons, u32MaxConsLen);
/* find the consumer ldev by its name */
cons_ldev = cba_acco_add(pinfo, szCons);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_type, &u16QoSType);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_value, &u16QoSValue);
- offset = dissect_dcom_BYTE(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BYTE(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, drep, 0, &cons_interf);
+ offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, di, drep, 0, &cons_interf);
if (cons_interf == NULL) {
expert_add_info_format(pinfo, NULL, &ei_cba_acco_conn_consumer,
"Server_Connect: consumer interface invalid");
@@ -1281,10 +1280,10 @@ dissect_ICBAAccoServer_Connect_rqst(tvbuff_t *tvb, int offset,
cba_ldev_link_acco(pinfo, cons_ldev, cons_interf);
}
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
/* link connections infos to the call */
@@ -1293,7 +1292,7 @@ dissect_ICBAAccoServer_Connect_rqst(tvbuff_t *tvb, int offset,
call->conn_count = 0;
call->frame = NULL;
call->conns = (cba_connection_t **) (call+1);
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
} else{
call = NULL;
}
@@ -1311,26 +1310,26 @@ dissect_ICBAAccoServer_Connect_rqst(tvbuff_t *tvb, int offset,
u32SubStart = offset;
/* ProviderItem */
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_provider_item, szItem, u32MaxItemLen);
}
/* DataType */
- offset = dissect_dcom_VARTYPE(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_VARTYPE(tvb, offset, pinfo, sub_tree, di, drep,
&u16VarType);
/* Epsilon */
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_epsilon);
}
/* ConsumerID */
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_cons_id, &u32ConsID);
/* add to object database */
@@ -1367,7 +1366,7 @@ dissect_ICBAAccoServer_Connect_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer2_Connect2_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16QoSType;
guint16 u16QoSValue;
@@ -1391,7 +1390,6 @@ dissect_ICBAAccoServer2_Connect2_rqst(tvbuff_t *tvb, int offset,
guint16 u16VarType2 = -1;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
dcom_interface_t *cons_interf;
cba_ldev_t *prov_ldev;
cba_ldev_t *cons_ldev;
@@ -1401,32 +1399,32 @@ dissect_ICBAAccoServer2_Connect2_rqst(tvbuff_t *tvb, int offset,
server_connect_call_t *call = NULL;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
/* get corresponding provider ldev */
- prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &info->call_data->object_uuid);
+ prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &di->call_data->object_uuid);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 2;
- offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_consumer, szCons, u32MaxConsLen);
/* find the consumer ldev by its name */
cons_ldev = cba_acco_add(pinfo, szCons);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_type, &u16QoSType);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_value, &u16QoSValue);
- offset = dissect_dcom_BYTE(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BYTE(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep, &u32Pointer);
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep, &u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_MInterfacePointer(tvb, offset, pinfo, tree, drep, 0, &cons_interf);
+ offset = dissect_dcom_MInterfacePointer(tvb, offset, pinfo, tree, di, drep, 0, &cons_interf);
if (cons_interf == NULL) {
expert_add_info_format(pinfo, NULL, &ei_cba_acco_conn_consumer,
"Server2_Connect2: consumer interface invalid");
@@ -1441,10 +1439,10 @@ dissect_ICBAAccoServer2_Connect2_rqst(tvbuff_t *tvb, int offset,
cba_ldev_link_acco(pinfo, cons_ldev, cons_interf);
}
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
/* link connection infos to the call */
@@ -1453,7 +1451,7 @@ dissect_ICBAAccoServer2_Connect2_rqst(tvbuff_t *tvb, int offset,
call->conn_count = 0;
call->frame = NULL;
call->conns = (cba_connection_t **) (call+1);
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
} else{
call = NULL;
}
@@ -1471,22 +1469,22 @@ dissect_ICBAAccoServer2_Connect2_rqst(tvbuff_t *tvb, int offset,
u32SubStart = offset;
/* ProviderItem */
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_provider_item, szItem, u32MaxItemLen);
}
/* TypeDescLen */
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_type_desc_len, &u16TypeDescLen);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
/* pTypeDesc */
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_dcerpc_array_size(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_dcerpc_array_size(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
&u32ArraySize2);
/* limit the allocation to a reasonable size */
@@ -1502,7 +1500,7 @@ dissect_ICBAAccoServer2_Connect2_rqst(tvbuff_t *tvb, int offset,
u32Idx2 = 1;
while (u32ArraySize2--) {
/* ToBeDone: some of the type description values are counts */
- u32VariableOffset = dissect_dcom_VARTYPE(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARTYPE(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
&u16VarType);
if (typedesc != NULL && u32Idx2 <= typedesclen) {
@@ -1518,14 +1516,14 @@ dissect_ICBAAccoServer2_Connect2_rqst(tvbuff_t *tvb, int offset,
}
/* Epsilon */
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_epsilon);
}
/* ConsumerID */
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_cons_id, &u32ConsID);
/* add to object database */
@@ -1563,7 +1561,7 @@ dissect_ICBAAccoServer2_Connect2_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer_Connect_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint8 u8FirstConnect;
guint32 u32Pointer;
@@ -1574,12 +1572,11 @@ dissect_ICBAAccoServer_Connect_resp(tvbuff_t *tvb, int offset,
guint32 u32SubStart;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
cba_connection_t *conn;
- server_connect_call_t *call = (server_connect_call_t *)info->call_data->private_data;
+ server_connect_call_t *call = (server_connect_call_t *)di->call_data->private_data;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
if (call == NULL) {
expert_add_info(pinfo, NULL, &ei_cba_acco_no_request_info);
@@ -1589,14 +1586,14 @@ dissect_ICBAAccoServer_Connect_resp(tvbuff_t *tvb, int offset,
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 1;
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_server_first_connect, &u8FirstConnect);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
/* array of CONNECTOUTs */
@@ -1608,10 +1605,10 @@ dissect_ICBAAccoServer_Connect_resp(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_connectout);
u32SubStart = offset;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_prov_id, &u32ProvID);
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult, u32Idx);
/* put response data into the connection */
@@ -1632,7 +1629,7 @@ dissect_ICBAAccoServer_Connect_resp(tvbuff_t *tvb, int offset,
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
/* this might be a global HRESULT */
@@ -1654,7 +1651,7 @@ dissect_ICBAAccoServer_Connect_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer_Disconnect_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32ArraySize;
@@ -1662,25 +1659,24 @@ dissect_ICBAAccoServer_Disconnect_rqst(tvbuff_t *tvb, int offset,
guint32 u32ProvID;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
cba_ldev_t *prov_ldev;
cba_connection_t *conn;
server_connect_call_t *call;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 2;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
- prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &info->call_data->object_uuid);
+ prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &di->call_data->object_uuid);
/* link connection infos to the call */
if (prov_ldev != NULL) {
@@ -1688,14 +1684,14 @@ dissect_ICBAAccoServer_Disconnect_rqst(tvbuff_t *tvb, int offset,
call->conn_count = 0;
call->frame = NULL;
call->conns = (cba_connection_t **) (call+1);
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
} else{
call = NULL;
}
u32Idx = 1;
while (u32ArraySize--) {
- offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_prov_id, &u32ProvID, u32Idx);
/* add to current call */
@@ -1718,7 +1714,7 @@ dissect_ICBAAccoServer_Disconnect_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer_Disconnect_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
guint32 u32Pointer;
@@ -1727,12 +1723,11 @@ dissect_ICBAAccoServer_Disconnect_resp(tvbuff_t *tvb, int offset,
guint32 u32Tmp;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
cba_connection_t *conn;
- server_connect_call_t *call = (server_connect_call_t *)info->call_data->private_data;
+ server_connect_call_t *call = (server_connect_call_t *)di->call_data->private_data;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
if (call == NULL) {
expert_add_info(pinfo, NULL, &ei_cba_acco_no_request_info);
@@ -1742,17 +1737,17 @@ dissect_ICBAAccoServer_Disconnect_resp(tvbuff_t *tvb, int offset,
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 1;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
u32Tmp = u32ArraySize;
while (u32Tmp--) {
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult, u32Idx);
/* mark this connection as disconnected */
@@ -1767,7 +1762,7 @@ dissect_ICBAAccoServer_Disconnect_resp(tvbuff_t *tvb, int offset,
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cnt=%u -> %s",
@@ -1780,7 +1775,7 @@ dissect_ICBAAccoServer_Disconnect_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_Disconnect_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32ArraySize;
@@ -1789,21 +1784,21 @@ dissect_ICBAAccoServerSRT_Disconnect_rqst(tvbuff_t *tvb, int offset,
proto_item *item;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 4;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
while (u32ArraySize--) {
- offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_prov_id, &u32ProvID, u32Idx);
u32Idx++;
}
@@ -1817,27 +1812,26 @@ dissect_ICBAAccoServerSRT_Disconnect_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer_DisconnectMe_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
gchar szStr[1000];
guint32 u32MaxStr = sizeof(szStr);
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
cba_ldev_t *prov_ldev;
cba_ldev_t *cons_ldev;
server_disconnectme_call_t *call;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
/* get corresponding provider ldev */
- prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &info->call_data->object_uuid);
+ prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &di->call_data->object_uuid);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 2;
- offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_consumer, szStr, u32MaxStr);
/* find the consumer ldev by its name */
@@ -1847,7 +1841,7 @@ dissect_ICBAAccoServer_DisconnectMe_rqst(tvbuff_t *tvb, int offset,
call = (server_disconnectme_call_t *)wmem_alloc(wmem_file_scope(), sizeof(server_disconnectme_call_t));
call->cons = cons_ldev;
call->prov = prov_ldev;
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
}
/* update column info now */
@@ -1859,24 +1853,23 @@ dissect_ICBAAccoServer_DisconnectMe_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer_DisconnectMe_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
server_disconnectme_call_t *call;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, FALSE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 1;
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
- call = (server_disconnectme_call_t *)info->call_data->private_data;
+ call = (server_disconnectme_call_t *)di->call_data->private_data;
if (call) {
cba_connection_disconnectme(tvb, pinfo, tree, call->cons, call->prov);
}
@@ -1890,27 +1883,26 @@ dissect_ICBAAccoServer_DisconnectMe_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_DisconnectMe_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
gchar szStr[1000];
guint32 u32MaxStr = sizeof(szStr);
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
cba_ldev_t *prov_ldev;
cba_ldev_t *cons_ldev;
server_disconnectme_call_t *call;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
/* get corresponding provider ldev */
- prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &info->call_data->object_uuid);
+ prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &di->call_data->object_uuid);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 4;
- offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_consumer, szStr, u32MaxStr);
/* find the consumer ldev by its name */
@@ -1920,7 +1912,7 @@ dissect_ICBAAccoServerSRT_DisconnectMe_rqst(tvbuff_t *tvb, int offset,
call = (server_disconnectme_call_t *)wmem_alloc(wmem_file_scope(), sizeof(server_disconnectme_call_t));
call->cons = cons_ldev;
call->prov = prov_ldev;
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
}
/* update column info now */
@@ -1932,24 +1924,23 @@ dissect_ICBAAccoServerSRT_DisconnectMe_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_DisconnectMe_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
server_disconnectme_call_t *call;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, FALSE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 3;
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
- call = (server_disconnectme_call_t *)info->call_data->private_data;
+ call = (server_disconnectme_call_t *)di->call_data->private_data;
if (call) {
cba_frame_disconnectme(tvb, pinfo, tree, call->cons, call->prov);
}
@@ -1963,19 +1954,19 @@ dissect_ICBAAccoServerSRT_DisconnectMe_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer_Ping_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
proto_item *item;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, FALSE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 1;
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -1987,7 +1978,7 @@ dissect_ICBAAccoServer_Ping_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer_SetActivation_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint8 u8State;
guint32 u32Count;
@@ -1997,24 +1988,24 @@ dissect_ICBAAccoServer_SetActivation_rqst(tvbuff_t *tvb, int offset,
proto_item *item;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 2;
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
while (u32ArraySize--) {
- offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_prov_id, &u32ProvID, u32Idx);
u32Idx++;
}
@@ -2029,7 +2020,7 @@ dissect_ICBAAccoServer_SetActivation_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_SetActivation_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint8 u8State;
guint32 u32Count;
@@ -2039,24 +2030,24 @@ dissect_ICBAAccoServerSRT_SetActivation_rqst(tvbuff_t *tvb, int offset,
proto_item *item;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 4;
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
while (u32ArraySize--) {
- offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_prov_id, &u32ProvID, u32Idx);
u32Idx++;
}
@@ -2070,20 +2061,20 @@ dissect_ICBAAccoServerSRT_SetActivation_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer_Ping_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
gchar szStr[1000];
guint32 u32MaxStr = sizeof(szStr);
proto_item *item;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 2;
- offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_consumer, szStr, u32MaxStr);
/* update column info now */
@@ -2095,7 +2086,7 @@ dissect_ICBAAccoServer_Ping_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_ConnectCR_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
gchar szCons[1000] = { 0 };
guint32 u32MaxConsLen = sizeof(szCons);
@@ -2111,7 +2102,6 @@ dissect_ICBAAccoServerSRT_ConnectCR_rqst(tvbuff_t *tvb, int offset,
proto_item *item;
proto_tree *flags_tree;
guint32 u32SubStart;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
dcom_interface_t *cons_interf;
cba_ldev_t *prov_ldev;
cba_ldev_t *cons_ldev;
@@ -2119,28 +2109,28 @@ dissect_ICBAAccoServerSRT_ConnectCR_rqst(tvbuff_t *tvb, int offset,
server_frame_call_t *call;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
/* get corresponding provider ldev */
- prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &info->call_data->object_uuid);
+ prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &di->call_data->object_uuid);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 4;
/* szCons */
- offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_consumer, szCons, u32MaxConsLen);
/* find the consumer ldev by its name */
cons_ldev = cba_acco_add(pinfo, szCons);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_type, &u16QoSType);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_value, &u16QoSValue);
- offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, drep, 0, &cons_interf);
+ offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, di, drep, 0, &cons_interf);
if (cons_interf == NULL) {
expert_add_info_format(pinfo, NULL, &ei_cba_acco_conn_consumer,
"ServerSRT_ConnectCR: consumer interface invalid");
@@ -2159,7 +2149,7 @@ dissect_ICBAAccoServerSRT_ConnectCR_rqst(tvbuff_t *tvb, int offset,
offset += 6;
/* add flags subtree */
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, NULL /*tree*/, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, NULL /*tree*/, di, drep,
0 /* hfindex */, &u32Flags);
offset -= 4;
item = proto_tree_add_uint_format_value(tree, hf_cba_acco_serversrt_cr_flags,
@@ -2172,10 +2162,10 @@ dissect_ICBAAccoServerSRT_ConnectCR_rqst(tvbuff_t *tvb, int offset,
proto_tree_add_boolean(flags_tree, hf_cba_acco_serversrt_cr_flags_timestamped, tvb, offset, 4, u32Flags);
offset += 4;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
/* link frame infos to the call */
@@ -2183,7 +2173,7 @@ dissect_ICBAAccoServerSRT_ConnectCR_rqst(tvbuff_t *tvb, int offset,
call = (server_frame_call_t *)wmem_alloc(wmem_file_scope(), sizeof(server_frame_call_t) + u32ArraySize * sizeof(cba_frame_t *));
call->frame_count = 0;
call->frames = (cba_frame_t **) (call+1);
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
} else {
call = NULL;
}
@@ -2198,10 +2188,10 @@ dissect_ICBAAccoServerSRT_ConnectCR_rqst(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_connectincr);
u32SubStart = offset;
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_serversrt_cr_id, &u16CRID);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_serversrt_cr_length, &u16CRLength);
/* add to object database */
@@ -2238,7 +2228,7 @@ dissect_ICBAAccoServerSRT_ConnectCR_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_ConnectCR_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint8 u8FirstConnect;
guint8 u8ProvMac[6];
@@ -2250,11 +2240,10 @@ dissect_ICBAAccoServerSRT_ConnectCR_resp(tvbuff_t *tvb, int offset,
guint32 u32SubStart;
proto_item *item;
cba_frame_t *frame;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
- server_frame_call_t *call = (server_frame_call_t *)info->call_data->private_data;
+ server_frame_call_t *call = (server_frame_call_t *)di->call_data->private_data;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
if (call == NULL) {
expert_add_info(pinfo, NULL, &ei_cba_acco_no_request_info);
@@ -2264,7 +2253,7 @@ dissect_ICBAAccoServerSRT_ConnectCR_resp(tvbuff_t *tvb, int offset,
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 3;
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_server_first_connect, &u8FirstConnect);
/* ProviderMAC (big-endian, 1byte-aligned) */
@@ -2275,11 +2264,11 @@ dissect_ICBAAccoServerSRT_ConnectCR_resp(tvbuff_t *tvb, int offset,
offset += 6;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
while (u32ArraySize--) {
@@ -2291,10 +2280,10 @@ dissect_ICBAAccoServerSRT_ConnectCR_resp(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_connectoutcr);
u32SubStart = offset;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_prov_crid, &u32ProvCRID);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult);
/* put response data into the frame */
@@ -2316,7 +2305,7 @@ dissect_ICBAAccoServerSRT_ConnectCR_resp(tvbuff_t *tvb, int offset,
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
/* this might be a global HRESULT */
@@ -2338,32 +2327,31 @@ dissect_ICBAAccoServerSRT_ConnectCR_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_DisconnectCR_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32ArraySize;
guint32 u32Idx;
guint32 u32ProvCRID = 0;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
cba_ldev_t *prov_ldev;
cba_frame_t *frame;
server_frame_call_t *call;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
/* get corresponding provider ldev */
- prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &info->call_data->object_uuid);
+ prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &di->call_data->object_uuid);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 4;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
/* link frame infos to the call */
@@ -2371,14 +2359,14 @@ dissect_ICBAAccoServerSRT_DisconnectCR_rqst(tvbuff_t *tvb, int offset,
call = (server_frame_call_t *)wmem_alloc(wmem_file_scope(), sizeof(server_frame_call_t) + u32ArraySize * sizeof(cba_frame_t *));
call->frame_count = 0;
call->frames = (cba_frame_t **) (call+1);
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
} else{
call = NULL;
}
u32Idx = 1;
while (u32ArraySize--) {
- offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_prov_crid, &u32ProvCRID, u32Idx);
/* find frame and add it to current call */
@@ -2401,7 +2389,7 @@ dissect_ICBAAccoServerSRT_DisconnectCR_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_DisconnectCR_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
guint32 u32Pointer;
@@ -2410,27 +2398,26 @@ dissect_ICBAAccoServerSRT_DisconnectCR_resp(tvbuff_t *tvb, int offset,
guint32 u32Tmp;
cba_frame_t *frame;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
- server_frame_call_t *call = (server_frame_call_t *)info->call_data->private_data;
+ server_frame_call_t *call = (server_frame_call_t *)di->call_data->private_data;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, FALSE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 3;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
u32Tmp = u32ArraySize;
while (u32Tmp--) {
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult, u32Idx);
/* put response data into the frame */
if (call && u32Idx <= call->frame_count) {
@@ -2444,7 +2431,7 @@ dissect_ICBAAccoServerSRT_DisconnectCR_resp(tvbuff_t *tvb, int offset,
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -2456,7 +2443,7 @@ dissect_ICBAAccoServerSRT_DisconnectCR_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_Connect_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32ProvCRID;
guint8 u8State;
@@ -2478,7 +2465,6 @@ dissect_ICBAAccoServerSRT_Connect_rqst(tvbuff_t *tvb, int offset,
guint16 u16RecordLength;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
cba_ldev_t *prov_ldev;
cba_frame_t *frame = NULL;
guint16 typedesclen = 0;
@@ -2488,16 +2474,16 @@ dissect_ICBAAccoServerSRT_Connect_rqst(tvbuff_t *tvb, int offset,
server_connect_call_t *call;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
/* get corresponding provider ldev */
- prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &info->call_data->object_uuid);
+ prov_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &di->call_data->object_uuid);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 4;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_prov_crid, &u32ProvCRID);
frame = cba_frame_find_by_provcrid(pinfo, prov_ldev, u32ProvCRID);
@@ -2506,17 +2492,17 @@ dissect_ICBAAccoServerSRT_Connect_rqst(tvbuff_t *tvb, int offset,
cba_frame_info(tvb, pinfo, tree, frame);
}
- offset = dissect_dcom_BYTE(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BYTE(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_BYTE(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BYTE(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_serversrt_last_connect, &u8LastConnect);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
/* link connections infos to the call */
@@ -2525,7 +2511,7 @@ dissect_ICBAAccoServerSRT_Connect_rqst(tvbuff_t *tvb, int offset,
call->conn_count = 0;
call->frame = frame;
call->conns = (cba_connection_t **) (call+1);
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
} else{
call = NULL;
}
@@ -2543,22 +2529,22 @@ dissect_ICBAAccoServerSRT_Connect_rqst(tvbuff_t *tvb, int offset,
u32SubStart = offset;
/* ProviderItem */
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_provider_item, szProvItem, u32MaxProvItemLen);
}
/* TypeDescLen */
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_type_desc_len, &u16TypeDescLen);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
/* pTypeDesc */
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_dcerpc_array_size(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_dcerpc_array_size(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
&u32ArraySize2);
typedesc = (guint16 *)wmem_alloc0(wmem_file_scope(), u32ArraySize2 * 2);
@@ -2568,7 +2554,7 @@ dissect_ICBAAccoServerSRT_Connect_rqst(tvbuff_t *tvb, int offset,
u32Idx2 = 1;
while (u32ArraySize2--) {
/* ToBeDone: some of the type description values are counts */
- u32VariableOffset = dissect_dcom_VARTYPE(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARTYPE(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
&u16VarType);
if (u32Idx2 <= typedesclen) {
@@ -2584,11 +2570,11 @@ dissect_ICBAAccoServerSRT_Connect_rqst(tvbuff_t *tvb, int offset,
}
/* ConsumerID */
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_cons_id, &u32ConsID);
/* RecordLength */
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_serversrt_record_length, &u16RecordLength);
/* add to object database */
@@ -2630,7 +2616,7 @@ dissect_ICBAAccoServerSRT_Connect_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServerSRT_Connect_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
guint32 u32ArraySize;
@@ -2640,13 +2626,12 @@ dissect_ICBAAccoServerSRT_Connect_resp(tvbuff_t *tvb, int offset,
guint32 u32HResult;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
- server_connect_call_t *call = (server_connect_call_t *)info->call_data->private_data;
+ server_connect_call_t *call = (server_connect_call_t *)di->call_data->private_data;
cba_connection_t *conn;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
if (call == NULL) {
expert_add_info(pinfo, NULL, &ei_cba_acco_no_request_info);
@@ -2656,7 +2641,7 @@ dissect_ICBAAccoServerSRT_Connect_resp(tvbuff_t *tvb, int offset,
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 3;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (call && call->frame != NULL) {
@@ -2664,7 +2649,7 @@ dissect_ICBAAccoServerSRT_Connect_resp(tvbuff_t *tvb, int offset,
}
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
/* array of CONNECTOUTs */
@@ -2676,10 +2661,10 @@ dissect_ICBAAccoServerSRT_Connect_resp(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_connectout);
u32SubStart = offset;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_prov_id, &u32ProvID);
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult, u32Idx);
/* put response data into the frame */
@@ -2700,7 +2685,7 @@ dissect_ICBAAccoServerSRT_Connect_resp(tvbuff_t *tvb, int offset,
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
/* this might be a global HRESULT */
@@ -2721,7 +2706,7 @@ dissect_ICBAAccoServerSRT_Connect_resp(tvbuff_t *tvb, int offset,
static int
dissect_Server_GetProvIDs_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32Pointer;
@@ -2731,9 +2716,9 @@ dissect_Server_GetProvIDs_resp(tvbuff_t *tvb, int offset,
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
if (u32Count) {
@@ -2742,16 +2727,16 @@ dissect_Server_GetProvIDs_resp(tvbuff_t *tvb, int offset,
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cnt=%u", u32Count);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
while (u32ArraySize--) {
offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo,
- tree, drep,
+ tree, di, drep,
hf_cba_acco_conn_prov_id, &u32ProvID, u32Idx);
if (u32Idx == 1) {
@@ -2766,7 +2751,7 @@ dissect_Server_GetProvIDs_resp(tvbuff_t *tvb, int offset,
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -2778,7 +2763,7 @@ dissect_Server_GetProvIDs_resp(tvbuff_t *tvb, int offset,
static int
dissect_Server_GetProvConnections_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32ArraySize;
@@ -2786,17 +2771,17 @@ dissect_Server_GetProvConnections_rqst(tvbuff_t *tvb, int offset,
guint32 u32ProvID;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
while (u32ArraySize--) {
- offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_prov_id, &u32ProvID, u32Idx);
u32Idx++;
}
@@ -2810,7 +2795,7 @@ dissect_Server_GetProvConnections_rqst(tvbuff_t *tvb, int offset,
static int
dissect_Server_GetProvConnections_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32TmpCount;
@@ -2829,15 +2814,15 @@ dissect_Server_GetProvConnections_resp(tvbuff_t *tvb, int offset,
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
u32VariableOffset = offset;
if (u32Pointer) {
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
u32VariableOffset = offset + u32Count*28;
@@ -2854,42 +2839,42 @@ dissect_Server_GetProvConnections_resp(tvbuff_t *tvb, int offset,
u32SubStart = offset;
/* wszConsumer */
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_consumer, szCons, u32MaxConsLen);
}
/* wszProviderItem */
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_provider_item, szProvItem, u32MaxProvItemLen);
}
/* dwConsID */
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_cons_id, &u32ConsID);
/* Epsilon */
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_epsilon);
}
/* QoS Type */
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_qos_type, &u16QoSType);
/* QoS Value */
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_qos_value, &u16QoSValue);
/* State */
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_state, &u8State);
/* PartialResult */
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult, u32Idx);
proto_item_append_text(sub_item, "[%u]: %s",
@@ -2901,7 +2886,7 @@ dissect_Server_GetProvConnections_resp(tvbuff_t *tvb, int offset,
}
}
- u32VariableOffset = dissect_dcom_HRESULT(tvb, u32VariableOffset, pinfo, tree, drep,
+ u32VariableOffset = dissect_dcom_HRESULT(tvb, u32VariableOffset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -3197,31 +3182,30 @@ dissect_CBA_Connection_Data_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
static int
dissect_ICBAAccoCallback_OnDataChanged_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Length;
guint32 u32ArraySize;
tvbuff_t *next_tvb;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
cba_ldev_t *cons_ldev;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
/* get corresponding provider ldev */
- cons_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &info->call_data->object_uuid);
+ cons_ldev = cba_ldev_find(pinfo, pinfo->net_dst.data, &di->call_data->object_uuid);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, FALSE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 1;
/* length */
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_cb_length, &u32Length);
/* array size */
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
/*** the data below is NOT ndr encoded (especially NOT aligned)!!! ***/
@@ -3236,19 +3220,19 @@ dissect_ICBAAccoCallback_OnDataChanged_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoCallback_OnDataChanged_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
proto_item *item;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 2;
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -3260,12 +3244,12 @@ dissect_ICBAAccoCallback_OnDataChanged_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoCallback_Gnip_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
proto_item *item;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, FALSE);
PROTO_ITEM_SET_GENERATED(item);
@@ -3277,19 +3261,19 @@ dissect_ICBAAccoCallback_Gnip_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoCallback_Gnip_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
proto_item *item;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_srt_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 4;
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -3301,23 +3285,22 @@ dissect_ICBAAccoCallback_Gnip_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer2_GetConnectionData_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
gchar szStr[1000];
guint32 u32MaxStr = sizeof(szStr);
proto_item *item;
cba_ldev_t *cons_ldev;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
cba_ldev_t **call;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
item = proto_tree_add_boolean (tree, hf_cba_acco_dcom_call, tvb, offset, 0, TRUE);
PROTO_ITEM_SET_GENERATED(item);
pinfo->profinet_type = 2;
- offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_consumer, szStr, u32MaxStr);
cons_ldev = cba_acco_add(pinfo, szStr);
@@ -3326,7 +3309,7 @@ dissect_ICBAAccoServer2_GetConnectionData_rqst(tvbuff_t *tvb, int offset,
if (cons_ldev != NULL) {
call = (cba_ldev_t **)wmem_alloc(wmem_file_scope(), sizeof(cba_ldev_t *));
*call = cons_ldev;
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
}
/* update column info now */
@@ -3338,7 +3321,7 @@ dissect_ICBAAccoServer2_GetConnectionData_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoServer2_GetConnectionData_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Length;
guint32 u32ArraySize;
@@ -3346,12 +3329,11 @@ dissect_ICBAAccoServer2_GetConnectionData_resp(tvbuff_t *tvb, int offset,
guint32 u32Pointer;
guint32 u32HResult;
proto_item *item;
- dcerpc_info *info = (dcerpc_info *)pinfo->private_data;
- cba_ldev_t **call = (cba_ldev_t **)info->call_data->private_data;
+ cba_ldev_t **call = (cba_ldev_t **)di->call_data->private_data;
cba_ldev_t *cons_ldev = (call!=NULL) ? *call : NULL;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
if (cons_ldev == NULL) {
expert_add_info(pinfo, NULL, &ei_cba_acco_no_request_info);
@@ -3362,14 +3344,14 @@ dissect_ICBAAccoServer2_GetConnectionData_resp(tvbuff_t *tvb, int offset,
pinfo->profinet_type = 1;
/* length */
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_cb_length, &u32Length);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
/* array size */
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
/*** the data below is NOT ndr encoded (especially NOT aligned)!!! ***/
@@ -3380,7 +3362,7 @@ dissect_ICBAAccoServer2_GetConnectionData_resp(tvbuff_t *tvb, int offset,
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
/* update column info now */
@@ -3393,7 +3375,7 @@ dissect_ICBAAccoServer2_GetConnectionData_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_AddConnections_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
gchar szConsumer[1000] = { 0 };
guint32 u32MaxConsLen = sizeof(szConsumer);
@@ -3413,21 +3395,21 @@ dissect_ICBAAccoMgt_AddConnections_rqst(tvbuff_t *tvb, int offset,
guint32 u32Idx;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_provider, szConsumer, u32MaxConsLen);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_type, &u16QoSType);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_value, &u16QoSValue);
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32VariableOffset = offset + u32ArraySize * 20;
@@ -3441,31 +3423,31 @@ dissect_ICBAAccoMgt_AddConnections_rqst(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_addconnectionin);
u32SubStart = offset;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_provider_item, szProvItem, u32MaxProvItemLen);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_consumer_item, szConsItem, u32MaxConsItemLen);
}
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_persist, &u16Persistence);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_substitute);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_epsilon);
}
proto_item_append_text(sub_item, "[%u]: ConsItem=\"%s\" ProvItem=\"%s\" %s Pers=%u",
@@ -3488,7 +3470,7 @@ dissect_ICBAAccoMgt_AddConnections_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_AddConnections_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
guint32 u32ArraySize = 0;
@@ -3500,13 +3482,13 @@ dissect_ICBAAccoMgt_AddConnections_resp(tvbuff_t *tvb, int offset,
guint32 u32SubStart;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Count = u32ArraySize;
@@ -3519,13 +3501,13 @@ dissect_ICBAAccoMgt_AddConnections_resp(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_addconnectionout);
u32SubStart = offset;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_cons_id, &u32ConsID);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_version, &u16ConnVersion);
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult, u32Idx);
proto_item_append_text(sub_item, "[%u]: ConsID=0x%x Version=%u %s",
@@ -3540,7 +3522,7 @@ dissect_ICBAAccoMgt_AddConnections_resp(tvbuff_t *tvb, int offset,
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cnt=%u", u32Count);
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
/* update column info now */
@@ -3553,7 +3535,7 @@ dissect_ICBAAccoMgt_AddConnections_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_RemoveConnections_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32ArraySize;
@@ -3561,17 +3543,17 @@ dissect_ICBAAccoMgt_RemoveConnections_rqst(tvbuff_t *tvb, int offset,
guint32 u32ConsID;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
while (u32ArraySize--) {
- offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_cons_id, &u32ConsID, u32Idx);
u32Idx++;
}
@@ -3585,7 +3567,7 @@ dissect_ICBAAccoMgt_RemoveConnections_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_SetActivationState_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint8 u8State;
guint32 u32Count;
@@ -3594,20 +3576,20 @@ dissect_ICBAAccoMgt_SetActivationState_rqst(tvbuff_t *tvb, int offset,
guint32 u32ConsID;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
while (u32ArraySize--) {
- offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_cons_id, &u32ConsID, u32Idx);
u32Idx++;
}
@@ -3621,22 +3603,22 @@ dissect_ICBAAccoMgt_SetActivationState_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_GetInfo_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Max;
guint32 u32CurCnt;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_info_max, &u32Max);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_info_curr, &u32CurCnt);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": %u/%u -> %s",
@@ -3649,7 +3631,7 @@ dissect_ICBAAccoMgt_GetInfo_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_GetIDs_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32Pointer;
@@ -3662,9 +3644,9 @@ dissect_ICBAAccoMgt_GetIDs_resp(tvbuff_t *tvb, int offset,
guint32 u32SubStart;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
if (u32Count) {
@@ -3673,10 +3655,10 @@ dissect_ICBAAccoMgt_GetIDs_resp(tvbuff_t *tvb, int offset,
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cnt=%u", u32Count);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
@@ -3688,13 +3670,13 @@ dissect_ICBAAccoMgt_GetIDs_resp(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_getidout);
u32SubStart = offset;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_cons_id, &u32ConsID);
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_version, &u16Version);
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult, u32Idx);
proto_item_append_text(sub_item, "[%u]: ConsID=0x%x State=%s Version=%u %s",
@@ -3716,7 +3698,7 @@ dissect_ICBAAccoMgt_GetIDs_resp(tvbuff_t *tvb, int offset,
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -3728,7 +3710,7 @@ dissect_ICBAAccoMgt_GetIDs_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt2_GetConsIDs_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32Pointer;
@@ -3738,9 +3720,9 @@ dissect_ICBAAccoMgt2_GetConsIDs_resp(tvbuff_t *tvb, int offset,
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
if (u32Count) {
@@ -3749,16 +3731,16 @@ dissect_ICBAAccoMgt2_GetConsIDs_resp(tvbuff_t *tvb, int offset,
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cnt=%u", u32Count);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
while (u32ArraySize--) {
offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo,
- tree, drep,
+ tree, di, drep,
hf_cba_acco_conn_cons_id, &u32ConsID, u32Idx);
if (u32Idx == 1) {
@@ -3773,7 +3755,7 @@ dissect_ICBAAccoMgt2_GetConsIDs_resp(tvbuff_t *tvb, int offset,
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -3785,7 +3767,7 @@ dissect_ICBAAccoMgt2_GetConsIDs_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt2_GetConsConnections_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32TmpCount;
@@ -3807,15 +3789,15 @@ dissect_ICBAAccoMgt2_GetConsConnections_resp(tvbuff_t *tvb, int offset,
guint32 u32MaxConsItemLen = sizeof(szConsItem);
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
u32VariableOffset = offset;
if (u32Pointer) {
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
u32VariableOffset = offset + u32Count*32;
@@ -3831,46 +3813,46 @@ dissect_ICBAAccoMgt2_GetConsConnections_resp(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_getconnectionout);
u32SubStart = offset;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_provider, szProv, u32MaxProvLen);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_provider_item, szProvItem, u32MaxProvItemLen);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_consumer_item, szConsItem, u32MaxConsItemLen);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_substitute);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_epsilon);
}
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_qos_type, &u16QoSType);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_qos_value, &u16QoSValue);
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_persist, &u16Persistence);
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult, u32Idx);
proto_item_append_text(sub_item, "[%u]: %s",
@@ -3882,7 +3864,7 @@ dissect_ICBAAccoMgt2_GetConsConnections_resp(tvbuff_t *tvb, int offset,
}
}
- u32VariableOffset = dissect_dcom_HRESULT(tvb, u32VariableOffset, pinfo, tree, drep,
+ u32VariableOffset = dissect_dcom_HRESULT(tvb, u32VariableOffset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -3894,7 +3876,7 @@ dissect_ICBAAccoMgt2_GetConsConnections_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt2_DiagConsConnections_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32TmpCount;
@@ -3909,15 +3891,15 @@ dissect_ICBAAccoMgt2_DiagConsConnections_resp(tvbuff_t *tvb, int offset,
guint32 u32ConnErrorState;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
u32VariableOffset = offset;
if (u32Pointer) {
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
u32VariableOffset = offset + u32Count*16;
@@ -3934,24 +3916,24 @@ dissect_ICBAAccoMgt2_DiagConsConnections_resp(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_getconnectionout);
u32SubStart = offset;
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_persist, &u16Persistence);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_version, &u16ConnVersion);
/* connection state */
#if 0
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_error_state, &u32ConnErrorState);
#endif
- offset = dissect_dcom_HRESULT_item(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_HRESULT_item(tvb, offset, pinfo, sub_tree, di, drep,
&u32ConnErrorState, hf_cba_acco_conn_error_state, &state_item);
proto_item_set_text(state_item, "ConnErrorState: %s (0x%x)",
val_to_str(u32ConnErrorState, dcom_hresult_vals, "Unknown (0x%08x)"),
u32ConnErrorState);
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult, u32Idx);
proto_item_append_text(sub_item, "[%u]: %s",
@@ -3963,7 +3945,7 @@ dissect_ICBAAccoMgt2_DiagConsConnections_resp(tvbuff_t *tvb, int offset,
}
}
- u32VariableOffset = dissect_dcom_HRESULT(tvb, u32VariableOffset, pinfo, tree, drep,
+ u32VariableOffset = dissect_dcom_HRESULT(tvb, u32VariableOffset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -3975,7 +3957,7 @@ dissect_ICBAAccoMgt2_DiagConsConnections_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_GetConnections_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32ConsID;
guint32 u32Count;
@@ -3983,17 +3965,17 @@ dissect_ICBAAccoMgt_GetConnections_rqst(tvbuff_t *tvb, int offset,
guint32 u32Idx;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Idx = 1;
while (u32ArraySize--){
- offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_indexed_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_cons_id, &u32ConsID, u32Idx);
u32Idx++;
}
@@ -4004,7 +3986,7 @@ dissect_ICBAAccoMgt_GetConnections_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_GetConnections_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32TmpCount;
@@ -4027,15 +4009,15 @@ dissect_ICBAAccoMgt_GetConnections_resp(tvbuff_t *tvb, int offset,
guint32 u32MaxConsItemLen = sizeof(szConsItem);
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
u32VariableOffset = offset;
if (u32Pointer) {
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
u32VariableOffset = offset + u32Count*36;
@@ -4051,48 +4033,48 @@ dissect_ICBAAccoMgt_GetConnections_resp(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_getconnectionout);
u32SubStart = offset;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_provider, szProv, u32MaxProvLen);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_provider_item, szProvItem, u32MaxProvItemLen);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_consumer_item, szConsItem, u32MaxConsItemLen);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_substitute);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_epsilon);
}
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_qos_type, &u16QoSType);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_qos_value, &u16QoSValue);
- offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_BOOLEAN(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_state, &u8State);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_persist, &u16Persistence);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_conn_version, &u16ConnVersion);
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult, u32Idx);
proto_item_append_text(sub_item, "[%u]: %s",
@@ -4104,7 +4086,7 @@ dissect_ICBAAccoMgt_GetConnections_resp(tvbuff_t *tvb, int offset,
}
}
- u32VariableOffset = dissect_dcom_HRESULT(tvb, u32VariableOffset, pinfo, tree, drep,
+ u32VariableOffset = dissect_dcom_HRESULT(tvb, u32VariableOffset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -4116,7 +4098,7 @@ dissect_ICBAAccoMgt_GetConnections_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_ReviseQoS_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16QoSType;
guint16 u16QoSValue;
@@ -4124,15 +4106,15 @@ dissect_ICBAAccoMgt_ReviseQoS_rqst(tvbuff_t *tvb, int offset,
guint32 u32MaxStr = sizeof(szStr);
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_LPWSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_rtauto, szStr, u32MaxStr);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_type, &u16QoSType);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_value, &u16QoSValue);
col_append_fstr(pinfo->cinfo, COL_INFO, ": RTAuto=\"%s\" QoSType=%s QoSValue=%u",
@@ -4146,18 +4128,18 @@ dissect_ICBAAccoMgt_ReviseQoS_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_ReviseQoS_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16QoSValue;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_conn_qos_value, &u16QoSValue);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": %u -> %s",
@@ -4170,18 +4152,18 @@ dissect_ICBAAccoMgt_ReviseQoS_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_get_PingFactor_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16PF;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_ping_factor, &u16PF);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": %u -> %s",
@@ -4194,14 +4176,14 @@ dissect_ICBAAccoMgt_get_PingFactor_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_put_PingFactor_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16PF;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_ping_factor, &u16PF);
col_append_fstr(pinfo->cinfo, COL_INFO, ": %u", u16PF);
@@ -4213,18 +4195,18 @@ dissect_ICBAAccoMgt_put_PingFactor_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_get_CDBCookie_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Cookie;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_cdb_cookie, &u32Cookie);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": CDBCookie=0x%x -> %s",
@@ -4237,22 +4219,22 @@ dissect_ICBAAccoMgt_get_CDBCookie_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_GetDiagnosis_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Request;
guint32 u32InLength;
guint32 u32ArraySize;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_diag_req, &u32Request);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_diag_in_length, &u32InLength);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
if (u32ArraySize != 0) {
@@ -4269,14 +4251,14 @@ dissect_ICBAAccoMgt_GetDiagnosis_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoMgt_GetDiagnosis_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32OutLength;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_diag_out_length, &u32OutLength);
if (u32OutLength != 0) {
@@ -4292,7 +4274,7 @@ dissect_ICBAAccoMgt_GetDiagnosis_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoSync_ReadItems_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
gchar szStr[1000];
@@ -4303,22 +4285,22 @@ dissect_ICBAAccoSync_ReadItems_rqst(tvbuff_t *tvb, int offset,
guint32 u32Idx;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32VariableOffset = offset + u32ArraySize*4;
u32Idx = 1;
while (u32ArraySize--) {
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_indexed_LPWSTR(tvb, u32VariableOffset, pinfo, tree, drep,
+ u32VariableOffset = dissect_dcom_indexed_LPWSTR(tvb, u32VariableOffset, pinfo, tree, di, drep,
hf_cba_acco_item, szStr, u32MaxStr, u32Idx);
}
@@ -4335,7 +4317,7 @@ dissect_ICBAAccoSync_ReadItems_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoSync_ReadItems_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
guint16 u16QC;
@@ -4347,14 +4329,14 @@ dissect_ICBAAccoSync_ReadItems_resp(tvbuff_t *tvb, int offset,
guint32 u32Tmp;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
u32VariableOffset = offset;
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32VariableOffset = offset + u32ArraySize * 20;
@@ -4368,18 +4350,18 @@ dissect_ICBAAccoSync_ReadItems_resp(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_readitemout);
u32SubStart = offset;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep, hf_cba_acco_data);
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep, hf_cba_acco_data);
}
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_qc, &u16QC);
- offset = dissect_dcom_FILETIME(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_FILETIME(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_time_stamp, NULL);
- offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_indexed_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult, u32Idx);
proto_item_append_text(sub_item, "[%u]: QC=%s (0x%02x) %s",
@@ -4393,7 +4375,7 @@ dissect_ICBAAccoSync_ReadItems_resp(tvbuff_t *tvb, int offset,
}
}
- u32VariableOffset = dissect_dcom_HRESULT(tvb, u32VariableOffset, pinfo, tree, drep,
+ u32VariableOffset = dissect_dcom_HRESULT(tvb, u32VariableOffset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cnt=%u -> %s",
@@ -4406,7 +4388,7 @@ dissect_ICBAAccoSync_ReadItems_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoSync_WriteItems_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32ArraySize;
@@ -4418,12 +4400,12 @@ dissect_ICBAAccoSync_WriteItems_rqst(tvbuff_t *tvb, int offset,
guint32 u32Idx;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32VariableOffset = offset + u32ArraySize * 8;
@@ -4436,16 +4418,16 @@ dissect_ICBAAccoSync_WriteItems_rqst(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_writeitemin);
u32SubStart = offset;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_item, szStr, u32MaxStr);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_data);
}
@@ -4464,7 +4446,7 @@ dissect_ICBAAccoSync_WriteItems_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAAccoSync_WriteItemsQCD_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32ArraySize;
@@ -4476,12 +4458,12 @@ dissect_ICBAAccoSync_WriteItemsQCD_rqst(tvbuff_t *tvb, int offset,
guint32 u32Idx;
guint16 u16QC;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_acco_count, &u32Count);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32VariableOffset = offset + u32ArraySize * 20;
@@ -4494,24 +4476,24 @@ dissect_ICBAAccoSync_WriteItemsQCD_rqst(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_cba_writeitemin);
u32SubStart = offset;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_item, szStr, u32MaxStr);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, drep,
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, sub_tree, di, drep,
hf_cba_acco_data);
}
- offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_qc, &u16QC);
- offset = dissect_dcom_FILETIME(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_FILETIME(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_acco_time_stamp, NULL);
proto_item_append_text(sub_item, "[%u]: Item=\"%s\" QC=%s (0x%02x)",
diff --git a/plugins/profinet/packet-dcom-cba.c b/plugins/profinet/packet-dcom-cba.c
index e99014d827..b49602afa1 100644
--- a/plugins/profinet/packet-dcom-cba.c
+++ b/plugins/profinet/packet-dcom-cba.c
@@ -210,18 +210,18 @@ static const value_string dcom_boolean_vals[] = {
static int
dissect_ICBABrowse_get_Count_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Count;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_browse_count, &u32Count);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
if (u32HResult) { /* !S_OK */
@@ -238,17 +238,17 @@ dissect_ICBABrowse_get_Count_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBABrowse_BrowseItems_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Offset;
guint32 u32MaxReturn;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_browse_offset, &u32Offset);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_browse_max_return, &u32MaxReturn);
col_append_fstr(pinfo->cinfo, COL_INFO, " Offset=%u MaxReturn=%u",
@@ -260,33 +260,33 @@ dissect_ICBABrowse_BrowseItems_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBABrowse_BrowseItems_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep, hf_cba_browse_item);
+ offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, di, drep, hf_cba_browse_item);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep, hf_cba_browse_data_type);
+ offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, di, drep, hf_cba_browse_data_type);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep, hf_cba_browse_access_right);
+ offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, di, drep, hf_cba_browse_access_right);
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -298,14 +298,14 @@ dissect_ICBABrowse_BrowseItems_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBABrowse2_get_Count2_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Selector;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_browse_selector, &u32Selector);
col_append_fstr(pinfo->cinfo, COL_INFO, " Selector=%u",
@@ -318,20 +318,20 @@ dissect_ICBABrowse2_get_Count2_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBABrowse2_BrowseItems2_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Selector;
guint32 u32Offset;
guint32 u32MaxReturn;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_browse_selector, &u32Selector);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_browse_offset, &u32Offset);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_browse_max_return, &u32MaxReturn);
col_append_fstr(pinfo->cinfo, COL_INFO, " Sel=%u Offset=%u MaxReturn=%u",
@@ -343,33 +343,33 @@ dissect_ICBABrowse2_BrowseItems2_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBABrowse2_BrowseItems2_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep, hf_cba_browse_item);
+ offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, di, drep, hf_cba_browse_item);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep, hf_cba_browse_info1);
+ offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, di, drep, hf_cba_browse_info1);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep, hf_cba_browse_info2);
+ offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, di, drep, hf_cba_browse_info2);
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -381,27 +381,27 @@ dissect_ICBABrowse2_BrowseItems2_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAPersist2_Save2_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep, hf_cba_save_ldev_name);
+ offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, di, drep, hf_cba_save_ldev_name);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep, hf_cba_save_result);
+ offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, di, drep, hf_cba_save_result);
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -414,7 +414,7 @@ dissect_ICBAPersist2_Save2_resp(tvbuff_t *tvb, int offset,
static int
dissect_get_BSTR_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep, int hfindex)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep, int hfindex)
{
gchar szStr[1000];
guint32 u32MaxStr = sizeof(szStr);
@@ -422,16 +422,16 @@ dissect_get_BSTR_resp(tvbuff_t *tvb, int offset,
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, di, drep,
hfindex, szStr, u32MaxStr);
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": \"%s\" -> %s", szStr,
@@ -443,18 +443,18 @@ dissect_get_BSTR_resp(tvbuff_t *tvb, int offset,
static int
dissect_get_ProductionDate_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
gdouble r8Date;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DATE(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DATE(tvb, offset, pinfo, tree, di, drep,
hf_cba_production_date, &r8Date);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Date: %g -> %s",
@@ -467,22 +467,22 @@ dissect_get_ProductionDate_resp(tvbuff_t *tvb, int offset,
static int
dissect_get_SerialNo_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
guint32 u32Pointer;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, di, drep,
hf_cba_serial_no);
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -494,18 +494,18 @@ dissect_get_SerialNo_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBATime_get_Time_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
gdouble r8Date;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DATE(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DATE(tvb, offset, pinfo, tree, di, drep,
hf_cba_time, &r8Date);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Time: %g -> %s",
@@ -518,14 +518,14 @@ dissect_ICBATime_get_Time_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBATime_put_Time_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
gdouble r8Date;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DATE(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DATE(tvb, offset, pinfo, tree, di, drep,
hf_cba_time, &r8Date);
return offset;
@@ -534,45 +534,44 @@ dissect_ICBATime_put_Time_rqst(tvbuff_t *tvb, int offset,
static int
dissect_get_Producer_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
- return dissect_get_BSTR_resp(tvb, offset, pinfo, tree, drep, hf_cba_producer);
+ return dissect_get_BSTR_resp(tvb, offset, pinfo, tree, di, drep, hf_cba_producer);
}
static int
dissect_get_Product_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
- return dissect_get_BSTR_resp(tvb, offset, pinfo, tree, drep, hf_cba_product);
+ return dissect_get_BSTR_resp(tvb, offset, pinfo, tree, di, drep, hf_cba_product);
}
static int
dissect_ICBAPhysicalDevice_get_LogicalDevice_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
gchar szStr[1000];
guint32 u32MaxStr = sizeof(szStr);
- dcerpc_info *info = (dcerpc_info *) pinfo->private_data;
gchar *call;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_name, szStr, u32MaxStr);
}
if (strlen(szStr) > 0) {
call = wmem_strdup(wmem_file_scope(), szStr);
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
}
col_append_fstr(pinfo->cinfo, COL_INFO, ": \"%s\"", szStr);
@@ -583,26 +582,25 @@ dissect_ICBAPhysicalDevice_get_LogicalDevice_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAPhysicalDevice_get_LogicalDevice_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
- dcerpc_info *info = (dcerpc_info *) pinfo->private_data;
- gchar *ldev_name = (gchar *)info->call_data->private_data;
+ gchar *ldev_name = (gchar *)di->call_data->private_data;
dcom_interface_t *pdev_interf;
dcom_interface_t *ldev_interf;
cba_pdev_t *pdev;
cba_ldev_t *ldev;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, drep, 0, &ldev_interf);
+ offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, di, drep, 0, &ldev_interf);
/* try to read the ldev name from the request */
if (ldev_name != NULL && ldev_interf != NULL) {
/* XXX - this is a hack to create a pdev interface */
/* as I currently don't understand the objref process for a root interface! */
- pdev_interf = dcom_interface_new(pinfo, (const guint8 *)pinfo->net_dst.data, &uuid_ICBAPhysicalDevice, 0, 0, &info->call_data->object_uuid);
+ pdev_interf = dcom_interface_new(pinfo, (const guint8 *)pinfo->net_dst.data, &uuid_ICBAPhysicalDevice, 0, 0, &di->call_data->object_uuid);
if (pdev_interf != NULL) {
pdev = cba_pdev_add(pinfo, (const guint8 *)pinfo->net_dst.data);
cba_pdev_link(pinfo, pdev, pdev_interf);
@@ -612,7 +610,7 @@ dissect_ICBAPhysicalDevice_get_LogicalDevice_resp(tvbuff_t *tvb, int offset,
}
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -624,22 +622,22 @@ dissect_ICBAPhysicalDevice_get_LogicalDevice_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAPhysicalDevice2_Type_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16MultiApp;
guint16 u16PROFInetDCOMStack;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_VARIANT_BOOL(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_VARIANT_BOOL(tvb, offset, pinfo, tree, di, drep,
hf_cba_multi_app, &u16MultiApp);
- offset = dissect_dcom_VARIANT_BOOL(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_VARIANT_BOOL(tvb, offset, pinfo, tree, di, drep,
hf_cba_profinet_dcom_stack, &u16PROFInetDCOMStack);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " App=%s Stack=%s -> %s",
@@ -653,7 +651,7 @@ dissect_ICBAPhysicalDevice2_Type_resp(tvbuff_t *tvb, int offset,
static int
dissect_PROFInetRevision_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16Major;
guint16 u16Minor;
@@ -662,18 +660,18 @@ dissect_PROFInetRevision_resp(tvbuff_t *tvb, int offset,
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_revision_major, &u16Major);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_revision_minor, &u16Minor);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_revision_service_pack, &u16ServicePack);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_revision_build, &u16Build);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " Revision=%u.%u.%u.%u -> %s",
@@ -686,18 +684,18 @@ dissect_PROFInetRevision_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAPhysicalDevice2_get_PDevStamp_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32PDevStamp;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_pdev_stamp, &u32PDevStamp);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " PDevStamp=0x%x -> %s",
@@ -710,22 +708,22 @@ dissect_ICBAPhysicalDevice2_get_PDevStamp_resp(tvbuff_t *tvb, int offset,
static int
dissect_Revision_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16Major;
guint16 u16Minor;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_revision_major, &u16Major);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_revision_minor, &u16Minor);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": %u.%u -> %s",
@@ -738,7 +736,7 @@ dissect_Revision_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBALogicalDevice_get_Name_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
gchar szStr[1000];
guint32 u32MaxStr = sizeof(szStr);
@@ -746,16 +744,16 @@ dissect_ICBALogicalDevice_get_Name_resp(tvbuff_t *tvb, int offset,
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_name, szStr, u32MaxStr);
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": \"%s\" -> %s", szStr,
@@ -767,38 +765,37 @@ dissect_ICBALogicalDevice_get_Name_resp(tvbuff_t *tvb, int offset,
static int
dissect_RTAuto_get_Name_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
- return dissect_get_BSTR_resp(tvb, offset, pinfo, tree, drep, hf_cba_name);
+ return dissect_get_BSTR_resp(tvb, offset, pinfo, tree, di, drep, hf_cba_name);
}
static int
dissect_ICBALogicalDevice_get_ACCO_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
dcom_interface_t *acco_interf;
- dcerpc_info *info = (dcerpc_info *) pinfo->private_data;
cba_ldev_t *ldev;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, drep, 0, &acco_interf);
+ offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, di, drep, 0, &acco_interf);
if (acco_interf == NULL) {
expert_add_info(pinfo, NULL, &ei_cba_acco_interface_pointer_unresolved);
}
- ldev = cba_ldev_find(pinfo, pinfo->net_src.data, &info->call_data->object_uuid);
+ ldev = cba_ldev_find(pinfo, pinfo->net_src.data, &di->call_data->object_uuid);
/* "crosslink" interface and its object */
if (ldev != NULL && acco_interf != NULL) {
cba_ldev_link_acco(pinfo, ldev, acco_interf);
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep, &u32HResult);
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep, &u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
val_to_str(u32HResult, dcom_hresult_vals, "Unknown (0x%08x)") );
@@ -809,16 +806,16 @@ dissect_ICBALogicalDevice_get_ACCO_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBALogicalDevice_get_RTAuto_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, drep, 0, NULL);
+ offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, di, drep, 0, NULL);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep, &u32HResult);
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep, &u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
val_to_str(u32HResult, dcom_hresult_vals, "Unknown (0x%08x)") );
@@ -829,19 +826,19 @@ dissect_ICBALogicalDevice_get_RTAuto_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBALogicalDevice_Get_RTAuto_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
gchar szStr[1000];
guint32 u32MaxStr = sizeof(szStr);
guint32 u32Pointer;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_name, szStr, u32MaxStr);
}
@@ -854,7 +851,7 @@ dissect_ICBALogicalDevice_Get_RTAuto_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ComponentInfo_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
gchar szStr[1000];
guint32 u32MaxStr = sizeof(szStr);
@@ -864,23 +861,23 @@ dissect_ComponentInfo_resp(tvbuff_t *tvb, int offset,
guint32 u32Pointer;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_component_id, szStr, u32MaxStr);
}
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_BSTR(tvb, offset, pinfo, tree, di, drep,
hf_cba_component_version, szStr2, u32MaxStr2);
}
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep, &u32HResult);
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep, &u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": ID=\"%s\" Version=\"%s\" -> %s",
szStr, szStr2,
@@ -892,7 +889,7 @@ dissect_ComponentInfo_resp(tvbuff_t *tvb, int offset,
static void
dissect_PBAddressInfo(tvbuff_t *tvb, gint offset, packet_info *pinfo,
- proto_tree *tree, guint8 *drep,
+ proto_tree *tree, dcerpc_info *di, guint8 *drep,
guint32 u32VarType _U_, guint32 u32ArraySize)
{
guint8 u8ID;
@@ -905,9 +902,9 @@ dissect_PBAddressInfo(tvbuff_t *tvb, gint offset, packet_info *pinfo,
sub_item = proto_tree_add_item(tree, hf_cba_pbaddress, tvb, offset, 2, ENC_NA);
sub_tree = proto_item_add_subtree(sub_item, ett_PBAddress);
- offset = dissect_dcom_BYTE(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_BYTE(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_pbaddress_system_id, &u8ID);
- offset = dissect_dcom_BYTE(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_BYTE(tvb, offset, pinfo, sub_tree, di, drep,
hf_cba_pbaddress_address, &u8Addr);
u32ArraySize-=2;
@@ -920,15 +917,15 @@ dissect_PBAddressInfo(tvbuff_t *tvb, gint offset, packet_info *pinfo,
static int
dissect_PBAddressInfo_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_SAFEARRAY(tvb, offset, pinfo, tree, drep, 0 /*hfindex _U_ */, dissect_PBAddressInfo);
+ offset = dissect_dcom_SAFEARRAY(tvb, offset, pinfo, tree, di, drep, 0 /*hfindex _U_ */, dissect_PBAddressInfo);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep, &u32HResult);
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep, &u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
val_to_str(u32HResult, dcom_hresult_vals, "Unknown (0x%08x)") );
@@ -939,13 +936,13 @@ dissect_PBAddressInfo_resp(tvbuff_t *tvb, int offset,
static int
dissect_Advise_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, drep, 0, NULL);
+ offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, di, drep, 0, NULL);
return offset;
}
@@ -953,18 +950,18 @@ dissect_Advise_rqst(tvbuff_t *tvb, int offset,
static int
dissect_Advise_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Cookie;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_cookie, &u32Cookie);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cookie=0x%x -> %s",
@@ -977,14 +974,14 @@ dissect_Advise_resp(tvbuff_t *tvb, int offset,
static int
dissect_Unadvise_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Cookie;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_cookie, &u32Cookie);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cookie=0x%x",
@@ -996,18 +993,18 @@ dissect_Unadvise_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAState_get_State_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16State;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_state, &u16State);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": State=%s -> %s",
@@ -1020,18 +1017,18 @@ dissect_ICBAState_get_State_resp(tvbuff_t *tvb, int offset,
static int
dissect_ICBAStateEvent_OnStateChanged_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16NewState;
guint16 u16OldState;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_new_state, &u16NewState);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_old_state, &u16OldState);
col_append_fstr(pinfo->cinfo, COL_INFO, ": NewState=%s OldState=%s",
@@ -1044,18 +1041,18 @@ dissect_ICBAStateEvent_OnStateChanged_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAGroupError_OnGroupErrorChanged_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16NewGroupError;
guint16 u16OldGroupError;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_new_grouperror, &u16NewGroupError);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_old_grouperror, &u16OldGroupError);
col_append_fstr(pinfo->cinfo, COL_INFO, ": NewGE=%s OldGE=%s",
@@ -1068,20 +1065,20 @@ dissect_ICBAGroupError_OnGroupErrorChanged_rqst(tvbuff_t *tvb, int offset,
static int
dissect_ICBAPhysicalDevicePCEvent_OnLogicalDeviceAdded_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Cookie;
guint32 u32HResult;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_cookie, &u32Cookie);
- offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, drep, 0, NULL);
+ offset = dissect_dcom_PMInterfacePointer(tvb, offset, pinfo, tree, di, drep, 0, NULL);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": Cookie=0x%x %s",
@@ -1094,22 +1091,22 @@ dissect_ICBAPhysicalDevicePCEvent_OnLogicalDeviceAdded_rqst(tvbuff_t *tvb, int o
static int
dissect_ICBAGroupError_GroupError_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint16 u16GroupError;
guint32 u32Cookie;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_grouperror, &u16GroupError);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_cba_cookie, &u32Cookie);
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, ": GroupError=%s Cookie=0x%x -> %s",