diff options
author | Bill Meier <wmeier@newsguy.com> | 2013-12-29 20:58:27 +0000 |
---|---|---|
committer | Bill Meier <wmeier@newsguy.com> | 2013-12-29 20:58:27 +0000 |
commit | 756457682d9232cd2a7f5197e954b1dd8dfea8c9 (patch) | |
tree | 633924007de31dc2c7d68ab6638fb972740c1918 /epan | |
parent | 745c8660be2707df41d7cea3cd2725d18b9d6ff0 (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.c | 252 | ||||
-rw-r--r-- | epan/dissectors/packet-mq-pcf.c | 107 | ||||
-rw-r--r-- | epan/dissectors/packet-mq.c | 1246 | ||||
-rw-r--r-- | epan/dissectors/packet-mq.h | 106 |
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: */ |