packet-mq: Handle MQV9

Handle Put Message Option V3
Add various new defines
Fix a typo

Bug: 13006
Change-Id: I022de9f131558bb8a0144d840a6484944f75cffe
Reviewed-on: https://code.wireshark.org/review/18121
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
Robert Grange 2016-10-08 12:49:49 +02:00 committed by Michael Mann
parent 5da38b6c11
commit 2e3e285f03
3 changed files with 99 additions and 38 deletions

View File

@ -65,6 +65,11 @@ DEF_VALRB(ccsid)
/* >=1*/ DEF_VALR3(MQCCSI_1, MQCCSI_65535, ""),
DEF_VALRE;
DEF_VALSB(Keyreusecount)
/* 0 */ DEF_VALS1(MQKEY_REUSE_DISABLED),
/* -1 */ DEF_VALS1(MQKEY_REUSE_UNLIMITED),
DEF_VALSE;
DEF_VALSBX(mqcc)
/* -1*/ DEF_VALS1(MQCC_UNKNOWN),
/* 0*/ DEF_VALS1(MQCC_OK),
@ -186,6 +191,7 @@ DEF_VALSB(AdoptNewMCACheck)
/* 1*/ DEF_VALS1(MQADOPT_CHECK_ALL),
/* 2*/ DEF_VALS1(MQADOPT_CHECK_Q_MGR_NAME),
/* 4*/ DEF_VALS1(MQADOPT_CHECK_NET_ADDR),
/* 8*/ DEF_VALS1(MQADOPT_CHECK_CHANNEL_NAME),
DEF_VALSE;
DEF_VALSB(ActivityRecording)
@ -2327,6 +2333,7 @@ DEF_VALSB(mqrc)
/* 2596*/ DEF_VALS1(MQRC_CERT_LABEL_NOT_ALLOWED),
/* 2598*/ DEF_VALS1(MQRC_ADMIN_TOPIC_STRING_ERROR),
/* 2599*/ DEF_VALS1(MQRC_AMQP_NOT_AVAILABLE),
/* 2600*/ DEF_VALS1(MQRC_CCDT_URL_ERROR),
/* 3001*/ DEF_VALS1(MQRCCF_CFH_TYPE_ERROR),
/* 3002*/ DEF_VALS1(MQRCCF_CFH_LENGTH_ERROR),
/* 3003*/ DEF_VALS1(MQRCCF_CFH_VERSION_ERROR),
@ -2742,6 +2749,7 @@ DEF_VALSB(objtype)
/* 1019*/ DEF_VALS1(MQOT_PROT_POLICY),
/* 1020*/ DEF_VALS1(MQOT_TT_CHANNEL),
/* 1021*/ DEF_VALS1(MQOT_AMQP_CHANNEL),
/* 1022*/ DEF_VALS1(MQOT_AUTH_REC),
DEF_VALSE;
DEF_VALS_EXTBX(objtype);
@ -2963,6 +2971,21 @@ DEF_VALSB(PrmId)
/* 250*/ DEF_VALS1(MQIA_DEF_CLUSTER_XMIT_Q_TYPE),
/* 251*/ DEF_VALS1(MQIA_PROT_POLICY_CAPABILITY),
/* 252*/ DEF_VALS1(MQIA_CERT_VAL_POLICY),
/* 253*/ DEF_VALS1(MQIA_TOPIC_NODE_COUNT),
/* 254*/ DEF_VALS1(MQIA_REVERSE_DNS_LOOKUP),
/* 255*/ DEF_VALS1(MQIA_CLUSTER_PUB_ROUTE),
/* 256*/ DEF_VALS1(MQIA_CLUSTER_OBJECT_STATE),
/* 257*/ DEF_VALS1(MQIA_CHECK_LOCAL_BINDING),
/* 258*/ DEF_VALS1(MQIA_CHECK_CLIENT_BINDING),
/* 259*/ DEF_VALS1(MQIA_AUTHENTICATION_FAIL_DELAY),
/* 260*/ DEF_VALS1(MQIA_ADOPT_CONTEXT),
/* 261*/ DEF_VALS1(MQIA_LDAP_SECURE_COMM),
/* 262*/ DEF_VALS1(MQIA_DISPLAY_TYPE),
/* 263*/ DEF_VALS1(MQIA_LDAP_AUTHORMD),
/* 264*/ DEF_VALS1(MQIA_LDAP_NESTGRP),
/* 265*/ DEF_VALS1(MQIA_AMQP_CAPABILITY),
/* 266*/ DEF_VALS1(MQIA_AUTHENTICATION_METHOD),
/* 267*/ DEF_VALS1(MQIA_KEY_REUSE_COUNT),
/* 702*/ DEF_VALS1(MQIAMO_AVG_BATCH_SIZE),
/* 703*/ DEF_VALS1(MQIAMO_AVG_Q_TIME),
/* 703*/ DEF_VALS1(MQIAMO64_AVG_Q_TIME),
@ -3445,6 +3468,9 @@ DEF_VALSB(PrmId)
/* 1409*/ DEF_VALS1(MQIACF_LDAP_CONNECTION_STATUS),
/* 1410*/ DEF_VALS1(MQIACF_SYSP_MAX_ACE_POOL),
/* 1411*/ DEF_VALS1(MQIACF_PAGECLAS),
/* 1412*/ DEF_VALS1(MQIACF_AUTH_REC_TYPE),
/* 1413*/ DEF_VALS1(MQIACF_SYSP_MAX_CONC_OFFLOADS),
/* 1414*/ DEF_VALS1(MQIACF_SYSP_ZHYPERWRITE),
/* 1501*/ DEF_VALS1(MQIACH_XMIT_PROTOCOL_TYPE),
/* 1502*/ DEF_VALS1(MQIACH_BATCH_SIZE),
/* 1503*/ DEF_VALS1(MQIACH_DISC_INTERVAL),
@ -4484,6 +4510,7 @@ DEF_VALSB(MQCFINT_Parse)
/* 250*/ DEF_VALS2(MQIA_DEF_CLUSTER_XMIT_Q_TYPE, GET_VALSP(DefClusXmitTyp)),
/* 251*/ DEF_VALS2(MQIA_PROT_POLICY_CAPABILITY, GET_VALSP(Capability)),
/* 252*/ DEF_VALS2(MQIA_CERT_VAL_POLICY, GET_VALSP(CertValPolicy)),
/* 267*/ DEF_VALS2(MQIA_KEY_REUSE_COUNT, GET_VALSP(Keyreusecount)),
/* 1001*/ DEF_VALS2(MQIACF_Q_MGR_ATTRS, GET_VALSP(PrmId)),
/* 1002*/ DEF_VALS2(MQIACF_Q_ATTRS, GET_VALSP(PrmId)),
/* 1006*/ DEF_VALS2(MQIACF_REPLACE, GET_VALSP(ReplaceOptions)),

View File

@ -646,6 +646,10 @@ static int hf_mq_pmo_putmsgrecofs = -1;
static int hf_mq_pmo_resprecofs = -1;
static int hf_mq_pmo_putmsgrecptr = -1;
static int hf_mq_pmo_resprecptr = -1;
static int hf_mq_pmo_originalmsghandle = -1;
static int hf_mq_pmo_newmsghandle = -1;
static int hf_mq_pmo_action = -1;
static int hf_mq_pmo_publevel = -1;
static int hf_mq_xa_length = -1;
static int hf_mq_xa_returnvalue = -1;
@ -2053,6 +2057,8 @@ static gint dissect_mq_gmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
static gint dissect_mq_pmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offset, mq_parm_t *p_mq_parm, gint *iDistributionListSize)
{
gint iSize = 0;
gint iPosV2 = offset + 128;
gint offsetb = offset;
p_mq_parm->mq_strucID = (tvb_reported_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL;
if (p_mq_parm->mq_strucID == MQ_STRUCTID_PMO || p_mq_parm->mq_strucID == MQ_STRUCTID_PMO_EBCDIC)
@ -2062,8 +2068,9 @@ static gint dissect_mq_pmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
/* Compute length according to version */
switch (iVersion)
{
case 1: iSize = 128; break;
case 2: iSize = 152;break;
case 1: iSize = 128; break;
case 2: iSize = 152; break;
case 3: iSize = 176; break;
}
if (iSize != 0 && tvb_reported_length_remaining(tvb, offset) >= iSize)
@ -2093,15 +2100,24 @@ static gint dissect_mq_pmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
proto_tree_add_item(mq_tree, hf_mq_pmo_invaldstcnt, tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_resolvqname, tvb, offset + 32, 48, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_resolvqmgr , tvb, offset + 80, 48, p_mq_parm->mq_str_enc);
offset += 128;
if (iVersion >= 2)
{
proto_tree_add_item(mq_tree, hf_mq_pmo_recspresent , tvb, offset + 128, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecfld, tvb, offset + 132, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecofs, tvb, offset + 136, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_resprecofs , tvb, offset + 140, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecptr, tvb, offset + 144, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_resprecptr , tvb, offset + 148, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_recspresent , tvb, offset, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecfld, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecofs, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_resprecofs , tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecptr, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_resprecptr , tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
offset += 24;
}
if (iVersion >= 3)
{
proto_tree_add_item(mq_tree, hf_mq_pmo_originalmsghandle, tvb, offset, 8, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_newmsghandle, tvb, offset + 8, 8, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_action, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_publevel, tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
offset += 24;
}
}
if (iVersion >= 2)
@ -2109,8 +2125,8 @@ static gint dissect_mq_pmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
gint iNbrRecords = 0;
guint32 iRecFlags = 0;
iNbrRecords = tvb_get_guint32(tvb, offset + 128, p_mq_parm->mq_int_enc);
iRecFlags = tvb_get_guint32(tvb, offset + 132, p_mq_parm->mq_int_enc);
iNbrRecords = tvb_get_guint32(tvb, iPosV2, p_mq_parm->mq_int_enc);
iRecFlags = tvb_get_guint32(tvb, iPosV2 + 4, p_mq_parm->mq_int_enc);
if (iNbrRecords > 0)
{
@ -2118,10 +2134,10 @@ static gint dissect_mq_pmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
gint iOffsetRR = 0;
*iDistributionListSize = iNbrRecords;
iOffsetPMR = tvb_get_guint32(tvb, offset + 136, p_mq_parm->mq_int_enc);
iOffsetRR = tvb_get_guint32(tvb, offset + 140, p_mq_parm->mq_int_enc);
iSize += dissect_mq_pmr(tvb, tree, offset + iSize, iNbrRecords, iOffsetPMR, iRecFlags, p_mq_parm);
iSize += dissect_mq_rr(tvb, tree, offset + iSize, iNbrRecords, iOffsetRR, p_mq_parm);
iOffsetPMR = tvb_get_guint32(tvb, iPosV2 + 8, p_mq_parm->mq_int_enc);
iOffsetRR = tvb_get_guint32(tvb, iPosV2 + 12, p_mq_parm->mq_int_enc);
iSize += dissect_mq_pmr(tvb, tree, offsetb + iSize, iNbrRecords, iOffsetPMR, iRecFlags, p_mq_parm);
iSize += dissect_mq_rr(tvb, tree, offsetb + iSize, iNbrRecords, iOffsetRR, p_mq_parm);
}
}
}
@ -4523,9 +4539,9 @@ void proto_register_mq(void)
{ &hf_mq_lpoo_unknown6 , {"Unknown6......", "mq.lpoo.unknown6", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO unknown6", HFILL }},
{ &hf_mq_lpoo_xtradata , {"ExtraData.....", "mq.lpoo.extradata", FT_UINT32, BASE_DEC, NULL, 0x0, "LPOO Extra Data", HFILL }},
{ &hf_mq_pmo_StructID , {"StructID.", "mq.pmo.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_mq_pmo_version , {"Version..", "mq.pmo.version", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO version", HFILL }},
{ &hf_mq_pmo_options , {"Options..", "mq.pmo.options", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO options", HFILL }},
{ &hf_mq_pmo_StructID , {"StructID...", "mq.pmo.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_mq_pmo_version , {"Version....", "mq.pmo.version", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO version", HFILL }},
{ &hf_mq_pmo_options , {"Options....", "mq.pmo.options", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO options", HFILL }},
{ &hf_mq_pmo_options_NOT_OWN_SUBS , {"NOT_OWN_SUBS", "mq.pmo.options.NOT_OWN_SUBS", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_NOT_OWN_SUBS , "PMO options NOT_OWN_SUBS", HFILL }},
{ &hf_mq_pmo_options_SUPPRESS_REPLYTO , {"SUPPRESS_REPLYTO", "mq.pmo.options.SUPPRESS_REPLYTO", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_SUPPRESS_REPLYTO , "PMO options SUPPRESS_REPLYTO", HFILL }},
{ &hf_mq_pmo_options_SCOPE_QMGR , {"SCOPE_QMGR", "mq.pmo.options.SCOPE_QMGR", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_SCOPE_QMGR , "PMO options SCOPE_QMGR", HFILL }},
@ -4549,25 +4565,29 @@ void proto_register_mq(void)
{ &hf_mq_pmo_options_NO_SYNCPOINT , {"NO_SYNCPOINT", "mq.pmo.options.NO_SYNCPOINT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_NO_SYNCPOINT , "PMO options NO_SYNCPOINT", HFILL }},
{ &hf_mq_pmo_options_SYNCPOINT , {"SYNCPOINT", "mq.pmo.options.SYNCPOINT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_SYNCPOINT , "PMO options SYNCPOINT", HFILL }},
{ &hf_mq_pmo_timeout , {"Timeout..", "mq.pmo.timeout", FT_INT32, BASE_DEC, NULL, 0x0, "PMO time out", HFILL }},
{ &hf_mq_pmo_context , {"Context..", "mq.pmo.context", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO context", HFILL }},
{ &hf_mq_pmo_knowndstcnt , {"KnDstCnt.", "mq.pmo.kdstcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO known destination count", HFILL }},
{ &hf_mq_pmo_unkndstcnt , {"UkDstCnt.", "mq.pmo.udestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO unknown destination count", HFILL }},
{ &hf_mq_pmo_invaldstcnt , {"InDstCnt.", "mq.pmo.idestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO invalid destination count", HFILL }},
{ &hf_mq_pmo_resolvqname , {"ResQName.", "mq.pmo.resolvq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "PMO resolved queue name", HFILL }},
{ &hf_mq_pmo_resolvqmgr , {"ResQMgr..", "mq.pmo.resolvqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "PMO resolved queue manager name", HFILL }},
{ &hf_mq_pmo_recspresent , {"NumRecs..", "mq.pmo.nbrrec", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO number of records", HFILL }},
{ &hf_mq_pmo_putmsgrecfld, {"PMR Flag.", "mq.pmo.flagspmr", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO flags PMR fields", HFILL }},
{ &hf_mq_pmo_putmsgrecofs, {"Ofs1stPMR", "mq.pmo.offsetpmr", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO offset of first PMR", HFILL }},
{ &hf_mq_pmo_resprecofs , {"Off1stRR.", "mq.pmo.offsetrr", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO offset of first RR", HFILL }},
{ &hf_mq_pmo_putmsgrecptr, {"Adr1stPMR", "mq.pmo.addrrec", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO address of first record", HFILL }},
{ &hf_mq_pmo_resprecptr , {"Adr1stRR.", "mq.pmo.addrres", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO address of first response record", HFILL }},
{ &hf_mq_pmo_timeout , {"Timeout....", "mq.pmo.timeout", FT_INT32, BASE_DEC, NULL, 0x0, "PMO time out", HFILL }},
{ &hf_mq_pmo_context , {"Context....", "mq.pmo.context", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO context", HFILL }},
{ &hf_mq_pmo_knowndstcnt , {"KnDstCnt...", "mq.pmo.kdstcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO known destination count", HFILL }},
{ &hf_mq_pmo_unkndstcnt , {"UkDstCnt...", "mq.pmo.udestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO unknown destination count", HFILL }},
{ &hf_mq_pmo_invaldstcnt , {"InDstCnt...", "mq.pmo.idestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO invalid destination count", HFILL }},
{ &hf_mq_pmo_resolvqname , {"ResQName...", "mq.pmo.resolvq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "PMO resolved queue name", HFILL }},
{ &hf_mq_pmo_resolvqmgr , {"ResQMgr....", "mq.pmo.resolvqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "PMO resolved queue manager name", HFILL }},
{ &hf_mq_pmo_recspresent , {"NumRecs....", "mq.pmo.nbrrec", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO number of records", HFILL }},
{ &hf_mq_pmo_putmsgrecfld, {"PMR Flag...", "mq.pmo.flagspmr", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO flags PMR fields", HFILL }},
{ &hf_mq_pmo_putmsgrecofs, {"Ofs1stPMR..", "mq.pmo.offsetpmr", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO offset of first PMR", HFILL }},
{ &hf_mq_pmo_resprecofs , {"Off1stRR...", "mq.pmo.offsetrr", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO offset of first RR", HFILL }},
{ &hf_mq_pmo_putmsgrecptr, {"Adr1stPMR..", "mq.pmo.addrrec", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO address of first record", HFILL }},
{ &hf_mq_pmo_resprecptr , {"Adr1stRR...", "mq.pmo.addrres", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO address of first response record", HFILL }},
{ &hf_mq_pmo_originalmsghandle ,{"OrigMsgHdl.", "mq.pmo.originalmsghandle", FT_UINT64, BASE_HEX, NULL, 0x0, "PMO original message handle", HFILL}},
{ &hf_mq_pmo_newmsghandle, {"NewMsgHdl..", "mq.pmo.newmsghandle", FT_UINT64, BASE_HEX, NULL, 0x0, "PMO new message handle", HFILL}},
{ &hf_mq_pmo_action , {"Action.....", "mq.pmo.action", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO action", HFILL}},
{ &hf_mq_pmo_publevel , {"PubLevel...", "mq.pmo.publevel", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO pub level", HFILL}},
{ &hf_mq_xa_length , {"Length.......", "mq.xa.length", FT_UINT32, BASE_DEC, NULL, 0x0, "XA Length", HFILL }},
{ &hf_mq_xa_returnvalue , {"Return value.", "mq.xa.returnvalue", FT_INT32, BASE_DEC, VALS(mq_xaer_vals), 0x0, "XA Return Value", HFILL }},
{ &hf_mq_xa_tmflags , {"TransMgrFlags", "mq.xa.tmflags", FT_UINT32, BASE_HEX, NULL, 0x0, "XA Transaction Manager Flags", HFILL }},
{ &hf_mq_xa_rmid , {"ResourceMgrID", "mq.xa.rmid", FT_UINT32, BASE_DEC, NULL, 0x0, "XA Resource Manager ID", HFILL }},
{ &hf_mq_xa_count , {"Number of Xid", "mq.xa.nbxid", FT_UINT32, BASE_DEC, NULL, 0x0, "XA Number of Xid", HFILL }},
{ &hf_mq_xa_length , {"Length.......", "mq.xa.length", FT_UINT32, BASE_DEC, NULL, 0x0, "XA Length", HFILL }},
{ &hf_mq_xa_returnvalue , {"Return value.", "mq.xa.returnvalue", FT_INT32, BASE_DEC, VALS(mq_xaer_vals), 0x0, "XA Return Value", HFILL }},
{ &hf_mq_xa_tmflags , {"TransMgrFlags", "mq.xa.tmflags", FT_UINT32, BASE_HEX, NULL, 0x0, "XA Transaction Manager Flags", HFILL }},
{ &hf_mq_xa_rmid , {"ResourceMgrID", "mq.xa.rmid", FT_UINT32, BASE_DEC, NULL, 0x0, "XA Resource Manager ID", HFILL }},
{ &hf_mq_xa_count , {"Number of Xid", "mq.xa.nbxid", FT_UINT32, BASE_DEC, NULL, 0x0, "XA Number of Xid", HFILL }},
{ &hf_mq_xa_tmflags_join , {"JOIN", "mq.xa.tmflags.join", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMJOIN, "XA TM Flags JOIN", HFILL }},
{ &hf_mq_xa_tmflags_endrscan , {"ENDRSCAN", "mq.xa.tmflags.endrscan", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMENDRSCAN, "XA TM Flags ENDRSCAN", HFILL }},
{ &hf_mq_xa_tmflags_startrscan, {"STARTRSCAN", "mq.xa.tmflags.startrscan", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMSTARTRSCAN, "XA TM Flags STARTRSCAN", HFILL }},

View File

@ -738,6 +738,7 @@ typedef struct _mq_parm_t
#define MQ_MQOT_PROT_POLICY 1019
#define MQ_MQOT_TT_CHANNEL 1020
#define MQ_MQOT_AMQP_CHANNEL 1021
#define MQ_MQOT_AUTH_REC 1022
/* Property Descriptor Options */
#define MQ_MQPD_NONE 0x00000000
@ -1528,6 +1529,7 @@ typedef struct _mq_parm_t
#define MQ_MQRC_CERT_LABEL_NOT_ALLOWED 2596
#define MQ_MQRC_ADMIN_TOPIC_STRING_ERROR 2598
#define MQ_MQRC_AMQP_NOT_AVAILABLE 2599
#define MQ_MQRC_CCDT_URL_ERROR 2600
#define MQ_MQRC_REOPEN_EXCL_INPUT_ERROR 6100
#define MQ_MQRC_REOPEN_INQUIRE_ERROR 6101
#define MQ_MQRC_REOPEN_SAVED_CONTEXT_ERR 6102
@ -1719,6 +1721,7 @@ typedef struct _mq_parm_t
#define MQ_MQADOPT_CHECK_ALL 1
#define MQ_MQADOPT_CHECK_Q_MGR_NAME 2
#define MQ_MQADOPT_CHECK_NET_ADDR 4
#define MQ_MQADOPT_CHECK_CHANNEL_NAME 8
/* Adopt New MCA Types */
#define MQ_MQADOPT_TYPE_NO 0
@ -1770,7 +1773,13 @@ typedef struct _mq_parm_t
#define MQ_MQCMDL_LEVEL_800 800
#define MQ_MQCMDL_LEVEL_801 801
#define MQ_MQCMDL_LEVEL_802 802
#define MQ_MQCMDL_CURRENT_LEVEL 802
#define MQ_MQCMDL_LEVEL_900 900
#define MQ_MQCMDL_CURRENT_LEVEL 900
/* Key reuse count */
#define MQ_MQKEY_REUSE_DISABLED 0
#define MQ_MQKEY_REUSE_UNLIMITED (-1)
/* Command Server Options */
#define MQ_MQCSRV_CONVERT_NO 0
@ -2334,6 +2343,7 @@ typedef struct _mq_parm_t
#define MQ_MQIA_INHIBIT_SUB 182
#define MQ_MQIA_INTRA_GROUP_QUEUING 64
#define MQ_MQIA_IP_ADDRESS_VERSION 93
#define MQ_MQIA_KEY_REUSE_COUNT 267
#define MQ_MQIA_LAST 2000
#define MQ_MQIA_LAST_USED 266
#define MQ_MQIA_LDAP_AUTHORMD 263
@ -3735,7 +3745,11 @@ typedef struct _mq_parm_t
#define MQ_MQIACF_LDAP_CONNECTION_STATUS 1409
#define MQ_MQIACF_SYSP_MAX_ACE_POOL 1410
#define MQ_MQIACF_PAGECLAS 1411
#define MQ_MQIACF_LAST_USED 1411
#define MQ_MQIACF_AUTH_REC_TYPE 1412 /*MQV8*/
#define MQ_MQIACF_SYSP_MAX_CONC_OFFLOADS 1413 /*MQV9*/
#define MQ_MQIACF_SYSP_ZHYPERWRITE 1414 /*MQV9*/
#define MQ_MQIACF_LAST_USED 1414
/* Access Options */
#define MQ_MQCFACCESS_ENABLED 0