aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2013-12-29 20:58:27 +0000
committerBill Meier <wmeier@newsguy.com>2013-12-29 20:58:27 +0000
commit756457682d9232cd2a7f5197e954b1dd8dfea8c9 (patch)
tree633924007de31dc2c7d68ab6638fb972740c1918 /epan
parent745c8660be2707df41d7cea3cd2725d18b9d6ff0 (diff)
From robionekenobi: packet-mq enhancement
Add new Structure dissection Fix some small issues Reformat some part of code use spaces instead of tabs for indentation https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9603 From me: Remove some trailing whitespace; Change a few tabs to spaces; Change editor-modelines tab-width, etc to 8 (altho not really relevant since tabs not being used). svn path=/trunk/; revision=54489
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-mq-base.c252
-rw-r--r--epan/dissectors/packet-mq-pcf.c107
-rw-r--r--epan/dissectors/packet-mq.c1246
-rw-r--r--epan/dissectors/packet-mq.h106
4 files changed, 993 insertions, 718 deletions
diff --git a/epan/dissectors/packet-mq-base.c b/epan/dissectors/packet-mq-base.c
index f20bbafd0d..9fae28f386 100644
--- a/epan/dissectors/packet-mq-base.c
+++ b/epan/dissectors/packet-mq-base.c
@@ -75,6 +75,17 @@ gint32 strip_trailing_blanks(guint8* a_str, guint32 a_size)
return i;
}
+DEF_VALRB(WaitIntv)
+ DEF_VALR1(MQCGWI_DEFAULT),
+ DEF_VALR1(MQWI_UNLIMITED),
+ DEF_VALR3(MQWI_0 ,MQWI_7FFFFFFF, ""),
+DEF_VALRE;
+
+DEF_VALRB(OutDataLen)
+ DEF_VALR1(MQCODL_AS_INPUT),
+ DEF_VALR3(MQCODL_0 ,MQCODL_7FFFFFFF, ""),
+DEF_VALRE;
+
DEF_VALRB(ccsid)
DEF_VALR3(MQCCSI_UNDEFINED , MQCCSI_UNDEFINED, "UNDEFINED/DEFAULT/Q_MGR"),
DEF_VALR1(MQCCSI_EMBEDDED ),
@@ -4776,16 +4787,16 @@ DEF_VALSE;
#if 0
DEF_VALSB(WLMIntervalUnits)
- DEF_VALS1(MQTIME_UNIT_SECS),
- DEF_VALS1(MQTIME_UNIT_MINS),
+ DEF_VALS1(MQTIME_UNIT_SECS ),
+ DEF_VALS1(MQTIME_UNIT_MINS ),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(SelectorTypes)
- DEF_VALS1(MQSELTYPE_NONE ),
- DEF_VALS1(MQSELTYPE_STANDARD ),
- DEF_VALS1(MQSELTYPE_EXTENDED ),
+ DEF_VALS1(MQSELTYPE_NONE ),
+ DEF_VALS1(MQSELTYPE_STANDARD ),
+ DEF_VALS1(MQSELTYPE_EXTENDED ),
DEF_VALSE;
#endif
@@ -4798,180 +4809,179 @@ DEF_VALSE;
#if 0
DEF_VALSB(SyncpointPubSub)
- DEF_VALS1(MQSYNCPOINT_YES ),
- DEF_VALS1(MQSYNCPOINT_IFPER ),
+ DEF_VALS1(MQSYNCPOINT_YES ),
+ DEF_VALS1(MQSYNCPOINT_IFPER ),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(SystemParameterValues)
- DEF_VALS1(MQSYSP_NO ),
- DEF_VALS1(MQSYSP_YES ),
- DEF_VALS1(MQSYSP_EXTENDED ),
- DEF_VALS1(MQSYSP_TYPE_INITIAL ),
- DEF_VALS1(MQSYSP_TYPE_SET ),
- DEF_VALS1(MQSYSP_TYPE_LOG_COPY ),
- DEF_VALS1(MQSYSP_TYPE_LOG_STATUS ),
- DEF_VALS1(MQSYSP_TYPE_ARCHIVE_TAPE ),
- DEF_VALS1(MQSYSP_ALLOC_BLK ),
- DEF_VALS1(MQSYSP_ALLOC_TRK ),
- DEF_VALS1(MQSYSP_ALLOC_CYL ),
- DEF_VALS1(MQSYSP_STATUS_BUSY ),
- DEF_VALS1(MQSYSP_STATUS_PREMOUNT ),
- DEF_VALS1(MQSYSP_STATUS_AVAILABLE ),
- DEF_VALS1(MQSYSP_STATUS_UNKNOWN ),
- DEF_VALS1(MQSYSP_STATUS_ALLOC_ARCHIVE ),
- DEF_VALS1(MQSYSP_STATUS_COPYING_BSDS ),
- DEF_VALS1(MQSYSP_STATUS_COPYING_LOG ),
+ DEF_VALS1(MQSYSP_NO ),
+ DEF_VALS1(MQSYSP_YES ),
+ DEF_VALS1(MQSYSP_EXTENDED ),
+ DEF_VALS1(MQSYSP_TYPE_INITIAL ),
+ DEF_VALS1(MQSYSP_TYPE_SET ),
+ DEF_VALS1(MQSYSP_TYPE_LOG_COPY ),
+ DEF_VALS1(MQSYSP_TYPE_LOG_STATUS ),
+ DEF_VALS1(MQSYSP_TYPE_ARCHIVE_TAPE ),
+ DEF_VALS1(MQSYSP_ALLOC_BLK ),
+ DEF_VALS1(MQSYSP_ALLOC_TRK ),
+ DEF_VALS1(MQSYSP_ALLOC_CYL ),
+ DEF_VALS1(MQSYSP_STATUS_BUSY ),
+ DEF_VALS1(MQSYSP_STATUS_PREMOUNT ),
+ DEF_VALS1(MQSYSP_STATUS_AVAILABLE ),
+ DEF_VALS1(MQSYSP_STATUS_UNKNOWN ),
+ DEF_VALS1(MQSYSP_STATUS_ALLOC_ARCHIVE),
+ DEF_VALS1(MQSYSP_STATUS_COPYING_BSDS ),
+ DEF_VALS1(MQSYSP_STATUS_COPYING_LOG ),
DEF_VALSE;
#endif
DEF_VALSB(DurableSubscriptions)
- DEF_VALS1(MQSUB_DURABLE_AS_PARENT ),
+ DEF_VALS1(MQSUB_DURABLE_AS_PARENT),
DEF_VALS1(MQSUB_DURABLE_ALLOWED ),
DEF_VALS1(MQSUB_DURABLE_INHIBITED),
DEF_VALSE;
#if 0
DEF_VALSB(Durable)
- DEF_VALS1(MQSUB_DURABLE_ALL ),
- DEF_VALS1(MQSUB_DURABLE_YES ),
- DEF_VALS1(MQSUB_DURABLE_NO ),
+ DEF_VALS1(MQSUB_DURABLE_ALL),
+ DEF_VALS1(MQSUB_DURABLE_YES),
+ DEF_VALS1(MQSUB_DURABLE_NO ),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(SubscriptionTypes)
- DEF_VALS1(MQSUBTYPE_API ),
- DEF_VALS1(MQSUBTYPE_ADMIN ),
- DEF_VALS1(MQSUBTYPE_PROXY ),
- DEF_VALS1(MQSUBTYPE_ALL ),
- DEF_VALS1(MQSUBTYPE_USER ),
+ DEF_VALS1(MQSUBTYPE_API ),
+ DEF_VALS1(MQSUBTYPE_ADMIN),
+ DEF_VALS1(MQSUBTYPE_PROXY),
+ DEF_VALS1(MQSUBTYPE_ALL ),
+ DEF_VALS1(MQSUBTYPE_USER ),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(SubscriptionDestinationClass)
- DEF_VALS1(MQDC_MANAGED ),
- DEF_VALS1(MQDC_PROVIDED ),
+ DEF_VALS1(MQDC_MANAGED ),
+ DEF_VALS1(MQDC_PROVIDED),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(SubscriptionRequestOnly)
- DEF_VALS1(MQRU_PUBLISH_ON_REQUEST ),
- DEF_VALS1(MQRU_PUBLISH_ALL ),
+ DEF_VALS1(MQRU_PUBLISH_ON_REQUEST),
+ DEF_VALS1(MQRU_PUBLISH_ALL ),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(TimeUnits)
- DEF_VALS1(MQTIME_UNIT_MINS ),
- DEF_VALS1(MQTIME_UNIT_SECS ),
+ DEF_VALS1(MQTIME_UNIT_MINS),
+ DEF_VALS1(MQTIME_UNIT_SECS),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(VariableUser)
- DEF_VALS1(MQVU_ANY_USER ),
- DEF_VALS1(MQVU_FIXED_USER ),
+ DEF_VALS1(MQVU_ANY_USER ),
+ DEF_VALS1(MQVU_FIXED_USER),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(WildcardSchema)
- DEF_VALS1(MQWS_CHAR ),
- DEF_VALS1(MQWS_TOPIC ),
+ DEF_VALS1(MQWS_CHAR ),
+ DEF_VALS1(MQWS_TOPIC),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(UserIDSupport)
- DEF_VALS1(MQUIDSUPP_NO ),
- DEF_VALS1(MQUIDSUPP_YES ),
+ DEF_VALS1(MQUIDSUPP_NO ),
+ DEF_VALS1(MQUIDSUPP_YES),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(UndeliveredPubSub)
- DEF_VALS1(MQUNDELIVERED_NORMAL ),
- DEF_VALS1(MQUNDELIVERED_SAFE ),
- DEF_VALS1(MQUNDELIVERED_DISCARD ),
- DEF_VALS1(MQUNDELIVERED_KEEP ),
+ DEF_VALS1(MQUNDELIVERED_NORMAL ),
+ DEF_VALS1(MQUNDELIVERED_SAFE ),
+ DEF_VALS1(MQUNDELIVERED_DISCARD),
+ DEF_VALS1(MQUNDELIVERED_KEEP ),
DEF_VALSE;
#endif
DEF_VALSB(UOWStates)
- DEF_VALS1(MQUOWST_NONE ),
- DEF_VALS1(MQUOWST_ACTIVE ),
- DEF_VALS1(MQUOWST_PREPARED ),
- DEF_VALS1(MQUOWST_UNRESOLVED ),
+ DEF_VALS1(MQUOWST_NONE ),
+ DEF_VALS1(MQUOWST_ACTIVE ),
+ DEF_VALS1(MQUOWST_PREPARED ),
+ DEF_VALS1(MQUOWST_UNRESOLVED),
DEF_VALSE;
DEF_VALSB(UOWTypes)
- DEF_VALS1(MQUOWT_Q_MGR ),
- DEF_VALS1(MQUOWT_CICS ),
- DEF_VALS1(MQUOWT_RRS ),
- DEF_VALS1(MQUOWT_IMS ),
- DEF_VALS1(MQUOWT_XA ),
+ DEF_VALS1(MQUOWT_Q_MGR),
+ DEF_VALS1(MQUOWT_CICS ),
+ DEF_VALS1(MQUOWT_RRS ),
+ DEF_VALS1(MQUOWT_IMS ),
+ DEF_VALS1(MQUOWT_XA ),
DEF_VALSE;
#if 0
DEF_VALSB(UsageType)
- DEF_VALS1(MQIACF_USAGE_PAGESET ),
- DEF_VALS1(MQIACF_USAGE_BUFFER_POOL ),
- DEF_VALS1(MQIACF_USAGE_DATA_SET ),
+ DEF_VALS1(MQIACF_USAGE_PAGESET ),
+ DEF_VALS1(MQIACF_USAGE_BUFFER_POOL),
+ DEF_VALS1(MQIACF_USAGE_DATA_SET ),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(PageSetStatus)
- DEF_VALS1(MQUSAGE_PS_AVAILABLE ),
- DEF_VALS1(MQUSAGE_PS_DEFINED ),
- DEF_VALS1(MQUSAGE_PS_OFFLINE ),
- DEF_VALS1(MQUSAGE_PS_NOT_DEFINED ),
+ DEF_VALS1(MQUSAGE_PS_AVAILABLE ),
+ DEF_VALS1(MQUSAGE_PS_DEFINED ),
+ DEF_VALS1(MQUSAGE_PS_OFFLINE ),
+ DEF_VALS1(MQUSAGE_PS_NOT_DEFINED),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(ExpandType)
- DEF_VALS1(MQUSAGE_EXPAND_USER ),
- DEF_VALS1(MQUSAGE_EXPAND_SYSTEM ),
- DEF_VALS1(MQUSAGE_EXPAND_NONE ),
+ DEF_VALS1(MQUSAGE_EXPAND_USER ),
+ DEF_VALS1(MQUSAGE_EXPAND_SYSTEM),
+ DEF_VALS1(MQUSAGE_EXPAND_NONE ),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(DataSetType)
- DEF_VALS1(MQUSAGE_DS_OLDEST_ACTIVE_UOW ),
- DEF_VALS1(MQUSAGE_DS_OLDEST_PS_RECOVERY ),
- DEF_VALS1(MQUSAGE_DS_OLDEST_CF_RECOVERY ),
+ DEF_VALS1(MQUSAGE_DS_OLDEST_ACTIVE_UOW ),
+ DEF_VALS1(MQUSAGE_DS_OLDEST_PS_RECOVERY),
+ DEF_VALS1(MQUSAGE_DS_OLDEST_CF_RECOVERY),
DEF_VALSE;
#endif
#if 0
DEF_VALSB(ActivityOperations)
- DEF_VALS1(MQOPER_UNKNOWN ),
- DEF_VALS1(MQOPER_BROWSE ),
- DEF_VALS1(MQOPER_DISCARD ),
- DEF_VALS1(MQOPER_GET ),
- DEF_VALS1(MQOPER_PUT ),
- DEF_VALS1(MQOPER_PUT_REPLY ),
- DEF_VALS1(MQOPER_PUT_REPORT ),
- DEF_VALS1(MQOPER_RECEIVE ),
- DEF_VALS1(MQOPER_SEND ),
- DEF_VALS1(MQOPER_TRANSFORM ),
- DEF_VALS1(MQOPER_PUBLISH ),
- DEF_VALS1(MQOPER_EXCLUDED_PUBLISH ),
-
- DEF_VALS1(MQOPER_DISCARDED_PUBLISH ),
+ DEF_VALS1(MQOPER_UNKNOWN ),
+ DEF_VALS1(MQOPER_BROWSE ),
+ DEF_VALS1(MQOPER_DISCARD ),
+ DEF_VALS1(MQOPER_GET ),
+ DEF_VALS1(MQOPER_PUT ),
+ DEF_VALS1(MQOPER_PUT_REPLY ),
+ DEF_VALS1(MQOPER_PUT_REPORT ),
+ DEF_VALS1(MQOPER_RECEIVE ),
+ DEF_VALS1(MQOPER_SEND ),
+ DEF_VALS1(MQOPER_TRANSFORM ),
+ DEF_VALS1(MQOPER_PUBLISH ),
+ DEF_VALS1(MQOPER_EXCLUDED_PUBLISH ),
+ DEF_VALS1(MQOPER_DISCARDED_PUBLISH),
DEF_VALSE;
#endif
DEF_VALSB(ConnInfoType)
- DEF_VALS1(MQIACF_CONN_INFO_ALL ),
- DEF_VALS1(MQIACF_CONN_INFO_CONN ),
- DEF_VALS1(MQIACF_CONN_INFO_HANDLE ),
+ DEF_VALS1(MQIACF_CONN_INFO_ALL ),
+ DEF_VALS1(MQIACF_CONN_INFO_CONN ),
+ DEF_VALS1(MQIACF_CONN_INFO_HANDLE),
DEF_VALSE;
#if 0
@@ -4994,25 +5004,25 @@ DEF_VALSE;
#if 0
DEF_VALSB(PublishSubscribeProperties)
- DEF_VALS1(MQPSPROP_NONE ),
- DEF_VALS1(MQPSPROP_COMPAT ),
- DEF_VALS1(MQPSPROP_RFH2 ),
- DEF_VALS1(MQPSPROP_MSGPROP ),
+ DEF_VALS1(MQPSPROP_NONE ),
+ DEF_VALS1(MQPSPROP_COMPAT ),
+ DEF_VALS1(MQPSPROP_RFH2 ),
+ DEF_VALS1(MQPSPROP_MSGPROP),
DEF_VALSE;
#endif
DEF_VALSB(PubSubScope)
- DEF_VALS1(MQSCOPE_ALL ),
- DEF_VALS1(MQSCOPE_AS_PARENT ),
- DEF_VALS1(MQSCOPE_QMGR ),
+ DEF_VALS1(MQSCOPE_ALL ),
+ DEF_VALS1(MQSCOPE_AS_PARENT),
+ DEF_VALS1(MQSCOPE_QMGR ),
DEF_VALSE;
#if 0
DEF_VALSB(EncryptionPolicySuiteB)
- DEF_VALS1(MQ_SUITE_B_NOT_AVAILABLE ),
- DEF_VALS1(MQ_SUITE_B_NONE ),
- DEF_VALS1(MQ_SUITE_B_128_BIT ),
- DEF_VALS1(MQ_SUITE_B_192_BIT ),
+ DEF_VALS1(MQ_SUITE_B_NOT_AVAILABLE),
+ DEF_VALS1(MQ_SUITE_B_NONE ),
+ DEF_VALS1(MQ_SUITE_B_128_BIT ),
+ DEF_VALS1(MQ_SUITE_B_192_BIT ),
DEF_VALSE;
#endif
@@ -5027,9 +5037,9 @@ DEF_VALSE;
#if 0
DEF_VALSB(UseDLQueue)
- DEF_VALS1(MQUSEDLQ_AS_PARENT ),
- DEF_VALS1(MQUSEDLQ_NO ),
- DEF_VALS1(MQUSEDLQ_YES ),
+ DEF_VALS1(MQUSEDLQ_AS_PARENT),
+ DEF_VALS1(MQUSEDLQ_NO ),
+ DEF_VALS1(MQUSEDLQ_YES ),
DEF_VALSE;
#endif
@@ -5107,6 +5117,40 @@ DEF_VALSB(SyncpointAvailability)
DEF_VALS1(MQSP_NOT_AVAILABLE),
DEF_VALSE;
+DEF_VALSBX(UOWControls)
+ DEF_VALS1(MQCUOWC_ONLY ),
+ DEF_VALS1(MQCUOWC_CONTINUE),
+ DEF_VALS1(MQCUOWC_FIRST ),
+ DEF_VALS1(MQCUOWC_MIDDLE ),
+ DEF_VALS1(MQCUOWC_LAST ),
+ DEF_VALS1(MQCUOWC_COMMIT ),
+ DEF_VALS1(MQCUOWC_BACKOUT ),
+DEF_VALSE;
+
+DEF_VALSBX(LinkType)
+ DEF_VALS1(MQCLT_PROGRAM ),
+ DEF_VALS1(MQCLT_TRANSACTION),
+DEF_VALSE;
+
+DEF_VALSBX(ADSDescr)
+ DEF_VALS1(MQCADSD_NONE ),
+ DEF_VALS1(MQCADSD_SEND ),
+ DEF_VALS1(MQCADSD_RECV ),
+ DEF_VALS1(MQCADSD_MSGFORMAT),
+DEF_VALSE;
+
+DEF_VALSBX(ConvTaskOpt)
+ DEF_VALS1(MQCCT_YES),
+ DEF_VALS1(MQCCT_NO ),
+DEF_VALSE;
+
+DEF_VALSBX(TaskEndStatus)
+ DEF_VALS1(MQCTES_NOSYNC ),
+ DEF_VALS1(MQCTES_COMMIT ),
+ DEF_VALS1(MQCTES_BACKOUT),
+ DEF_VALS1(MQCTES_ENDTASK),
+DEF_VALSE;
+
DEF_VALSBX(MQCFINT_Parse)
DEF_VALS2(MQIACF_ASYNC_STATE ,GET_VALSP(AsynchronousStateValues)),
DEF_VALS2(MQIACF_CHLAUTH_TYPE ,GET_VALSP(ChlauthType)),
@@ -5254,7 +5298,7 @@ DEF_VALSE;
/*
- * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 4
diff --git a/epan/dissectors/packet-mq-pcf.c b/epan/dissectors/packet-mq-pcf.c
index 37b40331bf..9cb162a04e 100644
--- a/epan/dissectors/packet-mq-pcf.c
+++ b/epan/dissectors/packet-mq-pcf.c
@@ -103,7 +103,12 @@ static guint32 dissect_mqpcf_getDigits(guint uCnt)
{
return (guint) log10(uCnt) + 1;
}
-
+/*
+* Here we get a special value_string, that return another value_string
+* pointer instead of string value. This let us use the try_val_to_str
+* to get val_to_str value from the value of a parameter on a more
+* easier way than using switch cases
+*/
static guint8 *dissect_mqpcf_parm_getintval(guint uPrm, guint uVal)
{
value_string *pVs;
@@ -652,49 +657,49 @@ void proto_register_mqpcf(void)
expert_module_t *expert_mqpcf;
static hf_register_info hf[] =
- {
- { &hf_mqpcf_cfh_type , { "Type.....", "mqpcf.cfh.type", FT_UINT32, BASE_DEC, VALS(&GET_VALSV(mqcft)), 0x0, "CFH type", HFILL }},
- { &hf_mqpcf_cfh_length , { "Length...", "mqpcf.cfh.length", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH length", HFILL }},
- { &hf_mqpcf_cfh_version , { "Version..", "mqpcf.cfh.version", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH version", HFILL }},
- { &hf_mqpcf_cfh_command , { "Command..", "mqpcf.cfh.command", FT_UINT32, BASE_DEC, VALS(&GET_VALSV(mqcmd)), 0x0, "CFH command", HFILL }},
- { &hf_mqpcf_cfh_MsgSeqNbr, { "MsgSeqNbr", "mqpcf.cfh.MsgSeqNbr", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH message sequence number", HFILL }},
- { &hf_mqpcf_cfh_control , { "Control..", "mqpcf.cfh.control", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH control", HFILL }},
- { &hf_mqpcf_cfh_compcode , { "CompCode.", "mqpcf.cfh.compcode", FT_UINT32, BASE_DEC, VALS(&GET_VALSV(mqcc)), 0x0, "CFH completion code", HFILL }},
- { &hf_mqpcf_cfh_reason , { "ReasCode.", "mqpcf.cfh.reasoncode", FT_UINT32, BASE_DEC, VALS(&GET_VALSV(mqrc)), 0x0, "CFH reason code", HFILL }},
- { &hf_mqpcf_cfh_ParmCount, { "ParmCount", "mqpcf.cfh.ParmCount", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH parameter count", HFILL }},
-
- { &hf_mq_pcf_prmtyp , { "ParmTyp..", "mqpcf.parm.type", FT_UINT32, BASE_DEC, VALS(&GET_VALSV(PrmTyp)), 0x0, "MQPCF parameter type", HFILL }},
- { &hf_mq_pcf_prmlen , { "ParmLen..", "mqpcf.parm.len", FT_UINT32, BASE_DEC, NULL, 0x0, "MQPCF parameter length", HFILL }},
- { &hf_mq_pcf_prmid , { "ParmID...", "mqpcf.parm.id", FT_UINT32, BASE_DEC, VALS(&GET_VALSV(PrmId)), 0x0, "MQPCF parameter id", HFILL }},
- { &hf_mq_pcf_prmidnovals , { "ParmID...", "mqpcf.parm.idNoVals", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MQPCF parameter id No Vals", HFILL }},
- { &hf_mq_pcf_filterop , { "FilterOP.", "mqpcf.filter.op", FT_UINT32, BASE_DEC, VALS(&GET_VALSV(FilterOP)), 0x0, "MQPCF Filter operator", HFILL }},
- { &hf_mq_pcf_prmccsid , { "ParmCCSID", "mqpcf.parm.ccsid", FT_UINT32, BASE_DEC | BASE_RANGE_STRING, RVALS(&GET_VALRV(ccsid)), 0x0, "MQPCF parameter ccsid", HFILL }},
- { &hf_mq_pcf_prmstrlen , { "ParmStrLn", "mqpcf.parm.strlen", FT_UINT32, BASE_DEC, NULL, 0x0, "MQPCF parameter strlen", HFILL }},
- { &hf_mq_pcf_prmcount , { "ParmCount", "mqpcf.parm.count", FT_UINT32, BASE_DEC, NULL, 0x0, "MQPCF parameter count", HFILL }},
- { &hf_mq_pcf_prmunused , { "ParmUnuse", "mqpcf.parm.unused", FT_UINT32, BASE_DEC, NULL, 0x0, "MQPCF parameter unused", HFILL }},
- { &hf_mq_pcf_string , { "String...", "mqpcf.parm.string", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MQPCF parameter string", HFILL }},
- { &hf_mq_pcf_stringlist , { "StrList..", "mqpcf.parm.stringlist", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MQPCF parameter string list", HFILL }},
- { &hf_mq_pcf_int , { "Integer..", "mqpcf.parm.int", FT_INT32, BASE_DEC, NULL, 0x0, "MQPCF parameter int", HFILL }},
- { &hf_mq_pcf_intlist , { "IntList..", "mqpcf.parm.intlist", FT_INT32, BASE_DEC, NULL, 0x0, "MQPCF parameter int list", HFILL }},
- { &hf_mq_pcf_bytestring , { "ByteStr..", "mqpcf.parm.bytestring", FT_BYTES, BASE_NONE, NULL, 0x0, "MQPCF parameter byte string", HFILL }},
- { &hf_mq_pcf_int64 , { "Int64....", "mqpcf.parm.int64", FT_INT64, BASE_DEC, NULL, 0x0, "MQPCF parameter int64", HFILL }},
- { &hf_mq_pcf_int64list , { "Int64List", "mqpcf.parm.int64list", FT_INT64, BASE_DEC, NULL, 0x0, "MQPCF parameter int64 list", HFILL }},
- };
+ {
+ { &hf_mqpcf_cfh_type , { "Type.....", "mqpcf.cfh.type" , FT_UINT32, BASE_DEC, VALS(&GET_VALSV(mqcft)), 0x0, "CFH type", HFILL }},
+ { &hf_mqpcf_cfh_length , { "Length...", "mqpcf.cfh.length" , FT_UINT32, BASE_DEC, NULL, 0x0, "CFH length", HFILL }},
+ { &hf_mqpcf_cfh_version , { "Version..", "mqpcf.cfh.version" , FT_UINT32, BASE_DEC, NULL, 0x0, "CFH version", HFILL }},
+ { &hf_mqpcf_cfh_command , { "Command..", "mqpcf.cfh.command" , FT_UINT32, BASE_DEC, VALS(&GET_VALSV(mqcmd)), 0x0, "CFH command", HFILL }},
+ { &hf_mqpcf_cfh_MsgSeqNbr, { "MsgSeqNbr", "mqpcf.cfh.MsgSeqNbr" , FT_UINT32, BASE_DEC, NULL, 0x0, "CFH message sequence number", HFILL }},
+ { &hf_mqpcf_cfh_control , { "Control..", "mqpcf.cfh.control" , FT_UINT32, BASE_DEC, NULL, 0x0, "CFH control", HFILL }},
+ { &hf_mqpcf_cfh_compcode , { "CompCode.", "mqpcf.cfh.compcode" , FT_UINT32, BASE_DEC, VALS(&GET_VALSV(mqcc)), 0x0, "CFH completion code", HFILL }},
+ { &hf_mqpcf_cfh_reason , { "ReasCode.", "mqpcf.cfh.reasoncode", FT_UINT32, BASE_DEC, VALS(&GET_VALSV(mqrc)), 0x0, "CFH reason code", HFILL }},
+ { &hf_mqpcf_cfh_ParmCount, { "ParmCount", "mqpcf.cfh.ParmCount" , FT_UINT32, BASE_DEC, NULL, 0x0, "CFH parameter count", HFILL }},
+
+ { &hf_mq_pcf_prmtyp , { "ParmTyp..", "mqpcf.parm.type" , FT_UINT32 , BASE_DEC, VALS(&GET_VALSV(PrmTyp)), 0x0, "MQPCF parameter type", HFILL }},
+ { &hf_mq_pcf_prmlen , { "ParmLen..", "mqpcf.parm.len" , FT_UINT32 , BASE_DEC, NULL, 0x0, "MQPCF parameter length", HFILL }},
+ { &hf_mq_pcf_prmid , { "ParmID...", "mqpcf.parm.id" , FT_UINT32 , BASE_DEC, VALS(&GET_VALSV(PrmId)), 0x0, "MQPCF parameter id", HFILL }},
+ { &hf_mq_pcf_prmidnovals , { "ParmID...", "mqpcf.parm.idNoVals" , FT_UINT32 , BASE_HEX_DEC, NULL, 0x0, "MQPCF parameter id No Vals", HFILL }},
+ { &hf_mq_pcf_filterop , { "FilterOP.", "mqpcf.filter.op" , FT_UINT32 , BASE_DEC, VALS(&GET_VALSV(FilterOP)), 0x0, "MQPCF Filter operator", HFILL }},
+ { &hf_mq_pcf_prmccsid , { "ParmCCSID", "mqpcf.parm.ccsid" , FT_UINT32 , BASE_DEC | BASE_RANGE_STRING, RVALS(&GET_VALRV(ccsid)), 0x0, "MQPCF parameter ccsid", HFILL }},
+ { &hf_mq_pcf_prmstrlen , { "ParmStrLn", "mqpcf.parm.strlen" , FT_UINT32 , BASE_DEC, NULL, 0x0, "MQPCF parameter strlen", HFILL }},
+ { &hf_mq_pcf_prmcount , { "ParmCount", "mqpcf.parm.count" , FT_UINT32 , BASE_DEC, NULL, 0x0, "MQPCF parameter count", HFILL }},
+ { &hf_mq_pcf_prmunused , { "ParmUnuse", "mqpcf.parm.unused" , FT_UINT32 , BASE_DEC, NULL, 0x0, "MQPCF parameter unused", HFILL }},
+ { &hf_mq_pcf_string , { "String...", "mqpcf.parm.string" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "MQPCF parameter string", HFILL }},
+ { &hf_mq_pcf_stringlist , { "StrList..", "mqpcf.parm.stringlist", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MQPCF parameter string list", HFILL }},
+ { &hf_mq_pcf_int , { "Integer..", "mqpcf.parm.int" , FT_INT32 , BASE_DEC, NULL, 0x0, "MQPCF parameter int", HFILL }},
+ { &hf_mq_pcf_intlist , { "IntList..", "mqpcf.parm.intlist" , FT_INT32 , BASE_DEC, NULL, 0x0, "MQPCF parameter int list", HFILL }},
+ { &hf_mq_pcf_bytestring , { "ByteStr..", "mqpcf.parm.bytestring", FT_BYTES , BASE_NONE, NULL, 0x0, "MQPCF parameter byte string", HFILL }},
+ { &hf_mq_pcf_int64 , { "Int64....", "mqpcf.parm.int64" , FT_INT64 , BASE_DEC, NULL, 0x0, "MQPCF parameter int64", HFILL }},
+ { &hf_mq_pcf_int64list , { "Int64List", "mqpcf.parm.int64list" , FT_INT64 , BASE_DEC, NULL, 0x0, "MQPCF parameter int64 list", HFILL }},
+ };
static gint *ett[] =
- {
- &ett_mqpcf,
- &ett_mqpcf_prm,
- &ett_mqpcf_cfh,
- };
+ {
+ &ett_mqpcf,
+ &ett_mqpcf_prm,
+ &ett_mqpcf_cfh,
+ };
static ei_register_info ei[] =
- {
- { &ei_mq_pcf_prmln0, { "mqpcf.parm.len0", PI_MALFORMED, PI_ERROR, "MQPCF Parameter length is 0", EXPFILL }},
- { &ei_mq_pcf_MaxInt, { "mqpcf.parm.IntList", PI_UNDECODED, PI_WARN, "MQPCF Parameter Integer list exhausted", EXPFILL }},
- { &ei_mq_pcf_MaxStr, { "mqpcf.parm.StrList", PI_UNDECODED, PI_WARN, "MQPCF Parameter String list exhausted", EXPFILL }},
- { &ei_mq_pcf_MaxI64, { "mqpcf.parm.Int64List", PI_UNDECODED, PI_WARN, "MQPCF Parameter Int64 list exhausted", EXPFILL }},
- { &ei_mq_pcf_MaxPrm, { "mqpcf.parm.MaxPrm", PI_UNDECODED, PI_WARN, "MQPCF Max number of parameter exhausted", EXPFILL }},
- { &ei_mq_pcf_PrmCnt, { "mqpcf.parm.PrmCnt", PI_UNDECODED, PI_WARN, "MQPCF Unkn Parm Cnt Length invalid", EXPFILL }},
- };
+ {
+ { &ei_mq_pcf_prmln0, { "mqpcf.parm.len0" , PI_MALFORMED, PI_ERROR, "MQPCF Parameter length is 0", EXPFILL }},
+ { &ei_mq_pcf_MaxInt, { "mqpcf.parm.IntList" , PI_UNDECODED, PI_WARN , "MQPCF Parameter Integer list exhausted", EXPFILL }},
+ { &ei_mq_pcf_MaxStr, { "mqpcf.parm.StrList" , PI_UNDECODED, PI_WARN , "MQPCF Parameter String list exhausted", EXPFILL }},
+ { &ei_mq_pcf_MaxI64, { "mqpcf.parm.Int64List", PI_UNDECODED, PI_WARN , "MQPCF Parameter Int64 list exhausted", EXPFILL }},
+ { &ei_mq_pcf_MaxPrm, { "mqpcf.parm.MaxPrm" , PI_UNDECODED, PI_WARN , "MQPCF Max number of parameter exhausted", EXPFILL }},
+ { &ei_mq_pcf_PrmCnt, { "mqpcf.parm.PrmCnt" , PI_UNDECODED, PI_WARN , "MQPCF Unkn Parm Cnt Length invalid", EXPFILL }},
+ };
module_t *mq_pcf_module;
@@ -707,15 +712,15 @@ void proto_register_mqpcf(void)
mq_pcf_module = prefs_register_protocol(proto_mqpcf, NULL);
prefs_register_uint_preference(mq_pcf_module, "maxprm",
- "Set the maximun number of parameter in the PCF to decode",
- "When dissecting PCF there can be a lot of parameters."
- " You can limit the number of parameter decoded, before it continue with the next PCF.",
- 10, &mq_pcf_maxprm);
+ "Set the maximun number of parameter in the PCF to decode",
+ "When dissecting PCF there can be a lot of parameters."
+ " You can limit the number of parameter decoded, before it continue with the next PCF.",
+ 10, &mq_pcf_maxprm);
prefs_register_uint_preference(mq_pcf_module, "maxlst",
- "Set the maximun number of Parameter List that are displayed",
- "When dissecting a parameter of a PCFm, if it is a StringList, IntegerList or Integer64 List, "
- " You can limit the number of element displayed, before it continue with the next Parameter.",
- 10, &mq_pcf_maxlst);
+ "Set the maximun number of Parameter List that are displayed",
+ "When dissecting a parameter of a PCFm, if it is a StringList, IntegerList or Integer64 List, "
+ " You can limit the number of element displayed, before it continue with the next Parameter.",
+ 10, &mq_pcf_maxlst);
}
@@ -725,7 +730,7 @@ void proto_reg_handoff_mqpcf(void)
}
/*
- * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 4
diff --git a/epan/dissectors/packet-mq.c b/epan/dissectors/packet-mq.c
index 966e5c2ced..a173933515 100644
--- a/epan/dissectors/packet-mq.c
+++ b/epan/dissectors/packet-mq.c
@@ -70,7 +70,6 @@
#include "config.h"
#include <glib.h>
-
#include <epan/packet.h>
#include <epan/exceptions.h>
#include <epan/conversation.h>
@@ -512,10 +511,7 @@ static int hf_mq_dlh_putappltype = -1;
static int hf_mq_dlh_putapplname = -1;
static int hf_mq_dlh_putdate = -1;
static int hf_mq_dlh_puttime = -1;
-static int hf_mq_dh_putmsgrecfld = -1;
-static int hf_mq_dh_recspresent = -1;
-static int hf_mq_dh_objrecofs = -1;
-static int hf_mq_dh_putmsgrecofs = -1;
+
static int hf_mq_gmo_StructID = -1;
static int hf_mq_gmo_version = -1;
static int hf_mq_gmo_options = -1;
@@ -656,14 +652,7 @@ 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_head_StructID = -1;
-static int hf_mq_head_version = -1;
-static int hf_mq_head_length = -1;
-static int hf_mq_head_encoding = -1;
-static int hf_mq_head_ccsid = -1;
-static int hf_mq_head_format = -1;
-static int hf_mq_head_flags = -1;
-static int hf_mq_head_struct = -1;
+
static int hf_mq_xa_length = -1;
static int hf_mq_xa_returnvalue = -1;
static int hf_mq_xa_tmflags = -1;
@@ -788,6 +777,115 @@ static int hf_mq_notif_handle = -1;
static int hf_mq_notif_code = -1;
static int hf_mq_notif_value = -1;
+static int hf_mq_head_StructID = -1;
+static int hf_mq_head_version = -1;
+static int hf_mq_head_length = -1;
+static int hf_mq_head_encoding = -1;
+static int hf_mq_head_ccsid = -1;
+static int hf_mq_head_format = -1;
+static int hf_mq_head_flags = -1;
+static int hf_mq_head_struct = -1;
+
+static int hf_mq_dh_flags_newmsgid = -1;
+static const int *pf_flds_dh_flags[] =
+{
+ &hf_mq_dh_flags_newmsgid,
+ NULL
+};
+static int hf_mq_dh_putmsgrecfld = -1;
+static int hf_mq_dh_recspresent = -1;
+static int hf_mq_dh_objrecofs = -1;
+static int hf_mq_dh_putmsgrecofs = -1;
+
+static int hf_mq_iih_flags_passexpir = -1;
+static int hf_mq_iih_flags_replyfmtnone = -1;
+static int hf_mq_iih_flags_ignorepurg = -1;
+static int hf_mq_iih_flags_cmqrqstresp = -1;
+static const int *pf_flds_iih_flags[] =
+{
+ &hf_mq_iih_flags_cmqrqstresp ,
+ &hf_mq_iih_flags_ignorepurg ,
+ &hf_mq_iih_flags_replyfmtnone,
+ &hf_mq_iih_flags_passexpir ,
+ NULL
+};
+static int hf_mq_iih_ltermoverride = -1;
+static int hf_mq_iih_mfsmapname = -1;
+static int hf_mq_iih_replytofmt = -1;
+static int hf_mq_iih_authenticator = -1;
+static int hf_mq_iih_transinstid = -1;
+static int hf_mq_iih_transstate = -1;
+static int hf_mq_iih_commimode = -1;
+static int hf_mq_iih_securityscope = -1;
+static int hf_mq_iih_reserved = -1;
+
+static int hf_mq_cih_flags_synconret = -1;
+static int hf_mq_cih_flags_replywonulls = -1;
+static int hf_mq_cih_flags_passexpir = -1;
+static const int *pf_flds_cih_flags[] =
+{
+ &hf_mq_cih_flags_synconret ,
+ &hf_mq_cih_flags_replywonulls,
+ &hf_mq_cih_flags_passexpir ,
+ NULL
+};
+static int hf_mq_cih_returncode = -1;
+static int hf_mq_cih_compcode = -1;
+static int hf_mq_cih_reasoncode = -1;
+static int hf_mq_cih_uowcontrols = -1;
+static int hf_mq_cih_getwaitintv = -1;
+static int hf_mq_cih_linktype = -1;
+static int hf_mq_cih_outdatalen = -1;
+static int hf_mq_cih_facilkeeptime = -1;
+static int hf_mq_cih_adsdescriptor = -1;
+static int hf_mq_cih_converstask = -1;
+static int hf_mq_cih_taskendstatus = -1;
+static int hf_mq_cih_bridgefactokn = -1;
+static int hf_mq_cih_function = -1;
+static int hf_mq_cih_abendcode = -1;
+static int hf_mq_cih_authenticator = -1;
+static int hf_mq_cih_reserved = -1;
+static int hf_mq_cih_replytofmt = -1;
+static int hf_mq_cih_remotesysid = -1;
+static int hf_mq_cih_remotetransid = -1;
+static int hf_mq_cih_transactionid = -1;
+static int hf_mq_cih_facilitylike = -1;
+static int hf_mq_cih_attentionid = -1;
+static int hf_mq_cih_startcode = -1;
+static int hf_mq_cih_cancelcode = -1;
+static int hf_mq_cih_nexttransid = -1;
+static int hf_mq_cih_reserved2 = -1;
+static int hf_mq_cih_reserved3 = -1;
+static int hf_mq_cih_cursorpos = -1;
+static int hf_mq_cih_erroroffset = -1;
+static int hf_mq_cih_inputitem = -1;
+static int hf_mq_cih_reserved4 = -1;
+
+static int hf_mq_rmh_flags_last = -1;
+static const int *pf_flds_rmh_flags[] =
+{
+ &hf_mq_rmh_flags_last,
+ NULL
+};
+static int hf_mq_rmh_objecttype = -1;
+static int hf_mq_rmh_objectinstid = -1;
+static int hf_mq_rmh_srcenvlen = -1;
+static int hf_mq_rmh_srcenvofs = -1;
+static int hf_mq_rmh_srcnamelen = -1;
+static int hf_mq_rmh_srcnameofs = -1;
+static int hf_mq_rmh_dstenvlen = -1;
+static int hf_mq_rmh_dstenvofs = -1;
+static int hf_mq_rmh_dstnamelen = -1;
+static int hf_mq_rmh_dstnameofs = -1;
+static int hf_mq_rmh_datalogiclen = -1;
+static int hf_mq_rmh_datalogicofsl = -1;
+static int hf_mq_rmh_datalogicofsh = -1;
+
+static int hf_mq_wih_servicename = -1;
+static int hf_mq_wih_servicestep = -1;
+static int hf_mq_wih_msgtoken = -1;
+static int hf_mq_wih_reserved = -1;
+
static gint ett_mq = -1;
static gint ett_mq_tsh = -1;
static gint ett_mq_tsh_tcf = -1;
@@ -827,7 +925,6 @@ static gint ett_mq_or = -1;
static gint ett_mq_rr = -1;
static gint ett_mq_pmr = -1;
static gint ett_mq_md = -1;
-static gint ett_mq_mde = -1;
static gint ett_mq_dlh = -1;
static gint ett_mq_dh = -1;
static gint ett_mq_gmo = -1;
@@ -841,6 +938,8 @@ static gint ett_mq_lpoo_options = -1;
static gint ett_mq_lpoo_lpiopts = -1;
static gint ett_mq_head = -1; /* Factorisation of common Header structure items (DH, MDE, CIH, IIH, RFH, RMH, WIH */
+static gint ett_mq_head_flags = -1;
+
static gint ett_mq_xa = -1;
static gint ett_mq_xa_tmflags = -1;
static gint ett_mq_xa_xid = -1;
@@ -1286,255 +1385,254 @@ static reassembly_table mq_reassembly_table;
#define MQ_NC_RECONNECTION_COMPLETE 17
DEF_VALSB(notifcode)
- DEF_VALS2(NC_GET_INHIBITED, "GET_INHIBITED"),
- DEF_VALS2(NC_GET_ALLOWED, "GET_ALLOWED"),
- DEF_VALS2(NC_CONN_STATE, "CONN_STATE"),
- DEF_VALS2(NC_CONN_STATE_REPLY, "CONN_STATE_REPLY"),
- DEF_VALS2(NC_Q_STATE, "Q_STATE"),
- DEF_VALS2(NC_Q_STATE_REPLY, "Q_STATE_REPLY"),
- DEF_VALS2(NC_QM_QUIESCING, "QM_QUIESCING"),
- DEF_VALS2(NC_TXN_ALLOWED, "TXN_ALLOWED"),
- DEF_VALS2(NC_TXN_REVOKE, "TXN_REVOKE"),
- DEF_VALS2(NC_TXN_REVOKE_REPLY, "TXN_REVOKE_REPLY"),
- DEF_VALS2(NC_CHECK_MSG, "CHECK_MSG"),
- DEF_VALS2(NC_BROWSE_FIRST, "BROWSE_FIRST"),
- DEF_VALS2(NC_MESSAGE_TOO_LARGE, "MESSAGE_TOO_LARGE"),
- DEF_VALS2(NC_STREAMING_FAILURE, "STREAMING_FAILURE"),
+ DEF_VALS2(NC_GET_INHIBITED , "GET_INHIBITED"),
+ DEF_VALS2(NC_GET_ALLOWED , "GET_ALLOWED"),
+ DEF_VALS2(NC_CONN_STATE , "CONN_STATE"),
+ DEF_VALS2(NC_CONN_STATE_REPLY , "CONN_STATE_REPLY"),
+ DEF_VALS2(NC_Q_STATE , "Q_STATE"),
+ DEF_VALS2(NC_Q_STATE_REPLY , "Q_STATE_REPLY"),
+ DEF_VALS2(NC_QM_QUIESCING , "QM_QUIESCING"),
+ DEF_VALS2(NC_TXN_ALLOWED , "TXN_ALLOWED"),
+ DEF_VALS2(NC_TXN_REVOKE , "TXN_REVOKE"),
+ DEF_VALS2(NC_TXN_REVOKE_REPLY , "TXN_REVOKE_REPLY"),
+ DEF_VALS2(NC_CHECK_MSG , "CHECK_MSG"),
+ DEF_VALS2(NC_BROWSE_FIRST , "BROWSE_FIRST"),
+ DEF_VALS2(NC_MESSAGE_TOO_LARGE , "MESSAGE_TOO_LARGE"),
+ DEF_VALS2(NC_STREAMING_FAILURE , "STREAMING_FAILURE"),
DEF_VALS2(NC_CLIENT_ASYNC_EMPTY, "CLIENT_ASYNC_EMPTY"),
DEF_VALSE;
DEF_VALSB(opcode)
- DEF_VALS2(TST_INITIAL, "INITIAL_DATA"),
- DEF_VALS2(TST_RESYNC, "RESYNC_DATA"),
- DEF_VALS2(TST_RESET, "RESET_DATA"),
- DEF_VALS2(TST_MESSAGE, "MESSAGE_DATA"),
- DEF_VALS2(TST_STATUS, "STATUS_DATA"),
- DEF_VALS2(TST_SECURITY, "SECURITY_DATA"),
- DEF_VALS2(TST_PING, "PING_DATA"),
- DEF_VALS2(TST_USERID, "USERID_DATA"),
- DEF_VALS2(TST_HEARTBEAT, "HEARTBEAT"),
- DEF_VALS2(TST_CONAUTH_INFO, "CONAUTH_INFO"),
- DEF_VALS2(TST_RENEGOTIATE_DATA, "RENEGOTIATE_DATA"),
- DEF_VALS2(TST_SOCKET_ACTION, "SOCKET_ACTION"),
- DEF_VALS2(TST_ASYNC_MESSAGE, "ASYNC_MESSAGE"),
- DEF_VALS2(TST_REQUEST_MSGS, "REQUEST_MSGS"),
- DEF_VALS2(TST_NOTIFICATION, "NOTIFICATION"),
- DEF_VALS2(TST_MQCONN, "MQCONN"),
- DEF_VALS2(TST_MQDISC, "MQDISC"),
- DEF_VALS2(TST_MQOPEN, "MQOPEN"),
- DEF_VALS2(TST_MQCLOSE, "MQCLOSE"),
- DEF_VALS2(TST_MQGET, "MQGET"),
- DEF_VALS2(TST_MQPUT, "MQPUT"),
- DEF_VALS2(TST_MQPUT1, "MQPUT1"),
- DEF_VALS2(TST_MQSET, "MQSET"),
- DEF_VALS2(TST_MQINQ, "MQINQ"),
- DEF_VALS2(TST_MQCMIT, "MQCMIT"),
- DEF_VALS2(TST_MQBACK, "MQBACK"),
- DEF_VALS2(TST_SPI, "SPI"),
- DEF_VALS2(TST_MQSTAT, "MQSTAT"),
- DEF_VALS2(TST_MQSUB, "MQSUB"),
- DEF_VALS2(TST_MQSUBRQ, "MQSUBRQ"),
- DEF_VALS2(TST_MQCONN_REPLY, "MQCONN_REPLY"),
- DEF_VALS2(TST_MQDISC_REPLY, "MQDISC_REPLY"),
- DEF_VALS2(TST_MQOPEN_REPLY, "MQOPEN_REPLY"),
- DEF_VALS2(TST_MQCLOSE_REPLY, "MQCLOSE_REPLY"),
- DEF_VALS2(TST_MQGET_REPLY, "MQGET_REPLY"),
- DEF_VALS2(TST_MQPUT_REPLY, "MQPUT_REPLY"),
- DEF_VALS2(TST_MQPUT1_REPLY, "MQPUT1_REPLY"),
- DEF_VALS2(TST_MQSET_REPLY, "MQSET_REPLY"),
- DEF_VALS2(TST_MQINQ_REPLY, "MQINQ_REPLY"),
- DEF_VALS2(TST_MQCMIT_REPLY, "MQCMIT_REPLY"),
- DEF_VALS2(TST_MQBACK_REPLY, "MQBACK_REPLY"),
- DEF_VALS2(TST_SPI_REPLY, "SPI_REPLY"),
- DEF_VALS2(TST_MQSTAT_REPLY, "MQSTAT_REPLY"),
- DEF_VALS2(TST_MQSUB_REPLY, "MQSUB_REPLY"),
- DEF_VALS2(TST_MQSUBRQ_REPLY, "MQSUBRQ_REPLY"),
- DEF_VALS2(TST_XA_START, "XA_START"),
- DEF_VALS2(TST_XA_END, "XA_END"),
- DEF_VALS2(TST_XA_OPEN, "XA_OPEN"),
- DEF_VALS2(TST_XA_CLOSE, "XA_CLOSE"),
- DEF_VALS2(TST_XA_PREPARE, "XA_PREPARE"),
- DEF_VALS2(TST_XA_COMMIT, "XA_COMMIT"),
- DEF_VALS2(TST_XA_ROLLBACK, "XA_ROLLBACK"),
- DEF_VALS2(TST_XA_FORGET, "XA_FORGET"),
- DEF_VALS2(TST_XA_RECOVER, "XA_RECOVER"),
- DEF_VALS2(TST_XA_COMPLETE, "XA_COMPLETE"),
- DEF_VALS2(TST_XA_START_REPLY, "XA_START_REPLY"),
- DEF_VALS2(TST_XA_END_REPLY, "XA_END_REPLY"),
- DEF_VALS2(TST_XA_OPEN_REPLY, "XA_OPEN_REPLY"),
- DEF_VALS2(TST_XA_CLOSE_REPLY, "XA_CLOSE_REPLY"),
- DEF_VALS2(TST_XA_PREPARE_REPLY, "XA_PREPARE_REPLY"),
- DEF_VALS2(TST_XA_COMMIT_REPLY, "XA_COMMIT_REPLY"),
+ DEF_VALS2(TST_INITIAL , "INITIAL_DATA"),
+ DEF_VALS2(TST_RESYNC , "RESYNC_DATA"),
+ DEF_VALS2(TST_RESET , "RESET_DATA"),
+ DEF_VALS2(TST_MESSAGE , "MESSAGE_DATA"),
+ DEF_VALS2(TST_STATUS , "STATUS_DATA"),
+ DEF_VALS2(TST_SECURITY , "SECURITY_DATA"),
+ DEF_VALS2(TST_PING , "PING_DATA"),
+ DEF_VALS2(TST_USERID , "USERID_DATA"),
+ DEF_VALS2(TST_HEARTBEAT , "HEARTBEAT"),
+ DEF_VALS2(TST_CONAUTH_INFO , "CONAUTH_INFO"),
+ DEF_VALS2(TST_RENEGOTIATE_DATA , "RENEGOTIATE_DATA"),
+ DEF_VALS2(TST_SOCKET_ACTION , "SOCKET_ACTION"),
+ DEF_VALS2(TST_ASYNC_MESSAGE , "ASYNC_MESSAGE"),
+ DEF_VALS2(TST_REQUEST_MSGS , "REQUEST_MSGS"),
+ DEF_VALS2(TST_NOTIFICATION , "NOTIFICATION"),
+ DEF_VALS2(TST_MQCONN , "MQCONN"),
+ DEF_VALS2(TST_MQDISC , "MQDISC"),
+ DEF_VALS2(TST_MQOPEN , "MQOPEN"),
+ DEF_VALS2(TST_MQCLOSE , "MQCLOSE"),
+ DEF_VALS2(TST_MQGET , "MQGET"),
+ DEF_VALS2(TST_MQPUT , "MQPUT"),
+ DEF_VALS2(TST_MQPUT1 , "MQPUT1"),
+ DEF_VALS2(TST_MQSET , "MQSET"),
+ DEF_VALS2(TST_MQINQ , "MQINQ"),
+ DEF_VALS2(TST_MQCMIT , "MQCMIT"),
+ DEF_VALS2(TST_MQBACK , "MQBACK"),
+ DEF_VALS2(TST_SPI , "SPI"),
+ DEF_VALS2(TST_MQSTAT , "MQSTAT"),
+ DEF_VALS2(TST_MQSUB , "MQSUB"),
+ DEF_VALS2(TST_MQSUBRQ , "MQSUBRQ"),
+ DEF_VALS2(TST_MQCONN_REPLY , "MQCONN_REPLY"),
+ DEF_VALS2(TST_MQDISC_REPLY , "MQDISC_REPLY"),
+ DEF_VALS2(TST_MQOPEN_REPLY , "MQOPEN_REPLY"),
+ DEF_VALS2(TST_MQCLOSE_REPLY , "MQCLOSE_REPLY"),
+ DEF_VALS2(TST_MQGET_REPLY , "MQGET_REPLY"),
+ DEF_VALS2(TST_MQPUT_REPLY , "MQPUT_REPLY"),
+ DEF_VALS2(TST_MQPUT1_REPLY , "MQPUT1_REPLY"),
+ DEF_VALS2(TST_MQSET_REPLY , "MQSET_REPLY"),
+ DEF_VALS2(TST_MQINQ_REPLY , "MQINQ_REPLY"),
+ DEF_VALS2(TST_MQCMIT_REPLY , "MQCMIT_REPLY"),
+ DEF_VALS2(TST_MQBACK_REPLY , "MQBACK_REPLY"),
+ DEF_VALS2(TST_SPI_REPLY , "SPI_REPLY"),
+ DEF_VALS2(TST_MQSTAT_REPLY , "MQSTAT_REPLY"),
+ DEF_VALS2(TST_MQSUB_REPLY , "MQSUB_REPLY"),
+ DEF_VALS2(TST_MQSUBRQ_REPLY , "MQSUBRQ_REPLY"),
+ DEF_VALS2(TST_XA_START , "XA_START"),
+ DEF_VALS2(TST_XA_END , "XA_END"),
+ DEF_VALS2(TST_XA_OPEN , "XA_OPEN"),
+ DEF_VALS2(TST_XA_CLOSE , "XA_CLOSE"),
+ DEF_VALS2(TST_XA_PREPARE , "XA_PREPARE"),
+ DEF_VALS2(TST_XA_COMMIT , "XA_COMMIT"),
+ DEF_VALS2(TST_XA_ROLLBACK , "XA_ROLLBACK"),
+ DEF_VALS2(TST_XA_FORGET , "XA_FORGET"),
+ DEF_VALS2(TST_XA_RECOVER , "XA_RECOVER"),
+ DEF_VALS2(TST_XA_COMPLETE , "XA_COMPLETE"),
+ DEF_VALS2(TST_XA_START_REPLY , "XA_START_REPLY"),
+ DEF_VALS2(TST_XA_END_REPLY , "XA_END_REPLY"),
+ DEF_VALS2(TST_XA_OPEN_REPLY , "XA_OPEN_REPLY"),
+ DEF_VALS2(TST_XA_CLOSE_REPLY , "XA_CLOSE_REPLY"),
+ DEF_VALS2(TST_XA_PREPARE_REPLY , "XA_PREPARE_REPLY"),
+ DEF_VALS2(TST_XA_COMMIT_REPLY , "XA_COMMIT_REPLY"),
DEF_VALS2(TST_XA_ROLLBACK_REPLY, "XA_ROLLBACK_REPLY"),
- DEF_VALS2(TST_XA_FORGET_REPLY, "XA_FORGET_REPLY"),
- DEF_VALS2(TST_XA_RECOVER_REPLY, "XA_RECOVER_REPLY"),
+ DEF_VALS2(TST_XA_FORGET_REPLY , "XA_FORGET_REPLY"),
+ DEF_VALS2(TST_XA_RECOVER_REPLY , "XA_RECOVER_REPLY"),
DEF_VALS2(TST_XA_COMPLETE_REPLY, "XA_COMPLETE_REPLY"),
DEF_VALSE;
DEF_VALSB(spi_verbs)
- DEF_VALS2(SPI_QUERY, "QUERY"),
- DEF_VALS2(SPI_PUT, "PUT"),
- DEF_VALS2(SPI_GET, "GET"),
+ DEF_VALS2(SPI_QUERY , "QUERY"),
+ DEF_VALS2(SPI_PUT , "PUT"),
+ DEF_VALS2(SPI_GET , "GET"),
DEF_VALS2(SPI_ACTIVATE, "ACTIVATE"),
- DEF_VALS2(SPI_OPEN, "OPEN"),
+ DEF_VALS2(SPI_OPEN , "OPEN"),
DEF_VALSE;
DEF_VALSB(spi_activate)
- DEF_VALS2(SPI_ACTIVATE_ENABLE, "ENABLE"),
+ DEF_VALS2(SPI_ACTIVATE_ENABLE , "ENABLE"),
DEF_VALS2(SPI_ACTIVATE_DISABLE, "DISABLE"),
DEF_VALSE;
DEF_VALSB(status)
- DEF_VALS2(STATUS_ERR_NO_CHANNEL, "NO_CHANNEL"),
- DEF_VALS2(STATUS_ERR_CHANNEL_WRONG_TYPE, "CHANNEL_WRONG_TYPE"),
- DEF_VALS2(STATUS_ERR_QM_UNAVAILABLE, "QM_UNAVAILABLE"),
- DEF_VALS2(STATUS_ERR_MSG_SEQUENCE_ERROR, "MSG_SEQUENCE_ERROR"),
- DEF_VALS2(STATUS_ERR_QM_TERMINATING, "QM_TERMINATING"),
- DEF_VALS2(STATUS_ERR_CAN_NOT_STORE, "CAN_NOT_STORE"),
- DEF_VALS2(STATUS_ERR_USER_CLOSED, "USER_CLOSED"),
- DEF_VALS2(STATUS_ERR_PROTOCOL_SEGMENT_TYPE, "REMOTE_PROTOCOL_ERROR"),
- DEF_VALS2(STATUS_ERR_PROTOCOL_LENGTH_ERROR, "BIND_FAILED"),
- DEF_VALS2(STATUS_ERR_PROTOCOL_INVALID_DATA, "MSGWRAP_DIFFERENT"),
- DEF_VALS2(STATUS_ERR_PROTOCOL_ID_ERROR, "REMOTE_CHANNEL_UNAVAILABLE"),
- DEF_VALS2(STATUS_ERR_PROTOCOL_MSH_ERROR, "TERMINATED_BY_REMOTE_EXIT"),
- DEF_VALS2(STATUS_ERR_PROTOCOL_GENERAL, "PROTOCOL_GENERAL"),
- DEF_VALS2(STATUS_ERR_BATCH_FAILURE, "BATCH_FAILURE"),
- DEF_VALS2(STATUS_ERR_MESSAGE_LENGTH_ERROR, "MESSAGE_LENGTH_ERROR"),
- DEF_VALS2(STATUS_ERR_SEGMENT_NUMBER_ERROR, "SEGMENT_NUMBER_ERROR"),
- DEF_VALS2(STATUS_ERR_SECURITY_FAILURE, "SECURITY_FAILURE"),
- DEF_VALS2(STATUS_ERR_WRAP_VALUE_ERROR, "WRAP_VALUE_ERROR"),
- DEF_VALS2(STATUS_ERR_CHANNEL_UNAVAILABLE, "CHANNEL_UNAVAILABLE"),
- DEF_VALS2(STATUS_ERR_CLOSED_BY_EXIT, "CLOSED_BY_EXIT"),
- DEF_VALS2(STATUS_ERR_CIPHER_SPEC, "CIPHER_SPEC"),
- DEF_VALS2(STATUS_ERR_PEER_NAME, "PEER_NAME"),
+ DEF_VALS2(STATUS_ERR_NO_CHANNEL , "NO_CHANNEL"),
+ DEF_VALS2(STATUS_ERR_CHANNEL_WRONG_TYPE , "CHANNEL_WRONG_TYPE"),
+ DEF_VALS2(STATUS_ERR_QM_UNAVAILABLE , "QM_UNAVAILABLE"),
+ DEF_VALS2(STATUS_ERR_MSG_SEQUENCE_ERROR , "MSG_SEQUENCE_ERROR"),
+ DEF_VALS2(STATUS_ERR_QM_TERMINATING , "QM_TERMINATING"),
+ DEF_VALS2(STATUS_ERR_CAN_NOT_STORE , "CAN_NOT_STORE"),
+ DEF_VALS2(STATUS_ERR_USER_CLOSED , "USER_CLOSED"),
+ DEF_VALS2(STATUS_ERR_PROTOCOL_SEGMENT_TYPE , "REMOTE_PROTOCOL_ERROR"),
+ DEF_VALS2(STATUS_ERR_PROTOCOL_LENGTH_ERROR , "BIND_FAILED"),
+ DEF_VALS2(STATUS_ERR_PROTOCOL_INVALID_DATA , "MSGWRAP_DIFFERENT"),
+ DEF_VALS2(STATUS_ERR_PROTOCOL_ID_ERROR , "REMOTE_CHANNEL_UNAVAILABLE"),
+ DEF_VALS2(STATUS_ERR_PROTOCOL_MSH_ERROR , "TERMINATED_BY_REMOTE_EXIT"),
+ DEF_VALS2(STATUS_ERR_PROTOCOL_GENERAL , "PROTOCOL_GENERAL"),
+ DEF_VALS2(STATUS_ERR_BATCH_FAILURE , "BATCH_FAILURE"),
+ DEF_VALS2(STATUS_ERR_MESSAGE_LENGTH_ERROR , "MESSAGE_LENGTH_ERROR"),
+ DEF_VALS2(STATUS_ERR_SEGMENT_NUMBER_ERROR , "SEGMENT_NUMBER_ERROR"),
+ DEF_VALS2(STATUS_ERR_SECURITY_FAILURE , "SECURITY_FAILURE"),
+ DEF_VALS2(STATUS_ERR_WRAP_VALUE_ERROR , "WRAP_VALUE_ERROR"),
+ DEF_VALS2(STATUS_ERR_CHANNEL_UNAVAILABLE , "CHANNEL_UNAVAILABLE"),
+ DEF_VALS2(STATUS_ERR_CLOSED_BY_EXIT , "CLOSED_BY_EXIT"),
+ DEF_VALS2(STATUS_ERR_CIPHER_SPEC , "CIPHER_SPEC"),
+ DEF_VALS2(STATUS_ERR_PEER_NAME , "PEER_NAME"),
DEF_VALS2(STATUS_ERR_SSL_CLIENT_CERTIFICATE, "SSL_CLIENT_CERTIFICATE"),
- DEF_VALS2(STATUS_ERR_RMT_RSRCS_IN_RECOVERY, "RMT_RSRCS_IN_RECOVERY"),
- DEF_VALS2(STATUS_ERR_SSL_REFRESHING, "SSL_REFRESHING"),
- DEF_VALS2(STATUS_ERR_INVALID_HOBJ, "INVALID_HOBJ"),
- DEF_VALS2(STATUS_ERR_CONV_ID_ERROR, "CONV_ID_ERROR"),
- DEF_VALS2(STATUS_ERR_SOCKET_ACTION_TYPE, "SOCKET_ACTION_TYPE"),
- DEF_VALS2(STATUS_ERR_STANDBY_Q_MGR, "STANDBY_Q_MGR"),
-
- DEF_VALS2(STATUS_ERR_CCSID_NOT_SUPPORTED, "CCSID_NOT_SUPPORTED"),
- DEF_VALS2(STATUS_ERR_ENCODING_INVALID, "ENCODING_INVALID"),
- DEF_VALS2(STATUS_ERR_FAP_LEVEL, "FAP_LEVEL"),
- DEF_VALS2(STATUS_ERR_NEGOTIATION_FAILED, "NEGOTIATION_FAILED"),
+ DEF_VALS2(STATUS_ERR_RMT_RSRCS_IN_RECOVERY , "RMT_RSRCS_IN_RECOVERY"),
+ DEF_VALS2(STATUS_ERR_SSL_REFRESHING , "SSL_REFRESHING"),
+ DEF_VALS2(STATUS_ERR_INVALID_HOBJ , "INVALID_HOBJ"),
+ DEF_VALS2(STATUS_ERR_CONV_ID_ERROR , "CONV_ID_ERROR"),
+ DEF_VALS2(STATUS_ERR_SOCKET_ACTION_TYPE , "SOCKET_ACTION_TYPE"),
+ DEF_VALS2(STATUS_ERR_STANDBY_Q_MGR , "STANDBY_Q_MGR"),
+ DEF_VALS2(STATUS_ERR_CCSID_NOT_SUPPORTED , "CCSID_NOT_SUPPORTED"),
+ DEF_VALS2(STATUS_ERR_ENCODING_INVALID , "ENCODING_INVALID"),
+ DEF_VALS2(STATUS_ERR_FAP_LEVEL , "FAP_LEVEL"),
+ DEF_VALS2(STATUS_ERR_NEGOTIATION_FAILED , "NEGOTIATION_FAILED"),
DEF_VALSE;
DEF_VALSB(xaer)
- DEF_VALS2(XA_RBROLLBACK, "XA_RBROLLBACK"),
- DEF_VALS2(XA_RBCOMMFAIL, "XA_RBCOMMFAIL"),
- DEF_VALS2(XA_RBDEADLOCK, "XA_RBDEADLOCK"),
+ DEF_VALS2(XA_RBROLLBACK , "XA_RBROLLBACK"),
+ DEF_VALS2(XA_RBCOMMFAIL , "XA_RBCOMMFAIL"),
+ DEF_VALS2(XA_RBDEADLOCK , "XA_RBDEADLOCK"),
DEF_VALS2(XA_RBINTEGRITY, "XA_RBINTEGRITY"),
- DEF_VALS2(XA_RBOTHER, "XA_RBOTHER"),
- DEF_VALS2(XA_RBPROTO, "XA_RBPROTO"),
- DEF_VALS2(XA_RBTIMEOUT, "XA_RBTIMEOUT"),
+ DEF_VALS2(XA_RBOTHER , "XA_RBOTHER"),
+ DEF_VALS2(XA_RBPROTO , "XA_RBPROTO"),
+ DEF_VALS2(XA_RBTIMEOUT , "XA_RBTIMEOUT"),
DEF_VALS2(XA_RBTRANSIENT, "XA_RBTRANSIENT"),
- DEF_VALS2(XA_NOMIGRATE, "XA_NOMIGRATE"),
- DEF_VALS2(XA_HEURHAZ, "XA_HEURHAZ"),
- DEF_VALS2(XA_HEURCOM, "XA_HEURCOM"),
- DEF_VALS2(XA_HEURRB, "XA_HEURRB"),
- DEF_VALS2(XA_HEURMIX, "XA_HEURMIX"),
- DEF_VALS2(XA_RETRY, "XA_RETRY"),
- DEF_VALS2(XA_RDONLY, "XA_RDONLY"),
- DEF_VALS2(XA_OK, "XA_OK"),
- DEF_VALS2(XAER_ASYNC, "XAER_ASYNC"),
- DEF_VALS2(XAER_RMERR, "XAER_RMERR"),
- DEF_VALS2(XAER_NOTA, "XAER_NOTA"),
- DEF_VALS2(XAER_INVAL, "XAER_INVAL"),
- DEF_VALS2(XAER_PROTO, "XAER_PROTO"),
- DEF_VALS2(XAER_RMFAIL, "XAER_RMFAIL"),
- DEF_VALS2(XAER_DUPID, "XAER_DUPID"),
- DEF_VALS2(XAER_OUTSIDE, "XAER_OUTSIDE"),
+ DEF_VALS2(XA_NOMIGRATE , "XA_NOMIGRATE"),
+ DEF_VALS2(XA_HEURHAZ , "XA_HEURHAZ"),
+ DEF_VALS2(XA_HEURCOM , "XA_HEURCOM"),
+ DEF_VALS2(XA_HEURRB , "XA_HEURRB"),
+ DEF_VALS2(XA_HEURMIX , "XA_HEURMIX"),
+ DEF_VALS2(XA_RETRY , "XA_RETRY"),
+ DEF_VALS2(XA_RDONLY , "XA_RDONLY"),
+ DEF_VALS2(XA_OK , "XA_OK"),
+ DEF_VALS2(XAER_ASYNC , "XAER_ASYNC"),
+ DEF_VALS2(XAER_RMERR , "XAER_RMERR"),
+ DEF_VALS2(XAER_NOTA , "XAER_NOTA"),
+ DEF_VALS2(XAER_INVAL , "XAER_INVAL"),
+ DEF_VALS2(XAER_PROTO , "XAER_PROTO"),
+ DEF_VALS2(XAER_RMFAIL , "XAER_RMFAIL"),
+ DEF_VALS2(XAER_DUPID , "XAER_DUPID"),
+ DEF_VALS2(XAER_OUTSIDE , "XAER_OUTSIDE"),
DEF_VALSE;
DEF_VALSB(StructID)
- DEF_VALS2(STRUCTID_CIH, MQ_TEXT_CIH),
- DEF_VALS2(STRUCTID_DH, MQ_TEXT_DH),
- DEF_VALS2(STRUCTID_DLH, MQ_TEXT_DLH),
- DEF_VALS2(STRUCTID_GMO, MQ_TEXT_GMO),
- DEF_VALS2(STRUCTID_ID, MQ_TEXT_ID),
- DEF_VALS2(STRUCTID_IIH, MQ_TEXT_IIH),
- DEF_VALS2(STRUCTID_MD, MQ_TEXT_MD),
- DEF_VALS2(STRUCTID_MDE, MQ_TEXT_MDE),
- DEF_VALS2(STRUCTID_MSH, MQ_TEXT_MSH),
- DEF_VALS2(STRUCTID_OD, MQ_TEXT_OD),
- DEF_VALS2(STRUCTID_PMO, MQ_TEXT_PMO),
- DEF_VALS2(STRUCTID_RMH, MQ_TEXT_RMH),
- DEF_VALS2(STRUCTID_TM, MQ_TEXT_TM),
- DEF_VALS2(STRUCTID_TMC2, MQ_TEXT_TMC2),
- DEF_VALS2(STRUCTID_CAUT, MQ_TEXT_CAUT),
- DEF_VALS2(STRUCTID_TSH, MQ_TEXT_TSH),
- DEF_VALS2(STRUCTID_TSHC, MQ_TEXT_TSHC),
- DEF_VALS2(STRUCTID_TSHM, MQ_TEXT_TSHM),
- DEF_VALS2(STRUCTID_UID, MQ_TEXT_UID),
- DEF_VALS2(STRUCTID_WIH, MQ_TEXT_WIH),
- DEF_VALS2(STRUCTID_XQH, MQ_TEXT_XQH),
- DEF_VALS2(STRUCTID_SPQU , MQ_TEXT_SPQU),
- DEF_VALS2(STRUCTID_SPQI , MQ_TEXT_SPQI),
- DEF_VALS2(STRUCTID_SPQO , MQ_TEXT_SPQO),
- DEF_VALS2(STRUCTID_SPPU , MQ_TEXT_SPPU),
- DEF_VALS2(STRUCTID_SPPI , MQ_TEXT_SPPI),
- DEF_VALS2(STRUCTID_SPPO , MQ_TEXT_SPPO),
- DEF_VALS2(STRUCTID_SPGU , MQ_TEXT_SPGU),
- DEF_VALS2(STRUCTID_SPGI , MQ_TEXT_SPGI),
- DEF_VALS2(STRUCTID_SPGO , MQ_TEXT_SPGO),
- DEF_VALS2(STRUCTID_SPAU , MQ_TEXT_SPAU),
- DEF_VALS2(STRUCTID_SPAI , MQ_TEXT_SPAI),
- DEF_VALS2(STRUCTID_SPAO , MQ_TEXT_SPAO),
- DEF_VALS2(STRUCTID_SPOU , MQ_TEXT_SPOU),
- DEF_VALS2(STRUCTID_SPOI , MQ_TEXT_SPOI),
- DEF_VALS2(STRUCTID_SPOO , MQ_TEXT_SPOO),
- DEF_VALS2(STRUCTID_LPOO , MQ_TEXT_LPOO),
- DEF_VALS2(STRUCTID_FOPA , MQ_TEXT_FOPA),
- DEF_VALS2(STRUCTID_FCNO , MQ_TEXT_FCNO),
- DEF_VALS2(STRUCTID_CIH_EBCDIC, MQ_TEXT_CIH),
- DEF_VALS2(STRUCTID_DH_EBCDIC, MQ_TEXT_DH),
- DEF_VALS2(STRUCTID_DLH_EBCDIC, MQ_TEXT_DLH),
- DEF_VALS2(STRUCTID_GMO_EBCDIC, MQ_TEXT_GMO),
- DEF_VALS2(STRUCTID_ID_EBCDIC, MQ_TEXT_ID),
- DEF_VALS2(STRUCTID_IIH_EBCDIC, MQ_TEXT_IIH),
- DEF_VALS2(STRUCTID_MD_EBCDIC, MQ_TEXT_MD),
- DEF_VALS2(STRUCTID_MDE_EBCDIC, MQ_TEXT_MDE),
- DEF_VALS2(STRUCTID_OD_EBCDIC, MQ_TEXT_OD),
- DEF_VALS2(STRUCTID_PMO_EBCDIC, MQ_TEXT_PMO),
- DEF_VALS2(STRUCTID_RMH_EBCDIC, MQ_TEXT_RMH),
- DEF_VALS2(STRUCTID_TM_EBCDIC, MQ_TEXT_TM),
- DEF_VALS2(STRUCTID_TMC2_EBCDIC, MQ_TEXT_TMC2),
- DEF_VALS2(STRUCTID_CAUT_EBCDIC, MQ_TEXT_CAUT),
- DEF_VALS2(STRUCTID_TSH_EBCDIC, MQ_TEXT_TSH),
- DEF_VALS2(STRUCTID_TSHC_EBCDIC, MQ_TEXT_TSHC),
- DEF_VALS2(STRUCTID_TSHM_EBCDIC, MQ_TEXT_TSHM),
- DEF_VALS2(STRUCTID_UID_EBCDIC, MQ_TEXT_UID),
- DEF_VALS2(STRUCTID_WIH_EBCDIC, MQ_TEXT_WIH),
- DEF_VALS2(STRUCTID_XQH_EBCDIC, MQ_TEXT_XQH),
- DEF_VALS2(STRUCTID_SPQU_EBCDIC, MQ_TEXT_SPQU),
- DEF_VALS2(STRUCTID_SPQI_EBCDIC, MQ_TEXT_SPQI),
- DEF_VALS2(STRUCTID_SPQO_EBCDIC, MQ_TEXT_SPQO),
- DEF_VALS2(STRUCTID_SPPU_EBCDIC, MQ_TEXT_SPPU),
- DEF_VALS2(STRUCTID_SPPI_EBCDIC, MQ_TEXT_SPPI),
- DEF_VALS2(STRUCTID_SPPO_EBCDIC, MQ_TEXT_SPPO),
- DEF_VALS2(STRUCTID_SPGU_EBCDIC, MQ_TEXT_SPGU),
- DEF_VALS2(STRUCTID_SPGI_EBCDIC, MQ_TEXT_SPGI),
- DEF_VALS2(STRUCTID_SPGO_EBCDIC, MQ_TEXT_SPGO),
- DEF_VALS2(STRUCTID_SPAU_EBCDIC, MQ_TEXT_SPAU),
- DEF_VALS2(STRUCTID_SPAI_EBCDIC, MQ_TEXT_SPAI),
- DEF_VALS2(STRUCTID_SPAO_EBCDIC, MQ_TEXT_SPAO),
- DEF_VALS2(STRUCTID_SPOU_EBCDIC, MQ_TEXT_SPOU),
- DEF_VALS2(STRUCTID_SPOI_EBCDIC, MQ_TEXT_SPOI),
- DEF_VALS2(STRUCTID_SPOO_EBCDIC, MQ_TEXT_SPOO),
- DEF_VALS2(STRUCTID_LPOO_EBCDIC, MQ_TEXT_LPOO),
- DEF_VALS2(STRUCTID_FOPA_EBCDIC, MQ_TEXT_FOPA),
- DEF_VALS2(STRUCTID_FCNO_EBCDIC , MQ_TEXT_FCNO),
+ DEF_VALS2(STRUCTID_CIH , MQ_TEXT_CIH),
+ DEF_VALS2(STRUCTID_DH , MQ_TEXT_DH),
+ DEF_VALS2(STRUCTID_DLH , MQ_TEXT_DLH),
+ DEF_VALS2(STRUCTID_GMO , MQ_TEXT_GMO),
+ DEF_VALS2(STRUCTID_ID , MQ_TEXT_ID),
+ DEF_VALS2(STRUCTID_IIH , MQ_TEXT_IIH),
+ DEF_VALS2(STRUCTID_MD , MQ_TEXT_MD),
+ DEF_VALS2(STRUCTID_MDE , MQ_TEXT_MDE),
+ DEF_VALS2(STRUCTID_MSH , MQ_TEXT_MSH),
+ DEF_VALS2(STRUCTID_OD , MQ_TEXT_OD),
+ DEF_VALS2(STRUCTID_PMO , MQ_TEXT_PMO),
+ DEF_VALS2(STRUCTID_RMH , MQ_TEXT_RMH),
+ DEF_VALS2(STRUCTID_TM , MQ_TEXT_TM),
+ DEF_VALS2(STRUCTID_TMC2 , MQ_TEXT_TMC2),
+ DEF_VALS2(STRUCTID_CAUT , MQ_TEXT_CAUT),
+ DEF_VALS2(STRUCTID_TSH , MQ_TEXT_TSH),
+ DEF_VALS2(STRUCTID_TSHC , MQ_TEXT_TSHC),
+ DEF_VALS2(STRUCTID_TSHM , MQ_TEXT_TSHM),
+ DEF_VALS2(STRUCTID_UID , MQ_TEXT_UID),
+ DEF_VALS2(STRUCTID_WIH , MQ_TEXT_WIH),
+ DEF_VALS2(STRUCTID_XQH , MQ_TEXT_XQH),
+ DEF_VALS2(STRUCTID_SPQU , MQ_TEXT_SPQU),
+ DEF_VALS2(STRUCTID_SPQI , MQ_TEXT_SPQI),
+ DEF_VALS2(STRUCTID_SPQO , MQ_TEXT_SPQO),
+ DEF_VALS2(STRUCTID_SPPU , MQ_TEXT_SPPU),
+ DEF_VALS2(STRUCTID_SPPI , MQ_TEXT_SPPI),
+ DEF_VALS2(STRUCTID_SPPO , MQ_TEXT_SPPO),
+ DEF_VALS2(STRUCTID_SPGU , MQ_TEXT_SPGU),
+ DEF_VALS2(STRUCTID_SPGI , MQ_TEXT_SPGI),
+ DEF_VALS2(STRUCTID_SPGO , MQ_TEXT_SPGO),
+ DEF_VALS2(STRUCTID_SPAU , MQ_TEXT_SPAU),
+ DEF_VALS2(STRUCTID_SPAI , MQ_TEXT_SPAI),
+ DEF_VALS2(STRUCTID_SPAO , MQ_TEXT_SPAO),
+ DEF_VALS2(STRUCTID_SPOU , MQ_TEXT_SPOU),
+ DEF_VALS2(STRUCTID_SPOI , MQ_TEXT_SPOI),
+ DEF_VALS2(STRUCTID_SPOO , MQ_TEXT_SPOO),
+ DEF_VALS2(STRUCTID_LPOO , MQ_TEXT_LPOO),
+ DEF_VALS2(STRUCTID_FOPA , MQ_TEXT_FOPA),
+ DEF_VALS2(STRUCTID_FCNO , MQ_TEXT_FCNO),
+ DEF_VALS2(STRUCTID_CIH_EBCDIC , MQ_TEXT_CIH),
+ DEF_VALS2(STRUCTID_DH_EBCDIC , MQ_TEXT_DH),
+ DEF_VALS2(STRUCTID_DLH_EBCDIC , MQ_TEXT_DLH),
+ DEF_VALS2(STRUCTID_GMO_EBCDIC , MQ_TEXT_GMO),
+ DEF_VALS2(STRUCTID_ID_EBCDIC , MQ_TEXT_ID),
+ DEF_VALS2(STRUCTID_IIH_EBCDIC , MQ_TEXT_IIH),
+ DEF_VALS2(STRUCTID_MD_EBCDIC , MQ_TEXT_MD),
+ DEF_VALS2(STRUCTID_MDE_EBCDIC , MQ_TEXT_MDE),
+ DEF_VALS2(STRUCTID_OD_EBCDIC , MQ_TEXT_OD),
+ DEF_VALS2(STRUCTID_PMO_EBCDIC , MQ_TEXT_PMO),
+ DEF_VALS2(STRUCTID_RMH_EBCDIC , MQ_TEXT_RMH),
+ DEF_VALS2(STRUCTID_TM_EBCDIC , MQ_TEXT_TM),
+ DEF_VALS2(STRUCTID_TMC2_EBCDIC, MQ_TEXT_TMC2),
+ DEF_VALS2(STRUCTID_CAUT_EBCDIC, MQ_TEXT_CAUT),
+ DEF_VALS2(STRUCTID_TSH_EBCDIC , MQ_TEXT_TSH),
+ DEF_VALS2(STRUCTID_TSHC_EBCDIC, MQ_TEXT_TSHC),
+ DEF_VALS2(STRUCTID_TSHM_EBCDIC, MQ_TEXT_TSHM),
+ DEF_VALS2(STRUCTID_UID_EBCDIC , MQ_TEXT_UID),
+ DEF_VALS2(STRUCTID_WIH_EBCDIC , MQ_TEXT_WIH),
+ DEF_VALS2(STRUCTID_XQH_EBCDIC , MQ_TEXT_XQH),
+ DEF_VALS2(STRUCTID_SPQU_EBCDIC, MQ_TEXT_SPQU),
+ DEF_VALS2(STRUCTID_SPQI_EBCDIC, MQ_TEXT_SPQI),
+ DEF_VALS2(STRUCTID_SPQO_EBCDIC, MQ_TEXT_SPQO),
+ DEF_VALS2(STRUCTID_SPPU_EBCDIC, MQ_TEXT_SPPU),
+ DEF_VALS2(STRUCTID_SPPI_EBCDIC, MQ_TEXT_SPPI),
+ DEF_VALS2(STRUCTID_SPPO_EBCDIC, MQ_TEXT_SPPO),
+ DEF_VALS2(STRUCTID_SPGU_EBCDIC, MQ_TEXT_SPGU),
+ DEF_VALS2(STRUCTID_SPGI_EBCDIC, MQ_TEXT_SPGI),
+ DEF_VALS2(STRUCTID_SPGO_EBCDIC, MQ_TEXT_SPGO),
+ DEF_VALS2(STRUCTID_SPAU_EBCDIC, MQ_TEXT_SPAU),
+ DEF_VALS2(STRUCTID_SPAI_EBCDIC, MQ_TEXT_SPAI),
+ DEF_VALS2(STRUCTID_SPAO_EBCDIC, MQ_TEXT_SPAO),
+ DEF_VALS2(STRUCTID_SPOU_EBCDIC, MQ_TEXT_SPOU),
+ DEF_VALS2(STRUCTID_SPOI_EBCDIC, MQ_TEXT_SPOI),
+ DEF_VALS2(STRUCTID_SPOO_EBCDIC, MQ_TEXT_SPOO),
+ DEF_VALS2(STRUCTID_LPOO_EBCDIC, MQ_TEXT_LPOO),
+ DEF_VALS2(STRUCTID_FOPA_EBCDIC, MQ_TEXT_FOPA),
+ DEF_VALS2(STRUCTID_FCNO_EBCDIC, MQ_TEXT_FCNO),
DEF_VALSE;
DEF_VALSB(byteorder)
DEF_VALS2(LITTLE_ENDIAN, "Little endian"),
- DEF_VALS2(BIG_ENDIAN, "Big endian"),
+ DEF_VALS2(BIG_ENDIAN , "Big endian"),
DEF_VALSE;
DEF_VALSB(conn_version)
- DEF_VALS2(CONN_VERSION, "MQCONN"),
+ DEF_VALS2(CONN_VERSION , "MQCONN"),
DEF_VALS2(CONNX_VERSION, "MQCONNX"),
DEF_VALSE;
@@ -1760,7 +1858,7 @@ static gint dissect_mq_charv(tvbuff_t *tvb, proto_tree *tree, gint offset, gint
guint32 oStr;
gint32 eStr;
guint8 *sStr;
- static guint8 sEmpty[] = "[Empty]";
+ static guint8 sEmpty[] = "[Empty]";
lStr = tvb_get_guint32_endian(tvb, offset + 12, p_mq_parm->mq_int_enc);
oStr = tvb_get_guint32_endian(tvb, offset + 4, p_mq_parm->mq_int_enc);
@@ -1774,12 +1872,12 @@ static gint dissect_mq_charv(tvbuff_t *tvb, proto_tree *tree, gint offset, gint
ti = proto_tree_add_text(tree, tvb, offset, iSize, "%s - %s", pStr, (sStr) ? sStr : sEmpty);
mq_tree_sub = proto_item_add_subtree(ti, idx);
- proto_tree_add_item(mq_tree_sub, hf_mq_charv_vsptr, tvb, offset, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree_sub, hf_mq_charv_vsoffset, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree_sub, hf_mq_charv_vsptr , tvb, offset, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree_sub, hf_mq_charv_vsoffset , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree_sub, hf_mq_charv_vsbufsize, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree_sub, hf_mq_charv_vslength, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree_sub, hf_mq_charv_vsccsid, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree_sub, hf_mq_charv_vsvalue, tvb, oStr, lStr, (eStr == 500) ? ENC_EBCDIC : ENC_ASCII);
+ proto_tree_add_item(mq_tree_sub, hf_mq_charv_vslength , tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree_sub, hf_mq_charv_vsccsid , tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree_sub, hf_mq_charv_vsvalue , tvb, oStr, lStr, (eStr == 500) ? ENC_EBCDIC : ENC_ASCII);
return 20;
}
@@ -1926,29 +2024,29 @@ static gint dissect_mq_gmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
mq_tree = proto_item_add_subtree(ti, ett_mq_gmo);
proto_tree_add_item(mq_tree, hf_mq_gmo_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_gmo_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_gmo_version , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
dissect_mq_MQGMO(tvb, mq_tree, offset + 8, ett_mq_gmo_option, p_mq_parm);
proto_tree_add_item(mq_tree, hf_mq_gmo_waitinterval, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_gmo_signal1, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_gmo_signal2, tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_gmo_resolvqname, tvb, offset + 24, 48, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_gmo_signal1 , tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_gmo_signal2 , tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_gmo_resolvqname , tvb, offset + 24, 48, p_mq_parm->mq_str_enc);
if (iVersion >= 2)
{
/*proto_tree_add_item(mq_tree, hf_mq_gmo_matchoptions, tvb, offset + 72, 4, ENC_BIG_ENDIAN);*/
dissect_mq_MQMO(tvb, mq_tree, offset + 8, ett_mq_gmo_matchoption, p_mq_parm);
- proto_tree_add_item(mq_tree, hf_mq_gmo_groupstatus, tvb, offset + 76, 1, ENC_BIG_ENDIAN);
- proto_tree_add_item(mq_tree, hf_mq_gmo_segmstatus, tvb, offset + 77, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(mq_tree, hf_mq_gmo_groupstatus , tvb, offset + 76, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(mq_tree, hf_mq_gmo_segmstatus , tvb, offset + 77, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(mq_tree, hf_mq_gmo_segmentation, tvb, offset + 78, 1, ENC_BIG_ENDIAN);
- proto_tree_add_item(mq_tree, hf_mq_gmo_reserved, tvb, offset + 79, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(mq_tree, hf_mq_gmo_reserved , tvb, offset + 79, 1, ENC_BIG_ENDIAN);
}
if (iVersion >= 3)
{
- proto_tree_add_item(mq_tree, hf_mq_gmo_msgtoken, tvb, offset + 80, 16, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_gmo_msgtoken , tvb, offset + 80, 16, ENC_NA);
proto_tree_add_item(mq_tree, hf_mq_gmo_returnedlen, tvb, offset + 96, 4, p_mq_parm->mq_int_enc);
}
}
@@ -1995,22 +2093,22 @@ static gint dissect_mq_pmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
dissect_mq_MQPMO(tvb, mq_tree, offset + 8, ett_mq_pmo_option, p_mq_parm);
- proto_tree_add_item(mq_tree, hf_mq_pmo_timeout, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_pmo_context, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_pmo_timeout , tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_pmo_context , tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_pmo_knowndstcnt, tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_pmo_unkndstcnt, tvb, offset + 24, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_pmo_unkndstcnt , tvb, offset + 24, 4, p_mq_parm->mq_int_enc);
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);
+ proto_tree_add_item(mq_tree, hf_mq_pmo_resolvqmgr , tvb, offset + 80, 48, p_mq_parm->mq_str_enc);
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_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_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_resprecptr , tvb, offset + 148, 4, p_mq_parm->mq_int_enc);
}
}
if (iVersion >= 2)
@@ -2060,8 +2158,8 @@ static gint dissect_mq_od(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
if (iSize != 0 && tvb_length_remaining(tvb, offset) >= iSize)
{
gint iNbrRecords = 0;
- guint8 *sObj;
- guint32 uTyp;
+ guint8 *sObj;
+ guint32 uTyp;
if (iVersion >= 2)
iNbrRecords = tvb_get_guint32_endian(tvb, offset + 168, p_mq_parm->mq_int_enc);
@@ -2082,29 +2180,29 @@ static gint dissect_mq_od(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
ti = proto_tree_add_text(tree, tvb, offset, iSize, MQ_TEXT_OD);
mq_tree = proto_item_add_subtree(ti, ett_mq_od);
- proto_tree_add_item(mq_tree, hf_mq_od_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_objecttype, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_objectname, tvb, offset + 12, 48, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_StructID , tvb, offset, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_version , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_objecttype , tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_objectname , tvb, offset + 12, 48, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_od_objqmgrname, tvb, offset + 60, 48, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_dynqname, tvb, offset + 108, 48, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_altuserid, tvb, offset + 156, 12, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_dynqname , tvb, offset + 108, 48, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_altuserid , tvb, offset + 156, 12, p_mq_parm->mq_str_enc);
if (iVersion >= 2)
{
- proto_tree_add_item(mq_tree, hf_mq_od_recspresent, tvb, offset + 168, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_knowndstcnt, tvb, offset + 172, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_recspresent , tvb, offset + 168, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_knowndstcnt , tvb, offset + 172, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_od_unknowdstcnt, tvb, offset + 176, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_invaldstcnt, tvb, offset + 180, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_objrecofs, tvb, offset + 184, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_resprecofs, tvb, offset + 188, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_objrecptr, tvb, offset + 192, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_resprecptr, tvb, offset + 196, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_invaldstcnt , tvb, offset + 180, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_objrecofs , tvb, offset + 184, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_resprecofs , tvb, offset + 188, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_objrecptr , tvb, offset + 192, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_resprecptr , tvb, offset + 196, 4, p_mq_parm->mq_int_enc);
}
if (iVersion >= 3)
{
- proto_tree_add_item(mq_tree, hf_mq_od_altsecurid, tvb, offset + 200, 40, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_od_resolvqname, tvb, offset + 240, 48, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_altsecurid , tvb, offset + 200, 40, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_od_resolvqname , tvb, offset + 240, 48, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_od_resolvqmgrnm, tvb, offset + 288, 48, p_mq_parm->mq_str_enc);
}
if (iVersion >= 4)
@@ -2154,11 +2252,11 @@ static gint dissect_mq_xid(tvbuff_t *tvb, proto_tree *tree, mq_parm_t *p_mq_parm
ti = proto_tree_add_text(tree, tvb, offset, iSizeXid, MQ_TEXT_XID);
mq_tree = proto_item_add_subtree(ti, ett_mq_xa_xid);
- proto_tree_add_item(mq_tree, hf_mq_xa_xid_formatid, tvb, offset, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_xa_xid_glbxid_len, tvb, offset + 4, 1, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_xa_xid_brq_length, tvb, offset + 5, 1, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_xa_xid_globalxid, tvb, offset + 6, iXidLength, ENC_NA);
- proto_tree_add_item(mq_tree, hf_mq_xa_xid_brq, tvb, offset + 6 + iXidLength, iBqLength, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_xa_xid_formatid , tvb, offset , 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_xa_xid_glbxid_len, tvb, offset + 4 , 1, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_xa_xid_brq_length, tvb, offset + 5 , 1, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_xa_xid_globalxid , tvb, offset + 6 , iXidLength, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_xa_xid_brq , tvb, offset + 6 + iXidLength, iBqLength, ENC_NA);
}
iSizeXid += (4 - (iSizeXid % 4)) % 4; /* Pad for alignment with 4 byte word boundary */
if (tvb_length_remaining(tvb, offset) < iSizeXid)
@@ -2171,10 +2269,10 @@ static gint dissect_mq_xid(tvbuff_t *tvb, proto_tree *tree, mq_parm_t *p_mq_parm
static gint dissect_mq_sid(tvbuff_t *tvb, proto_tree *tree, mq_parm_t *p_mq_parm, gint offset)
{
- guint8 iSIDL;
- guint8 iSID;
+ guint8 iSIDL;
+ guint8 iSID;
guint8 *sid_str;
- gint bOffset = offset;
+ gint bOffset = offset;
iSIDL = tvb_get_guint8(tvb, offset);
proto_tree_add_item(tree, hf_mq_sidlen, tvb, offset, 1, p_mq_parm->mq_int_enc);
@@ -2244,12 +2342,12 @@ static gint dissect_mq_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *mqroot_
/* Error flags 1*/
proto_tree_add_bitmask(mq_tree, tvb, offset + 7, hf_mq_id_ief1, ett_mq_id_ief1, pf_flds_ief1, ENC_BIG_ENDIAN);
- proto_tree_add_item(mq_tree, hf_mq_id_Reserved, tvb, offset + 8, 2, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_id_Reserved , tvb, offset + 8, 2, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_id_MaxMsgBatch, tvb, offset + 10, 2, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_id_MaxTrSize, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_id_MaxMsgSize, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_id_SeqWrapVal, tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_id_channel, tvb, offset + 24, 20, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_id_MaxTrSize , tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_id_MaxMsgSize , tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_id_SeqWrapVal , tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_id_channel , tvb, offset + 24, 20, p_mq_parm->mq_str_enc);
if (iFAPLvl >= 4)
{
@@ -2318,38 +2416,38 @@ static gint dissect_mq_md(tvbuff_t *tvb, proto_tree *tree, gint offset, mq_parm_
proto_item *ti = proto_tree_add_text(tree, tvb, offset, iSize, MQ_TEXT_MD);
proto_tree *mq_tree = proto_item_add_subtree(ti, ett_mq_md);
- proto_tree_add_item(mq_tree, hf_mq_md_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_report, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_msgtype, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_expiry, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_feedback, tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
- dissect_mq_encoding(mq_tree, hf_mq_md_encoding, tvb, offset + 24, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_ccsid, tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_format, tvb, offset + 32, 8, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_priority, tvb, offset + 40, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_StructID , tvb, offset, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_version , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_report , tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_msgtype , tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_expiry , tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_feedback , tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
+ dissect_mq_encoding(mq_tree, hf_mq_md_encoding , tvb, offset + 24, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_ccsid , tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_format , tvb, offset + 32, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_priority , tvb, offset + 40, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_md_persistence, tvb, offset + 44, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_msgid, tvb, offset + 48, 24, ENC_NA);
- proto_tree_add_item(mq_tree, hf_mq_md_correlid, tvb, offset + 72, 24, ENC_NA);
- proto_tree_add_item(mq_tree, hf_mq_md_backoutcnt, tvb, offset + 96, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_replytoq, tvb, offset + 100, 48, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_msgid , tvb, offset + 48, 24, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_md_correlid , tvb, offset + 72, 24, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_md_backoutcnt , tvb, offset + 96, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_replytoq , tvb, offset + 100, 48, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_md_replytoqmgr, tvb, offset + 148, 48, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_userid, tvb, offset + 196, 12, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_acttoken, tvb, offset + 208, 32, ENC_NA);
- proto_tree_add_item(mq_tree, hf_mq_md_appliddata, tvb, offset + 240, 32, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_userid , tvb, offset + 196, 12, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_acttoken , tvb, offset + 208, 32, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_md_appliddata , tvb, offset + 240, 32, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_md_putappltype, tvb, offset + 272, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_md_putapplname, tvb, offset + 276, 28, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_putdate, tvb, offset + 304, 8, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_puttime, tvb, offset + 312, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_putdate , tvb, offset + 304, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_puttime , tvb, offset + 312, 8, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_md_apporigdata, tvb, offset + 320, 4, p_mq_parm->mq_str_enc);
if (iVersion >= 2)
{
- proto_tree_add_item(mq_tree, hf_mq_md_groupid, tvb, offset + 324, 24, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_md_groupid, tvb, offset + 324, 24, ENC_NA);
proto_tree_add_item(mq_tree, hf_mq_md_msgseqnumber, tvb, offset + 348, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_offset, tvb, offset + 352, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_msgflags, tvb, offset + 356, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_origlen, tvb, offset + 360, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_offset, tvb, offset + 352, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_msgflags, tvb, offset + 356, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_origlen, tvb, offset + 360, 4, p_mq_parm->mq_int_enc);
}
}
}
@@ -2372,8 +2470,8 @@ static gint dissect_mq_fopa(tvbuff_t *tvb, proto_tree *tree, gint offset, mq_par
proto_tree *mq_tree = proto_item_add_subtree(ti, ett_mq_fopa);
proto_tree_add_item(mq_tree, hf_mq_fopa_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_fopa_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_fopa_length, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_fopa_version , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_fopa_length , tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_fopa_unknown1, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_fopa_unknown2, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_fopa_unknown3, tvb, offset + 20, 8, p_mq_parm->mq_str_enc);
@@ -2390,12 +2488,12 @@ static gint dissect_mq_fopa(tvbuff_t *tvb, proto_tree *tree, gint offset, mq_par
}
static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
- gint offset = 0;
- guint32 iSegmentLength = 0;
- guint32 iSizePayload = 0;
- gint iSizeMD = 0;
- gboolean bPayload = FALSE;
- gboolean bEBCDIC = FALSE;
+ gint offset = 0;
+ guint32 iSegmentLength = 0;
+ guint32 iSizePayload = 0;
+ gint iSizeMD = 0;
+ gboolean bPayload = FALSE;
+ gboolean bEBCDIC = FALSE;
gint iDistributionListSize = 0;
mq_parm_t *p_mq_parm;
@@ -2417,9 +2515,9 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
(p_mq_parm->mq_strucID & MQ_MASK_TSHx) == MQ_STRUCTID_TSHx_EBCDIC)
&& tvb_length_remaining(tvb, offset) >= 28)
{
- proto_tree *mq_tree = NULL;
+ proto_tree *mq_tree = NULL;
proto_tree *mqroot_tree = NULL;
- proto_item *ti = NULL;
+ proto_item *ti = NULL;
/* An MQ packet always starts with this structure*/
gint iSizeTSH = 28;
@@ -2551,7 +2649,7 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
mq_tree = proto_item_add_subtree(ti, ett_mq_msh);
proto_tree_add_item(mq_tree, hf_mq_msh_StructID, tvb, offset + 0, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_msh_seqnum, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msh_seqnum, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_msh_datalength, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_msh_unknown1, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_msh_msglength, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
@@ -2770,8 +2868,8 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, MQ_TEXT_INQ);
mq_tree = proto_item_add_subtree(ti, ett_mq_inq);
- proto_tree_add_item(mq_tree, hf_mq_inq_nbsel, tvb, offset, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_inq_nbint, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_inq_nbsel, tvb, offset, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_inq_nbint, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_inq_charlen, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
}
iOffsetINQ = 12;
@@ -2825,10 +2923,10 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, MQ_TEXT_NOTIFICATION);
mq_tree = proto_item_add_subtree(ti, ett_mq_notif);
- proto_tree_add_item(mq_tree, hf_mq_notif_vers, tvb, offset, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_notif_vers, tvb, offset, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_notif_handle, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_notif_code, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_notif_value, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_notif_code, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_notif_value, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
}
offset+=16;
p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL;
@@ -2860,8 +2958,8 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, MQ_TEXT_REQMSG);
mq_tree = proto_item_add_subtree(ti, ett_mq_msg);
- proto_tree_add_item(mq_tree, hf_mq_msgreq_version, tvb, offset , 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_msgreq_handle, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgreq_version , tvb, offset , 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgreq_handle , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_msgreq_RecvBytes, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_msgreq_RqstBytes, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_msgreq_MaxMsgLen, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
@@ -2875,11 +2973,11 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (iFlags & 0x00000010)
{
proto_tree_add_item(mq_tree, hf_mq_msgreq_SelectIdx, tvb, offset + 40, 2, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_msgreq_MQMDVers, tvb, offset + 42, 2, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_msgreq_ccsid, tvb, offset + 44, 4, p_mq_parm->mq_int_enc);
- dissect_mq_encoding(mq_tree, hf_mq_msgreq_encoding, tvb, offset + 48, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgreq_MQMDVers , tvb, offset + 42, 2, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgreq_ccsid , tvb, offset + 44, 4, p_mq_parm->mq_int_enc);
+ dissect_mq_encoding(mq_tree, hf_mq_msgreq_encoding , tvb, offset + 48, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_msgreq_MsgSeqNum, tvb, offset + 52, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_msgreq_offset, tvb, offset + 56, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgreq_offset , tvb, offset + 56, 4, p_mq_parm->mq_int_enc);
dissect_mq_MQMO(tvb, mq_tree, offset + 60, ett_mq_gmo_matchoption, p_mq_parm);
iOpt = tvb_get_guint32_endian(tvb, offset + 60, p_mq_parm->mq_int_enc);
@@ -2957,13 +3055,13 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree_add_item(mq_tree, hf_mq_msgasy_SeleIndex, tvb, offset + 22, 2, p_mq_parm->mq_int_enc);
if (p_mq_parm->mq_ctlf1 & MQ_TCF_FIRST)
{
- proto_tree_add_item(mq_tree, hf_mq_msgasy_ReasonCod , tvb, offset + 24, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_msgasy_ActMsgLen , tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_msgasy_TotMsgLen , tvb, offset + 32, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_msgasy_MsgToken , tvb, offset + 36, 16, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_msgasy_Status , tvb, offset + 52, 2, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_msgasy_resolQNLn , tvb, offset + 54, 1, ENC_NA);
- proto_tree_add_item(mq_tree, hf_mq_msgasy_resolQNme , tvb, offset + 55, iStrLen, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgasy_ReasonCod, tvb, offset + 24, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgasy_ActMsgLen, tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgasy_TotMsgLen, tvb, offset + 32, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgasy_MsgToken , tvb, offset + 36, 16, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgasy_Status , tvb, offset + 52, 2, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_msgasy_resolQNLn, tvb, offset + 54, 1, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_msgasy_resolQNme, tvb, offset + 55, iStrLen, p_mq_parm->mq_str_enc);
if (iPadLen)
proto_tree_add_item(mq_tree, hf_mq_msgasy_padding , tvb, offset + 55 + iStrLen, iPadLen, p_mq_parm->mq_str_enc);
}
@@ -2991,9 +3089,9 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ti = proto_tree_add_text(mqroot_tree, tvb, offset, 12, MQ_TEXT_SPI);
mq_tree = proto_item_add_subtree(ti, ett_mq_spi);
- proto_tree_add_item(mq_tree, hf_mq_spi_verb, tvb, offset, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_verb , tvb, offset, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_spi_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_spi_length, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_length , tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
}
offset += 12;
@@ -3011,8 +3109,8 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
mq_tree = proto_item_add_subtree(ti, ett_mq_spi_base);
proto_tree_add_item(mq_tree, hf_mq_spi_base_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_spi_base_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_spi_base_length, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_base_version , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_base_length , tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
}
offset += 12;
p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL;
@@ -3042,8 +3140,8 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
mq_tree = proto_item_add_subtree(ti, ett_mq_spi_base);
proto_tree_add_item(mq_tree, hf_mq_spi_base_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_spi_base_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_spi_base_length, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_base_version , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_base_length , tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
}
if ((p_mq_parm->mq_strucID == MQ_STRUCTID_SPQO || p_mq_parm->mq_strucID == MQ_STRUCTID_SPQO_EBCDIC)
@@ -3061,11 +3159,11 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
iOffsetSPI = offset + 16;
for (iVerb = 0; iVerb < iVerbNumber; iVerb++)
{
- proto_tree_add_item(mq_tree, hf_mq_spi_spqo_verbid, tvb, iOffsetSPI, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_spqo_verbid , tvb, iOffsetSPI, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_spi_spqo_maxiover, tvb, iOffsetSPI + 4, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_spi_spqo_maxinver, tvb, iOffsetSPI + 8, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_spi_spqo_maxouver, tvb, iOffsetSPI + 12, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_spi_spqo_flags, tvb, iOffsetSPI + 16, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_spqo_flags , tvb, iOffsetSPI + 16, 4, p_mq_parm->mq_int_enc);
iOffsetSPI += 20;
}
offset += iVerbNumber * 20 + 16;
@@ -3077,10 +3175,10 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
if (tree)
{
- proto_tree_add_item(mq_tree, hf_mq_spi_spai_mode, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_spai_mode , tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_spi_spai_unknown1, tvb, offset + 16, 48, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_spi_spai_unknown2, tvb, offset + 64, 48, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_spi_spai_msgid, tvb, offset + 112, 24, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_spai_msgid , tvb, offset + 112, 24, p_mq_parm->mq_str_enc);
}
offset += 136;
}
@@ -3089,7 +3187,7 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
if (tree)
{
- proto_tree_add_item(mq_tree, hf_mq_spi_spgi_batchsz, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_spi_spgi_batchsz , tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_spi_spgi_batchint, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_spi_spgi_maxmsgsz, tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
}
@@ -3154,7 +3252,7 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
mq_tree = proto_item_add_subtree(ti, ett_mq_xa_info);
proto_tree_add_item(mq_tree, hf_mq_xa_xainfo_length, tvb, offset, 1, ENC_BIG_ENDIAN);
- proto_tree_add_item(mq_tree, hf_mq_xa_xainfo_value, tvb, offset + 1, iXAInfoLength, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_xa_xainfo_value , tvb, offset + 1, iXAInfoLength, p_mq_parm->mq_str_enc);
}
}
offset += 1 + iXAInfoLength;
@@ -3187,7 +3285,7 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
guint iVersion;
guint iXtraData = 0;
- gint iSize = 32;
+ gint iSize = 32;
iVersion = tvb_get_guint32_endian(tvb, offset+4, p_mq_parm->mq_int_enc);
if (iVersion >= 3)
{
@@ -3203,20 +3301,19 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
mq_tree = proto_item_add_subtree(ti, ett_mq_lpoo);
proto_tree_add_item(mq_tree, hf_mq_lpoo_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_lpoo_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_lpoo_version , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
dissect_mq_MQOO(tvb, mq_tree, offset+8, ett_mq_lpoo_options, hf_mq_lpoo_options, p_mq_parm);
dissect_mq_LPOO_LPIOPTS(tvb, mq_tree, offset+16, ett_mq_lpoo_lpiopts, p_mq_parm);
- proto_tree_add_item(mq_tree, hf_mq_lpoo_defpersist, tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_lpoo_defpersist , tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_lpoo_defputresptype, tvb, offset + 24, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_lpoo_defreadahead, tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_lpoo_defreadahead , tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
if (iVersion >= 3)
{
- proto_tree_add_item(mq_tree, hf_mq_lpoo_qprotect, tvb, offset + 32, 48, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_lpoo_unknown6, tvb, offset + 80, 4, p_mq_parm->mq_int_enc);
- /*proto_tree_add_item(mq_tree, hf_mq_lpoo_unknown7, tvb, offset + 84, 2, p_mq_parm->mq_int_enc);*/
- proto_tree_add_item(mq_tree, hf_mq_lpoo_xtradata, tvb, offset + 84, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_lpoo_qprotect, tvb, offset + 32, 48, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_lpoo_unknown6, tvb, offset + 80, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_lpoo_xtradata, tvb, offset + 84, 4, p_mq_parm->mq_int_enc);
}
}
offset += iSize;
@@ -3262,7 +3359,7 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
mq_tree = proto_item_add_subtree(ti, ett_mq_uid);
proto_tree_add_item(mq_tree, hf_mq_uid_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_uid_userid, tvb, offset + 4, 12, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_uid_userid , tvb, offset + 4, 12, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_uid_password, tvb, offset + 16, 12, p_mq_parm->mq_str_enc);
}
@@ -3338,9 +3435,9 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeXQH, MQ_TEXT_XQH);
mq_tree = proto_item_add_subtree(ti, ett_mq_xqh);
- proto_tree_add_item(mq_tree, hf_mq_xqh_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_xqh_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_xqh_remoteq, tvb, offset + 8, 48, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_xqh_StructID , tvb, offset , 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_xqh_version , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_xqh_remoteq , tvb, offset + 8, 48, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_xqh_remoteqmgr, tvb, offset + 56, 48, p_mq_parm->mq_str_enc);
}
offset += iSizeXQH;
@@ -3354,64 +3451,6 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL;
}
- if ((p_mq_parm->mq_strucID == MQ_STRUCTID_DH || p_mq_parm->mq_strucID == MQ_STRUCTID_DH_EBCDIC) && tvb_length_remaining(tvb, offset) >= 48)
- {
- /* if MD.format == MQHDIST */
- gint iSizeDH = 48;
- gint iNbrRecords = 0;
- guint32 iRecFlags = 0;
-
- iNbrRecords = tvb_get_guint32_endian(tvb, offset + 36, p_mq_parm->mq_int_enc);
- iRecFlags = tvb_get_guint32_endian(tvb, offset + 32, p_mq_parm->mq_int_enc);
- p_mq_parm->iOfsEnc = offset + 12;
- p_mq_parm->iOfsCcs = offset + 16;
- p_mq_parm->iOfsFmt = offset + 20;
-
- p_mq_parm->mq_head_ccsid.encod = tvb_get_guint32_endian(tvb, offset + 12, p_mq_parm->mq_int_enc);
- p_mq_parm->mq_head_ccsid.ccsid = tvb_get_guint32_endian(tvb, offset + 16, p_mq_parm->mq_int_enc);
-
- if (tree)
- {
- ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeDH, MQ_TEXT_DH);
- mq_tree = proto_item_add_subtree(ti, ett_mq_dh);
-
- proto_tree_add_item(mq_tree, hf_mq_head_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_length, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
- dissect_mq_encoding(mq_tree, hf_mq_head_encoding, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_ccsid, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_format, tvb, offset + 20, 8, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_flags, tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_dh_putmsgrecfld, tvb, offset + 32, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_dh_recspresent, tvb, offset + 36, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_dh_objrecofs , tvb, offset + 40, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_dh_putmsgrecofs, tvb, offset + 44, 4, p_mq_parm->mq_int_enc);
- }
- offset += iSizeDH;
- iHeadersLength += iSizeDH;
-
- if (iNbrRecords > 0)
- {
- gint iOffsetOR = 0;
- gint iOffsetPMR = 0;
- gint iSizeORPMR = 0;
-
- iOffsetOR = tvb_get_guint32_endian(tvb, offset - iSizeDH + 40, p_mq_parm->mq_int_enc);
- iOffsetPMR = tvb_get_guint32_endian(tvb, offset - iSizeDH + 44, p_mq_parm->mq_int_enc);
- if ((iSizeORPMR = dissect_mq_or(tvb, mqroot_tree, offset, iNbrRecords, iOffsetOR, p_mq_parm)) != 0)
- {
- offset += iSizeORPMR;
- iHeadersLength += iSizeORPMR;
- }
- if ((iSizeORPMR = dissect_mq_pmr(tvb, mqroot_tree, offset, iNbrRecords, iOffsetPMR, iRecFlags, p_mq_parm)) != 0)
- {
- offset += iSizeORPMR;
- iHeadersLength += iSizeORPMR;
- }
- }
-
- p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL;
- }
if ((p_mq_parm->mq_strucID == MQ_STRUCTID_DLH || p_mq_parm->mq_strucID == MQ_STRUCTID_DLH_EBCDIC) && tvb_length_remaining(tvb, offset) >= 172)
{
/* if MD.format == MQDEAD */
@@ -3428,53 +3467,25 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeDLH, MQ_TEXT_DLH);
mq_tree = proto_item_add_subtree(ti, ett_mq_dlh);
- proto_tree_add_item(mq_tree, hf_mq_dlh_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_dlh_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_dlh_reason, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_dlh_destq, tvb, offset + 12, 48, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_dlh_destqmgr, tvb, offset + 60, 48, p_mq_parm->mq_str_enc);
- dissect_mq_encoding(mq_tree, hf_mq_dlh_encoding, tvb, offset + 108, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_dlh_ccsid, tvb, offset + 112, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_dlh_format, tvb, offset + 116, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dlh_StructID , tvb, offset, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dlh_version , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dlh_reason , tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dlh_destq , tvb, offset + 12, 48, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dlh_destqmgr , tvb, offset + 60, 48, p_mq_parm->mq_str_enc);
+ dissect_mq_encoding(mq_tree, hf_mq_dlh_encoding , tvb, offset + 108, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dlh_ccsid , tvb, offset + 112, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dlh_format , tvb, offset + 116, 8, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_dlh_putappltype, tvb, offset + 124, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_dlh_putapplname, tvb, offset + 128, 28, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_dlh_putdate, tvb, offset + 156, 8, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_dlh_puttime, tvb, offset + 164, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dlh_putdate , tvb, offset + 156, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dlh_puttime , tvb, offset + 164, 8, p_mq_parm->mq_str_enc);
}
offset += iSizeDLH;
iHeadersLength += iSizeDLH;
p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL;
}
- if ((p_mq_parm->mq_strucID == MQ_STRUCTID_MDE || p_mq_parm->mq_strucID == MQ_STRUCTID_MDE_EBCDIC) && tvb_length_remaining(tvb, offset) >= 72)
- {
- /* if MD.format == MQHMDE */
- gint iSizeMDE = 72;
- p_mq_parm->iOfsEnc = offset + 12;
- p_mq_parm->iOfsCcs = offset + 16;
- p_mq_parm->iOfsFmt = offset + 20;
- if (tree)
- {
- ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeMDE, MQ_TEXT_MDE);
- mq_tree = proto_item_add_subtree(ti, ett_mq_mde);
-
- proto_tree_add_item(mq_tree, hf_mq_head_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_length, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
- dissect_mq_encoding(mq_tree, hf_mq_head_encoding, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_ccsid, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_format, tvb, offset + 20, 8, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_flags, tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_groupid, tvb, offset + 32, 24, ENC_NA);
- proto_tree_add_item(mq_tree, hf_mq_md_msgseqnumber, tvb, offset + 56, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_offset, tvb, offset + 60, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_msgflags, tvb, offset + 64, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_md_origlen, tvb, offset + 68, 4, p_mq_parm->mq_int_enc);
- }
- offset += iSizeMDE;
- iHeadersLength += iSizeMDE;
- p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL;
- }
- if ((p_mq_parm->mq_strucID == MQ_STRUCTID_CIH || p_mq_parm->mq_strucID == MQ_STRUCTID_CIH_EBCDIC
+ if ((p_mq_parm->mq_strucID == MQ_STRUCTID_MDE || p_mq_parm->mq_strucID == MQ_STRUCTID_MDE_EBCDIC
+ || p_mq_parm->mq_strucID == MQ_STRUCTID_CIH || p_mq_parm->mq_strucID == MQ_STRUCTID_CIH_EBCDIC
|| p_mq_parm->mq_strucID == MQ_STRUCTID_IIH || p_mq_parm->mq_strucID == MQ_STRUCTID_IIH_EBCDIC
|| p_mq_parm->mq_strucID == MQ_STRUCTID_RFH || p_mq_parm->mq_strucID == MQ_STRUCTID_RFH_EBCDIC
|| p_mq_parm->mq_strucID == MQ_STRUCTID_RMH || p_mq_parm->mq_strucID == MQ_STRUCTID_RMH_EBCDIC
@@ -3483,36 +3494,169 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
/* Dissect the generic part of the other pre-defined headers */
/* We assume that only one such header is present */
- gint iSizeHeader = 0;
+ gint iSizeHeader;
iSizeHeader = (gint) tvb_get_guint32_endian(tvb, offset + 8, p_mq_parm->mq_int_enc);
/* XXX - 32 is inferred from the code below. What's the
* correct minimum? */
if (iSizeHeader <= 32)
THROW(ReportedBoundsError);
+ p_mq_parm->mq_head_ccsid.encod = tvb_get_guint32_endian(tvb, offset + 12, p_mq_parm->mq_int_enc);
+ p_mq_parm->mq_head_ccsid.ccsid = tvb_get_guint32_endian(tvb, offset + 16, p_mq_parm->mq_int_enc);
+
if (tvb_length_remaining(tvb, offset) >= iSizeHeader)
{
+ gint iTmp;
+ gint iVer;
+ gint oEnc = p_mq_parm->mq_str_enc;
+
p_mq_parm->iOfsEnc = offset + 12;
p_mq_parm->iOfsCcs = offset + 16;
p_mq_parm->iOfsFmt = offset + 20;
+
+ iVer=(gint)tvb_get_guint32_endian(tvb, offset + 4, p_mq_parm->mq_int_enc);
+ iTmp=p_mq_parm->mq_head_ccsid.ccsid;
+ if (iTmp == 0)
+ iTmp = p_mq_parm->mq_md_ccsid.ccsid;
+
+ if (iTmp == 500)
+ p_mq_parm->mq_str_enc = ENC_EBCDIC|ENC_NA;
+ else
+ p_mq_parm->mq_str_enc = ENC_UTF_8|ENC_NA;
+
if (tree)
{
ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeHeader, "%s", val_to_str(p_mq_parm->mq_strucID, mq_StructID_vals, "Unknown (0x%08x)"));
mq_tree = proto_item_add_subtree(ti, ett_mq_head);
proto_tree_add_item(mq_tree, hf_mq_head_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_length, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_head_version , tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_head_length , tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
dissect_mq_encoding(mq_tree, hf_mq_head_encoding, tvb, offset + 12, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_ccsid, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_format, tvb, offset + 20, 8, p_mq_parm->mq_str_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_flags, tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
- proto_tree_add_item(mq_tree, hf_mq_head_struct, tvb, offset + 32, iSizeHeader - 32, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_head_ccsid , tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_head_format , tvb, offset + 20, 8, p_mq_parm->mq_str_enc);
+ if (p_mq_parm->mq_strucID == MQ_STRUCTID_DH || p_mq_parm->mq_strucID == MQ_STRUCTID_DH_EBCDIC)
+ {
+ gint iRec;
+ iRec = tvb_get_guint32_endian(tvb, offset + 36, p_mq_parm->mq_int_enc);
+
+ proto_tree_add_bitmask(mq_tree, tvb, offset + 28, hf_mq_head_flags, ett_mq_head_flags, pf_flds_dh_flags, ENC_BIG_ENDIAN);
+ proto_tree_add_item(mq_tree, hf_mq_dh_putmsgrecfld, tvb, offset + 32, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dh_recspresent , tvb, offset + 36, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dh_objrecofs , tvb, offset + 40, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_dh_putmsgrecofs, tvb, offset + 44, 4, p_mq_parm->mq_int_enc);
+
+ if (iRec)
+ {
+ gint iOfs1;
+ gint iOfs2;
+ gint iFlgs;
+ gint iSize;
+
+ iFlgs = (gint)tvb_get_guint32_endian(tvb, offset + 32, p_mq_parm->mq_int_enc);
+ iOfs1 = (gint)tvb_get_guint32_endian(tvb, offset + 40, p_mq_parm->mq_int_enc);
+ iOfs2 = (gint)tvb_get_guint32_endian(tvb, offset + 44, p_mq_parm->mq_int_enc);
+
+ iSize = dissect_mq_or(tvb, mq_tree, offset + 48, iRec, iOfs1, p_mq_parm);
+ iSize = dissect_mq_pmr(tvb, mqroot_tree, offset + 48 + iSize, iRec, iOfs2, iFlgs, p_mq_parm);
+ }
+ }
+ else if (p_mq_parm->mq_strucID == MQ_STRUCTID_MDE || p_mq_parm->mq_strucID == MQ_STRUCTID_MDE_EBCDIC)
+ {
+ proto_tree_add_item(mq_tree, hf_mq_head_flags , tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_groupid , tvb, offset + 32, 24, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_md_msgseqnumber, tvb, offset + 56, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_offset , tvb, offset + 60, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_msgflags , tvb, offset + 64, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_md_origlen , tvb, offset + 68, 4, p_mq_parm->mq_int_enc);
+ }
+ else if (p_mq_parm->mq_strucID == MQ_STRUCTID_IIH || p_mq_parm->mq_strucID == MQ_STRUCTID_IIH_EBCDIC)
+ {
+ proto_tree_add_bitmask(mq_tree, tvb, offset + 28, hf_mq_head_flags, ett_mq_head_flags, pf_flds_iih_flags, ENC_BIG_ENDIAN);
+ proto_tree_add_item(mq_tree, hf_mq_iih_ltermoverride, tvb, offset + 32, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_iih_mfsmapname , tvb, offset + 40, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_iih_replytofmt , tvb, offset + 48, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_iih_authenticator, tvb, offset + 56, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_iih_transinstid , tvb, offset + 64, 16, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_iih_transstate , tvb, offset + 80, 1, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_iih_commimode , tvb, offset + 81, 1, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_iih_securityscope, tvb, offset + 82, 1, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_iih_reserved , tvb, offset + 83, 1, p_mq_parm->mq_str_enc);
+ }
+ else if (p_mq_parm->mq_strucID == MQ_STRUCTID_CIH || p_mq_parm->mq_strucID == MQ_STRUCTID_CIH_EBCDIC)
+ {
+ proto_tree_add_bitmask(mq_tree, tvb, offset + 28, hf_mq_head_flags, ett_mq_head_flags, pf_flds_cih_flags, ENC_BIG_ENDIAN);
+ proto_tree_add_item(mq_tree, hf_mq_cih_returncode , tvb, offset + 32, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_compcode , tvb, offset + 36, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_reasoncode , tvb, offset + 40, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_uowcontrols , tvb, offset + 44, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_getwaitintv , tvb, offset + 48, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_linktype , tvb, offset + 52, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_outdatalen , tvb, offset + 56, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_facilkeeptime, tvb, offset + 60, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_adsdescriptor, tvb, offset + 64, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_converstask , tvb, offset + 68, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_taskendstatus, tvb, offset + 72, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_bridgefactokn, tvb, offset + 76, 8, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_cih_function , tvb, offset + 84, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_abendcode , tvb, offset + 88, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_authenticator, tvb, offset + 92, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_reserved , tvb, offset + 100, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_replytofmt , tvb, offset + 108, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_remotesysid , tvb, offset + 116, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_remotetransid, tvb, offset + 120, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_transactionid, tvb, offset + 124, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_facilitylike , tvb, offset + 128, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_attentionid , tvb, offset + 132, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_startcode , tvb, offset + 136, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_cancelcode , tvb, offset + 140, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_nexttransid , tvb, offset + 144, 4, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_reserved2 , tvb, offset + 148, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_reserved3 , tvb, offset + 156, 8, p_mq_parm->mq_str_enc);
+ if (iVer == 2)
+ {
+ proto_tree_add_item(mq_tree, hf_mq_cih_cursorpos , tvb, offset + 164, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_erroroffset , tvb, offset + 168, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_inputitem , tvb, offset + 172, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_cih_reserved4 , tvb, offset + 176, 4, p_mq_parm->mq_int_enc);
+ }
+ }
+ else if (p_mq_parm->mq_strucID == MQ_STRUCTID_RMH || p_mq_parm->mq_strucID == MQ_STRUCTID_RMH_EBCDIC)
+ {
+ proto_tree_add_bitmask(mq_tree, tvb, offset + 28, hf_mq_head_flags, ett_mq_head_flags, pf_flds_rmh_flags, ENC_BIG_ENDIAN);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_objecttype , tvb, offset + 32, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_objectinstid , tvb, offset + 36, 24, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_srcenvlen , tvb, offset + 60, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_srcenvofs , tvb, offset + 64, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_srcnamelen , tvb, offset + 68, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_srcnameofs , tvb, offset + 72, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_dstenvlen , tvb, offset + 76, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_dstenvofs , tvb, offset + 80, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_dstnamelen , tvb, offset + 84, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_dstnameofs , tvb, offset + 88, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_datalogiclen , tvb, offset + 92, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_datalogicofsl, tvb, offset + 96, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_rmh_datalogicofsh, tvb, offset + 100, 4, p_mq_parm->mq_int_enc);
+ }
+ else if (p_mq_parm->mq_strucID == MQ_STRUCTID_WIH || p_mq_parm->mq_strucID == MQ_STRUCTID_WIH_EBCDIC)
+ {
+ proto_tree_add_item(mq_tree, hf_mq_head_flags , tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_wih_servicename , tvb, offset + 32, 32, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_wih_servicestep , tvb, offset + 64, 8, p_mq_parm->mq_str_enc);
+ proto_tree_add_item(mq_tree, hf_mq_wih_msgtoken , tvb, offset + 72, 16, ENC_NA);
+ proto_tree_add_item(mq_tree, hf_mq_wih_reserved , tvb, offset + 86, 32, p_mq_parm->mq_str_enc);
+ }
+ else
+ {
+ proto_tree_add_item(mq_tree, hf_mq_head_flags , tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
+ proto_tree_add_item(mq_tree, hf_mq_head_struct, tvb, offset + 32, iSizeHeader - 32, ENC_NA);
+ }
}
offset += iSizeHeader;
iHeadersLength += iSizeHeader;
p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL;
+ p_mq_parm->mq_str_enc = oEnc;
}
}
}
@@ -3523,16 +3667,6 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
/* Call subdissector for the payload */
tvbuff_t *next_tvb;
-#if 0
- struct mqinfo *mqinfo;
- mqinfo = wmem_new0(wmem_packet_scope(), struct mqinfo);
- /* Format, encoding and character set are "data type" information, not subprotocol information */
- mqinfo->encoding = tvb_get_guint32_endian(tvb, p_mq_parm->iOfsEnc, p_mq_parm->mq_int_enc);
- mqinfo->ccsid = tvb_get_guint32_endian(tvb, p_mq_parm->iOfsCcs, p_mq_parm->mq_int_enc);
- memcpy(mqinfo->format,
- tvb_get_string_enc(wmem_packet_scope(), tvb, p_mq_parm->iOfsFmt, sizeof(mqinfo->format), p_mq_parm->mq_str_enc),
- sizeof(mqinfo->format));
-#endif
p_mq_parm->mq_cur_ccsid.encod = tvb_get_guint32_endian(tvb, p_mq_parm->iOfsEnc, p_mq_parm->mq_int_enc);
p_mq_parm->mq_cur_ccsid.ccsid = tvb_get_guint32_endian(tvb, p_mq_parm->iOfsCcs, p_mq_parm->mq_int_enc);
memcpy(p_mq_parm->mq_format,
@@ -3597,38 +3731,38 @@ static int reassemble_mq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
if ( (mq_parm.mq_strucID & MQ_MASK_TSHx) == MQ_STRUCTID_TSHx || (mq_parm.mq_strucID & MQ_MASK_TSHx) == MQ_STRUCTID_TSHx_EBCDIC )
{
- guint8 iCtlF = 0;
- gint32 iSegL = 0;
- gint32 iBegL = 0;
- gint32 iEnco = 0;
- gint32 iMulS = 0;
- gint32 iHdrL = 0;
- gint32 iNxtP = 0;
- guint8 iOpcd = 0;
+ guint8 iCtlF = 0;
+ gint32 iSegL = 0;
+ gint32 iBegL = 0;
+ gint32 iEnco = 0;
+ gint32 iMulS = 0;
+ gint32 iHdrL = 0;
+ gint32 iNxtP = 0;
+ guint8 iOpcd = 0;
gboolean bSeg1st = FALSE;
gboolean bSegLst = FALSE;
- gboolean bMore = FALSE;
+ gboolean bMore = FALSE;
- gint32 iHdl = 0;
- gint32 iGlbMsgIdx = 0;
- gint32 iSegLength = 0;
- gint16 iSegmIndex = 0;
+ gint32 iHdl = 0;
+ gint32 iGlbMsgIdx = 0;
+ gint32 iSegLength = 0;
+ gint16 iSegmIndex = 0;
- guint32 uStrL = 0;
- guint32 uPadL = 0;
+ guint32 uStrL = 0;
+ guint32 uPadL = 0;
/* TSHM structure as 8 bytes more after the length (convid/requestid) */
if (mq_parm.mq_strucID == MQ_STRUCTID_TSHM || mq_parm.mq_strucID == MQ_STRUCTID_TSHM_EBCDIC)
iMulS = 8;
/* Get the Encoding scheme */
- iEnco = (tvb_get_guint8(tvb, 8 + iMulS) == MQ_LITTLE_ENDIAN ? ENC_LITTLE_ENDIAN : ENC_BIG_ENDIAN);
+ iEnco = (tvb_get_guint8(tvb, 8 + iMulS) == MQ_LITTLE_ENDIAN ? ENC_LITTLE_ENDIAN : ENC_BIG_ENDIAN);
/* Get the Operation Code */
- iOpcd = tvb_get_guint8( tvb, 9 + iMulS);
+ iOpcd = tvb_get_guint8( tvb, 9 + iMulS);
/* Get the Control Flag */
- iCtlF = tvb_get_guint8( tvb, 10 + iMulS);
+ iCtlF = tvb_get_guint8( tvb, 10 + iMulS);
/* Get the Semgnet Length */
- iSegL = tvb_get_ntohl ( tvb, 4);
+ iSegL = tvb_get_ntohl ( tvb, 4);
/* First Segment ? */
bSeg1st = ((iCtlF & MQ_TCF_FIRST) != 0);
/* Last Segment */
@@ -3645,7 +3779,7 @@ static int reassemble_mq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
It seems that after a PUT on a Queue, when doing a GET, MQ first get
a small part of the response (4096 bytes)
The response contain the number of bytes returned for this request (ActMsgLen)
- and the total number of bytes of this reply (TotMsgLen)
+ and the total number of bytes of this reply (TotMsgLen)
this mean the flow seems to be :
@@ -3760,7 +3894,7 @@ static int reassemble_mq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
}
else
{
- dissect_mq_pdu(tvb, pinfo, mq_tree); /* XXX: mq_tree always NULL ?? */
+ dissect_mq_pdu(tvb, pinfo, tree);
if (bSeg1st)
{
/* MQ segment is the first of a unreassembled series */
@@ -3823,17 +3957,17 @@ static gboolean dissect_mq_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
return FALSE;
}
-static gboolean dissect_mq_heur_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+static gboolean dissect_mq_heur_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
return dissect_mq_heur(tvb, pinfo, tree, MQ_XPT_TCP, NULL);
}
-static gboolean dissect_mq_heur_netbios(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+static gboolean dissect_mq_heur_netbios(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
return dissect_mq_heur(tvb, pinfo, tree, MQ_XPT_NETBIOS, NULL);
}
-static gboolean dissect_mq_heur_http(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+static gboolean dissect_mq_heur_http(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
return dissect_mq_heur(tvb, pinfo, tree, MQ_XPT_HTTP, NULL);
}
@@ -3846,7 +3980,8 @@ static void mq_init(void)
void proto_register_mq(void)
{
- static hf_register_info hf[] = {
+ static hf_register_info hf[] =
+ {
{ &hf_mq_tsh_StructID , {"StructID..", "mq.tsh.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_mq_tsh_mqseglen , {"MQSegmLen.", "mq.tsh.seglength", FT_UINT32, BASE_DEC, NULL, 0x0, "TSH MQ Segment length", HFILL }},
{ &hf_mq_tsh_convid , {"Convers ID", "mq.tsh.convid", FT_UINT32, BASE_DEC, NULL, 0x0, "TSH Conversation ID", HFILL }},
@@ -4200,10 +4335,6 @@ void proto_register_mq(void)
{ &hf_mq_dlh_putapplname, {"PutAppNme", "mq.dlh.putapplname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH put application name", HFILL }},
{ &hf_mq_dlh_putdate , {"PutDatGMT", "mq.dlh.putdate", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH put date", HFILL }},
{ &hf_mq_dlh_puttime , {"PutTimGMT", "mq.dlh.puttime", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH put time", HFILL }},
- { &hf_mq_dh_putmsgrecfld, {"Flags PMR", "mq.dh.flagspmr", FT_UINT32, BASE_DEC, NULL, 0x0, "DH flags PMR", HFILL }},
- { &hf_mq_dh_recspresent , {"NumOfRecs", "mq.dh.nbrrec", FT_UINT32, BASE_DEC, NULL, 0x0, "DH number of records", HFILL }},
- { &hf_mq_dh_objrecofs , {"Ofs1stOR.", "mq.dh.offsetor", FT_UINT32, BASE_DEC, NULL, 0x0, "DH offset of first OR", HFILL }},
- { &hf_mq_dh_putmsgrecofs, {"Ofs1stPMR", "mq.dh.offsetpmr", FT_UINT32, BASE_DEC, NULL, 0x0, "DH offset of first PMR", HFILL }},
{ &hf_mq_gmo_StructID , {"StructID.", "mq.gmo.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_mq_gmo_version , {"Version..", "mq.gmo.version", FT_UINT32, BASE_DEC, NULL, 0x0, "GMO version", HFILL }},
@@ -4273,7 +4404,6 @@ void proto_register_mq(void)
{ &hf_mq_lpoo_qprotect , {"qprotect......", "mq.lpoo.qprotect", FT_STRINGZ, BASE_NONE, NULL, 0x0, "LPOO queue protection", HFILL }},
{ &hf_mq_lpoo_unknown6 , {"Unknown6......", "mq.lpoo.unknown6", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO unknown6", HFILL }},
- /*{ &hf_mq_lpoo_unknown7 , {"Unknown7......", "mq.lpoo.unknown7", FT_UINT16, BASE_HEX, NULL, 0x0, "LPOO unknown7", 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 }},
@@ -4316,15 +4446,6 @@ void proto_register_mq(void)
{ &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_head_StructID , {"Structid", "mq.head.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Header structid", HFILL }},
- { &hf_mq_head_version , {"version.", "mq.head.version", FT_UINT32, BASE_DEC, NULL, 0x0, "Header version", HFILL }},
- { &hf_mq_head_length , {"Length..", "mq.head.length", FT_UINT32, BASE_DEC, NULL, 0x0, "Header length", HFILL }},
- { &hf_mq_head_encoding , {"Encoding", "mq.head.encoding", FT_UINT32, BASE_DEC, NULL, 0x0, "Header encoding", HFILL }},
- { &hf_mq_head_ccsid , {"CCSID...", "mq.head.ccsid", FT_INT32, BASE_DEC | BASE_RANGE_STRING, RVALS(&GET_VALRV(ccsid)), 0x0, "Header character set", HFILL }},
- { &hf_mq_head_format , {"Format..", "mq.head.format", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Header format", HFILL }},
- { &hf_mq_head_flags , {"Flags...", "mq.head.flags", FT_UINT32, BASE_DEC, NULL, 0x0, "Header flags", HFILL }},
- { &hf_mq_head_struct , {"Struct..", "mq.head.struct", FT_BYTES, BASE_NONE, NULL, 0x0, "Header struct", 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 }},
@@ -4352,10 +4473,100 @@ void proto_register_mq(void)
{ &hf_mq_charv_vsbufsize , {"VLStr BufSz", "mq.charv.vsbufsize", FT_UINT32, BASE_DEC, NULL, 0x0, "VS BufSize", HFILL }},
{ &hf_mq_charv_vslength , {"VLStr Len..", "mq.charv.vslength", FT_UINT32, BASE_DEC, NULL, 0x0, "VS Length", HFILL }},
{ &hf_mq_charv_vsccsid , {"VLStr Ccsid", "mq.charv.vsccsid", FT_INT32, BASE_DEC, NULL, 0x0, "VS CCSID", HFILL }},
- { &hf_mq_charv_vsvalue , {"VLStr Value", "mq.charv.vsvalue", FT_STRINGZ, BASE_NONE, NULL, 0x0, "VS value", HFILL }}
+ { &hf_mq_charv_vsvalue , {"VLStr Value", "mq.charv.vsvalue", FT_STRINGZ, BASE_NONE, NULL, 0x0, "VS value", HFILL }},
+
+ { &hf_mq_head_StructID , {"Structid", "mq.head.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Header structid", HFILL }},
+ { &hf_mq_head_version , {"version.", "mq.head.version", FT_UINT32, BASE_DEC, NULL, 0x0, "Header version", HFILL }},
+ { &hf_mq_head_length , {"Length..", "mq.head.length", FT_UINT32, BASE_DEC, NULL, 0x0, "Header length", HFILL }},
+ { &hf_mq_head_encoding , {"Encoding", "mq.head.encoding", FT_UINT32, BASE_DEC, NULL, 0x0, "Header encoding", HFILL }},
+ { &hf_mq_head_ccsid , {"CCSID...", "mq.head.ccsid", FT_INT32, BASE_DEC | BASE_RANGE_STRING, RVALS(&GET_VALRV(ccsid)), 0x0, "Header character set", HFILL }},
+ { &hf_mq_head_format , {"Format..", "mq.head.format", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Header format", HFILL }},
+
+ { &hf_mq_head_flags , {"Flags...", "mq.head.flags", FT_UINT32, BASE_HEX, NULL, 0x0, "Header flags", HFILL }},
+ { &hf_mq_head_struct , {"Struct..", "mq.head.struct", FT_BYTES, BASE_NONE, NULL, 0x0, "Header struct", HFILL }},
+
+ { &hf_mq_dh_flags_newmsgid, {"NEW_MSG_IDS", "mq.dh.flags.newmsgid", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQIIH_CM0_REQUEST_RESPONSE, "MQ DH Flags MQDHF_NEW_MSG_IDS", HFILL }},
+
+ { &hf_mq_dh_putmsgrecfld, {"Flags PMR", "mq.dh.flagspmr", FT_UINT32, BASE_DEC, NULL, 0x0, "DH flags PMR", HFILL }},
+ { &hf_mq_dh_recspresent , {"NumOfRecs", "mq.dh.nbrrec", FT_UINT32, BASE_DEC, NULL, 0x0, "DH number of records", HFILL }},
+ { &hf_mq_dh_objrecofs , {"Ofs1stOR.", "mq.dh.offsetor", FT_UINT32, BASE_DEC, NULL, 0x0, "DH offset of first OR", HFILL }},
+ { &hf_mq_dh_putmsgrecofs, {"Ofs1stPMR", "mq.dh.offsetpmr", FT_UINT32, BASE_DEC, NULL, 0x0, "DH offset of first PMR", HFILL }},
+
+ { &hf_mq_iih_flags_cmqrqstresp , {"CMO_RQST_RESP", "mq.iih.flags.cmqrqstresp" , FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQIIH_CM0_REQUEST_RESPONSE, "MQ IIH Flags CM0_REQUEST_RESPONSE", HFILL }},
+ { &hf_mq_iih_flags_ignorepurg , {"IGNORE_PURG..", "mq.iih.flags.ignorepurg" , FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQIIH_IGNORE_PURG, "MQ IIH Flags IGNORE_PURG", HFILL }},
+ { &hf_mq_iih_flags_replyfmtnone, {"REPL_FMT_NONE", "mq.iih.flags.replyfmtnone", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQIIH_REPLY_FORMAT_NONE, "MQ IIH Flags REPLY_FORMAT_NONE", HFILL }},
+ { &hf_mq_iih_flags_passexpir , {"PASS_EXPIR...", "mq.iih.flags.passexpir" , FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQIIH_PASS_EXPIRATION, "MQ IIH Flags PASS_EXPIRATION", HFILL }},
+
+ { &hf_mq_iih_ltermoverride, {"LTerm Override", "mq.iih.ltermoverrid" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Logical Terminal Override", HFILL }},
+ { &hf_mq_iih_mfsmapname , {"MFS Map Name..", "mq.iih.mfsmapname" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "MFS Map Name", HFILL }},
+ { &hf_mq_iih_replytofmt , {"ReplyToFormat.", "mq.iih.replytofmt" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Reply To Format", HFILL }},
+ { &hf_mq_iih_authenticator, {"Authenticator.", "mq.iih.authenticator", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Password or Passcode", HFILL }},
+ { &hf_mq_iih_transinstid , {"TransInstIdent", "mq.iih.transinstid" , FT_BYTES, BASE_NONE, NULL, 0x0, "Transaction Instance Identifier", HFILL }},
+ { &hf_mq_iih_transstate , {"TransactState.", "mq.iih.transstate" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Transaction State", HFILL }},
+ { &hf_mq_iih_commimode , {"Commit Mode...", "mq.iih.commimode" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Commit Mode", HFILL }},
+ { &hf_mq_iih_securityscope, {"SecurityScope.", "mq.iih.securityscope", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Security Scope", HFILL }},
+ { &hf_mq_iih_reserved , {"Reserved......", "mq.iih.reserved" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Reserved", HFILL }},
+
+ { &hf_mq_cih_flags_synconret , {"SYNC_ON_RETURN", "mq.iih.flags.synconret" , FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQCIH_SYNC_ON_RETURN, "MQ CIH Flags IGNORE_PURG", HFILL }},
+ { &hf_mq_cih_flags_replywonulls, {"REPLY_WO_NULLS", "mq.iih.flags.replywonulls", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQCIH_REPLY_WITHOUT_NULLS, "MQ CIH Flags REPLY_WITHOUT_NULLS", HFILL }},
+ { &hf_mq_cih_flags_passexpir , {"PASS_EXPIR....", "mq.iih.flags.passexpir" , FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQCIH_PASS_EXPIRATION, "MQ CIH Flags PASS_EXPIRATION", HFILL }},
+
+ { &hf_mq_cih_returncode , {"ReturnCode...", "mq.cih.returncode" , FT_UINT32 , BASE_HEX_DEC, NULL, 0x0, "Return Code", HFILL }},
+ { &hf_mq_cih_compcode , {"ComplCode....", "mq.cih.compcode" , FT_UINT32 , BASE_HEX_DEC, NULL, 0x0, "Completion Code", HFILL }},
+ { &hf_mq_cih_reasoncode , {"ReasonCode...", "mq.cih.reasoncode" , FT_UINT32 , BASE_HEX_DEC, NULL, 0x0, "Reason Code", HFILL }},
+ { &hf_mq_cih_uowcontrols , {"UOWControls..", "mq.cih.uowcontrols" , FT_UINT32 , BASE_HEX_DEC, VALS(GET_VALSV(UOWControls)), 0x0, "Unit Of Work Controls", HFILL }},
+ { &hf_mq_cih_getwaitintv , {"GetWaitIntv..", "mq.cih.getwaitintv" , FT_INT32 , BASE_DEC | BASE_RANGE_STRING, RVALS(&GET_VALRV(WaitIntv)), 0x0, "Get Wait Interval", HFILL }},
+ { &hf_mq_cih_linktype , {"LinkType.....", "mq.cih.linktype" , FT_UINT32 , BASE_DEC , VALS(GET_VALSV(LinkType)), 0x0, "LinkType", HFILL }},
+ { &hf_mq_cih_outdatalen , {"OutDataLen...", "mq.cih.outdatalen" , FT_INT32 , BASE_DEC | BASE_RANGE_STRING, RVALS(&GET_VALRV(OutDataLen)), 0x0, "Output Data Len", HFILL }},
+ { &hf_mq_cih_facilkeeptime, {"FacilKeepTime", "mq.cih.facilkeeptime", FT_UINT32 , BASE_DEC , NULL, 0x0, "Facility Keep Time", HFILL }},
+ { &hf_mq_cih_adsdescriptor, {"ADSDescriptor", "mq.cih.adsdescr" , FT_UINT32 , BASE_DEC , VALS(GET_VALSV(ADSDescr)), 0x0, "ADS Descriptor", HFILL }},
+ { &hf_mq_cih_converstask , {"ConversTask..", "mq.cih.converstask" , FT_UINT32 , BASE_DEC , VALS(GET_VALSV(ConvTaskOpt)), 0x0, "Conversational Task", HFILL }},
+ { &hf_mq_cih_taskendstatus, {"TaskEndStatus", "mq.cih.taskendstatus", FT_UINT32 , BASE_DEC , VALS(GET_VALSV(TaskEndStatus)), 0x0, "Status at End of Task", HFILL }},
+ { &hf_mq_cih_bridgefactokn, {"BridgeFacTokn", "mq.cih.bridgefactokn", FT_BYTES , BASE_NONE, NULL, 0x0, "Bridge facility token", HFILL }},
+ { &hf_mq_cih_function , {"Function.....", "mq.cih.function" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "MQ call name or CICS EIBFN function", HFILL }},
+ { &hf_mq_cih_abendcode , {"AbendCode....", "mq.cih.abendcode" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Abend Code", HFILL }},
+ { &hf_mq_cih_authenticator, {"Authenticator", "mq.cih.authenticator", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Password or Passcode", HFILL }},
+ { &hf_mq_cih_reserved , {"Reserved.....", "mq.cih.reserved" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Reserved", HFILL }},
+ { &hf_mq_cih_replytofmt , {"ReplyToFormat", "mq.cih.replytofmt" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Reply To Format", HFILL }},
+ { &hf_mq_cih_remotesysid , {"RemoteSysId..", "mq.cih.remotesysid" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Remote System Id", HFILL }},
+ { &hf_mq_cih_remotetransid, {"RemoteTransId", "mq.cih.remotetransid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Remote Transaction Id", HFILL }},
+ { &hf_mq_cih_transactionid, {"TransactionId", "mq.cih.transactionid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Transaction to attach", HFILL }},
+ { &hf_mq_cih_facilitylike , {"FacilityLike.", "mq.cih.facilitylike" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Terminal emulated attributes", HFILL }},
+ { &hf_mq_cih_attentionid , {"AttentionID..", "mq.cih.attentionid" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Attention Id (AID) Key", HFILL }},
+ { &hf_mq_cih_startcode , {"StartCode....", "mq.cih.startcode" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Transaction Start Code", HFILL }},
+ { &hf_mq_cih_cancelcode , {"CancelCode...", "mq.cih.cancelcode" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Abend transaction code", HFILL }},
+ { &hf_mq_cih_nexttransid , {"NextTransId..", "mq.cih.nexttransid" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Next transaction to attach", HFILL }},
+ { &hf_mq_cih_reserved2 , {"Reserved3....", "mq.cih.reserved2" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Reserved 2", HFILL }},
+ { &hf_mq_cih_reserved3 , {"Reserved3....", "mq.cih.reserved3" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Reserved 3", HFILL }},
+ { &hf_mq_cih_cursorpos , {"CursorPos....", "mq.cih.cursorpos" , FT_UINT32 , BASE_DEC_HEX, NULL, 0x0, "Cursor Posiution", HFILL }},
+ { &hf_mq_cih_erroroffset , {"ErrorOffset..", "mq.cih.erroroffset" , FT_UINT32 , BASE_DEC_HEX, NULL, 0x0, "Offset of error in message", HFILL }},
+ { &hf_mq_cih_inputitem , {"InputItem....", "mq.cih.inputitem" , FT_UINT32 , BASE_DEC_HEX, NULL, 0x0, "Input Item", HFILL }},
+ { &hf_mq_cih_reserved4 , {"Reserved4....", "mq.cih.reserved4" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Reserved 4", HFILL }},
+
+ { &hf_mq_rmh_flags_last , {"LAST", "mq.rmh.flags.last", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQRMHF_LAST, "MQ RMH LAST", HFILL }},
+
+ { &hf_mq_rmh_objecttype , {"ObjectType...", "mq.rmh.objecttype" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Object Type", HFILL }},
+ { &hf_mq_rmh_objectinstid , {"ObjectInstId.", "mq.rmh.objectinstid" , FT_BYTES , BASE_NONE, NULL, 0x0, "Object Instance Identifier", HFILL }},
+ { &hf_mq_rmh_srcenvlen , {"SrcEnvLen....", "mq.rmh.srcenvlen" , FT_UINT32 , BASE_DEC , NULL, 0x0, "Length of source environment data", HFILL }},
+ { &hf_mq_rmh_srcenvofs , {"SrcEnvOfs....", "mq.rmh.srcenvofs" , FT_UINT32 , BASE_DEC_HEX, NULL, 0x0, "Offset of source environment data", HFILL }},
+ { &hf_mq_rmh_srcnamelen , {"SrcNameLen...", "mq.rmh.srcnamelen" , FT_UINT32 , BASE_DEC , NULL, 0x0, "Length of source object name", HFILL }},
+ { &hf_mq_rmh_srcnameofs , {"SrcNameOfs...", "mq.rmh.srcnameofs" , FT_UINT32 , BASE_DEC_HEX, NULL, 0x0, "Offset of source object name", HFILL }},
+ { &hf_mq_rmh_dstenvlen , {"DstEnvLen....", "mq.rmh.dstenvlen" , FT_UINT32 , BASE_DEC , NULL, 0x0, "Length of destination environment data", HFILL }},
+ { &hf_mq_rmh_dstenvofs , {"DstEnvOfs....", "mq.rmh.dstenvofs" , FT_UINT32 , BASE_DEC_HEX, NULL, 0x0, "Offset of destination environment data", HFILL }},
+ { &hf_mq_rmh_dstnamelen , {"DstNameLen...", "mq.rmh.dstnamelen" , FT_UINT32 , BASE_DEC , NULL, 0x0, "Length of destination object name", HFILL }},
+ { &hf_mq_rmh_dstnameofs , {"DstNameOfs...", "mq.rmh.dstnameofs" , FT_UINT32 , BASE_DEC | BASE_HEX, NULL, 0x0, "Offset of destination object name", HFILL }},
+ { &hf_mq_rmh_datalogiclen , {"DataLogicLen.", "mq.rmh.datalogiclen" , FT_UINT32 , BASE_DEC , NULL, 0x0, "Length of bulk data", HFILL }},
+ { &hf_mq_rmh_datalogicofsl, {"DataLogicOfsL", "mq.rmh.datalogicofsl", FT_UINT32 , BASE_DEC_HEX, NULL, 0x0, "Low offset of bulk data", HFILL }},
+ { &hf_mq_rmh_datalogicofsh, {"DataLogicOfsH", "mq.rmh.datalogicofsh", FT_UINT32 , BASE_DEC_HEX, NULL, 0x0, "High offset of bulk data", HFILL }},
+
+ { &hf_mq_wih_servicename , {"ServiceName..", "mq.wih.servicename" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Service Name", HFILL }},
+ { &hf_mq_wih_servicestep , {"ServiceStep..", "mq.wih.servicestep" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Service Step Name", HFILL }},
+ { &hf_mq_wih_msgtoken , {"MsgToken.....", "mq.wih.msgtoken" , FT_BYTES , BASE_NONE, NULL, 0x0, "Message Token", HFILL }},
+ { &hf_mq_wih_reserved , {"Resereved....", "mq.wih.reserved" , FT_STRINGZ, BASE_NONE, NULL, 0x0, "Resereved", HFILL }},
};
- static gint *ett[] = {
+ static gint *ett[] =
+ {
&ett_mq,
&ett_mq_tsh,
&ett_mq_tsh_tcf,
@@ -4394,7 +4605,6 @@ void proto_register_mq(void)
&ett_mq_rr,
&ett_mq_pmr,
&ett_mq_md,
- &ett_mq_mde,
&ett_mq_dlh,
&ett_mq_dh,
&ett_mq_gmo,
@@ -4408,6 +4618,7 @@ void proto_register_mq(void)
&ett_mq_lpoo_options,
&ett_mq_lpoo_lpiopts,
&ett_mq_head,
+ &ett_mq_head_flags,
&ett_mq_xa,
&ett_mq_xa_tmflags,
&ett_mq_xa_xid,
@@ -4440,8 +4651,8 @@ void proto_register_mq(void)
void proto_reg_handoff_mq(void)
{
/* Unlike some protocol (HTTP, POP3, ...) that clearly map to a standard
- * class of applications (web browser, e-mail client, ...) and have a very well
- * known port number, the MQ applications are most often specific to a business application */
+ * class of applications (web browser, e-mail client, ...) and have a very well
+ * known port number, the MQ applications are most often specific to a business application */
mq_tcp_handle = new_create_dissector_handle(dissect_mq_tcp, proto_mq);
mq_spx_handle = create_dissector_handle(dissect_mq_spx, proto_mq);
@@ -4455,9 +4666,8 @@ void proto_reg_handoff_mq(void)
mqpcf_handle = find_dissector("mqpcf");
}
-
/*
- * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 4
diff --git a/epan/dissectors/packet-mq.h b/epan/dissectors/packet-mq.h
index ef36d90135..38cc4d6db6 100644
--- a/epan/dissectors/packet-mq.h
+++ b/epan/dissectors/packet-mq.h
@@ -30,7 +30,12 @@
#define GET_VALSV(A) mq_##A##_vals
#define DEF_VALSX(A) extern const value_string GET_VALSV(A)[]
-/* XXX WTF: this is broken it's used to cast value_string array to char * */
+/* XXX WTF: this is broken it's used to cast value_string array to char
+* This Macro is used to cast a value_string to a const gchar *
+* Used in value_string MQCFINT_Parse, because this value_string
+* don't return a string for a specific value, but a value_string
+* that can be used in another call to try_val_to_str
+*/
#define GET_VALSP(F) (const gchar *)GET_VALSV(F)
#define DEF_VALSB(A) static const value_string GET_VALSV(A)[] = \
{
@@ -56,29 +61,29 @@
typedef struct _mq_ccsid_t
{
- guint32 encod;
- guint32 ccsid;
+ guint32 encod;
+ guint32 ccsid;
} mq_ccsid_t;
typedef struct _mq_parm_t
{
- guint32 mq_strucID ;
- guint32 mq_int_enc ;
- guint32 mq_str_enc ;
- guint8 mq_ctlf1 ;
- guint8 mq_ctlf2 ;
- guint8 mq_opcode ;
- mq_ccsid_t mq_tsh_ccsid;
- mq_ccsid_t mq_id_ccsid;
- mq_ccsid_t mq_md_ccsid;
- mq_ccsid_t mq_dlh_ccsid;
- mq_ccsid_t mq_head_ccsid;
- mq_ccsid_t mq_msgreq_ccsid;
- mq_ccsid_t mq_cur_ccsid;
- guint8 mq_format[8];
- gint32 iOfsEnc; /* Offset to Message encoding */
- gint32 iOfsCcs; /* Offset to Message character set */
- gint32 iOfsFmt; /* Offset to Message format */
+ guint32 mq_strucID ;
+ guint32 mq_int_enc ;
+ guint32 mq_str_enc ;
+ guint8 mq_ctlf1 ;
+ guint8 mq_ctlf2 ;
+ guint8 mq_opcode ;
+ mq_ccsid_t mq_tsh_ccsid;
+ mq_ccsid_t mq_id_ccsid;
+ mq_ccsid_t mq_md_ccsid;
+ mq_ccsid_t mq_dlh_ccsid;
+ mq_ccsid_t mq_head_ccsid;
+ mq_ccsid_t mq_msgreq_ccsid;
+ mq_ccsid_t mq_cur_ccsid;
+ guint8 mq_format[8];
+ gint32 iOfsEnc; /* Offset to Message encoding */
+ gint32 iOfsCcs; /* Offset to Message character set */
+ gint32 iOfsFmt; /* Offset to Message format */
} mq_parm_t;
#define MQ_MQCA_XR_VERSION2 2120
@@ -189,6 +194,8 @@ typedef struct _mq_parm_t
/* Output Data Length */
#define MQ_MQCODL_AS_INPUT (-1)
+#define MQ_MQCODL_0 0
+#define MQ_MQCODL_7FFFFFFF 0x7FFFFFFF
/* ADS Descriptors */
#define MQ_MQCADSD_NONE 0x00000000
@@ -325,14 +332,16 @@ typedef struct _mq_parm_t
#define MQ_MQGMO_PROPERTIES_AS_Q_DEF 0x00000000
#define MQ_MQGMO_NONE 0x00000000
#define MQ_MQGMO_BROWSE_HANDLE ( MQ_MQGMO_BROWSE_FIRST \
- | MQ_MQGMO_UNMARKED_BROWSE_MSG \
- | MQ_MQGMO_MARK_BROWSE_HANDLE )
+ | MQ_MQGMO_UNMARKED_BROWSE_MSG \
+ | MQ_MQGMO_MARK_BROWSE_HANDLE )
#define MQ_MQGMO_BROWSE_CO_OP ( MQ_MQGMO_BROWSE_FIRST \
- | MQ_MQGMO_UNMARKED_BROWSE_MSG \
- | MQ:MQGMO_MARK_BROWSE_CO_OP )
+ | MQ_MQGMO_UNMARKED_BROWSE_MSG \
+ | MQ:MQGMO_MARK_BROWSE_CO_OP )
/* Wait Interval */
#define MQ_MQWI_UNLIMITED (-1)
+#define MQ_MQWI_0 0
+#define MQ_MQWI_7FFFFFFF 0x7FFFFFFF
/* Signal Values */
#define MQ_MQEC_MSG_ARRIVED 2
@@ -536,17 +545,17 @@ typedef struct _mq_parm_t
/* Encodings for Multicast */
#define MQ_MQENC_NORMAL ( MQ_MQENC_FLOAT_IEEE_NORMAL \
- | MQ_MQENC_DECIMAL_NORMAL \
- | MQ_MQENC_INTEGER_NORMAL )
+ | MQ_MQENC_DECIMAL_NORMAL \
+ | MQ_MQENC_INTEGER_NORMAL )
#define MQ_MQENC_REVERSED ( MQ_MQENC_FLOAT_IEEE_REVERSED \
- | MQ_MQENC_DECIMAL_REVERSED \
- | MQ_MQENC_INTEGER_REVERSED )
+ | MQ_MQENC_DECIMAL_REVERSED \
+ | MQ_MQENC_INTEGER_REVERSED )
#define MQ_MQENC_S390 ( MQ_MQENC_FLOAT_S390 \
- | MQ_MQENC_DECIMAL_NORMAL \
- | MQ_MQENC_INTEGER_NORMAL )
+ | MQ_MQENC_DECIMAL_NORMAL \
+ | MQ_MQENC_INTEGER_NORMAL )
#define MQ_MQENC_TNS ( MQ_MQENC_FLOAT_TNS \
- | MQ_MQENC_DECIMAL_NORMAL \
- | MQ_MQENC_INTEGER_NORMAL )
+ | MQ_MQENC_DECIMAL_NORMAL \
+ | MQ_MQENC_INTEGER_NORMAL )
#define MQ_MQENC_AS_PUBLISHED (-1)
/* Coded Character Set Identifiers */
@@ -2427,17 +2436,17 @@ typedef struct _mq_parm_t
/* Inquire on all properties - "%" */
#define MQ_MQPROP_INQUIRE_ALL (MQPTR)(char*)"%",\
- 0,\
- 0,\
- 1,\
- MQCCSI_APPL
+ 0,\
+ 0,\
+ 1,\
+ MQCCSI_APPL
/* Inquire on all 'usr' properties - "usr.%" */
#define MQ_MQPROP_INQUIRE_ALL_USR (MQPTR)(char*)"usr.%",\
- 0,\
- 0,\
- 5,\
- MQCCSI_APPL
+ 0,\
+ 0,\
+ 5,\
+ MQCCSI_APPL
/****************************************************************/
/* Values Related to MQOPEN Function */
@@ -4838,20 +4847,27 @@ DEF_VALSX(objtype);
DEF_VALSX(PrmTyp);
DEF_VALSX(PrmId);
DEF_VALSX(FilterOP);
+DEF_VALSX(UOWControls);
+DEF_VALSX(LinkType);
+DEF_VALSX(ADSDescr);
+DEF_VALSX(ConvTaskOpt);
+DEF_VALSX(TaskEndStatus);
DEF_VALSX(MQCFINT_Parse);
DEF_VALRX(ccsid);
+DEF_VALRX(WaitIntv);
+DEF_VALRX(OutDataLen);
/*
- * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 4
- * tab-width: 4
- * indent-tabs-mode: t
+ * tab-width: 8
+ * indent-tabs-mode: nil
* End:
*
- * vi: set shiftwidth=4 tabstop=4 noexpandtab:
- * :indentSize=4:tabSize=4:noTabs=false:
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
*/