diff options
author | Evan Huus <eapache@gmail.com> | 2013-09-15 20:56:56 +0000 |
---|---|---|
committer | Evan Huus <eapache@gmail.com> | 2013-09-15 20:56:56 +0000 |
commit | 5bd199d8f5a2aad01323b4ffb76ad25e7165e945 (patch) | |
tree | 9fadd29f471e0c6d52eed10cc6882f02900cc59a /epan | |
parent | 5d8143a6abd41ff22633ee029f5d298301d58c3e (diff) |
From RobiOneKenobi via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9072
Substantial enhancements to MQ protocol: all Structure, MSG_REQUEST/ASYNC_RESP,
MQ Multi Segment are decoded until version 7.1/7.5
svn path=/trunk/; revision=52085
Diffstat (limited to 'epan')
-rw-r--r-- | epan/CMakeLists.txt | 1 | ||||
-rw-r--r-- | epan/dissectors/Makefile.common | 1 | ||||
-rw-r--r-- | epan/dissectors/packet-mq-base.c | 4845 | ||||
-rw-r--r-- | epan/dissectors/packet-mq-pcf.c | 606 | ||||
-rw-r--r-- | epan/dissectors/packet-mq.c | 6055 | ||||
-rw-r--r-- | epan/dissectors/packet-mq.h | 4796 |
6 files changed, 13444 insertions, 2860 deletions
diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt index 23f18c5886..9b65519d90 100644 --- a/epan/CMakeLists.txt +++ b/epan/CMakeLists.txt @@ -900,6 +900,7 @@ set(DISSECTOR_SRC dissectors/packet-mplstp-oam.c dissectors/packet-mpls-y1711.c dissectors/packet-mpls.c + dissectors/packet-mq-base.c dissectors/packet-mq-pcf.c dissectors/packet-mq.c dissectors/packet-mrcpv2.c diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common index 6cbf4d105b..547b80de28 100644 --- a/epan/dissectors/Makefile.common +++ b/epan/dissectors/Makefile.common @@ -836,6 +836,7 @@ DISSECTOR_SRC = \ packet-mplstp-oam.c \ packet-mpls-y1711.c \ packet-mpls.c \ + packet-mq-base.c \ packet-mq-pcf.c \ packet-mq.c \ packet-mrcpv2.c \ diff --git a/epan/dissectors/packet-mq-base.c b/epan/dissectors/packet-mq-base.c new file mode 100644 index 0000000000..0e1d944d6a --- /dev/null +++ b/epan/dissectors/packet-mq-base.c @@ -0,0 +1,4845 @@ +/* packet-mq-base.c +* Routines for IBM WebSphere MQ PCF packet dissection +* +* metatech <metatech@flashmail.com> +* robionekenobi <robionekenobi@bluewin.ch> +* +* $Id$ +* +* Wireshark - Network traffic analyzer +* By Gerald Combs <gerald@wireshark.org> +* Copyright 1998 Gerald Combs +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 +* of the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include "config.h" + +#include <string.h> + +#include <glib.h> +#include <epan/packet.h> +#include "packet-mq.h" + +guint64 tvb_get_guint64_endian(tvbuff_t *a_tvb, gint a_iOffset, gint a_rep) +{ + guint64 iResult; + if (a_rep & ENC_LITTLE_ENDIAN) + iResult = tvb_get_letoh64(a_tvb, a_iOffset); + else + iResult = tvb_get_ntoh64(a_tvb, a_iOffset); + return iResult; +}; +guint32 tvb_get_guint32_endian(tvbuff_t *a_tvb, gint a_iOffset, gint a_rep) +{ + guint32 iResult; + if (a_rep & ENC_LITTLE_ENDIAN) + iResult = tvb_get_letohl(a_tvb, a_iOffset); + else + iResult = tvb_get_ntohl(a_tvb, a_iOffset); + return iResult; +}; +guint16 tvb_get_guint16_endian(tvbuff_t *a_tvb, gint a_iOffset, gint a_rep) +{ + guint16 sResult; + if (a_rep & ENC_LITTLE_ENDIAN) + sResult = tvb_get_letohs(a_tvb, a_iOffset); + else + sResult = tvb_get_ntohs(a_tvb, a_iOffset); + return sResult; +}; +/* This routine truncates the string at the first blank space */ +guint32 strip_trailing_blanks(guint8* a_str, guint32 a_size) +{ + gint32 i = 0; + if (a_str != NULL) + { + for (i = a_size-1; i >=0; i--) + { + if (a_str[i] != ' ' && a_str[i] != '\0') + break; + else + a_str[i]='\0'; + } + } + return i; +} + +DEF_VALSB(mqat) + DEF_VALS1(MQAT_UNKNOWN ), + DEF_VALS1(MQAT_NO_CONTEXT ), + DEF_VALS1(MQAT_CICS ), + DEF_VALS2(MQAT_ZOS,"MQAT_MVS/MQAT_OS390/MQAT_ZOS"), + DEF_VALS1(MQAT_IMS ), + DEF_VALS1(MQAT_OS2 ), + DEF_VALS1(MQAT_DOS ), + DEF_VALS2(MQAT_UNIX,"MQAT_AIX/MQAT_UNIX"), + DEF_VALS1(MQAT_QMGR ), + DEF_VALS1(MQAT_OS400 ), + DEF_VALS1(MQAT_WINDOWS ), + DEF_VALS1(MQAT_CICS_VSE ), + DEF_VALS1(MQAT_WINDOWS_NT ), + DEF_VALS1(MQAT_VMS ), + DEF_VALS2(MQAT_GUARDIAN,"MQAT_NSK/MQAT_GUARDIAN"), + DEF_VALS1(MQAT_VOS ), + DEF_VALS1(MQAT_OPEN_TP1 ), + DEF_VALS1(MQAT_VM ), + DEF_VALS1(MQAT_IMS_BRIDGE ), + DEF_VALS1(MQAT_XCF ), + DEF_VALS1(MQAT_CICS_BRIDGE ), + DEF_VALS1(MQAT_NOTES_AGENT ), + DEF_VALS1(MQAT_TPF ), + DEF_VALS1(MQAT_USER ), + DEF_VALS2(MQAT_QMGR_PUBLISH,"MQAT_QMGR_PUBLISH/MQAT_BROKER"), + DEF_VALS1(MQAT_JAVA ), + DEF_VALS1(MQAT_DQM ), + DEF_VALS1(MQAT_CHANNEL_INITIATOR), + DEF_VALS1(MQAT_WLM ), + DEF_VALS1(MQAT_BATCH ), + DEF_VALS1(MQAT_RRS_BATCH ), + DEF_VALS1(MQAT_SIB ), + DEF_VALS1(MQAT_SYSTEM_EXTENSION ), + DEF_VALS1(MQAT_MCAST_PUBLISH ), + DEF_VALS1(MQAT_UNKNOWN ), +DEF_VALSE; + +DEF_VALSB(mqcc) + DEF_VALS1(MQCC_OK ), + DEF_VALS1(MQCC_WARNING), + DEF_VALS1(MQCC_FAILED ), + DEF_VALS1(MQCC_UNKNOWN), +DEF_VALSE; + +DEF_VALSB(mqrc) + DEF_VALS1(MQRC_NONE ), + DEF_VALS1(MQRC_ALIAS_BASE_Q_TYPE_ERROR ), + DEF_VALS1(MQRC_ALREADY_CONNECTED ), + DEF_VALS1(MQRC_BACKED_OUT ), + DEF_VALS1(MQRC_BUFFER_ERROR ), + DEF_VALS1(MQRC_BUFFER_LENGTH_ERROR ), + DEF_VALS1(MQRC_CHAR_ATTR_LENGTH_ERROR ), + DEF_VALS1(MQRC_CHAR_ATTRS_ERROR ), + DEF_VALS1(MQRC_CHAR_ATTRS_TOO_SHORT ), + DEF_VALS1(MQRC_CONNECTION_BROKEN ), + DEF_VALS1(MQRC_DATA_LENGTH_ERROR ), + DEF_VALS1(MQRC_DYNAMIC_Q_NAME_ERROR ), + DEF_VALS1(MQRC_ENVIRONMENT_ERROR ), + DEF_VALS1(MQRC_EXPIRY_ERROR ), + DEF_VALS1(MQRC_FEEDBACK_ERROR ), + DEF_VALS1(MQRC_GET_INHIBITED ), + DEF_VALS1(MQRC_HANDLE_NOT_AVAILABLE ), + DEF_VALS1(MQRC_HCONN_ERROR ), + DEF_VALS1(MQRC_HOBJ_ERROR ), + DEF_VALS1(MQRC_INHIBIT_VALUE_ERROR ), + DEF_VALS1(MQRC_INT_ATTR_COUNT_ERROR ), + DEF_VALS1(MQRC_INT_ATTR_COUNT_TOO_SMALL ), + DEF_VALS1(MQRC_INT_ATTRS_ARRAY_ERROR ), + DEF_VALS1(MQRC_SYNCPOINT_LIMIT_REACHED ), + DEF_VALS1(MQRC_MAX_CONNS_LIMIT_REACHED ), + DEF_VALS1(MQRC_MD_ERROR ), + DEF_VALS1(MQRC_MISSING_REPLY_TO_Q ), + DEF_VALS1(MQRC_MSG_TYPE_ERROR ), + DEF_VALS1(MQRC_MSG_TOO_BIG_FOR_Q ), + DEF_VALS1(MQRC_MSG_TOO_BIG_FOR_Q_MGR ), + DEF_VALS1(MQRC_NO_MSG_AVAILABLE ), + DEF_VALS1(MQRC_NO_MSG_UNDER_CURSOR ), + DEF_VALS1(MQRC_NOT_AUTHORIZED ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_BROWSE ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_INPUT ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_INQUIRE ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_OUTPUT ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_SET ), + DEF_VALS1(MQRC_OBJECT_CHANGED ), + DEF_VALS1(MQRC_OBJECT_IN_USE ), + DEF_VALS1(MQRC_OBJECT_TYPE_ERROR ), + DEF_VALS1(MQRC_OD_ERROR ), + DEF_VALS1(MQRC_OPTION_NOT_VALID_FOR_TYPE ), + DEF_VALS1(MQRC_OPTIONS_ERROR ), + DEF_VALS1(MQRC_PERSISTENCE_ERROR ), + DEF_VALS1(MQRC_PERSISTENT_NOT_ALLOWED ), + DEF_VALS1(MQRC_PRIORITY_EXCEEDS_MAXIMUM ), + DEF_VALS1(MQRC_PRIORITY_ERROR ), + DEF_VALS1(MQRC_PUT_INHIBITED ), + DEF_VALS1(MQRC_Q_DELETED ), + DEF_VALS1(MQRC_Q_FULL ), + DEF_VALS1(MQRC_Q_NOT_EMPTY ), + DEF_VALS1(MQRC_Q_SPACE_NOT_AVAILABLE ), + DEF_VALS1(MQRC_Q_TYPE_ERROR ), + DEF_VALS1(MQRC_Q_MGR_NAME_ERROR ), + DEF_VALS1(MQRC_Q_MGR_NOT_AVAILABLE ), + DEF_VALS1(MQRC_REPORT_OPTIONS_ERROR ), + DEF_VALS1(MQRC_SECOND_MARK_NOT_ALLOWED ), + DEF_VALS1(MQRC_SECURITY_ERROR ), + DEF_VALS1(MQRC_SELECTOR_COUNT_ERROR ), + DEF_VALS1(MQRC_SELECTOR_LIMIT_EXCEEDED ), + DEF_VALS1(MQRC_SELECTOR_ERROR ), + DEF_VALS1(MQRC_SELECTOR_NOT_FOR_TYPE ), + DEF_VALS1(MQRC_SIGNAL_OUTSTANDING ), + DEF_VALS1(MQRC_SIGNAL_REQUEST_ACCEPTED ), + DEF_VALS1(MQRC_STORAGE_NOT_AVAILABLE ), + DEF_VALS1(MQRC_SYNCPOINT_NOT_AVAILABLE ), + DEF_VALS1(MQRC_TRIGGER_CONTROL_ERROR ), + DEF_VALS1(MQRC_TRIGGER_DEPTH_ERROR ), + DEF_VALS1(MQRC_TRIGGER_MSG_PRIORITY_ERR ), + DEF_VALS1(MQRC_TRIGGER_TYPE_ERROR ), + DEF_VALS1(MQRC_TRUNCATED_MSG_ACCEPTED ), + DEF_VALS1(MQRC_TRUNCATED_MSG_FAILED ), + DEF_VALS1(MQRC_UNKNOWN_ALIAS_BASE_Q ), + DEF_VALS1(MQRC_UNKNOWN_OBJECT_NAME ), + DEF_VALS1(MQRC_UNKNOWN_OBJECT_Q_MGR ), + DEF_VALS1(MQRC_UNKNOWN_REMOTE_Q_MGR ), + DEF_VALS1(MQRC_WAIT_INTERVAL_ERROR ), + DEF_VALS1(MQRC_XMIT_Q_TYPE_ERROR ), + DEF_VALS1(MQRC_XMIT_Q_USAGE_ERROR ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_PASS_ALL ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_PASS_IDENT ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_SET_ALL ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_SET_IDENT ), + DEF_VALS1(MQRC_CONTEXT_HANDLE_ERROR ), + DEF_VALS1(MQRC_CONTEXT_NOT_AVAILABLE ), + DEF_VALS1(MQRC_SIGNAL1_ERROR ), + DEF_VALS1(MQRC_OBJECT_ALREADY_EXISTS ), + DEF_VALS1(MQRC_OBJECT_DAMAGED ), + DEF_VALS1(MQRC_RESOURCE_PROBLEM ), + DEF_VALS1(MQRC_ANOTHER_Q_MGR_CONNECTED ), + DEF_VALS1(MQRC_UNKNOWN_REPORT_OPTION ), + DEF_VALS1(MQRC_STORAGE_CLASS_ERROR ), + DEF_VALS1(MQRC_COD_NOT_VALID_FOR_XCF_Q ), + DEF_VALS1(MQRC_XWAIT_CANCELED ), + DEF_VALS1(MQRC_XWAIT_ERROR ), + DEF_VALS1(MQRC_SUPPRESSED_BY_EXIT ), + DEF_VALS1(MQRC_FORMAT_ERROR ), + DEF_VALS1(MQRC_SOURCE_CCSID_ERROR ), + DEF_VALS1(MQRC_SOURCE_INTEGER_ENC_ERROR ), + DEF_VALS1(MQRC_SOURCE_DECIMAL_ENC_ERROR ), + DEF_VALS1(MQRC_SOURCE_FLOAT_ENC_ERROR ), + DEF_VALS1(MQRC_TARGET_CCSID_ERROR ), + DEF_VALS1(MQRC_TARGET_INTEGER_ENC_ERROR ), + DEF_VALS1(MQRC_TARGET_DECIMAL_ENC_ERROR ), + DEF_VALS1(MQRC_TARGET_FLOAT_ENC_ERROR ), + DEF_VALS1(MQRC_NOT_CONVERTED ), + DEF_VALS1(MQRC_CONVERTED_MSG_TOO_BIG ), + DEF_VALS1(MQRC_TRUNCATED ), + DEF_VALS1(MQRC_NO_EXTERNAL_PARTICIPANTS ), + DEF_VALS1(MQRC_PARTICIPANT_NOT_AVAILABLE ), + DEF_VALS1(MQRC_OUTCOME_MIXED ), + DEF_VALS1(MQRC_OUTCOME_PENDING ), + DEF_VALS1(MQRC_BRIDGE_STARTED ), + DEF_VALS1(MQRC_BRIDGE_STOPPED ), + DEF_VALS1(MQRC_ADAPTER_STORAGE_SHORTAGE ), + DEF_VALS1(MQRC_UOW_IN_PROGRESS ), + DEF_VALS1(MQRC_ADAPTER_CONN_LOAD_ERROR ), + DEF_VALS1(MQRC_ADAPTER_SERV_LOAD_ERROR ), + DEF_VALS1(MQRC_ADAPTER_DEFS_ERROR ), + DEF_VALS1(MQRC_ADAPTER_DEFS_LOAD_ERROR ), + DEF_VALS1(MQRC_ADAPTER_CONV_LOAD_ERROR ), + DEF_VALS1(MQRC_BO_ERROR ), + DEF_VALS1(MQRC_DH_ERROR ), + DEF_VALS1(MQRC_MULTIPLE_REASONS ), + DEF_VALS1(MQRC_OPEN_FAILED ), + DEF_VALS1(MQRC_ADAPTER_DISC_LOAD_ERROR ), + DEF_VALS1(MQRC_CNO_ERROR ), + DEF_VALS1(MQRC_CICS_WAIT_FAILED ), + DEF_VALS1(MQRC_DLH_ERROR ), + DEF_VALS1(MQRC_HEADER_ERROR ), + DEF_VALS1(MQRC_SOURCE_LENGTH_ERROR ), + DEF_VALS1(MQRC_TARGET_LENGTH_ERROR ), + DEF_VALS1(MQRC_SOURCE_BUFFER_ERROR ), + DEF_VALS1(MQRC_TARGET_BUFFER_ERROR ), + DEF_VALS1(MQRC_IIH_ERROR ), + DEF_VALS1(MQRC_PCF_ERROR ), + DEF_VALS1(MQRC_DBCS_ERROR ), + DEF_VALS1(MQRC_OBJECT_NAME_ERROR ), + DEF_VALS1(MQRC_OBJECT_Q_MGR_NAME_ERROR ), + DEF_VALS1(MQRC_RECS_PRESENT_ERROR ), + DEF_VALS1(MQRC_OBJECT_RECORDS_ERROR ), + DEF_VALS1(MQRC_RESPONSE_RECORDS_ERROR ), + DEF_VALS1(MQRC_ASID_MISMATCH ), + DEF_VALS1(MQRC_PMO_RECORD_FLAGS_ERROR ), + DEF_VALS1(MQRC_PUT_MSG_RECORDS_ERROR ), + DEF_VALS1(MQRC_CONN_ID_IN_USE ), + DEF_VALS1(MQRC_Q_MGR_QUIESCING ), + DEF_VALS1(MQRC_Q_MGR_STOPPING ), + DEF_VALS1(MQRC_DUPLICATE_RECOV_COORD ), + DEF_VALS1(MQRC_PMO_ERROR ), + DEF_VALS1(MQRC_API_EXIT_NOT_FOUND ), + DEF_VALS1(MQRC_API_EXIT_LOAD_ERROR ), + DEF_VALS1(MQRC_REMOTE_Q_NAME_ERROR ), + DEF_VALS1(MQRC_INCONSISTENT_PERSISTENCE ), + DEF_VALS1(MQRC_GMO_ERROR ), + DEF_VALS1(MQRC_CICS_BRIDGE_RESTRICTION ), + DEF_VALS1(MQRC_STOPPED_BY_CLUSTER_EXIT ), + DEF_VALS1(MQRC_CLUSTER_RESOLUTION_ERROR ), + DEF_VALS1(MQRC_CONVERTED_STRING_TOO_BIG ), + DEF_VALS1(MQRC_TMC_ERROR ), + DEF_VALS1(MQRC_PAGESET_FULL ), + DEF_VALS1(MQRC_STORAGE_MEDIUM_FULL ), + DEF_VALS1(MQRC_PAGESET_ERROR ), + DEF_VALS1(MQRC_NAME_NOT_VALID_FOR_TYPE ), + DEF_VALS1(MQRC_UNEXPECTED_ERROR ), + DEF_VALS1(MQRC_UNKNOWN_XMIT_Q ), + DEF_VALS1(MQRC_UNKNOWN_DEF_XMIT_Q ), + DEF_VALS1(MQRC_DEF_XMIT_Q_TYPE_ERROR ), + DEF_VALS1(MQRC_DEF_XMIT_Q_USAGE_ERROR ), + DEF_VALS1(MQRC_MSG_MARKED_BROWSE_CO_OP ), + DEF_VALS1(MQRC_NAME_IN_USE ), + DEF_VALS1(MQRC_CONNECTION_QUIESCING ), + DEF_VALS1(MQRC_CONNECTION_STOPPING ), + DEF_VALS1(MQRC_ADAPTER_NOT_AVAILABLE ), + DEF_VALS1(MQRC_MSG_ID_ERROR ), + DEF_VALS1(MQRC_CORREL_ID_ERROR ), + DEF_VALS1(MQRC_FILE_SYSTEM_ERROR ), + DEF_VALS1(MQRC_NO_MSG_LOCKED ), + DEF_VALS1(MQRC_SOAP_DOTNET_ERROR ), + DEF_VALS1(MQRC_SOAP_AXIS_ERROR ), + DEF_VALS1(MQRC_SOAP_URL_ERROR ), + DEF_VALS1(MQRC_FILE_NOT_AUDITED ), + DEF_VALS1(MQRC_CONNECTION_NOT_AUTHORIZED ), + DEF_VALS1(MQRC_MSG_TOO_BIG_FOR_CHANNEL ), + DEF_VALS1(MQRC_CALL_IN_PROGRESS ), + DEF_VALS1(MQRC_RMH_ERROR ), + DEF_VALS1(MQRC_Q_MGR_ACTIVE ), + DEF_VALS1(MQRC_Q_MGR_NOT_ACTIVE ), + DEF_VALS1(MQRC_Q_DEPTH_HIGH ), + DEF_VALS1(MQRC_Q_DEPTH_LOW ), + DEF_VALS1(MQRC_Q_SERVICE_INTERVAL_HIGH ), + DEF_VALS1(MQRC_Q_SERVICE_INTERVAL_OK ), + DEF_VALS1(MQRC_RFH_HEADER_FIELD_ERROR ), + DEF_VALS1(MQRC_RAS_PROPERTY_ERROR ), + DEF_VALS1(MQRC_UNIT_OF_WORK_NOT_STARTED ), + DEF_VALS1(MQRC_CHANNEL_AUTO_DEF_OK ), + DEF_VALS1(MQRC_CHANNEL_AUTO_DEF_ERROR ), + DEF_VALS1(MQRC_CFH_ERROR ), + DEF_VALS1(MQRC_CFIL_ERROR ), + DEF_VALS1(MQRC_CFIN_ERROR ), + DEF_VALS1(MQRC_CFSL_ERROR ), + DEF_VALS1(MQRC_CFST_ERROR ), + DEF_VALS1(MQRC_INCOMPLETE_GROUP ), + DEF_VALS1(MQRC_INCOMPLETE_MSG ), + DEF_VALS1(MQRC_INCONSISTENT_CCSIDS ), + DEF_VALS1(MQRC_INCONSISTENT_ENCODINGS ), + DEF_VALS1(MQRC_INCONSISTENT_UOW ), + DEF_VALS1(MQRC_INVALID_MSG_UNDER_CURSOR ), + DEF_VALS1(MQRC_MATCH_OPTIONS_ERROR ), + DEF_VALS1(MQRC_MDE_ERROR ), + DEF_VALS1(MQRC_MSG_FLAGS_ERROR ), + DEF_VALS1(MQRC_MSG_SEQ_NUMBER_ERROR ), + DEF_VALS1(MQRC_OFFSET_ERROR ), + DEF_VALS1(MQRC_ORIGINAL_LENGTH_ERROR ), + DEF_VALS1(MQRC_SEGMENT_LENGTH_ZERO ), + DEF_VALS1(MQRC_UOW_NOT_AVAILABLE ), + DEF_VALS1(MQRC_WRONG_GMO_VERSION ), + DEF_VALS1(MQRC_WRONG_MD_VERSION ), + DEF_VALS1(MQRC_GROUP_ID_ERROR ), + DEF_VALS1(MQRC_INCONSISTENT_BROWSE ), + DEF_VALS1(MQRC_XQH_ERROR ), + DEF_VALS1(MQRC_SRC_ENV_ERROR ), + DEF_VALS1(MQRC_SRC_NAME_ERROR ), + DEF_VALS1(MQRC_DEST_ENV_ERROR ), + DEF_VALS1(MQRC_DEST_NAME_ERROR ), + DEF_VALS1(MQRC_TM_ERROR ), + DEF_VALS1(MQRC_CLUSTER_EXIT_ERROR ), + DEF_VALS1(MQRC_CLUSTER_EXIT_LOAD_ERROR ), + DEF_VALS1(MQRC_CLUSTER_PUT_INHIBITED ), + DEF_VALS1(MQRC_CLUSTER_RESOURCE_ERROR ), + DEF_VALS1(MQRC_NO_DESTINATIONS_AVAILABLE ), + DEF_VALS1(MQRC_CONN_TAG_IN_USE ), + DEF_VALS1(MQRC_PARTIALLY_CONVERTED ), + DEF_VALS1(MQRC_CONNECTION_ERROR ), + DEF_VALS1(MQRC_OPTION_ENVIRONMENT_ERROR ), + DEF_VALS1(MQRC_CD_ERROR ), + DEF_VALS1(MQRC_CLIENT_CONN_ERROR ), + DEF_VALS1(MQRC_CHANNEL_STOPPED_BY_USER ), + DEF_VALS1(MQRC_HCONFIG_ERROR ), + DEF_VALS1(MQRC_FUNCTION_ERROR ), + DEF_VALS1(MQRC_CHANNEL_STARTED ), + DEF_VALS1(MQRC_CHANNEL_STOPPED ), + DEF_VALS1(MQRC_CHANNEL_CONV_ERROR ), + DEF_VALS1(MQRC_SERVICE_NOT_AVAILABLE ), + DEF_VALS1(MQRC_INITIALIZATION_FAILED ), + DEF_VALS1(MQRC_TERMINATION_FAILED ), + DEF_VALS1(MQRC_UNKNOWN_Q_NAME ), + DEF_VALS1(MQRC_SERVICE_ERROR ), + DEF_VALS1(MQRC_Q_ALREADY_EXISTS ), + DEF_VALS1(MQRC_USER_ID_NOT_AVAILABLE ), + DEF_VALS1(MQRC_UNKNOWN_ENTITY ), + DEF_VALS1(MQRC_UNKNOWN_AUTH_ENTITY ), + DEF_VALS1(MQRC_UNKNOWN_REF_OBJECT ), + DEF_VALS1(MQRC_CHANNEL_ACTIVATED ), + DEF_VALS1(MQRC_CHANNEL_NOT_ACTIVATED ), + DEF_VALS1(MQRC_UOW_CANCELED ), + DEF_VALS1(MQRC_FUNCTION_NOT_SUPPORTED ), + DEF_VALS1(MQRC_SELECTOR_TYPE_ERROR ), + DEF_VALS1(MQRC_COMMAND_TYPE_ERROR ), + DEF_VALS1(MQRC_MULTIPLE_INSTANCE_ERROR ), + DEF_VALS1(MQRC_SYSTEM_ITEM_NOT_ALTERABLE ), + DEF_VALS1(MQRC_BAG_CONVERSION_ERROR ), + DEF_VALS1(MQRC_SELECTOR_OUT_OF_RANGE ), + DEF_VALS1(MQRC_SELECTOR_NOT_UNIQUE ), + DEF_VALS1(MQRC_INDEX_NOT_PRESENT ), + DEF_VALS1(MQRC_STRING_ERROR ), + DEF_VALS1(MQRC_ENCODING_NOT_SUPPORTED ), + DEF_VALS1(MQRC_SELECTOR_NOT_PRESENT ), + DEF_VALS1(MQRC_OUT_SELECTOR_ERROR ), + DEF_VALS1(MQRC_STRING_TRUNCATED ), + DEF_VALS1(MQRC_SELECTOR_WRONG_TYPE ), + DEF_VALS1(MQRC_INCONSISTENT_ITEM_TYPE ), + DEF_VALS1(MQRC_INDEX_ERROR ), + DEF_VALS1(MQRC_SYSTEM_BAG_NOT_ALTERABLE ), + DEF_VALS1(MQRC_ITEM_COUNT_ERROR ), + DEF_VALS1(MQRC_FORMAT_NOT_SUPPORTED ), + DEF_VALS1(MQRC_SELECTOR_NOT_SUPPORTED ), + DEF_VALS1(MQRC_ITEM_VALUE_ERROR ), + DEF_VALS1(MQRC_HBAG_ERROR ), + DEF_VALS1(MQRC_PARAMETER_MISSING ), + DEF_VALS1(MQRC_CMD_SERVER_NOT_AVAILABLE ), + DEF_VALS1(MQRC_STRING_LENGTH_ERROR ), + DEF_VALS1(MQRC_INQUIRY_COMMAND_ERROR ), + DEF_VALS1(MQRC_NESTED_BAG_NOT_SUPPORTED ), + DEF_VALS1(MQRC_BAG_WRONG_TYPE ), + DEF_VALS1(MQRC_ITEM_TYPE_ERROR ), + DEF_VALS1(MQRC_SYSTEM_BAG_NOT_DELETABLE ), + DEF_VALS1(MQRC_SYSTEM_ITEM_NOT_DELETABLE ), + DEF_VALS1(MQRC_CODED_CHAR_SET_ID_ERROR ), + DEF_VALS1(MQRC_MSG_TOKEN_ERROR ), + DEF_VALS1(MQRC_MISSING_WIH ), + DEF_VALS1(MQRC_WIH_ERROR ), + DEF_VALS1(MQRC_RFH_ERROR ), + DEF_VALS1(MQRC_RFH_STRING_ERROR ), + DEF_VALS1(MQRC_RFH_COMMAND_ERROR ), + DEF_VALS1(MQRC_RFH_PARM_ERROR ), + DEF_VALS1(MQRC_RFH_DUPLICATE_PARM ), + DEF_VALS1(MQRC_RFH_PARM_MISSING ), + DEF_VALS1(MQRC_CHAR_CONVERSION_ERROR ), + DEF_VALS1(MQRC_UCS2_CONVERSION_ERROR ), + DEF_VALS1(MQRC_DB2_NOT_AVAILABLE ), + DEF_VALS1(MQRC_OBJECT_NOT_UNIQUE ), + DEF_VALS1(MQRC_CONN_TAG_NOT_RELEASED ), + DEF_VALS1(MQRC_CF_NOT_AVAILABLE ), + DEF_VALS1(MQRC_CF_STRUC_IN_USE ), + DEF_VALS1(MQRC_CF_STRUC_LIST_HDR_IN_USE ), + DEF_VALS1(MQRC_CF_STRUC_AUTH_FAILED ), + DEF_VALS1(MQRC_CF_STRUC_ERROR ), + DEF_VALS1(MQRC_CONN_TAG_NOT_USABLE ), + DEF_VALS1(MQRC_GLOBAL_UOW_CONFLICT ), + DEF_VALS1(MQRC_LOCAL_UOW_CONFLICT ), + DEF_VALS1(MQRC_HANDLE_IN_USE_FOR_UOW ), + DEF_VALS1(MQRC_UOW_ENLISTMENT_ERROR ), + DEF_VALS1(MQRC_UOW_MIX_NOT_SUPPORTED ), + DEF_VALS1(MQRC_WXP_ERROR ), + DEF_VALS1(MQRC_CURRENT_RECORD_ERROR ), + DEF_VALS1(MQRC_NEXT_OFFSET_ERROR ), + DEF_VALS1(MQRC_NO_RECORD_AVAILABLE ), + DEF_VALS1(MQRC_OBJECT_LEVEL_INCOMPATIBLE ), + DEF_VALS1(MQRC_NEXT_RECORD_ERROR ), + DEF_VALS1(MQRC_BACKOUT_THRESHOLD_REACHED ), + DEF_VALS1(MQRC_MSG_NOT_MATCHED ), + DEF_VALS1(MQRC_JMS_FORMAT_ERROR ), + DEF_VALS1(MQRC_SEGMENTS_NOT_SUPPORTED ), + DEF_VALS1(MQRC_WRONG_CF_LEVEL ), + DEF_VALS1(MQRC_CONFIG_CREATE_OBJECT ), + DEF_VALS1(MQRC_CONFIG_CHANGE_OBJECT ), + DEF_VALS1(MQRC_CONFIG_DELETE_OBJECT ), + DEF_VALS1(MQRC_CONFIG_REFRESH_OBJECT ), + DEF_VALS1(MQRC_CHANNEL_SSL_ERROR ), + DEF_VALS1(MQRC_PARTICIPANT_NOT_DEFINED ), + DEF_VALS1(MQRC_CF_STRUC_FAILED ), + DEF_VALS1(MQRC_API_EXIT_ERROR ), + DEF_VALS1(MQRC_API_EXIT_INIT_ERROR ), + DEF_VALS1(MQRC_API_EXIT_TERM_ERROR ), + DEF_VALS1(MQRC_EXIT_REASON_ERROR ), + DEF_VALS1(MQRC_RESERVED_VALUE_ERROR ), + DEF_VALS1(MQRC_NO_DATA_AVAILABLE ), + DEF_VALS1(MQRC_SCO_ERROR ), + DEF_VALS1(MQRC_KEY_REPOSITORY_ERROR ), + DEF_VALS1(MQRC_CRYPTO_HARDWARE_ERROR ), + DEF_VALS1(MQRC_AUTH_INFO_REC_COUNT_ERROR ), + DEF_VALS1(MQRC_AUTH_INFO_REC_ERROR ), + DEF_VALS1(MQRC_AIR_ERROR ), + DEF_VALS1(MQRC_AUTH_INFO_TYPE_ERROR ), + DEF_VALS1(MQRC_AUTH_INFO_CONN_NAME_ERROR ), + DEF_VALS1(MQRC_LDAP_USER_NAME_ERROR ), + DEF_VALS1(MQRC_LDAP_USER_NAME_LENGTH_ERR ), + DEF_VALS1(MQRC_LDAP_PASSWORD_ERROR ), + DEF_VALS1(MQRC_SSL_ALREADY_INITIALIZED ), + DEF_VALS1(MQRC_SSL_CONFIG_ERROR ), + DEF_VALS1(MQRC_SSL_INITIALIZATION_ERROR ), + DEF_VALS1(MQRC_Q_INDEX_TYPE_ERROR ), + DEF_VALS1(MQRC_CFBS_ERROR ), + DEF_VALS1(MQRC_SSL_NOT_ALLOWED ), + DEF_VALS1(MQRC_JSSE_ERROR ), + DEF_VALS1(MQRC_SSL_PEER_NAME_MISMATCH ), + DEF_VALS1(MQRC_SSL_PEER_NAME_ERROR ), + DEF_VALS1(MQRC_UNSUPPORTED_CIPHER_SUITE ), + DEF_VALS1(MQRC_SSL_CERTIFICATE_REVOKED ), + DEF_VALS1(MQRC_SSL_CERT_STORE_ERROR ), + DEF_VALS1(MQRC_CLIENT_EXIT_LOAD_ERROR ), + DEF_VALS1(MQRC_CLIENT_EXIT_ERROR ), + DEF_VALS1(MQRC_UOW_COMMITTED ), + DEF_VALS1(MQRC_SSL_KEY_RESET_ERROR ), + DEF_VALS1(MQRC_UNKNOWN_COMPONENT_NAME ), + DEF_VALS1(MQRC_LOGGER_STATUS ), + DEF_VALS1(MQRC_COMMAND_MQSC ), + DEF_VALS1(MQRC_COMMAND_PCF ), + DEF_VALS1(MQRC_CFIF_ERROR ), + DEF_VALS1(MQRC_CFSF_ERROR ), + DEF_VALS1(MQRC_CFGR_ERROR ), + DEF_VALS1(MQRC_MSG_NOT_ALLOWED_IN_GROUP ), + DEF_VALS1(MQRC_FILTER_OPERATOR_ERROR ), + DEF_VALS1(MQRC_NESTED_SELECTOR_ERROR ), + DEF_VALS1(MQRC_EPH_ERROR ), + DEF_VALS1(MQRC_RFH_FORMAT_ERROR ), + DEF_VALS1(MQRC_CFBF_ERROR ), + DEF_VALS1(MQRC_CLIENT_CHANNEL_CONFLICT ), + DEF_VALS1(MQRC_SD_ERROR ), + DEF_VALS1(MQRC_TOPIC_STRING_ERROR ), + DEF_VALS1(MQRC_STS_ERROR ), + DEF_VALS1(MQRC_NO_SUBSCRIPTION ), + DEF_VALS1(MQRC_SUBSCRIPTION_IN_USE ), + DEF_VALS1(MQRC_STAT_TYPE_ERROR ), + DEF_VALS1(MQRC_SUB_USER_DATA_ERROR ), + DEF_VALS1(MQRC_SUB_ALREADY_EXISTS ), + DEF_VALS1(MQRC_IDENTITY_MISMATCH ), + DEF_VALS1(MQRC_ALTER_SUB_ERROR ), + DEF_VALS1(MQRC_DURABILITY_NOT_ALLOWED ), + DEF_VALS1(MQRC_NO_RETAINED_MSG ), + DEF_VALS1(MQRC_SRO_ERROR ), + DEF_VALS1(MQRC_SUB_NAME_ERROR ), + DEF_VALS1(MQRC_OBJECT_STRING_ERROR ), + DEF_VALS1(MQRC_PROPERTY_NAME_ERROR ), + DEF_VALS1(MQRC_SEGMENTATION_NOT_ALLOWED ), + DEF_VALS1(MQRC_CBD_ERROR ), + DEF_VALS1(MQRC_CTLO_ERROR ), + DEF_VALS1(MQRC_NO_CALLBACKS_ACTIVE ), + DEF_VALS1(MQRC_CALLBACK_NOT_REGISTERED ), + DEF_VALS1(MQRC_OPTIONS_CHANGED ), + DEF_VALS1(MQRC_READ_AHEAD_MSGS ), + DEF_VALS1(MQRC_SELECTOR_SYNTAX_ERROR ), + DEF_VALS1(MQRC_HMSG_ERROR ), + DEF_VALS1(MQRC_CMHO_ERROR ), + DEF_VALS1(MQRC_DMHO_ERROR ), + DEF_VALS1(MQRC_SMPO_ERROR ), + DEF_VALS1(MQRC_IMPO_ERROR ), + DEF_VALS1(MQRC_PROPERTY_NAME_TOO_BIG ), + DEF_VALS1(MQRC_PROP_VALUE_NOT_CONVERTED ), + DEF_VALS1(MQRC_PROP_TYPE_NOT_SUPPORTED ), + DEF_VALS1(MQRC_PROPERTY_VALUE_TOO_BIG ), + DEF_VALS1(MQRC_PROP_CONV_NOT_SUPPORTED ), + DEF_VALS1(MQRC_PROPERTY_NOT_AVAILABLE ), + DEF_VALS1(MQRC_PROP_NUMBER_FORMAT_ERROR ), + DEF_VALS1(MQRC_PROPERTY_TYPE_ERROR ), + DEF_VALS1(MQRC_PROPERTIES_TOO_BIG ), + DEF_VALS1(MQRC_PUT_NOT_RETAINED ), + DEF_VALS1(MQRC_ALIAS_TARGTYPE_CHANGED ), + DEF_VALS1(MQRC_DMPO_ERROR ), + DEF_VALS1(MQRC_PD_ERROR ), + DEF_VALS1(MQRC_CALLBACK_TYPE_ERROR ), + DEF_VALS1(MQRC_CBD_OPTIONS_ERROR ), + DEF_VALS1(MQRC_MAX_MSG_LENGTH_ERROR ), + DEF_VALS1(MQRC_CALLBACK_ROUTINE_ERROR ), + DEF_VALS1(MQRC_CALLBACK_LINK_ERROR ), + DEF_VALS1(MQRC_OPERATION_ERROR ), + DEF_VALS1(MQRC_BMHO_ERROR ), + DEF_VALS1(MQRC_UNSUPPORTED_PROPERTY ), + DEF_VALS1(MQRC_PROP_NAME_NOT_CONVERTED ), + DEF_VALS1(MQRC_GET_ENABLED ), + DEF_VALS1(MQRC_MODULE_NOT_FOUND ), + DEF_VALS1(MQRC_MODULE_INVALID ), + DEF_VALS1(MQRC_MODULE_ENTRY_NOT_FOUND ), + DEF_VALS1(MQRC_MIXED_CONTENT_NOT_ALLOWED ), + DEF_VALS1(MQRC_MSG_HANDLE_IN_USE ), + DEF_VALS1(MQRC_HCONN_ASYNC_ACTIVE ), + DEF_VALS1(MQRC_MHBO_ERROR ), + DEF_VALS1(MQRC_PUBLICATION_FAILURE ), + DEF_VALS1(MQRC_SUB_INHIBITED ), + DEF_VALS1(MQRC_SELECTOR_ALWAYS_FALSE ), + DEF_VALS1(MQRC_XEPO_ERROR ), + DEF_VALS1(MQRC_DURABILITY_NOT_ALTERABLE ), + DEF_VALS1(MQRC_TOPIC_NOT_ALTERABLE ), + DEF_VALS1(MQRC_SUBLEVEL_NOT_ALTERABLE ), + DEF_VALS1(MQRC_PROPERTY_NAME_LENGTH_ERR ), + DEF_VALS1(MQRC_DUPLICATE_GROUP_SUB ), + DEF_VALS1(MQRC_GROUPING_NOT_ALTERABLE ), + DEF_VALS1(MQRC_SELECTOR_INVALID_FOR_TYPE ), + DEF_VALS1(MQRC_HOBJ_QUIESCED ), + DEF_VALS1(MQRC_HOBJ_QUIESCED_NO_MSGS ), + DEF_VALS1(MQRC_SELECTION_STRING_ERROR ), + DEF_VALS1(MQRC_RES_OBJECT_STRING_ERROR ), + DEF_VALS1(MQRC_CONNECTION_SUSPENDED ), + DEF_VALS1(MQRC_INVALID_DESTINATION ), + DEF_VALS1(MQRC_INVALID_SUBSCRIPTION ), + DEF_VALS1(MQRC_SELECTOR_NOT_ALTERABLE ), + DEF_VALS1(MQRC_RETAINED_MSG_Q_ERROR ), + DEF_VALS1(MQRC_RETAINED_NOT_DELIVERED ), + DEF_VALS1(MQRC_RFH_RESTRICTED_FORMAT_ERR ), + DEF_VALS1(MQRC_CONNECTION_STOPPED ), + DEF_VALS1(MQRC_ASYNC_UOW_CONFLICT ), + DEF_VALS1(MQRC_ASYNC_XA_CONFLICT ), + DEF_VALS1(MQRC_PUBSUB_INHIBITED ), + DEF_VALS1(MQRC_MSG_HANDLE_COPY_FAILURE ), + DEF_VALS1(MQRC_DEST_CLASS_NOT_ALTERABLE ), + DEF_VALS1(MQRC_OPERATION_NOT_ALLOWED ), + DEF_VALS1(MQRC_ACTION_ERROR ), + DEF_VALS1(MQRC_CHANNEL_NOT_AVAILABLE ), + DEF_VALS1(MQRC_HOST_NOT_AVAILABLE ), + DEF_VALS1(MQRC_CHANNEL_CONFIG_ERROR ), + DEF_VALS1(MQRC_UNKNOWN_CHANNEL_NAME ), + DEF_VALS1(MQRC_LOOPING_PUBLICATION ), + DEF_VALS1(MQRC_ALREADY_JOINED ), + DEF_VALS1(MQRC_STANDBY_Q_MGR ), + DEF_VALS1(MQRC_RECONNECTING ), + DEF_VALS1(MQRC_RECONNECTED ), + DEF_VALS1(MQRC_RECONNECT_QMID_MISMATCH ), + DEF_VALS1(MQRC_RECONNECT_INCOMPATIBLE ), + DEF_VALS1(MQRC_RECONNECT_FAILED ), + DEF_VALS1(MQRC_CALL_INTERRUPTED ), + DEF_VALS1(MQRC_NO_SUBS_MATCHED ), + DEF_VALS1(MQRC_SELECTION_NOT_AVAILABLE ), + DEF_VALS1(MQRC_CHANNEL_SSL_WARNING ), + DEF_VALS1(MQRC_OCSP_URL_ERROR ), + DEF_VALS1(MQRC_CONTENT_ERROR ), + DEF_VALS1(MQRC_RECONNECT_Q_MGR_REQD ), + DEF_VALS1(MQRC_RECONNECT_TIMED_OUT ), + DEF_VALS1(MQRC_PUBLISH_EXIT_ERROR ), + DEF_VALS1(MQRC_SSL_ALT_PROVIDER_REQUIRED ), + DEF_VALS1(MQRC_PRECONN_EXIT_LOAD_ERROR ), + DEF_VALS1(MQRC_PRECONN_EXIT_NOT_FOUND ), + DEF_VALS1(MQRC_PRECONN_EXIT_ERROR ), + DEF_VALS1(MQRC_CD_ARRAY_ERROR ), + + DEF_VALS1(MQRCCF_CFH_TYPE_ERROR ), + DEF_VALS1(MQRCCF_CFH_TYPE_ERROR ), + DEF_VALS1(MQRCCF_CFH_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFH_VERSION_ERROR ), + DEF_VALS1(MQRCCF_CFH_MSG_SEQ_NUMBER_ERR ), + DEF_VALS1(MQRCCF_CFH_CONTROL_ERROR ), + DEF_VALS1(MQRCCF_CFH_PARM_COUNT_ERROR ), + DEF_VALS1(MQRCCF_CFH_COMMAND_ERROR ), + DEF_VALS1(MQRCCF_COMMAND_FAILED ), + DEF_VALS1(MQRCCF_CFIN_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFST_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFST_STRING_LENGTH_ERR ), + DEF_VALS1(MQRCCF_FORCE_VALUE_ERROR ), + DEF_VALS1(MQRCCF_STRUCTURE_TYPE_ERROR ), + DEF_VALS1(MQRCCF_CFIN_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CFST_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_MSG_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFIN_DUPLICATE_PARM ), + DEF_VALS1(MQRCCF_CFST_DUPLICATE_PARM ), + DEF_VALS1(MQRCCF_PARM_COUNT_TOO_SMALL ), + DEF_VALS1(MQRCCF_PARM_COUNT_TOO_BIG ), + DEF_VALS1(MQRCCF_Q_ALREADY_IN_CELL ), + DEF_VALS1(MQRCCF_Q_TYPE_ERROR ), + DEF_VALS1(MQRCCF_MD_FORMAT_ERROR ), + DEF_VALS1(MQRCCF_CFSL_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_REPLACE_VALUE_ERROR ), + DEF_VALS1(MQRCCF_CFIL_DUPLICATE_VALUE ), + DEF_VALS1(MQRCCF_CFIL_COUNT_ERROR ), + DEF_VALS1(MQRCCF_CFIL_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_QUIESCE_VALUE_ERROR ), + DEF_VALS1(MQRCCF_MODE_VALUE_ERROR ), + DEF_VALS1(MQRCCF_MSG_SEQ_NUMBER_ERROR ), + DEF_VALS1(MQRCCF_PING_DATA_COUNT_ERROR ), + DEF_VALS1(MQRCCF_PING_DATA_COMPARE_ERROR ), + DEF_VALS1(MQRCCF_CFSL_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CHANNEL_TYPE_ERROR ), + DEF_VALS1(MQRCCF_PARM_SEQUENCE_ERROR ), + DEF_VALS1(MQRCCF_XMIT_PROTOCOL_TYPE_ERR ), + DEF_VALS1(MQRCCF_BATCH_SIZE_ERROR ), + DEF_VALS1(MQRCCF_DISC_INT_ERROR ), + DEF_VALS1(MQRCCF_SHORT_RETRY_ERROR ), + DEF_VALS1(MQRCCF_SHORT_TIMER_ERROR ), + DEF_VALS1(MQRCCF_LONG_RETRY_ERROR ), + DEF_VALS1(MQRCCF_LONG_TIMER_ERROR ), + DEF_VALS1(MQRCCF_SEQ_NUMBER_WRAP_ERROR ), + DEF_VALS1(MQRCCF_MAX_MSG_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_PUT_AUTH_ERROR ), + DEF_VALS1(MQRCCF_PURGE_VALUE_ERROR ), + DEF_VALS1(MQRCCF_CFIL_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_MSG_TRUNCATED ), + DEF_VALS1(MQRCCF_CCSID_ERROR ), + DEF_VALS1(MQRCCF_ENCODING_ERROR ), + DEF_VALS1(MQRCCF_QUEUES_VALUE_ERROR ), + DEF_VALS1(MQRCCF_DATA_CONV_VALUE_ERROR ), + DEF_VALS1(MQRCCF_INDOUBT_VALUE_ERROR ), + DEF_VALS1(MQRCCF_ESCAPE_TYPE_ERROR ), + DEF_VALS1(MQRCCF_REPOS_VALUE_ERROR ), + DEF_VALS1(MQRCCF_CHANNEL_TABLE_ERROR ), + DEF_VALS1(MQRCCF_MCA_TYPE_ERROR ), + DEF_VALS1(MQRCCF_CHL_INST_TYPE_ERROR ), + DEF_VALS1(MQRCCF_CHL_STATUS_NOT_FOUND ), + DEF_VALS1(MQRCCF_CFSL_DUPLICATE_PARM ), + DEF_VALS1(MQRCCF_CFSL_TOTAL_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFSL_COUNT_ERROR ), + DEF_VALS1(MQRCCF_CFSL_STRING_LENGTH_ERR ), + DEF_VALS1(MQRCCF_BROKER_DELETED ), + DEF_VALS1(MQRCCF_STREAM_ERROR ), + DEF_VALS1(MQRCCF_TOPIC_ERROR ), + DEF_VALS1(MQRCCF_NOT_REGISTERED ), + DEF_VALS1(MQRCCF_Q_MGR_NAME_ERROR ), + DEF_VALS1(MQRCCF_INCORRECT_STREAM ), + DEF_VALS1(MQRCCF_Q_NAME_ERROR ), + DEF_VALS1(MQRCCF_NO_RETAINED_MSG ), + DEF_VALS1(MQRCCF_DUPLICATE_IDENTITY ), + DEF_VALS1(MQRCCF_INCORRECT_Q ), + DEF_VALS1(MQRCCF_CORREL_ID_ERROR ), + DEF_VALS1(MQRCCF_NOT_AUTHORIZED ), + DEF_VALS1(MQRCCF_UNKNOWN_STREAM ), + DEF_VALS1(MQRCCF_REG_OPTIONS_ERROR ), + DEF_VALS1(MQRCCF_PUB_OPTIONS_ERROR ), + DEF_VALS1(MQRCCF_UNKNOWN_BROKER ), + DEF_VALS1(MQRCCF_Q_MGR_CCSID_ERROR ), + DEF_VALS1(MQRCCF_DEL_OPTIONS_ERROR ), + DEF_VALS1(MQRCCF_CLUSTER_NAME_CONFLICT ), + DEF_VALS1(MQRCCF_REPOS_NAME_CONFLICT ), + DEF_VALS1(MQRCCF_CLUSTER_Q_USAGE_ERROR ), + DEF_VALS1(MQRCCF_ACTION_VALUE_ERROR ), + DEF_VALS1(MQRCCF_COMMS_LIBRARY_ERROR ), + DEF_VALS1(MQRCCF_NETBIOS_NAME_ERROR ), + DEF_VALS1(MQRCCF_BROKER_COMMAND_FAILED ), + DEF_VALS1(MQRCCF_CFST_CONFLICTING_PARM ), + DEF_VALS1(MQRCCF_PATH_NOT_VALID ), + DEF_VALS1(MQRCCF_PARM_SYNTAX_ERROR ), + DEF_VALS1(MQRCCF_PWD_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_FILTER_ERROR ), + DEF_VALS1(MQRCCF_WRONG_USER ), + DEF_VALS1(MQRCCF_DUPLICATE_SUBSCRIPTION ), + DEF_VALS1(MQRCCF_SUB_NAME_ERROR ), + DEF_VALS1(MQRCCF_SUB_IDENTITY_ERROR ), + DEF_VALS1(MQRCCF_SUBSCRIPTION_IN_USE ), + DEF_VALS1(MQRCCF_SUBSCRIPTION_LOCKED ), + DEF_VALS1(MQRCCF_ALREADY_JOINED ), + DEF_VALS1(MQRCCF_OBJECT_IN_USE ), + DEF_VALS1(MQRCCF_UNKNOWN_FILE_NAME ), + DEF_VALS1(MQRCCF_FILE_NOT_AVAILABLE ), + DEF_VALS1(MQRCCF_DISC_RETRY_ERROR ), + DEF_VALS1(MQRCCF_ALLOC_RETRY_ERROR ), + DEF_VALS1(MQRCCF_ALLOC_SLOW_TIMER_ERROR ), + DEF_VALS1(MQRCCF_ALLOC_FAST_TIMER_ERROR ), + DEF_VALS1(MQRCCF_PORT_NUMBER_ERROR ), + DEF_VALS1(MQRCCF_CHL_SYSTEM_NOT_ACTIVE ), + DEF_VALS1(MQRCCF_ENTITY_NAME_MISSING ), + DEF_VALS1(MQRCCF_PROFILE_NAME_ERROR ), + DEF_VALS1(MQRCCF_AUTH_VALUE_ERROR ), + DEF_VALS1(MQRCCF_AUTH_VALUE_MISSING ), + DEF_VALS1(MQRCCF_OBJECT_TYPE_MISSING ), + DEF_VALS1(MQRCCF_CONNECTION_ID_ERROR ), + DEF_VALS1(MQRCCF_LOG_TYPE_ERROR ), + DEF_VALS1(MQRCCF_PROGRAM_NOT_AVAILABLE ), + DEF_VALS1(MQRCCF_PROGRAM_AUTH_FAILED ), + DEF_VALS1(MQRCCF_NONE_FOUND ), + DEF_VALS1(MQRCCF_SECURITY_SWITCH_OFF ), + DEF_VALS1(MQRCCF_SECURITY_REFRESH_FAILED ), + DEF_VALS1(MQRCCF_PARM_CONFLICT ), + DEF_VALS1(MQRCCF_COMMAND_INHIBITED ), + DEF_VALS1(MQRCCF_OBJECT_BEING_DELETED ), + DEF_VALS1(MQRCCF_STORAGE_CLASS_IN_USE ), + DEF_VALS1(MQRCCF_OBJECT_NAME_RESTRICTED ), + DEF_VALS1(MQRCCF_OBJECT_LIMIT_EXCEEDED ), + DEF_VALS1(MQRCCF_OBJECT_OPEN_FORCE ), + DEF_VALS1(MQRCCF_DISPOSITION_CONFLICT ), + DEF_VALS1(MQRCCF_Q_MGR_NOT_IN_QSG ), + DEF_VALS1(MQRCCF_ATTR_VALUE_FIXED ), + DEF_VALS1(MQRCCF_NAMELIST_ERROR ), + DEF_VALS1(MQRCCF_NO_CHANNEL_INITIATOR ), + DEF_VALS1(MQRCCF_CHANNEL_INITIATOR_ERROR ), + DEF_VALS1(MQRCCF_COMMAND_LEVEL_CONFLICT ), + DEF_VALS1(MQRCCF_Q_ATTR_CONFLICT ), + DEF_VALS1(MQRCCF_EVENTS_DISABLED ), + DEF_VALS1(MQRCCF_COMMAND_SCOPE_ERROR ), + DEF_VALS1(MQRCCF_COMMAND_REPLY_ERROR ), + DEF_VALS1(MQRCCF_FUNCTION_RESTRICTED ), + DEF_VALS1(MQRCCF_PARM_MISSING ), + DEF_VALS1(MQRCCF_PARM_VALUE_ERROR ), + DEF_VALS1(MQRCCF_COMMAND_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_COMMAND_ORIGIN_ERROR ), + DEF_VALS1(MQRCCF_LISTENER_CONFLICT ), + DEF_VALS1(MQRCCF_LISTENER_STARTED ), + DEF_VALS1(MQRCCF_LISTENER_STOPPED ), + DEF_VALS1(MQRCCF_CHANNEL_ERROR ), + DEF_VALS1(MQRCCF_CF_STRUC_ERROR ), + DEF_VALS1(MQRCCF_UNKNOWN_USER_ID ), + DEF_VALS1(MQRCCF_UNEXPECTED_ERROR ), + DEF_VALS1(MQRCCF_NO_XCF_PARTNER ), + DEF_VALS1(MQRCCF_CFGR_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CFIF_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFIF_OPERATOR_ERROR ), + DEF_VALS1(MQRCCF_CFIF_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CFSF_FILTER_VAL_LEN_ERR ), + DEF_VALS1(MQRCCF_CFSF_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFSF_OPERATOR_ERROR ), + DEF_VALS1(MQRCCF_CFSF_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_TOO_MANY_FILTERS ), + DEF_VALS1(MQRCCF_LISTENER_RUNNING ), + DEF_VALS1(MQRCCF_LSTR_STATUS_NOT_FOUND ), + DEF_VALS1(MQRCCF_SERVICE_RUNNING ), + DEF_VALS1(MQRCCF_SERV_STATUS_NOT_FOUND ), + DEF_VALS1(MQRCCF_SERVICE_STOPPED ), + DEF_VALS1(MQRCCF_CFBS_DUPLICATE_PARM ), + DEF_VALS1(MQRCCF_CFBS_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFBS_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CFBS_STRING_LENGTH_ERR ), + DEF_VALS1(MQRCCF_CFGR_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFGR_PARM_COUNT_ERROR ), + DEF_VALS1(MQRCCF_CONN_NOT_STOPPED ), + DEF_VALS1(MQRCCF_SERVICE_REQUEST_PENDING ), + DEF_VALS1(MQRCCF_NO_START_CMD ), + DEF_VALS1(MQRCCF_NO_STOP_CMD ), + DEF_VALS1(MQRCCF_CFBF_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFBF_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CFBF_OPERATOR_ERROR ), + DEF_VALS1(MQRCCF_CFBF_FILTER_VAL_LEN_ERR ), + DEF_VALS1(MQRCCF_LISTENER_STILL_ACTIVE ), + DEF_VALS1(MQRCCF_TOPICSTR_ALREADY_EXISTS ), + DEF_VALS1(MQRCCF_SHARING_CONVS_ERROR ), + DEF_VALS1(MQRCCF_SHARING_CONVS_TYPE ), + DEF_VALS1(MQRCCF_SECURITY_CASE_CONFLICT ), + DEF_VALS1(MQRCCF_TOPIC_TYPE_ERROR ), + DEF_VALS1(MQRCCF_MAX_INSTANCES_ERROR ), + DEF_VALS1(MQRCCF_MAX_INSTS_PER_CLNT_ERR ), + DEF_VALS1(MQRCCF_TOPIC_STRING_NOT_FOUND ), + DEF_VALS1(MQRCCF_SUBSCRIPTION_POINT_ERR ), + DEF_VALS1(MQRCCF_SUB_ALREADY_EXISTS ), + DEF_VALS1(MQRCCF_UNKNOWN_OBJECT_NAME ), + DEF_VALS1(MQRCCF_REMOTE_Q_NAME_ERROR ), + DEF_VALS1(MQRCCF_DURABILITY_NOT_ALLOWED ), + DEF_VALS1(MQRCCF_HOBJ_ERROR ), + DEF_VALS1(MQRCCF_DEST_NAME_ERROR ), + DEF_VALS1(MQRCCF_INVALID_DESTINATION ), + DEF_VALS1(MQRCCF_PUBSUB_INHIBITED ), + DEF_VALS1(MQRCCF_GROUPUR_CHECKS_FAILED ), + DEF_VALS1(MQRCCF_SSL_ALT_PROVIDER_REQD ), + DEF_VALS1(MQRCCF_OBJECT_ALREADY_EXISTS ), + DEF_VALS1(MQRCCF_OBJECT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_LIKE_OBJECT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_OBJECT_OPEN ), + DEF_VALS1(MQRCCF_ATTR_VALUE_ERROR ), + DEF_VALS1(MQRCCF_UNKNOWN_Q_MGR ), + DEF_VALS1(MQRCCF_Q_WRONG_TYPE ), + DEF_VALS1(MQRCCF_OBJECT_NAME_ERROR ), + DEF_VALS1(MQRCCF_ALLOCATE_FAILED ), + DEF_VALS1(MQRCCF_HOST_NOT_AVAILABLE ), + DEF_VALS1(MQRCCF_CONFIGURATION_ERROR ), + DEF_VALS1(MQRCCF_CONNECTION_REFUSED ), + DEF_VALS1(MQRCCF_ENTRY_ERROR ), + DEF_VALS1(MQRCCF_SEND_FAILED ), + DEF_VALS1(MQRCCF_RECEIVED_DATA_ERROR ), + DEF_VALS1(MQRCCF_RECEIVE_FAILED ), + DEF_VALS1(MQRCCF_CONNECTION_CLOSED ), + DEF_VALS1(MQRCCF_NO_STORAGE ), + DEF_VALS1(MQRCCF_NO_COMMS_MANAGER ), + DEF_VALS1(MQRCCF_LISTENER_NOT_STARTED ), + DEF_VALS1(MQRCCF_BIND_FAILED ), + DEF_VALS1(MQRCCF_CHANNEL_INDOUBT ), + DEF_VALS1(MQRCCF_MQCONN_FAILED ), + DEF_VALS1(MQRCCF_MQOPEN_FAILED ), + DEF_VALS1(MQRCCF_MQGET_FAILED ), + DEF_VALS1(MQRCCF_MQPUT_FAILED ), + DEF_VALS1(MQRCCF_PING_ERROR ), + DEF_VALS1(MQRCCF_CHANNEL_IN_USE ), + DEF_VALS1(MQRCCF_CHANNEL_NOT_FOUND ), + DEF_VALS1(MQRCCF_UNKNOWN_REMOTE_CHANNEL ), + DEF_VALS1(MQRCCF_REMOTE_QM_UNAVAILABLE ), + DEF_VALS1(MQRCCF_REMOTE_QM_TERMINATING ), + DEF_VALS1(MQRCCF_MQINQ_FAILED ), + DEF_VALS1(MQRCCF_NOT_XMIT_Q ), + DEF_VALS1(MQRCCF_CHANNEL_DISABLED ), + DEF_VALS1(MQRCCF_USER_EXIT_NOT_AVAILABLE ), + DEF_VALS1(MQRCCF_COMMIT_FAILED ), + DEF_VALS1(MQRCCF_WRONG_CHANNEL_TYPE ), + DEF_VALS1(MQRCCF_CHANNEL_ALREADY_EXISTS ), + DEF_VALS1(MQRCCF_DATA_TOO_LARGE ), + DEF_VALS1(MQRCCF_CHANNEL_NAME_ERROR ), + DEF_VALS1(MQRCCF_XMIT_Q_NAME_ERROR ), + DEF_VALS1(MQRCCF_MCA_NAME_ERROR ), + DEF_VALS1(MQRCCF_SEND_EXIT_NAME_ERROR ), + DEF_VALS1(MQRCCF_SEC_EXIT_NAME_ERROR ), + DEF_VALS1(MQRCCF_MSG_EXIT_NAME_ERROR ), + DEF_VALS1(MQRCCF_RCV_EXIT_NAME_ERROR ), + DEF_VALS1(MQRCCF_XMIT_Q_NAME_WRONG_TYPE ), + DEF_VALS1(MQRCCF_MCA_NAME_WRONG_TYPE ), + DEF_VALS1(MQRCCF_DISC_INT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_SHORT_RETRY_WRONG_TYPE ), + DEF_VALS1(MQRCCF_SHORT_TIMER_WRONG_TYPE ), + DEF_VALS1(MQRCCF_LONG_RETRY_WRONG_TYPE ), + DEF_VALS1(MQRCCF_LONG_TIMER_WRONG_TYPE ), + DEF_VALS1(MQRCCF_PUT_AUTH_WRONG_TYPE ), + DEF_VALS1(MQRCCF_KEEP_ALIVE_INT_ERROR ), + DEF_VALS1(MQRCCF_MISSING_CONN_NAME ), + DEF_VALS1(MQRCCF_CONN_NAME_ERROR ), + DEF_VALS1(MQRCCF_MQSET_FAILED ), + DEF_VALS1(MQRCCF_CHANNEL_NOT_ACTIVE ), + DEF_VALS1(MQRCCF_TERMINATED_BY_SEC_EXIT ), + DEF_VALS1(MQRCCF_DYNAMIC_Q_SCOPE_ERROR ), + DEF_VALS1(MQRCCF_CELL_DIR_NOT_AVAILABLE ), + DEF_VALS1(MQRCCF_MR_COUNT_ERROR ), + DEF_VALS1(MQRCCF_MR_COUNT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_MR_EXIT_NAME_ERROR ), + DEF_VALS1(MQRCCF_MR_EXIT_NAME_WRONG_TYPE ), + DEF_VALS1(MQRCCF_MR_INTERVAL_ERROR ), + DEF_VALS1(MQRCCF_MR_INTERVAL_WRONG_TYPE ), + DEF_VALS1(MQRCCF_NPM_SPEED_ERROR ), + DEF_VALS1(MQRCCF_NPM_SPEED_WRONG_TYPE ), + DEF_VALS1(MQRCCF_HB_INTERVAL_ERROR ), + DEF_VALS1(MQRCCF_HB_INTERVAL_WRONG_TYPE ), + DEF_VALS1(MQRCCF_CHAD_ERROR ), + DEF_VALS1(MQRCCF_CHAD_WRONG_TYPE ), + DEF_VALS1(MQRCCF_CHAD_EVENT_ERROR ), + DEF_VALS1(MQRCCF_CHAD_EVENT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_CHAD_EXIT_ERROR ), + DEF_VALS1(MQRCCF_CHAD_EXIT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_SUPPRESSED_BY_EXIT ), + DEF_VALS1(MQRCCF_BATCH_INT_ERROR ), + DEF_VALS1(MQRCCF_BATCH_INT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_NET_PRIORITY_ERROR ), + DEF_VALS1(MQRCCF_NET_PRIORITY_WRONG_TYPE ), + DEF_VALS1(MQRCCF_CHANNEL_CLOSED ), + DEF_VALS1(MQRCCF_Q_STATUS_NOT_FOUND ), + DEF_VALS1(MQRCCF_SSL_CIPHER_SPEC_ERROR ), + DEF_VALS1(MQRCCF_SSL_PEER_NAME_ERROR ), + DEF_VALS1(MQRCCF_SSL_CLIENT_AUTH_ERROR ), + DEF_VALS1(MQRCCF_RETAINED_NOT_SUPPORTED ), + + DEF_VALS1(MQRC_REOPEN_EXCL_INPUT_ERROR ), + DEF_VALS1(MQRC_REOPEN_INQUIRE_ERROR ), + DEF_VALS1(MQRC_REOPEN_SAVED_CONTEXT_ERR ), + DEF_VALS1(MQRC_REOPEN_TEMPORARY_Q_ERROR ), + DEF_VALS1(MQRC_ATTRIBUTE_LOCKED ), + DEF_VALS1(MQRC_CURSOR_NOT_VALID ), + DEF_VALS1(MQRC_ENCODING_ERROR ), + DEF_VALS1(MQRC_STRUC_ID_ERROR ), + DEF_VALS1(MQRC_NULL_POINTER ), + DEF_VALS1(MQRC_NO_CONNECTION_REFERENCE ), + DEF_VALS1(MQRC_NO_BUFFER ), + DEF_VALS1(MQRC_BINARY_DATA_LENGTH_ERROR ), + DEF_VALS1(MQRC_BUFFER_NOT_AUTOMATIC ), + DEF_VALS1(MQRC_INSUFFICIENT_BUFFER ), + DEF_VALS1(MQRC_INSUFFICIENT_DATA ), + DEF_VALS1(MQRC_DATA_TRUNCATED ), + DEF_VALS1(MQRC_ZERO_LENGTH ), + DEF_VALS1(MQRC_NEGATIVE_LENGTH ), + DEF_VALS1(MQRC_NEGATIVE_OFFSET ), + DEF_VALS1(MQRC_INCONSISTENT_FORMAT ), + DEF_VALS1(MQRC_INCONSISTENT_OBJECT_STATE ), + DEF_VALS1(MQRC_CONTEXT_OBJECT_NOT_VALID ), + DEF_VALS1(MQRC_CONTEXT_OPEN_ERROR ), + DEF_VALS1(MQRC_STRUC_LENGTH_ERROR ), + DEF_VALS1(MQRC_NOT_CONNECTED ), + DEF_VALS1(MQRC_NOT_OPEN ), + DEF_VALS1(MQRC_DISTRIBUTION_LIST_EMPTY ), + DEF_VALS1(MQRC_INCONSISTENT_OPEN_OPTIONS ), + DEF_VALS1(MQRC_WRONG_VERSION ), + DEF_VALS1(MQRC_REFERENCE_ERROR ), +DEF_VALSE; + +DEF_VALSB(selector) + DEF_VALS1(MQIA_APPL_TYPE ), + DEF_VALS1(MQIA_CODED_CHAR_SET_ID ), + DEF_VALS1(MQIA_CURRENT_Q_DEPTH ), + DEF_VALS1(MQIA_DEF_INPUT_OPEN_OPTION ), + DEF_VALS1(MQIA_DEF_PERSISTENCE ), + DEF_VALS1(MQIA_DEF_PRIORITY ), + DEF_VALS1(MQIA_DEFINITION_TYPE ), + DEF_VALS1(MQIA_HARDEN_GET_BACKOUT ), + DEF_VALS1(MQIA_INHIBIT_GET ), + DEF_VALS1(MQIA_INHIBIT_PUT ), + DEF_VALS1(MQIA_MAX_HANDLES ), + DEF_VALS1(MQIA_USAGE ), + DEF_VALS1(MQIA_MAX_MSG_LENGTH ), + DEF_VALS1(MQIA_MAX_PRIORITY ), + DEF_VALS1(MQIA_MAX_Q_DEPTH ), + DEF_VALS1(MQIA_MSG_DELIVERY_SEQUENCE ), + DEF_VALS1(MQIA_OPEN_INPUT_COUNT ), + DEF_VALS1(MQIA_OPEN_OUTPUT_COUNT ), + DEF_VALS1(MQIA_NAME_COUNT ), + DEF_VALS1(MQIA_Q_TYPE ), + DEF_VALS1(MQIA_RETENTION_INTERVAL ), + DEF_VALS1(MQIA_BACKOUT_THRESHOLD ), + DEF_VALS1(MQIA_SHAREABILITY ), + DEF_VALS1(MQIA_TRIGGER_CONTROL ), + DEF_VALS1(MQIA_TRIGGER_INTERVAL ), + DEF_VALS1(MQIA_TRIGGER_MSG_PRIORITY ), + DEF_VALS1(MQIA_CPI_LEVEL ), + DEF_VALS1(MQIA_TRIGGER_TYPE ), + DEF_VALS1(MQIA_TRIGGER_DEPTH ), + DEF_VALS1(MQIA_SYNCPOINT ), + DEF_VALS1(MQIA_COMMAND_LEVEL ), + DEF_VALS1(MQIA_PLATFORM ), + DEF_VALS1(MQIA_MAX_UNCOMMITTED_MSGS ), + DEF_VALS1(MQIA_DIST_LISTS ), + DEF_VALS1(MQIA_TIME_SINCE_RESET ), + DEF_VALS1(MQIA_HIGH_Q_DEPTH ), + DEF_VALS1(MQIA_MSG_ENQ_COUNT ), + DEF_VALS1(MQIA_MSG_DEQ_COUNT ), + DEF_VALS1(MQIA_EXPIRY_INTERVAL ), + DEF_VALS1(MQIA_Q_DEPTH_HIGH_LIMIT ), + DEF_VALS1(MQIA_Q_DEPTH_LOW_LIMIT ), + DEF_VALS1(MQIA_Q_DEPTH_MAX_EVENT ), + DEF_VALS1(MQIA_Q_DEPTH_HIGH_EVENT ), + DEF_VALS1(MQIA_Q_DEPTH_LOW_EVENT ), + DEF_VALS1(MQIA_SCOPE ), + DEF_VALS1(MQIA_Q_SERVICE_INTERVAL_EVENT ), + DEF_VALS1(MQIA_AUTHORITY_EVENT ), + DEF_VALS1(MQIA_INHIBIT_EVENT ), + DEF_VALS1(MQIA_LOCAL_EVENT ), + DEF_VALS1(MQIA_REMOTE_EVENT ), + DEF_VALS1(MQIA_CONFIGURATION_EVENT ), + DEF_VALS1(MQIA_START_STOP_EVENT ), + DEF_VALS1(MQIA_PERFORMANCE_EVENT ), + DEF_VALS1(MQIA_Q_SERVICE_INTERVAL ), + DEF_VALS1(MQIA_CHANNEL_AUTO_DEF ), + DEF_VALS1(MQIA_CHANNEL_AUTO_DEF_EVENT ), + DEF_VALS1(MQIA_INDEX_TYPE ), + DEF_VALS1(MQIA_CLUSTER_WORKLOAD_LENGTH ), + DEF_VALS1(MQIA_CLUSTER_Q_TYPE ), + DEF_VALS1(MQIA_ARCHIVE ), + DEF_VALS1(MQIA_DEF_BIND ), + DEF_VALS1(MQIA_PAGESET_ID ), + DEF_VALS1(MQIA_QSG_DISP ), + DEF_VALS1(MQIA_INTRA_GROUP_QUEUING ), + DEF_VALS1(MQIA_IGQ_PUT_AUTHORITY ), + DEF_VALS1(MQIA_AUTH_INFO_TYPE ), + DEF_VALS1(MQIA_MSG_MARK_BROWSE_INTERVAL ), + DEF_VALS1(MQIA_SSL_TASKS ), + DEF_VALS1(MQIA_CF_LEVEL ), + DEF_VALS1(MQIA_CF_RECOVER ), + DEF_VALS1(MQIA_NAMELIST_TYPE ), + DEF_VALS1(MQIA_CHANNEL_EVENT ), + DEF_VALS1(MQIA_BRIDGE_EVENT ), + DEF_VALS1(MQIA_SSL_EVENT ), + DEF_VALS1(MQIA_SSL_RESET_COUNT ), + DEF_VALS1(MQIA_SHARED_Q_Q_MGR_NAME ), + DEF_VALS1(MQIA_NPM_CLASS ), + DEF_VALS1(MQIA_MAX_OPEN_Q ), + DEF_VALS1(MQIA_MONITOR_INTERVAL ), + DEF_VALS1(MQIA_Q_USERS ), + DEF_VALS1(MQIA_MAX_GLOBAL_LOCKS ), + DEF_VALS1(MQIA_MAX_LOCAL_LOCKS ), + DEF_VALS1(MQIA_LISTENER_PORT_NUMBER ), + DEF_VALS1(MQIA_BATCH_INTERFACE_AUTO ), + DEF_VALS1(MQIA_CMD_SERVER_AUTO ), + DEF_VALS1(MQIA_CMD_SERVER_CONVERT_MSG ), + DEF_VALS1(MQIA_CMD_SERVER_DLQ_MSG ), + DEF_VALS1(MQIA_MAX_Q_TRIGGERS ), + DEF_VALS1(MQIA_TRIGGER_RESTART ), + DEF_VALS1(MQIA_SSL_FIPS_REQUIRED ), + DEF_VALS1(MQIA_IP_ADDRESS_VERSION ), + DEF_VALS1(MQIA_LOGGER_EVENT ), + DEF_VALS1(MQIA_CLWL_Q_RANK ), + DEF_VALS1(MQIA_CLWL_Q_PRIORITY ), + DEF_VALS1(MQIA_CLWL_MRU_CHANNELS ), + DEF_VALS1(MQIA_CLWL_USEQ ), + DEF_VALS1(MQIA_COMMAND_EVENT ), + DEF_VALS1(MQIA_ACTIVE_CHANNELS ), + DEF_VALS1(MQIA_CHINIT_ADAPTERS ), + DEF_VALS1(MQIA_ADOPTNEWMCA_CHECK ), + DEF_VALS1(MQIA_ADOPTNEWMCA_TYPE ), + DEF_VALS1(MQIA_ADOPTNEWMCA_INTERVAL ), + DEF_VALS1(MQIA_CHINIT_DISPATCHERS ), + DEF_VALS1(MQIA_DNS_WLM ), + DEF_VALS1(MQIA_LISTENER_TIMER ), + DEF_VALS1(MQIA_LU62_CHANNELS ), + DEF_VALS1(MQIA_MAX_CHANNELS ), + DEF_VALS1(MQIA_OUTBOUND_PORT_MIN ), + DEF_VALS1(MQIA_RECEIVE_TIMEOUT ), + DEF_VALS1(MQIA_RECEIVE_TIMEOUT_TYPE ), + DEF_VALS1(MQIA_RECEIVE_TIMEOUT_MIN ), + DEF_VALS1(MQIA_TCP_CHANNELS ), + DEF_VALS1(MQIA_TCP_KEEP_ALIVE ), + DEF_VALS1(MQIA_TCP_STACK_TYPE ), + DEF_VALS1(MQIA_CHINIT_TRACE_AUTO_START ), + DEF_VALS1(MQIA_CHINIT_TRACE_TABLE_SIZE ), + DEF_VALS1(MQIA_CHINIT_CONTROL ), + DEF_VALS1(MQIA_CMD_SERVER_CONTROL ), + DEF_VALS1(MQIA_SERVICE_TYPE ), + DEF_VALS1(MQIA_MONITORING_CHANNEL ), + DEF_VALS1(MQIA_MONITORING_Q ), + DEF_VALS1(MQIA_MONITORING_AUTO_CLUSSDR ), + DEF_VALS1(MQIA_STATISTICS_MQI ), + DEF_VALS1(MQIA_STATISTICS_Q ), + DEF_VALS1(MQIA_STATISTICS_CHANNEL ), + DEF_VALS1(MQIA_STATISTICS_AUTO_CLUSSDR ), + DEF_VALS1(MQIA_STATISTICS_INTERVAL ), + DEF_VALS1(MQIA_ACCOUNTING_MQI ), + DEF_VALS1(MQIA_ACCOUNTING_Q ), + DEF_VALS1(MQIA_ACCOUNTING_INTERVAL ), + DEF_VALS1(MQIA_ACCOUNTING_CONN_OVERRIDE ), + DEF_VALS1(MQIA_TRACE_ROUTE_RECORDING ), + DEF_VALS1(MQIA_ACTIVITY_RECORDING ), + DEF_VALS1(MQIA_SERVICE_CONTROL ), + DEF_VALS1(MQIA_OUTBOUND_PORT_MAX ), + DEF_VALS1(MQIA_SECURITY_CASE ), + DEF_VALS1(MQIA_QMOPT_CSMT_ON_ERROR ), + DEF_VALS1(MQIA_QMOPT_CONS_INFO_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_WARNING_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_ERROR_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_CRITICAL_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_COMMS_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_REORG_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_SYSTEM_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_INFO_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_WARNING_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_ERROR_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_CRITICAL_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_COMMS_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_REORG_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_SYSTEM_MSGS ), + DEF_VALS1(MQIA_QMOPT_TRACE_MQI_CALLS ), + DEF_VALS1(MQIA_QMOPT_TRACE_COMMS ), + DEF_VALS1(MQIA_QMOPT_TRACE_REORG ), + DEF_VALS1(MQIA_QMOPT_TRACE_CONVERSION ), + DEF_VALS1(MQIA_QMOPT_TRACE_SYSTEM ), + DEF_VALS1(MQIA_QMOPT_INTERNAL_DUMP ), + DEF_VALS1(MQIA_MAX_RECOVERY_TASKS ), + DEF_VALS1(MQIA_MAX_CLIENTS ), + DEF_VALS1(MQIA_AUTO_REORGANIZATION ), + DEF_VALS1(MQIA_AUTO_REORG_INTERVAL ), + DEF_VALS1(MQIA_DURABLE_SUB ), + DEF_VALS1(MQIA_MULTICAST ), + DEF_VALS1(MQIA_INHIBIT_PUB ), + DEF_VALS1(MQIA_INHIBIT_SUB ), + DEF_VALS1(MQIA_TREE_LIFE_TIME ), + DEF_VALS1(MQIA_DEF_PUT_RESPONSE_TYPE ), + DEF_VALS1(MQIA_TOPIC_DEF_PERSISTENCE ), + DEF_VALS1(MQIA_MASTER_ADMIN ), + DEF_VALS1(MQIA_PUBSUB_MODE ), + DEF_VALS1(MQIA_DEF_READ_AHEAD ), + DEF_VALS1(MQIA_READ_AHEAD ), + DEF_VALS1(MQIA_PROPERTY_CONTROL ), + DEF_VALS1(MQIA_MAX_PROPERTIES_LENGTH ), + DEF_VALS1(MQIA_BASE_TYPE ), + DEF_VALS1(MQIA_PM_DELIVERY ), + DEF_VALS1(MQIA_NPM_DELIVERY ), + DEF_VALS1(MQIA_PROXY_SUB ), + DEF_VALS1(MQIA_PUBSUB_NP_MSG ), + DEF_VALS1(MQIA_SUB_COUNT ), + DEF_VALS1(MQIA_PUBSUB_NP_RESP ), + DEF_VALS1(MQIA_PUBSUB_MAXMSG_RETRY_COUNT ), + DEF_VALS1(MQIA_PUBSUB_SYNC_PT ), + DEF_VALS1(MQIA_TOPIC_TYPE ), + DEF_VALS1(MQIA_PUB_COUNT ), + DEF_VALS1(MQIA_WILDCARD_OPERATION ), + DEF_VALS1(MQIA_SUB_SCOPE ), + DEF_VALS1(MQIA_PUB_SCOPE ), + DEF_VALS1(MQIA_GROUP_UR ), + DEF_VALS1(MQIA_UR_DISP ), + DEF_VALS1(MQIA_COMM_INFO_TYPE ), + DEF_VALS1(MQIA_CF_OFFLOAD ), + DEF_VALS1(MQIA_CF_OFFLOAD_THRESHOLD1 ), + DEF_VALS1(MQIA_CF_OFFLOAD_THRESHOLD2 ), + DEF_VALS1(MQIA_CF_OFFLOAD_THRESHOLD3 ), + DEF_VALS1(MQIA_CF_SMDS_BUFFERS ), + DEF_VALS1(MQIA_CF_OFFLDUSE ), + DEF_VALS1(MQIA_MAX_RESPONSES ), + DEF_VALS1(MQIA_RESPONSE_RESTART_POINT ), + DEF_VALS1(MQIA_COMM_EVENT ), + DEF_VALS1(MQIA_MCAST_BRIDGE ), + DEF_VALS1(MQIA_USE_DEAD_LETTER_Q ), + DEF_VALS1(MQIA_TOLERATE_UNPROTECTED ), + DEF_VALS1(MQIA_SIGNATURE_ALGORITHM ), + DEF_VALS1(MQIA_ENCRYPTION_ALGORITHM ), + DEF_VALS1(MQIA_POLICY_VERSION ), + DEF_VALS1(MQIA_ACTIVITY_CONN_OVERRIDE ), + DEF_VALS1(MQIA_ACTIVITY_TRACE ), + DEF_VALS1(MQIA_SUB_CONFIGURATION_EVENT ), + DEF_VALS1(MQIA_XR_CAPABILITY ), + DEF_VALS1(MQIA_CF_RECAUTO ), + DEF_VALS1(MQIA_QMGR_CFCONLOS ), + DEF_VALS1(MQIA_CF_CFCONLOS ), + DEF_VALS1(MQIA_SUITE_B_STRENGTH ), + DEF_VALS1(MQIA_CHLAUTH_RECORDS ), + DEF_VALS1(MQIA_PUBSUB_CLUSTER ), + DEF_VALS1(MQIA_DEF_CLUSTER_XMIT_Q_TYPE ), + DEF_VALS1(MQIA_PROT_POLICY_CAPABILITY ), + DEF_VALS1(MQIA_CERT_VAL_POLICY ), + DEF_VALS1(MQIA_USER_LIST ), + DEF_VALS1(MQCA_APPL_ID ), + DEF_VALS1(MQCA_BASE_Q_NAME ), + DEF_VALS1(MQCA_BASE_OBJECT_NAME ), + DEF_VALS1(MQCA_COMMAND_INPUT_Q_NAME ), + DEF_VALS1(MQCA_CREATION_DATE ), + DEF_VALS1(MQCA_CREATION_TIME ), + DEF_VALS1(MQCA_DEAD_LETTER_Q_NAME ), + DEF_VALS1(MQCA_ENV_DATA ), + DEF_VALS1(MQCA_INITIATION_Q_NAME ), + DEF_VALS1(MQCA_NAMELIST_DESC ), + DEF_VALS1(MQCA_NAMELIST_NAME ), + DEF_VALS1(MQCA_PROCESS_DESC ), + DEF_VALS1(MQCA_PROCESS_NAME ), + DEF_VALS1(MQCA_Q_DESC ), + DEF_VALS1(MQCA_Q_MGR_DESC ), + DEF_VALS1(MQCA_Q_MGR_NAME ), + DEF_VALS1(MQCA_Q_NAME ), + DEF_VALS1(MQCA_REMOTE_Q_MGR_NAME ), + DEF_VALS1(MQCA_REMOTE_Q_NAME ), + DEF_VALS1(MQCA_BACKOUT_REQ_Q_NAME ), + DEF_VALS1(MQCA_NAMES ), + DEF_VALS1(MQCA_USER_DATA ), + DEF_VALS1(MQCA_STORAGE_CLASS ), + DEF_VALS1(MQCA_TRIGGER_DATA ), + DEF_VALS1(MQCA_XMIT_Q_NAME ), + DEF_VALS1(MQCA_DEF_XMIT_Q_NAME ), + DEF_VALS1(MQCA_CHANNEL_AUTO_DEF_EXIT ), + DEF_VALS1(MQCA_ALTERATION_DATE ), + DEF_VALS1(MQCA_ALTERATION_TIME ), + DEF_VALS1(MQCA_CLUSTER_NAME ), + DEF_VALS1(MQCA_CLUSTER_NAMELIST ), + DEF_VALS1(MQCA_CLUSTER_Q_MGR_NAME ), + DEF_VALS1(MQCA_Q_MGR_IDENTIFIER ), + DEF_VALS1(MQCA_CLUSTER_WORKLOAD_EXIT ), + DEF_VALS1(MQCA_CLUSTER_WORKLOAD_DATA ), + DEF_VALS1(MQCA_REPOSITORY_NAME ), + DEF_VALS1(MQCA_REPOSITORY_NAMELIST ), + DEF_VALS1(MQCA_CLUSTER_DATE ), + DEF_VALS1(MQCA_CLUSTER_TIME ), + DEF_VALS1(MQCA_CF_STRUC_NAME ), + DEF_VALS1(MQCA_QSG_NAME ), + DEF_VALS1(MQCA_IGQ_USER_ID ), + DEF_VALS1(MQCA_STORAGE_CLASS_DESC ), + DEF_VALS1(MQCA_XCF_GROUP_NAME ), + DEF_VALS1(MQCA_XCF_MEMBER_NAME ), + DEF_VALS1(MQCA_AUTH_INFO_NAME ), + DEF_VALS1(MQCA_AUTH_INFO_DESC ), + DEF_VALS1(MQCA_LDAP_USER_NAME ), + DEF_VALS1(MQCA_LDAP_PASSWORD ), + DEF_VALS1(MQCA_SSL_KEY_REPOSITORY ), + DEF_VALS1(MQCA_SSL_CRL_NAMELIST ), + DEF_VALS1(MQCA_SSL_CRYPTO_HARDWARE ), + DEF_VALS1(MQCA_CF_STRUC_DESC ), + DEF_VALS1(MQCA_AUTH_INFO_CONN_NAME ), + DEF_VALS1(MQCA_CICS_FILE_NAME ), + DEF_VALS1(MQCA_TRIGGER_TRANS_ID ), + DEF_VALS1(MQCA_TRIGGER_PROGRAM_NAME ), + DEF_VALS1(MQCA_TRIGGER_TERM_ID ), + DEF_VALS1(MQCA_TRIGGER_CHANNEL_NAME ), + DEF_VALS1(MQCA_SYSTEM_LOG_Q_NAME ), + DEF_VALS1(MQCA_MONITOR_Q_NAME ), + DEF_VALS1(MQCA_COMMAND_REPLY_Q_NAME ), + DEF_VALS1(MQCA_BATCH_INTERFACE_ID ), + DEF_VALS1(MQCA_SSL_KEY_LIBRARY ), + DEF_VALS1(MQCA_SSL_KEY_MEMBER ), + DEF_VALS1(MQCA_DNS_GROUP ), + DEF_VALS1(MQCA_LU_GROUP_NAME ), + DEF_VALS1(MQCA_LU_NAME ), + DEF_VALS1(MQCA_LU62_ARM_SUFFIX ), + DEF_VALS1(MQCA_TCP_NAME ), + DEF_VALS1(MQCA_CHINIT_SERVICE_PARM ), + DEF_VALS1(MQCA_SERVICE_NAME ), + DEF_VALS1(MQCA_SERVICE_DESC ), + DEF_VALS1(MQCA_SERVICE_START_COMMAND ), + DEF_VALS1(MQCA_SERVICE_START_ARGS ), + DEF_VALS1(MQCA_SERVICE_STOP_COMMAND ), + DEF_VALS1(MQCA_SERVICE_STOP_ARGS ), + DEF_VALS1(MQCA_STDOUT_DESTINATION ), + DEF_VALS1(MQCA_STDERR_DESTINATION ), + DEF_VALS1(MQCA_TPIPE_NAME ), + DEF_VALS1(MQCA_PASS_TICKET_APPL ), + DEF_VALS1(MQCA_AUTO_REORG_START_TIME ), + DEF_VALS1(MQCA_AUTO_REORG_CATALOG ), + DEF_VALS1(MQCA_TOPIC_NAME ), + DEF_VALS1(MQCA_TOPIC_DESC ), + DEF_VALS1(MQCA_TOPIC_STRING ), + DEF_VALS1(MQCA_MODEL_DURABLE_Q ), + DEF_VALS1(MQCA_MODEL_NON_DURABLE_Q ), + DEF_VALS1(MQCA_RESUME_DATE ), + DEF_VALS1(MQCA_RESUME_TIME ), + DEF_VALS1(MQCA_CHILD ), + DEF_VALS1(MQCA_PARENT ), + DEF_VALS1(MQCA_ADMIN_TOPIC_NAME ), + DEF_VALS1(MQCA_TOPIC_STRING_FILTER ), + DEF_VALS1(MQCA_AUTH_INFO_OCSP_URL ), + DEF_VALS1(MQCA_COMM_INFO_NAME ), + DEF_VALS1(MQCA_COMM_INFO_DESC ), + DEF_VALS1(MQCA_POLICY_NAME ), + DEF_VALS1(MQCA_SIGNER_DN ), + DEF_VALS1(MQCA_RECIPIENT_DN ), + DEF_VALS1(MQCA_INSTALLATION_DESC ), + DEF_VALS1(MQCA_INSTALLATION_NAME ), + DEF_VALS1(MQCA_INSTALLATION_PATH ), + DEF_VALS1(MQCA_CHLAUTH_DESC ), + DEF_VALS1(MQCA_CUSTOM ), + DEF_VALS1(MQCA_VERSION ), + DEF_VALS1(MQCA_XR_VERSION ), + DEF_VALS1(MQCA_XR_SSL_CIPHER_SUITES ), + DEF_VALS1(MQCA_CLUS_CHL_NAME ), +DEF_VALSE; +DEF_VALSEXT(selector); + +DEF_VALSB(mqcmd) + DEF_VALS1(MQCMD_NONE ), + DEF_VALS1(MQCMD_CHANGE_Q_MGR ), + DEF_VALS1(MQCMD_INQUIRE_Q_MGR ), + DEF_VALS1(MQCMD_CHANGE_PROCESS ), + DEF_VALS1(MQCMD_COPY_PROCESS ), + DEF_VALS1(MQCMD_CREATE_PROCESS ), + DEF_VALS1(MQCMD_DELETE_PROCESS ), + DEF_VALS1(MQCMD_INQUIRE_PROCESS ), + DEF_VALS1(MQCMD_CHANGE_Q ), + DEF_VALS1(MQCMD_CLEAR_Q ), + DEF_VALS1(MQCMD_COPY_Q ), + DEF_VALS1(MQCMD_CREATE_Q ), + DEF_VALS1(MQCMD_DELETE_Q ), + DEF_VALS1(MQCMD_INQUIRE_Q ), + DEF_VALS1(MQCMD_REFRESH_Q_MGR ), + DEF_VALS1(MQCMD_RESET_Q_STATS ), + DEF_VALS1(MQCMD_INQUIRE_Q_NAMES ), + DEF_VALS1(MQCMD_INQUIRE_PROCESS_NAMES ), + DEF_VALS1(MQCMD_INQUIRE_CHANNEL_NAMES ), + DEF_VALS1(MQCMD_CHANGE_CHANNEL ), + DEF_VALS1(MQCMD_COPY_CHANNEL ), + DEF_VALS1(MQCMD_CREATE_CHANNEL ), + DEF_VALS1(MQCMD_DELETE_CHANNEL ), + DEF_VALS1(MQCMD_INQUIRE_CHANNEL ), + DEF_VALS1(MQCMD_PING_CHANNEL ), + DEF_VALS1(MQCMD_RESET_CHANNEL ), + DEF_VALS1(MQCMD_START_CHANNEL ), + DEF_VALS1(MQCMD_STOP_CHANNEL ), + DEF_VALS1(MQCMD_START_CHANNEL_INIT ), + DEF_VALS1(MQCMD_START_CHANNEL_LISTENER ), + DEF_VALS1(MQCMD_CHANGE_NAMELIST ), + DEF_VALS1(MQCMD_COPY_NAMELIST ), + DEF_VALS1(MQCMD_CREATE_NAMELIST ), + DEF_VALS1(MQCMD_DELETE_NAMELIST ), + DEF_VALS1(MQCMD_INQUIRE_NAMELIST ), + DEF_VALS1(MQCMD_INQUIRE_NAMELIST_NAMES ), + DEF_VALS1(MQCMD_ESCAPE ), + DEF_VALS1(MQCMD_RESOLVE_CHANNEL ), + DEF_VALS1(MQCMD_PING_Q_MGR ), + DEF_VALS1(MQCMD_INQUIRE_Q_STATUS ), + DEF_VALS1(MQCMD_INQUIRE_CHANNEL_STATUS ), + DEF_VALS1(MQCMD_CONFIG_EVENT ), + DEF_VALS1(MQCMD_Q_MGR_EVENT ), + DEF_VALS1(MQCMD_PERFM_EVENT ), + DEF_VALS1(MQCMD_CHANNEL_EVENT ), + DEF_VALS1(MQCMD_DELETE_PUBLICATION ), + DEF_VALS1(MQCMD_DEREGISTER_PUBLISHER ), + DEF_VALS1(MQCMD_DEREGISTER_SUBSCRIBER ), + DEF_VALS1(MQCMD_PUBLISH ), + DEF_VALS1(MQCMD_REGISTER_PUBLISHER ), + DEF_VALS1(MQCMD_REGISTER_SUBSCRIBER ), + DEF_VALS1(MQCMD_REQUEST_UPDATE ), + DEF_VALS1(MQCMD_BROKER_INTERNAL ), + DEF_VALS1(MQCMD_ACTIVITY_MSG ), + DEF_VALS1(MQCMD_INQUIRE_CLUSTER_Q_MGR ), + DEF_VALS1(MQCMD_RESUME_Q_MGR_CLUSTER ), + DEF_VALS1(MQCMD_SUSPEND_Q_MGR_CLUSTER ), + DEF_VALS1(MQCMD_REFRESH_CLUSTER ), + DEF_VALS1(MQCMD_RESET_CLUSTER ), + DEF_VALS1(MQCMD_TRACE_ROUTE ), + DEF_VALS1(MQCMD_REFRESH_SECURITY ), + DEF_VALS1(MQCMD_CHANGE_AUTH_INFO ), + DEF_VALS1(MQCMD_COPY_AUTH_INFO ), + DEF_VALS1(MQCMD_CREATE_AUTH_INFO ), + DEF_VALS1(MQCMD_DELETE_AUTH_INFO ), + DEF_VALS1(MQCMD_INQUIRE_AUTH_INFO ), + DEF_VALS1(MQCMD_INQUIRE_AUTH_INFO_NAMES ), + DEF_VALS1(MQCMD_INQUIRE_CONNECTION ), + DEF_VALS1(MQCMD_STOP_CONNECTION ), + DEF_VALS1(MQCMD_INQUIRE_AUTH_RECS ), + DEF_VALS1(MQCMD_INQUIRE_ENTITY_AUTH ), + DEF_VALS1(MQCMD_DELETE_AUTH_REC ), + DEF_VALS1(MQCMD_SET_AUTH_REC ), + DEF_VALS1(MQCMD_LOGGER_EVENT ), + DEF_VALS1(MQCMD_RESET_Q_MGR ), + DEF_VALS1(MQCMD_CHANGE_LISTENER ), + DEF_VALS1(MQCMD_COPY_LISTENER ), + DEF_VALS1(MQCMD_CREATE_LISTENER ), + DEF_VALS1(MQCMD_DELETE_LISTENER ), + DEF_VALS1(MQCMD_INQUIRE_LISTENER ), + DEF_VALS1(MQCMD_INQUIRE_LISTENER_STATUS ), + DEF_VALS1(MQCMD_COMMAND_EVENT ), + DEF_VALS1(MQCMD_CHANGE_SECURITY ), + DEF_VALS1(MQCMD_CHANGE_CF_STRUC ), + DEF_VALS1(MQCMD_CHANGE_STG_CLASS ), + DEF_VALS1(MQCMD_CHANGE_TRACE ), + DEF_VALS1(MQCMD_ARCHIVE_LOG ), + DEF_VALS1(MQCMD_BACKUP_CF_STRUC ), + DEF_VALS1(MQCMD_CREATE_BUFFER_POOL ), + DEF_VALS1(MQCMD_CREATE_PAGE_SET ), + DEF_VALS1(MQCMD_CREATE_CF_STRUC ), + DEF_VALS1(MQCMD_CREATE_STG_CLASS ), + DEF_VALS1(MQCMD_COPY_CF_STRUC ), + DEF_VALS1(MQCMD_COPY_STG_CLASS ), + DEF_VALS1(MQCMD_DELETE_CF_STRUC ), + DEF_VALS1(MQCMD_DELETE_STG_CLASS ), + DEF_VALS1(MQCMD_INQUIRE_ARCHIVE ), + DEF_VALS1(MQCMD_INQUIRE_CF_STRUC ), + DEF_VALS1(MQCMD_INQUIRE_CF_STRUC_STATUS ), + DEF_VALS1(MQCMD_INQUIRE_CMD_SERVER ), + DEF_VALS1(MQCMD_INQUIRE_CHANNEL_INIT ), + DEF_VALS1(MQCMD_INQUIRE_QSG ), + DEF_VALS1(MQCMD_INQUIRE_LOG ), + DEF_VALS1(MQCMD_INQUIRE_SECURITY ), + DEF_VALS1(MQCMD_INQUIRE_STG_CLASS ), + DEF_VALS1(MQCMD_INQUIRE_SYSTEM ), + DEF_VALS1(MQCMD_INQUIRE_THREAD ), + DEF_VALS1(MQCMD_INQUIRE_TRACE ), + DEF_VALS1(MQCMD_INQUIRE_USAGE ), + DEF_VALS1(MQCMD_MOVE_Q ), + DEF_VALS1(MQCMD_RECOVER_BSDS ), + DEF_VALS1(MQCMD_RECOVER_CF_STRUC ), + DEF_VALS1(MQCMD_RESET_TPIPE ), + DEF_VALS1(MQCMD_RESOLVE_INDOUBT ), + DEF_VALS1(MQCMD_RESUME_Q_MGR ), + DEF_VALS1(MQCMD_REVERIFY_SECURITY ), + DEF_VALS1(MQCMD_SET_ARCHIVE ), + DEF_VALS1(MQCMD_SET_LOG ), + DEF_VALS1(MQCMD_SET_SYSTEM ), + DEF_VALS1(MQCMD_START_CMD_SERVER ), + DEF_VALS1(MQCMD_START_Q_MGR ), + DEF_VALS1(MQCMD_START_TRACE ), + DEF_VALS1(MQCMD_STOP_CHANNEL_INIT ), + DEF_VALS1(MQCMD_STOP_CHANNEL_LISTENER ), + DEF_VALS1(MQCMD_STOP_CMD_SERVER ), + DEF_VALS1(MQCMD_STOP_Q_MGR ), + DEF_VALS1(MQCMD_STOP_TRACE ), + DEF_VALS1(MQCMD_SUSPEND_Q_MGR ), + DEF_VALS1(MQCMD_INQUIRE_CF_STRUC_NAMES ), + DEF_VALS1(MQCMD_INQUIRE_STG_CLASS_NAMES ), + DEF_VALS1(MQCMD_CHANGE_SERVICE ), + DEF_VALS1(MQCMD_COPY_SERVICE ), + DEF_VALS1(MQCMD_CREATE_SERVICE ), + DEF_VALS1(MQCMD_DELETE_SERVICE ), + DEF_VALS1(MQCMD_INQUIRE_SERVICE ), + DEF_VALS1(MQCMD_INQUIRE_SERVICE_STATUS ), + DEF_VALS1(MQCMD_START_SERVICE ), + DEF_VALS1(MQCMD_STOP_SERVICE ), + DEF_VALS1(MQCMD_DELETE_BUFFER_POOL ), + DEF_VALS1(MQCMD_DELETE_PAGE_SET ), + DEF_VALS1(MQCMD_CHANGE_BUFFER_POOL ), + DEF_VALS1(MQCMD_CHANGE_PAGE_SET ), + DEF_VALS1(MQCMD_INQUIRE_Q_MGR_STATUS ), + DEF_VALS1(MQCMD_CREATE_LOG ), + DEF_VALS1(MQCMD_STATISTICS_MQI ), + DEF_VALS1(MQCMD_STATISTICS_Q ), + DEF_VALS1(MQCMD_STATISTICS_CHANNEL ), + DEF_VALS1(MQCMD_ACCOUNTING_MQI ), + DEF_VALS1(MQCMD_ACCOUNTING_Q ), + DEF_VALS1(MQCMD_INQUIRE_AUTH_SERVICE ), + DEF_VALS1(MQCMD_CHANGE_TOPIC ), + DEF_VALS1(MQCMD_COPY_TOPIC ), + DEF_VALS1(MQCMD_CREATE_TOPIC ), + DEF_VALS1(MQCMD_DELETE_TOPIC ), + DEF_VALS1(MQCMD_INQUIRE_TOPIC ), + DEF_VALS1(MQCMD_INQUIRE_TOPIC_NAMES ), + DEF_VALS1(MQCMD_INQUIRE_SUBSCRIPTION ), + DEF_VALS1(MQCMD_CREATE_SUBSCRIPTION ), + DEF_VALS1(MQCMD_CHANGE_SUBSCRIPTION ), + DEF_VALS1(MQCMD_DELETE_SUBSCRIPTION ), + DEF_VALS1(MQCMD_COPY_SUBSCRIPTION ), + DEF_VALS1(MQCMD_INQUIRE_SUB_STATUS ), + DEF_VALS1(MQCMD_INQUIRE_TOPIC_STATUS ), + DEF_VALS1(MQCMD_CLEAR_TOPIC_STRING ), + DEF_VALS1(MQCMD_INQUIRE_PUBSUB_STATUS ), + DEF_VALS1(MQCMD_INQUIRE_SMDS ), + DEF_VALS1(MQCMD_CHANGE_SMDS ), + DEF_VALS1(MQCMD_RESET_SMDS ), + DEF_VALS1(MQCMD_CREATE_COMM_INFO ), + DEF_VALS1(MQCMD_INQUIRE_COMM_INFO ), + DEF_VALS1(MQCMD_CHANGE_COMM_INFO ), + DEF_VALS1(MQCMD_COPY_COMM_INFO ), + DEF_VALS1(MQCMD_DELETE_COMM_INFO ), + DEF_VALS1(MQCMD_PURGE_CHANNEL ), + DEF_VALS1(MQCMD_MQXR_DIAGNOSTICS ), + DEF_VALS1(MQCMD_START_SMDSCONN ), + DEF_VALS1(MQCMD_STOP_SMDSCONN ), + DEF_VALS1(MQCMD_INQUIRE_SMDSCONN ), + DEF_VALS1(MQCMD_INQUIRE_MQXR_STATUS ), + DEF_VALS1(MQCMD_START_CLIENT_TRACE ), + DEF_VALS1(MQCMD_STOP_CLIENT_TRACE ), + DEF_VALS1(MQCMD_SET_CHLAUTH_REC ), + DEF_VALS1(MQCMD_INQUIRE_CHLAUTH_RECS ), + DEF_VALS1(MQCMD_INQUIRE_PROT_POLICY ), + DEF_VALS1(MQCMD_CREATE_PROT_POLICY ), + DEF_VALS1(MQCMD_DELETE_PROT_POLICY ), + DEF_VALS1(MQCMD_CHANGE_PROT_POLICY ), + DEF_VALS1(MQCMD_ACTIVITY_TRACE ), + DEF_VALS1(MQCMD_RESET_CF_STRUC ), + DEF_VALS1(MQCMD_INQUIRE_XR_CAPABILITY ), +DEF_VALSE; +DEF_VALSEXT(mqcmd); + +/* Types of Structure */ +DEF_VALSB(mqcft) + DEF_VALS1(MQCFT_NONE ), + DEF_VALS1(MQCFT_COMMAND ), + DEF_VALS1(MQCFT_RESPONSE ), + DEF_VALS1(MQCFT_INTEGER ), + DEF_VALS1(MQCFT_STRING ), + DEF_VALS1(MQCFT_INTEGER_LIST ), + DEF_VALS1(MQCFT_STRING_LIST ), + DEF_VALS1(MQCFT_EVENT ), + DEF_VALS1(MQCFT_USER ), + DEF_VALS1(MQCFT_BYTE_STRING ), + DEF_VALS1(MQCFT_TRACE_ROUTE ), + DEF_VALS1(MQCFT_REPORT ), + DEF_VALS1(MQCFT_INTEGER_FILTER ), + DEF_VALS1(MQCFT_STRING_FILTER ), + DEF_VALS1(MQCFT_BYTE_STRING_FILTER ), + DEF_VALS1(MQCFT_COMMAND_XR ), + DEF_VALS1(MQCFT_XR_MSG ), + DEF_VALS1(MQCFT_XR_ITEM ), + DEF_VALS1(MQCFT_XR_SUMMARY ), + DEF_VALS1(MQCFT_GROUP ), + DEF_VALS1(MQCFT_STATISTICS ), + DEF_VALS1(MQCFT_ACCOUNTING ), + DEF_VALS1(MQCFT_INTEGER64 ), + DEF_VALS1(MQCFT_INTEGER64_LIST ), + DEF_VALS1(MQCFT_APP_ACTIVITY ), +DEF_VALSE; + +DEF_VALSB(objtype) + DEF_VALS1(MQOT_NONE ), + DEF_VALS1(MQOT_Q ), + DEF_VALS1(MQOT_NAMELIST ), + DEF_VALS1(MQOT_PROCESS ), + DEF_VALS1(MQOT_STORAGE_CLASS ), + DEF_VALS1(MQOT_Q_MGR ), + DEF_VALS1(MQOT_CHANNEL ), + DEF_VALS1(MQOT_AUTH_INFO ), + DEF_VALS1(MQOT_TOPIC ), + DEF_VALS1(MQOT_COMM_INFO ), + DEF_VALS1(MQOT_CF_STRUC ), + DEF_VALS1(MQOT_LISTENER ), + DEF_VALS1(MQOT_SERVICE ), + DEF_VALS1(MQOT_RESERVED_1 ), + DEF_VALS1(MQOT_ALL ), + DEF_VALS1(MQOT_ALIAS_Q ), + DEF_VALS1(MQOT_MODEL_Q ), + DEF_VALS1(MQOT_LOCAL_Q ), + DEF_VALS1(MQOT_REMOTE_Q ), + DEF_VALS1(MQOT_SENDER_CHANNEL ), + DEF_VALS1(MQOT_SERVER_CHANNEL ), + DEF_VALS1(MQOT_REQUESTER_CHANNEL), + DEF_VALS1(MQOT_RECEIVER_CHANNEL ), + DEF_VALS1(MQOT_CURRENT_CHANNEL ), + DEF_VALS1(MQOT_SAVED_CHANNEL ), + DEF_VALS1(MQOT_SVRCONN_CHANNEL ), + DEF_VALS1(MQOT_CLNTCONN_CHANNEL ), + DEF_VALS1(MQOT_SHORT_CHANNEL ), + DEF_VALS1(MQOT_CHLAUTH ), + DEF_VALS1(MQOT_REMOTE_Q_MGR_NAME), + DEF_VALS1(MQOT_PROT_POLICY ), +DEF_VALSE; + +DEF_VALSB(AuthInfoType) + DEF_VALS1(MQAIT_CRL_LDAP), + DEF_VALS1(MQAIT_OCSP), +DEF_VALSE; + +DEF_VALSB(FilterOP) + DEF_VALS1(MQCFOP_LESS ), + DEF_VALS1(MQCFOP_EQUAL ), + DEF_VALS1(MQCFOP_GREATER ), + DEF_VALS1(MQCFOP_NOT_LESS ), + DEF_VALS1(MQCFOP_NOT_EQUAL ), + DEF_VALS1(MQCFOP_NOT_GREATER ), + DEF_VALS1(MQCFOP_LIKE ), + DEF_VALS1(MQCFOP_NOT_LIKE ), + DEF_VALS1(MQCFOP_CONTAINS ), + DEF_VALS1(MQCFOP_EXCLUDES ), + DEF_VALS1(MQCFOP_CONTAINS_GEN), + DEF_VALS1(MQCFOP_EXCLUDES_GEN), +DEF_VALSE; + +DEF_VALSB(PutResponse) + DEF_VALS1(MQPRT_ASYNC_RESPONSE ), + DEF_VALS1(MQPRT_RESPONSE_AS_PARENT), + DEF_VALS1(MQPRT_SYNC_RESPONSE ), +DEF_VALSE; + +DEF_VALSB(TraceRouteRecording) + DEF_VALS1(MQRECORDING_MSG ), + DEF_VALS1(MQRECORDING_Q ), + DEF_VALS1(MQRECORDING_DISABLED), +DEF_VALSE; + +DEF_VALSB(TCPStackType) + DEF_VALS1(MQTCPSTACK_SINGLE ), + DEF_VALS1(MQTCPSTACK_MULTIPLE), +DEF_VALSE; + +DEF_VALSB(TCPKeepAlive) + DEF_VALS1(MQTCPKEEP_YES), + DEF_VALS1(MQTCPKEEP_NO ), +DEF_VALSE; + +DEF_VALSB(SharedQueueQueueManagerName) + DEF_VALS1(MQSQQM_USE ), + DEF_VALS1(MQSQQM_IGNORE), +DEF_VALSE; + +DEF_VALSB(ReceiveTimeoutType) + DEF_VALS1(MQRCVTIME_MULTIPLY), + DEF_VALS1(MQRCVTIME_ADD ), + DEF_VALS1(MQRCVTIME_EQUAL ), +DEF_VALSE; + +DEF_VALSB(IPAddressVersion) + DEF_VALS1(MQIPADDR_IPV4), + DEF_VALS1(MQIPADDR_IPV6), +DEF_VALSE; + +DEF_VALSB(GroupUR) + DEF_VALS1(MQGUR_DISABLED), + DEF_VALS1(MQGUR_ENABLED ), +DEF_VALSE; + +DEF_VALSB(DNSWLM) + DEF_VALS1(MQDNSWLM_YES), + DEF_VALS1(MQDNSWLM_NO ), +DEF_VALSE; + +DEF_VALSB(AdoptNewMCAType) + DEF_VALS1(MQADOPT_TYPE_NO ), + DEF_VALS1(MQADOPT_TYPE_ALL), +DEF_VALSE; + +DEF_VALSB(AdoptNewMCACheck) + DEF_VALS1(MQADOPT_CHECK_Q_MGR_NAME), + DEF_VALS1(MQADOPT_CHECK_NET_ADDR ), + DEF_VALS1(MQADOPT_CHECK_ALL ), + DEF_VALS1(MQADOPT_CHECK_NONE ), +DEF_VALSE; + +DEF_VALSB(ActivityRecording) + DEF_VALS1(MQRECORDING_MSG ), + DEF_VALS1(MQRECORDING_Q ), + DEF_VALS1(MQRECORDING_DISABLED), +DEF_VALSE; + +DEF_VALSB(TransportType) + DEF_VALS1(MQXPT_LU62 ), + DEF_VALS1(MQXPT_TCP ), + DEF_VALS1(MQXPT_NETBIOS), + DEF_VALS1(MQXPT_SPX ), +DEF_VALSE; + +DEF_VALSB(SSLClientAuthentication) + DEF_VALS1(MQSCA_REQUIRED), + DEF_VALS1(MQSCA_OPTIONAL), +DEF_VALSE; + + +DEF_VALSB(PutAuthority) + DEF_VALS1(MQPA_DEFAULT ), + DEF_VALS1(MQPA_CONTEXT ), + DEF_VALS1(MQPA_ALTERNATE_OR_MCA), + DEF_VALS1(MQPA_ONLY_MCA ), +DEF_VALSE; + +DEF_VALSB(NonPersistentMsgSpeed) + DEF_VALS1(MQNPMS_NORMAL), + DEF_VALS1(MQNPMS_FAST ), +DEF_VALSE; + +DEF_VALSB(MessageCompression) + DEF_VALS1(MQCOMPRESS_NONE ), + DEF_VALS1(MQCOMPRESS_RLE ), + DEF_VALS1(MQCOMPRESS_ZLIBFAST ), + DEF_VALS1(MQCOMPRESS_ZLIBHIGH ), + DEF_VALS1(MQCOMPRESS_ANY ), + DEF_VALS1(MQCOMPRESS_NOT_AVAILABLE ), +DEF_VALSE; + +DEF_VALSB(HeaderCompression) + DEF_VALS1(MQCOMPRESS_NONE ), + DEF_VALS1(MQCOMPRESS_SYSTEM ), + DEF_VALS1(MQCOMPRESS_NOT_AVAILABLE ), +DEF_VALSE; + +DEF_VALSB(MCAStatus) + DEF_VALS1(MQMCAS_STOPPED), + DEF_VALS1(MQMCAS_RUNNING), +DEF_VALSE; + +DEF_VALSB(MCAType) + DEF_VALS1(MQMCAT_PROCESS), + DEF_VALS1(MQMCAT_THREAD ), +DEF_VALSE; + +DEF_VALSB(DataConversion) + DEF_VALS1(MQCDC_NO_SENDER_CONVERSION), + DEF_VALS1(MQCDC_SENDER_CONVERSION ), +DEF_VALSE; + +DEF_VALSB(Usage) + DEF_VALS1(MQUS_NORMAL ), + DEF_VALS1(MQUS_TRANSMISSION), +DEF_VALSE; + +DEF_VALSB(ChannelType) + DEF_VALS1(MQCHT_SENDER ), + DEF_VALS1(MQCHT_SERVER ), + DEF_VALS1(MQCHT_RECEIVER ), + DEF_VALS1(MQCHT_REQUESTER), + DEF_VALS1(MQCHT_SVRCONN ), + DEF_VALS1(MQCHT_CLNTCONN ), + DEF_VALS1(MQCHT_CLUSRCVR ), + DEF_VALS1(MQCHT_CLUSSDR ), +DEF_VALSE; + +DEF_VALSB(ServiceIntervalEvent) + DEF_VALS1(MQQSIE_NONE), + DEF_VALS1(MQQSIE_OK ), + DEF_VALS1(MQQSIE_HIGH), +DEF_VALSE; + +DEF_VALSB(Monitoring) + DEF_VALS1(MQMON_NONE ), + DEF_VALS1(MQMON_ON ), + DEF_VALS1(MQMON_OFF ), + DEF_VALS1(MQMON_LOW ), + DEF_VALS1(MQMON_MEDIUM), + DEF_VALS1(MQMON_HIGH ), + DEF_VALS1(MQMON_Q_MGR ), +DEF_VALSE; + +DEF_VALSB(QueueType) + DEF_VALS1(MQQT_LOCAL ), + DEF_VALS1(MQQT_MODEL ), + DEF_VALS1(MQQT_ALIAS ), + DEF_VALS1(MQQT_REMOTE), + DEF_VALS1(MQQT_CLUSTER), + DEF_VALS1(MQQT_ALL), +DEF_VALSE; + +DEF_VALSB(EventRule) + DEF_VALS1(MQEVR_ENABLED ), + DEF_VALS1(MQEVR_DISABLED ), + DEF_VALS1(MQEVR_EXCEPTION ), + DEF_VALS1(MQEVR_NO_DISPLAY), +DEF_VALSE; + +DEF_VALSB(InputOpenOption) + DEF_VALS1(MQOO_INPUT_EXCLUSIVE), + DEF_VALS1(MQOO_INPUT_SHARED ), +DEF_VALSE; + +DEF_VALSB(CFConLoss) + DEF_VALS1(MQCFCONLOS_TERMINATE), + DEF_VALS1(MQCFCONLOS_TOLERATE ), +DEF_VALSE; + +DEF_VALSB(CLWLUseQ) + DEF_VALS1(MQCLWL_USEQ_ANY ), + DEF_VALS1(MQCLWL_USEQ_LOCAL ), + DEF_VALS1(MQCLWL_USEQ_AS_Q_MGR), +DEF_VALSE; + +DEF_VALSB(DefinitionType) + DEF_VALS1(MQQDT_PREDEFINED ), + DEF_VALS1(MQQDT_PERMANENT_DYNAMIC), + DEF_VALS1(MQQDT_TEMPORARY_DYNAMIC), + DEF_VALS1(MQQDT_SHARED_DYNAMIC ), +DEF_VALSE; + +DEF_VALSB(InhibitGetVal) + DEF_VALS1(MQQA_GET_INHIBITED), + DEF_VALS1(MQQA_GET_ALLOWED ), +DEF_VALSE; + +DEF_VALSB(IntraGroupQueuing) + DEF_VALS1(MQIGQ_DISABLED), + DEF_VALS1(MQIGQ_ENABLED), +DEF_VALSE; + +DEF_VALSB(InhibitPutVal) + DEF_VALS1(MQQA_PUT_INHIBITED), + DEF_VALS1(MQQA_PUT_ALLOWED ), +DEF_VALSE; + +DEF_VALSB(Shareability) + DEF_VALS1(MQQA_SHAREABLE ), + DEF_VALS1(MQQA_NOT_SHAREABLE), +DEF_VALSE; + +DEF_VALSB(BackOutHardening) + DEF_VALS1(MQQA_BACKOUT_HARDENED ), + DEF_VALS1(MQQA_BACKOUT_NOT_HARDENED), +DEF_VALSE; + +DEF_VALSB(MsgDelivSeq) + DEF_VALS1(MQMDS_PRIORITY), + DEF_VALS1(MQMDS_FIFO ), +DEF_VALSE; + +DEF_VALSB(NonpersistentMsgCls) + DEF_VALS1(MQNPM_CLASS_NORMAL), + DEF_VALS1(MQNPM_CLASS_HIGH ), +DEF_VALSE; + +DEF_VALSB(TriggerControl) + DEF_VALS1(MQTC_OFF), + DEF_VALS1(MQTC_ON ), +DEF_VALSE; + +DEF_VALSB(TriggerType) + DEF_VALS1(MQTT_NONE ), + DEF_VALS1(MQTT_FIRST), + DEF_VALS1(MQTT_EVERY), + DEF_VALS1(MQTT_DEPTH), +DEF_VALSE; + +DEF_VALSB(TriggerRestart) + DEF_VALS1(MQTRIGGER_RESTART_NO ), + DEF_VALS1(MQTRIGGER_RESTART_YES), +DEF_VALSE; + +DEF_VALSB(QueueUsages) + DEF_VALS1(MQUS_NORMAL ), + DEF_VALS1(MQUS_TRANSMISSION), +DEF_VALSE; + +DEF_VALSB(DistributionLists) + DEF_VALS1(MQDL_SUPPORTED ), + DEF_VALS1(MQDL_NOT_SUPPORTED), +DEF_VALSE; + +DEF_VALSB(IndexTypes) + DEF_VALS1(MQIT_NONE ), + DEF_VALS1(MQIT_MSG_ID ), + DEF_VALS1(MQIT_CORREL_ID), + DEF_VALS1(MQIT_MSG_TOKEN), + DEF_VALS1(MQIT_GROUP_ID ), +DEF_VALSE; + +DEF_VALSB(Bindings) + DEF_VALS1(MQBND_BIND_ON_OPEN ), + DEF_VALS1(MQBND_BIND_NOT_FIXED), +DEF_VALSE; + +DEF_VALSB(QShrGrpDisp) + DEF_VALS1(MQQSGD_ALL ), + DEF_VALS1(MQQSGD_Q_MGR ), + DEF_VALS1(MQQSGD_COPY ), + DEF_VALS1(MQQSGD_SHARED ), + DEF_VALS1(MQQSGD_GROUP ), + DEF_VALS1(MQQSGD_PRIVATE), + DEF_VALS1(MQQSGD_LIVE ), +DEF_VALSE; + +DEF_VALSB(ReorgCtls) + DEF_VALS1(MQREORG_DISABLED), + DEF_VALS1(MQREORG_ENABLED), +DEF_VALSE; + +DEF_VALSB(ReadAheadValues) + DEF_VALS1(MQREADA_NO ), + DEF_VALS1(MQREADA_YES ), + DEF_VALS1(MQREADA_DISABLED ), + DEF_VALS1(MQREADA_INHIBITED), + DEF_VALS1(MQREADA_BACKLOG ), +DEF_VALSE; + +DEF_VALSB(ChanPropCtlVal) + DEF_VALS1(MQPROP_COMPATIBILITY), + DEF_VALS1(MQPROP_NONE), + DEF_VALS1(MQPROP_ALL), + DEF_VALS1(MQPROP_FORCE_MQRFH2), +DEF_VALSE; + +DEF_VALSB(BaseType) + DEF_VALS1(MQOT_Q ), + DEF_VALS1(MQOT_TOPIC), +DEF_VALSE; + +DEF_VALSB(EvtOrig) + DEF_VALS1(MQEVO_CONSOLE ), + DEF_VALS1(MQEVO_INIT ), + DEF_VALS1(MQEVO_INTERNAL), + DEF_VALS1(MQEVO_MQSET ), + DEF_VALS1(MQEVO_MSG ), + DEF_VALS1(MQEVO_OTHER ), +DEF_VALSE; + +DEF_VALSB(ObjType) + DEF_VALS1(MQOT_NONE ), + DEF_VALS1(MQOT_Q ), + DEF_VALS1(MQOT_NAMELIST ), + DEF_VALS1(MQOT_PROCESS ), + DEF_VALS1(MQOT_STORAGE_CLASS ), + DEF_VALS1(MQOT_Q_MGR ), + DEF_VALS1(MQOT_CHANNEL ), + DEF_VALS1(MQOT_AUTH_INFO ), + DEF_VALS1(MQOT_TOPIC ), + DEF_VALS1(MQOT_COMM_INFO ), + DEF_VALS1(MQOT_CF_STRUC ), + DEF_VALS1(MQOT_LISTENER ), + DEF_VALS1(MQOT_SERVICE ), + DEF_VALS1(MQOT_RESERVED_1 ), + DEF_VALS1(MQOT_ALL ), + DEF_VALS1(MQOT_ALIAS_Q ), + DEF_VALS1(MQOT_MODEL_Q ), + DEF_VALS1(MQOT_LOCAL_Q ), + DEF_VALS1(MQOT_REMOTE_Q ), + DEF_VALS1(MQOT_SENDER_CHANNEL ), + DEF_VALS1(MQOT_SERVER_CHANNEL ), + DEF_VALS1(MQOT_REQUESTER_CHANNEL), + DEF_VALS1(MQOT_RECEIVER_CHANNEL ), + DEF_VALS1(MQOT_CURRENT_CHANNEL ), + DEF_VALS1(MQOT_SAVED_CHANNEL ), + DEF_VALS1(MQOT_SVRCONN_CHANNEL ), + DEF_VALS1(MQOT_CLNTCONN_CHANNEL ), + DEF_VALS1(MQOT_SHORT_CHANNEL ), + DEF_VALS1(MQOT_CHLAUTH ), + DEF_VALS1(MQOT_REMOTE_Q_MGR_NAME), + DEF_VALS1(MQOT_PROT_POLICY ), +DEF_VALSE; + +DEF_VALSB(Persistence) + DEF_VALS1(MQPER_PERSISTENCE_AS_PARENT), + DEF_VALS1(MQPER_NOT_PERSISTENT), + DEF_VALS1(MQPER_PERSISTENT), + DEF_VALS1(MQPER_PERSISTENCE_AS_Q_DEF), +DEF_VALSE; + +DEF_VALSB(MsgType) + DEF_VALS1(MQMT_REQUEST), + DEF_VALS1(MQMT_REPLY), + DEF_VALS1(MQMT_DATAGRAM), + DEF_VALS1(MQMT_REPORT), +DEF_VALSE; + +DEF_VALSB(Platform) + DEF_VALS2(MQPL_ZOS,"MQPL_MVS/MQPL_OS390"), + DEF_VALS1(MQPL_OS2 ), + DEF_VALS1(MQPL_UNIX ), + DEF_VALS1(MQPL_OS400 ), + DEF_VALS1(MQPL_WINDOWS ), + DEF_VALS1(MQPL_WINDOWS_NT), + DEF_VALS1(MQPL_VMS ), + DEF_VALS2(MQPL_NSK,"MQPL_NSS"), + DEF_VALS1(MQPL_OPEN_TP1 ), + DEF_VALS1(MQPL_VM ), + DEF_VALS1(MQPL_TPF ), + DEF_VALS1(MQPL_VSE ), +DEF_VALSE; + +DEF_VALSB(ApplType) + DEF_VALS1(MQAT_UNKNOWN ), + DEF_VALS1(MQAT_NO_CONTEXT ), + DEF_VALS1(MQAT_CICS ), + DEF_VALS2(MQAT_ZOS,"MQAT_MVS/MQAT_OS390"), + DEF_VALS1(MQAT_IMS ), + DEF_VALS1(MQAT_OS2 ), + DEF_VALS1(MQAT_DOS ), + DEF_VALS2(MQAT_AIX,"MQAT_UNIX"), + DEF_VALS1(MQAT_QMGR ), + DEF_VALS1(MQAT_OS400 ), + DEF_VALS1(MQAT_WINDOWS ), + DEF_VALS1(MQAT_CICS_VSE ), + DEF_VALS1(MQAT_WINDOWS_NT ), + DEF_VALS1(MQAT_VMS ), + DEF_VALS2(MQAT_NSK,"MQAT_GUARDIAN"), + DEF_VALS1(MQAT_VOS ), + DEF_VALS1(MQAT_OPEN_TP1 ), + DEF_VALS1(MQAT_VM ), + DEF_VALS1(MQAT_IMS_BRIDGE ), + DEF_VALS1(MQAT_XCF ), + DEF_VALS1(MQAT_CICS_BRIDGE ), + DEF_VALS1(MQAT_NOTES_AGENT ), + DEF_VALS1(MQAT_TPF ), + DEF_VALS1(MQAT_USER ), + DEF_VALS2(MQAT_QMGR_PUBLISH,"MQAT_BROKER"), + DEF_VALS1(MQAT_JAVA ), + DEF_VALS1(MQAT_DQM ), + DEF_VALS1(MQAT_CHANNEL_INITIATOR ), + DEF_VALS1(MQAT_WLM ), + DEF_VALS1(MQAT_BATCH ), + DEF_VALS1(MQAT_RRS_BATCH ), + DEF_VALS1(MQAT_SIB ), + DEF_VALS1(MQAT_SYSTEM_EXTENSION ), +DEF_VALSE; + +DEF_VALSB(PrmTyp) + DEF_VALS1(MQCFT_NONE ), + DEF_VALS1(MQCFT_COMMAND ), + DEF_VALS1(MQCFT_RESPONSE ), + DEF_VALS1(MQCFT_INTEGER ), + DEF_VALS1(MQCFT_STRING ), + DEF_VALS1(MQCFT_INTEGER_LIST ), + DEF_VALS1(MQCFT_STRING_LIST ), + DEF_VALS1(MQCFT_EVENT ), + DEF_VALS1(MQCFT_USER ), + DEF_VALS1(MQCFT_BYTE_STRING ), + DEF_VALS1(MQCFT_TRACE_ROUTE ), + DEF_VALS1(MQCFT_REPORT ), + DEF_VALS1(MQCFT_INTEGER_FILTER ), + DEF_VALS1(MQCFT_STRING_FILTER ), + DEF_VALS1(MQCFT_BYTE_STRING_FILTER), + DEF_VALS1(MQCFT_COMMAND_XR ), + DEF_VALS1(MQCFT_XR_MSG ), + DEF_VALS1(MQCFT_XR_ITEM ), + DEF_VALS1(MQCFT_XR_SUMMARY ), + DEF_VALS1(MQCFT_GROUP ), + DEF_VALS1(MQCFT_STATISTICS ), + DEF_VALS1(MQCFT_ACCOUNTING ), + DEF_VALS1(MQCFT_INTEGER64 ), + DEF_VALS1(MQCFT_INTEGER64_LIST ), +DEF_VALSE; + +DEF_VALSB(Command) + DEF_VALS1(MQCMD_NONE ), + DEF_VALS1(MQCMD_CHANGE_Q_MGR ), + DEF_VALS1(MQCMD_INQUIRE_Q_MGR ), + DEF_VALS1(MQCMD_CHANGE_PROCESS ), + DEF_VALS1(MQCMD_COPY_PROCESS ), + DEF_VALS1(MQCMD_CREATE_PROCESS ), + DEF_VALS1(MQCMD_DELETE_PROCESS ), + DEF_VALS1(MQCMD_INQUIRE_PROCESS ), + DEF_VALS1(MQCMD_CHANGE_Q ), + DEF_VALS1(MQCMD_CLEAR_Q ), + DEF_VALS1(MQCMD_COPY_Q ), + DEF_VALS1(MQCMD_CREATE_Q ), + DEF_VALS1(MQCMD_DELETE_Q ), + DEF_VALS1(MQCMD_INQUIRE_Q ), + DEF_VALS1(MQCMD_REFRESH_Q_MGR ), + DEF_VALS1(MQCMD_RESET_Q_STATS ), + DEF_VALS1(MQCMD_INQUIRE_Q_NAMES ), + DEF_VALS1(MQCMD_INQUIRE_PROCESS_NAMES ), + DEF_VALS1(MQCMD_INQUIRE_CHANNEL_NAMES ), + DEF_VALS1(MQCMD_CHANGE_CHANNEL ), + DEF_VALS1(MQCMD_COPY_CHANNEL ), + DEF_VALS1(MQCMD_CREATE_CHANNEL ), + DEF_VALS1(MQCMD_DELETE_CHANNEL ), + DEF_VALS1(MQCMD_INQUIRE_CHANNEL ), + DEF_VALS1(MQCMD_PING_CHANNEL ), + DEF_VALS1(MQCMD_RESET_CHANNEL ), + DEF_VALS1(MQCMD_START_CHANNEL ), + DEF_VALS1(MQCMD_STOP_CHANNEL ), + DEF_VALS1(MQCMD_START_CHANNEL_INIT ), + DEF_VALS1(MQCMD_START_CHANNEL_LISTENER ), + DEF_VALS1(MQCMD_CHANGE_NAMELIST ), + DEF_VALS1(MQCMD_COPY_NAMELIST ), + DEF_VALS1(MQCMD_CREATE_NAMELIST ), + DEF_VALS1(MQCMD_DELETE_NAMELIST ), + DEF_VALS1(MQCMD_INQUIRE_NAMELIST ), + DEF_VALS1(MQCMD_INQUIRE_NAMELIST_NAMES ), + DEF_VALS1(MQCMD_ESCAPE ), + DEF_VALS1(MQCMD_RESOLVE_CHANNEL ), + DEF_VALS1(MQCMD_PING_Q_MGR ), + DEF_VALS1(MQCMD_INQUIRE_Q_STATUS ), + DEF_VALS1(MQCMD_INQUIRE_CHANNEL_STATUS ), + DEF_VALS1(MQCMD_CONFIG_EVENT ), + DEF_VALS1(MQCMD_Q_MGR_EVENT ), + DEF_VALS1(MQCMD_PERFM_EVENT ), + DEF_VALS1(MQCMD_CHANNEL_EVENT ), + DEF_VALS1(MQCMD_DELETE_PUBLICATION ), + DEF_VALS1(MQCMD_DEREGISTER_PUBLISHER ), + DEF_VALS1(MQCMD_DEREGISTER_SUBSCRIBER ), + DEF_VALS1(MQCMD_PUBLISH ), + DEF_VALS1(MQCMD_REGISTER_PUBLISHER ), + DEF_VALS1(MQCMD_REGISTER_SUBSCRIBER ), + DEF_VALS1(MQCMD_REQUEST_UPDATE ), + DEF_VALS1(MQCMD_BROKER_INTERNAL ), + DEF_VALS1(MQCMD_ACTIVITY_MSG ), + DEF_VALS1(MQCMD_INQUIRE_CLUSTER_Q_MGR ), + DEF_VALS1(MQCMD_RESUME_Q_MGR_CLUSTER ), + DEF_VALS1(MQCMD_SUSPEND_Q_MGR_CLUSTER ), + DEF_VALS1(MQCMD_REFRESH_CLUSTER ), + DEF_VALS1(MQCMD_RESET_CLUSTER ), + DEF_VALS1(MQCMD_TRACE_ROUTE ), + DEF_VALS1(MQCMD_REFRESH_SECURITY ), + DEF_VALS1(MQCMD_CHANGE_AUTH_INFO ), + DEF_VALS1(MQCMD_COPY_AUTH_INFO ), + DEF_VALS1(MQCMD_CREATE_AUTH_INFO ), + DEF_VALS1(MQCMD_DELETE_AUTH_INFO ), + DEF_VALS1(MQCMD_INQUIRE_AUTH_INFO ), + DEF_VALS1(MQCMD_INQUIRE_AUTH_INFO_NAMES), + DEF_VALS1(MQCMD_INQUIRE_CONNECTION ), + DEF_VALS1(MQCMD_STOP_CONNECTION ), + DEF_VALS1(MQCMD_INQUIRE_AUTH_RECS ), + DEF_VALS1(MQCMD_INQUIRE_ENTITY_AUTH ), + DEF_VALS1(MQCMD_DELETE_AUTH_REC ), + DEF_VALS1(MQCMD_SET_AUTH_REC ), + DEF_VALS1(MQCMD_LOGGER_EVENT ), + DEF_VALS1(MQCMD_RESET_Q_MGR ), + DEF_VALS1(MQCMD_CHANGE_LISTENER ), + DEF_VALS1(MQCMD_COPY_LISTENER ), + DEF_VALS1(MQCMD_CREATE_LISTENER ), + DEF_VALS1(MQCMD_DELETE_LISTENER ), + DEF_VALS1(MQCMD_INQUIRE_LISTENER ), + DEF_VALS1(MQCMD_INQUIRE_LISTENER_STATUS), + DEF_VALS1(MQCMD_COMMAND_EVENT ), + DEF_VALS1(MQCMD_CHANGE_SECURITY ), + DEF_VALS1(MQCMD_CHANGE_CF_STRUC ), + DEF_VALS1(MQCMD_CHANGE_STG_CLASS ), + DEF_VALS1(MQCMD_CHANGE_TRACE ), + DEF_VALS1(MQCMD_ARCHIVE_LOG ), + DEF_VALS1(MQCMD_BACKUP_CF_STRUC ), + DEF_VALS1(MQCMD_CREATE_BUFFER_POOL ), + DEF_VALS1(MQCMD_CREATE_PAGE_SET ), + DEF_VALS1(MQCMD_CREATE_CF_STRUC ), + DEF_VALS1(MQCMD_CREATE_STG_CLASS ), + DEF_VALS1(MQCMD_COPY_CF_STRUC ), + DEF_VALS1(MQCMD_COPY_STG_CLASS ), + DEF_VALS1(MQCMD_DELETE_CF_STRUC ), + DEF_VALS1(MQCMD_DELETE_STG_CLASS ), + DEF_VALS1(MQCMD_INQUIRE_ARCHIVE ), + DEF_VALS1(MQCMD_INQUIRE_CF_STRUC ), + DEF_VALS1(MQCMD_INQUIRE_CF_STRUC_STATUS), + DEF_VALS1(MQCMD_INQUIRE_CMD_SERVER ), + DEF_VALS1(MQCMD_INQUIRE_CHANNEL_INIT ), + DEF_VALS1(MQCMD_INQUIRE_QSG ), + DEF_VALS1(MQCMD_INQUIRE_LOG ), + DEF_VALS1(MQCMD_INQUIRE_SECURITY ), + DEF_VALS1(MQCMD_INQUIRE_STG_CLASS ), + DEF_VALS1(MQCMD_INQUIRE_SYSTEM ), + DEF_VALS1(MQCMD_INQUIRE_THREAD ), + DEF_VALS1(MQCMD_INQUIRE_TRACE ), + DEF_VALS1(MQCMD_INQUIRE_USAGE ), + DEF_VALS1(MQCMD_MOVE_Q ), + DEF_VALS1(MQCMD_RECOVER_BSDS ), + DEF_VALS1(MQCMD_RECOVER_CF_STRUC ), + DEF_VALS1(MQCMD_RESET_TPIPE ), + DEF_VALS1(MQCMD_RESOLVE_INDOUBT ), + DEF_VALS1(MQCMD_RESUME_Q_MGR ), + DEF_VALS1(MQCMD_REVERIFY_SECURITY ), + DEF_VALS1(MQCMD_SET_ARCHIVE ), + DEF_VALS1(MQCMD_SET_LOG ), + DEF_VALS1(MQCMD_SET_SYSTEM ), + DEF_VALS1(MQCMD_START_CMD_SERVER ), + DEF_VALS1(MQCMD_START_Q_MGR ), + DEF_VALS1(MQCMD_START_TRACE ), + DEF_VALS1(MQCMD_STOP_CHANNEL_INIT ), + DEF_VALS1(MQCMD_STOP_CHANNEL_LISTENER ), + DEF_VALS1(MQCMD_STOP_CMD_SERVER ), + DEF_VALS1(MQCMD_STOP_Q_MGR ), + DEF_VALS1(MQCMD_STOP_TRACE ), + DEF_VALS1(MQCMD_SUSPEND_Q_MGR ), + DEF_VALS1(MQCMD_INQUIRE_CF_STRUC_NAMES ), + DEF_VALS1(MQCMD_INQUIRE_STG_CLASS_NAMES), + DEF_VALS1(MQCMD_CHANGE_SERVICE ), + DEF_VALS1(MQCMD_COPY_SERVICE ), + DEF_VALS1(MQCMD_CREATE_SERVICE ), + DEF_VALS1(MQCMD_DELETE_SERVICE ), + DEF_VALS1(MQCMD_INQUIRE_SERVICE ), + DEF_VALS1(MQCMD_INQUIRE_SERVICE_STATUS ), + DEF_VALS1(MQCMD_START_SERVICE ), + DEF_VALS1(MQCMD_STOP_SERVICE ), + DEF_VALS1(MQCMD_DELETE_BUFFER_POOL ), + DEF_VALS1(MQCMD_DELETE_PAGE_SET ), + DEF_VALS1(MQCMD_CHANGE_BUFFER_POOL ), + DEF_VALS1(MQCMD_CHANGE_PAGE_SET ), + DEF_VALS1(MQCMD_INQUIRE_Q_MGR_STATUS ), + DEF_VALS1(MQCMD_CREATE_LOG ), + DEF_VALS1(MQCMD_STATISTICS_MQI ), + DEF_VALS1(MQCMD_STATISTICS_Q ), + DEF_VALS1(MQCMD_STATISTICS_CHANNEL ), + DEF_VALS1(MQCMD_ACCOUNTING_MQI ), + DEF_VALS1(MQCMD_ACCOUNTING_Q ), + DEF_VALS1(MQCMD_INQUIRE_AUTH_SERVICE ), + DEF_VALS1(MQCMD_CHANGE_TOPIC ), + DEF_VALS1(MQCMD_COPY_TOPIC ), + DEF_VALS1(MQCMD_CREATE_TOPIC ), + DEF_VALS1(MQCMD_DELETE_TOPIC ), + DEF_VALS1(MQCMD_INQUIRE_TOPIC ), + DEF_VALS1(MQCMD_INQUIRE_TOPIC_NAMES ), + DEF_VALS1(MQCMD_INQUIRE_SUBSCRIPTION ), + DEF_VALS1(MQCMD_CREATE_SUBSCRIPTION ), + DEF_VALS1(MQCMD_CHANGE_SUBSCRIPTION ), + DEF_VALS1(MQCMD_DELETE_SUBSCRIPTION ), + DEF_VALS1(MQCMD_COPY_SUBSCRIPTION ), + DEF_VALS1(MQCMD_INQUIRE_SUB_STATUS ), + DEF_VALS1(MQCMD_INQUIRE_TOPIC_STATUS ), + DEF_VALS1(MQCMD_CLEAR_TOPIC_STRING ), + DEF_VALS1(MQCMD_INQUIRE_PUBSUB_STATUS ), +DEF_VALSE; + +DEF_VALSB(CommandInformationValues) + DEF_VALS1(MQCMDI_CMDSCOPE_ACCEPTED ), + DEF_VALS1(MQCMDI_CMDSCOPE_GENERATED ), + DEF_VALS1(MQCMDI_CMDSCOPE_COMPLETED ), + DEF_VALS1(MQCMDI_QSG_DISP_COMPLETED ), + DEF_VALS1(MQCMDI_COMMAND_ACCEPTED ), + DEF_VALS1(MQCMDI_CLUSTER_REQUEST_QUEUED ), + DEF_VALS1(MQCMDI_CHANNEL_INIT_STARTED ), + DEF_VALS1(MQCMDI_RECOVER_STARTED ), + DEF_VALS1(MQCMDI_BACKUP_STARTED ), + DEF_VALS1(MQCMDI_RECOVER_COMPLETED ), + DEF_VALS1(MQCMDI_SEC_TIMER_ZERO ), + DEF_VALS1(MQCMDI_REFRESH_CONFIGURATION ), + DEF_VALS1(MQCMDI_SEC_SIGNOFF_ERROR ), + DEF_VALS1(MQCMDI_IMS_BRIDGE_SUSPENDED ), + DEF_VALS1(MQCMDI_DB2_SUSPENDED ), + DEF_VALS1(MQCMDI_DB2_OBSOLETE_MSGS ), + DEF_VALS1(MQCMDI_SEC_UPPERCASE ), + DEF_VALS1(MQCMDI_SEC_MIXEDCASE ), +DEF_VALSE; + +DEF_VALSB(CtlOpt) + DEF_VALS1(MQCFC_LAST ), + DEF_VALS1(MQCFC_NOT_LAST), +DEF_VALSE; + +DEF_VALSB(PrmId) + DEF_VALS1(MQBACF_ACCOUNTING_TOKEN ), + DEF_VALS1(MQBACF_CF_LEID ), + DEF_VALS1(MQBACF_CONNECTION_ID ), + DEF_VALS1(MQBACF_CORREL_ID ), + DEF_VALS1(MQBACF_DESTINATION_CORREL_ID ), + DEF_VALS1(MQBACF_EVENT_ACCOUNTING_TOKEN ), + DEF_VALS1(MQBACF_EVENT_SECURITY_ID ), + DEF_VALS1(MQBACF_EXTERNAL_UOW_ID ), + DEF_VALS1(MQBACF_GENERIC_CONNECTION_ID ), + DEF_VALS1(MQBACF_GROUP_ID ), + DEF_VALS1(MQBACF_MSG_ID ), + DEF_VALS1(MQBACF_ORIGIN_UOW_ID ), + DEF_VALS1(MQBACF_Q_MGR_UOW_ID ), + DEF_VALS1(MQBACF_RESPONSE_ID ), + DEF_VALS1(MQBACF_RESPONSE_SET ), + DEF_VALS1(MQBACF_SUB_ID ), + DEF_VALS1(MQCACF_ACTIVITY_DESC ), + DEF_VALS1(MQCACF_ADMIN_TOPIC_NAMES ), + DEF_VALS1(MQCACF_ALIAS_Q_NAMES ), + DEF_VALS1(MQCACF_APPL_DESC ), + DEF_VALS1(MQCACF_APPL_IDENTITY_DATA ), + DEF_VALS1(MQCACF_APPL_NAME ), + DEF_VALS1(MQCACF_APPL_ORIGIN_DATA ), + DEF_VALS1(MQCACF_APPL_TAG ), + DEF_VALS1(MQCACF_ASID ), + DEF_VALS1(MQCACF_AUTH_INFO_NAMES ), + DEF_VALS1(MQCACF_AUTH_PROFILE_NAME ), + DEF_VALS1(MQCACF_AUX_ERROR_DATA_STR_1 ), + DEF_VALS1(MQCACF_AUX_ERROR_DATA_STR_2 ), + DEF_VALS1(MQCACF_AUX_ERROR_DATA_STR_3 ), + DEF_VALS1(MQCACF_BACKUP_DATE ), + DEF_VALS1(MQCACF_BACKUP_TIME ), + DEF_VALS1(MQCACF_BRIDGE_NAME ), + DEF_VALS1(MQCACF_CF_STRUC_BACKUP_END ), + DEF_VALS1(MQCACF_CF_STRUC_BACKUP_START ), + DEF_VALS1(MQCACF_CF_STRUC_LOG_Q_MGRS ), + DEF_VALS1(MQCACF_CF_STRUC_NAMES ), + DEF_VALS1(MQCACF_CHILD_Q_MGR_NAME ), + DEF_VALS1(MQCACF_COMMAND_MQSC ), + DEF_VALS1(MQCACF_COMMAND_SCOPE ), + DEF_VALS1(MQCACF_CONFIGURATION_DATE ), + DEF_VALS1(MQCACF_CONFIGURATION_TIME ), + DEF_VALS1(MQCACF_CORREL_ID ), + DEF_VALS1(MQCACF_CURRENT_LOG_EXTENT_NAME), + DEF_VALS1(MQCACF_DATA_SET_NAME ), + DEF_VALS1(MQCACF_DB2_NAME ), + DEF_VALS1(MQCACF_DESTINATION ), + DEF_VALS1(MQCACF_DESTINATION_Q_MGR ), + DEF_VALS1(MQCACF_DSG_NAME ), + DEF_VALS1(MQCACF_ENTITY_NAME ), + DEF_VALS1(MQCACF_ENV_INFO ), + DEF_VALS1(MQCACF_ESCAPE_TEXT ), + DEF_VALS1(MQCACF_EVENT_APPL_IDENTITY ), + DEF_VALS1(MQCACF_EVENT_APPL_NAME ), + DEF_VALS1(MQCACF_EVENT_APPL_ORIGIN ), + DEF_VALS1(MQCACF_EVENT_Q_MGR ), + DEF_VALS1(MQCACF_EVENT_USER_ID ), + DEF_VALS1(MQCACF_FAIL_DATE ), + DEF_VALS1(MQCACF_FAIL_TIME ), + DEF_VALS1(MQCACF_FILTER ), + DEF_VALS1(MQCACF_FROM_AUTH_INFO_NAME ), + DEF_VALS1(MQCACF_FROM_CF_STRUC_NAME ), + DEF_VALS1(MQCACF_FROM_CHANNEL_NAME ), + DEF_VALS1(MQCACF_FROM_LISTENER_NAME ), + DEF_VALS1(MQCACF_FROM_NAMELIST_NAME ), + DEF_VALS1(MQCACF_FROM_PROCESS_NAME ), + DEF_VALS1(MQCACF_FROM_Q_NAME ), + DEF_VALS1(MQCACF_FROM_SERVICE_NAME ), + DEF_VALS1(MQCACF_FROM_STORAGE_CLASS ), + DEF_VALS1(MQCACF_FROM_SUB_NAME ), + DEF_VALS1(MQCACF_FROM_TOPIC_NAME ), + DEF_VALS1(MQCACF_GROUP_ENTITY_NAMES ), + DEF_VALS1(MQCACF_LAST_GET_DATE ), + DEF_VALS1(MQCACF_LAST_GET_TIME ), + DEF_VALS1(MQCACF_LAST_MSG_DATE ), + DEF_VALS1(MQCACF_LAST_MSG_TIME ), + DEF_VALS1(MQCACF_LAST_PUB_DATE ), + DEF_VALS1(MQCACF_LAST_PUB_TIME ), + DEF_VALS1(MQCACF_LAST_PUT_DATE ), + DEF_VALS1(MQCACF_LAST_PUT_TIME ), + DEF_VALS1(MQCACF_LOCAL_Q_NAMES ), + DEF_VALS1(MQCACF_LOG_PATH ), + DEF_VALS1(MQCACF_MEDIA_LOG_EXTENT_NAME ), + DEF_VALS1(MQCACF_MODEL_Q_NAMES ), + DEF_VALS1(MQCACF_NAMELIST_NAMES ), + DEF_VALS1(MQCACF_NONE ), + DEF_VALS1(MQCACF_OBJECT_NAME ), + DEF_VALS1(MQCACF_OBJECT_Q_MGR_NAME ), + DEF_VALS1(MQCACF_OPERATION_DATE ), + DEF_VALS1(MQCACF_OPERATION_TIME ), + DEF_VALS1(MQCACF_ORIGIN_NAME ), + DEF_VALS1(MQCACF_PARENT_Q_MGR_NAME ), + DEF_VALS1(MQCACF_PRINCIPAL_ENTITY_NAMES ), + DEF_VALS1(MQCACF_PROCESS_NAMES ), + DEF_VALS1(MQCACF_PSB_NAME ), + DEF_VALS1(MQCACF_PST_ID ), + DEF_VALS1(MQCACF_PUBLISH_TIMESTAMP ), + DEF_VALS1(MQCACF_PUT_DATE ), + DEF_VALS1(MQCACF_PUT_TIME ), + DEF_VALS1(MQCACF_Q_MGR_CPF ), + DEF_VALS1(MQCACF_Q_MGR_UOW_ID ), + DEF_VALS1(MQCACF_Q_NAMES ), + DEF_VALS1(MQCACF_RECEIVER_CHANNEL_NAMES ), + DEF_VALS1(MQCACF_REG_CORREL_ID ), + DEF_VALS1(MQCACF_REG_Q_MGR_NAME ), + DEF_VALS1(MQCACF_REG_Q_NAME ), + DEF_VALS1(MQCACF_REG_STREAM_NAME ), + DEF_VALS1(MQCACF_REG_SUB_IDENTITY ), + DEF_VALS1(MQCACF_REG_SUB_NAME ), + DEF_VALS1(MQCACF_REG_SUB_USER_DATA ), + DEF_VALS1(MQCACF_REG_TIME ), + DEF_VALS1(MQCACF_REG_TOPIC ), + DEF_VALS1(MQCACF_REG_USER_ID ), + DEF_VALS1(MQCACF_REMOTE_Q_NAMES ), + DEF_VALS1(MQCACF_REPLY_TO_Q ), + DEF_VALS1(MQCACF_REPLY_TO_Q_MGR ), + DEF_VALS1(MQCACF_REQUESTER_CHANNEL_NAMES), + DEF_VALS1(MQCACF_RESOLVED_Q_NAME ), + DEF_VALS1(MQCACF_RESPONSE_Q_MGR_NAME ), + DEF_VALS1(MQCACF_RESTART_LOG_EXTENT_NAME), + DEF_VALS1(MQCACF_ROUTING_FINGER_PRINT ), + DEF_VALS1(MQCACF_SECURITY_PROFILE ), + DEF_VALS1(MQCACF_SENDER_CHANNEL_NAMES ), + DEF_VALS1(MQCACF_SERVER_CHANNEL_NAMES ), + DEF_VALS1(MQCACF_SERVICE_COMPONENT ), + DEF_VALS1(MQCACF_SERVICE_START_DATE ), + DEF_VALS1(MQCACF_SERVICE_START_TIME ), + DEF_VALS1(MQCACF_STORAGE_CLASS_NAMES ), + DEF_VALS1(MQCACF_STREAM_NAME ), + DEF_VALS1(MQCACF_STRING_DATA ), + DEF_VALS1(MQCACF_STRUC_ID ), + DEF_VALS1(MQCACF_SUBSCRIPTION_IDENTITY ), + DEF_VALS1(MQCACF_SUBSCRIPTION_NAME ), + DEF_VALS1(MQCACF_SUBSCRIPTION_POINT ), + DEF_VALS1(MQCACF_SUBSCRIPTION_USER_DATA ), + DEF_VALS1(MQCACF_SUB_NAME ), + DEF_VALS1(MQCACF_SUB_SELECTOR ), + DEF_VALS1(MQCACF_SUB_USER_DATA ), + DEF_VALS1(MQCACF_SUB_USER_ID ), + DEF_VALS1(MQCACF_SUPPORTED_STREAM_NAME ), + DEF_VALS1(MQCACF_SYSP_ARCHIVE_PFX1 ), + DEF_VALS1(MQCACF_SYSP_ARCHIVE_PFX2 ), + DEF_VALS1(MQCACF_SYSP_ARCHIVE_UNIT1 ), + DEF_VALS1(MQCACF_SYSP_ARCHIVE_UNIT2 ), + DEF_VALS1(MQCACF_SYSP_CMD_USER_ID ), + DEF_VALS1(MQCACF_SYSP_LOG_CORREL_ID ), + DEF_VALS1(MQCACF_SYSP_LOG_RBA ), + DEF_VALS1(MQCACF_SYSP_OFFLINE_RBA ), + DEF_VALS1(MQCACF_SYSP_OTMA_DRU_EXIT ), + DEF_VALS1(MQCACF_SYSP_OTMA_GROUP ), + DEF_VALS1(MQCACF_SYSP_OTMA_MEMBER ), + DEF_VALS1(MQCACF_SYSP_OTMA_TPIPE_PFX ), + DEF_VALS1(MQCACF_SYSP_Q_MGR_DATE ), + DEF_VALS1(MQCACF_SYSP_Q_MGR_RBA ), + DEF_VALS1(MQCACF_SYSP_Q_MGR_TIME ), + DEF_VALS1(MQCACF_SYSP_SERVICE ), + DEF_VALS1(MQCACF_SYSP_UNIT_VOLSER ), + DEF_VALS1(MQCACF_SYSTEM_NAME ), + DEF_VALS1(MQCACF_TASK_NUMBER ), + DEF_VALS1(MQCACF_TOPIC ), + DEF_VALS1(MQCACF_TOPIC_NAMES ), + DEF_VALS1(MQCACF_TO_AUTH_INFO_NAME ), + DEF_VALS1(MQCACF_TO_CF_STRUC_NAME ), + DEF_VALS1(MQCACF_TO_CHANNEL_NAME ), + DEF_VALS1(MQCACF_TO_LISTENER_NAME ), + DEF_VALS1(MQCACF_TO_NAMELIST_NAME ), + DEF_VALS1(MQCACF_TO_PROCESS_NAME ), + DEF_VALS1(MQCACF_TO_Q_NAME ), + DEF_VALS1(MQCACF_TO_SERVICE_NAME ), + DEF_VALS1(MQCACF_TO_STORAGE_CLASS ), + DEF_VALS1(MQCACF_TO_SUB_NAME ), + DEF_VALS1(MQCACF_TO_TOPIC_NAME ), + DEF_VALS1(MQCACF_TRANSACTION_ID ), + DEF_VALS1(MQCACF_UOW_LOG_EXTENT_NAME ), + DEF_VALS1(MQCACF_UOW_LOG_START_DATE ), + DEF_VALS1(MQCACF_UOW_LOG_START_TIME ), + DEF_VALS1(MQCACF_UOW_START_DATE ), + DEF_VALS1(MQCACF_UOW_START_TIME ), + DEF_VALS1(MQCACF_USAGE_LOG_LRSN ), + DEF_VALS1(MQCACF_USAGE_LOG_RBA ), + DEF_VALS1(MQCACF_USER_IDENTIFIER ), + DEF_VALS1(MQCACF_VALUE_NAME ), + + DEF_VALS1(MQCACH_CHANNEL_NAME ), + DEF_VALS1(MQCACH_CHANNEL_NAMES ), + DEF_VALS1(MQCACH_CHANNEL_START_DATE ), + DEF_VALS1(MQCACH_CHANNEL_START_TIME ), + DEF_VALS1(MQCACH_CONNECTION_NAME ), + DEF_VALS1(MQCACH_CURRENT_LUWID ), + DEF_VALS1(MQCACH_DESC ), + DEF_VALS1(MQCACH_FORMAT_NAME ), + DEF_VALS1(MQCACH_IP_ADDRESS ), + DEF_VALS1(MQCACH_LAST_LUWID ), + DEF_VALS1(MQCACH_LAST_MSG_DATE ), + DEF_VALS1(MQCACH_LAST_MSG_TIME ), + DEF_VALS1(MQCACH_LISTENER_DESC ), + DEF_VALS1(MQCACH_LISTENER_NAME ), + DEF_VALS1(MQCACH_LISTENER_START_DATE ), + DEF_VALS1(MQCACH_LISTENER_START_TIME ), + DEF_VALS1(MQCACH_LOCAL_ADDRESS ), + DEF_VALS1(MQCACH_LOCAL_NAME ), + DEF_VALS1(MQCACH_LU_NAME ), + DEF_VALS1(MQCACH_MCA_JOB_NAME ), + DEF_VALS1(MQCACH_MCA_NAME ), + DEF_VALS1(MQCACH_MCA_USER_ID ), + DEF_VALS1(MQCACH_MODE_NAME ), + DEF_VALS1(MQCACH_MR_EXIT_NAME ), + DEF_VALS1(MQCACH_MR_EXIT_USER_DATA ), + DEF_VALS1(MQCACH_MSG_EXIT_NAME ), + DEF_VALS1(MQCACH_MSG_EXIT_USER_DATA ), + DEF_VALS1(MQCACH_PASSWORD ), + DEF_VALS1(MQCACH_RCV_EXIT_NAME ), + DEF_VALS1(MQCACH_RCV_EXIT_USER_DATA ), + DEF_VALS1(MQCACH_REMOTE_APPL_TAG ), + DEF_VALS1(MQCACH_SEC_EXIT_NAME ), + DEF_VALS1(MQCACH_SEC_EXIT_USER_DATA ), + DEF_VALS1(MQCACH_SEND_EXIT_NAME ), + DEF_VALS1(MQCACH_SEND_EXIT_USER_DATA ), + DEF_VALS1(MQCACH_SSL_CERT_ISSUER_NAME ), + DEF_VALS1(MQCACH_SSL_CERT_USER_ID ), + DEF_VALS1(MQCACH_SSL_CIPHER_SPEC ), + DEF_VALS1(MQCACH_SSL_HANDSHAKE_STAGE ), + DEF_VALS1(MQCACH_SSL_KEY_RESET_DATE ), + DEF_VALS1(MQCACH_SSL_KEY_RESET_TIME ), + DEF_VALS1(MQCACH_SSL_PEER_NAME ), + DEF_VALS1(MQCACH_SSL_SHORT_PEER_NAME ), + DEF_VALS1(MQCACH_TCP_NAME ), + DEF_VALS1(MQCACH_TP_NAME ), + DEF_VALS1(MQCACH_USER_ID ), + DEF_VALS1(MQCACH_XMIT_Q_NAME ), + DEF_VALS1(MQCAMO_CLOSE_DATE ), + DEF_VALS1(MQCAMO_CLOSE_TIME ), + DEF_VALS1(MQCAMO_CONN_DATE ), + DEF_VALS1(MQCAMO_CONN_TIME ), + DEF_VALS1(MQCAMO_DISC_DATE ), + DEF_VALS1(MQCAMO_DISC_TIME ), + DEF_VALS1(MQCAMO_END_DATE ), + DEF_VALS1(MQCAMO_END_TIME ), + DEF_VALS1(MQCAMO_OPEN_DATE ), + DEF_VALS1(MQCAMO_OPEN_TIME ), + DEF_VALS1(MQCAMO_START_DATE ), + DEF_VALS1(MQCAMO_START_TIME ), + + DEF_VALS1(MQCA_ADMIN_TOPIC_NAME ), + DEF_VALS1(MQCA_ALTERATION_DATE ), + DEF_VALS1(MQCA_ALTERATION_TIME ), + DEF_VALS1(MQCA_APPL_ID ), + DEF_VALS1(MQCA_AUTH_INFO_CONN_NAME ), + DEF_VALS1(MQCA_AUTH_INFO_DESC ), + DEF_VALS1(MQCA_AUTH_INFO_NAME ), + DEF_VALS1(MQCA_AUTH_INFO_OCSP_URL ), + DEF_VALS1(MQCA_AUTO_REORG_CATALOG ), + DEF_VALS1(MQCA_AUTO_REORG_START_TIME ), + DEF_VALS1(MQCA_BACKOUT_REQ_Q_NAME ), + DEF_VALS2(MQCA_BASE_Q_NAME,"MQCA_BASE_OBJECT_NAME"), + DEF_VALS1(MQCA_BATCH_INTERFACE_ID ), + DEF_VALS1(MQCA_CF_STRUC_DESC ), + DEF_VALS1(MQCA_CF_STRUC_NAME ), + DEF_VALS1(MQCA_CHANNEL_AUTO_DEF_EXIT ), + DEF_VALS1(MQCA_CHILD ), + DEF_VALS1(MQCA_CHINIT_SERVICE_PARM ), + DEF_VALS1(MQCA_CICS_FILE_NAME ), + DEF_VALS1(MQCA_CLUSTER_DATE ), + DEF_VALS1(MQCA_CLUSTER_NAME ), + DEF_VALS1(MQCA_CLUSTER_NAMELIST ), + DEF_VALS1(MQCA_CLUSTER_Q_MGR_NAME ), + DEF_VALS1(MQCA_CLUSTER_TIME ), + DEF_VALS1(MQCA_CLUSTER_WORKLOAD_DATA ), + DEF_VALS1(MQCA_CLUSTER_WORKLOAD_EXIT ), + DEF_VALS1(MQCA_COMMAND_INPUT_Q_NAME ), + DEF_VALS1(MQCA_COMMAND_REPLY_Q_NAME ), + DEF_VALS1(MQCA_CREATION_DATE ), + DEF_VALS1(MQCA_CREATION_TIME ), + DEF_VALS1(MQCA_DEAD_LETTER_Q_NAME ), + DEF_VALS1(MQCA_DEF_XMIT_Q_NAME ), + DEF_VALS1(MQCA_DNS_GROUP ), + DEF_VALS1(MQCA_ENV_DATA ), + DEF_VALS1(MQCA_IGQ_USER_ID ), + DEF_VALS1(MQCA_INITIATION_Q_NAME ), + DEF_VALS1(MQCA_LDAP_PASSWORD ), + DEF_VALS1(MQCA_LDAP_USER_NAME ), + DEF_VALS1(MQCA_LU62_ARM_SUFFIX ), + DEF_VALS1(MQCA_LU_GROUP_NAME ), + DEF_VALS1(MQCA_LU_NAME ), + DEF_VALS1(MQCA_MODEL_DURABLE_Q ), + DEF_VALS1(MQCA_MODEL_NON_DURABLE_Q ), + DEF_VALS1(MQCA_MONITOR_Q_NAME ), + DEF_VALS1(MQCA_NAMELIST_DESC ), + DEF_VALS1(MQCA_NAMELIST_NAME ), + DEF_VALS1(MQCA_NAMES ), + DEF_VALS1(MQCA_PARENT ), + DEF_VALS1(MQCA_PASS_TICKET_APPL ), + DEF_VALS1(MQCA_PROCESS_DESC ), + DEF_VALS1(MQCA_PROCESS_NAME ), + DEF_VALS1(MQCA_QSG_NAME ), + DEF_VALS1(MQCA_Q_DESC ), + DEF_VALS1(MQCA_Q_MGR_DESC ), + DEF_VALS1(MQCA_Q_MGR_IDENTIFIER ), + DEF_VALS1(MQCA_Q_MGR_NAME ), + DEF_VALS1(MQCA_Q_NAME ), + DEF_VALS1(MQCA_REMOTE_Q_MGR_NAME ), + DEF_VALS1(MQCA_REMOTE_Q_NAME ), + DEF_VALS1(MQCA_REPOSITORY_NAME ), + DEF_VALS1(MQCA_REPOSITORY_NAMELIST ), + DEF_VALS1(MQCA_RESUME_DATE ), + DEF_VALS1(MQCA_RESUME_TIME ), + DEF_VALS1(MQCA_SERVICE_DESC ), + DEF_VALS1(MQCA_SERVICE_NAME ), + DEF_VALS1(MQCA_SERVICE_START_ARGS ), + DEF_VALS1(MQCA_SERVICE_START_COMMAND ), + DEF_VALS1(MQCA_SERVICE_STOP_ARGS ), + DEF_VALS1(MQCA_SERVICE_STOP_COMMAND ), + DEF_VALS1(MQCA_SSL_CRL_NAMELIST ), + DEF_VALS1(MQCA_SSL_CRYPTO_HARDWARE ), + DEF_VALS1(MQCA_SSL_KEY_LIBRARY ), + DEF_VALS1(MQCA_SSL_KEY_MEMBER ), + DEF_VALS1(MQCA_SSL_KEY_REPOSITORY ), + DEF_VALS1(MQCA_STDERR_DESTINATION ), + DEF_VALS1(MQCA_STDOUT_DESTINATION ), + DEF_VALS1(MQCA_STORAGE_CLASS ), + DEF_VALS1(MQCA_STORAGE_CLASS_DESC ), + DEF_VALS1(MQCA_SYSTEM_LOG_Q_NAME ), + DEF_VALS1(MQCA_TCP_NAME ), + DEF_VALS1(MQCA_TOPIC_DESC ), + DEF_VALS1(MQCA_TOPIC_NAME ), + DEF_VALS1(MQCA_TOPIC_STRING ), + DEF_VALS1(MQCA_TOPIC_STRING_FILTER ), + DEF_VALS1(MQCA_TPIPE_NAME ), + DEF_VALS1(MQCA_TRIGGER_CHANNEL_NAME ), + DEF_VALS1(MQCA_TRIGGER_DATA ), + DEF_VALS1(MQCA_TRIGGER_PROGRAM_NAME ), + DEF_VALS1(MQCA_TRIGGER_TERM_ID ), + DEF_VALS1(MQCA_TRIGGER_TRANS_ID ), + DEF_VALS1(MQCA_USER_DATA ), + DEF_VALS1(MQCA_USER_LIST ), + DEF_VALS1(MQCA_XCF_GROUP_NAME ), + DEF_VALS1(MQCA_XCF_MEMBER_NAME ), + DEF_VALS1(MQCA_XR_VERSION2 ), + DEF_VALS1(MQCA_XMIT_Q_NAME ), + DEF_VALS1(MQCA_CHLAUTH_DESC ), + DEF_VALS1(MQCA_CLUS_CHL_NAME ), + DEF_VALS1(MQCA_COMM_INFO_NAME ), + DEF_VALS1(MQCA_COMM_INFO_DESC ), + DEF_VALS1(MQCA_CUSTOM ), + DEF_VALS1(MQCA_INSTALLATION_DESC ), + DEF_VALS1(MQCA_INSTALLATION_NAME ), + DEF_VALS1(MQCA_INSTALLATION_PATH ), + DEF_VALS1(MQCA_POLICY_NAME ), + DEF_VALS1(MQCA_RECIPIENT_DN ), + DEF_VALS1(MQCA_SIGNER_DN ), + DEF_VALS1(MQCA_XR_VERSION ), + DEF_VALS1(MQCA_XR_SSL_CIPHER_SUITES ), + DEF_VALS1(MQGACF_ACTIVITY ), + DEF_VALS1(MQGACF_CHL_STATISTICS_DATA ), + DEF_VALS1(MQGACF_COMMAND_CONTEXT ), + DEF_VALS1(MQGACF_COMMAND_DATA ), + DEF_VALS1(MQGACF_EMBEDDED_MQMD ), + DEF_VALS1(MQGACF_MESSAGE ), + DEF_VALS1(MQGACF_MQMD ), + DEF_VALS1(MQGACF_OPERATION ), + DEF_VALS1(MQGACF_Q_ACCOUNTING_DATA ), + DEF_VALS1(MQGACF_Q_STATISTICS_DATA ), + DEF_VALS1(MQGACF_TRACE_ROUTE ), + DEF_VALS1(MQGACF_VALUE_NAMING ), + DEF_VALS1(MQIACF_ACTION ), + DEF_VALS1(MQIACF_ALL ), + DEF_VALS1(MQIACF_ANONYMOUS_COUNT ), + DEF_VALS1(MQIACF_APPL_COUNT ), + DEF_VALS1(MQIACF_ASYNC_STATE ), + DEF_VALS1(MQIACF_AUTHORIZATION_LIST ), + DEF_VALS1(MQIACF_AUTH_ADD_AUTHS ), + DEF_VALS1(MQIACF_AUTH_INFO_ATTRS ), + DEF_VALS1(MQIACF_AUTH_OPTIONS ), + DEF_VALS1(MQIACF_AUTH_PROFILE_ATTRS ), + DEF_VALS1(MQIACF_AUTH_REMOVE_AUTHS ), + DEF_VALS1(MQIACF_AUTH_SERVICE_ATTRS ), + DEF_VALS1(MQIACF_AUX_ERROR_DATA_INT_1 ), + DEF_VALS1(MQIACF_AUX_ERROR_DATA_INT_2 ), + DEF_VALS1(MQIACF_BACKOUT_COUNT ), + DEF_VALS1(MQIACF_BRIDGE_TYPE ), + DEF_VALS1(MQIACF_BROKER_COUNT ), + DEF_VALS1(MQIACF_BROKER_OPTIONS ), + DEF_VALS1(MQIACF_BUFFER_POOL_ID ), + DEF_VALS1(MQIACF_CF_STATUS_BACKUP ), + DEF_VALS1(MQIACF_CF_STATUS_CONNECT ), + DEF_VALS1(MQIACF_CF_STATUS_SUMMARY ), + DEF_VALS1(MQIACF_CF_STATUS_TYPE ), + DEF_VALS1(MQIACF_CF_STRUC_ATTRS ), + DEF_VALS1(MQIACF_CF_STRUC_BACKUP_SIZE ), + DEF_VALS1(MQIACF_CF_STRUC_ENTRIES_MAX ), + DEF_VALS1(MQIACF_CF_STRUC_ENTRIES_USED ), + DEF_VALS1(MQIACF_CF_STRUC_SIZE_MAX ), + DEF_VALS1(MQIACF_CF_STRUC_SIZE_USED ), + DEF_VALS1(MQIACF_CF_STRUC_STATUS ), + DEF_VALS1(MQIACF_CF_STRUC_TYPE ), + DEF_VALS1(MQIACF_CHANNEL_ATTRS ), + DEF_VALS1(MQIACF_CHINIT_STATUS ), + DEF_VALS1(MQIACF_CLEAR_SCOPE ), + DEF_VALS1(MQIACF_CLEAR_TYPE ), + DEF_VALS1(MQIACF_CLUSTER_INFO ), + DEF_VALS1(MQIACF_CLUSTER_Q_MGR_ATTRS ), + DEF_VALS1(MQIACF_CMDSCOPE_Q_MGR_COUNT ), + DEF_VALS1(MQIACF_CMD_SERVER_STATUS ), + DEF_VALS1(MQIACF_COMMAND ), + DEF_VALS1(MQIACF_COMMAND_INFO ), + DEF_VALS1(MQIACF_COMP_CODE ), + DEF_VALS1(MQIACF_CONFIGURATION_EVENTS ), + DEF_VALS1(MQIACF_CONFIGURATION_OBJECTS ), + DEF_VALS1(MQIACF_CONNECTION_ATTRS ), + DEF_VALS1(MQIACF_CONNECTION_COUNT ), + DEF_VALS1(MQIACF_CONNECT_OPTIONS ), + DEF_VALS1(MQIACF_CONN_INFO_ALL ), + DEF_VALS1(MQIACF_CONN_INFO_CONN ), + DEF_VALS1(MQIACF_CONN_INFO_HANDLE ), + DEF_VALS1(MQIACF_CONN_INFO_TYPE ), + DEF_VALS1(MQIACF_CONV_REASON_CODE ), + DEF_VALS1(MQIACF_DB2_CONN_STATUS ), + DEF_VALS1(MQIACF_DELETE_OPTIONS ), + DEF_VALS1(MQIACF_DESTINATION_CLASS ), + DEF_VALS1(MQIACF_DISCONTINUITY_COUNT ), + DEF_VALS1(MQIACF_DURABLE_SUBSCRIPTION ), + DEF_VALS1(MQIACF_ENCODING ), + DEF_VALS1(MQIACF_ENTITY_TYPE ), + DEF_VALS2(MQIACF_ERROR_IDENTIFIER,"MQIACF_ERROR_ID"), + DEF_VALS1(MQIACF_ERROR_OFFSET ), + DEF_VALS1(MQIACF_ESCAPE_TYPE ), + DEF_VALS1(MQIACF_EVENT_APPL_TYPE ), + DEF_VALS1(MQIACF_EVENT_ORIGIN ), + DEF_VALS1(MQIACF_EXCLUDE_INTERVAL ), + DEF_VALS1(MQIACF_EXPIRY ), + DEF_VALS1(MQIACF_EXPIRY_Q_COUNT ), + DEF_VALS1(MQIACF_FEEDBACK ), + DEF_VALS1(MQIACF_FORCE ), + DEF_VALS1(MQIACF_GROUPUR_CHECK_ID ), + DEF_VALS1(MQIACF_HANDLE_STATE ), + DEF_VALS1(MQIACF_INQUIRY ), + DEF_VALS1(MQIACF_INTEGER_DATA ), + DEF_VALS1(MQIACF_INTERFACE_VERSION ), + DEF_VALS1(MQIACF_LISTENER_ATTRS ), + DEF_VALS1(MQIACF_LISTENER_STATUS_ATTRS ), + DEF_VALS1(MQIACF_LOG_COMPRESSION ), + DEF_VALS1(MQIACF_MAX_ACTIVITIES ), + DEF_VALS1(MQIACF_MESSAGE_COUNT ), + DEF_VALS2(MQIACF_MODE,"MQIACF_QUIESCE"), + DEF_VALS1(MQIACF_MONITORING ), + DEF_VALS1(MQIACF_MOVE_COUNT ), + DEF_VALS1(MQIACF_MOVE_TYPE ), + DEF_VALS1(MQIACF_MOVE_TYPE_ADD ), + DEF_VALS1(MQIACF_MOVE_TYPE_MOVE ), + DEF_VALS1(MQIACF_MSG_FLAGS ), + DEF_VALS1(MQIACF_MSG_LENGTH ), + DEF_VALS1(MQIACF_MSG_TYPE ), + DEF_VALS1(MQIACF_MULC_CAPTURE ), + DEF_VALS1(MQIACF_NAMELIST_ATTRS ), + DEF_VALS1(MQIACF_OBJECT_TYPE ), + DEF_VALS1(MQIACF_OBSOLETE_MSGS ), + DEF_VALS1(MQIACF_OFFSET ), + DEF_VALS1(MQIACF_OLDEST_MSG_AGE ), + DEF_VALS1(MQIACF_OPEN_BROWSE ), + DEF_VALS1(MQIACF_OPEN_INPUT_TYPE ), + DEF_VALS1(MQIACF_OPEN_INQUIRE ), + DEF_VALS1(MQIACF_OPEN_OPTIONS ), + DEF_VALS1(MQIACF_OPEN_OUTPUT ), + DEF_VALS1(MQIACF_OPEN_SET ), + DEF_VALS1(MQIACF_OPEN_TYPE ), + DEF_VALS1(MQIACF_OPERATION_MODE ), + DEF_VALS1(MQIACF_OPERATION_TYPE ), + DEF_VALS1(MQIACF_OPTIONS ), + DEF_VALS1(MQIACF_ORIGINAL_LENGTH ), + DEF_VALS1(MQIACF_PAGESET_STATUS ), + DEF_VALS1(MQIACF_PARAMETER_ID ), + DEF_VALS1(MQIACF_PERMIT_STANDBY ), + DEF_VALS1(MQIACF_PERSISTENCE ), + DEF_VALS1(MQIACF_PRIORITY ), + DEF_VALS1(MQIACF_PROCESS_ATTRS ), + DEF_VALS1(MQIACF_PROCESS_ID ), + DEF_VALS1(MQIACF_PS_STATUS_TYPE ), + DEF_VALS1(MQIACF_PUBLICATION_OPTIONS ), + DEF_VALS1(MQIACF_PUBLISH_COUNT ), + DEF_VALS1(MQIACF_PUBSUB_PROPERTIES ), + DEF_VALS1(MQIACF_PUBSUB_STATUS ), + DEF_VALS1(MQIACF_PUBSUB_STATUS_ATTRS ), + DEF_VALS1(MQIACF_PUB_PRIORITY ), + DEF_VALS1(MQIACF_PURGE ), + DEF_VALS1(MQIACF_QSG_DISPS ), + DEF_VALS1(MQIACF_Q_ATTRS ), + DEF_VALS1(MQIACF_Q_HANDLE ), + DEF_VALS1(MQIACF_Q_MGR_ATTRS ), + DEF_VALS1(MQIACF_Q_MGR_CLUSTER ), + DEF_VALS1(MQIACF_Q_MGR_DEFINITION_TYPE ), + DEF_VALS1(MQIACF_Q_MGR_DQM ), + DEF_VALS1(MQIACF_Q_MGR_EVENT ), + DEF_VALS1(MQIACF_Q_MGR_FACILITY ), + DEF_VALS1(MQIACF_Q_MGR_NUMBER ), + DEF_VALS1(MQIACF_Q_MGR_PUBSUB ), + DEF_VALS1(MQIACF_Q_MGR_STATUS ), + DEF_VALS1(MQIACF_Q_MGR_STATUS_ATTRS ), + DEF_VALS1(MQIACF_Q_MGR_SYSTEM ), + DEF_VALS1(MQIACF_Q_MGR_TYPE ), + DEF_VALS1(MQIACF_Q_MGR_VERSION ), + DEF_VALS1(MQIACF_Q_STATUS ), + DEF_VALS1(MQIACF_Q_STATUS_ATTRS ), + DEF_VALS1(MQIACF_Q_STATUS_TYPE ), + DEF_VALS1(MQIACF_Q_TIME_INDICATOR ), + DEF_VALS1(MQIACF_Q_TYPES ), + DEF_VALS1(MQIACF_REASON_CODE ), + DEF_VALS1(MQIACF_REASON_QUALIFIER ), + DEF_VALS1(MQIACF_RECORDED_ACTIVITIES ), + DEF_VALS1(MQIACF_REFRESH_INTERVAL ), + DEF_VALS1(MQIACF_REFRESH_REPOSITORY ), + DEF_VALS1(MQIACF_REFRESH_TYPE ), + DEF_VALS1(MQIACF_REGISTRATION_OPTIONS ), + DEF_VALS1(MQIACF_REG_REG_OPTIONS ), + DEF_VALS1(MQIACF_REMOVE_QUEUES ), + DEF_VALS1(MQIACF_REPLACE ), + DEF_VALS1(MQIACF_REPORT ), + DEF_VALS1(MQIACF_REQUEST_ONLY ), + DEF_VALS1(MQIACF_RETAINED_PUBLICATION ), + DEF_VALS1(MQIACF_ROUTE_ACCUMULATION ), + DEF_VALS1(MQIACF_ROUTE_DELIVERY ), + DEF_VALS1(MQIACF_ROUTE_DETAIL ), + DEF_VALS1(MQIACF_ROUTE_FORWARDING ), + DEF_VALS1(MQIACF_SECURITY_ATTRS ), + DEF_VALS1(MQIACF_SECURITY_INTERVAL ), + DEF_VALS1(MQIACF_SECURITY_ITEM ), + DEF_VALS1(MQIACF_SECURITY_SETTING ), + DEF_VALS1(MQIACF_SECURITY_SWITCH ), + DEF_VALS1(MQIACF_SECURITY_TIMEOUT ), + DEF_VALS1(MQIACF_SECURITY_TYPE ), + DEF_VALS1(MQIACF_SELECTOR ), + DEF_VALS1(MQIACF_SELECTOR_TYPE ), + DEF_VALS1(MQIACF_SEQUENCE_NUMBER ), + DEF_VALS1(MQIACF_SERVICE_ATTRS ), + DEF_VALS1(MQIACF_SERVICE_STATUS ), + DEF_VALS1(MQIACF_SERVICE_STATUS_ATTRS ), + DEF_VALS1(MQIACF_STORAGE_CLASS_ATTRS ), + DEF_VALS1(MQIACF_SUBSCRIPTION_SCOPE ), + DEF_VALS1(MQIACF_SUB_ATTRS ), + DEF_VALS1(MQIACF_SUB_LEVEL ), + DEF_VALS1(MQIACF_SUB_OPTIONS ), + DEF_VALS1(MQIACF_SUB_STATUS_ATTRS ), + DEF_VALS1(MQIACF_SUB_SUMMARY ), + DEF_VALS1(MQIACF_SUB_TYPE ), + DEF_VALS1(MQIACF_SUSPEND ), + DEF_VALS1(MQIACF_SYSP_ALLOC_PRIMARY ), + DEF_VALS1(MQIACF_SYSP_ALLOC_SECONDARY ), + DEF_VALS1(MQIACF_SYSP_ALLOC_UNIT ), + DEF_VALS1(MQIACF_SYSP_ARCHIVE ), + DEF_VALS1(MQIACF_SYSP_ARCHIVE_RETAIN ), + DEF_VALS1(MQIACF_SYSP_ARCHIVE_WTOR ), + DEF_VALS1(MQIACF_SYSP_BLOCK_SIZE ), + DEF_VALS1(MQIACF_SYSP_CATALOG ), + DEF_VALS1(MQIACF_SYSP_CHKPOINT_COUNT ), + DEF_VALS1(MQIACF_SYSP_CLUSTER_CACHE ), + DEF_VALS1(MQIACF_SYSP_COMPACT ), + DEF_VALS1(MQIACF_SYSP_DB2_BLOB_TASKS ), + DEF_VALS1(MQIACF_SYSP_DB2_TASKS ), + DEF_VALS1(MQIACF_SYSP_DEALLOC_INTERVAL ), + DEF_VALS1(MQIACF_SYSP_DUAL_ACTIVE ), + DEF_VALS1(MQIACF_SYSP_DUAL_ARCHIVE ), + DEF_VALS1(MQIACF_SYSP_DUAL_BSDS ), + DEF_VALS1(MQIACF_SYSP_EXIT_INTERVAL ), + DEF_VALS1(MQIACF_SYSP_EXIT_TASKS ), + DEF_VALS1(MQIACF_SYSP_FULL_LOGS ), + DEF_VALS1(MQIACF_SYSP_IN_BUFFER_SIZE ), + DEF_VALS1(MQIACF_SYSP_LOG_COPY ), + DEF_VALS1(MQIACF_SYSP_LOG_SUSPEND ), + DEF_VALS1(MQIACF_SYSP_LOG_USED ), + DEF_VALS1(MQIACF_SYSP_MAX_ARCHIVE ), + DEF_VALS1(MQIACF_SYSP_MAX_CONNS ), + DEF_VALS1(MQIACF_SYSP_MAX_CONNS_BACK ), + DEF_VALS1(MQIACF_SYSP_MAX_CONNS_FORE ), + DEF_VALS1(MQIACF_SYSP_MAX_READ_TAPES ), + DEF_VALS1(MQIACF_SYSP_OFFLOAD_STATUS ), + DEF_VALS1(MQIACF_SYSP_OTMA_INTERVAL ), + DEF_VALS1(MQIACF_SYSP_OUT_BUFFER_COUNT ), + DEF_VALS1(MQIACF_SYSP_OUT_BUFFER_SIZE ), + DEF_VALS1(MQIACF_SYSP_PROTECT ), + DEF_VALS1(MQIACF_SYSP_QUIESCE_INTERVAL ), + DEF_VALS1(MQIACF_SYSP_Q_INDEX_DEFER ), + DEF_VALS1(MQIACF_SYSP_RESLEVEL_AUDIT ), + DEF_VALS1(MQIACF_SYSP_ROUTING_CODE ), + DEF_VALS1(MQIACF_SYSP_SMF_ACCOUNTING ), + DEF_VALS1(MQIACF_SYSP_SMF_INTERVAL ), + DEF_VALS1(MQIACF_SYSP_SMF_STATS ), + DEF_VALS1(MQIACF_SYSP_TIMESTAMP ), + DEF_VALS1(MQIACF_SYSP_TOTAL_LOGS ), + DEF_VALS1(MQIACF_SYSP_TRACE_CLASS ), + DEF_VALS1(MQIACF_SYSP_TRACE_SIZE ), + DEF_VALS1(MQIACF_SYSP_TYPE ), + DEF_VALS1(MQIACF_SYSP_UNIT_ADDRESS ), + DEF_VALS1(MQIACF_SYSP_UNIT_STATUS ), + DEF_VALS1(MQIACF_SYSP_WLM_INTERVAL ), + DEF_VALS1(MQIACF_SYSP_WLM_INT_UNITS ), + DEF_VALS1(MQIACF_THREAD_ID ), + DEF_VALS1(MQIACF_TOPIC_ATTRS ), + DEF_VALS1(MQIACF_TOPIC_PUB ), + DEF_VALS1(MQIACF_TOPIC_STATUS ), + DEF_VALS1(MQIACF_TOPIC_STATUS_ATTRS ), + DEF_VALS1(MQIACF_TOPIC_STATUS_TYPE ), + DEF_VALS1(MQIACF_TOPIC_SUB ), + DEF_VALS1(MQIACF_UNCOMMITTED_MSGS ), + DEF_VALS1(MQIACF_UNRECORDED_ACTIVITIES ), + DEF_VALS1(MQIACF_UOW_STATE ), + DEF_VALS1(MQIACF_UOW_TYPE ), + DEF_VALS1(MQIACF_USAGE_BUFFER_POOL ), + DEF_VALS1(MQIACF_USAGE_DATA_SET ), + DEF_VALS1(MQIACF_USAGE_DATA_SET_TYPE ), + DEF_VALS1(MQIACF_USAGE_EXPAND_COUNT ), + DEF_VALS1(MQIACF_USAGE_EXPAND_TYPE ), + DEF_VALS1(MQIACF_USAGE_NONPERSIST_PAGES ), + DEF_VALS1(MQIACF_USAGE_PAGESET ), + DEF_VALS1(MQIACF_USAGE_PERSIST_PAGES ), + DEF_VALS1(MQIACF_USAGE_RESTART_EXTENTS ), + DEF_VALS1(MQIACF_USAGE_TOTAL_BUFFERS ), + DEF_VALS1(MQIACF_USAGE_TOTAL_PAGES ), + DEF_VALS1(MQIACF_USAGE_TYPE ), + DEF_VALS1(MQIACF_USAGE_UNUSED_PAGES ), + DEF_VALS1(MQIACF_USER_ID_SUPPORT ), + DEF_VALS1(MQIACF_VARIABLE_USER_ID ), + DEF_VALS1(MQIACF_VERSION ), + DEF_VALS1(MQIACF_WAIT_INTERVAL ), + DEF_VALS1(MQIACF_WILDCARD_SCHEMA ), + DEF_VALS1(MQIACF_MCAST_REL_INDICATOR ), + DEF_VALS1(MQIACH_ACTIVE_CHL ), + DEF_VALS1(MQIACH_ACTIVE_CHL_MAX ), + DEF_VALS1(MQIACH_ACTIVE_CHL_PAUSED ), + DEF_VALS1(MQIACH_ACTIVE_CHL_RETRY ), + DEF_VALS1(MQIACH_ACTIVE_CHL_STARTED ), + DEF_VALS1(MQIACH_ACTIVE_CHL_STOPPED ), + DEF_VALS1(MQIACH_ADAPS_MAX ), + DEF_VALS1(MQIACH_ADAPS_STARTED ), + DEF_VALS1(MQIACH_ADAPTER ), + DEF_VALS1(MQIACH_ALLOC_FAST_TIMER ), + DEF_VALS1(MQIACH_ALLOC_RETRY ), + DEF_VALS1(MQIACH_ALLOC_SLOW_TIMER ), + DEF_VALS1(MQIACH_BACKLOG ), + DEF_VALS1(MQIACH_BATCHES ), + DEF_VALS1(MQIACH_BATCH_HB ), + DEF_VALS1(MQIACH_BATCH_INTERVAL ), + DEF_VALS1(MQIACH_BATCH_SIZE ), + DEF_VALS1(MQIACH_BATCH_SIZE_INDICATOR ), + DEF_VALS2(MQIACH_BUFFERS_RECEIVED,"MQIACH_BUFFERS_RCVD"), + DEF_VALS1(MQIACH_BUFFERS_SENT ), + DEF_VALS2(MQIACH_BYTES_RECEIVED,"MQIACH_BYTES_RCVD"), + DEF_VALS1(MQIACH_BYTES_SENT ), + DEF_VALS1(MQIACH_CHANNEL_DISP ), + DEF_VALS1(MQIACH_CHANNEL_ERROR_DATA ), + DEF_VALS1(MQIACH_CHANNEL_INSTANCE_ATTRS ), + DEF_VALS1(MQIACH_CHANNEL_INSTANCE_TYPE ), + DEF_VALS1(MQIACH_CHANNEL_STATUS ), + DEF_VALS1(MQIACH_CHANNEL_SUBSTATE ), + DEF_VALS1(MQIACH_CHANNEL_TABLE ), + DEF_VALS1(MQIACH_CHANNEL_TYPE ), + DEF_VALS1(MQIACH_CHANNEL_TYPES ), + DEF_VALS1(MQIACH_CLIENT_CHANNEL_WEIGHT ), + DEF_VALS1(MQIACH_CLWL_CHANNEL_PRIORITY ), + DEF_VALS1(MQIACH_CLWL_CHANNEL_RANK ), + DEF_VALS1(MQIACH_CLWL_CHANNEL_WEIGHT ), + DEF_VALS1(MQIACH_COMMAND_COUNT ), + DEF_VALS1(MQIACH_COMPRESSION_RATE ), + DEF_VALS1(MQIACH_COMPRESSION_TIME ), + DEF_VALS1(MQIACH_CONNECTION_AFFINITY ), + DEF_VALS1(MQIACH_CURRENT_CHL ), + DEF_VALS1(MQIACH_CURRENT_CHL_LU62 ), + DEF_VALS1(MQIACH_CURRENT_CHL_MAX ), + DEF_VALS1(MQIACH_CURRENT_CHL_TCP ), + DEF_VALS1(MQIACH_CURRENT_MSGS ), + DEF_VALS2(MQIACH_CURRENT_SEQUENCE_NUMBER,"MQIACH_CURRENT_SEQ_NUMBER"), + DEF_VALS1(MQIACH_CURRENT_SHARING_CONVS ), + DEF_VALS1(MQIACH_DATA_CONVERSION ), + DEF_VALS1(MQIACH_DATA_COUNT ), + DEF_VALS1(MQIACH_DEF_CHANNEL_DISP ), + DEF_VALS1(MQIACH_DISC_INTERVAL ), + DEF_VALS1(MQIACH_DISC_RETRY ), + DEF_VALS1(MQIACH_DISPS_MAX ), + DEF_VALS1(MQIACH_DISPS_STARTED ), + DEF_VALS1(MQIACH_EXIT_TIME_INDICATOR ), + DEF_VALS1(MQIACH_HB_INTERVAL ), + DEF_VALS1(MQIACH_HDR_COMPRESSION ), + DEF_VALS1(MQIACH_INBOUND_DISP ), + DEF_VALS1(MQIACH_INDOUBT_STATUS ), + DEF_VALS1(MQIACH_IN_DOUBT ), + DEF_VALS1(MQIACH_KEEP_ALIVE_INTERVAL ), + DEF_VALS2(MQIACH_LAST_SEQUENCE_NUMBER,"MQIACH_LAST_SEQ_NUMBER"), + DEF_VALS1(MQIACH_LISTENER_CONTROL ), + DEF_VALS1(MQIACH_LISTENER_STATUS ), + DEF_VALS1(MQIACH_LONG_RETRIES_LEFT ), + DEF_VALS1(MQIACH_LONG_RETRY ), + DEF_VALS1(MQIACH_LONG_TIMER ), + DEF_VALS1(MQIACH_MAX_INSTANCES ), + DEF_VALS1(MQIACH_MAX_INSTS_PER_CLIENT ), + DEF_VALS1(MQIACH_MAX_MSG_LENGTH ), + DEF_VALS1(MQIACH_MAX_SHARING_CONVS ), + DEF_VALS1(MQIACH_MAX_XMIT_SIZE ), + DEF_VALS1(MQIACH_MCA_STATUS ), + DEF_VALS1(MQIACH_MCA_TYPE ), + DEF_VALS1(MQIACH_MR_COUNT ), + DEF_VALS1(MQIACH_MR_INTERVAL ), + DEF_VALS1(MQIACH_MSGS ), + DEF_VALS1(MQIACH_MSG_COMPRESSION ), + DEF_VALS1(MQIACH_MSG_SEQUENCE_NUMBER ), + DEF_VALS1(MQIACH_NAME_COUNT ), + DEF_VALS1(MQIACH_NETWORK_PRIORITY ), + DEF_VALS1(MQIACH_NETWORK_TIME_INDICATOR ), + DEF_VALS1(MQIACH_NPM_SPEED ), + DEF_VALS1(MQIACH_PORT ), + DEF_VALS1(MQIACH_PORT_NUMBER ), + DEF_VALS1(MQIACH_PUT_AUTHORITY ), + DEF_VALS1(MQIACH_SEQUENCE_NUMBER_WRAP ), + DEF_VALS1(MQIACH_SESSION_COUNT ), + DEF_VALS1(MQIACH_SHARED_CHL_RESTART ), + DEF_VALS1(MQIACH_SHARING_CONVERSATIONS ), + DEF_VALS1(MQIACH_SHORT_RETRIES_LEFT ), + DEF_VALS1(MQIACH_SHORT_RETRY ), + DEF_VALS1(MQIACH_SHORT_TIMER ), + DEF_VALS1(MQIACH_SOCKET ), + DEF_VALS1(MQIACH_SSLTASKS_MAX ), + DEF_VALS1(MQIACH_SSLTASKS_STARTED ), + DEF_VALS1(MQIACH_SSL_CLIENT_AUTH ), + DEF_VALS1(MQIACH_SSL_KEY_RESETS ), + DEF_VALS1(MQIACH_SSL_RETURN_CODE ), + DEF_VALS1(MQIACH_STOP_REQUESTED ), + DEF_VALS1(MQIACH_XMITQ_MSGS_AVAILABLE ), + DEF_VALS1(MQIACH_XMITQ_TIME_INDICATOR ), + DEF_VALS1(MQIACH_XMIT_PROTOCOL_TYPE ), + DEF_VALS1(MQIAMO64_BROWSE_BYTES ), + DEF_VALS1(MQIAMO64_BYTES ), + DEF_VALS1(MQIAMO64_GET_BYTES ), + DEF_VALS1(MQIAMO64_PUBLISH_MSG_BYTES ), + DEF_VALS1(MQIAMO64_PUT_BYTES ), + DEF_VALS1(MQIAMO64_TOPIC_PUT_BYTES ), + DEF_VALS1(MQIAMO_AVG_BATCH_SIZE ), + DEF_VALS2(MQIAMO_AVG_Q_TIME,"MQIAMO64_AVG_Q_TIME"), + DEF_VALS1(MQIAMO_BACKOUTS ), + DEF_VALS1(MQIAMO_BROWSES ), + DEF_VALS1(MQIAMO_BROWSES_FAILED ), + DEF_VALS1(MQIAMO_BROWSE_MAX_BYTES ), + DEF_VALS1(MQIAMO_BROWSE_MIN_BYTES ), + DEF_VALS1(MQIAMO_CBS ), + DEF_VALS1(MQIAMO_CBS_FAILED ), + DEF_VALS1(MQIAMO_CLOSES ), + DEF_VALS1(MQIAMO_CLOSES_FAILED ), + DEF_VALS1(MQIAMO_COMMITS ), + DEF_VALS1(MQIAMO_COMMITS_FAILED ), + DEF_VALS1(MQIAMO_CONNS ), + DEF_VALS1(MQIAMO_CONNS_FAILED ), + DEF_VALS1(MQIAMO_CONNS_MAX ), + DEF_VALS1(MQIAMO_CTLS ), + DEF_VALS1(MQIAMO_CTLS_FAILED ), + DEF_VALS1(MQIAMO_DISCS ), + DEF_VALS1(MQIAMO_DISCS_IMPLICIT ), + DEF_VALS1(MQIAMO_DISC_TYPE ), + DEF_VALS1(MQIAMO_EXIT_TIME_AVG ), + DEF_VALS1(MQIAMO_EXIT_TIME_MAX ), + DEF_VALS1(MQIAMO_EXIT_TIME_MIN ), + DEF_VALS1(MQIAMO_FULL_BATCHES ), + DEF_VALS1(MQIAMO_GENERATED_MSGS ), + DEF_VALS1(MQIAMO_GETS ), + DEF_VALS1(MQIAMO_GETS_FAILED ), + DEF_VALS1(MQIAMO_GET_MAX_BYTES ), + DEF_VALS1(MQIAMO_GET_MIN_BYTES ), + DEF_VALS1(MQIAMO_INCOMPLETE_BATCHES ), + DEF_VALS1(MQIAMO_INQS ), + DEF_VALS1(MQIAMO_INQS_FAILED ), + DEF_VALS1(MQIAMO_MSGS ), + DEF_VALS1(MQIAMO_MSGS_EXPIRED ), + DEF_VALS1(MQIAMO_MSGS_NOT_QUEUED ), + DEF_VALS1(MQIAMO_MSGS_PURGED ), + DEF_VALS1(MQIAMO_NET_TIME_AVG ), + DEF_VALS1(MQIAMO_NET_TIME_MAX ), + DEF_VALS1(MQIAMO_NET_TIME_MIN ), + DEF_VALS1(MQIAMO_OBJECT_COUNT ), + DEF_VALS1(MQIAMO_OPENS ), + DEF_VALS1(MQIAMO_OPENS_FAILED ), + DEF_VALS1(MQIAMO_PUBLISH_MSG_COUNT ), + DEF_VALS1(MQIAMO_PUT1S ), + DEF_VALS1(MQIAMO_PUT1S_FAILED ), + DEF_VALS1(MQIAMO_PUTS ), + DEF_VALS1(MQIAMO_PUTS_FAILED ), + DEF_VALS1(MQIAMO_PUT_MAX_BYTES ), + DEF_VALS1(MQIAMO_PUT_MIN_BYTES ), + DEF_VALS1(MQIAMO_PUT_RETRIES ), + DEF_VALS1(MQIAMO_Q_MAX_DEPTH ), + DEF_VALS1(MQIAMO_Q_MIN_DEPTH ), + DEF_VALS2(MQIAMO_Q_TIME_AVG,"MQIAMO64_Q_TIME_AVG"), + DEF_VALS2(MQIAMO_Q_TIME_MAX,"MQIAMO64_Q_TIME_MAX"), + DEF_VALS2(MQIAMO_Q_TIME_MIN,"MQIAMO64_Q_TIME_MIN"), + DEF_VALS1(MQIAMO_SETS ), + DEF_VALS1(MQIAMO_SETS_FAILED ), + DEF_VALS1(MQIAMO_STATS ), + DEF_VALS1(MQIAMO_STATS_FAILED ), + DEF_VALS1(MQIAMO_SUBRQS ), + DEF_VALS1(MQIAMO_SUBRQS_FAILED ), + DEF_VALS1(MQIAMO_SUBS_DUR ), + DEF_VALS1(MQIAMO_SUBS_FAILED ), + DEF_VALS1(MQIAMO_SUBS_NDUR ), + DEF_VALS1(MQIAMO_SUB_DUR_HIGHWATER ), + DEF_VALS1(MQIAMO_SUB_DUR_LOWWATER ), + DEF_VALS1(MQIAMO_SUB_NDUR_HIGHWATER ), + DEF_VALS1(MQIAMO_SUB_NDUR_LOWWATER ), + DEF_VALS1(MQIAMO_TOPIC_PUT1S ), + DEF_VALS1(MQIAMO_TOPIC_PUT1S_FAILED ), + DEF_VALS1(MQIAMO_TOPIC_PUTS ), + DEF_VALS1(MQIAMO_TOPIC_PUTS_FAILED ), + DEF_VALS1(MQIAMO_UNSUBS_DUR ), + DEF_VALS1(MQIAMO_UNSUBS_FAILED ), + DEF_VALS1(MQIAMO_UNSUBS_NDUR ), + DEF_VALS1(MQIACH_AVAILABLE_CIPHERSPECS ), + DEF_VALS1(MQIACH_BATCH_DATA_LIMIT ), + DEF_VALS1(MQIACH_CHANNEL_SUMMARY_ATTRS ), + DEF_VALS1(MQIACH_DEF_RECONNECT ), + DEF_VALS1(MQIACH_MATCH ), + DEF_VALS2(MQIACH_MSGS_RECEIVED,"MQIACH_MSGS_RCVD"), + DEF_VALS1(MQIACH_MSGS_SENT ), + DEF_VALS1(MQIACH_PENDING_OUT ), + DEF_VALS1(MQCACH_REMOTE_VERSION ), + DEF_VALS1(MQCACH_REMOTE_PRODUCT ), + DEF_VALS1(MQIACH_RESET_REQUESTED ), + DEF_VALS1(MQIACH_USER_SOURCE ), + DEF_VALS1(MQIACH_WARNING ), + DEF_VALS1(MQIA_ACCOUNTING_CONN_OVERRIDE ), + DEF_VALS1(MQIA_ACCOUNTING_INTERVAL ), + DEF_VALS1(MQIA_ACCOUNTING_MQI ), + DEF_VALS1(MQIA_ACCOUNTING_Q ), + DEF_VALS1(MQIA_ACTIVE_CHANNELS ), + DEF_VALS1(MQIA_ACTIVITY_RECORDING ), + DEF_VALS1(MQIA_ADOPTNEWMCA_CHECK ), + DEF_VALS1(MQIA_ADOPTNEWMCA_INTERVAL ), + DEF_VALS1(MQIA_ADOPTNEWMCA_TYPE ), + DEF_VALS1(MQIA_APPL_TYPE ), + DEF_VALS1(MQIA_ARCHIVE ), + DEF_VALS1(MQIA_AUTHORITY_EVENT ), + DEF_VALS1(MQIA_AUTH_INFO_TYPE ), + DEF_VALS1(MQIA_AUTO_REORGANIZATION ), + DEF_VALS1(MQIA_AUTO_REORG_INTERVAL ), + DEF_VALS1(MQIA_BACKOUT_THRESHOLD ), + DEF_VALS1(MQIA_BASE_TYPE ), + DEF_VALS1(MQIA_BATCH_INTERFACE_AUTO ), + DEF_VALS1(MQIA_BRIDGE_EVENT ), + DEF_VALS1(MQIA_CF_LEVEL ), + DEF_VALS1(MQIA_CF_RECOVER ), + DEF_VALS1(MQIA_CHANNEL_AUTO_DEF ), + DEF_VALS1(MQIA_CHANNEL_AUTO_DEF_EVENT ), + DEF_VALS1(MQIA_CHANNEL_EVENT ), + DEF_VALS1(MQIA_CHINIT_ADAPTERS ), + DEF_VALS1(MQIA_CHINIT_CONTROL ), + DEF_VALS1(MQIA_CHINIT_DISPATCHERS ), + DEF_VALS1(MQIA_CHINIT_TRACE_AUTO_START ), + DEF_VALS1(MQIA_CHINIT_TRACE_TABLE_SIZE ), + DEF_VALS1(MQIA_CLUSTER_Q_TYPE ), + DEF_VALS1(MQIA_CLUSTER_WORKLOAD_LENGTH ), + DEF_VALS1(MQIA_CLWL_MRU_CHANNELS ), + DEF_VALS1(MQIA_CLWL_Q_PRIORITY ), + DEF_VALS1(MQIA_CLWL_Q_RANK ), + DEF_VALS1(MQIA_CLWL_USEQ ), + DEF_VALS1(MQIA_CMD_SERVER_AUTO ), + DEF_VALS1(MQIA_CMD_SERVER_CONTROL ), + DEF_VALS1(MQIA_CMD_SERVER_CONVERT_MSG ), + DEF_VALS1(MQIA_CMD_SERVER_DLQ_MSG ), + DEF_VALS1(MQIA_CODED_CHAR_SET_ID ), + DEF_VALS1(MQIA_COMMAND_EVENT ), + DEF_VALS1(MQIA_COMMAND_LEVEL ), + DEF_VALS1(MQIA_CONFIGURATION_EVENT ), + DEF_VALS1(MQIA_CPI_LEVEL ), + DEF_VALS1(MQIA_CURRENT_Q_DEPTH ), + DEF_VALS1(MQIA_DEFINITION_TYPE ), + DEF_VALS1(MQIA_DEF_BIND ), + DEF_VALS1(MQIA_DEF_INPUT_OPEN_OPTION ), + DEF_VALS1(MQIA_DEF_PERSISTENCE ), + DEF_VALS1(MQIA_DEF_PRIORITY ), + DEF_VALS1(MQIA_DEF_PUT_RESPONSE_TYPE ), + DEF_VALS1(MQIA_DEF_READ_AHEAD ), + DEF_VALS1(MQIA_DIST_LISTS ), + DEF_VALS1(MQIA_DNS_WLM ), + DEF_VALS1(MQIA_DURABLE_SUB ), + DEF_VALS1(MQIA_EXPIRY_INTERVAL ), + DEF_VALS1(MQIA_GROUP_UR ), + DEF_VALS1(MQIA_HARDEN_GET_BACKOUT ), + DEF_VALS1(MQIA_HIGH_Q_DEPTH ), + DEF_VALS1(MQIA_IGQ_PUT_AUTHORITY ), + DEF_VALS1(MQIA_INDEX_TYPE ), + DEF_VALS1(MQIA_INHIBIT_EVENT ), + DEF_VALS1(MQIA_INHIBIT_GET ), + DEF_VALS1(MQIA_INHIBIT_PUB ), + DEF_VALS1(MQIA_INHIBIT_PUT ), + DEF_VALS1(MQIA_INHIBIT_SUB ), + DEF_VALS1(MQIA_INTRA_GROUP_QUEUING ), + DEF_VALS1(MQIA_IP_ADDRESS_VERSION ), + DEF_VALS1(MQIA_LISTENER_PORT_NUMBER ), + DEF_VALS1(MQIA_LISTENER_TIMER ), + DEF_VALS1(MQIA_LOCAL_EVENT ), + DEF_VALS1(MQIA_LOGGER_EVENT ), + DEF_VALS1(MQIA_LU62_CHANNELS ), + DEF_VALS1(MQIA_MASTER_ADMIN ), + DEF_VALS1(MQIA_MAX_CHANNELS ), + DEF_VALS1(MQIA_MAX_CLIENTS ), + DEF_VALS1(MQIA_MAX_GLOBAL_LOCKS ), + DEF_VALS1(MQIA_MAX_HANDLES ), + DEF_VALS1(MQIA_MAX_LOCAL_LOCKS ), + DEF_VALS1(MQIA_MAX_MSG_LENGTH ), + DEF_VALS1(MQIA_MAX_OPEN_Q ), + DEF_VALS1(MQIA_MAX_PRIORITY ), + DEF_VALS1(MQIA_MAX_PROPERTIES_LENGTH ), + DEF_VALS1(MQIA_MAX_Q_DEPTH ), + DEF_VALS1(MQIA_MAX_Q_TRIGGERS ), + DEF_VALS1(MQIA_MAX_RECOVERY_TASKS ), + DEF_VALS1(MQIA_MAX_UNCOMMITTED_MSGS ), + DEF_VALS1(MQIA_MONITORING_AUTO_CLUSSDR ), + DEF_VALS1(MQIA_MONITORING_CHANNEL ), + DEF_VALS1(MQIA_MONITORING_Q ), + DEF_VALS1(MQIA_MONITOR_INTERVAL ), + DEF_VALS1(MQIA_MSG_DELIVERY_SEQUENCE ), + DEF_VALS1(MQIA_MSG_DEQ_COUNT ), + DEF_VALS1(MQIA_MSG_ENQ_COUNT ), + DEF_VALS1(MQIA_MSG_MARK_BROWSE_INTERVAL ), + DEF_VALS1(MQIA_NAMELIST_TYPE ), + DEF_VALS1(MQIA_NAME_COUNT ), + DEF_VALS1(MQIA_NPM_CLASS ), + DEF_VALS1(MQIA_NPM_DELIVERY ), + DEF_VALS1(MQIA_OPEN_INPUT_COUNT ), + DEF_VALS1(MQIA_OPEN_OUTPUT_COUNT ), + DEF_VALS1(MQIA_OUTBOUND_PORT_MAX ), + DEF_VALS1(MQIA_OUTBOUND_PORT_MIN ), + DEF_VALS1(MQIA_PAGESET_ID ), + DEF_VALS1(MQIA_PERFORMANCE_EVENT ), + DEF_VALS1(MQIA_PLATFORM ), + DEF_VALS1(MQIA_PM_DELIVERY ), + DEF_VALS1(MQIA_PROPERTY_CONTROL ), + DEF_VALS1(MQIA_PROXY_SUB ), + DEF_VALS1(MQIA_PUBSUB_MAXMSG_RETRY_COUNT), + DEF_VALS1(MQIA_PUBSUB_MODE ), + DEF_VALS1(MQIA_PUBSUB_NP_MSG ), + DEF_VALS1(MQIA_PUBSUB_NP_RESP ), + DEF_VALS1(MQIA_PUBSUB_SYNC_PT ), + DEF_VALS1(MQIA_PUB_COUNT ), + DEF_VALS1(MQIA_PUB_SCOPE ), + DEF_VALS1(MQIA_QMGR_CFCONLOS ), + DEF_VALS1(MQIA_QMOPT_CONS_COMMS_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_CRITICAL_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_ERROR_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_INFO_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_REORG_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_SYSTEM_MSGS ), + DEF_VALS1(MQIA_QMOPT_CONS_WARNING_MSGS ), + DEF_VALS1(MQIA_QMOPT_CSMT_ON_ERROR ), + DEF_VALS1(MQIA_QMOPT_INTERNAL_DUMP ), + DEF_VALS1(MQIA_QMOPT_LOG_COMMS_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_CRITICAL_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_ERROR_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_INFO_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_REORG_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_SYSTEM_MSGS ), + DEF_VALS1(MQIA_QMOPT_LOG_WARNING_MSGS ), + DEF_VALS1(MQIA_QMOPT_TRACE_COMMS ), + DEF_VALS1(MQIA_QMOPT_TRACE_CONVERSION ), + DEF_VALS1(MQIA_QMOPT_TRACE_MQI_CALLS ), + DEF_VALS1(MQIA_QMOPT_TRACE_REORG ), + DEF_VALS1(MQIA_QMOPT_TRACE_SYSTEM ), + DEF_VALS1(MQIA_QSG_DISP ), + DEF_VALS1(MQIA_Q_DEPTH_HIGH_EVENT ), + DEF_VALS1(MQIA_Q_DEPTH_HIGH_LIMIT ), + DEF_VALS1(MQIA_Q_DEPTH_LOW_EVENT ), + DEF_VALS1(MQIA_Q_DEPTH_LOW_LIMIT ), + DEF_VALS1(MQIA_Q_DEPTH_MAX_EVENT ), + DEF_VALS1(MQIA_Q_SERVICE_INTERVAL ), + DEF_VALS1(MQIA_Q_SERVICE_INTERVAL_EVENT ), + DEF_VALS1(MQIA_Q_TYPE ), + DEF_VALS1(MQIA_Q_USERS ), + DEF_VALS1(MQIA_READ_AHEAD ), + DEF_VALS1(MQIA_RECEIVE_TIMEOUT ), + DEF_VALS1(MQIA_RECEIVE_TIMEOUT_MIN ), + DEF_VALS1(MQIA_RECEIVE_TIMEOUT_TYPE ), + DEF_VALS1(MQIA_REMOTE_EVENT ), + DEF_VALS1(MQIA_RETENTION_INTERVAL ), + DEF_VALS1(MQIA_SCOPE ), + DEF_VALS1(MQIA_SECURITY_CASE ), + DEF_VALS1(MQIA_SERVICE_CONTROL ), + DEF_VALS1(MQIA_SERVICE_TYPE ), + DEF_VALS1(MQIA_SHAREABILITY ), + DEF_VALS1(MQIA_SHARED_Q_Q_MGR_NAME ), + DEF_VALS1(MQIA_SSL_EVENT ), + DEF_VALS1(MQIA_SSL_FIPS_REQUIRED ), + DEF_VALS1(MQIA_SSL_RESET_COUNT ), + DEF_VALS1(MQIA_SSL_TASKS ), + DEF_VALS1(MQIA_START_STOP_EVENT ), + DEF_VALS1(MQIA_STATISTICS_AUTO_CLUSSDR ), + DEF_VALS1(MQIA_STATISTICS_CHANNEL ), + DEF_VALS1(MQIA_STATISTICS_INTERVAL ), + DEF_VALS1(MQIA_STATISTICS_MQI ), + DEF_VALS1(MQIA_STATISTICS_Q ), + DEF_VALS1(MQIA_SUB_COUNT ), + DEF_VALS1(MQIA_SUB_SCOPE ), + DEF_VALS1(MQIA_SYNCPOINT ), + DEF_VALS1(MQIA_TCP_CHANNELS ), + DEF_VALS1(MQIA_TCP_KEEP_ALIVE ), + DEF_VALS1(MQIA_TCP_STACK_TYPE ), + DEF_VALS1(MQIA_TIME_SINCE_RESET ), + DEF_VALS1(MQIA_TOPIC_DEF_PERSISTENCE ), + DEF_VALS1(MQIA_TOPIC_TYPE ), + DEF_VALS1(MQIA_TRACE_ROUTE_RECORDING ), + DEF_VALS1(MQIA_TREE_LIFE_TIME ), + DEF_VALS1(MQIA_TRIGGER_CONTROL ), + DEF_VALS1(MQIA_TRIGGER_DEPTH ), + DEF_VALS1(MQIA_TRIGGER_INTERVAL ), + DEF_VALS1(MQIA_TRIGGER_MSG_PRIORITY ), + DEF_VALS1(MQIA_TRIGGER_RESTART ), + DEF_VALS1(MQIA_TRIGGER_TYPE ), + DEF_VALS1(MQIA_UR_DISP ), + DEF_VALS1(MQIA_USAGE ), + DEF_VALS1(MQIA_USER_LIST ), + DEF_VALS1(MQIA_WILDCARD_OPERATION ), + DEF_VALS1(MQIA_ACTIVITY_CONN_OVERRIDE ), + DEF_VALS1(MQIA_ACTIVITY_TRACE ), + DEF_VALS1(MQIA_CERT_VAL_POLICY ), + DEF_VALS1(MQIA_CHLAUTH_RECORDS ), + DEF_VALS1(MQIA_COMM_EVENT ), + DEF_VALS1(MQIA_COMM_INFO_TYPE ), + DEF_VALS1(MQIA_DEF_CLUSTER_XMIT_Q_TYPE ), + DEF_VALS1(MQIA_ENCRYPTION_ALGORITHM ), + DEF_VALS1(MQIA_MCAST_BRIDGE ), + DEF_VALS1(MQIA_MULTICAST ), + DEF_VALS1(MQIA_POLICY_VERSION ), + DEF_VALS1(MQIA_PROT_POLICY_CAPABILITY ), + DEF_VALS1(MQIA_PUBSUB_CLUSTER ), + DEF_VALS1(MQIA_SIGNATURE_ALGORITHM ), + DEF_VALS1(MQIA_SUB_CONFIGURATION_EVENT ), + DEF_VALS1(MQIA_SUITE_B_STRENGTH ), + DEF_VALS1(MQIA_TOLERATE_UNPROTECTED ), + DEF_VALS1(MQIA_USE_DEAD_LETTER_Q ), + DEF_VALS1(MQIA_XR_CAPABILITY ), +DEF_VALSE; + +DEF_VALSB(CC) + DEF_VALS1(MQCC_OK ), + DEF_VALS1(MQCC_WARNING), + DEF_VALS1(MQCC_FAILED ), + DEF_VALS1(MQCC_UNKNOWN), +DEF_VALSE; + +DEF_VALSB(RC) + DEF_VALS1(MQRC_NONE ), + DEF_VALS1(MQRC_ALIAS_BASE_Q_TYPE_ERROR ), + DEF_VALS1(MQRC_ALREADY_CONNECTED ), + DEF_VALS1(MQRC_BACKED_OUT ), + DEF_VALS1(MQRC_BUFFER_ERROR ), + DEF_VALS1(MQRC_BUFFER_LENGTH_ERROR ), + DEF_VALS1(MQRC_CHAR_ATTR_LENGTH_ERROR ), + DEF_VALS1(MQRC_CHAR_ATTRS_ERROR ), + DEF_VALS1(MQRC_CHAR_ATTRS_TOO_SHORT ), + DEF_VALS1(MQRC_CONNECTION_BROKEN ), + DEF_VALS1(MQRC_DATA_LENGTH_ERROR ), + DEF_VALS1(MQRC_DYNAMIC_Q_NAME_ERROR ), + DEF_VALS1(MQRC_ENVIRONMENT_ERROR ), + DEF_VALS1(MQRC_EXPIRY_ERROR ), + DEF_VALS1(MQRC_FEEDBACK_ERROR ), + DEF_VALS1(MQRC_GET_INHIBITED ), + DEF_VALS1(MQRC_HANDLE_NOT_AVAILABLE ), + DEF_VALS1(MQRC_HCONN_ERROR ), + DEF_VALS1(MQRC_HOBJ_ERROR ), + DEF_VALS1(MQRC_INHIBIT_VALUE_ERROR ), + DEF_VALS1(MQRC_INT_ATTR_COUNT_ERROR ), + DEF_VALS1(MQRC_INT_ATTR_COUNT_TOO_SMALL ), + DEF_VALS1(MQRC_INT_ATTRS_ARRAY_ERROR ), + DEF_VALS1(MQRC_SYNCPOINT_LIMIT_REACHED ), + DEF_VALS1(MQRC_MAX_CONNS_LIMIT_REACHED ), + DEF_VALS1(MQRC_MD_ERROR ), + DEF_VALS1(MQRC_MISSING_REPLY_TO_Q ), + DEF_VALS1(MQRC_MSG_TYPE_ERROR ), + DEF_VALS1(MQRC_MSG_TOO_BIG_FOR_Q ), + DEF_VALS1(MQRC_MSG_TOO_BIG_FOR_Q_MGR ), + DEF_VALS1(MQRC_NO_MSG_AVAILABLE ), + DEF_VALS1(MQRC_NO_MSG_UNDER_CURSOR ), + DEF_VALS1(MQRC_NOT_AUTHORIZED ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_BROWSE ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_INPUT ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_INQUIRE ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_OUTPUT ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_SET ), + DEF_VALS1(MQRC_OBJECT_CHANGED ), + DEF_VALS1(MQRC_OBJECT_IN_USE ), + DEF_VALS1(MQRC_OBJECT_TYPE_ERROR ), + DEF_VALS1(MQRC_OD_ERROR ), + DEF_VALS1(MQRC_OPTION_NOT_VALID_FOR_TYPE ), + DEF_VALS1(MQRC_OPTIONS_ERROR ), + DEF_VALS1(MQRC_PERSISTENCE_ERROR ), + DEF_VALS1(MQRC_PERSISTENT_NOT_ALLOWED ), + DEF_VALS1(MQRC_PRIORITY_EXCEEDS_MAXIMUM ), + DEF_VALS1(MQRC_PRIORITY_ERROR ), + DEF_VALS1(MQRC_PUT_INHIBITED ), + DEF_VALS1(MQRC_Q_DELETED ), + DEF_VALS1(MQRC_Q_FULL ), + DEF_VALS1(MQRC_Q_NOT_EMPTY ), + DEF_VALS1(MQRC_Q_SPACE_NOT_AVAILABLE ), + DEF_VALS1(MQRC_Q_TYPE_ERROR ), + DEF_VALS1(MQRC_Q_MGR_NAME_ERROR ), + DEF_VALS1(MQRC_Q_MGR_NOT_AVAILABLE ), + DEF_VALS1(MQRC_REPORT_OPTIONS_ERROR ), + DEF_VALS1(MQRC_SECOND_MARK_NOT_ALLOWED ), + DEF_VALS1(MQRC_SECURITY_ERROR ), + DEF_VALS1(MQRC_SELECTOR_COUNT_ERROR ), + DEF_VALS1(MQRC_SELECTOR_LIMIT_EXCEEDED ), + DEF_VALS1(MQRC_SELECTOR_ERROR ), + DEF_VALS1(MQRC_SELECTOR_NOT_FOR_TYPE ), + DEF_VALS1(MQRC_SIGNAL_OUTSTANDING ), + DEF_VALS1(MQRC_SIGNAL_REQUEST_ACCEPTED ), + DEF_VALS1(MQRC_STORAGE_NOT_AVAILABLE ), + DEF_VALS1(MQRC_SYNCPOINT_NOT_AVAILABLE ), + DEF_VALS1(MQRC_TRIGGER_CONTROL_ERROR ), + DEF_VALS1(MQRC_TRIGGER_DEPTH_ERROR ), + DEF_VALS1(MQRC_TRIGGER_MSG_PRIORITY_ERR ), + DEF_VALS1(MQRC_TRIGGER_TYPE_ERROR ), + DEF_VALS1(MQRC_TRUNCATED_MSG_ACCEPTED ), + DEF_VALS1(MQRC_TRUNCATED_MSG_FAILED ), + DEF_VALS1(MQRC_UNKNOWN_ALIAS_BASE_Q ), + DEF_VALS1(MQRC_UNKNOWN_OBJECT_NAME ), + DEF_VALS1(MQRC_UNKNOWN_OBJECT_Q_MGR ), + DEF_VALS1(MQRC_UNKNOWN_REMOTE_Q_MGR ), + DEF_VALS1(MQRC_WAIT_INTERVAL_ERROR ), + DEF_VALS1(MQRC_XMIT_Q_TYPE_ERROR ), + DEF_VALS1(MQRC_XMIT_Q_USAGE_ERROR ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_PASS_ALL ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_PASS_IDENT ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_SET_ALL ), + DEF_VALS1(MQRC_NOT_OPEN_FOR_SET_IDENT ), + DEF_VALS1(MQRC_CONTEXT_HANDLE_ERROR ), + DEF_VALS1(MQRC_CONTEXT_NOT_AVAILABLE ), + DEF_VALS1(MQRC_SIGNAL1_ERROR ), + DEF_VALS1(MQRC_OBJECT_ALREADY_EXISTS ), + DEF_VALS1(MQRC_OBJECT_DAMAGED ), + DEF_VALS1(MQRC_RESOURCE_PROBLEM ), + DEF_VALS1(MQRC_ANOTHER_Q_MGR_CONNECTED ), + DEF_VALS1(MQRC_UNKNOWN_REPORT_OPTION ), + DEF_VALS1(MQRC_STORAGE_CLASS_ERROR ), + DEF_VALS1(MQRC_COD_NOT_VALID_FOR_XCF_Q ), + DEF_VALS1(MQRC_XWAIT_CANCELED ), + DEF_VALS1(MQRC_XWAIT_ERROR ), + DEF_VALS1(MQRC_SUPPRESSED_BY_EXIT ), + DEF_VALS1(MQRC_FORMAT_ERROR ), + DEF_VALS1(MQRC_SOURCE_CCSID_ERROR ), + DEF_VALS1(MQRC_SOURCE_INTEGER_ENC_ERROR ), + DEF_VALS1(MQRC_SOURCE_DECIMAL_ENC_ERROR ), + DEF_VALS1(MQRC_SOURCE_FLOAT_ENC_ERROR ), + DEF_VALS1(MQRC_TARGET_CCSID_ERROR ), + DEF_VALS1(MQRC_TARGET_INTEGER_ENC_ERROR ), + DEF_VALS1(MQRC_TARGET_DECIMAL_ENC_ERROR ), + DEF_VALS1(MQRC_TARGET_FLOAT_ENC_ERROR ), + DEF_VALS1(MQRC_NOT_CONVERTED ), + DEF_VALS2(MQRC_TRUNCATED,"MQRC_CONVERTED_MSG_TOO_BIG"), + DEF_VALS1(MQRC_NO_EXTERNAL_PARTICIPANTS ), + DEF_VALS1(MQRC_PARTICIPANT_NOT_AVAILABLE ), + DEF_VALS1(MQRC_OUTCOME_MIXED ), + DEF_VALS1(MQRC_OUTCOME_PENDING ), + DEF_VALS1(MQRC_BRIDGE_STARTED ), + DEF_VALS1(MQRC_BRIDGE_STOPPED ), + DEF_VALS1(MQRC_ADAPTER_STORAGE_SHORTAGE ), + DEF_VALS1(MQRC_UOW_IN_PROGRESS ), + DEF_VALS1(MQRC_ADAPTER_CONN_LOAD_ERROR ), + DEF_VALS1(MQRC_ADAPTER_SERV_LOAD_ERROR ), + DEF_VALS1(MQRC_ADAPTER_DEFS_ERROR ), + DEF_VALS1(MQRC_ADAPTER_DEFS_LOAD_ERROR ), + DEF_VALS1(MQRC_ADAPTER_CONV_LOAD_ERROR ), + DEF_VALS1(MQRC_BO_ERROR ), + DEF_VALS1(MQRC_DH_ERROR ), + DEF_VALS1(MQRC_MULTIPLE_REASONS ), + DEF_VALS1(MQRC_OPEN_FAILED ), + DEF_VALS1(MQRC_ADAPTER_DISC_LOAD_ERROR ), + DEF_VALS1(MQRC_CNO_ERROR ), + DEF_VALS1(MQRC_CICS_WAIT_FAILED ), + DEF_VALS1(MQRC_DLH_ERROR ), + DEF_VALS1(MQRC_HEADER_ERROR ), + DEF_VALS1(MQRC_SOURCE_LENGTH_ERROR ), + DEF_VALS1(MQRC_TARGET_LENGTH_ERROR ), + DEF_VALS1(MQRC_SOURCE_BUFFER_ERROR ), + DEF_VALS1(MQRC_TARGET_BUFFER_ERROR ), + DEF_VALS1(MQRC_IIH_ERROR ), + DEF_VALS1(MQRC_PCF_ERROR ), + DEF_VALS1(MQRC_DBCS_ERROR ), + DEF_VALS1(MQRC_OBJECT_NAME_ERROR ), + DEF_VALS1(MQRC_OBJECT_Q_MGR_NAME_ERROR ), + DEF_VALS1(MQRC_RECS_PRESENT_ERROR ), + DEF_VALS1(MQRC_OBJECT_RECORDS_ERROR ), + DEF_VALS1(MQRC_RESPONSE_RECORDS_ERROR ), + DEF_VALS1(MQRC_ASID_MISMATCH ), + DEF_VALS1(MQRC_PMO_RECORD_FLAGS_ERROR ), + DEF_VALS1(MQRC_PUT_MSG_RECORDS_ERROR ), + DEF_VALS1(MQRC_CONN_ID_IN_USE ), + DEF_VALS1(MQRC_Q_MGR_QUIESCING ), + DEF_VALS1(MQRC_Q_MGR_STOPPING ), + DEF_VALS1(MQRC_DUPLICATE_RECOV_COORD ), + DEF_VALS1(MQRC_PMO_ERROR ), + DEF_VALS1(MQRC_API_EXIT_NOT_FOUND ), + DEF_VALS1(MQRC_API_EXIT_LOAD_ERROR ), + DEF_VALS1(MQRC_REMOTE_Q_NAME_ERROR ), + DEF_VALS1(MQRC_INCONSISTENT_PERSISTENCE ), + DEF_VALS1(MQRC_GMO_ERROR ), + DEF_VALS1(MQRC_CICS_BRIDGE_RESTRICTION ), + DEF_VALS1(MQRC_STOPPED_BY_CLUSTER_EXIT ), + DEF_VALS1(MQRC_CLUSTER_RESOLUTION_ERROR ), + DEF_VALS1(MQRC_CONVERTED_STRING_TOO_BIG ), + DEF_VALS1(MQRC_TMC_ERROR ), + DEF_VALS2(MQRC_STORAGE_MEDIUM_FULL,"MQRC_PAGESET_FULL"), + DEF_VALS1(MQRC_PAGESET_ERROR ), + DEF_VALS1(MQRC_NAME_NOT_VALID_FOR_TYPE ), + DEF_VALS1(MQRC_UNEXPECTED_ERROR ), + DEF_VALS1(MQRC_UNKNOWN_XMIT_Q ), + DEF_VALS1(MQRC_UNKNOWN_DEF_XMIT_Q ), + DEF_VALS1(MQRC_DEF_XMIT_Q_TYPE_ERROR ), + DEF_VALS1(MQRC_DEF_XMIT_Q_USAGE_ERROR ), + DEF_VALS1(MQRC_MSG_MARKED_BROWSE_CO_OP ), + DEF_VALS1(MQRC_NAME_IN_USE ), + DEF_VALS1(MQRC_CONNECTION_QUIESCING ), + DEF_VALS1(MQRC_CONNECTION_STOPPING ), + DEF_VALS1(MQRC_ADAPTER_NOT_AVAILABLE ), + DEF_VALS1(MQRC_MSG_ID_ERROR ), + DEF_VALS1(MQRC_CORREL_ID_ERROR ), + DEF_VALS1(MQRC_FILE_SYSTEM_ERROR ), + DEF_VALS1(MQRC_NO_MSG_LOCKED ), + DEF_VALS1(MQRC_SOAP_DOTNET_ERROR ), + DEF_VALS1(MQRC_SOAP_AXIS_ERROR ), + DEF_VALS1(MQRC_SOAP_URL_ERROR ), + DEF_VALS1(MQRC_FILE_NOT_AUDITED ), + DEF_VALS1(MQRC_CONNECTION_NOT_AUTHORIZED ), + DEF_VALS1(MQRC_MSG_TOO_BIG_FOR_CHANNEL ), + DEF_VALS1(MQRC_CALL_IN_PROGRESS ), + DEF_VALS1(MQRC_RMH_ERROR ), + DEF_VALS1(MQRC_Q_MGR_ACTIVE ), + DEF_VALS1(MQRC_Q_MGR_NOT_ACTIVE ), + DEF_VALS1(MQRC_Q_DEPTH_HIGH ), + DEF_VALS1(MQRC_Q_DEPTH_LOW ), + DEF_VALS1(MQRC_Q_SERVICE_INTERVAL_HIGH ), + DEF_VALS1(MQRC_Q_SERVICE_INTERVAL_OK ), + DEF_VALS1(MQRC_RFH_HEADER_FIELD_ERROR ), + DEF_VALS1(MQRC_RAS_PROPERTY_ERROR ), + DEF_VALS1(MQRC_UNIT_OF_WORK_NOT_STARTED ), + DEF_VALS1(MQRC_CHANNEL_AUTO_DEF_OK ), + DEF_VALS1(MQRC_CHANNEL_AUTO_DEF_ERROR ), + DEF_VALS1(MQRC_CFH_ERROR ), + DEF_VALS1(MQRC_CFIL_ERROR ), + DEF_VALS1(MQRC_CFIN_ERROR ), + DEF_VALS1(MQRC_CFSL_ERROR ), + DEF_VALS1(MQRC_CFST_ERROR ), + DEF_VALS1(MQRC_INCOMPLETE_GROUP ), + DEF_VALS1(MQRC_INCOMPLETE_MSG ), + DEF_VALS1(MQRC_INCONSISTENT_CCSIDS ), + DEF_VALS1(MQRC_INCONSISTENT_ENCODINGS ), + DEF_VALS1(MQRC_INCONSISTENT_UOW ), + DEF_VALS1(MQRC_INVALID_MSG_UNDER_CURSOR ), + DEF_VALS1(MQRC_MATCH_OPTIONS_ERROR ), + DEF_VALS1(MQRC_MDE_ERROR ), + DEF_VALS1(MQRC_MSG_FLAGS_ERROR ), + DEF_VALS1(MQRC_MSG_SEQ_NUMBER_ERROR ), + DEF_VALS1(MQRC_OFFSET_ERROR ), + DEF_VALS1(MQRC_ORIGINAL_LENGTH_ERROR ), + DEF_VALS1(MQRC_SEGMENT_LENGTH_ZERO ), + DEF_VALS1(MQRC_UOW_NOT_AVAILABLE ), + DEF_VALS1(MQRC_WRONG_GMO_VERSION ), + DEF_VALS1(MQRC_WRONG_MD_VERSION ), + DEF_VALS1(MQRC_GROUP_ID_ERROR ), + DEF_VALS1(MQRC_INCONSISTENT_BROWSE ), + DEF_VALS1(MQRC_XQH_ERROR ), + DEF_VALS1(MQRC_SRC_ENV_ERROR ), + DEF_VALS1(MQRC_SRC_NAME_ERROR ), + DEF_VALS1(MQRC_DEST_ENV_ERROR ), + DEF_VALS1(MQRC_DEST_NAME_ERROR ), + DEF_VALS1(MQRC_TM_ERROR ), + DEF_VALS1(MQRC_CLUSTER_EXIT_ERROR ), + DEF_VALS1(MQRC_CLUSTER_EXIT_LOAD_ERROR ), + DEF_VALS1(MQRC_CLUSTER_PUT_INHIBITED ), + DEF_VALS1(MQRC_CLUSTER_RESOURCE_ERROR ), + DEF_VALS1(MQRC_NO_DESTINATIONS_AVAILABLE ), + DEF_VALS1(MQRC_CONN_TAG_IN_USE ), + DEF_VALS1(MQRC_PARTIALLY_CONVERTED ), + DEF_VALS1(MQRC_CONNECTION_ERROR ), + DEF_VALS1(MQRC_OPTION_ENVIRONMENT_ERROR ), + DEF_VALS1(MQRC_CD_ERROR ), + DEF_VALS1(MQRC_CLIENT_CONN_ERROR ), + DEF_VALS1(MQRC_CHANNEL_STOPPED_BY_USER ), + DEF_VALS1(MQRC_HCONFIG_ERROR ), + DEF_VALS1(MQRC_FUNCTION_ERROR ), + DEF_VALS1(MQRC_CHANNEL_STARTED ), + DEF_VALS1(MQRC_CHANNEL_STOPPED ), + DEF_VALS1(MQRC_CHANNEL_CONV_ERROR ), + DEF_VALS1(MQRC_SERVICE_NOT_AVAILABLE ), + DEF_VALS1(MQRC_INITIALIZATION_FAILED ), + DEF_VALS1(MQRC_TERMINATION_FAILED ), + DEF_VALS1(MQRC_UNKNOWN_Q_NAME ), + DEF_VALS1(MQRC_SERVICE_ERROR ), + DEF_VALS1(MQRC_Q_ALREADY_EXISTS ), + DEF_VALS1(MQRC_USER_ID_NOT_AVAILABLE ), + DEF_VALS1(MQRC_UNKNOWN_ENTITY ), + DEF_VALS1(MQRC_UNKNOWN_AUTH_ENTITY ), + DEF_VALS1(MQRC_UNKNOWN_REF_OBJECT ), + DEF_VALS1(MQRC_CHANNEL_ACTIVATED ), + DEF_VALS1(MQRC_CHANNEL_NOT_ACTIVATED ), + DEF_VALS1(MQRC_UOW_CANCELED ), + DEF_VALS1(MQRC_FUNCTION_NOT_SUPPORTED ), + DEF_VALS1(MQRC_SELECTOR_TYPE_ERROR ), + DEF_VALS1(MQRC_COMMAND_TYPE_ERROR ), + DEF_VALS1(MQRC_MULTIPLE_INSTANCE_ERROR ), + DEF_VALS1(MQRC_SYSTEM_ITEM_NOT_ALTERABLE ), + DEF_VALS1(MQRC_BAG_CONVERSION_ERROR ), + DEF_VALS1(MQRC_SELECTOR_OUT_OF_RANGE ), + DEF_VALS1(MQRC_SELECTOR_NOT_UNIQUE ), + DEF_VALS1(MQRC_INDEX_NOT_PRESENT ), + DEF_VALS1(MQRC_STRING_ERROR ), + DEF_VALS1(MQRC_ENCODING_NOT_SUPPORTED ), + DEF_VALS1(MQRC_SELECTOR_NOT_PRESENT ), + DEF_VALS1(MQRC_OUT_SELECTOR_ERROR ), + DEF_VALS1(MQRC_STRING_TRUNCATED ), + DEF_VALS1(MQRC_SELECTOR_WRONG_TYPE ), + DEF_VALS1(MQRC_INCONSISTENT_ITEM_TYPE ), + DEF_VALS1(MQRC_INDEX_ERROR ), + DEF_VALS1(MQRC_SYSTEM_BAG_NOT_ALTERABLE ), + DEF_VALS1(MQRC_ITEM_COUNT_ERROR ), + DEF_VALS1(MQRC_FORMAT_NOT_SUPPORTED ), + DEF_VALS1(MQRC_SELECTOR_NOT_SUPPORTED ), + DEF_VALS1(MQRC_ITEM_VALUE_ERROR ), + DEF_VALS1(MQRC_HBAG_ERROR ), + DEF_VALS1(MQRC_PARAMETER_MISSING ), + DEF_VALS1(MQRC_CMD_SERVER_NOT_AVAILABLE ), + DEF_VALS1(MQRC_STRING_LENGTH_ERROR ), + DEF_VALS1(MQRC_INQUIRY_COMMAND_ERROR ), + DEF_VALS1(MQRC_NESTED_BAG_NOT_SUPPORTED ), + DEF_VALS1(MQRC_BAG_WRONG_TYPE ), + DEF_VALS1(MQRC_ITEM_TYPE_ERROR ), + DEF_VALS1(MQRC_SYSTEM_BAG_NOT_DELETABLE ), + DEF_VALS1(MQRC_SYSTEM_ITEM_NOT_DELETABLE ), + DEF_VALS1(MQRC_CODED_CHAR_SET_ID_ERROR ), + DEF_VALS1(MQRC_MSG_TOKEN_ERROR ), + DEF_VALS1(MQRC_MISSING_WIH ), + DEF_VALS1(MQRC_WIH_ERROR ), + DEF_VALS1(MQRC_RFH_ERROR ), + DEF_VALS1(MQRC_RFH_STRING_ERROR ), + DEF_VALS1(MQRC_RFH_COMMAND_ERROR ), + DEF_VALS1(MQRC_RFH_PARM_ERROR ), + DEF_VALS1(MQRC_RFH_DUPLICATE_PARM ), + DEF_VALS1(MQRC_RFH_PARM_MISSING ), + DEF_VALS1(MQRC_CHAR_CONVERSION_ERROR ), + DEF_VALS1(MQRC_UCS2_CONVERSION_ERROR ), + DEF_VALS1(MQRC_DB2_NOT_AVAILABLE ), + DEF_VALS1(MQRC_OBJECT_NOT_UNIQUE ), + DEF_VALS1(MQRC_CONN_TAG_NOT_RELEASED ), + DEF_VALS1(MQRC_CF_NOT_AVAILABLE ), + DEF_VALS1(MQRC_CF_STRUC_IN_USE ), + DEF_VALS1(MQRC_CF_STRUC_LIST_HDR_IN_USE ), + DEF_VALS1(MQRC_CF_STRUC_AUTH_FAILED ), + DEF_VALS1(MQRC_CF_STRUC_ERROR ), + DEF_VALS1(MQRC_CONN_TAG_NOT_USABLE ), + DEF_VALS1(MQRC_GLOBAL_UOW_CONFLICT ), + DEF_VALS1(MQRC_LOCAL_UOW_CONFLICT ), + DEF_VALS1(MQRC_HANDLE_IN_USE_FOR_UOW ), + DEF_VALS1(MQRC_UOW_ENLISTMENT_ERROR ), + DEF_VALS1(MQRC_UOW_MIX_NOT_SUPPORTED ), + DEF_VALS1(MQRC_WXP_ERROR ), + DEF_VALS1(MQRC_CURRENT_RECORD_ERROR ), + DEF_VALS1(MQRC_NEXT_OFFSET_ERROR ), + DEF_VALS1(MQRC_NO_RECORD_AVAILABLE ), + DEF_VALS1(MQRC_OBJECT_LEVEL_INCOMPATIBLE ), + DEF_VALS1(MQRC_NEXT_RECORD_ERROR ), + DEF_VALS1(MQRC_BACKOUT_THRESHOLD_REACHED ), + DEF_VALS1(MQRC_MSG_NOT_MATCHED ), + DEF_VALS1(MQRC_JMS_FORMAT_ERROR ), + DEF_VALS1(MQRC_SEGMENTS_NOT_SUPPORTED ), + DEF_VALS1(MQRC_WRONG_CF_LEVEL ), + DEF_VALS1(MQRC_CONFIG_CREATE_OBJECT ), + DEF_VALS1(MQRC_CONFIG_CHANGE_OBJECT ), + DEF_VALS1(MQRC_CONFIG_DELETE_OBJECT ), + DEF_VALS1(MQRC_CONFIG_REFRESH_OBJECT ), + DEF_VALS1(MQRC_CHANNEL_SSL_ERROR ), + DEF_VALS1(MQRC_PARTICIPANT_NOT_DEFINED ), + DEF_VALS1(MQRC_CF_STRUC_FAILED ), + DEF_VALS1(MQRC_API_EXIT_ERROR ), + DEF_VALS1(MQRC_API_EXIT_INIT_ERROR ), + DEF_VALS1(MQRC_API_EXIT_TERM_ERROR ), + DEF_VALS1(MQRC_EXIT_REASON_ERROR ), + DEF_VALS1(MQRC_RESERVED_VALUE_ERROR ), + DEF_VALS1(MQRC_NO_DATA_AVAILABLE ), + DEF_VALS1(MQRC_SCO_ERROR ), + DEF_VALS1(MQRC_KEY_REPOSITORY_ERROR ), + DEF_VALS1(MQRC_CRYPTO_HARDWARE_ERROR ), + DEF_VALS1(MQRC_AUTH_INFO_REC_COUNT_ERROR ), + DEF_VALS1(MQRC_AUTH_INFO_REC_ERROR ), + DEF_VALS1(MQRC_AIR_ERROR ), + DEF_VALS1(MQRC_AUTH_INFO_TYPE_ERROR ), + DEF_VALS1(MQRC_AUTH_INFO_CONN_NAME_ERROR ), + DEF_VALS1(MQRC_LDAP_USER_NAME_ERROR ), + DEF_VALS1(MQRC_LDAP_USER_NAME_LENGTH_ERR ), + DEF_VALS1(MQRC_LDAP_PASSWORD_ERROR ), + DEF_VALS1(MQRC_SSL_ALREADY_INITIALIZED ), + DEF_VALS1(MQRC_SSL_CONFIG_ERROR ), + DEF_VALS1(MQRC_SSL_INITIALIZATION_ERROR ), + DEF_VALS1(MQRC_Q_INDEX_TYPE_ERROR ), + DEF_VALS1(MQRC_CFBS_ERROR ), + DEF_VALS1(MQRC_SSL_NOT_ALLOWED ), + DEF_VALS1(MQRC_JSSE_ERROR ), + DEF_VALS1(MQRC_SSL_PEER_NAME_MISMATCH ), + DEF_VALS1(MQRC_SSL_PEER_NAME_ERROR ), + DEF_VALS1(MQRC_UNSUPPORTED_CIPHER_SUITE ), + DEF_VALS1(MQRC_SSL_CERTIFICATE_REVOKED ), + DEF_VALS1(MQRC_SSL_CERT_STORE_ERROR ), + DEF_VALS1(MQRC_CLIENT_EXIT_LOAD_ERROR ), + DEF_VALS1(MQRC_CLIENT_EXIT_ERROR ), + DEF_VALS1(MQRC_UOW_COMMITTED ), + DEF_VALS1(MQRC_SSL_KEY_RESET_ERROR ), + DEF_VALS1(MQRC_UNKNOWN_COMPONENT_NAME ), + DEF_VALS1(MQRC_LOGGER_STATUS ), + DEF_VALS1(MQRC_COMMAND_MQSC ), + DEF_VALS1(MQRC_COMMAND_PCF ), + DEF_VALS1(MQRC_CFIF_ERROR ), + DEF_VALS1(MQRC_CFSF_ERROR ), + DEF_VALS1(MQRC_CFGR_ERROR ), + DEF_VALS1(MQRC_MSG_NOT_ALLOWED_IN_GROUP ), + DEF_VALS1(MQRC_FILTER_OPERATOR_ERROR ), + DEF_VALS1(MQRC_NESTED_SELECTOR_ERROR ), + DEF_VALS1(MQRC_EPH_ERROR ), + DEF_VALS1(MQRC_RFH_FORMAT_ERROR ), + DEF_VALS1(MQRC_CFBF_ERROR ), + DEF_VALS1(MQRC_CLIENT_CHANNEL_CONFLICT ), + DEF_VALS1(MQRC_SD_ERROR ), + DEF_VALS1(MQRC_TOPIC_STRING_ERROR ), + DEF_VALS1(MQRC_STS_ERROR ), + DEF_VALS1(MQRC_NO_SUBSCRIPTION ), + DEF_VALS1(MQRC_SUBSCRIPTION_IN_USE ), + DEF_VALS1(MQRC_STAT_TYPE_ERROR ), + DEF_VALS1(MQRC_SUB_USER_DATA_ERROR ), + DEF_VALS1(MQRC_SUB_ALREADY_EXISTS ), + DEF_VALS1(MQRC_IDENTITY_MISMATCH ), + DEF_VALS1(MQRC_ALTER_SUB_ERROR ), + DEF_VALS1(MQRC_DURABILITY_NOT_ALLOWED ), + DEF_VALS1(MQRC_NO_RETAINED_MSG ), + DEF_VALS1(MQRC_SRO_ERROR ), + DEF_VALS1(MQRC_SUB_NAME_ERROR ), + DEF_VALS1(MQRC_OBJECT_STRING_ERROR ), + DEF_VALS1(MQRC_PROPERTY_NAME_ERROR ), + DEF_VALS1(MQRC_SEGMENTATION_NOT_ALLOWED ), + DEF_VALS1(MQRC_CBD_ERROR ), + DEF_VALS1(MQRC_CTLO_ERROR ), + DEF_VALS1(MQRC_NO_CALLBACKS_ACTIVE ), + DEF_VALS1(MQRC_CALLBACK_NOT_REGISTERED ), + DEF_VALS1(MQRC_OPTIONS_CHANGED ), + DEF_VALS1(MQRC_READ_AHEAD_MSGS ), + DEF_VALS1(MQRC_SELECTOR_SYNTAX_ERROR ), + DEF_VALS1(MQRC_HMSG_ERROR ), + DEF_VALS1(MQRC_CMHO_ERROR ), + DEF_VALS1(MQRC_DMHO_ERROR ), + DEF_VALS1(MQRC_SMPO_ERROR ), + DEF_VALS1(MQRC_IMPO_ERROR ), + DEF_VALS1(MQRC_PROPERTY_NAME_TOO_BIG ), + DEF_VALS1(MQRC_PROP_VALUE_NOT_CONVERTED ), + DEF_VALS1(MQRC_PROP_TYPE_NOT_SUPPORTED ), + DEF_VALS1(MQRC_PROPERTY_VALUE_TOO_BIG ), + DEF_VALS1(MQRC_PROP_CONV_NOT_SUPPORTED ), + DEF_VALS1(MQRC_PROPERTY_NOT_AVAILABLE ), + DEF_VALS1(MQRC_PROP_NUMBER_FORMAT_ERROR ), + DEF_VALS1(MQRC_PROPERTY_TYPE_ERROR ), + DEF_VALS1(MQRC_PROPERTIES_TOO_BIG ), + DEF_VALS1(MQRC_PUT_NOT_RETAINED ), + DEF_VALS1(MQRC_ALIAS_TARGTYPE_CHANGED ), + DEF_VALS1(MQRC_DMPO_ERROR ), + DEF_VALS1(MQRC_PD_ERROR ), + DEF_VALS1(MQRC_CALLBACK_TYPE_ERROR ), + DEF_VALS1(MQRC_CBD_OPTIONS_ERROR ), + DEF_VALS1(MQRC_MAX_MSG_LENGTH_ERROR ), + DEF_VALS1(MQRC_CALLBACK_ROUTINE_ERROR ), + DEF_VALS1(MQRC_CALLBACK_LINK_ERROR ), + DEF_VALS1(MQRC_OPERATION_ERROR ), + DEF_VALS1(MQRC_BMHO_ERROR ), + DEF_VALS1(MQRC_UNSUPPORTED_PROPERTY ), + DEF_VALS1(MQRC_PROP_NAME_NOT_CONVERTED ), + DEF_VALS1(MQRC_GET_ENABLED ), + DEF_VALS1(MQRC_MODULE_NOT_FOUND ), + DEF_VALS1(MQRC_MODULE_INVALID ), + DEF_VALS1(MQRC_MODULE_ENTRY_NOT_FOUND ), + DEF_VALS1(MQRC_MIXED_CONTENT_NOT_ALLOWED ), + DEF_VALS1(MQRC_MSG_HANDLE_IN_USE ), + DEF_VALS1(MQRC_HCONN_ASYNC_ACTIVE ), + DEF_VALS1(MQRC_MHBO_ERROR ), + DEF_VALS1(MQRC_PUBLICATION_FAILURE ), + DEF_VALS1(MQRC_SUB_INHIBITED ), + DEF_VALS1(MQRC_SELECTOR_ALWAYS_FALSE ), + DEF_VALS1(MQRC_XEPO_ERROR ), + DEF_VALS1(MQRC_DURABILITY_NOT_ALTERABLE ), + DEF_VALS1(MQRC_TOPIC_NOT_ALTERABLE ), + DEF_VALS1(MQRC_SUBLEVEL_NOT_ALTERABLE ), + DEF_VALS1(MQRC_PROPERTY_NAME_LENGTH_ERR ), + DEF_VALS1(MQRC_DUPLICATE_GROUP_SUB ), + DEF_VALS1(MQRC_GROUPING_NOT_ALTERABLE ), + DEF_VALS1(MQRC_SELECTOR_INVALID_FOR_TYPE ), + DEF_VALS1(MQRC_HOBJ_QUIESCED ), + DEF_VALS1(MQRC_HOBJ_QUIESCED_NO_MSGS ), + DEF_VALS1(MQRC_SELECTION_STRING_ERROR ), + DEF_VALS1(MQRC_RES_OBJECT_STRING_ERROR ), + DEF_VALS1(MQRC_CONNECTION_SUSPENDED ), + DEF_VALS1(MQRC_INVALID_DESTINATION ), + DEF_VALS1(MQRC_INVALID_SUBSCRIPTION ), + DEF_VALS1(MQRC_SELECTOR_NOT_ALTERABLE ), + DEF_VALS1(MQRC_RETAINED_MSG_Q_ERROR ), + DEF_VALS1(MQRC_RETAINED_NOT_DELIVERED ), + DEF_VALS1(MQRC_RFH_RESTRICTED_FORMAT_ERR ), + DEF_VALS1(MQRC_CONNECTION_STOPPED ), + DEF_VALS1(MQRC_ASYNC_UOW_CONFLICT ), + DEF_VALS1(MQRC_ASYNC_XA_CONFLICT ), + DEF_VALS1(MQRC_PUBSUB_INHIBITED ), + DEF_VALS1(MQRC_MSG_HANDLE_COPY_FAILURE ), + DEF_VALS1(MQRC_DEST_CLASS_NOT_ALTERABLE ), + DEF_VALS1(MQRC_OPERATION_NOT_ALLOWED ), + DEF_VALS1(MQRC_ACTION_ERROR ), + DEF_VALS1(MQRC_CHANNEL_NOT_AVAILABLE ), + DEF_VALS1(MQRC_HOST_NOT_AVAILABLE ), + DEF_VALS1(MQRC_CHANNEL_CONFIG_ERROR ), + DEF_VALS1(MQRC_UNKNOWN_CHANNEL_NAME ), + DEF_VALS1(MQRC_LOOPING_PUBLICATION ), + DEF_VALS1(MQRC_ALREADY_JOINED ), + DEF_VALS1(MQRC_STANDBY_Q_MGR ), + DEF_VALS1(MQRC_RECONNECTING ), + DEF_VALS1(MQRC_RECONNECTED ), + DEF_VALS1(MQRC_RECONNECT_QMID_MISMATCH ), + DEF_VALS1(MQRC_RECONNECT_INCOMPATIBLE ), + DEF_VALS1(MQRC_RECONNECT_FAILED ), + DEF_VALS1(MQRC_CALL_INTERRUPTED ), + DEF_VALS1(MQRC_NO_SUBS_MATCHED ), + DEF_VALS1(MQRC_SELECTION_NOT_AVAILABLE ), + DEF_VALS1(MQRC_CHANNEL_SSL_WARNING ), + DEF_VALS1(MQRC_OCSP_URL_ERROR ), + DEF_VALS1(MQRC_CONTENT_ERROR ), + DEF_VALS1(MQRC_RECONNECT_Q_MGR_REQD ), + DEF_VALS1(MQRC_RECONNECT_TIMED_OUT ), + DEF_VALS1(MQRC_PUBLISH_EXIT_ERROR ), + DEF_VALS1(MQRC_SSL_ALT_PROVIDER_REQUIRED ), + DEF_VALS1(MQRC_PRECONN_EXIT_LOAD_ERROR ), + DEF_VALS1(MQRC_PRECONN_EXIT_NOT_FOUND ), + DEF_VALS1(MQRC_PRECONN_EXIT_ERROR ), + DEF_VALS1(MQRC_CD_ARRAY_ERROR ), + DEF_VALS1(MQRCCF_CFH_TYPE_ERROR ), + DEF_VALS1(MQRCCF_CFH_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFH_VERSION_ERROR ), + DEF_VALS1(MQRCCF_CFH_MSG_SEQ_NUMBER_ERR ), + DEF_VALS1(MQRCCF_CFH_CONTROL_ERROR ), + DEF_VALS1(MQRCCF_CFH_PARM_COUNT_ERROR ), + DEF_VALS1(MQRCCF_CFH_COMMAND_ERROR ), + DEF_VALS1(MQRCCF_COMMAND_FAILED ), + DEF_VALS1(MQRCCF_CFIN_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFST_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFST_STRING_LENGTH_ERR ), + DEF_VALS1(MQRCCF_FORCE_VALUE_ERROR ), + DEF_VALS1(MQRCCF_STRUCTURE_TYPE_ERROR ), + DEF_VALS1(MQRCCF_CFIN_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CFST_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_MSG_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFIN_DUPLICATE_PARM ), + DEF_VALS1(MQRCCF_CFST_DUPLICATE_PARM ), + DEF_VALS1(MQRCCF_PARM_COUNT_TOO_SMALL ), + DEF_VALS1(MQRCCF_PARM_COUNT_TOO_BIG ), + DEF_VALS1(MQRCCF_Q_ALREADY_IN_CELL ), + DEF_VALS1(MQRCCF_Q_TYPE_ERROR ), + DEF_VALS1(MQRCCF_MD_FORMAT_ERROR ), + DEF_VALS1(MQRCCF_CFSL_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_REPLACE_VALUE_ERROR ), + DEF_VALS1(MQRCCF_CFIL_DUPLICATE_VALUE ), + DEF_VALS1(MQRCCF_CFIL_COUNT_ERROR ), + DEF_VALS1(MQRCCF_CFIL_LENGTH_ERROR ), + DEF_VALS2(MQRCCF_MODE_VALUE_ERROR,"MQRCCF_QUIESCE_VALUE_ERROR"), + DEF_VALS1(MQRCCF_MSG_SEQ_NUMBER_ERROR ), + DEF_VALS1(MQRCCF_PING_DATA_COUNT_ERROR ), + DEF_VALS1(MQRCCF_PING_DATA_COMPARE_ERROR ), + DEF_VALS1(MQRCCF_CFSL_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CHANNEL_TYPE_ERROR ), + DEF_VALS1(MQRCCF_PARM_SEQUENCE_ERROR ), + DEF_VALS1(MQRCCF_XMIT_PROTOCOL_TYPE_ERR ), + DEF_VALS1(MQRCCF_BATCH_SIZE_ERROR ), + DEF_VALS1(MQRCCF_DISC_INT_ERROR ), + DEF_VALS1(MQRCCF_SHORT_RETRY_ERROR ), + DEF_VALS1(MQRCCF_SHORT_TIMER_ERROR ), + DEF_VALS1(MQRCCF_LONG_RETRY_ERROR ), + DEF_VALS1(MQRCCF_LONG_TIMER_ERROR ), + DEF_VALS1(MQRCCF_SEQ_NUMBER_WRAP_ERROR ), + DEF_VALS1(MQRCCF_MAX_MSG_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_PUT_AUTH_ERROR ), + DEF_VALS1(MQRCCF_PURGE_VALUE_ERROR ), + DEF_VALS1(MQRCCF_CFIL_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_MSG_TRUNCATED ), + DEF_VALS1(MQRCCF_CCSID_ERROR ), + DEF_VALS1(MQRCCF_ENCODING_ERROR ), + DEF_VALS1(MQRCCF_QUEUES_VALUE_ERROR ), + DEF_VALS1(MQRCCF_DATA_CONV_VALUE_ERROR ), + DEF_VALS1(MQRCCF_INDOUBT_VALUE_ERROR ), + DEF_VALS1(MQRCCF_ESCAPE_TYPE_ERROR ), + DEF_VALS1(MQRCCF_REPOS_VALUE_ERROR ), + DEF_VALS1(MQRCCF_CHANNEL_TABLE_ERROR ), + DEF_VALS1(MQRCCF_MCA_TYPE_ERROR ), + DEF_VALS1(MQRCCF_CHL_INST_TYPE_ERROR ), + DEF_VALS1(MQRCCF_CHL_STATUS_NOT_FOUND ), + DEF_VALS1(MQRCCF_CFSL_DUPLICATE_PARM ), + DEF_VALS1(MQRCCF_CFSL_TOTAL_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFSL_COUNT_ERROR ), + DEF_VALS1(MQRCCF_CFSL_STRING_LENGTH_ERR ), + DEF_VALS1(MQRCCF_BROKER_DELETED ), + DEF_VALS1(MQRCCF_STREAM_ERROR ), + DEF_VALS1(MQRCCF_TOPIC_ERROR ), + DEF_VALS1(MQRCCF_NOT_REGISTERED ), + DEF_VALS1(MQRCCF_Q_MGR_NAME_ERROR ), + DEF_VALS1(MQRCCF_INCORRECT_STREAM ), + DEF_VALS1(MQRCCF_Q_NAME_ERROR ), + DEF_VALS1(MQRCCF_NO_RETAINED_MSG ), + DEF_VALS1(MQRCCF_DUPLICATE_IDENTITY ), + DEF_VALS1(MQRCCF_INCORRECT_Q ), + DEF_VALS1(MQRCCF_CORREL_ID_ERROR ), + DEF_VALS1(MQRCCF_NOT_AUTHORIZED ), + DEF_VALS1(MQRCCF_UNKNOWN_STREAM ), + DEF_VALS1(MQRCCF_REG_OPTIONS_ERROR ), + DEF_VALS1(MQRCCF_PUB_OPTIONS_ERROR ), + DEF_VALS1(MQRCCF_UNKNOWN_BROKER ), + DEF_VALS1(MQRCCF_Q_MGR_CCSID_ERROR ), + DEF_VALS1(MQRCCF_DEL_OPTIONS_ERROR ), + DEF_VALS1(MQRCCF_CLUSTER_NAME_CONFLICT ), + DEF_VALS1(MQRCCF_REPOS_NAME_CONFLICT ), + DEF_VALS1(MQRCCF_CLUSTER_Q_USAGE_ERROR ), + DEF_VALS1(MQRCCF_ACTION_VALUE_ERROR ), + DEF_VALS1(MQRCCF_COMMS_LIBRARY_ERROR ), + DEF_VALS1(MQRCCF_NETBIOS_NAME_ERROR ), + DEF_VALS1(MQRCCF_BROKER_COMMAND_FAILED ), + DEF_VALS1(MQRCCF_CFST_CONFLICTING_PARM ), + DEF_VALS1(MQRCCF_PATH_NOT_VALID ), + DEF_VALS1(MQRCCF_PARM_SYNTAX_ERROR ), + DEF_VALS1(MQRCCF_PWD_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_FILTER_ERROR ), + DEF_VALS1(MQRCCF_WRONG_USER ), + DEF_VALS1(MQRCCF_DUPLICATE_SUBSCRIPTION ), + DEF_VALS1(MQRCCF_SUB_NAME_ERROR ), + DEF_VALS1(MQRCCF_SUB_IDENTITY_ERROR ), + DEF_VALS1(MQRCCF_SUBSCRIPTION_IN_USE ), + DEF_VALS1(MQRCCF_SUBSCRIPTION_LOCKED ), + DEF_VALS1(MQRCCF_ALREADY_JOINED ), + DEF_VALS1(MQRCCF_OBJECT_IN_USE ), + DEF_VALS1(MQRCCF_UNKNOWN_FILE_NAME ), + DEF_VALS1(MQRCCF_FILE_NOT_AVAILABLE ), + DEF_VALS1(MQRCCF_DISC_RETRY_ERROR ), + DEF_VALS1(MQRCCF_ALLOC_RETRY_ERROR ), + DEF_VALS1(MQRCCF_ALLOC_SLOW_TIMER_ERROR ), + DEF_VALS1(MQRCCF_ALLOC_FAST_TIMER_ERROR ), + DEF_VALS1(MQRCCF_PORT_NUMBER_ERROR ), + DEF_VALS1(MQRCCF_CHL_SYSTEM_NOT_ACTIVE ), + DEF_VALS1(MQRCCF_ENTITY_NAME_MISSING ), + DEF_VALS1(MQRCCF_PROFILE_NAME_ERROR ), + DEF_VALS1(MQRCCF_AUTH_VALUE_ERROR ), + DEF_VALS1(MQRCCF_AUTH_VALUE_MISSING ), + DEF_VALS1(MQRCCF_OBJECT_TYPE_MISSING ), + DEF_VALS1(MQRCCF_CONNECTION_ID_ERROR ), + DEF_VALS1(MQRCCF_LOG_TYPE_ERROR ), + DEF_VALS1(MQRCCF_PROGRAM_NOT_AVAILABLE ), + DEF_VALS1(MQRCCF_PROGRAM_AUTH_FAILED ), + DEF_VALS1(MQRCCF_NONE_FOUND ), + DEF_VALS1(MQRCCF_SECURITY_SWITCH_OFF ), + DEF_VALS1(MQRCCF_SECURITY_REFRESH_FAILED ), + DEF_VALS1(MQRCCF_PARM_CONFLICT ), + DEF_VALS1(MQRCCF_COMMAND_INHIBITED ), + DEF_VALS1(MQRCCF_OBJECT_BEING_DELETED ), + DEF_VALS1(MQRCCF_STORAGE_CLASS_IN_USE ), + DEF_VALS1(MQRCCF_OBJECT_NAME_RESTRICTED ), + DEF_VALS1(MQRCCF_OBJECT_LIMIT_EXCEEDED ), + DEF_VALS1(MQRCCF_OBJECT_OPEN_FORCE ), + DEF_VALS1(MQRCCF_DISPOSITION_CONFLICT ), + DEF_VALS1(MQRCCF_Q_MGR_NOT_IN_QSG ), + DEF_VALS1(MQRCCF_ATTR_VALUE_FIXED ), + DEF_VALS1(MQRCCF_NAMELIST_ERROR ), + DEF_VALS1(MQRCCF_NO_CHANNEL_INITIATOR ), + DEF_VALS1(MQRCCF_CHANNEL_INITIATOR_ERROR ), + DEF_VALS1(MQRCCF_COMMAND_LEVEL_CONFLICT ), + DEF_VALS1(MQRCCF_Q_ATTR_CONFLICT ), + DEF_VALS1(MQRCCF_EVENTS_DISABLED ), + DEF_VALS1(MQRCCF_COMMAND_SCOPE_ERROR ), + DEF_VALS1(MQRCCF_COMMAND_REPLY_ERROR ), + DEF_VALS1(MQRCCF_FUNCTION_RESTRICTED ), + DEF_VALS1(MQRCCF_PARM_MISSING ), + DEF_VALS1(MQRCCF_PARM_VALUE_ERROR ), + DEF_VALS1(MQRCCF_COMMAND_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_COMMAND_ORIGIN_ERROR ), + DEF_VALS1(MQRCCF_LISTENER_CONFLICT ), + DEF_VALS1(MQRCCF_LISTENER_STARTED ), + DEF_VALS1(MQRCCF_LISTENER_STOPPED ), + DEF_VALS1(MQRCCF_CHANNEL_ERROR ), + DEF_VALS1(MQRCCF_CF_STRUC_ERROR ), + DEF_VALS1(MQRCCF_UNKNOWN_USER_ID ), + DEF_VALS1(MQRCCF_UNEXPECTED_ERROR ), + DEF_VALS1(MQRCCF_NO_XCF_PARTNER ), + DEF_VALS1(MQRCCF_CFGR_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CFIF_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFIF_OPERATOR_ERROR ), + DEF_VALS1(MQRCCF_CFIF_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CFSF_FILTER_VAL_LEN_ERR ), + DEF_VALS1(MQRCCF_CFSF_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFSF_OPERATOR_ERROR ), + DEF_VALS1(MQRCCF_CFSF_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_TOO_MANY_FILTERS ), + DEF_VALS1(MQRCCF_LISTENER_RUNNING ), + DEF_VALS1(MQRCCF_LSTR_STATUS_NOT_FOUND ), + DEF_VALS1(MQRCCF_SERVICE_RUNNING ), + DEF_VALS1(MQRCCF_SERV_STATUS_NOT_FOUND ), + DEF_VALS1(MQRCCF_SERVICE_STOPPED ), + DEF_VALS1(MQRCCF_CFBS_DUPLICATE_PARM ), + DEF_VALS1(MQRCCF_CFBS_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFBS_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CFBS_STRING_LENGTH_ERR ), + DEF_VALS1(MQRCCF_CFGR_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFGR_PARM_COUNT_ERROR ), + DEF_VALS1(MQRCCF_CONN_NOT_STOPPED ), + DEF_VALS1(MQRCCF_SERVICE_REQUEST_PENDING ), + DEF_VALS1(MQRCCF_NO_START_CMD ), + DEF_VALS1(MQRCCF_NO_STOP_CMD ), + DEF_VALS1(MQRCCF_CFBF_LENGTH_ERROR ), + DEF_VALS1(MQRCCF_CFBF_PARM_ID_ERROR ), + DEF_VALS1(MQRCCF_CFBF_OPERATOR_ERROR ), + DEF_VALS1(MQRCCF_CFBF_FILTER_VAL_LEN_ERR ), + DEF_VALS1(MQRCCF_LISTENER_STILL_ACTIVE ), + DEF_VALS1(MQRCCF_TOPICSTR_ALREADY_EXISTS ), + DEF_VALS1(MQRCCF_SHARING_CONVS_ERROR ), + DEF_VALS1(MQRCCF_SHARING_CONVS_TYPE ), + DEF_VALS1(MQRCCF_SECURITY_CASE_CONFLICT ), + DEF_VALS1(MQRCCF_TOPIC_TYPE_ERROR ), + DEF_VALS1(MQRCCF_MAX_INSTANCES_ERROR ), + DEF_VALS1(MQRCCF_MAX_INSTS_PER_CLNT_ERR ), + DEF_VALS1(MQRCCF_TOPIC_STRING_NOT_FOUND ), + DEF_VALS1(MQRCCF_SUBSCRIPTION_POINT_ERR ), + DEF_VALS1(MQRCCF_SUB_ALREADY_EXISTS ), + DEF_VALS1(MQRCCF_UNKNOWN_OBJECT_NAME ), + DEF_VALS1(MQRCCF_REMOTE_Q_NAME_ERROR ), + DEF_VALS1(MQRCCF_DURABILITY_NOT_ALLOWED ), + DEF_VALS1(MQRCCF_HOBJ_ERROR ), + DEF_VALS1(MQRCCF_DEST_NAME_ERROR ), + DEF_VALS1(MQRCCF_INVALID_DESTINATION ), + DEF_VALS1(MQRCCF_PUBSUB_INHIBITED ), + DEF_VALS1(MQRCCF_GROUPUR_CHECKS_FAILED ), + DEF_VALS1(MQRCCF_SSL_ALT_PROVIDER_REQD ), + DEF_VALS1(MQRCCF_OBJECT_ALREADY_EXISTS ), + DEF_VALS1(MQRCCF_OBJECT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_LIKE_OBJECT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_OBJECT_OPEN ), + DEF_VALS1(MQRCCF_ATTR_VALUE_ERROR ), + DEF_VALS1(MQRCCF_UNKNOWN_Q_MGR ), + DEF_VALS1(MQRCCF_Q_WRONG_TYPE ), + DEF_VALS1(MQRCCF_OBJECT_NAME_ERROR ), + DEF_VALS1(MQRCCF_ALLOCATE_FAILED ), + DEF_VALS1(MQRCCF_HOST_NOT_AVAILABLE ), + DEF_VALS1(MQRCCF_CONFIGURATION_ERROR ), + DEF_VALS1(MQRCCF_CONNECTION_REFUSED ), + DEF_VALS1(MQRCCF_ENTRY_ERROR ), + DEF_VALS1(MQRCCF_SEND_FAILED ), + DEF_VALS1(MQRCCF_RECEIVED_DATA_ERROR ), + DEF_VALS1(MQRCCF_RECEIVE_FAILED ), + DEF_VALS1(MQRCCF_CONNECTION_CLOSED ), + DEF_VALS1(MQRCCF_NO_STORAGE ), + DEF_VALS1(MQRCCF_NO_COMMS_MANAGER ), + DEF_VALS1(MQRCCF_LISTENER_NOT_STARTED ), + DEF_VALS1(MQRCCF_BIND_FAILED ), + DEF_VALS1(MQRCCF_CHANNEL_INDOUBT ), + DEF_VALS1(MQRCCF_MQCONN_FAILED ), + DEF_VALS1(MQRCCF_MQOPEN_FAILED ), + DEF_VALS1(MQRCCF_MQGET_FAILED ), + DEF_VALS1(MQRCCF_MQPUT_FAILED ), + DEF_VALS1(MQRCCF_PING_ERROR ), + DEF_VALS1(MQRCCF_CHANNEL_IN_USE ), + DEF_VALS1(MQRCCF_CHANNEL_NOT_FOUND ), + DEF_VALS1(MQRCCF_UNKNOWN_REMOTE_CHANNEL ), + DEF_VALS1(MQRCCF_REMOTE_QM_UNAVAILABLE ), + DEF_VALS1(MQRCCF_REMOTE_QM_TERMINATING ), + DEF_VALS1(MQRCCF_MQINQ_FAILED ), + DEF_VALS1(MQRCCF_NOT_XMIT_Q ), + DEF_VALS1(MQRCCF_CHANNEL_DISABLED ), + DEF_VALS1(MQRCCF_USER_EXIT_NOT_AVAILABLE ), + DEF_VALS1(MQRCCF_COMMIT_FAILED ), + DEF_VALS1(MQRCCF_WRONG_CHANNEL_TYPE ), + DEF_VALS1(MQRCCF_CHANNEL_ALREADY_EXISTS ), + DEF_VALS1(MQRCCF_DATA_TOO_LARGE ), + DEF_VALS1(MQRCCF_CHANNEL_NAME_ERROR ), + DEF_VALS1(MQRCCF_XMIT_Q_NAME_ERROR ), + DEF_VALS1(MQRCCF_MCA_NAME_ERROR ), + DEF_VALS1(MQRCCF_SEND_EXIT_NAME_ERROR ), + DEF_VALS1(MQRCCF_SEC_EXIT_NAME_ERROR ), + DEF_VALS1(MQRCCF_MSG_EXIT_NAME_ERROR ), + DEF_VALS1(MQRCCF_RCV_EXIT_NAME_ERROR ), + DEF_VALS1(MQRCCF_XMIT_Q_NAME_WRONG_TYPE ), + DEF_VALS1(MQRCCF_MCA_NAME_WRONG_TYPE ), + DEF_VALS1(MQRCCF_DISC_INT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_SHORT_RETRY_WRONG_TYPE ), + DEF_VALS1(MQRCCF_SHORT_TIMER_WRONG_TYPE ), + DEF_VALS1(MQRCCF_LONG_RETRY_WRONG_TYPE ), + DEF_VALS1(MQRCCF_LONG_TIMER_WRONG_TYPE ), + DEF_VALS1(MQRCCF_PUT_AUTH_WRONG_TYPE ), + DEF_VALS1(MQRCCF_KEEP_ALIVE_INT_ERROR ), + DEF_VALS1(MQRCCF_MISSING_CONN_NAME ), + DEF_VALS1(MQRCCF_CONN_NAME_ERROR ), + DEF_VALS1(MQRCCF_MQSET_FAILED ), + DEF_VALS1(MQRCCF_CHANNEL_NOT_ACTIVE ), + DEF_VALS1(MQRCCF_TERMINATED_BY_SEC_EXIT ), + DEF_VALS1(MQRCCF_DYNAMIC_Q_SCOPE_ERROR ), + DEF_VALS1(MQRCCF_CELL_DIR_NOT_AVAILABLE ), + DEF_VALS1(MQRCCF_MR_COUNT_ERROR ), + DEF_VALS1(MQRCCF_MR_COUNT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_MR_EXIT_NAME_ERROR ), + DEF_VALS1(MQRCCF_MR_EXIT_NAME_WRONG_TYPE ), + DEF_VALS1(MQRCCF_MR_INTERVAL_ERROR ), + DEF_VALS1(MQRCCF_MR_INTERVAL_WRONG_TYPE ), + DEF_VALS1(MQRCCF_NPM_SPEED_ERROR ), + DEF_VALS1(MQRCCF_NPM_SPEED_WRONG_TYPE ), + DEF_VALS1(MQRCCF_HB_INTERVAL_ERROR ), + DEF_VALS1(MQRCCF_HB_INTERVAL_WRONG_TYPE ), + DEF_VALS1(MQRCCF_CHAD_ERROR ), + DEF_VALS1(MQRCCF_CHAD_WRONG_TYPE ), + DEF_VALS1(MQRCCF_CHAD_EVENT_ERROR ), + DEF_VALS1(MQRCCF_CHAD_EVENT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_CHAD_EXIT_ERROR ), + DEF_VALS1(MQRCCF_CHAD_EXIT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_SUPPRESSED_BY_EXIT ), + DEF_VALS1(MQRCCF_BATCH_INT_ERROR ), + DEF_VALS1(MQRCCF_BATCH_INT_WRONG_TYPE ), + DEF_VALS1(MQRCCF_NET_PRIORITY_ERROR ), + DEF_VALS1(MQRCCF_NET_PRIORITY_WRONG_TYPE ), + DEF_VALS1(MQRCCF_CHANNEL_CLOSED ), + DEF_VALS1(MQRCCF_Q_STATUS_NOT_FOUND ), + DEF_VALS1(MQRCCF_SSL_CIPHER_SPEC_ERROR ), + DEF_VALS1(MQRCCF_SSL_PEER_NAME_ERROR ), + DEF_VALS1(MQRCCF_SSL_CLIENT_AUTH_ERROR ), + DEF_VALS1(MQRCCF_RETAINED_NOT_SUPPORTED ), + + DEF_VALS1(MQRC_REOPEN_EXCL_INPUT_ERROR ), + DEF_VALS1(MQRC_REOPEN_INQUIRE_ERROR ), + DEF_VALS1(MQRC_REOPEN_SAVED_CONTEXT_ERR ), + DEF_VALS1(MQRC_REOPEN_TEMPORARY_Q_ERROR ), + DEF_VALS1(MQRC_ATTRIBUTE_LOCKED ), + DEF_VALS1(MQRC_CURSOR_NOT_VALID ), + DEF_VALS1(MQRC_ENCODING_ERROR ), + DEF_VALS1(MQRC_STRUC_ID_ERROR ), + DEF_VALS1(MQRC_NULL_POINTER ), + DEF_VALS1(MQRC_NO_CONNECTION_REFERENCE ), + DEF_VALS1(MQRC_NO_BUFFER ), + DEF_VALS1(MQRC_BINARY_DATA_LENGTH_ERROR ), + DEF_VALS1(MQRC_BUFFER_NOT_AUTOMATIC ), + DEF_VALS1(MQRC_INSUFFICIENT_BUFFER ), + DEF_VALS1(MQRC_INSUFFICIENT_DATA ), + DEF_VALS1(MQRC_DATA_TRUNCATED ), + DEF_VALS1(MQRC_ZERO_LENGTH ), + DEF_VALS1(MQRC_NEGATIVE_LENGTH ), + DEF_VALS1(MQRC_NEGATIVE_OFFSET ), + DEF_VALS1(MQRC_INCONSISTENT_FORMAT ), + DEF_VALS1(MQRC_INCONSISTENT_OBJECT_STATE ), + DEF_VALS1(MQRC_CONTEXT_OBJECT_NOT_VALID ), + DEF_VALS1(MQRC_CONTEXT_OPEN_ERROR ), + DEF_VALS1(MQRC_STRUC_LENGTH_ERROR ), + DEF_VALS1(MQRC_NOT_CONNECTED ), + DEF_VALS1(MQRC_NOT_OPEN ), + DEF_VALS1(MQRC_DISTRIBUTION_LIST_EMPTY ), + DEF_VALS1(MQRC_INCONSISTENT_OPEN_OPTIONS ), + DEF_VALS1(MQRC_WRONG_VERSION ), + DEF_VALS1(MQRC_REFERENCE_ERROR ), +DEF_VALSE; + +DEF_VALSB(ActionOptions) + DEF_VALS1(MQACT_FORCE_REMOVE ), + DEF_VALS1(MQACT_ADVANCE_LOG ), + DEF_VALS1(MQACT_COLLECT_STATISTICS ), + DEF_VALS1(MQACT_PUBSUB ), +DEF_VALSE; + +DEF_VALSB(AsynchronousStateValues) + DEF_VALS1(MQAS_NONE ), + DEF_VALS1(MQAS_ACTIVE ), + DEF_VALS1(MQAS_INACTIVE ), + DEF_VALS1(MQAS_STARTED ), + DEF_VALS1(MQAS_START_WAIT ), + DEF_VALS1(MQAS_STOPPED ), + DEF_VALS1(MQAS_SUSPENDED ), + DEF_VALS1(MQAS_SUSPENDED_TEMPORARY ), +DEF_VALSE; + +DEF_VALSB(AuthorityValues) + DEF_VALS1(MQAUTH_NONE ), + DEF_VALS1(MQAUTH_ALT_USER_AUTHORITY ), + DEF_VALS1(MQAUTH_BROWSE ), + DEF_VALS1(MQAUTH_CHANGE ), + DEF_VALS1(MQAUTH_CLEAR ), + DEF_VALS1(MQAUTH_CONNECT ), + DEF_VALS1(MQAUTH_CREATE ), + DEF_VALS1(MQAUTH_DELETE ), + DEF_VALS1(MQAUTH_DISPLAY ), + DEF_VALS1(MQAUTH_INPUT ), + DEF_VALS1(MQAUTH_INQUIRE ), + DEF_VALS1(MQAUTH_OUTPUT ), + DEF_VALS1(MQAUTH_PASS_ALL_CONTEXT ), + DEF_VALS1(MQAUTH_PASS_IDENTITY_CONTEXT ), + DEF_VALS1(MQAUTH_SET ), + DEF_VALS1(MQAUTH_SET_ALL_CONTEXT ), + DEF_VALS1(MQAUTH_SET_IDENTITY_CONTEXT ), + DEF_VALS1(MQAUTH_CONTROL ), + DEF_VALS1(MQAUTH_CONTROL_EXTENDED ), + DEF_VALS1(MQAUTH_PUBLISH ), + DEF_VALS1(MQAUTH_SUBSCRIBE ), + DEF_VALS1(MQAUTH_RESUME ), + DEF_VALS1(MQAUTH_SYSTEM ), +DEF_VALSE; + +DEF_VALSB(BridgeTypes) + DEF_VALS1(MQBT_OTMA ), +DEF_VALSE; + +DEF_VALSB(RefreshRepositoryOptions) + DEF_VALS1(MQCFO_REFRESH_REPOSITORY_YES ), + DEF_VALS1(MQCFO_REFRESH_REPOSITORY_NO ), +DEF_VALSE; + +DEF_VALSB(RemoveQueuesOptions) + DEF_VALS1(MQCFO_REMOVE_QUEUES_YES ), + DEF_VALS1(MQCFO_REMOVE_QUEUES_NO ), +DEF_VALSE; + +DEF_VALSB(CFRecover) + DEF_VALS1(MQCFR_YES), + DEF_VALS1(MQCFR_NO ), +DEF_VALSE; + +DEF_VALSB(CFStatus) + DEF_VALS1(MQCFSTATUS_NOT_FOUND ), + DEF_VALS1(MQCFSTATUS_ACTIVE ), + DEF_VALS1(MQCFSTATUS_IN_RECOVER ), + DEF_VALS1(MQCFSTATUS_IN_BACKUP ), + DEF_VALS1(MQCFSTATUS_FAILED ), + DEF_VALS1(MQCFSTATUS_NONE ), + DEF_VALS1(MQCFSTATUS_UNKNOWN ), + DEF_VALS1(MQCFSTATUS_ADMIN_INCOMPLETE ), + DEF_VALS1(MQCFSTATUS_NEVER_USED ), + DEF_VALS1(MQCFSTATUS_NO_BACKUP ), + DEF_VALS1(MQCFSTATUS_NOT_FAILED ), + DEF_VALS1(MQCFSTATUS_NOT_RECOVERABLE ), + DEF_VALS1(MQCFSTATUS_XES_ERROR ), +DEF_VALSE; + +DEF_VALSB(CFStatusType) + DEF_VALS1(MQIACF_CF_STATUS_SUMMARY ), + DEF_VALS1(MQIACF_CF_STATUS_CONNECT ), + DEF_VALS1(MQIACF_CF_STATUS_BACKUP ), +DEF_VALSE; + +DEF_VALSB(CFStructType) + DEF_VALS1(MQCFTYPE_APPL ), + DEF_VALS1(MQCFTYPE_ADMIN ), +DEF_VALSE; + +DEF_VALSB(IndoubtStatus) + DEF_VALS1(MQCHIDS_NOT_INDOUBT ), + DEF_VALS1(MQCHIDS_INDOUBT ), +DEF_VALSE; + +DEF_VALSB(ChannelDispositions) + DEF_VALS1(MQCHLD_ALL ), + DEF_VALS1(MQCHLD_DEFAULT ), + DEF_VALS1(MQCHLD_SHARED ), + DEF_VALS1(MQCHLD_PRIVATE ), + DEF_VALS1(MQCHLD_FIXSHARED ), +DEF_VALSE; + +DEF_VALSB(ChannelInstanceType) + DEF_VALS1(MQOT_CURRENT_CHANNEL), + DEF_VALS1(MQOT_SAVED_CHANNEL ), + DEF_VALS1(MQOT_SHORT_CHANNEL ), +DEF_VALSE; + +DEF_VALSB(ChannelStatus) + DEF_VALS1(MQCHS_INACTIVE ), + DEF_VALS1(MQCHS_BINDING ), + DEF_VALS1(MQCHS_STARTING ), + DEF_VALS1(MQCHS_RUNNING ), + DEF_VALS1(MQCHS_STOPPING ), + DEF_VALS1(MQCHS_RETRYING ), + DEF_VALS1(MQCHS_STOPPED ), + DEF_VALS1(MQCHS_REQUESTING ), + DEF_VALS1(MQCHS_PAUSED ), + DEF_VALS1(MQCHS_INITIALIZING ), +DEF_VALSE; + +DEF_VALSB(ChannelSubStates) + DEF_VALS1(MQCHSSTATE_COMPRESSING ), + DEF_VALS1(MQCHSSTATE_END_OF_BATCH ), + DEF_VALS1(MQCHSSTATE_HEARTBEATING ), + DEF_VALS1(MQCHSSTATE_IN_CHADEXIT ), + DEF_VALS1(MQCHSSTATE_IN_MQGET ), + DEF_VALS1(MQCHSSTATE_IN_MQI_CALL ), + DEF_VALS1(MQCHSSTATE_IN_MQPUT ), + DEF_VALS1(MQCHSSTATE_IN_MREXIT ), + DEF_VALS1(MQCHSSTATE_IN_MSGEXIT ), + DEF_VALS1(MQCHSSTATE_IN_SCYEXIT ), + DEF_VALS1(MQCHSSTATE_IN_RCVEXIT ), + DEF_VALS1(MQCHSSTATE_IN_SENDEXIT ), + DEF_VALS1(MQCHSSTATE_NAME_SERVER ), + DEF_VALS1(MQCHSSTATE_NET_CONNECTING ), + DEF_VALS1(MQCHSSTATE_OTHER ), + DEF_VALS1(MQCHSSTATE_RECEIVING ), + DEF_VALS1(MQCHSSTATE_RESYNCHING ), + DEF_VALS1(MQCHSSTATE_SENDING ), + DEF_VALS1(MQCHSSTATE_SERIALIZING ), + DEF_VALS1(MQCHSSTATE_SSL_HANDSHAKING ), +DEF_VALSE; + +DEF_VALSB(ChannelSharedRestartOptions) + DEF_VALS1(MQCHSH_RESTART_NO ), + DEF_VALS1(MQCHSH_RESTART_YES ), +DEF_VALSE; + +DEF_VALSB(ChannelStopOptions) + DEF_VALS1(MQCHSR_STOP_NOT_REQUESTED ), + DEF_VALS1(MQCHSR_STOP_REQUESTED ), +DEF_VALSE; + +DEF_VALSB(ChannelTableTypes) + DEF_VALS1(MQCHTAB_Q_MGR ), + DEF_VALS1(MQCHTAB_CLNTCONN ), +DEF_VALSE; + +DEF_VALSB(ChinitStatus) + DEF_VALS1(MQSVC_STATUS_STOPPED), + DEF_VALS1(MQSVC_STATUS_RUNNING), + DEF_VALS1(MQSVC_STATUS_RETRYING), +DEF_VALSE; + +DEF_VALSB(ChinitInboundDisp) + DEF_VALS1(MQINBD_Q_MGR), + DEF_VALS1(MQINBD_GROUP), +DEF_VALSE; + +DEF_VALSB(ChinitTraceAutoStart) + DEF_VALS1(MQTRAXSTR_YES), + DEF_VALS1(MQTRAXSTR_NO ), +DEF_VALSE; + +DEF_VALSB(ClearTopicStringScope) + DEF_VALS1(MQCLRS_LOCAL ), + DEF_VALS1(MQCLRS_GLOBAL ), +DEF_VALSE; + +DEF_VALSB(ClearTopicStringType) + DEF_VALS1(MQCLRT_RETAINED ), +DEF_VALSE; + +DEF_VALSB(DisconnectTypes) + DEF_VALS1(MQDISCONNECT_NORMAL ), + DEF_VALS1(MQDISCONNECT_IMPLICIT ), + DEF_VALS1(MQDISCONNECT_Q_MGR ), +DEF_VALSE; + +DEF_VALSB(EscapeTypes) + DEF_VALS1(MQET_MQSC ), +DEF_VALSE; + +DEF_VALSB(EventRecording) + DEF_VALS1(MQEVR_DISABLED ), + DEF_VALS1(MQEVR_ENABLED ), + DEF_VALS1(MQEVR_EXCEPTION ), + DEF_VALS1(MQEVR_NO_DISPLAY ), +DEF_VALSE; + +DEF_VALSB(ForceOptions) + DEF_VALS1(MQFC_YES ), + DEF_VALS1(MQFC_NO ), +DEF_VALSE; + +DEF_VALSB(HandleStates) + DEF_VALS1(MQHSTATE_INACTIVE ), + DEF_VALS1(MQHSTATE_ACTIVE ), +DEF_VALSE; + +DEF_VALSB(InboundDispositions) + DEF_VALS1(MQINBD_Q_MGR ), + DEF_VALS1(MQINBD_GROUP ), +DEF_VALSE; + +DEF_VALSB(IndoubtOptions) + DEF_VALS1(MQIDO_COMMIT ), + DEF_VALS1(MQIDO_BACKOUT ), +DEF_VALSE; + +DEF_VALSB(MessageChannelAgentStatus) + DEF_VALS1(MQMCAS_STOPPED ), + DEF_VALS1(MQMCAS_RUNNING ), +DEF_VALSE; + +DEF_VALSB(ModeOptions) + DEF_VALS1(MQMODE_FORCE ), + DEF_VALS1(MQMODE_QUIESCE ), + DEF_VALS1(MQMODE_TERMINATE ), +DEF_VALSE; + +DEF_VALSB(PurgeOptions) + DEF_VALS1(MQPO_YES ), + DEF_VALS1(MQPO_NO ), +DEF_VALSE; + +DEF_VALSB(PubSubCluster) + DEF_VALS1(MQPSCLUS_ENABLED ), + DEF_VALS1(MQPSCLUS_DISABLED), +DEF_VALSE; + +DEF_VALSB(PubSubMode) + DEF_VALS1(MQPSM_COMPAT ), + DEF_VALS1(MQPSM_DISABLED ), + DEF_VALS1(MQPSM_ENABLED ), +DEF_VALSE; + +DEF_VALSB(PubSubNP) + DEF_VALS1(MQUNDELIVERED_NORMAL ), + DEF_VALS1(MQUNDELIVERED_SAFE ), + DEF_VALS1(MQUNDELIVERED_DISCARD), + DEF_VALS1(MQUNDELIVERED_KEEP ), +DEF_VALSE; + +DEF_VALSB(PubSubSync) + DEF_VALS1(MQSYNCPOINT_YES ), + DEF_VALS1(MQSYNCPOINT_IFPER), +DEF_VALSE; + +DEF_VALSB(PubSubStatusType) + DEF_VALS1(MQPSST_ALL ), + DEF_VALS1(MQPSST_LOCAL ), + DEF_VALS1(MQPSST_PARENT ), + DEF_VALS1(MQPSST_CHILD ), +DEF_VALSE; + +DEF_VALSB(PubSubStatus) + DEF_VALS1(MQPS_STATUS_ACTIVE ), + DEF_VALS1(MQPS_STATUS_COMPAT ), + DEF_VALS1(MQPS_STATUS_ERROR ), + DEF_VALS1(MQPS_STATUS_INACTIVE ), + DEF_VALS1(MQPS_STATUS_STARTING ), + DEF_VALS1(MQPS_STATUS_STOPPING ), + DEF_VALS1(MQPS_STATUS_REFUSED ), +DEF_VALSE; + +DEF_VALSB(QueueManagerDefinitionTypes) + DEF_VALS1(MQQMDT_EXPLICIT_CLUSTER_SENDER ), + DEF_VALS1(MQQMDT_AUTO_CLUSTER_SENDER ), + DEF_VALS1(MQQMDT_AUTO_EXP_CLUSTER_SENDER ), + DEF_VALS1(MQQMDT_CLUSTER_RECEIVER ), +DEF_VALSE; + +DEF_VALSB(QueueManagerFacility) + DEF_VALS1(MQQMFAC_IMS_BRIDGE ), + DEF_VALS1(MQQMFAC_DB2 ), +DEF_VALSE; + +DEF_VALSB(QueueManagerStatus) + DEF_VALS1(MQQMSTA_STARTING ), + DEF_VALS1(MQQMSTA_RUNNING ), + DEF_VALS1(MQQMSTA_QUIESCING ), + DEF_VALS1(MQQMSTA_STANDBY ), +DEF_VALSE; + +DEF_VALSB(QueueManagerTypes) + DEF_VALS1(MQQMT_NORMAL ), + DEF_VALS1(MQQMT_REPOSITORY ), +DEF_VALSE; + +DEF_VALSB(QuiesceOptions) + DEF_VALS1(MQQO_YES ), + DEF_VALS1(MQQO_NO ), +DEF_VALSE; + +DEF_VALSB(QueueServiceIntervalEvents) + DEF_VALS1(MQQSIE_NONE ), + DEF_VALS1(MQQSIE_HIGH ), + DEF_VALS1(MQQSIE_OK ), +DEF_VALSE; + +DEF_VALSB(QueueStatusOpenTypes) + DEF_VALS1(MQQSOT_ALL ), + DEF_VALS1(MQQSOT_INPUT ), + DEF_VALS1(MQQSOT_OUTPUT ), +DEF_VALSE; + +DEF_VALSB(NameListTypes) + DEF_VALS1(MQNT_NONE ), + DEF_VALS1(MQNT_Q ), + DEF_VALS1(MQNT_CLUSTER ), + DEF_VALS1(MQNT_AUTH_INFO ), +DEF_VALSE; + +DEF_VALSB(QSGStatus) + DEF_VALS1(MQQSGS_UNKNOWN ), + DEF_VALS1(MQQSGS_CREATED ), + DEF_VALS1(MQQSGS_ACTIVE ), + DEF_VALS1(MQQSGS_INACTIVE ), + DEF_VALS1(MQQSGS_FAILED ), + DEF_VALS1(MQQSGS_PENDING ), +DEF_VALSE; + +DEF_VALSB(QueueStatusType) + DEF_VALS1(MQIACF_Q_STATUS ), + DEF_VALS1(MQIACF_Q_HANDLE ), +DEF_VALSE; + +DEF_VALSB(QueueStatusOptionsYesNo) + DEF_VALS1(MQQSO_NO ), + DEF_VALS1(MQQSO_YES ), +DEF_VALSE; + +DEF_VALSB(QueueStatusOpenOptions) + DEF_VALS1(MQQSO_NO ), + DEF_VALS1(MQQSO_SHARED ), + DEF_VALS1(MQQSO_EXCLUSIVE ), +DEF_VALSE; + +DEF_VALSB(QueueStatusUncommittedMessages) + DEF_VALS1(MQQSUM_YES ), + DEF_VALS1(MQQSUM_NO ), +DEF_VALSE; + +DEF_VALSB(ReplaceOptions) + DEF_VALS1(MQRP_YES ), + DEF_VALS1(MQRP_NO ), +DEF_VALSE; + +DEF_VALSB(ReasonQualifiers) + DEF_VALS1(MQRQ_CONN_NOT_AUTHORIZED ), + DEF_VALS1(MQRQ_OPEN_NOT_AUTHORIZED ), + DEF_VALS1(MQRQ_CLOSE_NOT_AUTHORIZED ), + DEF_VALS1(MQRQ_CMD_NOT_AUTHORIZED ), + DEF_VALS1(MQRQ_Q_MGR_STOPPING ), + DEF_VALS1(MQRQ_Q_MGR_QUIESCING ), + DEF_VALS1(MQRQ_CHANNEL_STOPPED_OK ), + DEF_VALS1(MQRQ_CHANNEL_STOPPED_ERROR ), + DEF_VALS1(MQRQ_CHANNEL_STOPPED_RETRY ), + DEF_VALS1(MQRQ_CHANNEL_STOPPED_DISABLED ), + DEF_VALS1(MQRQ_BRIDGE_STOPPED_OK ), + DEF_VALS1(MQRQ_BRIDGE_STOPPED_ERROR ), + DEF_VALS1(MQRQ_SSL_HANDSHAKE_ERROR ), + DEF_VALS1(MQRQ_SSL_CIPHER_SPEC_ERROR ), + DEF_VALS1(MQRQ_SSL_CLIENT_AUTH_ERROR ), + DEF_VALS1(MQRQ_SSL_PEER_NAME_ERROR ), + DEF_VALS1(MQRQ_SUB_NOT_AUTHORIZED ), + DEF_VALS1(MQRQ_SUB_DEST_NOT_AUTHORIZED ), + DEF_VALS1(MQRQ_SSL_UNKNOWN_REVOCATION ), + DEF_VALS1(MQRQ_SYS_CONN_NOT_AUTHORIZED ), +DEF_VALSE; + +DEF_VALSB(RefreshTypes) + DEF_VALS1(MQRT_CONFIGURATION ), + DEF_VALS1(MQRT_EXPIRY ), + DEF_VALS1(MQRT_NSPROC ), + DEF_VALS1(MQRT_PROXYSUB ), +DEF_VALSE; + +DEF_VALSB(QueueDefinitionScope) + DEF_VALS1(MQSCO_Q_MGR ), + DEF_VALS1(MQSCO_CELL ), +DEF_VALSE; + +DEF_VALSB(SecurityItems) + DEF_VALS1(MQSECITEM_ALL ), + DEF_VALS1(MQSECITEM_MQADMIN ), + DEF_VALS1(MQSECITEM_MQNLIST ), + DEF_VALS1(MQSECITEM_MQPROC ), + DEF_VALS1(MQSECITEM_MQQUEUE ), + DEF_VALS1(MQSECITEM_MQCONN ), + DEF_VALS1(MQSECITEM_MQCMDS ), + DEF_VALS1(MQSECITEM_MXADMIN ), + DEF_VALS1(MQSECITEM_MXNLIST ), + DEF_VALS1(MQSECITEM_MXPROC ), + DEF_VALS1(MQSECITEM_MXQUEUE ), + DEF_VALS1(MQSECITEM_MXTOPIC ), +DEF_VALSE; + +DEF_VALSB(SecuritySwitches) + DEF_VALS1(MQSECSW_PROCESS ), + DEF_VALS1(MQSECSW_NAMELIST ), + DEF_VALS1(MQSECSW_Q ), + DEF_VALS1(MQSECSW_TOPIC ), + DEF_VALS1(MQSECSW_CONTEXT ), + DEF_VALS1(MQSECSW_ALTERNATE_USER ), + DEF_VALS1(MQSECSW_COMMAND ), + DEF_VALS1(MQSECSW_CONNECTION ), + DEF_VALS1(MQSECSW_SUBSYSTEM ), + DEF_VALS1(MQSECSW_COMMAND_RESOURCES ), + DEF_VALS1(MQSECSW_Q_MGR ), + DEF_VALS1(MQSECSW_QSG ), + DEF_VALS1(MQSECSW_OFF_FOUND ), + DEF_VALS1(MQSECSW_ON_FOUND ), + DEF_VALS1(MQSECSW_OFF_NOT_FOUND ), + DEF_VALS1(MQSECSW_ON_NOT_FOUND ), + DEF_VALS1(MQSECSW_OFF_ERROR ), + DEF_VALS1(MQSECSW_ON_OVERRIDDEN ), +DEF_VALSE; + +DEF_VALSB(SecurityTypes) + DEF_VALS1(MQSECTYPE_AUTHSERV ), + DEF_VALS1(MQSECTYPE_SSL ), + DEF_VALS1(MQSECTYPE_CLASSES ), +DEF_VALSE; + +DEF_VALSB(InhibitPublications) + DEF_VALS1(MQTA_PUB_AS_PARENT ), + DEF_VALS1(MQTA_PUB_INHIBITED ), + DEF_VALS1(MQTA_PUB_ALLOWED ), +DEF_VALSE; + +DEF_VALSB(MsgDelivery) + DEF_VALS1(MQDLV_AS_PARENT), + DEF_VALS1(MQDLV_ALL), + DEF_VALS1(MQDLV_ALL_DUR), + DEF_VALS1(MQDLV_ALL_AVAIL), +DEF_VALSE; + +DEF_VALSB(ClusterCacheType) + DEF_VALS1(MQCLCT_STATIC ), + DEF_VALS1(MQCLCT_DYNAMIC ), +DEF_VALSE; + +DEF_VALSB(InhibitSubscriptions) + DEF_VALS1(MQTA_SUB_AS_PARENT ), + DEF_VALS1(MQTA_SUB_INHIBITED ), + DEF_VALS1(MQTA_SUB_ALLOWED ), +DEF_VALSE; + +DEF_VALSB(ProxySubscriptions) + DEF_VALS1(MQTA_PROXY_SUB_FORCE ), + DEF_VALS1(MQTA_PROXY_SUB_FIRSTUSE ), +DEF_VALSE; + +DEF_VALSB(WildcardOperation) + DEF_VALS1(MQTA_PASSTHRU ), + DEF_VALS1(MQTA_BLOCK ), +DEF_VALSE; + +DEF_VALSB(TopicType) + DEF_VALS1(MQTOPT_LOCAL ), + DEF_VALS1(MQTOPT_CLUSTER ), +DEF_VALSE; + +DEF_VALSB(WLMIntervalUnits) + DEF_VALS1(MQTIME_UNIT_SECS), + DEF_VALS1(MQTIME_UNIT_MINS), +DEF_VALSE; + +DEF_VALSB(SelectorTypes) + DEF_VALS1(MQSELTYPE_NONE ), + DEF_VALS1(MQSELTYPE_STANDARD ), + DEF_VALS1(MQSELTYPE_EXTENDED ), +DEF_VALSE; + +DEF_VALSB(SuspendStatus) + DEF_VALS1(MQSUS_YES ), + DEF_VALS1(MQSUS_NO ), +DEF_VALSE; + +DEF_VALSB(SyncpointPubSub) + DEF_VALS1(MQSYNCPOINT_YES ), + DEF_VALS1(MQSYNCPOINT_IFPER ), +DEF_VALSE; + +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_VALSE; + +DEF_VALSB(SubscriptionDurable) + DEF_VALS1(MQSUB_DURABLE_ALL ), + DEF_VALS1(MQSUB_DURABLE_YES ), + DEF_VALS1(MQSUB_DURABLE_NO ), + DEF_VALS1(MQSUB_DURABLE_AS_PARENT ), +DEF_VALSE; + +DEF_VALSB(SubscriptionTypes) + DEF_VALS1(MQSUBTYPE_API ), + DEF_VALS1(MQSUBTYPE_ADMIN ), + DEF_VALS1(MQSUBTYPE_PROXY ), + DEF_VALS1(MQSUBTYPE_ALL ), + DEF_VALS1(MQSUBTYPE_USER ), +DEF_VALSE; + +DEF_VALSB(SubscriptionDestinationClass) + DEF_VALS1(MQDC_MANAGED ), + DEF_VALS1(MQDC_PROVIDED ), +DEF_VALSE; + +DEF_VALSB(SubscriptionRequestOnly) + DEF_VALS1(MQRU_PUBLISH_ON_REQUEST ), + DEF_VALS1(MQRU_PUBLISH_ALL ), +DEF_VALSE; + +DEF_VALSB(TimeUnits) + DEF_VALS1(MQTIME_UNIT_MINS ), + DEF_VALS1(MQTIME_UNIT_SECS ), +DEF_VALSE; + +DEF_VALSB(VariableUser) + DEF_VALS1(MQVU_ANY_USER ), + DEF_VALS1(MQVU_FIXED_USER ), +DEF_VALSE; + +DEF_VALSB(WildcardSchema) + DEF_VALS1(MQWS_CHAR ), + DEF_VALS1(MQWS_TOPIC ), +DEF_VALSE; + +DEF_VALSB(UserIDSupport) + DEF_VALS1(MQUIDSUPP_NO ), + DEF_VALS1(MQUIDSUPP_YES ), +DEF_VALSE; + +DEF_VALSB(UndeliveredPubSub) + DEF_VALS1(MQUNDELIVERED_NORMAL ), + DEF_VALS1(MQUNDELIVERED_SAFE ), + DEF_VALS1(MQUNDELIVERED_DISCARD ), + DEF_VALS1(MQUNDELIVERED_KEEP ), +DEF_VALSE; + +DEF_VALSB(UOWStates) + 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_VALSE; + +DEF_VALSB(UsageType) + DEF_VALS1(MQIACF_USAGE_PAGESET ), + DEF_VALS1(MQIACF_USAGE_BUFFER_POOL ), + DEF_VALS1(MQIACF_USAGE_DATA_SET ), +DEF_VALSE; + +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_VALSE; + +DEF_VALSB(ExpandType) + DEF_VALS1(MQUSAGE_EXPAND_USER ), + DEF_VALS1(MQUSAGE_EXPAND_SYSTEM ), + DEF_VALS1(MQUSAGE_EXPAND_NONE ), +DEF_VALSE; + +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_VALSE; + +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_VALSE; + +DEF_VALSB(ConnInfoType) + DEF_VALS1(MQIACF_CONN_INFO_ALL ), + DEF_VALS1(MQIACF_CONN_INFO_CONN ), + DEF_VALS1(MQIACF_CONN_INFO_HANDLE ), +DEF_VALSE; + +DEF_VALSB(Priority) + DEF_VALS1(MQPRI_PRIORITY_AS_PUBLISHED), + DEF_VALS1(MQPRI_PRIORITY_AS_PARENT), + DEF_VALS1(MQPRI_PRIORITY_AS_Q_DEF), + DEF_VALS1(0), + DEF_VALS1(1), + DEF_VALS1(2), + DEF_VALS1(3), + DEF_VALS1(4), + DEF_VALS1(5), + DEF_VALS1(6), + DEF_VALS1(7), + DEF_VALS1(8), + DEF_VALS1(9), +DEF_VALSE; + +DEF_VALSB(PublishSubscribeProperties) + DEF_VALS1(MQPSPROP_NONE ), + DEF_VALS1(MQPSPROP_COMPAT ), + DEF_VALS1(MQPSPROP_RFH2 ), + DEF_VALS1(MQPSPROP_MSGPROP ), +DEF_VALSE; + +DEF_VALSB(SubscriptionScope) + DEF_VALS1(MQTSCOPE_ALL ), + DEF_VALS1(MQTSCOPE_QMGR ), +DEF_VALSE; + +DEF_VALSB(PublicationScope) + DEF_VALS1(MQSCOPE_ALL ), + DEF_VALS1(MQSCOPE_AS_PARENT ), + DEF_VALS1(MQSCOPE_QMGR ), +DEF_VALSE; + +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_VALSE; + +DEF_VALSB(Multicast) + DEF_VALS1(MQMC_AS_PARENT), + DEF_VALS1(MQMC_ENABLED ), + DEF_VALS1(MQMC_DISABLED ), + DEF_VALS1(MQMC_ONLY ), +DEF_VALSE; + +DEF_VALSB(UseDLQueue) + DEF_VALS1(MQUSEDLQ_AS_PARENT ), + DEF_VALS1(MQUSEDLQ_NO ), + DEF_VALS1(MQUSEDLQ_YES ), +DEF_VALSE; + +DEF_VALSB(IGQPutAuthority) + DEF_VALS1(MQIGQPA_DEFAULT ), + DEF_VALS1(MQIGQPA_CONTEXT ), + DEF_VALS1(MQIGQPA_ONLY_IGQ ), + DEF_VALS1(MQIGQPA_ALTERNATE_OR_IGQ), +DEF_VALSE; + +/*Only on z/OS */ +#define MQSCYC_UPPER 0 +#define MQSCYC_MIXED 1 + +DEF_VALSB(SecurityCase) + DEF_VALS1(MQSCYC_UPPER), + DEF_VALS1(MQSCYC_MIXED), +DEF_VALSE; + +DEF_VALSB(MQCFINT_Parse) + DEF_VALS2(MQIA_SECURITY_CASE ,GET_VALSP(SecurityCase)), + DEF_VALS2(MQIA_PUBSUB_CLUSTER ,GET_VALSP(PubSubCluster)), + DEF_VALS2(MQIA_PUBSUB_NP_MSG ,GET_VALSP(PubSubNP)), + DEF_VALS2(MQIA_PUBSUB_NP_RESP ,GET_VALSP(PubSubNP)), + DEF_VALS2(MQIA_PUBSUB_SYNC_PT ,GET_VALSP(PubSubSync)), + DEF_VALS2(MQIA_PUBSUB_MODE ,GET_VALSP(PubSubMode)), + DEF_VALS2(MQIA_HARDEN_GET_BACKOUT ,GET_VALSP(BackOutHardening)), + DEF_VALS2(MQIA_DEF_PERSISTENCE ,GET_VALSP(Persistence)), + DEF_VALS2(MQIA_DEF_INPUT_OPEN_OPTION ,GET_VALSP(InputOpenOption)), + DEF_VALS2(MQIA_DEFINITION_TYPE ,GET_VALSP(DefinitionType)), + DEF_VALS2(MQIA_CLWL_USEQ ,GET_VALSP(CLWLUseQ)), + DEF_VALS2(MQIA_DEF_BIND ,GET_VALSP(Bindings)), + DEF_VALS2(MQIACF_Q_MGR_ATTRS ,GET_VALSP(PrmId)), + DEF_VALS2(MQIACF_EVENT_ORIGIN ,GET_VALSP(EvtOrig)), + DEF_VALS2(MQIACF_EVENT_APPL_TYPE ,GET_VALSP(ApplType)), + DEF_VALS2(MQIA_APPL_TYPE ,GET_VALSP(ApplType)), + DEF_VALS2(MQIA_PLATFORM ,GET_VALSP(Platform)), + DEF_VALS2(MQIACF_OBJECT_TYPE ,GET_VALSP(ObjType)), + DEF_VALS2(MQIACF_CONN_INFO_TYPE ,GET_VALSP(ConnInfoType)), + DEF_VALS2(MQIA_QSG_DISP ,GET_VALSP(QShrGrpDisp)), + DEF_VALS2(MQIA_BASE_TYPE ,GET_VALSP(BaseType)), + DEF_VALS2(MQIA_INHIBIT_GET ,GET_VALSP(InhibitGetVal)), + DEF_VALS2(MQIA_INHIBIT_PUT ,GET_VALSP(InhibitPutVal)), + DEF_VALS2(MQIA_MSG_DELIVERY_SEQUENCE ,GET_VALSP(MsgDelivSeq)), + DEF_VALS2(MQIA_QMGR_CFCONLOS ,GET_VALSP(CFConLoss)), + DEF_VALS2(MQIA_Q_DEPTH_MAX_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_Q_DEPTH_HIGH_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_Q_DEPTH_LOW_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_Q_TYPE ,GET_VALSP(QueueType)), + DEF_VALS2(MQIACF_Q_TYPES ,GET_VALSP(QueueType)), + DEF_VALS2(MQIA_MONITORING_Q ,GET_VALSP(Monitoring)), + DEF_VALS2(MQIA_ACCOUNTING_Q ,GET_VALSP(Monitoring)), + DEF_VALS2(MQIA_Q_SERVICE_INTERVAL_EVENT,GET_VALSP(ServiceIntervalEvent)), + DEF_VALS2(MQIA_SHAREABILITY ,GET_VALSP(Shareability)), + DEF_VALS2(MQIA_TRIGGER_CONTROL ,GET_VALSP(TriggerControl)), + DEF_VALS2(MQIA_TRIGGER_TYPE ,GET_VALSP(TriggerType)), + DEF_VALS2(MQIA_USAGE ,GET_VALSP(Usage)), + DEF_VALS2(MQIA_MONITORING_CHANNEL ,GET_VALSP(Monitoring)), + DEF_VALS2(MQIACH_CHANNEL_TYPE ,GET_VALSP(ChannelType)), + DEF_VALS2(MQIACH_DATA_CONVERSION ,GET_VALSP(DataConversion)), + DEF_VALS2(MQIACH_HDR_COMPRESSION ,GET_VALSP(HeaderCompression)), + DEF_VALS2(MQIACH_MCA_TYPE ,GET_VALSP(MCAType)), + DEF_VALS2(MQIACH_MSG_COMPRESSION ,GET_VALSP(MessageCompression)), + DEF_VALS2(MQIACH_NPM_SPEED ,GET_VALSP(NonPersistentMsgSpeed)), + DEF_VALS2(MQIACH_PUT_AUTHORITY ,GET_VALSP(PutAuthority)), + DEF_VALS2(MQIACH_SSL_CLIENT_AUTH ,GET_VALSP(SSLClientAuthentication)), + DEF_VALS2(MQIACH_XMIT_PROTOCOL_TYPE ,GET_VALSP(TransportType)), + DEF_VALS2(MQIA_ACTIVITY_RECORDING ,GET_VALSP(ActivityRecording)), + DEF_VALS2(MQIA_ADOPTNEWMCA_CHECK ,GET_VALSP(AdoptNewMCACheck)), + DEF_VALS2(MQIA_ADOPTNEWMCA_TYPE ,GET_VALSP(AdoptNewMCAType)), + DEF_VALS2(MQIA_AUTHORITY_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_BRIDGE_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_CHANNEL_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_MONITORING_CHANNEL ,GET_VALSP(Monitoring)), + DEF_VALS2(MQIA_MONITORING_AUTO_CLUSSDR ,GET_VALSP(Monitoring)), + DEF_VALS2(MQIA_CHINIT_TRACE_AUTO_START ,GET_VALSP(ChinitTraceAutoStart)), + DEF_VALS2(MQIA_COMMAND_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_CONFIGURATION_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_DNS_WLM ,GET_VALSP(DNSWLM)), + DEF_VALS2(MQIA_GROUP_UR ,GET_VALSP(GroupUR)), + DEF_VALS2(MQIA_INHIBIT_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_IP_ADDRESS_VERSION ,GET_VALSP(IPAddressVersion)), + DEF_VALS2(MQIA_LOCAL_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_PERFORMANCE_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_RECEIVE_TIMEOUT_TYPE ,GET_VALSP(ReceiveTimeoutType)), + DEF_VALS2(MQIA_REMOTE_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_SHARED_Q_Q_MGR_NAME ,GET_VALSP(SharedQueueQueueManagerName)), + DEF_VALS2(MQIA_SSL_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_START_STOP_EVENT ,GET_VALSP(EventRule)), + DEF_VALS2(MQIA_TCP_KEEP_ALIVE ,GET_VALSP(TCPKeepAlive)), + DEF_VALS2(MQIA_TCP_STACK_TYPE ,GET_VALSP(TCPStackType)), + DEF_VALS2(MQIA_TRACE_ROUTE_RECORDING ,GET_VALSP(TraceRouteRecording)), + DEF_VALS2(MQIA_IGQ_PUT_AUTHORITY ,GET_VALSP(IGQPutAuthority)), + DEF_VALS2(MQIA_INTRA_GROUP_QUEUING ,GET_VALSP(IntraGroupQueuing)), + DEF_VALS2(MQIA_TOPIC_DEF_PERSISTENCE ,GET_VALSP(Persistence)), + DEF_VALS2(MQIA_DEF_PUT_RESPONSE_TYPE ,GET_VALSP(PutResponse)), + DEF_VALS2(MQIACH_CHANNEL_SUBSTATE ,GET_VALSP(ChannelSubStates)), + DEF_VALS2(MQIACH_CHANNEL_STATUS ,GET_VALSP(ChannelStatus)), + DEF_VALS2(MQIACH_STOP_REQUESTED ,GET_VALSP(ChannelStopOptions)), + DEF_VALS2(MQIACF_PARAMETER_ID ,GET_VALSP(PrmId)), + DEF_VALS2(MQIACF_COMMAND ,GET_VALSP(Command)), +DEF_VALSE; + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 4 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=4 tabstop=4 noexpandtab: + * :indentSize=4:tabSize=4:noTabs=false: + */ diff --git a/epan/dissectors/packet-mq-pcf.c b/epan/dissectors/packet-mq-pcf.c index 014bd28510..fa14707ac7 100644 --- a/epan/dissectors/packet-mq-pcf.c +++ b/epan/dissectors/packet-mq-pcf.c @@ -2,6 +2,7 @@ * Routines for IBM WebSphere MQ PCF packet dissection * * metatech <metatech@flashmail.com> + * robionekenobi <robionekenobi@bluewin.ch> * * $Id$ * @@ -37,9 +38,21 @@ #include <glib.h> #include <epan/packet.h> +#include <epan/proto.h> +#include <epan/expert.h> +#include <epan/prefs.h> +#include <epan/value_string.h> #include "packet-mq.h" +#include "wmem/wmem.h" + +#define PCF_MAX_PARM 999 +#define PCF_MAX_LIST 20000 + +guint mq_pcf_maxprm = PCF_MAX_PARM; +guint mq_pcf_maxlst = PCF_MAX_LIST; static int proto_mqpcf = -1; + static int hf_mqpcf_cfh_type = -1; static int hf_mqpcf_cfh_length = -1; static int hf_mqpcf_cfh_version = -1; @@ -50,188 +63,355 @@ static int hf_mqpcf_cfh_compcode = -1; static int hf_mqpcf_cfh_reason = -1; static int hf_mqpcf_cfh_paramcount = -1; +static int hf_mq_pcf_prmtyp = -1; +static int hf_mq_pcf_prmlen = -1; +static int hf_mq_pcf_prmid = -1; +static int hf_mq_pcf_prmccsid = -1; +static int hf_mq_pcf_prmstrlen = -1; +static int hf_mq_pcf_prmcount = -1; +static int hf_mq_pcf_prmunused = -1; + +static int hf_mq_pcf_string = -1; +static int hf_mq_pcf_stringlist = -1; +static int hf_mq_pcf_int = -1; +static int hf_mq_pcf_intlist = -1; +static int hf_mq_pcf_bytestring = -1; +static int hf_mq_pcf_int64 = -1; +static int hf_mq_pcf_int64list = -1; + +static expert_field ei_mq_pcf_prmln0 = EI_INIT; +static expert_field ei_mq_pcf_MaxInt = EI_INIT; +static expert_field ei_mq_pcf_MaxStr = EI_INIT; +static expert_field ei_mq_pcf_MaxI64 = EI_INIT; +static expert_field ei_mq_pcf_MaxPrm = EI_INIT; + +static gint ett_mqpcf_prm = -1; static gint ett_mqpcf = -1; static gint ett_mqpcf_cfh = -1; -#define MQ_FMT_ADMIN "MQADMIN " -#define MQ_FMT_EVENT "MQEVENT " -#define MQ_FMT_PCF "MQPCF " - -#define MQ_ENC_INTEGER_NORMAL 0x00000001 -#define MQ_ENC_INTEGER_REVERSED 0x00000002 - -#define MQ_CMD_NONE 0 -#define MQ_CMD_CHANGE_Q_MGR 1 -#define MQ_CMD_INQUIRE_Q_MGR 2 -#define MQ_CMD_CHANGE_PROCESS 3 -#define MQ_CMD_COPY_PROCESS 4 -#define MQ_CMD_CREATE_PROCESS 5 -#define MQ_CMD_DELETE_PROCESS 6 -#define MQ_CMD_INQUIRE_PROCESS 7 -#define MQ_CMD_CHANGE_Q 8 -#define MQ_CMD_CLEAR_Q 9 -#define MQ_CMD_COPY_Q 10 -#define MQ_CMD_CREATE_Q 11 -#define MQ_CMD_DELETE_Q 12 -#define MQ_CMD_INQUIRE_Q 13 -#define MQ_CMD_RESET_Q_STATS 17 -#define MQ_CMD_INQUIRE_Q_NAMES 18 -#define MQ_CMD_INQUIRE_PROCESS_NAMES 19 -#define MQ_CMD_INQUIRE_CHANNEL_NAMES 20 -#define MQ_CMD_CHANGE_CHANNEL 21 -#define MQ_CMD_COPY_CHANNEL 22 -#define MQ_CMD_CREATE_CHANNEL 23 -#define MQ_CMD_DELETE_CHANNEL 24 -#define MQ_CMD_INQUIRE_CHANNEL 25 -#define MQ_CMD_PING_CHANNEL 26 -#define MQ_CMD_RESET_CHANNEL 27 -#define MQ_CMD_START_CHANNEL 28 -#define MQ_CMD_STOP_CHANNEL 29 -#define MQ_CMD_START_CHANNEL_INIT 30 -#define MQ_CMD_START_CHANNEL_LISTENER 31 -#define MQ_CMD_CHANGE_NAMELIST 32 -#define MQ_CMD_COPY_NAMELIST 33 -#define MQ_CMD_CREATE_NAMELIST 34 -#define MQ_CMD_DELETE_NAMELIST 35 -#define MQ_CMD_INQUIRE_NAMELIST 36 -#define MQ_CMD_INQUIRE_NAMELIST_NAMES 37 -#define MQ_CMD_ESCAPE 38 -#define MQ_CMD_RESOLVE_CHANNEL 39 -#define MQ_CMD_PING_Q_MGR 40 -#define MQ_CMD_INQUIRE_Q_STATUS 41 -#define MQ_CMD_INQUIRE_CHANNEL_STATUS 42 -#define MQ_CMD_CONFIG_EVENT 43 -#define MQ_CMD_Q_MGR_EVENT 44 -#define MQ_CMD_PERFM_EVENT 45 -#define MQ_CMD_CHANNEL_EVENT 46 -#define MQ_CMD_DELETE_PUBLICATION 60 -#define MQ_CMD_DEREGISTER_PUBLISHER 61 -#define MQ_CMD_DEREGISTER_SUBSCRIBER 62 -#define MQ_CMD_PUBLISH 63 -#define MQ_CMD_REGISTER_PUBLISHER 64 -#define MQ_CMD_REGISTER_SUBSCRIBER 65 -#define MQ_CMD_REQUEST_UPDATE 66 -#define MQ_CMD_BROKER_INTERNAL 67 -#define MQ_CMD_INQUIRE_CLUSTER_Q_MGR 70 -#define MQ_CMD_RESUME_Q_MGR_CLUSTER 71 -#define MQ_CMD_SUSPEND_Q_MGR_CLUSTER 72 -#define MQ_CMD_REFRESH_CLUSTER 73 -#define MQ_CMD_RESET_CLUSTER 74 -#define MQ_CMD_REFRESH_SECURITY 78 -#define MQ_CMD_CHANGE_AUTH_INFO 79 -#define MQ_CMD_COPY_AUTH_INFO 80 -#define MQ_CMD_CREATE_AUTH_INFO 81 -#define MQ_CMD_DELETE_AUTH_INFO 82 -#define MQ_CMD_INQUIRE_AUTH_INFO 83 -#define MQ_CMD_INQUIRE_AUTH_INFO_NAMES 84 - #define MQ_TEXT_CFH "MQ Command Format Header" -static const value_string mqpcf_opcode_vals[] = { - { MQ_CMD_NONE, "NONE" }, - { MQ_CMD_CHANGE_Q_MGR, "CHANGE_Q_MGR" }, - { MQ_CMD_INQUIRE_Q_MGR, "INQUIRE_Q_MGR" }, - { MQ_CMD_CHANGE_PROCESS, "CHANGE_PROCESS" }, - { MQ_CMD_COPY_PROCESS, "COPY_PROCESS" }, - { MQ_CMD_CREATE_PROCESS, "CREATE_PROCESS" }, - { MQ_CMD_DELETE_PROCESS, "DELETE_PROCESS" }, - { MQ_CMD_INQUIRE_PROCESS, "INQUIRE_PROCESS" }, - { MQ_CMD_CHANGE_Q, "CHANGE_Q" }, - { MQ_CMD_CLEAR_Q, "CLEAR_Q" }, - { MQ_CMD_COPY_Q, "COPY_Q" }, - { MQ_CMD_CREATE_Q, "CREATE_Q" }, - { MQ_CMD_DELETE_Q, "DELETE_Q" }, - { MQ_CMD_INQUIRE_Q, "INQUIRE_Q" }, - { MQ_CMD_RESET_Q_STATS, "RESET_Q_STATS" }, - { MQ_CMD_INQUIRE_Q_NAMES, "INQUIRE_Q_NAMES" }, - { MQ_CMD_INQUIRE_PROCESS_NAMES, "INQUIRE_PROCESS_NAMES" }, - { MQ_CMD_INQUIRE_CHANNEL_NAMES, "INQUIRE_CHANNEL_NAMES" }, - { MQ_CMD_CHANGE_CHANNEL, "CHANGE_CHANNEL" }, - { MQ_CMD_COPY_CHANNEL, "COPY_CHANNEL" }, - { MQ_CMD_CREATE_CHANNEL, "CREATE_CHANNEL" }, - { MQ_CMD_DELETE_CHANNEL, "DELETE_CHANNEL" }, - { MQ_CMD_INQUIRE_CHANNEL, "INQUIRE_CHANNEL" }, - { MQ_CMD_PING_CHANNEL, "PING_CHANNEL" }, - { MQ_CMD_RESET_CHANNEL, "RESET_CHANNEL" }, - { MQ_CMD_START_CHANNEL, "START_CHANNEL" }, - { MQ_CMD_STOP_CHANNEL, "STOP_CHANNEL" }, - { MQ_CMD_START_CHANNEL_INIT, "START_CHANNEL_INIT" }, - { MQ_CMD_START_CHANNEL_LISTENER, "START_CHANNEL_LISTENER" }, - { MQ_CMD_CHANGE_NAMELIST, "CHANGE_NAMELIST" }, - { MQ_CMD_CREATE_NAMELIST, "CREATE_NAMELIST" }, - { MQ_CMD_DELETE_NAMELIST, "DELETE_NAMELIST" }, - { MQ_CMD_INQUIRE_NAMELIST, "INQUIRE_NAMELIST" }, - { MQ_CMD_INQUIRE_NAMELIST_NAMES, "INQUIRE_NAMELIST_NAMES" }, - { MQ_CMD_ESCAPE, "ESCAPE" }, - { MQ_CMD_RESOLVE_CHANNEL, "RESOLVE_CHANNEL" }, - { MQ_CMD_PING_Q_MGR, "PING_Q_MGR" }, - { MQ_CMD_INQUIRE_Q_STATUS, "INQUIRE_Q_STATUS" }, - { MQ_CMD_INQUIRE_CHANNEL_STATUS, "INQUIRE_CHANNEL_STATUS" }, - { MQ_CMD_CONFIG_EVENT, "CONFIG_EVENT" }, - { MQ_CMD_Q_MGR_EVENT, "Q_MGR_EVENT" }, - { MQ_CMD_PERFM_EVENT, "PERFM_EVENT" }, - { MQ_CMD_CHANNEL_EVENT, "CHANNEL_EVENT" }, - { MQ_CMD_DELETE_PUBLICATION, "DELETE_PUBLICATION" }, - { MQ_CMD_DEREGISTER_PUBLISHER, "DEREGISTER_PUBLISHER" }, - { MQ_CMD_DEREGISTER_SUBSCRIBER, "DEREGISTER_SUBSCRIBER" }, - { MQ_CMD_PUBLISH, "PUBLISH" }, - { MQ_CMD_REGISTER_PUBLISHER, "REGISTER_PUBLISHER" }, - { MQ_CMD_REGISTER_SUBSCRIBER, "REGISTER_SUBSCRIBER" }, - { MQ_CMD_REQUEST_UPDATE, "REQUEST_UPDATE" }, - { MQ_CMD_BROKER_INTERNAL, "BROKER_INTERNAL" }, - { MQ_CMD_INQUIRE_CLUSTER_Q_MGR, "INQUIRE_CLUSTER_Q_MGR" }, - { MQ_CMD_RESUME_Q_MGR_CLUSTER, "RESUME_Q_MGR_CLUSTER" }, - { MQ_CMD_SUSPEND_Q_MGR_CLUSTER, "SUSPEND_Q_MGR_CLUSTER" }, - { MQ_CMD_REFRESH_CLUSTER, "REFRESH_CLUSTER" }, - { MQ_CMD_REFRESH_SECURITY, "REFRESH_SECURITY" }, - { MQ_CMD_CHANGE_AUTH_INFO, "CHANGE_AUTH_INFO" }, - { MQ_CMD_COPY_AUTH_INFO, "COPY_AUTH_INFO" }, - { MQ_CMD_CREATE_AUTH_INFO, "CREATE_AUTH_INFO" }, - { MQ_CMD_DELETE_AUTH_INFO, "DELETE_AUTH_INFO" }, - { MQ_CMD_INQUIRE_AUTH_INFO, "INQUIRE_AUTH_INFO" }, - { MQ_CMD_INQUIRE_AUTH_INFO_NAMES, "INQUIRE_AUTH_INFO_NAMES" }, - { 0, NULL } -}; - -static guint32 tvb_get_guint32_endian(tvbuff_t *a_tvb, gint a_iOffset, gboolean a_bLittleEndian) +guint8 *dissect_mqpcf_parm_getintval(guint uPrm,guint uVal) { - guint32 iResult; - if (a_bLittleEndian) - iResult = tvb_get_letohl(a_tvb, a_iOffset); + value_string *pVs=NULL; + pVs=(value_string *)try_val_to_str(uPrm,GET_VALSV(MQCFINT_Parse)); + + if (pVs) + { + return (guint8 *)try_val_to_str(uVal,pVs); + } + return NULL; +} + +void dissect_mqpcf_parm_int(tvbuff_t *tvb, proto_tree *tree, guint offset,guint uPrm,guint uVal,int hfindex) +{ + header_field_info *hfinfo; + guint8 *pVal; + + pVal=dissect_mqpcf_parm_getintval(uPrm,uVal); + hfinfo=proto_registrar_get_nth(hfindex); + + if (pVal) + { + proto_tree_add_none_format(tree, hfindex, tvb, offset , 4, "%s:%d-%s", + hfinfo->name, uVal, pVal); + } else - iResult = tvb_get_ntohl(a_tvb, a_iOffset); - return iResult; + { + proto_tree_add_none_format(tree, hfindex, tvb, offset , 4, "%s:%8x-%d", + hfinfo->name, uVal, uVal); + } } -static void -dissect_mqpcf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +static void dissect_mqpcf_parm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *mq_tree, guint offset,guint32 uCount,guint bLittleEndian) +{ + guint32 u=0; + guint32 tOfs=0; + guint32 uLenF; + char strPrm[256]; + guint32 uTyp; + guint32 uLen = 0; + guint32 uPrm; + guint32 uCnt; + guint32 uCCS; + guint32 uSLn; + guint32 uVal; + guint64 uVal64; + + const char sMaxLst[] = " Max # of List reached. DECODE interrupted (actual %u of %u)"; + const char sPrmLn0[] = " MQPrm[%3u] has a zero length. DECODE Failed (MQPrm Count: %u)"; + const char sMaxPrm[] = " Max # of Parm reached. DECODE interrupted (actual %u of %u)"; + + proto_item *ti=NULL; + proto_tree *tree=NULL; + + for (u=0;u<uCount && u<mq_pcf_maxprm;u++) + { + tOfs=offset; + uTyp=tvb_get_guint32_endian(tvb, offset, bLittleEndian); + uLen=tvb_get_guint32_endian(tvb, offset + 4, bLittleEndian); + if (uLen==0) + { + ti = proto_tree_add_text(mq_tree, tvb, offset, 12, sPrmLn0, u+1, uCount); + expert_add_info(pinfo, ti, &ei_mq_pcf_prmln0); + u=uCount; + break; + } + uPrm=tvb_get_guint32_endian(tvb, offset + 8, bLittleEndian); + uLenF=12; + + g_snprintf(strPrm,(gulong)sizeof(strPrm)-1," %-s[%3u] {%1d-%-15.15s} %8x/%5d-%-30.30s", + "MQPrm",u+1, + uTyp,val_to_str_const(uTyp,GET_VALSV(PrmTyp)," Unknown")+6, + uPrm,uPrm,val_to_str_const(uPrm,GET_VALSV(PrmId),"Unknown")); + + switch (uTyp) + { + case MQ_MQCFT_NONE: + break; + case MQ_MQCFT_COMMAND: + break; + case MQ_MQCFT_RESPONSE: + break; + case MQ_MQCFT_INTEGER: + { + guint8 *pVal; + uVal=tvb_get_guint32_endian(tvb, offset+uLenF, bLittleEndian); + pVal=dissect_mqpcf_parm_getintval(uPrm,uVal); + if (pVal) + { + ti = proto_tree_add_text(mq_tree, tvb, offset, uLen, "%s %d-%s", + strPrm,uVal,pVal); + } + else + { + ti = proto_tree_add_text(mq_tree, tvb, offset, uLen, "%s %8x-%d", + strPrm,uVal,uVal); + } + tree = proto_item_add_subtree(ti, ett_mqpcf_prm); + proto_tree_add_item(tree, hf_mq_pcf_prmtyp, tvb, offset, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmlen, tvb, offset + 4, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmid, tvb, offset + 8, 4, bLittleEndian); + + dissect_mqpcf_parm_int(tvb, tree, offset+uLenF, uPrm, uVal, hf_mq_pcf_int); + + offset+=uLenF+4; + } + break; + case MQ_MQCFT_STRING: + { + guint8 *sStr; + + uCCS=tvb_get_guint32_endian(tvb, offset + uLenF, bLittleEndian); + uSLn=tvb_get_guint32_endian(tvb, offset + uLenF + 4, bLittleEndian); + sStr=tvb_get_ephemeral_string_enc(tvb, offset + uLenF + 8,uSLn,(uCCS!=500)?ENC_ASCII:ENC_EBCDIC); + strip_trailing_blanks(sStr,uSLn); + + ti = proto_tree_add_text(mq_tree, tvb, offset, uLen, "%s %s", strPrm, sStr); + tree = proto_item_add_subtree(ti, ett_mqpcf_prm); + + proto_tree_add_item(tree, hf_mq_pcf_prmtyp, tvb, offset, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmlen, tvb, offset + 4, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmid, tvb, offset + 8, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmccsid, tvb, offset + 12, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmstrlen, tvb, offset + 16, 4, bLittleEndian); + + proto_tree_add_item(tree, hf_mq_pcf_string, tvb, offset + uLenF + 8, uSLn, (uCCS!=500)?ENC_ASCII:ENC_EBCDIC); + + offset+=uLenF+8+uSLn; + } + break; + case MQ_MQCFT_INTEGER_LIST: + { + guint32 u2; + + uCnt=tvb_get_guint32_endian(tvb, offset+uLenF, bLittleEndian); + ti = proto_tree_add_text(mq_tree, tvb, offset, uLen, "%s Cnt(%d)",strPrm,uCnt); + tree = proto_item_add_subtree(ti, ett_mqpcf_prm); + + proto_tree_add_item(tree, hf_mq_pcf_prmtyp, tvb, offset, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmlen, tvb, offset + 4, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmid, tvb, offset + 8, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmcount, tvb, offset + 12, 4, bLittleEndian); + + offset+=uLenF+4; + for (u2=0;u2<uCnt && u2<mq_pcf_maxlst;u2++) + { + uVal=tvb_get_guint32_endian(tvb, offset, bLittleEndian); + dissect_mqpcf_parm_int(tvb, tree, offset, uPrm, uVal, hf_mq_pcf_intlist); + offset+=4; + } + if (u2!=uCnt) + { + ti = proto_tree_add_text(tree, tvb, offset, uLen, sMaxLst, u2, uCnt); + expert_add_info(pinfo, ti, &ei_mq_pcf_MaxInt); + } + } + break; + case MQ_MQCFT_STRING_LIST: + { + guint32 u2; + + uCCS=tvb_get_guint32_endian(tvb, offset + uLenF, bLittleEndian); + uCnt=tvb_get_guint32_endian(tvb, offset + uLenF + 4, bLittleEndian); + uSLn=tvb_get_guint32_endian(tvb, offset + uLenF + 8, bLittleEndian); + + ti = proto_tree_add_text(mq_tree, tvb, offset, uLen,"%s Cnt(%d)",strPrm,uCnt); + + tree = proto_item_add_subtree(ti, ett_mqpcf_prm); + proto_tree_add_item(tree, hf_mq_pcf_prmtyp, tvb, offset, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmlen, tvb, offset + 4, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmid, tvb, offset + 8, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmccsid, tvb, offset + 12, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmcount, tvb, offset + 16, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmstrlen, tvb, offset + 20, 4, bLittleEndian); + + offset+=uLenF+12; + for (u2=0;u2<uCnt && u2<mq_pcf_maxlst;u2++) + { + proto_tree_add_item(tree, hf_mq_pcf_stringlist, tvb, offset , uSLn, (uCCS!=500)?ENC_ASCII:ENC_EBCDIC); + offset+=uSLn; + } + if (u2!=uCnt) + { + ti = proto_tree_add_text(tree, tvb, offset, uLen, sMaxLst, u2, uCnt); + expert_add_info(pinfo, ti, &ei_mq_pcf_MaxStr); + } + } + break; + case MQ_MQCFT_EVENT: + break; + case MQ_MQCFT_USER: + break; + case MQ_MQCFT_BYTE_STRING: + { + uSLn=tvb_get_guint32_endian(tvb, offset + uLenF, bLittleEndian); + if (uSLn) + { + guint8 *sStrA=tvb_get_ephemeral_string_enc(tvb, offset + uLenF + 4,uSLn,ENC_ASCII); + guint8 *sStrE=tvb_get_ephemeral_string_enc(tvb, offset + uLenF + 4,uSLn,ENC_EBCDIC); + ti = proto_tree_add_text(mq_tree, tvb, offset, uLen, "%s A(%s) E(%s)", strPrm, sStrA,sStrE); + } + else + { + ti = proto_tree_add_text(mq_tree, tvb, offset, uLen, "%s <MISSING>", strPrm); + } + tree = proto_item_add_subtree(ti, ett_mqpcf_prm); + + proto_tree_add_item(tree, hf_mq_pcf_prmtyp, tvb, offset, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmlen, tvb, offset + 4, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmid, tvb, offset + 8, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmstrlen, tvb, offset + 12, 4, bLittleEndian); + + proto_tree_add_item(tree, hf_mq_pcf_bytestring, tvb, offset + uLenF + 4 , uSLn,bLittleEndian); + + offset+=uLenF+4+uSLn; + } + break; + case MQ_MQCFT_TRACE_ROUTE: + break; + case MQ_MQCFT_REPORT: + break; + case MQ_MQCFT_INTEGER_FILTER: + break; + case MQ_MQCFT_STRING_FILTER: + break; + case MQ_MQCFT_BYTE_STRING_FILTER: + break; + case MQ_MQCFT_COMMAND_XR: + break; + case MQ_MQCFT_XR_MSG: + break; + case MQ_MQCFT_XR_ITEM: + break; + case MQ_MQCFT_XR_SUMMARY: + break; + case MQ_MQCFT_GROUP: + break; + case MQ_MQCFT_STATISTICS: + break; + case MQ_MQCFT_ACCOUNTING: + break; + case MQ_MQCFT_INTEGER64: + { + uVal64=tvb_get_guint64_endian(tvb, offset+4, bLittleEndian); + ti = proto_tree_add_text(mq_tree, tvb, offset, uLen, "%s %" G_GINT64_MODIFIER "x (%" G_GINT64_MODIFIER "d)", + strPrm, uVal64, uVal64); + tree = proto_item_add_subtree(ti, ett_mqpcf_prm); + + proto_tree_add_item(tree, hf_mq_pcf_prmtyp, tvb, offset, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmlen, tvb, offset + 4, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmid, tvb, offset + 8, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmunused, tvb, offset + 12, 4, bLittleEndian); + + proto_tree_add_item(tree, hf_mq_pcf_int64, tvb, offset + uLenF + 4, 8, bLittleEndian); + + offset+=uLenF+4+8; + } + break; + case MQ_MQCFT_INTEGER64_LIST: + { + guint32 u2; + uCnt=tvb_get_guint32_endian(tvb, offset, bLittleEndian); + ti = proto_tree_add_text(mq_tree, tvb, offset, uLen, "%s Cnt(%d)",strPrm,uCnt); + tree = proto_item_add_subtree(ti, ett_mqpcf_prm); + + proto_tree_add_item(tree, hf_mq_pcf_prmtyp, tvb, offset, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmlen, tvb, offset + 4, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmid, tvb, offset + 8, 4, bLittleEndian); + proto_tree_add_item(tree, hf_mq_pcf_prmcount, tvb, offset + 12, 4, bLittleEndian); + + offset+=uLenF+4; + for (u2=0;u2<uCnt && u2<mq_pcf_maxlst;u2++) + { + proto_tree_add_item(tree, hf_mq_pcf_int64list, tvb, offset, 8, bLittleEndian); + offset+=8; + } + if (u2!=uCnt) + { + ti = proto_tree_add_text(tree, tvb, offset, uLen, sMaxLst, u2, uCnt); + expert_add_info(pinfo, ti, &ei_mq_pcf_MaxI64); + } + } + break; + } + offset=tOfs+uLen; + } + if (u!=uCount) + { + ti = proto_tree_add_text(mq_tree, tvb, offset, uLen, sMaxPrm, u, uCount); + expert_add_info(pinfo, ti, &ei_mq_pcf_MaxPrm); + } +} +static void dissect_mqpcf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - proto_tree *mq_tree = NULL; - proto_tree *mqroot_tree = NULL; - proto_item *ti = NULL; gint offset = 0; struct mqinfo* mqinfo = (struct mqinfo *)pinfo->private_data; gboolean bLittleEndian; - bLittleEndian = ((mqinfo->encoding & MQ_ENC_INTEGER_REVERSED) != 0) ? TRUE : FALSE; - col_set_str(pinfo->cinfo, COL_PROTOCOL, "MQ PCF"); - col_clear(pinfo->cinfo, COL_INFO); + bLittleEndian = ((mqinfo->encoding & MQ_MQENC_INTEGER_MASK)==MQ_MQENC_INTEGER_REVERSED)?ENC_LITTLE_ENDIAN:ENC_BIG_ENDIAN; + if (tvb_length(tvb) >= 36) { gint iSizeMQCFH = 36; guint32 iCommand = tvb_get_guint32_endian(tvb, offset + 12, bLittleEndian); - col_append_str(pinfo->cinfo, COL_INFO, val_to_str(iCommand, mqpcf_opcode_vals, "Unknown (0x%02x)")); - if (tree) { + proto_item *ti = NULL; + proto_tree *mq_tree = NULL; + proto_tree *mqroot_tree = NULL; + guint32 uCount; + ti = proto_tree_add_item(tree, proto_mqpcf, tvb, offset, -1, ENC_NA); - proto_item_append_text(ti, " (%s)", val_to_str(iCommand, mqpcf_opcode_vals, "Unknown (0x%02x)")); + proto_item_append_text(ti, " (%s)", val_to_str(iCommand, mq_mqcmd_vals, "Unknown (0x%02x)")); mqroot_tree = proto_item_add_subtree(ti, ett_mqpcf); ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeMQCFH, MQ_TEXT_CFH); mq_tree = proto_item_add_subtree(ti, ett_mqpcf_cfh); + uCount=tvb_get_guint32_endian(tvb, offset+32, bLittleEndian); /* Count of parameter structures */ + proto_tree_add_item(mq_tree, hf_mqpcf_cfh_type, tvb, offset + 0, 4, bLittleEndian); proto_tree_add_item(mq_tree, hf_mqpcf_cfh_length, tvb, offset + 4, 4, bLittleEndian); proto_tree_add_item(mq_tree, hf_mqpcf_cfh_version, tvb, offset + 8, 4, bLittleEndian); @@ -241,20 +421,19 @@ dissect_mqpcf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_tree_add_item(mq_tree, hf_mqpcf_cfh_compcode, tvb, offset + 24, 4, bLittleEndian); proto_tree_add_item(mq_tree, hf_mqpcf_cfh_reason, tvb, offset + 28, 4, bLittleEndian); proto_tree_add_item(mq_tree, hf_mqpcf_cfh_paramcount, tvb, offset + 32, 4, bLittleEndian); + dissect_mqpcf_parm(tvb, pinfo, mqroot_tree, offset + iSizeMQCFH, uCount, bLittleEndian); } - /*offset += iSizeMQCFH;*/ } } -static gboolean -dissect_mqpcf_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) +static gboolean dissect_mqpcf_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { if (tvb_length(tvb) >= 36) { struct mqinfo* mqinfo = (struct mqinfo *)pinfo->private_data; - if (strncmp((const char*)mqinfo->format, MQ_FMT_ADMIN, 8) == 0 - || strncmp((const char*)mqinfo->format, MQ_FMT_EVENT, 8) == 0 - || strncmp((const char*)mqinfo->format, MQ_FMT_PCF, 8) == 0) + if (strncmp((const char*)mqinfo->format, MQ_MQFMT_ADMIN, 8) == 0 + || strncmp((const char*)mqinfo->format, MQ_MQFMT_EVENT, 8) == 0 + || strncmp((const char*)mqinfo->format, MQ_MQFMT_PCF, 8) == 0) { /* Dissect the packet */ dissect_mqpcf(tvb, pinfo, tree); @@ -264,49 +443,86 @@ dissect_mqpcf_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *da return FALSE; } -void -proto_register_mqpcf(void) +void proto_register_mqpcf(void) { - static hf_register_info hf[] = { - { &hf_mqpcf_cfh_type, - { "Type", "mqpcf.cfh.type", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH type", HFILL }}, + expert_module_t* expert_mqpcf; - { &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, NULL, 0x0, "CFH command", HFILL }}, - - { &hf_mqpcf_cfh_msgseqnumber, - { "Message sequence number", "mqpcf.cfh.msgseqnumber", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH message sequence number", HFILL }}, + 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_msgseqnumber, { "MsgSeqNr", "mqpcf.cfh.msgseqnumber", 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_paramcount, { "ParmCnt.", "mqpcf.cfh.paramcount", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH parameter count", HFILL }}, + { &hf_mq_pcf_prmtyp , { "PrmTyp..", "mqpcf.parm.type", FT_UINT32, BASE_DEC, VALS(&GET_VALSV(PrmTyp)), 0x0, "MQPCF parameter type", HFILL }}, + { &hf_mq_pcf_prmlen , { "PrmLen..", "mqpcf.parm.len", FT_UINT32, BASE_DEC, NULL, 0x0, "MQPCF parameter length", HFILL }}, + { &hf_mq_pcf_prmid , { "PrmID...", "mqpcf.parm.id", FT_UINT32, BASE_DEC, VALS(&GET_VALSV(PrmId)), 0x0, "MQPCF parameter id", HFILL }}, + { &hf_mq_pcf_prmccsid , { "PrmCCSID", "mqpcf.parm.ccsid", FT_UINT32, BASE_DEC, NULL, 0x0, "MQPCF parameter ccsid", HFILL }}, + { &hf_mq_pcf_prmstrlen , { "PrmStrLn", "mqpcf.parm.strlen", FT_UINT32, BASE_DEC, NULL, 0x0, "MQPCF parameter strlen", HFILL }}, + { &hf_mq_pcf_prmcount , { "PrmCount", "mqpcf.parm.count", FT_UINT32, BASE_DEC, NULL, 0x0, "MQPCF parameter count", HFILL }}, + { &hf_mq_pcf_prmunused , { "PrmUnuse", "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_NONE, BASE_NONE, NULL, 0x0, "MQPCF parameter int", HFILL }}, + { &hf_mq_pcf_intlist , { "IntList.", "mqpcf.parm.intlist", FT_NONE, BASE_NONE, 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_UINT64, BASE_HEX | BASE_DEC, NULL, 0x0, "MQPCF parameter int64", HFILL }}, + { &hf_mq_pcf_int64list , { "Int64Lst", "mqpcf.parm.int64list", FT_UINT64, BASE_HEX | BASE_DEC, NULL, 0x0, "MQPCF parameter int64 list", HFILL }}, + }; + static gint *ett[] = { + &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 }}, + }; - { &hf_mqpcf_cfh_control, - { "Control", "mqpcf.cfh.control", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH control", HFILL }}, + module_t *mq_pcf_module; - { &hf_mqpcf_cfh_compcode, - { "Completion code", "mqpcf.cfh.compcode", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH completion code", HFILL }}, + proto_mqpcf = proto_register_protocol("WebSphere MQ Programmable Command Formats", "MQ PCF", "mqpcf"); + proto_register_field_array(proto_mqpcf, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); - { &hf_mqpcf_cfh_reason, - { "Reason code", "mqpcf.cfh.reasoncode", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH reason code", HFILL }}, + expert_mqpcf = expert_register_protocol(proto_mqpcf); + expert_register_field_array(expert_mqpcf, ei, array_length(ei)); - { &hf_mqpcf_cfh_paramcount, - { "Parameter count", "mqpcf.cfh.paramcount", FT_UINT32, BASE_DEC, NULL, 0x0, "CFH parameter count", HFILL }} - }; - static gint *ett[] = { - &ett_mqpcf, - &ett_mqpcf_cfh, - }; + 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); + 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); - proto_mqpcf = proto_register_protocol("WebSphere MQ Programmable Command Formats", "MQ PCF", "mqpcf"); - proto_register_field_array(proto_mqpcf, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); } -void -proto_reg_handoff_mqpcf(void) +void proto_reg_handoff_mqpcf(void) { heur_dissector_add("mq", dissect_mqpcf_heur, proto_mqpcf); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 4 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=4 tabstop=4 noexpandtab: + * :indentSize=4:tabSize=4:noTabs=false: + */ diff --git a/epan/dissectors/packet-mq.c b/epan/dissectors/packet-mq.c index ed1f67a447..d5350614fa 100644 --- a/epan/dissectors/packet-mq.c +++ b/epan/dissectors/packet-mq.c @@ -2,6 +2,7 @@ * Routines for IBM WebSphere MQ packet dissection * * metatech <metatechbe@gmail.com> + * robionekenobi <robionekenobi@bluewin.ch> * * $Id$ * @@ -72,6 +73,12 @@ #include <epan/packet.h> #include <epan/conversation.h> #include <epan/reassemble.h> + +#include <epan/dissectors/packet-windows-common.h> +#include <epan/dissectors/packet-dcerpc.h> +#include <epan/expert.h> +#include <epan/dissector_filters.h> + #include <epan/prefs.h> #include <epan/wmem/wmem.h> #include "packet-tcp.h" @@ -79,13 +86,13 @@ static int proto_mq = -1; static int hf_mq_tsh_structid = -1; -static int hf_mq_tsh_packetlength = -1; +static int hf_mq_tsh_mqseglen = -1; static int hf_mq_tsh_convid = -1; static int hf_mq_tsh_requestid = -1; static int hf_mq_tsh_byteorder = -1; static int hf_mq_tsh_opcode = -1; -static int hf_mq_tsh_controlflags = -1; -static int hf_mq_tsh_reserved = -1; +static int hf_mq_tsh_ctlflgs1 = -1; +static int hf_mq_tsh_ctlflgs2 = -1; static int hf_mq_tsh_luwid = -1; static int hf_mq_tsh_encoding = -1; static int hf_mq_tsh_ccsid = -1; @@ -98,10 +105,15 @@ static int hf_mq_tsh_tcf_first = -1; static int hf_mq_tsh_tcf_last = -1; static int hf_mq_tsh_tcf_reqacc = -1; static int hf_mq_tsh_tcf_dlq = -1; -static int hf_mq_api_replylength = -1; -static int hf_mq_api_completioncode = -1; -static int hf_mq_api_reasoncode = -1; -static int hf_mq_api_objecthandle = -1; +static int hf_mq_api_replylen = -1; +static int hf_mq_api_compcode = -1; +static int hf_mq_api_reascode = -1; +static int hf_mq_api_objecthdl = -1; +static int hf_mq_socket_unknown1 = -1; +static int hf_mq_socket_unknown2 = -1; +static int hf_mq_socket_unknown3 = -1; +static int hf_mq_socket_unknown4 = -1; +static int hf_mq_socket_unknown5 = -1; static int hf_mq_msh_structid = -1; static int hf_mq_msh_seqnum = -1; static int hf_mq_msh_datalength = -1; @@ -114,20 +126,35 @@ static int hf_mq_xqh_remoteqmgr = -1; static int hf_mq_id_structid = -1; static int hf_mq_id_level = -1; static int hf_mq_id_flags = -1; -static int hf_mq_id_unknown2 = -1; +static int hf_mq_id_unknown02 = -1; static int hf_mq_id_ieflags = -1; -static int hf_mq_id_unknown4 = -1; -static int hf_mq_id_maxmsgperbatch = -1; -static int hf_mq_id_maxtransmissionsize = -1; +static int hf_mq_id_unknown04 = -1; +static int hf_mq_id_MaxMsgBatch = -1; +static int hf_mq_id_MaxTrSize = -1; static int hf_mq_id_maxmsgsize = -1; -static int hf_mq_id_sequencewrapvalue = -1; +static int hf_mq_id_SeqWrapVal = -1; static int hf_mq_id_channel = -1; static int hf_mq_id_capflags = -1; -static int hf_mq_id_unknown5 = -1; static int hf_mq_id_ccsid = -1; -static int hf_mq_id_queuemanager = -1; -static int hf_mq_id_heartbeatinterval = -1; -/* static int hf_mq_id_unknown6 = -1; */ +static int hf_mq_id_qmgrname = -1; +static int hf_mq_id_HBInterval = -1; +static int hf_mq_id_unknown06 = -1; +static int hf_mq_id_mqmvers = -1; +static int hf_mq_id_mqmid = -1; +static int hf_mq_id_unknown07 = -1; +static int hf_mq_id_unknown08 = -1; +static int hf_mq_id_unknown09 = -1; +static int hf_mq_id_unknown10 = -1; +static int hf_mq_id_unknown11 = -1; +static int hf_mq_id_unknown12 = -1; +static int hf_mq_id_unknown13 = -1; +static int hf_mq_id_unknown14 = -1; +static int hf_mq_id_unknown15 = -1; +static int hf_mq_id_unknown16 = -1; +static int hf_mq_id_unknown17 = -1; +static int hf_mq_id_unknown18 = -1; +static int hf_mq_id_unknown19 = -1; + static int hf_mq_id_icf_msgseq = -1; static int hf_mq_id_icf_convcap = -1; static int hf_mq_id_icf_splitmsg = -1; @@ -146,13 +173,23 @@ static int hf_mq_uid_structid = -1; static int hf_mq_uid_userid = -1; static int hf_mq_uid_password = -1; static int hf_mq_uid_longuserid = -1; -static int hf_mq_uid_securityid = -1; -static int hf_mq_conn_queuemanager = -1; +static int hf_mq_sidlen = -1; +static int hf_mq_sidtyp = -1; +static int hf_mq_securityid = -1; + +static int hf_mq_conn_QMgr = -1; static int hf_mq_conn_appname = -1; static int hf_mq_conn_apptype = -1; static int hf_mq_conn_acttoken = -1; static int hf_mq_conn_version = -1; static int hf_mq_conn_options = -1; +static int hf_mq_fcno_structid = -1; +static int hf_mq_fcno_msgid = -1; +static int hf_mq_fcno_mqmid = -1; +static int hf_mq_fcno_unknown00 = -1; +static int hf_mq_fcno_unknown01 = -1; +static int hf_mq_fcno_unknown02 = -1; + static int hf_mq_inq_nbsel = -1; static int hf_mq_inq_nbint = -1; static int hf_mq_inq_charlen = -1; @@ -167,24 +204,66 @@ static int hf_mq_spi_base_version = -1; static int hf_mq_spi_base_length = -1; static int hf_mq_spi_spqo_nbverb = -1; static int hf_mq_spi_spqo_verbid = -1; -static int hf_mq_spi_spqo_maxinoutversion = -1; -static int hf_mq_spi_spqo_maxinversion = -1; -static int hf_mq_spi_spqo_maxoutversion = -1; +static int hf_mq_spi_spqo_maxiover = -1; +static int hf_mq_spi_spqo_maxinver = -1; +static int hf_mq_spi_spqo_maxouver = -1; static int hf_mq_spi_spqo_flags = -1; static int hf_mq_spi_spai_mode = -1; static int hf_mq_spi_spai_unknown1 = -1; static int hf_mq_spi_spai_unknown2 = -1; static int hf_mq_spi_spai_msgid = -1; -static int hf_mq_spi_spgi_batchsize = -1; +static int hf_mq_spi_spgi_batchsz = -1; static int hf_mq_spi_spgi_batchint = -1; -static int hf_mq_spi_spgi_maxmsgsize = -1; +static int hf_mq_spi_spgi_maxmsgsz = -1; static int hf_mq_spi_spgo_options = -1; static int hf_mq_spi_spgo_size = -1; -static int hf_mq_spi_options_blank = -1; -static int hf_mq_spi_options_syncpoint = -1; -static int hf_mq_spi_options_deferred = -1; +static int hf_mq_spi_opt_blank = -1; +static int hf_mq_spi_opt_syncp = -1; +static int hf_mq_spi_opt_deferred = -1; static int hf_mq_put_length = -1; + +static int hf_mq_close_options = -1; +static int hf_mq_close_options_DELETE = -1; +static int hf_mq_close_options_DELETE_PURGE = -1; +static int hf_mq_close_options_KEEP_SUB = -1; +static int hf_mq_close_options_REMOVE_SUB = -1; +static int hf_mq_close_options_QUIESCE = -1; + static int hf_mq_open_options = -1; +static int hf_mq_open_options_INPUT_SHARED = -1; +static int hf_mq_open_options_INPUT_AS_Q_DEF = -1; +static int hf_mq_open_options_INPUT_EXCLUSIVE = -1; +static int hf_mq_open_options_BROWSE = -1; +static int hf_mq_open_options_OUTPUT = -1; +static int hf_mq_open_options_INQUIRE = -1; +static int hf_mq_open_options_SET = -1; +static int hf_mq_open_options_SAVE_ALL_CTX = -1; +static int hf_mq_open_options_PASS_IDENT_CTX = -1; +static int hf_mq_open_options_PASS_ALL_CTX = -1; +static int hf_mq_open_options_SET_IDENT_CTX = -1; +static int hf_mq_open_options_SET_ALL_CONTEXT = -1; +static int hf_mq_open_options_ALT_USER_AUTH= -1; +static int hf_mq_open_options_FAIL_IF_QUIESC = -1; +static int hf_mq_open_options_BIND_ON_OPEN = -1; +static int hf_mq_open_options_BIND_NOT_FIXED = -1; +static int hf_mq_open_options_RESOLVE_NAMES = -1; +static int hf_mq_open_options_CO_OP = -1; +static int hf_mq_open_options_RESOLVE_LOCAL_Q = -1; +static int hf_mq_open_options_NO_READ_AHEAD = -1; +static int hf_mq_open_options_READ_AHEAD = -1; +static int hf_mq_open_options_NO_MULTICAST = -1; +static int hf_mq_open_options_BIND_ON_GROUP = -1; + +static int hf_mq_fopa_structid = -1; +static int hf_mq_fopa_version = -1; +static int hf_mq_fopa_length = -1; +static int hf_mq_fopa_unknown1 = -1; +static int hf_mq_fopa_unknown2 = -1; +static int hf_mq_fopa_unknown3 = -1; +static int hf_mq_fopa_qprotect = -1; +static int hf_mq_fopa_unknown4 = -1; +static int hf_mq_fopa_unknown5 = -1; + static int hf_mq_ping_length = -1; static int hf_mq_ping_buffer = -1; static int hf_mq_reset_length = -1; @@ -196,24 +275,27 @@ static int hf_mq_od_structid = -1; static int hf_mq_od_version = -1; static int hf_mq_od_objecttype = -1; static int hf_mq_od_objectname = -1; -static int hf_mq_od_objectqmgrname = -1; -static int hf_mq_od_dynamicqname = -1; -static int hf_mq_od_alternateuserid = -1; +static int hf_mq_od_objqmgrname = -1; +static int hf_mq_od_dynqname = -1; +static int hf_mq_od_altuserid = -1; static int hf_mq_od_recspresent = -1; -static int hf_mq_od_knowndestcount = -1; -static int hf_mq_od_unknowndestcount = -1; -static int hf_mq_od_invaliddestcount = -1; -static int hf_mq_od_objectrecoffset = -1; -static int hf_mq_od_responserecoffset = -1; -static int hf_mq_od_objectrecptr = -1; -static int hf_mq_od_responserecptr = -1; -static int hf_mq_od_alternatesecurityid = -1; -static int hf_mq_od_resolvedqname = -1; -static int hf_mq_od_resolvedqmgrname = -1; +static int hf_mq_od_knowndstcnt = -1; +static int hf_mq_od_unknowdstcnt = -1; +static int hf_mq_od_invaldstcnt = -1; +static int hf_mq_od_objrecofs = -1; +static int hf_mq_od_resprecofs = -1; +static int hf_mq_od_objrecptr = -1; +static int hf_mq_od_resprecptr = -1; +static int hf_mq_od_altsecurid = -1; +static int hf_mq_od_resolvqname = -1; +static int hf_mq_od_resolvqmgrnm = -1; + +static int hf_mq_od_resolvobjtyp = -1; + static int hf_mq_or_objname= -1; static int hf_mq_or_objqmgrname = -1; -static int hf_mq_rr_completioncode = -1; -static int hf_mq_rr_reasoncode = -1; +static int hf_mq_rr_compcode = -1; +static int hf_mq_rr_reascode = -1; static int hf_mq_pmr_msgid = -1; static int hf_mq_pmr_correlid = -1; static int hf_mq_pmr_groupid = -1; @@ -232,7 +314,7 @@ static int hf_mq_md_priority = -1; static int hf_mq_md_persistence = -1; static int hf_mq_md_msgid = -1; static int hf_mq_md_correlid = -1; -static int hf_mq_md_backountcount = -1; +static int hf_mq_md_backoutcnt = -1; static int hf_mq_md_replytoq = -1; static int hf_mq_md_replytoqmgr = -1; static int hf_mq_md_userid = -1; @@ -242,13 +324,13 @@ static int hf_mq_md_putappltype = -1; static int hf_mq_md_putapplname = -1; static int hf_mq_md_putdate = -1; static int hf_mq_md_puttime = -1; -static int hf_mq_md_applorigindata = -1; +static int hf_mq_md_apporigdata = -1; static int hf_mq_md_groupid = -1; static int hf_mq_md_msgseqnumber = -1; static int hf_mq_md_offset = -1; static int hf_mq_md_msgflags = -1; -static int hf_mq_md_originallength = -1; -static int hf_mq_md_hidden_lastformat = -1; +static int hf_mq_md_origlen = -1; +static int hf_mq_md_lastformat = -1; static int hf_mq_dlh_structid = -1; static int hf_mq_dlh_version = -1; static int hf_mq_dlh_reason = -1; @@ -261,40 +343,115 @@ 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_putmsgrecfields = -1; +static int hf_mq_dh_putmsgrecfld = -1; static int hf_mq_dh_recspresent = -1; -static int hf_mq_dh_objectrecoffset = -1; -static int hf_mq_dh_putmsgrecoffset = -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; +static int hf_mq_gmo_options_PROPERTIES_COMPATIBILITY= -1; +static int hf_mq_gmo_options_PROPERTIES_IN_HANDLE = -1; +static int hf_mq_gmo_options_NO_PROPERTIES = -1; +static int hf_mq_gmo_options_PROPERTIES_FORCE_MQRFH2 = -1; +static int hf_mq_gmo_options_UNMARKED_BROWSE_MSG = -1; +static int hf_mq_gmo_options_UNMARK_BROWSE_HANDLE = -1; +static int hf_mq_gmo_options_UNMARK_BROWSE_CO_OP = -1; +static int hf_mq_gmo_options_MARK_BROWSE_CO_OP = -1; +static int hf_mq_gmo_options_MARK_BROWSE_HANDLE = -1; +static int hf_mq_gmo_options_ALL_SEGMENTS_AVAILABLE = -1; +static int hf_mq_gmo_options_ALL_MSGS_AVAILABLE = -1; +static int hf_mq_gmo_options_COMPLETE_MSG = -1; +static int hf_mq_gmo_options_LOGICAL_ORDER = -1; +static int hf_mq_gmo_options_CONVERT = -1; +static int hf_mq_gmo_options_FAIL_IF_QUIESCING = -1; +static int hf_mq_gmo_options_SYNCPOINT_IF_PERSISTENT = -1; +static int hf_mq_gmo_options_BROWSE_MSG_UNDER_CURSOR = -1; +static int hf_mq_gmo_options_UNLOCK = -1; +static int hf_mq_gmo_options_LOCK = -1; +static int hf_mq_gmo_options_MSG_UNDER_CURSOR = -1; +static int hf_mq_gmo_options_MARK_SKIP_BACKOUT = -1; +static int hf_mq_gmo_options_ACCEPT_TRUNCATED_MSG = -1; +static int hf_mq_gmo_options_BROWSE_NEXT = -1; +static int hf_mq_gmo_options_BROWSE_FIRST = -1; +static int hf_mq_gmo_options_SET_SIGNAL = -1; +static int hf_mq_gmo_options_NO_SYNCPOINT = -1; +static int hf_mq_gmo_options_SYNCPOINT = -1; +static int hf_mq_gmo_options_WAIT = -1; static int hf_mq_gmo_waitinterval = -1; static int hf_mq_gmo_signal1 = -1; static int hf_mq_gmo_signal2 = -1; -static int hf_mq_gmo_resolvedqname = -1; +static int hf_mq_gmo_resolvqname = -1; static int hf_mq_gmo_matchoptions = -1; +static int hf_mq_gmo_matchoptions_MATCH_MSG_TOKEN = -1; +static int hf_mq_gmo_matchoptions_MATCH_OFFSET = -1; +static int hf_mq_gmo_matchoptions_MATCH_MSG_SEQ_NUMBER= -1; +static int hf_mq_gmo_matchoptions_MATCH_GROUP_ID = -1; +static int hf_mq_gmo_matchoptions_MATCH_CORREL_ID = -1; +static int hf_mq_gmo_matchoptions_MATCH_MSG_ID = -1; static int hf_mq_gmo_groupstatus = -1; -static int hf_mq_gmo_segmentstatus = -1; +static int hf_mq_gmo_segmstatus = -1; static int hf_mq_gmo_segmentation = -1; static int hf_mq_gmo_reserved = -1; static int hf_mq_gmo_msgtoken = -1; -static int hf_mq_gmo_returnedlength = -1; +static int hf_mq_gmo_returnedlen = -1; + +static int hf_mq_lpoo_structid = -1; +static int hf_mq_lpoo_version = -1; +static int hf_mq_lpoo_unknown1 = -1; +static int hf_mq_lpoo_unknown2 = -1; +static int hf_mq_lpoo_unknown3 = -1; +static int hf_mq_lpoo_unknown4 = -1; +static int hf_mq_lpoo_unknown5 = -1; +static int hf_mq_lpoo_qprotect = -1; +static int hf_mq_lpoo_unknown6 = -1; +static int hf_mq_lpoo_unknown7 = -1; + +static int hf_mq_charv_vsptr = -1; +static int hf_mq_charv_vsoffset = -1; +static int hf_mq_charv_vsbufsize = -1; +static int hf_mq_charv_vslength = -1; +static int hf_mq_charv_vsccsid = -1; +static int hf_mq_charv_vsvalue = -1; + static int hf_mq_pmo_structid = -1; static int hf_mq_pmo_version = -1; static int hf_mq_pmo_options = -1; +static int hf_mq_pmo_options_NOT_OWN_SUBS = -1; +static int hf_mq_pmo_options_SUPPRESS_REPLYTO = -1; +static int hf_mq_pmo_options_SCOPE_QMGR = -1; +static int hf_mq_pmo_options_MD_FOR_OUTPUT_ONLY = -1; +static int hf_mq_pmo_options_RETAIN = -1; +static int hf_mq_pmo_options_WARN_IF_NO_SUBS_MATCHED = -1; +static int hf_mq_pmo_options_RESOLVE_LOCAL_Q = -1; +static int hf_mq_pmo_options_SYNC_RESPONSE = -1; +static int hf_mq_pmo_options_ASYNC_RESPONSE = -1; +static int hf_mq_pmo_options_LOGICAL_ORDER = -1; +static int hf_mq_pmo_options_NO_CONTEXT = -1; +static int hf_mq_pmo_options_FAIL_IF_QUIESCING = -1; +static int hf_mq_pmo_options_ALTERNATE_USER_AUTHORITY= -1; +static int hf_mq_pmo_options_SET_ALL_CONTEXT = -1; +static int hf_mq_pmo_options_SET_IDENTITY_CONTEXT = -1; +static int hf_mq_pmo_options_PASS_ALL_CONTEXT = -1; +static int hf_mq_pmo_options_PASS_IDENTITY_CONTEXT = -1; +static int hf_mq_pmo_options_NEW_CORREL_ID = -1; +static int hf_mq_pmo_options_NEW_MSG_ID = -1; +static int hf_mq_pmo_options_DEFAULT_CONTEXT = -1; +static int hf_mq_pmo_options_NO_SYNCPOINT = -1; +static int hf_mq_pmo_options_SYNCPOINT = -1; static int hf_mq_pmo_timeout = -1; static int hf_mq_pmo_context = -1; -static int hf_mq_pmo_knowndestcount = -1; -static int hf_mq_pmo_unknowndestcount = -1; -static int hf_mq_pmo_invaliddestcount = -1; -static int hf_mq_pmo_resolvedqname = -1; -static int hf_mq_pmo_resolvedqmgrname = -1; +static int hf_mq_pmo_knowndstcnt = -1; +static int hf_mq_pmo_unkndstcnt = -1; +static int hf_mq_pmo_invaldstcnt = -1; +static int hf_mq_pmo_resolvqname = -1; +static int hf_mq_pmo_resolvqmgr = -1; static int hf_mq_pmo_recspresent = -1; -static int hf_mq_pmo_putmsgrecfields = -1; -static int hf_mq_pmo_putmsgrecoffset = -1; -static int hf_mq_pmo_responserecoffset = -1; +static int hf_mq_pmo_putmsgrecfld = -1; +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_responserecptr = -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; @@ -317,17 +474,62 @@ static int hf_mq_xa_tmflags_resume = -1; static int hf_mq_xa_tmflags_fail = -1; static int hf_mq_xa_tmflags_onephase = -1; static int hf_mq_xa_xid_formatid = -1; -static int hf_mq_xa_xid_globalxid_length = -1; +static int hf_mq_xa_xid_glbxid_len = -1; static int hf_mq_xa_xid_brq_length = -1; static int hf_mq_xa_xid_globalxid = -1; static int hf_mq_xa_xid_brq = -1; static int hf_mq_xa_xainfo_length = -1; static int hf_mq_xa_xainfo_value = -1; +static int hf_mq_msgreq_version = -1; +static int hf_mq_msgreq_handle = -1; +static int hf_mq_msgreq_unknown1 = -1; +static int hf_mq_msgreq_unknown2 = -1; +static int hf_mq_msgreq_maxlen = -1; +static int hf_mq_msgreq_unknown4 = -1; +static int hf_mq_msgreq_timeout = -1; +static int hf_mq_msgreq_unknown5 = -1; +static int hf_mq_msgreq_flags = -1; +static int hf_mq_msgreq_lstseqnr = -1; +static int hf_mq_msgreq_msegver = -1; +static int hf_mq_msgreq_msegseq = -1; +static int hf_mq_msgreq_ccsid = -1; +static int hf_mq_msgreq_encoding = -1; +static int hf_mq_msgreq_unknown6 = -1; +static int hf_mq_msgreq_unknown7 = -1; +static int hf_mq_msgreq_unknown8 = -1; +static int hf_mq_msgreq_msgid = -1; +static int hf_mq_msgreq_mqmid = -1; + +static int hf_mq_msgasy_version = -1; +static int hf_mq_msgasy_handle = -1; +static int hf_mq_msgasy_unknown1 = -1; +static int hf_mq_msgasy_curseqnr = -1; +static int hf_mq_msgasy_payload = -1; +static int hf_mq_msgasy_msegseq = -1; +static int hf_mq_msgasy_msegver = -1; +static int hf_mq_msgasy_flags = -1; +static int hf_mq_msgasy_totlen1 = -1; +static int hf_mq_msgasy_totlen2 = -1; +static int hf_mq_msgasy_unknown2 = -1; +static int hf_mq_msgasy_unknown3 = -1; +static int hf_mq_msgasy_unknown4 = -1; +static int hf_mq_msgasy_unknown5 = -1; +static int hf_mq_msgasy_strFlg = -1; +static int hf_mq_msgasy_strLen = -1; +static int hf_mq_msgasy_strVal = -1; +static int hf_mq_msgasy_strPad = -1; + +static int hf_mq_notif_vers = -1; +static int hf_mq_notif_handle = -1; +static int hf_mq_notif_unknown3 = -1; +static int hf_mq_notif_unknown4 = -1; + static gint ett_mq = -1; static gint ett_mq_tsh = -1; static gint ett_mq_tsh_tcf = -1; static gint ett_mq_api = -1; +static gint ett_mq_socket = -1; static gint ett_mq_msh = -1; static gint ett_mq_xqh = -1; static gint ett_mq_id = -1; @@ -335,16 +537,24 @@ static gint ett_mq_id_icf = -1; static gint ett_mq_id_ief = -1; static gint ett_mq_uid = -1; static gint ett_mq_conn = -1; +static gint ett_mq_fcno = -1; +static gint ett_mq_msg = -1; static gint ett_mq_inq = -1; static gint ett_mq_spi = -1; static gint ett_mq_spi_base = -1; /* Factorisation of common SPI items */ static gint ett_mq_spi_options = -1; static gint ett_mq_put = -1; static gint ett_mq_open = -1; +static gint ett_mq_open_option = -1; +static gint ett_mq_close_option = -1; +static gint ett_mq_fopa = -1; static gint ett_mq_ping = -1; static gint ett_mq_reset = -1; static gint ett_mq_status = -1; static gint ett_mq_od = -1; +static gint ett_mq_od_objstr = -1; +static gint ett_mq_od_selstr = -1; +static gint ett_mq_od_resobjstr = -1; static gint ett_mq_or = -1; static gint ett_mq_rr = -1; static gint ett_mq_pmr = -1; @@ -353,24 +563,36 @@ static gint ett_mq_mde = -1; static gint ett_mq_dlh = -1; static gint ett_mq_dh = -1; static gint ett_mq_gmo = -1; +static gint ett_mq_gmo_option = -1; +static gint ett_mq_gmo_matchoption = -1; static gint ett_mq_pmo = -1; +static gint ett_mq_pmo_option = -1; + +static gint ett_mq_lpoo = -1; +static gint ett_mq_lpoo_option = -1; + static gint ett_mq_head = -1; /* Factorisation of common Header structure items (DH, MDE, CIH, IIH, RFH, RMH, WIH */ static gint ett_mq_xa = -1; static gint ett_mq_xa_tmflags = -1; static gint ett_mq_xa_xid = -1; static gint ett_mq_xa_info = -1; +static gint ett_mq_charv = -1; +static gint ett_mq_reaasemb = -1; +static gint ett_mq_notif = -1; static dissector_handle_t mq_tcp_handle; static dissector_handle_t mq_spx_handle; static dissector_handle_t data_handle; +static dissector_handle_t mqpcf_handle; static heur_dissector_list_t mq_heur_subdissector_list; static gboolean mq_desegment = TRUE; static gboolean mq_reassembly = TRUE; -static reassembly_table mq_reassembly_table; +static gboolean mq_in_reassembly = FALSE; +static reassembly_table mq_reassembly_table; #define MQ_PORT_TCP 1414 #define MQ_SOCKET_SPX 0x5E86 @@ -381,6 +603,7 @@ static reassembly_table mq_reassembly_table; #define MQ_XPT_HTTP 0x07 #define MQ_STRUCTID_NULL 0x00000000 + #define MQ_STRUCTID_CIH 0x43494820 #define MQ_STRUCTID_DH 0x44482020 #define MQ_STRUCTID_DLH 0x444C4820 @@ -396,12 +619,20 @@ static reassembly_table mq_reassembly_table; #define MQ_STRUCTID_RMH 0x524D4820 #define MQ_STRUCTID_TM 0x544D2020 #define MQ_STRUCTID_TMC2 0x544D4332 + #define MQ_STRUCTID_TSH 0x54534820 #define MQ_STRUCTID_TSHC 0x54534843 #define MQ_STRUCTID_TSHM 0x5453484D + +#define MQ_MASK_TSHx 0xffffff00 +#define MQ_STRUCTID_TSHx 0x54534800 /* TSHx */ + +#define MQ_STRUCTID_SPxx 0x53500000 /* SPxx */ #define MQ_STRUCTID_UID 0x55494420 #define MQ_STRUCTID_WIH 0x57494820 #define MQ_STRUCTID_XQH 0x58514820 +#define MQ_STRUCTID_FOPA 0x464F5041 + #define MQ_STRUCTID_CIH_EBCDIC 0xC3C9C840 #define MQ_STRUCTID_DH_EBCDIC 0xC4C84040 #define MQ_STRUCTID_DLH_EBCDIC 0xC4D3C840 @@ -417,12 +648,24 @@ static reassembly_table mq_reassembly_table; #define MQ_STRUCTID_RMH_EBCDIC 0xD9D4C840 #define MQ_STRUCTID_TM_EBCDIC 0xE3D44040 #define MQ_STRUCTID_TMC2_EBCDIC 0xE3D4C3F2 + #define MQ_STRUCTID_TSH_EBCDIC 0xE3E2C840 #define MQ_STRUCTID_TSHC_EBCDIC 0xE3E2C843 -#define MQ_STRUCTID_TSHM_EBCDIC 0xE3E2C854 +#define MQ_STRUCTID_TSHM_EBCDIC 0xE3E2C8D4 +#define MQ_STRUCTID_TSHx_EBCDIC 0xE3E2C800 + #define MQ_STRUCTID_UID_EBCDIC 0xE4C9C440 #define MQ_STRUCTID_WIH_EBCDIC 0xE6C9C840 #define MQ_STRUCTID_XQH_EBCDIC 0xE7D8C840 +#define MQ_STRUCTID_FOPA_EBCDIC 0xD64FD7C1 + +#define MQ_MASK_SPxx 0xffff0000 +#define MQ_MASK_SPxZ 0xffff00ff + +#define MQ_STRUCTID_SPxx 0x53500000 /* SPxx */ +#define MQ_STRUCTID_SPxU 0x53500055 /* SPxU */ +#define MQ_STRUCTID_SPxI 0x53500049 /* SPxI */ +#define MQ_STRUCTID_SPxO 0x5350004F /* SPxO */ #define MQ_STRUCTID_SPQU 0x53505155 /* SPI Query InOut */ #define MQ_STRUCTID_SPQI 0x53505149 /* SPI Query In */ @@ -436,6 +679,17 @@ static reassembly_table mq_reassembly_table; #define MQ_STRUCTID_SPAU 0x53504155 /* SPI Activate InOut */ #define MQ_STRUCTID_SPAI 0x53504149 /* SPI Activate In */ #define MQ_STRUCTID_SPAO 0x5350414F /* SPI Activate Out */ +#define MQ_STRUCTID_SPOU 0x53504F55 /* SPI InOut */ +#define MQ_STRUCTID_SPOI 0x53504F49 /* SPI In */ +#define MQ_STRUCTID_SPOO 0x53504F4F /* SPI Out */ +#define MQ_STRUCTID_LPOO 0x4C504F4F /* LPOO */ +#define MQ_STRUCTID_FCNO 0x46434E4F /* FCNO */ + +#define MQ_STRUCTID_SPxx_EBCDIC 0xE2D70000 /* SPxx */ +#define MQ_STRUCTID_SPxU_EBCDIC 0xE2D700E4 /* SPxU */ +#define MQ_STRUCTID_SPxI_EBCDIC 0xE2D700C9 /* SPxI */ +#define MQ_STRUCTID_SPxO_EBCDIC 0xE2D700D6 /* SPxO */ + #define MQ_STRUCTID_SPQU_EBCDIC 0xE2D7D8E4 /* SPI Query InOut */ #define MQ_STRUCTID_SPQI_EBCDIC 0xE2D7D8C9 /* SPI Query In */ #define MQ_STRUCTID_SPQO_EBCDIC 0xE2D7D8D6 /* SPI Query Out */ @@ -448,6 +702,11 @@ static reassembly_table mq_reassembly_table; #define MQ_STRUCTID_SPAU_EBCDIC 0xE2D7C1E4 /* SPI Activate InOut */ #define MQ_STRUCTID_SPAI_EBCDIC 0xE2D7C1C9 /* SPI Activate In */ #define MQ_STRUCTID_SPAO_EBCDIC 0xE2D7C1D6 /* SPI Activate Out */ +#define MQ_STRUCTID_SPOU_EBCDIC 0xE2D7D6E4 /* SPI InOut */ +#define MQ_STRUCTID_SPOI_EBCDIC 0xE2D7D6C9 /* SPI In */ +#define MQ_STRUCTID_SPOO_EBCDIC 0xE2D7D6D6 /* SPI Out */ +#define MQ_STRUCTID_LPOO_EBCDIC 0xD3D7D6D6 /* LPOO */ +#define MQ_STRUCTID_FCNO_EBCDIC 0xC6C3D5D6 /* FCNO */ #define MQ_TST_INITIAL 0x01 #define MQ_TST_RESYNC 0x02 @@ -519,6 +778,7 @@ static reassembly_table mq_reassembly_table; #define MQ_SPI_PUT 0x02 #define MQ_SPI_GET 0x03 #define MQ_SPI_ACTIVATE 0x04 +#define MQ_SPI_OPEN 0x0C #define MQ_SPI_ACTIVATE_ENABLE 0x01 #define MQ_SPI_ACTIVATE_DISABLE 0x02 @@ -640,7 +900,9 @@ static reassembly_table mq_reassembly_table; #define MQ_TEXT_TSH "Transmission Segment Header" #define MQ_TEXT_TSHC "Transmission Segment Header Common" #define MQ_TEXT_TSHM "Transmission Segment Header Multiplexed" +#define MQ_TEXT_FCNO "F Connect Option" #define MQ_TEXT_API "API Header" +#define MQ_TEXT_SOCKET "Socket Action" #define MQ_TEXT_ID "Initial Data" #define MQ_TEXT_UID "User Id Data" #define MQ_TEXT_MSH "Message Segment Header" @@ -648,6 +910,15 @@ static reassembly_table mq_reassembly_table; #define MQ_TEXT_INQ "MQINQ/MQSET" #define MQ_TEXT_PUT "MQPUT/MQGET" #define MQ_TEXT_OPEN "MQOPEN/MQCLOSE" +#define MQ_TEXT_REQMSG "REQUEST MESSAGE" +#define MQ_TEXT_ASYMSG "ASYNC MESSAGE" +#define MQ_TEXT_NOTIFICATION "NOTIFICATION" +#define MQ_TEXT_BIND$READAHEAD_AS_Q_DEF "Bind/Read Ahead As Q Def" +#define MQ_TEXT_IMMEDIATE$NONE "Close Immediate/No option" +#define MQ_TEXT_MQPMO_NONE "Resp as Q Def/Resp as Topic Def/None" +#define MQ_TEXT_MQGMO_NONE "No Wait/Prop as Q Def/None" +#define MQ_TEXT_MQMO_NONE "None" + #define MQ_TEXT_PING "PING" #define MQ_TEXT_RESET "RESET" #define MQ_TEXT_STAT "STATUS" @@ -656,6 +927,24 @@ static reassembly_table mq_reassembly_table; #define MQ_TEXT_XID "Xid" #define MQ_TEXT_XINF "XA_info" +#define MQ_TEXT_SPQU "SPI Query InOut" +#define MQ_TEXT_SPQI "SPI Query In" +#define MQ_TEXT_SPQO "SPI Query Out" +#define MQ_TEXT_SPPU "SPI Put InOut" +#define MQ_TEXT_SPPI "SPI Put In" +#define MQ_TEXT_SPPO "SPI Put Out" +#define MQ_TEXT_SPGU "SPI Get InOut" +#define MQ_TEXT_SPGI "SPI Get In" +#define MQ_TEXT_SPGO "SPI Get Out" +#define MQ_TEXT_SPAU "SPI Activate InOut" +#define MQ_TEXT_SPAI "SPI Activate In" +#define MQ_TEXT_SPAO "SPI Activate Out" +#define MQ_TEXT_SPOU "SPI InOut" +#define MQ_TEXT_SPOI "SPI In" +#define MQ_TEXT_SPOO "SPI Out" +#define MQ_TEXT_LPOO "LPOO" +#define MQ_TEXT_FOPA "FOPA" + /* Documented structures with structid */ #define MQ_TEXT_CIH "CICS bridge Header" #define MQ_TEXT_DH "Distribution Header" @@ -677,2670 +966,3110 @@ static reassembly_table mq_reassembly_table; #define MQ_TEXT_PMR "Put Message Record" #define MQ_TEXT_RR "Response Record" +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_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_COMPLETE_REPLY, "XA_COMPLETE_REPLY"), +DEF_VALSE; +DEF_VALSEXT(opcode); + +DEF_VALSB(spi_verbs) + 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_VALSE; + +DEF_VALSB(spi_activate) + 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_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_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_RBINTEGRITY, "XA_RBINTEGRITY"), + 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_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_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_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_VALSE; + +DEF_VALSB(conn_version) + DEF_VALS2(CONN_VERSION, "MQCONN"), + DEF_VALS2(CONNX_VERSION, "MQCONNX"), +DEF_VALSE; + +DEF_VALSB(sidtype) + DEF_VALS1(MQSIDT_NONE), + DEF_VALS1(MQSIDT_NT_SECURITY_ID), + DEF_VALS1(MQSIDT_WAS_SECURITY_ID), +DEF_VALSE; -static const value_string mq_opcode_vals[] = { - { MQ_TST_INITIAL, "INITIAL_DATA" }, - { MQ_TST_RESYNC, "RESYNC_DATA" }, - { MQ_TST_RESET, "RESET_DATA" }, - { MQ_TST_MESSAGE, "MESSAGE_DATA" }, - { MQ_TST_STATUS, "STATUS_DATA" }, - { MQ_TST_SECURITY, "SECURITY_DATA" }, - { MQ_TST_PING, "PING_DATA" }, - { MQ_TST_USERID, "USERID_DATA" }, - { MQ_TST_HEARTBEAT, "HEARTBEAT" }, - { MQ_TST_CONAUTH_INFO, "CONAUTH_INFO" }, - { MQ_TST_RENEGOTIATE_DATA, "RENEGOTIATE_DATA" }, - { MQ_TST_SOCKET_ACTION, "SOCKET_ACTION" }, - { MQ_TST_ASYNC_MESSAGE, "ASYNC_MESSAGE" }, - { MQ_TST_REQUEST_MSGS, "REQUEST_MSGS" }, - { MQ_TST_NOTIFICATION, "NOTIFICATION" }, - { MQ_TST_MQCONN, "MQCONN" }, - { MQ_TST_MQDISC, "MQDISC" }, - { MQ_TST_MQOPEN, "MQOPEN" }, - { MQ_TST_MQCLOSE, "MQCLOSE" }, - { MQ_TST_MQGET, "MQGET" }, - { MQ_TST_MQPUT, "MQPUT" }, - { MQ_TST_MQPUT1, "MQPUT1" }, - { MQ_TST_MQSET, "MQSET" }, - { MQ_TST_MQINQ, "MQINQ" }, - { MQ_TST_MQCMIT, "MQCMIT" }, - { MQ_TST_MQBACK, "MQBACK" }, - { MQ_TST_SPI, "SPI" }, - { MQ_TST_MQSTAT, "MQSTAT" }, - { MQ_TST_MQSUB, "MQSUB" }, - { MQ_TST_MQSUBRQ, "MQSUBRQ" }, - { MQ_TST_MQCONN_REPLY, "MQCONN_REPLY" }, - { MQ_TST_MQDISC_REPLY, "MQDISC_REPLY" }, - { MQ_TST_MQOPEN_REPLY, "MQOPEN_REPLY" }, - { MQ_TST_MQCLOSE_REPLY, "MQCLOSE_REPLY" }, - { MQ_TST_MQGET_REPLY, "MQGET_REPLY" }, - { MQ_TST_MQPUT_REPLY, "MQPUT_REPLY" }, - { MQ_TST_MQPUT1_REPLY, "MQPUT1_REPLY" }, - { MQ_TST_MQSET_REPLY, "MQSET_REPLY" }, - { MQ_TST_MQINQ_REPLY, "MQINQ_REPLY" }, - { MQ_TST_MQCMIT_REPLY, "MQCMIT_REPLY" }, - { MQ_TST_MQBACK_REPLY, "MQBACK_REPLY" }, - { MQ_TST_SPI_REPLY, "SPI_REPLY" }, - { MQ_TST_MQSTAT_REPLY, "MQSTAT_REPLY" }, - { MQ_TST_MQSUB_REPLY, "MQSUB_REPLY" }, - { MQ_TST_MQSUBRQ_REPLY, "MQSUBRQ_REPLY" }, - { MQ_TST_XA_START, "XA_START" }, - { MQ_TST_XA_END, "XA_END" }, - { MQ_TST_XA_OPEN, "XA_OPEN" }, - { MQ_TST_XA_CLOSE, "XA_CLOSE" }, - { MQ_TST_XA_PREPARE, "XA_PREPARE" }, - { MQ_TST_XA_COMMIT, "XA_COMMIT" }, - { MQ_TST_XA_ROLLBACK, "XA_ROLLBACK" }, - { MQ_TST_XA_FORGET, "XA_FORGET" }, - { MQ_TST_XA_RECOVER, "XA_RECOVER" }, - { MQ_TST_XA_COMPLETE, "XA_COMPLETE" }, - { MQ_TST_XA_START_REPLY, "XA_START_REPLY" }, - { MQ_TST_XA_END_REPLY, "XA_END_REPLY" }, - { MQ_TST_XA_OPEN_REPLY, "XA_OPEN_REPLY" }, - { MQ_TST_XA_CLOSE_REPLY, "XA_CLOSE_REPLY" }, - { MQ_TST_XA_PREPARE_REPLY, "XA_PREPARE_REPLY" }, - { MQ_TST_XA_COMMIT_REPLY, "XA_COMMIT_REPLY" }, - { MQ_TST_XA_ROLLBACK_REPLY, "XA_ROLLBACK_REPLY" }, - { MQ_TST_XA_FORGET_REPLY, "XA_FORGET_REPLY" }, - { MQ_TST_XA_RECOVER_REPLY, "XA_RECOVER_REPLY" }, - { MQ_TST_XA_COMPLETE_REPLY, "XA_COMPLETE_REPLY" }, - { 0, NULL } -}; - -static value_string_ext mq_opcode_vals_ext = VALUE_STRING_EXT_INIT(mq_opcode_vals); - -static const value_string mq_spi_verbs_vals[] = { - { MQ_SPI_QUERY, "QUERY" }, - { MQ_SPI_PUT, "PUT" }, - { MQ_SPI_GET, "GET" }, - { MQ_SPI_ACTIVATE, "ACTIVATE" }, - { 0, NULL } -}; - -static const value_string mq_spi_activate_vals[] = { - { MQ_SPI_ACTIVATE_ENABLE, "ENABLE" }, - { MQ_SPI_ACTIVATE_DISABLE, "DISABLE" }, - { 0, NULL } +struct mq_msg_properties { + gint iOffsetEncoding; /* Message encoding */ + gint iOffsetCcsid; /* Message character set */ + gint iOffsetFormat; /* Message format */ }; -static const value_string mq_status_vals[] = { - { MQ_STATUS_ERR_NO_CHANNEL, "NO_CHANNEL" }, - { MQ_STATUS_ERR_CHANNEL_WRONG_TYPE, "CHANNEL_WRONG_TYPE" }, - { MQ_STATUS_ERR_QM_UNAVAILABLE, "QM_UNAVAILABLE" }, - { MQ_STATUS_ERR_MSG_SEQUENCE_ERROR, "MSG_SEQUENCE_ERROR" }, - { MQ_STATUS_ERR_QM_TERMINATING, "QM_TERMINATING" }, - { MQ_STATUS_ERR_CAN_NOT_STORE, "CAN_NOT_STORE" }, - { MQ_STATUS_ERR_USER_CLOSED, "USER_CLOSED" }, - { MQ_STATUS_ERR_PROTOCOL_SEGMENT_TYPE, "REMOTE_PROTOCOL_ERROR" }, - { MQ_STATUS_ERR_PROTOCOL_LENGTH_ERROR, "BIND_FAILED" }, - { MQ_STATUS_ERR_PROTOCOL_INVALID_DATA, "MSGWRAP_DIFFERENT" }, - { MQ_STATUS_ERR_PROTOCOL_ID_ERROR, "REMOTE_CHANNEL_UNAVAILABLE" }, - { MQ_STATUS_ERR_PROTOCOL_MSH_ERROR, "TERMINATED_BY_REMOTE_EXIT" }, - { MQ_STATUS_ERR_PROTOCOL_GENERAL, "PROTOCOL_GENERAL" }, - { MQ_STATUS_ERR_BATCH_FAILURE, "BATCH_FAILURE" }, - { MQ_STATUS_ERR_MESSAGE_LENGTH_ERROR, "MESSAGE_LENGTH_ERROR" }, - { MQ_STATUS_ERR_SEGMENT_NUMBER_ERROR, "SEGMENT_NUMBER_ERROR" }, - { MQ_STATUS_ERR_SECURITY_FAILURE, "SECURITY_FAILURE" }, - { MQ_STATUS_ERR_WRAP_VALUE_ERROR, "WRAP_VALUE_ERROR" }, - { MQ_STATUS_ERR_CHANNEL_UNAVAILABLE, "CHANNEL_UNAVAILABLE" }, - { MQ_STATUS_ERR_CLOSED_BY_EXIT, "CLOSED_BY_EXIT" }, - { MQ_STATUS_ERR_CIPHER_SPEC, "CIPHER_SPEC" }, - { MQ_STATUS_ERR_PEER_NAME, "PEER_NAME" }, - { MQ_STATUS_ERR_SSL_CLIENT_CERTIFICATE,"SSL_CLIENT_CERTIFICATE" }, - { MQ_STATUS_ERR_RMT_RSRCS_IN_RECOVERY, "RMT_RSRCS_IN_RECOVERY" }, - { MQ_STATUS_ERR_SSL_REFRESHING, "SSL_REFRESHING" }, - { MQ_STATUS_ERR_INVALID_HOBJ, "INVALID_HOBJ" }, - { MQ_STATUS_ERR_CONV_ID_ERROR, "CONV_ID_ERROR" }, - { MQ_STATUS_ERR_SOCKET_ACTION_TYPE, "SOCKET_ACTION_TYPE" }, - { MQ_STATUS_ERR_STANDBY_Q_MGR, "STANDBY_Q_MGR" }, - { 0, NULL } -}; +static gint dissect_mq_MQMO(tvbuff_t *tvb, proto_tree *mq_tree, gint offset,gint ett_subtree, mq_parm_t *p_mq_parm) +{ -static const value_string mq_xaer_vals[] = { - { MQ_XA_RBROLLBACK, "XA_RBROLLBACK" }, - { MQ_XA_RBCOMMFAIL, "XA_RBCOMMFAIL" }, - { MQ_XA_RBDEADLOCK, "XA_RBDEADLOCK" }, - { MQ_XA_RBINTEGRITY, "XA_RBINTEGRITY" }, - { MQ_XA_RBOTHER, "XA_RBOTHER" }, - { MQ_XA_RBPROTO, "XA_RBPROTO" }, - { MQ_XA_RBTIMEOUT, "XA_RBTIMEOUT" }, - { MQ_XA_RBTRANSIENT, "XA_RBTRANSIENT" }, - { MQ_XA_NOMIGRATE, "XA_NOMIGRATE" }, - { MQ_XA_HEURHAZ, "XA_HEURHAZ" }, - { MQ_XA_HEURCOM, "XA_HEURCOM" }, - { MQ_XA_HEURRB, "XA_HEURRB" }, - { MQ_XA_HEURMIX, "XA_HEURMIX" }, - { MQ_XA_RETRY, "XA_RETRY" }, - { MQ_XA_RDONLY, "XA_RDONLY" }, - { MQ_XA_OK, "XA_OK" }, - { (guint32)MQ_XAER_ASYNC, "XAER_ASYNC" }, - { (guint32)MQ_XAER_RMERR, "XAER_RMERR" }, - { (guint32)MQ_XAER_NOTA, "XAER_NOTA" }, - { (guint32)MQ_XAER_INVAL, "XAER_INVAL" }, - { (guint32)MQ_XAER_PROTO, "XAER_PROTO" }, - { (guint32)MQ_XAER_RMFAIL, "XAER_RMFAIL" }, - { (guint32)MQ_XAER_DUPID, "XAER_DUPID" }, - { (guint32)MQ_XAER_OUTSIDE, "XAER_OUTSIDE" }, - { 0, NULL } -}; + proto_item *ti = NULL; + proto_tree *mq_tree_sub = NULL; + guint uMoOpt; + + ti = proto_tree_add_item(mq_tree, hf_mq_gmo_matchoptions, tvb, offset, 4, p_mq_parm->mq_int_enc); /* ENC_BIG_ENDIAN); */ + mq_tree_sub = proto_item_add_subtree(ti, ett_subtree); + uMoOpt= tvb_get_guint32_endian(tvb, offset,p_mq_parm->mq_int_enc); + + if (uMoOpt==0) + { + proto_tree_add_text(mq_tree_sub, tvb, offset, 4, MQ_TEXT_MQMO_NONE); + } + else + { + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_matchoptions_MATCH_MSG_TOKEN , tvb, offset, 4, uMoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_matchoptions_MATCH_OFFSET , tvb, offset, 4, uMoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_matchoptions_MATCH_MSG_SEQ_NUMBER, tvb, offset, 4, uMoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_matchoptions_MATCH_GROUP_ID , tvb, offset, 4, uMoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_matchoptions_MATCH_CORREL_ID , tvb, offset, 4, uMoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_matchoptions_MATCH_MSG_ID , tvb, offset, 4, uMoOpt); + } + return 4; +} -static const value_string mq_structid_vals[] = { - { MQ_STRUCTID_CIH, MQ_TEXT_CIH }, - { MQ_STRUCTID_DH, MQ_TEXT_DH }, - { MQ_STRUCTID_DLH, MQ_TEXT_DLH }, - { MQ_STRUCTID_GMO, MQ_TEXT_GMO }, - { MQ_STRUCTID_ID, MQ_TEXT_ID }, - { MQ_STRUCTID_IIH, MQ_TEXT_IIH }, - { MQ_STRUCTID_MD, MQ_TEXT_MD }, - { MQ_STRUCTID_MDE, MQ_TEXT_MDE }, - { MQ_STRUCTID_MSH, MQ_TEXT_MSH }, - { MQ_STRUCTID_OD, MQ_TEXT_OD }, - { MQ_STRUCTID_PMO, MQ_TEXT_PMO }, - { MQ_STRUCTID_RMH, MQ_TEXT_RMH }, - { MQ_STRUCTID_TM, MQ_TEXT_TM }, - { MQ_STRUCTID_TMC2, MQ_TEXT_TMC2 }, - { MQ_STRUCTID_TSH, MQ_TEXT_TSH }, - { MQ_STRUCTID_TSHC, MQ_TEXT_TSHC }, - { MQ_STRUCTID_TSHM, MQ_TEXT_TSHM }, - { MQ_STRUCTID_UID, MQ_TEXT_UID }, - { MQ_STRUCTID_WIH, MQ_TEXT_WIH }, - { MQ_STRUCTID_XQH, MQ_TEXT_XQH }, - { MQ_STRUCTID_CIH_EBCDIC, MQ_TEXT_CIH }, - { MQ_STRUCTID_DH_EBCDIC, MQ_TEXT_DH }, - { MQ_STRUCTID_DLH_EBCDIC, MQ_TEXT_DLH }, - { MQ_STRUCTID_GMO_EBCDIC, MQ_TEXT_GMO }, - { MQ_STRUCTID_ID_EBCDIC, MQ_TEXT_ID }, - { MQ_STRUCTID_IIH_EBCDIC, MQ_TEXT_IIH }, - { MQ_STRUCTID_MD_EBCDIC, MQ_TEXT_MD }, - { MQ_STRUCTID_MDE_EBCDIC, MQ_TEXT_MDE }, - { MQ_STRUCTID_OD_EBCDIC, MQ_TEXT_OD }, - { MQ_STRUCTID_PMO_EBCDIC, MQ_TEXT_PMO }, - { MQ_STRUCTID_RMH_EBCDIC, MQ_TEXT_RMH }, - { MQ_STRUCTID_TM_EBCDIC, MQ_TEXT_TM }, - { MQ_STRUCTID_TMC2_EBCDIC, MQ_TEXT_TMC2 }, - { MQ_STRUCTID_TSH_EBCDIC, MQ_TEXT_TSH }, - { MQ_STRUCTID_TSHC_EBCDIC, MQ_TEXT_TSHC }, - { MQ_STRUCTID_TSHM_EBCDIC, MQ_TEXT_TSHM }, - { MQ_STRUCTID_UID_EBCDIC, MQ_TEXT_UID }, - { MQ_STRUCTID_WIH_EBCDIC, MQ_TEXT_WIH }, - { MQ_STRUCTID_XQH_EBCDIC, MQ_TEXT_XQH }, - { 0, NULL } -}; +static gint dissect_mq_MQGMO(tvbuff_t *tvb, proto_tree *mq_tree, gint offset,gint ett_subtree, mq_parm_t *p_mq_parm) +{ -static const value_string mq_byteorder_vals[] = { - { MQ_LITTLE_ENDIAN, "Little endian" }, - { MQ_BIG_ENDIAN, "Big endian" }, - { 0, NULL } -}; + proto_item *ti = NULL; + proto_tree *mq_tree_sub = NULL; + guint uGmoOpt; + + ti = proto_tree_add_item(mq_tree, hf_mq_gmo_options, tvb, offset, 4, p_mq_parm->mq_int_enc); /* ENC_BIG_ENDIAN); */ + mq_tree_sub = proto_item_add_subtree(ti, ett_subtree); + uGmoOpt= tvb_get_guint32_endian(tvb, offset,p_mq_parm->mq_int_enc); + + if (uGmoOpt==0) + { + proto_tree_add_text(mq_tree_sub, tvb, offset, 4, MQ_TEXT_MQGMO_NONE); + } + else + { + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_PROPERTIES_COMPATIBILITY, tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_PROPERTIES_IN_HANDLE , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_NO_PROPERTIES , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_PROPERTIES_FORCE_MQRFH2 , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_UNMARKED_BROWSE_MSG , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_UNMARK_BROWSE_HANDLE , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_UNMARK_BROWSE_CO_OP , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_MARK_BROWSE_CO_OP , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_MARK_BROWSE_HANDLE , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_ALL_SEGMENTS_AVAILABLE , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_ALL_MSGS_AVAILABLE , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_COMPLETE_MSG , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_LOGICAL_ORDER , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_CONVERT , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_FAIL_IF_QUIESCING , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_SYNCPOINT_IF_PERSISTENT , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_BROWSE_MSG_UNDER_CURSOR , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_UNLOCK , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_LOCK , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_MSG_UNDER_CURSOR , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_MARK_SKIP_BACKOUT , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_ACCEPT_TRUNCATED_MSG , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_BROWSE_NEXT , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_BROWSE_FIRST , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_SET_SIGNAL , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_NO_SYNCPOINT , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_SYNCPOINT , tvb, offset, 4, uGmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_gmo_options_WAIT , tvb, offset, 4, uGmoOpt); + } + return 4; +} -static const value_string mq_conn_version_vals[] = { - { MQ_CONN_VERSION, "MQCONN" }, - { MQ_CONNX_VERSION, "MQCONNX" }, - { 0, NULL } -}; +static gint dissect_mq_MQPMO(tvbuff_t *tvb, proto_tree *mq_tree, gint offset,gint ett_subtree, mq_parm_t *p_mq_parm) +{ -struct mq_msg_properties { - gint iOffsetEncoding; /* Message encoding */ - gint iOffsetCcsid; /* Message character set */ - gint iOffsetFormat; /* Message format */ -}; + proto_item *ti = NULL; + proto_tree *mq_tree_sub = NULL; + guint uPmoOpt; + + ti = proto_tree_add_item(mq_tree, hf_mq_pmo_options, tvb, offset, 4, p_mq_parm->mq_int_enc); /* ENC_BIG_ENDIAN); */ + mq_tree_sub = proto_item_add_subtree(ti, ett_subtree); + uPmoOpt= tvb_get_guint32_endian(tvb, offset,p_mq_parm->mq_int_enc); + + if (uPmoOpt==0) + { + proto_tree_add_text(mq_tree_sub, tvb, offset, 4, MQ_TEXT_MQPMO_NONE); + } + else + { + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_NOT_OWN_SUBS , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_SUPPRESS_REPLYTO , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_SCOPE_QMGR , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_MD_FOR_OUTPUT_ONLY , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_RETAIN , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_WARN_IF_NO_SUBS_MATCHED , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_RESOLVE_LOCAL_Q , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_SYNC_RESPONSE , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_ASYNC_RESPONSE , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_LOGICAL_ORDER , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_NO_CONTEXT , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_FAIL_IF_QUIESCING , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_ALTERNATE_USER_AUTHORITY , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_SET_ALL_CONTEXT , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_SET_IDENTITY_CONTEXT , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_PASS_ALL_CONTEXT , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_PASS_IDENTITY_CONTEXT , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_NEW_CORREL_ID , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_NEW_MSG_ID , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_DEFAULT_CONTEXT , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_NO_SYNCPOINT , tvb, offset, 4, uPmoOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_pmo_options_SYNCPOINT , tvb, offset, 4, uPmoOpt); + } + return 4; +} -static guint32 tvb_get_guint32_endian(tvbuff_t *a_tvb, gint a_iOffset, gint a_rep) +static gint dissect_mq_MQOO(tvbuff_t *tvb, proto_tree *mq_tree, gint offset,gint ett_subtree, mq_parm_t *p_mq_parm) { - guint32 iResult; - if (a_rep & ENC_LITTLE_ENDIAN) - iResult = tvb_get_letohl(a_tvb, a_iOffset); - else - iResult = tvb_get_ntohl(a_tvb, a_iOffset); - return iResult; + proto_item *ti = NULL; + proto_tree *mq_tree_sub = NULL; + guint uOpenOpt; + + ti = proto_tree_add_item(mq_tree, hf_mq_open_options, tvb, offset, 4, p_mq_parm->mq_int_enc); + mq_tree_sub = proto_item_add_subtree(ti, ett_subtree); + uOpenOpt= tvb_get_guint32_endian(tvb, offset,p_mq_parm->mq_int_enc); + + if (uOpenOpt==0) + { + proto_tree_add_text(mq_tree_sub, tvb, offset, 4, MQ_TEXT_BIND$READAHEAD_AS_Q_DEF); + } + else + { + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_BIND_ON_GROUP , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_NO_MULTICAST , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_READ_AHEAD , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_NO_READ_AHEAD , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_RESOLVE_LOCAL_Q , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_CO_OP , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_RESOLVE_NAMES , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_BIND_NOT_FIXED , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_BIND_ON_OPEN , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_FAIL_IF_QUIESC , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_ALT_USER_AUTH, tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_SET_ALL_CONTEXT , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_SET_IDENT_CTX , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_PASS_ALL_CTX , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_PASS_IDENT_CTX , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_SAVE_ALL_CTX , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_SET , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_INQUIRE , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_OUTPUT , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_BROWSE , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_INPUT_EXCLUSIVE , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_INPUT_SHARED , tvb, offset, 4, uOpenOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_open_options_INPUT_AS_Q_DEF , tvb, offset, 4, uOpenOpt); + } + return 4; } - -/* This routine truncates the string at the first blank space */ -static gint strip_trailing_blanks(guint8* a_string, gint a_size) +static gint dissect_mq_MQCO(tvbuff_t *tvb, proto_tree *mq_tree, gint offset, mq_parm_t *p_mq_parm) { - gint i = 0; - if (a_string != NULL) - { - for (i = 0; i < a_size; i++) - { - if (a_string[i] == ' ' || a_string[i] == '\0') - { - a_string[i] = '\0'; - break; - } - } - } - return i; + proto_item *ti = NULL; + proto_tree *mq_tree_sub = NULL; + guint iCloseOpt; + + ti = proto_tree_add_item(mq_tree, hf_mq_close_options, tvb, offset, 4, p_mq_parm->mq_int_enc); + mq_tree_sub = proto_item_add_subtree(ti, ett_mq_close_option); + iCloseOpt= tvb_get_guint32_endian(tvb, offset,p_mq_parm->mq_int_enc); + + if (iCloseOpt==0) + { + proto_tree_add_text(mq_tree_sub, tvb, offset, 4, MQ_TEXT_IMMEDIATE$NONE); + } + else + { + proto_tree_add_boolean(mq_tree_sub, hf_mq_close_options_QUIESCE , tvb, offset, 4, iCloseOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_close_options_REMOVE_SUB , tvb, offset, 4, iCloseOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_close_options_KEEP_SUB , tvb, offset, 4, iCloseOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_close_options_DELETE_PURGE , tvb, offset, 4, iCloseOpt); + proto_tree_add_boolean(mq_tree_sub, hf_mq_close_options_DELETE , tvb, offset, 4, iCloseOpt); + } + return 4; } - -static gint -dissect_mq_md(tvbuff_t *tvb, proto_tree *tree, gint int_rep, gint string_rep, gint offset, struct mq_msg_properties* tMsgProps) +static gint dissect_mq_charv(tvbuff_t *tvb, proto_tree *tree, gint offset,gint iSize,gint idx,guint8 *pStr, mq_parm_t *p_mq_parm) { - proto_tree *mq_tree = NULL; - guint32 structId; - gint iSizeMD = 0; - - if (tvb_length_remaining(tvb, offset) >= 4) - { - structId = tvb_get_ntohl(tvb, offset); - if ((structId == MQ_STRUCTID_MD || structId == MQ_STRUCTID_MD_EBCDIC) && tvb_length_remaining(tvb, offset) >= 8) - { - guint32 iVersionMD = 0; - iVersionMD = tvb_get_guint32_endian(tvb, offset + 4, int_rep); - /* Compute length according to version */ - switch (iVersionMD) - { - case 1: iSizeMD = 324; break; - case 2: iSizeMD = 364; break; - } - - if (iSizeMD != 0 && tvb_length_remaining(tvb, offset) >= iSizeMD) - { - tMsgProps->iOffsetEncoding = offset + 24; - tMsgProps->iOffsetCcsid = offset + 28; - tMsgProps->iOffsetFormat = offset + 32; - if (tree) - { - proto_item *ti = NULL; - ti = proto_tree_add_text(tree, tvb, offset, iSizeMD, MQ_TEXT_MD); - mq_tree = proto_item_add_subtree(ti, ett_mq_md); - - proto_tree_add_item(mq_tree, hf_mq_md_structid, tvb, offset, 4, string_rep); - proto_tree_add_item(mq_tree, hf_mq_md_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_report, tvb, offset + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_msgtype, tvb, offset + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_expiry, tvb, offset + 16, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_feedback, tvb, offset + 20, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_encoding, tvb, offset + 24, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_ccsid, tvb, offset + 28, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_format, tvb, offset + 32, 8, string_rep); - proto_tree_add_item(mq_tree, hf_mq_md_priority, tvb, offset + 40, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_persistence, tvb, offset + 44, 4, int_rep); - 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_backountcount, tvb, offset + 96, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_replytoq, tvb, offset + 100, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_md_replytoqmgr, tvb, offset + 148, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_md_userid, tvb, offset + 196, 12, string_rep); - 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, string_rep); - proto_tree_add_item(mq_tree, hf_mq_md_putappltype, tvb, offset + 272, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_putapplname, tvb, offset + 276, 28, string_rep); - proto_tree_add_item(mq_tree, hf_mq_md_putdate, tvb, offset + 304, 8, string_rep); - proto_tree_add_item(mq_tree, hf_mq_md_puttime, tvb, offset + 312, 8, string_rep); - proto_tree_add_item(mq_tree, hf_mq_md_applorigindata, tvb, offset + 320, 4, string_rep); - - if (iVersionMD >= 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_msgseqnumber, tvb, offset + 348, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_offset, tvb, offset + 352, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_msgflags, tvb, offset + 356, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_originallength, tvb, offset + 360, 4, int_rep); - } - } - } - } - } - return iSizeMD; + proto_item *ti = NULL; + proto_tree *mq_tree_sub = NULL; + guint32 lStr; + guint32 oStr; + gint32 eStr; + guint8 *sStr; + 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); + eStr = tvb_get_guint32_endian(tvb, offset + 16, p_mq_parm->mq_int_enc); + if (lStr && oStr) + { + sStr = tvb_get_ephemeral_string_enc(tvb, oStr, lStr, p_mq_parm->mq_str_enc); + } + else + sStr=NULL; + + 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_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); + + return 20; } - - -static gint -dissect_mq_or(tvbuff_t *tvb, proto_tree *tree, int string_rep, gint offset, gint iNbrRecords, gint offsetOR) +static gint dissect_mq_pmr(tvbuff_t *tvb, proto_tree *tree, gint offset, gint iNbrRecords, gint offsetPMR, guint32 recFlags, mq_parm_t *p_mq_parm) { - proto_tree *mq_tree = NULL; - proto_item *ti = NULL; - gint iSizeOR = 0; - if (offsetOR != 0) - { - iSizeOR = iNbrRecords * 96; - if (tvb_length_remaining(tvb, offset) >= iSizeOR) - { - if (tree) - { - gint iOffsetOR = 0; - gint iRecord = 0; - for (iRecord = 0; iRecord < iNbrRecords ; iRecord++) - { - ti = proto_tree_add_text(tree, tvb, offset + iOffsetOR, 96, MQ_TEXT_OR); - mq_tree = proto_item_add_subtree(ti, ett_mq_or); - proto_tree_add_item(mq_tree, hf_mq_or_objname, tvb, offset + iOffsetOR, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_or_objqmgrname, tvb, offset + iOffsetOR + 48, 48, string_rep); - iOffsetOR += 96; - } - } - } - else iSizeOR = 0; - } - return iSizeOR; + gint iSizePMR1 = 0; + gint iSizePMR = 0; + + iSizePMR1 = ((((recFlags & MQ_PMRF_MSG_ID) != 0) * 24) + +(((recFlags & MQ_PMRF_CORREL_ID) != 0) * 24) + +(((recFlags & MQ_PMRF_GROUP_ID) != 0) * 24) + +(((recFlags & MQ_PMRF_FEEDBACK) != 0) * 4) + +(((recFlags & MQ_PMRF_ACCOUNTING_TOKEN) != 0) * 32)); + + if (offsetPMR!=0 && iSizePMR1!=0) + { + iSizePMR = iNbrRecords * iSizePMR1; + if (tvb_length_remaining(tvb, offset) >= iSizePMR) + { + if (tree) + { + gint iOffsetPMR = 0; + gint iRecord = 0; + for (iRecord = 0; iRecord < iNbrRecords; iRecord++) + { + proto_item *ti = proto_tree_add_text(tree, tvb, offset + iOffsetPMR, iSizePMR1, MQ_TEXT_PMR); + proto_tree *mq_tree = proto_item_add_subtree(ti, ett_mq_pmr); + if ((recFlags & MQ_PMRF_MSG_ID) != 0) + { + proto_tree_add_item(mq_tree, hf_mq_pmr_msgid, tvb, offset + iOffsetPMR, 24, ENC_NA); + iOffsetPMR += 24; + } + if ((recFlags & MQ_PMRF_CORREL_ID) != 0) + { + proto_tree_add_item(mq_tree, hf_mq_pmr_correlid, tvb, offset + iOffsetPMR, 24, ENC_NA); + iOffsetPMR += 24; + } + if ((recFlags & MQ_PMRF_GROUP_ID) != 0) + { + proto_tree_add_item(mq_tree, hf_mq_pmr_groupid, tvb, offset + iOffsetPMR, 24, ENC_NA); + iOffsetPMR += 24; + } + if ((recFlags & MQ_PMRF_FEEDBACK) != 0) + { + proto_tree_add_item(mq_tree, hf_mq_pmr_feedback, tvb, offset + iOffsetPMR, 4, p_mq_parm->mq_int_enc); + iOffsetPMR += 4; + } + if ((recFlags & MQ_PMRF_ACCOUNTING_TOKEN) != 0) + { + proto_tree_add_item(mq_tree, hf_mq_pmr_acttoken, tvb, offset + iOffsetPMR, 32, ENC_NA); + iOffsetPMR += 32; + } + } + } + } + else iSizePMR = 0; + } + return iSizePMR; } - -static gint -dissect_mq_rr(tvbuff_t *tvb, proto_tree *tree, gint int_rep, gint offset, gint iNbrRecords, gint offsetRR) +static gint dissect_mq_or(tvbuff_t *tvb, proto_tree *tree, gint offset, gint iNbrRecords, gint offsetOR, mq_parm_t *p_mq_parm) { - proto_tree *mq_tree = NULL; - proto_item *ti = NULL; - gint iSizeRR = 0; - if (offsetRR != 0) - { - iSizeRR = iNbrRecords * 8; - if (tvb_length_remaining(tvb, offset) >= iSizeRR) - { - if (tree) - { - gint iOffsetRR = 0; - gint iRecord = 0; - for (iRecord = 0; iRecord < iNbrRecords; iRecord++) - { - ti = proto_tree_add_text(tree, tvb, offset + iOffsetRR, 8, MQ_TEXT_RR); - mq_tree = proto_item_add_subtree(ti, ett_mq_rr); - proto_tree_add_item(mq_tree, hf_mq_rr_completioncode, tvb, offset + iOffsetRR, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_rr_reasoncode, tvb, offset + iOffsetRR + 4, 4, int_rep); - iOffsetRR += 8; - } - } - } - else iSizeRR = 0; - } - return iSizeRR; + gint iSizeOR = 0; + if (offsetOR != 0) + { + iSizeOR = iNbrRecords * 96; + if (tvb_length_remaining(tvb, offset) >= iSizeOR) + { + if (tree) + { + gint iOffsetOR = 0; + gint iRecord = 0; + for (iRecord = 0; iRecord < iNbrRecords ; iRecord++) + { + proto_item *ti = proto_tree_add_text(tree, tvb, offset + iOffsetOR, 96, MQ_TEXT_OR); + proto_tree *mq_tree = proto_item_add_subtree(ti, ett_mq_or); + proto_tree_add_item(mq_tree, hf_mq_or_objname, tvb, offset + iOffsetOR, 48, p_mq_parm->mq_str_enc); + proto_tree_add_item(mq_tree, hf_mq_or_objqmgrname, tvb, offset + iOffsetOR + 48, 48, p_mq_parm->mq_str_enc); + iOffsetOR += 96; + } + } + } + else iSizeOR = 0; + } + return iSizeOR; } - -static gint -dissect_mq_pmr(tvbuff_t *tvb, proto_tree *tree, gint int_rep, gint offset, gint iNbrRecords, gint offsetPMR, guint32 recFlags) +static gint dissect_mq_rr(tvbuff_t *tvb, proto_tree *tree, gint offset, gint iNbrRecords, gint offsetRR, mq_parm_t *p_mq_parm) +{ + gint iSizeRR = 0; + if (offsetRR != 0) + { + iSizeRR = iNbrRecords * 8; + if (tvb_length_remaining(tvb, offset) >= iSizeRR) + { + if (tree) + { + gint iOffsetRR = 0; + gint iRecord = 0; + for (iRecord = 0; iRecord < iNbrRecords; iRecord++) + { + proto_item *ti = proto_tree_add_text(tree, tvb, offset + iOffsetRR, 8, MQ_TEXT_RR); + proto_tree *mq_tree = proto_item_add_subtree(ti, ett_mq_rr); + proto_tree_add_item(mq_tree, hf_mq_rr_compcode, tvb, offset + iOffsetRR, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_rr_reascode, tvb, offset + iOffsetRR + 4, 4, p_mq_parm->mq_int_enc); + iOffsetRR += 8; + } + } + } + else iSizeRR = 0; + } + return iSizeRR; +} +static gint dissect_mq_gmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offset, mq_parm_t *p_mq_parm) { - proto_tree *mq_tree = NULL; - proto_item *ti = NULL; - gint iSizePMR1 = 0; - gint iSizePMR = 0; - - iSizePMR1 = ((((recFlags & MQ_PMRF_MSG_ID) != 0) * 24) - +(((recFlags & MQ_PMRF_CORREL_ID) != 0) * 24) - +(((recFlags & MQ_PMRF_GROUP_ID) != 0) * 24) - +(((recFlags & MQ_PMRF_FEEDBACK) != 0) * 4) - +(((recFlags & MQ_PMRF_ACCOUNTING_TOKEN) != 0) * 32)); - - if (offsetPMR!=0 && iSizePMR1!=0) - { - iSizePMR = iNbrRecords * iSizePMR1; - if (tvb_length_remaining(tvb, offset) >= iSizePMR) - { - if (tree) - { - gint iOffsetPMR = 0; - gint iRecord = 0; - for (iRecord = 0; iRecord < iNbrRecords; iRecord++) - { - ti = proto_tree_add_text(tree, tvb, offset + iOffsetPMR, iSizePMR1, MQ_TEXT_PMR); - mq_tree = proto_item_add_subtree(ti, ett_mq_pmr); - if ((recFlags & MQ_PMRF_MSG_ID) != 0) - { - proto_tree_add_item(mq_tree, hf_mq_pmr_msgid, tvb, offset + iOffsetPMR, 24, ENC_NA); - iOffsetPMR += 24; - } - if ((recFlags & MQ_PMRF_CORREL_ID) != 0) - { - proto_tree_add_item(mq_tree, hf_mq_pmr_correlid, tvb, offset + iOffsetPMR, 24, ENC_NA); - iOffsetPMR += 24; - } - if ((recFlags & MQ_PMRF_GROUP_ID) != 0) - { - proto_tree_add_item(mq_tree, hf_mq_pmr_groupid, tvb, offset + iOffsetPMR, 24, ENC_NA); - iOffsetPMR += 24; - } - if ((recFlags & MQ_PMRF_FEEDBACK) != 0) - { - proto_tree_add_item(mq_tree, hf_mq_pmr_feedback, tvb, offset + iOffsetPMR, 4, int_rep); - iOffsetPMR += 4; - } - if ((recFlags & MQ_PMRF_ACCOUNTING_TOKEN) != 0) - { - proto_tree_add_item(mq_tree, hf_mq_pmr_acttoken, tvb, offset + iOffsetPMR, 32, ENC_NA); - iOffsetPMR += 32; - } - } - } - } - else iSizePMR = 0; - } - return iSizePMR; + gint iSize = 0; + + 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_GMO || p_mq_parm->mq_strucID == MQ_STRUCTID_GMO_EBCDIC) + { + guint32 iVersion = 0; + iVersion = tvb_get_guint32_endian(tvb, offset + 4, p_mq_parm->mq_int_enc); + /* Compute length according to version */ + switch (iVersion) + { + case 1: iSize = 72; break; + case 2: iSize = 80; break; + case 3: iSize = 100; break; + } + + if (iSize != 0 && tvb_length_remaining(tvb, offset) >= iSize) + { + guint8 *sQueue; + sQueue = tvb_get_ephemeral_string_enc(tvb, offset + 24, 48, p_mq_parm->mq_str_enc); + if (strip_trailing_blanks(sQueue, 48) != 0) + { + col_append_fstr(pinfo->cinfo, COL_INFO, " Q=%s", sQueue); + } + + if (tree) + { + proto_tree *mq_tree = NULL; + proto_item *ti = NULL; + + ti = proto_tree_add_text(tree, tvb, offset, iSize, MQ_TEXT_GMO); + 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); + + 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); + + 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_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); + } + + 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_returnedlen, tvb, offset + 96, 4, p_mq_parm->mq_int_enc); + } + } + } + } + return iSize; } -static gint -dissect_mq_gmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint int_rep, gint string_rep, gint offset) +static gint dissect_mq_pmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offset, mq_parm_t *p_mq_parm, gint* iDistributionListSize) { - proto_tree *mq_tree = NULL; - proto_item *ti = NULL; - guint32 structId; - gint iSizeGMO = 0; - - if (tvb_length_remaining(tvb, offset) >= 4) - { - structId = tvb_get_ntohl(tvb, offset); - if ((structId == MQ_STRUCTID_GMO || structId == MQ_STRUCTID_GMO_EBCDIC) && tvb_length_remaining(tvb, offset) >= 8) - { - guint32 iVersionGMO = 0; - iVersionGMO = tvb_get_guint32_endian(tvb, offset + 4, int_rep); - /* Compute length according to version */ - switch (iVersionGMO) - { - case 1: iSizeGMO = 72; break; - case 2: iSizeGMO = 80; break; - case 3: iSizeGMO = 100; break; - } - - if (iSizeGMO != 0 && tvb_length_remaining(tvb, offset) >= iSizeGMO) - { - guint8* sQueue; - sQueue = tvb_get_ephemeral_string_enc(tvb, offset + 24, 48, string_rep); - if (strip_trailing_blanks(sQueue, 48) != 0) - { - col_append_fstr(pinfo->cinfo, COL_INFO, " Q=%s", sQueue); - } - - if (tree) - { - ti = proto_tree_add_text(tree, tvb, offset, iSizeGMO, MQ_TEXT_GMO); - mq_tree = proto_item_add_subtree(ti, ett_mq_gmo); - - proto_tree_add_item(mq_tree, hf_mq_gmo_structid, tvb, offset, 4, string_rep); - proto_tree_add_item(mq_tree, hf_mq_gmo_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_gmo_options, tvb, offset + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_gmo_waitinterval, tvb, offset + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_gmo_signal1, tvb, offset + 16, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_gmo_signal2, tvb, offset + 20, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_gmo_resolvedqname, tvb, offset + 24, 48, string_rep); - - if (iVersionGMO >= 2) - { - proto_tree_add_item(mq_tree, hf_mq_gmo_matchoptions, tvb, offset + 72, 4, 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_segmentstatus, 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); - } - - if (iVersionGMO >= 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_returnedlength, tvb, offset + 96, 4, int_rep); - } - } - } - } - } - return iSizeGMO; + gint iSize = 0; + + 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_PMO || p_mq_parm->mq_strucID == MQ_STRUCTID_PMO_EBCDIC) + { + guint32 iVersion = 0; + iVersion = tvb_get_guint32_endian(tvb, offset + 4, p_mq_parm->mq_int_enc); + /* Compute length according to version */ + switch (iVersion) + { + case 1: iSize = 128; break; + case 2: iSize = 152;break; + } + + if (iSize != 0 && tvb_length_remaining(tvb, offset) >= iSize) + { + guint8 * sQueue; + + sQueue = tvb_get_ephemeral_string_enc(tvb, offset + 32, 48, p_mq_parm->mq_str_enc); + if (strip_trailing_blanks(sQueue, 48) != 0) + { + col_append_fstr(pinfo->cinfo, COL_INFO, " Q=%s", sQueue); + } + + if (tree) + { + proto_tree *mq_tree = NULL; + proto_item *ti = NULL; + + ti = proto_tree_add_text(tree, tvb, offset, iSize, MQ_TEXT_PMO); + mq_tree = proto_item_add_subtree(ti, ett_mq_pmo); + proto_tree_add_item(mq_tree, hf_mq_pmo_structid, tvb, offset, 4, p_mq_parm->mq_str_enc); + proto_tree_add_item(mq_tree, hf_mq_pmo_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc); + + 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_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_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); + + if (iVersion >= 2) + { + proto_tree_add_item(mq_tree, hf_mq_pmo_recspresent, tvb, offset + 128, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecfld, tvb, offset + 132, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecofs, tvb, offset + 136, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_pmo_resprecofs, tvb, offset + 140, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecptr, tvb, offset + 144, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_pmo_resprecptr, tvb, offset + 148, 4, p_mq_parm->mq_int_enc); + } + } + if (iVersion >= 2) + { + gint iNbrRecords = 0; + guint32 iRecFlags = 0; + + iNbrRecords = tvb_get_guint32_endian(tvb, offset + 128, p_mq_parm->mq_int_enc); + iRecFlags = tvb_get_guint32_endian(tvb, offset + 132, p_mq_parm->mq_int_enc); + + if (iNbrRecords > 0) + { + gint iOffsetPMR = 0; + gint iOffsetRR = 0; + + *iDistributionListSize = iNbrRecords; + iOffsetPMR = tvb_get_guint32_endian(tvb, offset + 136, p_mq_parm->mq_int_enc); + iOffsetRR = tvb_get_guint32_endian(tvb, offset + 140, p_mq_parm->mq_int_enc); + iSize += dissect_mq_pmr(tvb, tree, offset + iSize, iNbrRecords, iOffsetPMR, iRecFlags, p_mq_parm); + iSize += dissect_mq_rr(tvb, tree, offset + iSize, iNbrRecords, iOffsetRR, p_mq_parm); + } + } + } + } + return iSize; } -static gint -dissect_mq_pmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint int_rep, gint string_rep, gint offset, gint* iDistributionListSize) +static gint dissect_mq_od(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offset, mq_parm_t *p_mq_parm, gint* iDistributionListSize) { - proto_tree *mq_tree = NULL; - proto_item *ti = NULL; - guint32 structId; - gint iSizePMO = 0; - - if (tvb_length_remaining(tvb, offset) >= 4) - { - structId = tvb_get_ntohl(tvb, offset); - if ((structId == MQ_STRUCTID_PMO || structId == MQ_STRUCTID_PMO_EBCDIC) && tvb_length_remaining(tvb, offset) >= 8) - { - guint32 iVersionPMO = 0; - iVersionPMO = tvb_get_guint32_endian(tvb, offset + 4, int_rep); - /* Compute length according to version */ - switch (iVersionPMO) - { - case 1: iSizePMO = 128; break; - case 2: iSizePMO = 152;break; - } - - if (iSizePMO != 0 && tvb_length_remaining(tvb, offset) >= iSizePMO) - { - gint iNbrRecords = 0; - guint32 iRecFlags = 0; - guint8* sQueue; - if (iVersionPMO >= 2) - { - iNbrRecords = tvb_get_guint32_endian(tvb, offset + 128, int_rep); - iRecFlags = tvb_get_guint32_endian(tvb, offset + 132, int_rep); - } - - sQueue = tvb_get_ephemeral_string_enc(tvb, offset + 32, 48, string_rep); - if (strip_trailing_blanks(sQueue, 48) != 0) - { - col_append_fstr(pinfo->cinfo, COL_INFO, " Q=%s", sQueue); - } - - if (tree) - { - ti = proto_tree_add_text(tree, tvb, offset, iSizePMO, MQ_TEXT_PMO); - mq_tree = proto_item_add_subtree(ti, ett_mq_pmo); - proto_tree_add_item(mq_tree, hf_mq_pmo_structid, tvb, offset, 4, string_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_options, tvb, offset + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_timeout, tvb, offset + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_context, tvb, offset + 16, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_knowndestcount, tvb, offset + 20, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_unknowndestcount, tvb, offset + 24, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_invaliddestcount, tvb, offset + 28, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_resolvedqname, tvb, offset + 32, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_resolvedqmgrname, tvb, offset + 80, 48, string_rep); - - if (iVersionPMO >= 2) - { - proto_tree_add_item(mq_tree, hf_mq_pmo_recspresent, tvb, offset + 128, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecfields, tvb, offset + 132, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecoffset, tvb, offset + 136, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_responserecoffset, tvb, offset + 140, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_putmsgrecptr, tvb, offset + 144, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_pmo_responserecptr, tvb, offset + 148, 4, int_rep); - } - - } - if (iNbrRecords > 0) - { - gint iOffsetPMR = 0; - gint iOffsetRR = 0; - gint iSizePMRRR = 0; - - *iDistributionListSize = iNbrRecords; - iOffsetPMR = tvb_get_guint32_endian(tvb, offset + 136, int_rep); - iOffsetRR = tvb_get_guint32_endian(tvb, offset + 140, int_rep); - if ((iSizePMRRR = dissect_mq_pmr(tvb, tree, int_rep, offset + iSizePMO, iNbrRecords, iOffsetPMR, iRecFlags)) != 0) - iSizePMO += iSizePMRRR; - if ((iSizePMRRR = dissect_mq_rr(tvb, tree, int_rep, offset + iSizePMO, iNbrRecords, iOffsetRR)) != 0) - iSizePMO += iSizePMRRR; - } - } - } - } - return iSizePMO; + gint iSize = 0; + + 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_OD || p_mq_parm->mq_strucID == MQ_STRUCTID_OD_EBCDIC) + { + /* The OD struct can be present in several messages at different levels */ + guint32 iVersion = 0; + iVersion = tvb_get_guint32_endian(tvb, offset + 4, p_mq_parm->mq_int_enc); + /* Compute length according to version */ + switch (iVersion) + { + case 1: iSize = 168; break; + case 2: iSize = 200; break; + case 3: iSize = 336; break; + case 4: iSize = 336+3*20+4; break; + } + + if (iSize != 0 && tvb_length_remaining(tvb, offset) >= iSize) + { + gint iNbrRecords = 0; + guint8 *sQueue; + + if (iVersion >= 2) + iNbrRecords = tvb_get_guint32_endian(tvb, offset + 168, p_mq_parm->mq_int_enc); + + sQueue = tvb_get_ephemeral_string_enc(tvb, offset + 12, 48, p_mq_parm->mq_str_enc); + if (strip_trailing_blanks(sQueue,48) != 0) + { + col_append_fstr(pinfo->cinfo, COL_INFO, " Obj=%s", sQueue); + } + + if (tree) + { + proto_tree *mq_tree = NULL; + proto_item *ti = NULL; + + 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_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); + + 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_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); + } + 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_resolvqmgrnm, tvb, offset + 288, 48, p_mq_parm->mq_str_enc); + } + if (iVersion >= 4) + { + dissect_mq_charv(tvb, mq_tree, offset+336, 20, ett_mq_od_objstr, (guint8 *)"Object string", p_mq_parm); + dissect_mq_charv(tvb, mq_tree, offset+356, 20, ett_mq_od_selstr, (guint8 *)"Selection string", p_mq_parm); + dissect_mq_charv(tvb, mq_tree, offset+376, 20, ett_mq_od_resobjstr, (guint8 *)"Resolved object string", p_mq_parm); + proto_tree_add_item(mq_tree, hf_mq_od_resolvobjtyp, tvb, offset + 396, 4, p_mq_parm->mq_int_enc); + } + } + if (iNbrRecords > 0) + { + gint iOffsetOR = 0; + gint iOffsetRR = 0; + + *iDistributionListSize = iNbrRecords; + iOffsetOR = tvb_get_guint32_endian(tvb, offset + 184, p_mq_parm->mq_int_enc); + iOffsetRR = tvb_get_guint32_endian(tvb, offset + 188, p_mq_parm->mq_int_enc); + + iSize += dissect_mq_or(tvb, tree, offset, iNbrRecords, iOffsetOR, p_mq_parm); + iSize += dissect_mq_rr(tvb, tree, offset, iNbrRecords, iOffsetRR, p_mq_parm); + } + } + } + return iSize; } -static gint -dissect_mq_xid(tvbuff_t *tvb, proto_tree *tree, gint int_rep, gint offset) +static gint dissect_mq_xid(tvbuff_t *tvb, proto_tree *tree, mq_parm_t *p_mq_parm, gint offset) { - proto_tree *mq_tree = NULL; - proto_item *ti = NULL; - gint iSizeXid = 0; - if (tvb_length_remaining(tvb, offset) >= 6) - { - guint8 iXidLength = 0; - guint8 iBqLength = 0; - iXidLength = tvb_get_guint8(tvb, offset + 4); - iBqLength = tvb_get_guint8(tvb, offset + 5); - iSizeXid = 6 + iXidLength + iBqLength; - - if (tvb_length_remaining(tvb, offset) >= iSizeXid) - { - if (tree) - { - 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, int_rep); - proto_tree_add_item(mq_tree, hf_mq_xa_xid_globalxid_length, tvb, offset + 4, 1, int_rep); - proto_tree_add_item(mq_tree, hf_mq_xa_xid_brq_length, tvb, offset + 5, 1, int_rep); - 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) iSizeXid = 0; - } - else iSizeXid = 0; - } - return iSizeXid; + gint iSizeXid = 0; + if (tvb_length_remaining(tvb, offset) >= 6) + { + guint8 iXidLength = 0; + guint8 iBqLength = 0; + iXidLength = tvb_get_guint8(tvb, offset + 4); + iBqLength = tvb_get_guint8(tvb, offset + 5); + iSizeXid = 6 + iXidLength + iBqLength; + + if (tvb_length_remaining(tvb, offset) >= iSizeXid) + { + if (tree) + { + proto_tree *mq_tree = NULL; + proto_item *ti = NULL; + + 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); + } + iSizeXid += (4 - (iSizeXid % 4)) % 4; /* Pad for alignment with 4 byte word boundary */ + if (tvb_length_remaining(tvb, offset) < iSizeXid) iSizeXid = 0; + } + else iSizeXid = 0; + } + return iSizeXid; } -static void -dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +static gint dissect_mq_sid(tvbuff_t *tvb, proto_tree *tree, mq_parm_t *p_mq_parm, gint offset) +{ + guint8 iSIDL; + guint8 iSID; + guint8 *sid_str; + 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); + offset++; + if (iSIDL>0) + { + iSID=tvb_get_guint8(tvb, offset); + proto_tree_add_item(tree, hf_mq_sidtyp, tvb, offset, 1, p_mq_parm->mq_int_enc); + offset++; + if (iSID==MQ_MQSIDT_NT_SECURITY_ID) + { + offset=dissect_nt_sid(tvb, offset, tree,"SID", (char **)&sid_str,-1); + } + else + { + proto_tree_add_item(tree, hf_mq_securityid, tvb, offset, 40, ENC_NA); + offset+=40; + } + } + return offset-bOffset; +} +static gint dissect_mq_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *mqroot_tree, gint offset, mq_parm_t *p_mq_parm) +{ + guint8 iFAPLvl; + gint iSize; + + iFAPLvl = tvb_get_guint8(tvb, offset + 4); + + if (iFAPLvl<4) + iSize=44; + else if (iFAPLvl<10) + iSize=102; + else + iSize=208; + + if (iSize != 0 && tvb_length_remaining(tvb, offset) >= iSize) + { + guint8 *sChannel; + sChannel = tvb_get_ephemeral_string_enc(tvb, offset + 24, 20, p_mq_parm->mq_str_enc); + col_append_fstr(pinfo->cinfo,COL_INFO, ": FAPLvl=%d",iFAPLvl); + if (strip_trailing_blanks(sChannel, 20) != 0) + { + col_append_fstr(pinfo->cinfo, COL_INFO, ", CHL=%s", sChannel); + } + if (iFAPLvl >= 4) + { + guint8 *sQMgr; + sQMgr = tvb_get_ephemeral_string_enc(tvb, offset + 48, 48, p_mq_parm->mq_str_enc); + if (strip_trailing_blanks(sQMgr,48) != 0) + { + col_append_fstr(pinfo->cinfo, COL_INFO, ", QM=%s", sQMgr); + } + } + if (mqroot_tree) + { + proto_tree *mq_tree_sub = NULL; + proto_item *ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSize, MQ_TEXT_ID); + proto_tree *mq_tree = proto_item_add_subtree(ti, ett_mq_id); + + proto_tree_add_item(mq_tree, hf_mq_id_structid, tvb, offset, 4, p_mq_parm->mq_str_enc); + proto_tree_add_item(mq_tree, hf_mq_id_level, tvb, offset + 4, 1, ENC_BIG_ENDIAN); + + /* ID flags */ + { + guint8 iIDFlags; + + ti = proto_tree_add_item(mq_tree, hf_mq_id_flags, tvb, offset + 5, 1, ENC_BIG_ENDIAN); + mq_tree_sub = proto_item_add_subtree(ti, ett_mq_id_icf); + iIDFlags = tvb_get_guint8(tvb, offset + 5); + + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_runtime, tvb, offset + 5, 1, iIDFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_svrsec, tvb, offset + 5, 1, iIDFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_mqreq, tvb, offset + 5, 1, iIDFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_splitmsg, tvb, offset + 5, 1, iIDFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_convcap, tvb, offset + 5, 1, iIDFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_msgseq, tvb, offset + 5, 1, iIDFlags); + } + + proto_tree_add_item(mq_tree, hf_mq_id_unknown02, tvb, offset + 6, 1, p_mq_parm->mq_int_enc); + + /* Error flags */ + { + guint8 iErrorFlags; + + ti = proto_tree_add_item(mq_tree, hf_mq_id_ieflags, tvb, offset + 7, 1, p_mq_parm->mq_int_enc); + mq_tree_sub = proto_item_add_subtree(ti, ett_mq_id_ief); + iErrorFlags = tvb_get_guint8(tvb, offset + 7); + + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_hbint, tvb, offset + 7, 1, iErrorFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_seqwrap, tvb, offset + 7, 1, iErrorFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_mxmsgpb, tvb, offset + 7, 1, iErrorFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_mxmsgsz, tvb, offset + 7, 1, iErrorFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_fap, tvb, offset + 7, 1, iErrorFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_mxtrsz, tvb, offset + 7, 1, iErrorFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_enc, tvb, offset + 7, 1, iErrorFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_ccsid, tvb, offset + 7, 1, iErrorFlags); + } + + proto_tree_add_item(mq_tree, hf_mq_id_unknown04, 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); + + if (iFAPLvl >= 4) + { + proto_tree_add_item(mq_tree, hf_mq_id_capflags, tvb, offset + 44, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(mq_tree, hf_mq_id_ccsid, tvb, offset + 46, 2, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_qmgrname, tvb, offset + 48, 48, p_mq_parm->mq_str_enc); + proto_tree_add_item(mq_tree, hf_mq_id_HBInterval, tvb, offset + 96, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown06, tvb, offset + 100, 2, p_mq_parm->mq_int_enc); + if (iFAPLvl>=10) + { + proto_tree_add_item(mq_tree, hf_mq_id_unknown07, tvb, offset + 102, 2, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown08, tvb, offset + 104, 2, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown09, tvb, offset + 106, 2, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown10, tvb, offset + 108, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown11, tvb, offset + 112, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown12, tvb, offset + 116, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown13, tvb, offset + 120, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown14, tvb, offset + 124, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown15, tvb, offset + 128, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown16, tvb, offset + 132, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown17, tvb, offset + 136, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown18, tvb, offset + 140, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_unknown19, tvb, offset + 144, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_id_mqmvers, tvb, offset + 148, 12, p_mq_parm->mq_str_enc); + proto_tree_add_item(mq_tree, hf_mq_id_mqmid, tvb, offset + 160, 48, p_mq_parm->mq_str_enc); + } + } + } + } + return iSize; +} +static gint dissect_mq_md(tvbuff_t *tvb, proto_tree *tree, gint offset, struct mq_msg_properties* tMsgProps, mq_parm_t *p_mq_parm, gboolean bDecode) { - proto_tree *mq_tree = NULL; - proto_tree *mqroot_tree = NULL; - proto_item *ti = NULL; - gint offset = 0; - guint32 structId = MQ_STRUCTID_NULL; - guint8 opcode; - guint32 iSegmentLength = 0; - guint32 iSizePayload = 0; - gint iSizeMD_gbl = 0; - gint int_rep = ENC_BIG_ENDIAN; - gint string_rep = ENC_UTF_8|ENC_NA; - gboolean bPayload = FALSE; - gboolean bEBCDIC = FALSE; - gint iDistributionListSize = 0; - struct mq_msg_properties tMsgProps; - - col_set_str(pinfo->cinfo, COL_PROTOCOL, "MQ"); + gint iSize = 0; + + 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_MD || p_mq_parm->mq_strucID == MQ_STRUCTID_MD_EBCDIC) + { + guint32 iVersion = 0; + iVersion = tvb_get_guint32_endian(tvb, offset + 4, p_mq_parm->mq_int_enc); + /* Compute length according to version */ + switch (iVersion) + { + case 1: iSize = 324; break; + case 2: iSize = 364; break; + } + + if (bDecode && iSize != 0 && tvb_length_remaining(tvb, offset) >= iSize) + { + tMsgProps->iOffsetEncoding = offset + 24; + tMsgProps->iOffsetCcsid = offset + 28; + tMsgProps->iOffsetFormat = offset + 32; + if (tree) + { + 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); + proto_tree_add_item(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_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_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_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_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); + } + } + } + } + return iSize; +} +static gint dissect_mq_fopa(tvbuff_t *tvb, proto_tree *tree, gint offset, mq_parm_t *p_mq_parm) +{ + gint iSize = 0; + + 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_FOPA || p_mq_parm->mq_strucID == MQ_STRUCTID_FOPA_EBCDIC) + { + iSize=tvb_get_guint32_endian(tvb, offset+8,p_mq_parm->mq_int_enc); + if (iSize != 0 && tvb_length_remaining(tvb, offset) >= iSize) + { + if (tree) + { + proto_item *ti = proto_tree_add_text(tree, tvb, offset, iSize, MQ_TEXT_FOPA); + 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_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); + if (iSize>28) + { + proto_tree_add_item(mq_tree, hf_mq_fopa_qprotect, tvb, offset + 28, 48, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_fopa_unknown4, tvb, offset + 76, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_fopa_unknown5, tvb, offset + 80, 4, p_mq_parm->mq_int_enc); + } + } + } + } + return iSize; +} +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 iDistributionListSize = 0; + struct mq_msg_properties tMsgProps; + mq_parm_t *p_mq_parm; + /* + guint32 p_mq_parm->mq_int_enc = ENC_BIG_ENDIAN; + guint32 p_mq_parm->mq_str_enc = ENC_UTF_8|ENC_NA; + guint32 mq_encode = 0; + guint16 mq_ccsid = 0; + guint8 p_mq_parm->mq_ctlf = 0; + guint8 p_mq_parm->mq_opcode = 0; + */ - tMsgProps.iOffsetFormat = 0; - if (tvb_length(tvb) >= 4) - { - structId = tvb_get_ntohl(tvb, offset); - if ((structId == MQ_STRUCTID_TSH || structId == MQ_STRUCTID_TSH_EBCDIC - || structId == MQ_STRUCTID_TSHC || structId == MQ_STRUCTID_TSHC_EBCDIC - || structId == MQ_STRUCTID_TSHM || structId == MQ_STRUCTID_TSHM_EBCDIC) - && tvb_length_remaining(tvb, offset) >= 28) - { - /* An MQ packet always starts with this structure*/ - gint iSizeTSH = 28; - gint iSizeMultiplexFields = 0; - guint8 iControlFlags = 0; - if (structId == MQ_STRUCTID_TSH_EBCDIC || structId == MQ_STRUCTID_TSHC_EBCDIC || structId == MQ_STRUCTID_TSHM_EBCDIC) { - bEBCDIC = TRUE; - string_rep = ENC_EBCDIC|ENC_NA; - } - iSegmentLength = tvb_get_ntohl(tvb, offset + 4); - if (structId == MQ_STRUCTID_TSHM || structId == MQ_STRUCTID_TSHM_EBCDIC) - { - if (tvb_length_remaining(tvb, offset) < 36) return; - iSizeMultiplexFields += 8; - iSizeTSH = 36; - } - opcode = tvb_get_guint8(tvb, offset + iSizeMultiplexFields + 9); - int_rep = (tvb_get_guint8(tvb, offset + iSizeMultiplexFields + 8) == MQ_LITTLE_ENDIAN ? ENC_LITTLE_ENDIAN : ENC_BIG_ENDIAN); - iControlFlags = tvb_get_guint8(tvb, offset + iSizeMultiplexFields + 10); - - col_clear(pinfo->cinfo, COL_INFO); - col_append_sep_str(pinfo->cinfo, COL_INFO, " | ", val_to_str_ext(opcode, &mq_opcode_vals_ext, "Unknown (0x%02x)")); - col_set_fence(pinfo->cinfo, COL_INFO); - - if (tree) - { - ti = proto_tree_add_item(tree, proto_mq, tvb, offset, -1, ENC_NA); - proto_item_append_text(ti, " (%s)", val_to_str(opcode, mq_opcode_vals, "Unknown (0x%02x)")); - if (bEBCDIC == TRUE) proto_item_append_text(ti, " (EBCDIC)"); - mqroot_tree = proto_item_add_subtree(ti, ett_mq); - - ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeTSH, MQ_TEXT_TSH); - mq_tree = proto_item_add_subtree(ti, ett_mq_tsh); - - proto_tree_add_item(mq_tree, hf_mq_tsh_structid, tvb, offset + 0, 4, string_rep); - proto_tree_add_item(mq_tree, hf_mq_tsh_packetlength, tvb, offset + 4, 4, ENC_BIG_ENDIAN); - - if (iSizeTSH == 36) - { - proto_tree_add_item(mq_tree, hf_mq_tsh_convid, tvb, offset + 8, 4, ENC_BIG_ENDIAN); - proto_tree_add_item(mq_tree, hf_mq_tsh_requestid, tvb, offset + 12, 4, ENC_BIG_ENDIAN); - } - - proto_tree_add_item(mq_tree, hf_mq_tsh_byteorder, tvb, offset + iSizeMultiplexFields + 8, 1, ENC_BIG_ENDIAN); - - proto_tree_add_item(mq_tree, hf_mq_tsh_opcode, tvb, offset + iSizeMultiplexFields + 9, 1, ENC_BIG_ENDIAN); - - /* Control flags */ - { - proto_tree *mq_tree_sub = NULL; - - ti = proto_tree_add_item(mq_tree, hf_mq_tsh_controlflags, tvb, offset + iSizeMultiplexFields + 10, 1, ENC_BIG_ENDIAN); - mq_tree_sub = proto_item_add_subtree(ti, ett_mq_tsh_tcf); - - proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_dlq, tvb, offset + iSizeMultiplexFields + 10, 1, iControlFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_reqacc, tvb, offset + iSizeMultiplexFields + 10, 1, iControlFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_last, tvb, offset + iSizeMultiplexFields + 10, 1, iControlFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_first, tvb, offset + iSizeMultiplexFields + 10, 1, iControlFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_closechann, tvb, offset + iSizeMultiplexFields + 10, 1, iControlFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_reqclose, tvb, offset + iSizeMultiplexFields + 10, 1, iControlFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_error, tvb, offset + iSizeMultiplexFields + 10, 1, iControlFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_confirmreq, tvb, offset + iSizeMultiplexFields + 10, 1, iControlFlags); - } - - proto_tree_add_item(mq_tree, hf_mq_tsh_reserved, tvb, offset + iSizeMultiplexFields + 11, 1, ENC_BIG_ENDIAN); - proto_tree_add_item(mq_tree, hf_mq_tsh_luwid, tvb, offset + iSizeMultiplexFields + 12, 8, ENC_NA); - proto_tree_add_item(mq_tree, hf_mq_tsh_encoding, tvb, offset + iSizeMultiplexFields + 20, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_tsh_ccsid, tvb, offset + iSizeMultiplexFields + 24, 2, int_rep); - proto_tree_add_item(mq_tree, hf_mq_tsh_padding, tvb, offset + iSizeMultiplexFields + 26, 2, ENC_BIG_ENDIAN); - } - offset += iSizeTSH; - - /* Now dissect the embedded structures */ - if (tvb_length_remaining(tvb, offset) >= 4) - { - structId = tvb_get_ntohl(tvb, offset); - if (((iControlFlags & MQ_TCF_FIRST) != 0) || opcode < 0x80) - { - /* First MQ segment (opcodes below 0x80 never span several TSH) */ - gint iSizeAPI = 16; - if (opcode >= 0x80 && opcode <= 0x9F && tvb_length_remaining(tvb, offset) >= 16) - { - guint32 iReturnCode = 0; - iReturnCode = tvb_get_guint32_endian(tvb, offset + 8, int_rep); - if (iReturnCode != 0) - col_append_fstr(pinfo->cinfo, COL_INFO, " [RC=%d]", iReturnCode); - - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeAPI, MQ_TEXT_API); - mq_tree = proto_item_add_subtree(ti, ett_mq_api); - - proto_tree_add_item(mq_tree, hf_mq_api_replylength, tvb, offset, 4, ENC_BIG_ENDIAN); - proto_tree_add_item(mq_tree, hf_mq_api_completioncode, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_api_reasoncode, tvb, offset + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_api_objecthandle, tvb, offset + 12, 4, int_rep); - } - offset += iSizeAPI; - structId = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; - } - if ((structId == MQ_STRUCTID_MSH || structId == MQ_STRUCTID_MSH_EBCDIC) && tvb_length_remaining(tvb, offset) >= 20) - { - gint iSizeMSH = 20; - iSizePayload = tvb_get_guint32_endian(tvb, offset + 16, int_rep); - bPayload = TRUE; - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeMSH, MQ_TEXT_MSH); - mq_tree = proto_item_add_subtree(ti, ett_mq_msh); - - proto_tree_add_item(mq_tree, hf_mq_msh_structid, tvb, offset + 0, 4, string_rep); - proto_tree_add_item(mq_tree, hf_mq_msh_seqnum, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_msh_datalength, tvb, offset + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_msh_unknown1, tvb, offset + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_msh_msglength, tvb, offset + 16, 4, int_rep); - } - offset += iSizeMSH; - } - else if (opcode == MQ_TST_STATUS && tvb_length_remaining(tvb, offset) >= 8) - { - /* Some status are 28 bytes long and some are 36 bytes long */ - guint32 iStatus = 0; - gint iStatusLength = 0; - iStatus = tvb_get_guint32_endian(tvb, offset + 4, int_rep); - iStatusLength = tvb_get_guint32_endian(tvb, offset, int_rep); - - if (tvb_length_remaining(tvb, offset) >= iStatusLength) - { - if (iStatus != 0) - col_append_fstr(pinfo->cinfo, COL_INFO, ": Code=%s", val_to_str(iStatus, mq_status_vals, "Unknown (0x%08x)")); - - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, 8, MQ_TEXT_STAT); - mq_tree = proto_item_add_subtree(ti, ett_mq_status); - - proto_tree_add_item(mq_tree, hf_mq_status_length, tvb, offset, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_status_code, tvb, offset + 4, 4, int_rep); - - if (iStatusLength >= 12) - proto_tree_add_item(mq_tree, hf_mq_status_value, tvb, offset + 8, 4, int_rep); - } - offset += iStatusLength; - } - } - else if (opcode == MQ_TST_PING && tvb_length_remaining(tvb, offset) > 4) - { - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, MQ_TEXT_PING); - mq_tree = proto_item_add_subtree(ti, ett_mq_ping); - - proto_tree_add_item(mq_tree, hf_mq_ping_length, tvb, offset, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_ping_buffer, tvb, offset + 4, -1, ENC_NA); - } - offset = tvb_length(tvb); - } - else if (opcode == MQ_TST_RESET && tvb_length_remaining(tvb, offset) >= 8) - { - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, MQ_TEXT_RESET); - mq_tree = proto_item_add_subtree(ti, ett_mq_reset); - - proto_tree_add_item(mq_tree, hf_mq_reset_length, tvb, offset, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_reset_seqnum, tvb, offset + 4, 4, int_rep); - } - offset = tvb_length(tvb); - } - else if (opcode == MQ_TST_MQCONN && tvb_length_remaining(tvb, offset) > 0) - { - gint iSizeCONN = 0; - /*iSizeCONN = ((iVersionID == 4 || iVersionID == 6) ? 120 : 112);*/ /* guess */ - /* The iVersionID is available in the previous ID segment, we should keep a state - * Instead we rely on the segment length announced in the TSH */ - /* The MQCONN structure is special because it does not start with a structid */ - iSizeCONN = iSegmentLength - iSizeTSH - iSizeAPI; - if (iSizeCONN != 112 && iSizeCONN != 120) iSizeCONN = 0; - - if (iSizeCONN != 0 && tvb_length_remaining(tvb, offset) >= iSizeCONN) - { - guint8* sApplicationName; - guint8* sQueueManager; - sApplicationName = tvb_get_ephemeral_string_enc(tvb, offset + 48, 28, string_rep); - if (strip_trailing_blanks(sApplicationName, 28) != 0) - { - col_append_fstr(pinfo->cinfo, COL_INFO, ": App=%s", sApplicationName); - } - sQueueManager = tvb_get_ephemeral_string_enc(tvb, offset, 48, string_rep); - if (strip_trailing_blanks(sQueueManager, 48) != 0) - { - col_append_fstr(pinfo->cinfo, COL_INFO, " QM=%s", sQueueManager); - } - - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeCONN, MQ_TEXT_CONN); - mq_tree = proto_item_add_subtree(ti, ett_mq_conn); - - proto_tree_add_item(mq_tree, hf_mq_conn_queuemanager, tvb, offset, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_conn_appname, tvb, offset + 48, 28, string_rep); - proto_tree_add_item(mq_tree, hf_mq_conn_apptype, tvb, offset + 76, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_conn_acttoken, tvb, offset + 80, 32, ENC_NA); - - if (iSizeCONN >= 120) - { - proto_tree_add_item(mq_tree, hf_mq_conn_version, tvb, offset + 112, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_conn_options, tvb, offset + 116, 4, int_rep); - } - } - offset += iSizeCONN; - } - } - else if ((opcode == MQ_TST_MQINQ || opcode == MQ_TST_MQINQ_REPLY || opcode == MQ_TST_MQSET) && tvb_length_remaining(tvb, offset) >= 12) - { - /* The MQINQ/MQSET structure is special because it does not start with a structid */ - gint iNbSelectors = 0; - gint iNbIntegers = 0; - gint iCharLen = 0; - gint iOffsetINQ = 0; - gint iSelector = 0; - - iNbSelectors = tvb_get_guint32_endian(tvb, offset, int_rep); - iNbIntegers = tvb_get_guint32_endian(tvb, offset + 4, int_rep); - iCharLen = tvb_get_guint32_endian(tvb, offset + 8, int_rep); - - if (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, int_rep); - proto_tree_add_item(mq_tree, hf_mq_inq_nbint, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_inq_charlen, tvb, offset + 8, 4, int_rep); - } - iOffsetINQ = 12; - if (tvb_length_remaining(tvb, offset + iOffsetINQ) >= iNbSelectors * 4) - { - if (tree) - { - for (iSelector = 0; iSelector < iNbSelectors; iSelector++) - { - proto_tree_add_item(mq_tree, hf_mq_inq_sel, tvb, offset + iOffsetINQ + iSelector * 4, 4, int_rep); - } - } - iOffsetINQ += iNbSelectors * 4; - if (opcode == MQ_TST_MQINQ_REPLY || opcode == MQ_TST_MQSET) - { - gint iSizeINQValues = 0; - iSizeINQValues = iNbIntegers * 4 + iCharLen; - if (tvb_length_remaining(tvb, offset + iOffsetINQ) >= iSizeINQValues) - { - gint iInteger = 0; - if (tree) - { - for (iInteger = 0; iInteger < iNbIntegers; iInteger++) - { - proto_tree_add_item(mq_tree, hf_mq_inq_intvalue, tvb, offset + iOffsetINQ + iInteger * 4, 4, int_rep); - } - } - iOffsetINQ += iNbIntegers * 4; - if (iCharLen != 0) - { - if (tree) - { - proto_tree_add_item(mq_tree, hf_mq_inq_charvalues, tvb, offset + iOffsetINQ, iCharLen, string_rep); - } - } - } - } - } - offset += tvb_length(tvb); - } - else if ((opcode == MQ_TST_SPI || opcode == MQ_TST_SPI_REPLY) && tvb_length_remaining(tvb, offset) >= 12) - { - gint iOffsetSPI = 0; - guint32 iSpiVerb = 0; - - iSpiVerb = tvb_get_guint32_endian(tvb, offset, int_rep); - col_append_fstr(pinfo->cinfo, COL_INFO, " (%s)", val_to_str(iSpiVerb, mq_spi_verbs_vals, "Unknown (0x%08x)")); - - if (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, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_length, tvb, offset + 8, 4, int_rep); - } - - offset += 12; - structId = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; - if ((structId == MQ_STRUCTID_SPQU || structId == MQ_STRUCTID_SPAU_EBCDIC - || structId == MQ_STRUCTID_SPPU || structId == MQ_STRUCTID_SPPU_EBCDIC - || structId == MQ_STRUCTID_SPGU || structId == MQ_STRUCTID_SPGU_EBCDIC - || structId == MQ_STRUCTID_SPAU || structId == MQ_STRUCTID_SPAU_EBCDIC) - && tvb_length_remaining(tvb, offset) >= 12) - { - gint iSizeSPIMD = 0; - if (tree) - { - guint8* sStructId; - sStructId = tvb_get_ephemeral_string(tvb, offset, 4); - ti = proto_tree_add_text(mqroot_tree, tvb, offset, 12, "%s", sStructId); - 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, string_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_base_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_base_length, tvb, offset + 8, 4, int_rep); - } - offset += 12; - structId = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; - - if ((iSizeSPIMD = dissect_mq_md(tvb, mqroot_tree, int_rep, string_rep, offset, &tMsgProps)) != 0) - { - gint iSizeGMO = 0; - gint iSizePMO = 0; - offset += iSizeSPIMD; - - if ((iSizeGMO = dissect_mq_gmo(tvb, pinfo, mqroot_tree, int_rep, string_rep, offset)) != 0) - { - offset += iSizeGMO; - } - else if ((iSizePMO = dissect_mq_pmo(tvb, pinfo, mqroot_tree, int_rep, string_rep, offset, &iDistributionListSize)) != 0) - { - offset += iSizePMO; - } - structId = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; - } - - if ((structId == MQ_STRUCTID_SPQO || structId == MQ_STRUCTID_SPQO_EBCDIC - || structId == MQ_STRUCTID_SPQI || structId == MQ_STRUCTID_SPQI_EBCDIC - || structId == MQ_STRUCTID_SPPO || structId == MQ_STRUCTID_SPPO_EBCDIC - || structId == MQ_STRUCTID_SPPI || structId == MQ_STRUCTID_SPPI_EBCDIC - || structId == MQ_STRUCTID_SPGO || structId == MQ_STRUCTID_SPGO_EBCDIC - || structId == MQ_STRUCTID_SPGI || structId == MQ_STRUCTID_SPGI_EBCDIC - || structId == MQ_STRUCTID_SPAO || structId == MQ_STRUCTID_SPAO_EBCDIC - || structId == MQ_STRUCTID_SPAI || structId == MQ_STRUCTID_SPAI_EBCDIC) - && tvb_length_remaining(tvb, offset) >= 12) - { - if (tree) - { - /* Dissect the common part of these structures */ - guint8* sStructId; - sStructId = tvb_get_ephemeral_string(tvb, offset, 4); - ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, "%s", sStructId); - 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, string_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_base_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_base_length, tvb, offset + 8, 4, int_rep); - } - - if (structId == MQ_STRUCTID_SPQO && tvb_length_remaining(tvb, offset) >= 16) - { - if (tree) - { - gint iVerbNumber = 0; - proto_tree_add_item(mq_tree, hf_mq_spi_spqo_nbverb, tvb, offset + 12, 4, int_rep); - iVerbNumber = tvb_get_guint32_endian(tvb, offset + 12, int_rep); - - if (tvb_length_remaining(tvb, offset) >= iVerbNumber * 20 + 16) - { - gint iVerb = 0; - iOffsetSPI = offset + 16; - for (iVerb = 0; iVerb < iVerbNumber; iVerb++) - { - proto_tree_add_item(mq_tree, hf_mq_spi_spqo_verbid, tvb, iOffsetSPI, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_spqo_maxinoutversion, tvb, iOffsetSPI + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_spqo_maxinversion, tvb, iOffsetSPI + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_spqo_maxoutversion, tvb, iOffsetSPI + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_spqo_flags, tvb, iOffsetSPI + 16, 4, int_rep); - iOffsetSPI += 20; - } - offset += iVerbNumber * 20 + 16; - } - } - } - else if (structId == MQ_STRUCTID_SPAI && tvb_length_remaining(tvb, offset) >= 136) - { - if (tree) - { - proto_tree_add_item(mq_tree, hf_mq_spi_spai_mode, tvb, offset + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_spai_unknown1, tvb, offset + 16, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_spai_unknown2, tvb, offset + 64, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_spai_msgid, tvb, offset + 112, 24, string_rep); - } - offset += 136; - } - else if (structId == MQ_STRUCTID_SPGI && tvb_length_remaining(tvb, offset) >= 24) - { - if (tree) - { - proto_tree_add_item(mq_tree, hf_mq_spi_spgi_batchsize, tvb, offset + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_spgi_batchint, tvb, offset + 16, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_spi_spgi_maxmsgsize, tvb, offset + 20, 4, int_rep); - } - offset += 24; - } - else if ((structId == MQ_STRUCTID_SPGO || structId == MQ_STRUCTID_SPPI) && tvb_length_remaining(tvb, offset) >= 20) - { - if (tree) - { - /* Options flags */ - { - proto_tree *mq_tree_sub = NULL; - gint iOptionsFlags; - - ti = proto_tree_add_item(mq_tree, hf_mq_spi_spgo_options, tvb, offset + 12, 4, int_rep); - mq_tree_sub = proto_item_add_subtree(ti, ett_mq_spi_options); - iOptionsFlags = tvb_get_guint32_endian(tvb, offset + 12, int_rep); - - proto_tree_add_boolean(mq_tree_sub, hf_mq_spi_options_deferred, tvb, offset + 12, 4, iOptionsFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_spi_options_syncpoint, tvb, offset + 12, 4, iOptionsFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_spi_options_blank, tvb, offset + 12, 4, iOptionsFlags); - } - proto_tree_add_item(mq_tree, hf_mq_spi_spgo_size, tvb, offset + 16, 4, int_rep); - } - iSizePayload = tvb_get_guint32_endian(tvb, offset + 16, int_rep); - offset += 20; - bPayload = TRUE; - } - else - { - offset += 12; - } - structId = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; - } - } - } - else if ((opcode >= 0xA0 && opcode <= 0xB9) && tvb_length_remaining(tvb, offset) >= 16) - { - /* The XA structures are special because they do not start with a structid */ - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, 16, "%s (%s)", MQ_TEXT_XA, - val_to_str(opcode, mq_opcode_vals, "Unknown (0x%02x)")); - mq_tree = proto_item_add_subtree(ti, ett_mq_xa); - - proto_tree_add_item(mq_tree, hf_mq_xa_length, tvb, offset, 4, ENC_BIG_ENDIAN); - proto_tree_add_item(mq_tree, hf_mq_xa_returnvalue, tvb, offset + 4, 4, int_rep); - - /* Transaction Manager flags */ - { - proto_tree *mq_tree_sub = NULL; - guint32 iTMFlags; - - ti = proto_tree_add_item(mq_tree, hf_mq_xa_tmflags, tvb, offset + 8, 4, int_rep); - mq_tree_sub = proto_item_add_subtree(ti, ett_mq_xa_tmflags); - iTMFlags = tvb_get_guint32_endian(tvb, offset + 8, int_rep); - - proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_onephase, tvb, offset + 8, 4, iTMFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_fail, tvb, offset + 8, 4, iTMFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_resume, tvb, offset + 8, 4, iTMFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_success, tvb, offset + 8, 4, iTMFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_suspend, tvb, offset + 8, 4, iTMFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_startrscan, tvb, offset + 8, 4, iTMFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_endrscan, tvb, offset + 8, 4, iTMFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_join, tvb, offset + 8, 4, iTMFlags); - } - - proto_tree_add_item(mq_tree, hf_mq_xa_rmid, tvb, offset + 12, 4, int_rep); - } - offset += 16; - if (opcode == MQ_TST_XA_START || opcode == MQ_TST_XA_END || opcode == MQ_TST_XA_PREPARE - || opcode == MQ_TST_XA_COMMIT || opcode == MQ_TST_XA_ROLLBACK || opcode == MQ_TST_XA_FORGET - || opcode == MQ_TST_XA_COMPLETE) - { - gint iSizeXid = 0; - if ((iSizeXid = dissect_mq_xid(tvb, mqroot_tree, int_rep, offset)) != 0) - offset += iSizeXid; - } - else if ((opcode == MQ_TST_XA_OPEN || opcode == MQ_TST_XA_CLOSE) - && tvb_length_remaining(tvb, offset) >= 1) - { - guint8 iXAInfoLength = 0; - iXAInfoLength = tvb_get_guint8(tvb, offset); - if (tvb_length_remaining(tvb, offset) >= iXAInfoLength + 1) - { - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, iXAInfoLength + 1, MQ_TEXT_XINF); - 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, string_rep); - } - } - offset += 1 + iXAInfoLength; - } - else if ((opcode == MQ_TST_XA_RECOVER || opcode == MQ_TST_XA_RECOVER_REPLY) - && tvb_length_remaining(tvb, offset) >= 4) - { - gint iNbXid = 0; - iNbXid = tvb_get_guint32_endian(tvb, offset, int_rep); - if (tree) - { - proto_tree_add_item(mq_tree, hf_mq_xa_count, tvb, offset, 4, int_rep); - } - offset += 4; - if (opcode == MQ_TST_XA_RECOVER_REPLY) - { - gint iXid = 0; - for (iXid = 0; iXid < iNbXid; iXid++) - { - gint iSizeXid = 0; - if ((iSizeXid = dissect_mq_xid(tvb, mqroot_tree, int_rep, offset)) != 0) - offset += iSizeXid; - else - break; - } - } - } - } - else if ((structId == MQ_STRUCTID_ID || structId == MQ_STRUCTID_ID_EBCDIC) && tvb_length_remaining(tvb, offset) >= 5) - { - guint8 iVersionID = 0; - gint iSizeID = 0; - iVersionID = tvb_get_guint8(tvb, offset + 4); - iSizeID = (iVersionID < 4 ? 44 : 104); /* guess */ - /* actually 102 but must be aligned to multiple of 4 */ - - if (iSizeID != 0 && tvb_length_remaining(tvb, offset) >= iSizeID) - { - guint8* sChannel; - sChannel = tvb_get_ephemeral_string_enc(tvb, offset + 24, 20, string_rep); - if (strip_trailing_blanks(sChannel, 20) != 0) - { - col_append_fstr(pinfo->cinfo, COL_INFO, ": CHL=%s", sChannel); - } - - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeID, MQ_TEXT_ID); - mq_tree = proto_item_add_subtree(ti, ett_mq_id); - - proto_tree_add_item(mq_tree, hf_mq_id_structid, tvb, offset, 4, string_rep); - proto_tree_add_item(mq_tree, hf_mq_id_level, tvb, offset + 4, 1, ENC_BIG_ENDIAN); - - /* ID flags */ - { - proto_tree *mq_tree_sub = NULL; - guint8 iIDFlags; - - ti = proto_tree_add_item(mq_tree, hf_mq_id_flags, tvb, offset + 5, 1, ENC_BIG_ENDIAN); - mq_tree_sub = proto_item_add_subtree(ti, ett_mq_id_icf); - iIDFlags = tvb_get_guint8(tvb, offset + 5); - - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_runtime, tvb, offset + 5, 1, iIDFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_svrsec, tvb, offset + 5, 1, iIDFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_mqreq, tvb, offset + 5, 1, iIDFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_splitmsg, tvb, offset + 5, 1, iIDFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_convcap, tvb, offset + 5, 1, iIDFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_icf_msgseq, tvb, offset + 5, 1, iIDFlags); - } - - proto_tree_add_item(mq_tree, hf_mq_id_unknown2, tvb, offset + 6, 1, ENC_BIG_ENDIAN); - - /* Error flags */ - { - proto_tree *mq_tree_sub = NULL; - guint8 iErrorFlags; - - ti = proto_tree_add_item(mq_tree, hf_mq_id_ieflags, tvb, offset + 7, 1, ENC_BIG_ENDIAN); - mq_tree_sub = proto_item_add_subtree(ti, ett_mq_id_ief); - iErrorFlags = tvb_get_guint8(tvb, offset + 7); - - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_hbint, tvb, offset + 7, 1, iErrorFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_seqwrap, tvb, offset + 7, 1, iErrorFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_mxmsgpb, tvb, offset + 7, 1, iErrorFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_mxmsgsz, tvb, offset + 7, 1, iErrorFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_fap, tvb, offset + 7, 1, iErrorFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_mxtrsz, tvb, offset + 7, 1, iErrorFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_enc, tvb, offset + 7, 1, iErrorFlags); - proto_tree_add_boolean(mq_tree_sub, hf_mq_id_ief_ccsid, tvb, offset + 7, 1, iErrorFlags); - } - - proto_tree_add_item(mq_tree, hf_mq_id_unknown4, tvb, offset + 8, 2, ENC_BIG_ENDIAN); - proto_tree_add_item(mq_tree, hf_mq_id_maxmsgperbatch, tvb, offset + 10, 2, int_rep); - proto_tree_add_item(mq_tree, hf_mq_id_maxtransmissionsize, tvb, offset + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_id_maxmsgsize, tvb, offset + 16, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_id_sequencewrapvalue, tvb, offset + 20, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_id_channel, tvb, offset + 24, 20, string_rep); - } - - if (iVersionID >= 4) - { - guint8* sQueueManager; - sQueueManager = tvb_get_ephemeral_string_enc(tvb, offset + 48, 48, string_rep); - if (strip_trailing_blanks(sQueueManager,48) != 0) - { - col_append_fstr(pinfo->cinfo, COL_INFO, " QM=%s", sQueueManager); - } - - if (tree) - { - proto_tree_add_item(mq_tree, hf_mq_id_capflags, tvb, offset + 44, 1, ENC_BIG_ENDIAN); - proto_tree_add_item(mq_tree, hf_mq_id_unknown5, tvb, offset + 45, 1, ENC_BIG_ENDIAN); - proto_tree_add_item(mq_tree, hf_mq_id_ccsid, tvb, offset + 46, 2, int_rep); - proto_tree_add_item(mq_tree, hf_mq_id_queuemanager, tvb, offset + 48, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_id_heartbeatinterval, tvb, offset + 96, 4, int_rep); - } - - } - offset += iSizeID; - } - } - else if ((structId == MQ_STRUCTID_UID || structId == MQ_STRUCTID_UID_EBCDIC) && tvb_length_remaining(tvb, offset) > 0) - { - gint iSizeUID = 0; - /* iSizeUID = (iVersionID < 5 ? 28 : 132); guess */ - /* The iVersionID is available in the previous ID segment, we should keep a state * - * Instead we rely on the segment length announced in the TSH */ - iSizeUID = iSegmentLength - iSizeTSH; - if (iSizeUID != 28 && iSizeUID != 132) iSizeUID = 0; - - if (iSizeUID != 0 && tvb_length_remaining(tvb, offset) >= iSizeUID) - { - guint8* sUserId; - sUserId = tvb_get_ephemeral_string_enc(tvb, offset + 4, 12, string_rep); - if (strip_trailing_blanks(sUserId, 12) != 0) - { - col_append_fstr(pinfo->cinfo, COL_INFO, ": User=%s", sUserId); - } - - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeUID, MQ_TEXT_UID); - mq_tree = proto_item_add_subtree(ti, ett_mq_uid); - - proto_tree_add_item(mq_tree, hf_mq_uid_structid, tvb, offset, 4, string_rep); - proto_tree_add_item(mq_tree, hf_mq_uid_userid, tvb, offset + 4, 12, string_rep); - proto_tree_add_item(mq_tree, hf_mq_uid_password, tvb, offset + 16, 12, string_rep); - } - - if (iSizeUID == 132) - { - if (tree) - { - proto_tree_add_item(mq_tree, hf_mq_uid_longuserid, tvb, offset + 28, 64, string_rep); - proto_tree_add_item(mq_tree, hf_mq_uid_securityid, tvb, offset + 92, 40, ENC_NA); - } - } - offset += iSizeUID; - } - } - if ((structId == MQ_STRUCTID_OD || structId == MQ_STRUCTID_OD_EBCDIC) && tvb_length_remaining(tvb, offset) >= 8) - { - /* The OD struct can be present in several messages at different levels */ - gint iSizeOD = 0; - guint32 iVersionOD = 0; - iVersionOD = tvb_get_guint32_endian(tvb, offset + 4, int_rep); - /* Compute length according to version */ - switch (iVersionOD) - { - case 1: iSizeOD = 168; break; - case 2: iSizeOD = 200; break; - case 3: iSizeOD = 336; break; - } - - if (iSizeOD != 0 && tvb_length_remaining(tvb, offset) >= iSizeOD) - { - gint iNbrRecords = 0; - guint8* sQueue; - if (iVersionOD >= 2) - iNbrRecords = tvb_get_guint32_endian(tvb, offset + 168, int_rep); - - sQueue = tvb_get_ephemeral_string_enc(tvb, offset + 12, 48, string_rep); - if (strip_trailing_blanks(sQueue,48) != 0) - { - col_append_fstr(pinfo->cinfo, COL_INFO, " Obj=%s", sQueue); - } - - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeOD, 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, string_rep); - proto_tree_add_item(mq_tree, hf_mq_od_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_od_objecttype, tvb, offset + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_od_objectname, tvb, offset + 12, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_od_objectqmgrname, tvb, offset + 60, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_od_dynamicqname, tvb, offset + 108, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_od_alternateuserid, tvb, offset + 156, 12, string_rep); - - if (iVersionOD >= 2) - { - proto_tree_add_item(mq_tree, hf_mq_od_recspresent, tvb, offset + 168, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_od_knowndestcount, tvb, offset + 172, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_od_unknowndestcount, tvb, offset + 176, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_od_invaliddestcount, tvb, offset + 180, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_od_objectrecoffset, tvb, offset + 184, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_od_responserecoffset, tvb, offset + 188, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_od_objectrecptr, tvb, offset + 192, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_od_responserecptr, tvb, offset + 196, 4, int_rep); - } - - if (iVersionOD >= 3) - { - proto_tree_add_item(mq_tree, hf_mq_od_alternatesecurityid, tvb, offset + 200, 40, string_rep); - proto_tree_add_item(mq_tree, hf_mq_od_resolvedqname, tvb, offset + 240, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_od_resolvedqmgrname, tvb, offset + 288, 48, string_rep); - } - - } - offset += iSizeOD; - - if (iNbrRecords > 0) - { - gint iOffsetOR = 0; - gint iOffsetRR = 0; - gint iSizeORRR = 0; - - iDistributionListSize = iNbrRecords; - iOffsetOR = tvb_get_guint32_endian(tvb, offset - iSizeOD + 184, int_rep); - iOffsetRR = tvb_get_guint32_endian(tvb, offset - iSizeOD + 188, int_rep); - if ((iSizeORRR = dissect_mq_or(tvb, mqroot_tree, string_rep, offset, iNbrRecords, iOffsetOR)) != 0) - offset += iSizeORRR; - if ((iSizeORRR = dissect_mq_rr(tvb, mqroot_tree, int_rep, offset, iNbrRecords, iOffsetRR)) != 0) - offset += iSizeORRR; - } - } - } - if ((opcode == MQ_TST_MQOPEN || opcode == MQ_TST_MQCLOSE - || opcode == MQ_TST_MQOPEN_REPLY || opcode == MQ_TST_MQCLOSE_REPLY) - && tvb_length_remaining(tvb, offset) >= 4) - { - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, 4, MQ_TEXT_OPEN); - mq_tree = proto_item_add_subtree(ti, ett_mq_open); - proto_tree_add_item(mq_tree, hf_mq_open_options, tvb, offset, 4, int_rep); - } - offset += 4; - } - if ((iSizeMD_gbl = dissect_mq_md(tvb, mqroot_tree, int_rep, string_rep, offset, &tMsgProps)) != 0) - { - gint iSizeGMO = 0; - gint iSizePMO = 0; - offset += iSizeMD_gbl; - - if ((iSizeGMO = dissect_mq_gmo(tvb, pinfo, mqroot_tree, int_rep, string_rep, offset)) != 0) - { - offset += iSizeGMO; - bPayload = TRUE; - } - else if ((iSizePMO = dissect_mq_pmo(tvb, pinfo, mqroot_tree, int_rep, string_rep, offset, &iDistributionListSize)) != 0) - { - offset += iSizePMO; - bPayload = TRUE; - } - if (tvb_length_remaining(tvb, offset) >= 4) - { - if (bPayload == TRUE) - { - iSizePayload = tvb_get_guint32_endian(tvb, offset, int_rep); - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, 4, MQ_TEXT_PUT); - mq_tree = proto_item_add_subtree(ti, ett_mq_put); - proto_tree_add_item(mq_tree, hf_mq_put_length, tvb, offset, 4, int_rep); - } - offset += 4; - } - } - } - if (iDistributionListSize > 0) - { - col_append_fstr(pinfo->cinfo, COL_INFO, " (Distribution List, Size=%d)", iDistributionListSize); - } - if (bPayload == TRUE) - { - if (iSizePayload != 0 && tvb_length_remaining(tvb, offset) > 0) - { - /* For the following header structures, each structure has a "format" field - which announces the type of the following structure. For dissection we - do not use it and rely on the structid instead. */ - guint32 iHeadersLength = 0; - if (tvb_length_remaining(tvb, offset) >= 4) - { - gint iSizeMD = 0; - structId = tvb_get_ntohl(tvb, offset); - - if ((structId == MQ_STRUCTID_XQH || structId == MQ_STRUCTID_XQH_EBCDIC) && tvb_length_remaining(tvb, offset) >= 104) - { - /* if MD.format == MQXMIT */ - gint iSizeXQH = 104; - if (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, string_rep); - proto_tree_add_item(mq_tree, hf_mq_xqh_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_xqh_remoteq, tvb, offset + 8, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_xqh_remoteqmgr, tvb, offset + 56, 48, string_rep); - } - offset += iSizeXQH; - iHeadersLength += iSizeXQH; - - if ((iSizeMD = dissect_mq_md(tvb, mqroot_tree, int_rep, string_rep, offset, &tMsgProps)) != 0) - { - offset += iSizeMD; - iHeadersLength += iSizeMD; - } - - structId = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; - } - if ((structId == MQ_STRUCTID_DH || structId == 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, int_rep); - iRecFlags = tvb_get_guint32_endian(tvb, offset + 32, int_rep); - tMsgProps.iOffsetEncoding = offset + 12; - tMsgProps.iOffsetCcsid = offset + 16; - tMsgProps.iOffsetFormat = offset + 20; - - 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, string_rep); - proto_tree_add_item(mq_tree, hf_mq_head_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_length, tvb, offset + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_encoding, tvb, offset + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_ccsid, tvb, offset + 16, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_format, tvb, offset + 20, 8, string_rep); - proto_tree_add_item(mq_tree, hf_mq_head_flags, tvb, offset + 28, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_dh_putmsgrecfields, tvb, offset + 32, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_dh_recspresent, tvb, offset + 36, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_dh_objectrecoffset , tvb, offset + 40, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_dh_putmsgrecoffset, tvb, offset + 44, 4, int_rep); - } - 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, int_rep); - iOffsetPMR = tvb_get_guint32_endian(tvb, offset - iSizeDH + 44, int_rep); - if ((iSizeORPMR = dissect_mq_or(tvb, mqroot_tree, string_rep, offset, iNbrRecords, iOffsetOR)) != 0) - { - offset += iSizeORPMR; - iHeadersLength += iSizeORPMR; - } - if ((iSizeORPMR = dissect_mq_pmr(tvb, mqroot_tree, int_rep, offset, iNbrRecords, iOffsetPMR, iRecFlags)) != 0) - { - offset += iSizeORPMR; - iHeadersLength += iSizeORPMR; - } - } - - structId = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; - } - if ((structId == MQ_STRUCTID_DLH || structId == MQ_STRUCTID_DLH_EBCDIC) && tvb_length_remaining(tvb, offset) >= 172) - { - /* if MD.format == MQDEAD */ - gint iSizeDLH = 172; - tMsgProps.iOffsetEncoding = offset + 108; - tMsgProps.iOffsetCcsid = offset + 112; - tMsgProps.iOffsetFormat = offset + 116; - if (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, string_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_reason, tvb, offset + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_destq, tvb, offset + 12, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_destqmgr, tvb, offset + 60, 48, string_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_encoding, tvb, offset + 108, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_ccsid, tvb, offset + 112, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_format, tvb, offset + 116, 8, string_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_putappltype, tvb, offset + 124, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_putapplname, tvb, offset + 128, 28, string_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_putdate, tvb, offset + 156, 8, string_rep); - proto_tree_add_item(mq_tree, hf_mq_dlh_puttime, tvb, offset + 164, 8, string_rep); - } - offset += iSizeDLH; - iHeadersLength += iSizeDLH; - structId = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; - } - if ((structId == MQ_STRUCTID_MDE || structId == MQ_STRUCTID_MDE_EBCDIC) && tvb_length_remaining(tvb, offset) >= 72) - { - /* if MD.format == MQHMDE */ - gint iSizeMDE = 72; - tMsgProps.iOffsetEncoding = offset + 12; - tMsgProps.iOffsetCcsid = offset + 16; - tMsgProps.iOffsetFormat = 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, string_rep); - proto_tree_add_item(mq_tree, hf_mq_head_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_length, tvb, offset + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_encoding, tvb, offset + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_ccsid, tvb, offset + 16, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_format, tvb, offset + 20, 8, string_rep); - proto_tree_add_item(mq_tree, hf_mq_head_flags, tvb, offset + 28, 4, int_rep); - 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, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_offset, tvb, offset + 60, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_msgflags, tvb, offset + 64, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_md_originallength, tvb, offset + 68, 4, int_rep); - } - offset += iSizeMDE; - iHeadersLength += iSizeMDE; - structId = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; - } - if ((structId == MQ_STRUCTID_CIH || structId == MQ_STRUCTID_CIH_EBCDIC - || structId == MQ_STRUCTID_IIH || structId == MQ_STRUCTID_IIH_EBCDIC - || structId == MQ_STRUCTID_RFH || structId == MQ_STRUCTID_RFH_EBCDIC - || structId == MQ_STRUCTID_RMH || structId == MQ_STRUCTID_RMH_EBCDIC - || structId == MQ_STRUCTID_WIH || structId == MQ_STRUCTID_WIH_EBCDIC) - && tvb_length_remaining(tvb, offset) >= 12) - { - /* Dissect the generic part of the other pre-defined headers */ - /* We assume that only one such header is present */ - gint iSizeHeader = 0; - iSizeHeader = (gint) tvb_get_guint32_endian(tvb, offset + 8, int_rep); - /* XXX - 32 is inferred from the code below. What's the - * correct minimum? */ - if (iSizeHeader <= 32) - THROW(ReportedBoundsError); - - if (tvb_length_remaining(tvb, offset) >= iSizeHeader) - { - tMsgProps.iOffsetEncoding = offset + 12; - tMsgProps.iOffsetCcsid = offset + 16; - tMsgProps.iOffsetFormat = offset + 20; - if (tree) - { - ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeHeader, "%s", val_to_str(structId, 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, string_rep); - proto_tree_add_item(mq_tree, hf_mq_head_version, tvb, offset + 4, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_length, tvb, offset + 8, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_encoding, tvb, offset + 12, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_ccsid, tvb, offset + 16, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_format, tvb, offset + 20, 8, string_rep); - proto_tree_add_item(mq_tree, hf_mq_head_flags, tvb, offset + 28, 4, int_rep); - proto_tree_add_item(mq_tree, hf_mq_head_struct, tvb, offset + 32, iSizeHeader - 32, ENC_NA); - - } - offset += iSizeHeader; - iHeadersLength += iSizeHeader; - } - } - } - - if (tMsgProps.iOffsetFormat != 0) - { - guint8* sFormat = NULL; - sFormat = tvb_get_ephemeral_string_enc(tvb, tMsgProps.iOffsetFormat, 8, string_rep); - if (strip_trailing_blanks(sFormat, 8) == 0) - sFormat = (guint8*)wmem_strdup(wmem_packet_scope(), "MQNONE"); - - col_append_fstr(pinfo->cinfo, COL_INFO, " Fmt=%s", sFormat); - if (tree) - { - proto_item *hidden_item; - hidden_item = proto_tree_add_string(tree, hf_mq_md_hidden_lastformat, tvb, tMsgProps.iOffsetFormat, 8, (const char*)sFormat); - PROTO_ITEM_SET_HIDDEN(hidden_item); - } - } - col_append_fstr(pinfo->cinfo, COL_INFO, " (%d bytes)", iSizePayload - iHeadersLength); - - { - /* Call subdissector for the payload */ - tvbuff_t* next_tvb = NULL; - void* pd_save; - struct mqinfo mqinfo; - /* Format, encoding and character set are "data type" information, not subprotocol information */ - mqinfo.encoding = tvb_get_guint32_endian(tvb, tMsgProps.iOffsetEncoding, int_rep); - mqinfo.ccsid = tvb_get_guint32_endian(tvb, tMsgProps.iOffsetCcsid, int_rep); - tvb_memcpy(tvb, mqinfo.format, tMsgProps.iOffsetFormat, 8); - pd_save = pinfo->private_data; - pinfo->private_data = &mqinfo; - next_tvb = tvb_new_subset_remaining(tvb, offset); - if (!dissector_try_heuristic(mq_heur_subdissector_list, next_tvb, pinfo, tree, NULL)) - call_dissector(data_handle, next_tvb, pinfo, tree); - pinfo->private_data = pd_save; - } - } - offset = tvb_length(tvb); - } - /* After all recognised structures have been dissected, process remaining structure*/ - if (tvb_length_remaining(tvb, offset) >= 4) - { - structId = tvb_get_ntohl(tvb, offset); - if (tree) - { - proto_tree_add_text(mqroot_tree, tvb, offset, -1, "%s", val_to_str(structId, mq_structid_vals, "Unknown (0x%08x)")); - } - } - } - else - { - /* This is a MQ segment continuation (if MQ reassembly is not enabled) */ - col_append_str(pinfo->cinfo, COL_INFO, " [Unreassembled MQ]"); - call_dissector(data_handle, tvb_new_subset_remaining(tvb, offset), pinfo, tree); - } - } - } - else - { - /* This packet is a TCP continuation of a segment (if desegmentation is not enabled) */ - col_append_str(pinfo->cinfo, COL_INFO, " [Undesegmented]"); - if (tree) - { - proto_tree_add_item(tree, proto_mq, tvb, offset, -1, ENC_NA); - } - call_dissector(data_handle, tvb_new_subset_remaining(tvb, offset), pinfo, tree); - } - } + p_mq_parm = wmem_new0(wmem_packet_scope(), mq_parm_t); + + p_mq_parm->mq_strucID = MQ_STRUCTID_NULL; + p_mq_parm->mq_int_enc = ENC_BIG_ENDIAN; + p_mq_parm->mq_str_enc = ENC_UTF_8|ENC_NA; + p_mq_parm->mq_encode = 0; + p_mq_parm->mq_ccsid = 0; + p_mq_parm->mq_ctlf = 0; + p_mq_parm->mq_opcode = 0; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "MQ"); + + tMsgProps.iOffsetFormat = 0; + if (tvb_length(tvb) >= 4) + { + p_mq_parm->mq_strucID = tvb_get_ntohl(tvb, offset); + if (((p_mq_parm->mq_strucID & MQ_MASK_TSHx)==MQ_STRUCTID_TSHx || + (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 *mqroot_tree = NULL; + proto_item *ti = NULL; + + /* An MQ packet always starts with this structure*/ + gint iSizeTSH = 28; + gint iSizeMultiplexFields = 0; + + if ((p_mq_parm->mq_strucID & MQ_MASK_TSHx)==MQ_STRUCTID_TSHx_EBCDIC) + { + bEBCDIC = TRUE; + p_mq_parm->mq_str_enc = ENC_EBCDIC|ENC_NA; + } + + iSegmentLength = tvb_get_ntohl(tvb, offset + 4); + + if (p_mq_parm->mq_strucID == MQ_STRUCTID_TSHM || p_mq_parm->mq_strucID == MQ_STRUCTID_TSHM_EBCDIC) + { + if (tvb_length_remaining(tvb, offset) < 36) return; + iSizeMultiplexFields += 8; + iSizeTSH = 36; + } + p_mq_parm->mq_opcode = tvb_get_guint8(tvb, offset + iSizeMultiplexFields + 9); + + if (p_mq_parm->mq_opcode == MQ_TST_REQUEST_MSGS || p_mq_parm->mq_opcode == MQ_TST_ASYNC_MESSAGE) + { + tMsgProps.iOffsetEncoding = offset + iSizeMultiplexFields + 20; + tMsgProps.iOffsetCcsid = offset + iSizeMultiplexFields + 24; + tMsgProps.iOffsetFormat = offset ; + } + p_mq_parm->mq_int_enc = (tvb_get_guint8(tvb, offset + iSizeMultiplexFields + 8) == MQ_LITTLE_ENDIAN ? ENC_LITTLE_ENDIAN : ENC_BIG_ENDIAN); + p_mq_parm->mq_ctlf = tvb_get_guint8(tvb, offset + iSizeMultiplexFields + 10); + + p_mq_parm->mq_encode=tvb_get_guint32_endian(tvb, offset + iSizeMultiplexFields + 20, p_mq_parm->mq_int_enc); + p_mq_parm->mq_ccsid =tvb_get_guint16_endian(tvb, offset + iSizeMultiplexFields + 24, p_mq_parm->mq_int_enc); + + if (p_mq_parm->mq_ccsid==500 && !bEBCDIC) + { + bEBCDIC = TRUE; + p_mq_parm->mq_str_enc = ENC_EBCDIC|ENC_NA; + } + + if (!mq_in_reassembly) + { + col_clear(pinfo->cinfo, COL_INFO); + col_append_sep_str(pinfo->cinfo, COL_INFO, " | ", val_to_str_ext(p_mq_parm->mq_opcode, &mq_opcode_vals_ext, "Unknown (0x%02x)")); + col_set_fence(pinfo->cinfo, COL_INFO); + } + + if (tree) + { + if (p_mq_parm->mq_opcode!=MQ_TST_ASYNC_MESSAGE) + { + ti = proto_tree_add_item(tree, proto_mq, tvb, offset, -1, ENC_NA); + proto_item_append_text(ti, " (%s)", val_to_str(p_mq_parm->mq_opcode, mq_opcode_vals, "Unknown (0x%02x)")); + if (bEBCDIC == TRUE) proto_item_append_text(ti, " (EBCDIC)"); + mqroot_tree = proto_item_add_subtree(ti, ett_mq); + } + else + { + mqroot_tree = tree; + } + + ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeTSH, MQ_TEXT_TSH); + mq_tree = proto_item_add_subtree(ti, ett_mq_tsh); + + proto_tree_add_item(mq_tree, hf_mq_tsh_structid, tvb, offset + 0, 4, p_mq_parm->mq_str_enc); + proto_tree_add_item(mq_tree, hf_mq_tsh_mqseglen, tvb, offset + 4, 4, ENC_BIG_ENDIAN); + + if (iSizeTSH == 36) + { + proto_tree_add_item(mq_tree, hf_mq_tsh_convid, tvb, offset + 8, 4, ENC_BIG_ENDIAN); + proto_tree_add_item(mq_tree, hf_mq_tsh_requestid, tvb, offset + 12, 4, ENC_BIG_ENDIAN); + } + + proto_tree_add_item(mq_tree, hf_mq_tsh_byteorder, tvb, offset + iSizeMultiplexFields + 8, 1, ENC_BIG_ENDIAN); + proto_tree_add_item(mq_tree, hf_mq_tsh_opcode, tvb, offset + iSizeMultiplexFields + 9, 1, ENC_BIG_ENDIAN); + + /* Control flags */ + { + proto_tree *mq_tree_sub = NULL; + + ti = proto_tree_add_item(mq_tree, hf_mq_tsh_ctlflgs1, tvb, offset + iSizeMultiplexFields + 10, 1, ENC_BIG_ENDIAN); + mq_tree_sub = proto_item_add_subtree(ti, ett_mq_tsh_tcf); + + proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_dlq, tvb, offset + iSizeMultiplexFields + 10, 1, p_mq_parm->mq_ctlf); + proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_reqacc, tvb, offset + iSizeMultiplexFields + 10, 1, p_mq_parm->mq_ctlf); + proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_last, tvb, offset + iSizeMultiplexFields + 10, 1, p_mq_parm->mq_ctlf); + proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_first, tvb, offset + iSizeMultiplexFields + 10, 1, p_mq_parm->mq_ctlf); + proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_closechann, tvb, offset + iSizeMultiplexFields + 10, 1, p_mq_parm->mq_ctlf); + proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_reqclose, tvb, offset + iSizeMultiplexFields + 10, 1, p_mq_parm->mq_ctlf); + proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_error, tvb, offset + iSizeMultiplexFields + 10, 1, p_mq_parm->mq_ctlf); + proto_tree_add_boolean(mq_tree_sub, hf_mq_tsh_tcf_confirmreq, tvb, offset + iSizeMultiplexFields + 10, 1, p_mq_parm->mq_ctlf); + } + + proto_tree_add_item(mq_tree, hf_mq_tsh_ctlflgs2, tvb, offset + iSizeMultiplexFields + 11, 1, ENC_BIG_ENDIAN); + proto_tree_add_item(mq_tree, hf_mq_tsh_luwid, tvb, offset + iSizeMultiplexFields + 12, 8, ENC_NA); + proto_tree_add_item(mq_tree, hf_mq_tsh_encoding, tvb, offset + iSizeMultiplexFields + 20, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_tsh_ccsid, tvb, offset + iSizeMultiplexFields + 24, 2, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_tsh_padding, tvb, offset + iSizeMultiplexFields + 26, 2, ENC_BIG_ENDIAN); + } + offset += iSizeTSH; + + /* Now dissect the embedded structures */ + if (tvb_length_remaining(tvb, offset) >= 4) + { + p_mq_parm->mq_strucID = tvb_get_ntohl(tvb, offset); + if (((p_mq_parm->mq_ctlf & MQ_TCF_FIRST) != 0) || p_mq_parm->mq_opcode < 0x80) + { + /* First MQ segment (opcodes below 0x80 never span several TSH) */ + gint iSizeAPI = 16; + if (p_mq_parm->mq_opcode >= 0x80 && p_mq_parm->mq_opcode <= 0x9F && tvb_length_remaining(tvb, offset) >= 16) + { + guint32 iReturnCode = 0; + guint32 iHdl = 0; + iReturnCode = tvb_get_guint32_endian(tvb, offset + 8, p_mq_parm->mq_int_enc); + iHdl = tvb_get_guint32_endian(tvb, offset + 12, p_mq_parm->mq_int_enc); + if (iHdl != 0 && iHdl != 0xffffffff) + col_append_fstr(pinfo->cinfo, COL_INFO, " Hdl=0x%08x", iHdl); + if (iReturnCode != 0) + col_append_fstr(pinfo->cinfo, COL_INFO, " [RC=%d]", iReturnCode); + + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeAPI, MQ_TEXT_API); + mq_tree = proto_item_add_subtree(ti, ett_mq_api); + + proto_tree_add_item(mq_tree, hf_mq_api_replylen, tvb, offset, 4, ENC_BIG_ENDIAN); + proto_tree_add_item(mq_tree, hf_mq_api_compcode, tvb, offset + 4, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_api_reascode, tvb, offset + 8, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_api_objecthdl, tvb, offset + 12, 4, p_mq_parm->mq_int_enc); + } + offset += iSizeAPI; + 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_MSH || p_mq_parm->mq_strucID == MQ_STRUCTID_MSH_EBCDIC) && tvb_length_remaining(tvb, offset) >= 20) + { + gint iSizeMSH = 20; + iSizePayload = tvb_get_guint32_endian(tvb, offset + 16, p_mq_parm->mq_int_enc); + bPayload = TRUE; + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeMSH, MQ_TEXT_MSH); + 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_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); + } + offset += iSizeMSH; + } + else if (p_mq_parm->mq_opcode == MQ_TST_SOCKET_ACTION && tvb_length_remaining(tvb, offset) >= 20) + { + gint iSizeSocket = 20; + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeAPI, MQ_TEXT_SOCKET); + mq_tree = proto_item_add_subtree(ti, ett_mq_socket); + + proto_tree_add_item(mq_tree, hf_mq_socket_unknown1, tvb, offset, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_socket_unknown2, tvb, offset + 4, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_socket_unknown3, tvb, offset + 8, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_socket_unknown4, tvb, offset + 12, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_socket_unknown5, tvb, offset + 16, 4, p_mq_parm->mq_int_enc); + } + offset += iSizeSocket; + p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; + } + else if (p_mq_parm->mq_opcode == MQ_TST_STATUS && tvb_length_remaining(tvb, offset) >= 8) + { + /* Some status are 28 bytes long and some are 36 bytes long */ + guint32 iStatus = 0; + gint iStatusLength = 0; + iStatus = tvb_get_guint32_endian(tvb, offset + 4, p_mq_parm->mq_int_enc); + iStatusLength = tvb_get_guint32_endian(tvb, offset, p_mq_parm->mq_int_enc); + + if (tvb_length_remaining(tvb, offset) >= iStatusLength) + { + if (iStatus != 0) + col_append_fstr(pinfo->cinfo, COL_INFO, ": Code=%s", val_to_str(iStatus, mq_status_vals, "Unknown (0x%08x)")); + + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, 8, MQ_TEXT_STAT); + mq_tree = proto_item_add_subtree(ti, ett_mq_status); + + proto_tree_add_item(mq_tree, hf_mq_status_length, tvb, offset, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_status_code, tvb, offset + 4, 4, p_mq_parm->mq_int_enc); + + if (iStatusLength >= 12) + proto_tree_add_item(mq_tree, hf_mq_status_value, tvb, offset + 8, 4, p_mq_parm->mq_int_enc); + } + offset += iStatusLength; + } + } + else if (p_mq_parm->mq_opcode == MQ_TST_PING && tvb_length_remaining(tvb, offset) > 4) + { + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, MQ_TEXT_PING); + mq_tree = proto_item_add_subtree(ti, ett_mq_ping); + + proto_tree_add_item(mq_tree, hf_mq_ping_length, tvb, offset, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_ping_buffer, tvb, offset + 4, -1, ENC_NA); + } + offset = tvb_length(tvb); + } + else if (p_mq_parm->mq_opcode == MQ_TST_RESET && tvb_length_remaining(tvb, offset) >= 8) + { + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, MQ_TEXT_RESET); + mq_tree = proto_item_add_subtree(ti, ett_mq_reset); + + proto_tree_add_item(mq_tree, hf_mq_reset_length, tvb, offset, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_reset_seqnum, tvb, offset + 4, 4, p_mq_parm->mq_int_enc); + } + offset = tvb_length(tvb); + } + else if ((p_mq_parm->mq_opcode == MQ_TST_MQOPEN || p_mq_parm->mq_opcode == MQ_TST_MQCLOSE || + p_mq_parm->mq_opcode == MQ_TST_MQOPEN_REPLY || p_mq_parm->mq_opcode == MQ_TST_MQCLOSE_REPLY) + && tvb_length_remaining(tvb, offset) >= 4) + { + offset += dissect_mq_od(tvb, pinfo, mqroot_tree, offset, p_mq_parm, &iDistributionListSize); + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, 4, MQ_TEXT_OPEN); + mq_tree = proto_item_add_subtree(ti, ett_mq_open); + if (p_mq_parm->mq_opcode == MQ_TST_MQOPEN || p_mq_parm->mq_opcode == MQ_TST_MQOPEN_REPLY) + { + dissect_mq_MQOO(tvb, mq_tree, offset, ett_mq_open_option, p_mq_parm); + } + if (p_mq_parm->mq_opcode == MQ_TST_MQCLOSE || p_mq_parm->mq_opcode == MQ_TST_MQCLOSE_REPLY) + { + dissect_mq_MQCO(tvb, mq_tree, offset, p_mq_parm); + } + } + offset += 4; + p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; + offset += dissect_mq_fopa(tvb, mqroot_tree, offset, p_mq_parm); + } + else if ((p_mq_parm->mq_opcode == MQ_TST_MQCONN || p_mq_parm->mq_opcode == MQ_TST_MQCONN_REPLY) && + tvb_length_remaining(tvb, offset) > 0) + { + gint iSizeCONN = 0; + gint nofs; + + /*iSizeCONN = ((iVersionID == 4 || iVersionID == 6) ? 120 : 112);*/ /* guess */ + /* The iVersionID is available in the previous ID segment, we should keep a state + * Instead we rely on the segment length announced in the TSH */ + /* The MQCONN structure is special because it does not start with a structid */ + iSizeCONN = iSegmentLength - iSizeTSH - iSizeAPI; + if (iSizeCONN != 112 && iSizeCONN != 120 && iSizeCONN != 260 && iSizeCONN != 332) iSizeCONN = 0; + + if (iSizeCONN != 0 && tvb_length_remaining(tvb, offset) >= iSizeCONN) + { + guint8 *sApplicationName; + guint8 *sQMgr; + sApplicationName = tvb_get_ephemeral_string_enc(tvb, offset + 48, 28, p_mq_parm->mq_str_enc); + if (strip_trailing_blanks(sApplicationName, 28) != 0) + { + col_append_fstr(pinfo->cinfo, COL_INFO, ": App=%s", sApplicationName); + } + sQMgr = tvb_get_ephemeral_string_enc(tvb, offset, 48, p_mq_parm->mq_str_enc); + if (strip_trailing_blanks(sQMgr, 48) != 0) + { + col_append_fstr(pinfo->cinfo, COL_INFO, " QM=%s", sQMgr); + } + +#define do_proto_add_item(a,b) b;nofs+=a; + nofs=offset; + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeCONN, MQ_TEXT_CONN); + mq_tree = proto_item_add_subtree(ti, ett_mq_conn); + + do_proto_add_item(48,proto_tree_add_item(mq_tree, hf_mq_conn_QMgr, tvb, nofs, 48, p_mq_parm->mq_str_enc)); + do_proto_add_item(28,proto_tree_add_item(mq_tree, hf_mq_conn_appname , tvb, nofs, 28, p_mq_parm->mq_str_enc)); + do_proto_add_item( 4,proto_tree_add_item(mq_tree, hf_mq_conn_apptype , tvb, nofs, 4, p_mq_parm->mq_int_enc)); + do_proto_add_item(32,proto_tree_add_item(mq_tree, hf_mq_conn_acttoken , tvb, nofs, 32, ENC_NA)); + + if (iSizeCONN >= 120) + { + do_proto_add_item(4,proto_tree_add_item(mq_tree, hf_mq_conn_version, tvb, nofs, 4, p_mq_parm->mq_int_enc)); + do_proto_add_item(4,proto_tree_add_item(mq_tree, hf_mq_conn_options, tvb, nofs, 4, p_mq_parm->mq_int_enc)); + } + if (iSizeCONN >= 260) + { + proto_tree *mq_tree_sub = NULL; + + ti = proto_tree_add_text(mq_tree, tvb, nofs,iSizeCONN - nofs, MQ_TEXT_FCNO); + mq_tree_sub = proto_item_add_subtree(ti, ett_mq_fcno); + + do_proto_add_item( 4,proto_tree_add_item(mq_tree_sub, hf_mq_fcno_structid , tvb, nofs, 4, p_mq_parm->mq_str_enc)); + do_proto_add_item( 4,proto_tree_add_item(mq_tree_sub, hf_mq_fcno_unknown00, tvb, nofs, 4, p_mq_parm->mq_int_enc)); + do_proto_add_item( 4,proto_tree_add_item(mq_tree_sub, hf_mq_fcno_unknown01, tvb, nofs, 4, p_mq_parm->mq_int_enc)); + + if (iSizeCONN == 260) + { + do_proto_add_item( 12,proto_tree_add_item(mq_tree_sub, hf_mq_fcno_msgid , tvb, nofs, 12, p_mq_parm->mq_str_enc)); + do_proto_add_item( 48,proto_tree_add_item(mq_tree_sub, hf_mq_fcno_mqmid , tvb, nofs, 48, p_mq_parm->mq_str_enc)); + do_proto_add_item( 68,proto_tree_add_item(mq_tree_sub, hf_mq_fcno_unknown02, tvb, nofs, 68, ENC_NA)); + } + if (iSizeCONN >= 332) + { + do_proto_add_item(152,proto_tree_add_item(mq_tree_sub, hf_mq_fcno_msgid , tvb, nofs, 152, p_mq_parm->mq_str_enc)); + proto_tree_add_item(mq_tree_sub, hf_mq_fcno_mqmid , tvb, nofs, 48, p_mq_parm->mq_int_enc); + } + } + } + offset += iSizeCONN; + } + } + else if ((p_mq_parm->mq_opcode == MQ_TST_MQINQ || p_mq_parm->mq_opcode == MQ_TST_MQINQ_REPLY || p_mq_parm->mq_opcode == MQ_TST_MQSET) && tvb_length_remaining(tvb, offset) >= 12) + { + /* The MQINQ/MQSET structure is special because it does not start with a structid */ + gint iNbSelectors = 0; + gint iNbIntegers = 0; + gint iCharLen = 0; + gint iOffsetINQ = 0; + gint iSelector = 0; + + iNbSelectors = tvb_get_guint32_endian(tvb, offset, p_mq_parm->mq_int_enc); + iNbIntegers = tvb_get_guint32_endian(tvb, offset + 4, p_mq_parm->mq_int_enc); + iCharLen = tvb_get_guint32_endian(tvb, offset + 8, p_mq_parm->mq_int_enc); + + if (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_charlen, tvb, offset + 8, 4, p_mq_parm->mq_int_enc); + } + iOffsetINQ = 12; + if (tvb_length_remaining(tvb, offset + iOffsetINQ) >= iNbSelectors * 4) + { + if (tree) + { + for (iSelector = 0; iSelector < iNbSelectors; iSelector++) + { + proto_tree_add_item(mq_tree, hf_mq_inq_sel, tvb, offset + iOffsetINQ + iSelector * 4, 4, p_mq_parm->mq_int_enc); + } + } + iOffsetINQ += iNbSelectors * 4; + if (p_mq_parm->mq_opcode == MQ_TST_MQINQ_REPLY || p_mq_parm->mq_opcode == MQ_TST_MQSET) + { + gint iSizeINQValues = 0; + iSizeINQValues = iNbIntegers * 4 + iCharLen; + if (tvb_length_remaining(tvb, offset + iOffsetINQ) >= iSizeINQValues) + { + gint iInteger = 0; + if (tree) + { + for (iInteger = 0; iInteger < iNbIntegers; iInteger++) + { + proto_tree_add_item(mq_tree, hf_mq_inq_intvalue, tvb, offset + iOffsetINQ + iInteger * 4, 4, p_mq_parm->mq_int_enc); + } + } + iOffsetINQ += iNbIntegers * 4; + if (iCharLen != 0) + { + if (tree) + { + proto_tree_add_item(mq_tree, hf_mq_inq_charvalues, tvb, offset + iOffsetINQ, iCharLen, p_mq_parm->mq_str_enc); + } + } + } + } + } + offset += tvb_length(tvb); + } + else if (p_mq_parm->mq_opcode == MQ_TST_NOTIFICATION) + { + gint iHdl = 0; + + iHdl = tvb_get_guint32_endian(tvb, offset+4, p_mq_parm->mq_int_enc); + + col_append_fstr(pinfo->cinfo, COL_INFO, ": Hdl=0x%08x", iHdl); + + if (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_handle, tvb, offset + 4, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_notif_unknown3, tvb, offset + 8, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_notif_unknown4, 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; + } + else if (p_mq_parm->mq_opcode == MQ_TST_REQUEST_MSGS) + { + gint iHdl; + gint iFlags; + gint iLstSeq; + gint iMaxLen; + gint xOfs; + gint iExt; + + xOfs=0; + iHdl = tvb_get_guint32_endian(tvb, offset+ 4, p_mq_parm->mq_int_enc); + iMaxLen = tvb_get_guint32_endian(tvb, offset+ 16, p_mq_parm->mq_int_enc); + iFlags = tvb_get_guint32_endian(tvb, offset+ 32, p_mq_parm->mq_int_enc); + iLstSeq = tvb_get_guint32_endian(tvb, offset+ 36, p_mq_parm->mq_int_enc); + + col_append_fstr(pinfo->cinfo, COL_INFO, ": Hdl=0x%08x, LstSeq=%d, MaxLen=%d", + iHdl, iLstSeq,iMaxLen); + + if (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_unknown1, tvb, offset + 8, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgreq_unknown2, tvb, offset + 12, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgreq_maxlen , tvb, offset + 16, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgreq_unknown4, tvb, offset + 20, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgreq_timeout , tvb, offset + 24, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgreq_unknown5, tvb, offset + 28, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgreq_flags , tvb, offset + 32, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgreq_lstseqnr, tvb, offset + 36, 4, p_mq_parm->mq_int_enc); + + if (iFlags & 0x00000010) + { + proto_tree_add_item(mq_tree, hf_mq_msgreq_msegver , tvb, offset + 40, 2, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgreq_msegseq , 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); + proto_tree_add_item(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_unknown6, tvb, offset + 52, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgreq_unknown7, tvb, offset + 56, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgreq_unknown8, tvb, offset + 60, 4, p_mq_parm->mq_int_enc); + iExt=tvb_get_guint32_endian(tvb, offset + 60, p_mq_parm->mq_int_enc); + if (iExt>=2) + { + proto_tree_add_item(mq_tree, hf_mq_msgreq_msgid , tvb, offset + 64, 24, p_mq_parm->mq_str_enc); + xOfs+=24; + } + if (iExt>=3) + { + proto_tree_add_item(mq_tree, hf_mq_msgreq_mqmid , tvb, offset + 88, 24, p_mq_parm->mq_str_enc); + xOfs+=24; + } + } + } + offset+=(iFlags & 0x00000010)?(64+xOfs):40; + p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; + } + else if (p_mq_parm->mq_opcode == MQ_TST_ASYNC_MESSAGE) + { + gint imsegseq; + gint iCurSeq; + gint iPadLen; + gint iPayLod; + gint8 iStrLen; + gint iHdl; + gint iHdrL; + + iHdl = tvb_get_guint32_endian(tvb, offset+4, p_mq_parm->mq_int_enc); + iCurSeq = tvb_get_guint32_endian(tvb, offset + 12, p_mq_parm->mq_int_enc); + imsegseq = tvb_get_guint16_endian(tvb, offset + 20, p_mq_parm->mq_int_enc); + iPayLod = tvb_get_guint32_endian(tvb, offset + 16, p_mq_parm->mq_int_enc); + + if (p_mq_parm->mq_ctlf & MQ_TCF_FIRST) + { + iStrLen = tvb_get_guint8(tvb,offset+54); + iPadLen = (2+1+iStrLen) % 4; + iPadLen = (iPadLen)?4-iPadLen:0; + } + else + { + iPadLen=0; + iStrLen=0; + } + + iHdrL=(p_mq_parm->mq_ctlf & MQ_TCF_FIRST)?(54+1+iStrLen+iPadLen):24; + iPayLod=tvb_length_remaining(tvb, offset+iHdrL); + + if (!mq_in_reassembly) + { + col_append_fstr(pinfo->cinfo, COL_INFO, ": Hdl=0x%08x, CurSeq=%d, SSeq=%d, PayLoad=%d", + iHdl, iCurSeq, imsegseq, iPayLod); + } + + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, iHdrL, MQ_TEXT_ASYMSG); + mq_tree = proto_item_add_subtree(ti, ett_mq_msg); + + proto_tree_add_item(mq_tree, hf_mq_msgasy_version , tvb, offset , 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_handle , tvb, offset + 4, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_unknown1, tvb, offset + 8, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_curseqnr, tvb, offset + 12, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_payload , tvb, offset + 16, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_msegseq , tvb, offset + 20, 2, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_msegver , tvb, offset + 22, 2, p_mq_parm->mq_int_enc); + if (p_mq_parm->mq_ctlf & MQ_TCF_FIRST) + { + proto_tree_add_item(mq_tree, hf_mq_msgasy_flags , tvb, offset + 24, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_totlen1 , tvb, offset + 28, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_totlen2 , tvb, offset + 32, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_unknown2, tvb, offset + 36, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_unknown3, tvb, offset + 40, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_unknown4, tvb, offset + 44, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_unknown5, tvb, offset + 48, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_strFlg , tvb, offset + 52, 2, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_msgasy_strLen , tvb, offset + 54, 1, ENC_NA); + proto_tree_add_item(mq_tree, hf_mq_msgasy_strVal , tvb, offset + 55, iStrLen, p_mq_parm->mq_str_enc); + if (iPadLen) + proto_tree_add_item(mq_tree, hf_mq_msgasy_strPad , tvb, offset + 55 + iStrLen, iPadLen, p_mq_parm->mq_str_enc); + } + } + offset+=iHdrL; + p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; + + iSizePayload = tvb_length_remaining(tvb, offset); + bPayload = (iSizePayload>0); + } + else if ((p_mq_parm->mq_opcode == MQ_TST_SPI || p_mq_parm->mq_opcode == MQ_TST_SPI_REPLY) && tvb_length_remaining(tvb, offset) >= 12) + { + gint iOffsetSPI = 0; + guint32 iSpiVerb = 0; + + tMsgProps.iOffsetEncoding = offset + 12; + tMsgProps.iOffsetCcsid = offset + 16; + tMsgProps.iOffsetFormat = offset + 20; + + iSpiVerb = tvb_get_guint32_endian(tvb, offset, p_mq_parm->mq_int_enc); + col_append_fstr(pinfo->cinfo, COL_INFO, " (%s)", val_to_str(iSpiVerb, mq_spi_verbs_vals, "Unknown (0x%08x)")); + + if (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_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); + } + + offset += 12; + 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_MASK_SPxZ) == MQ_STRUCTID_SPxU || + (p_mq_parm->mq_strucID & MQ_MASK_SPxZ) == MQ_STRUCTID_SPxU_EBCDIC) + && tvb_length_remaining(tvb, offset) >= 12) + { + gint iSizeSPIMD = 0; + if (tree) + { + guint8 *sStructId; + sStructId = tvb_get_ephemeral_string_enc(tvb, offset, 4,((p_mq_parm->mq_strucID & MQ_MASK_SPxx)==MQ_STRUCTID_SPxx)?ENC_ASCII:ENC_EBCDIC); + ti = proto_tree_add_text(mqroot_tree, tvb, offset, 12, "%s", sStructId); + 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); + } + offset += 12; + p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; + + if ((iSizeSPIMD = dissect_mq_md(tvb, mqroot_tree, offset, &tMsgProps, p_mq_parm, TRUE)) != 0) + { + offset += iSizeSPIMD; + offset += dissect_mq_gmo(tvb, pinfo, mqroot_tree, offset, p_mq_parm); + offset += dissect_mq_pmo(tvb, pinfo, mqroot_tree, offset, p_mq_parm, &iDistributionListSize); + p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; + } + + offset += dissect_mq_od(tvb, pinfo, mqroot_tree, offset, p_mq_parm, &iDistributionListSize); + + if (((p_mq_parm->mq_strucID & MQ_MASK_SPxZ) == MQ_STRUCTID_SPxO || + (p_mq_parm->mq_strucID & MQ_MASK_SPxZ) == MQ_STRUCTID_SPxO_EBCDIC || + (p_mq_parm->mq_strucID & MQ_MASK_SPxZ) == MQ_STRUCTID_SPxI || + (p_mq_parm->mq_strucID & MQ_MASK_SPxZ) == MQ_STRUCTID_SPxI_EBCDIC) + && tvb_length_remaining(tvb, offset) >= 12) + { + if (tree) + { + /* Dissect the common part of these structures */ + guint8 *sStructId; + sStructId = tvb_get_ephemeral_string_enc(tvb, offset, 4,((p_mq_parm->mq_strucID & MQ_MASK_SPxx)==MQ_STRUCTID_SPxx)?ENC_ASCII:ENC_EBCDIC); + ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, "%s", sStructId); + 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); + } + + if ((p_mq_parm->mq_strucID == MQ_STRUCTID_SPQO || p_mq_parm->mq_strucID == MQ_STRUCTID_SPQO_EBCDIC) + && tvb_length_remaining(tvb, offset) >= 16) + { + if (tree) + { + gint iVerbNumber = 0; + proto_tree_add_item(mq_tree, hf_mq_spi_spqo_nbverb, tvb, offset + 12, 4, p_mq_parm->mq_int_enc); + iVerbNumber = tvb_get_guint32_endian(tvb, offset + 12, p_mq_parm->mq_int_enc); + + if (tvb_length_remaining(tvb, offset) >= iVerbNumber * 20 + 16) + { + gint iVerb = 0; + 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_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); + iOffsetSPI += 20; + } + offset += iVerbNumber * 20 + 16; + } + } + } + else if ((p_mq_parm->mq_strucID == MQ_STRUCTID_SPAI || p_mq_parm->mq_strucID == MQ_STRUCTID_SPAI_EBCDIC) + && tvb_length_remaining(tvb, offset) >= 136) + { + 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_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); + } + offset += 136; + } + else if ((p_mq_parm->mq_strucID == MQ_STRUCTID_SPGI || p_mq_parm->mq_strucID == MQ_STRUCTID_SPGI_EBCDIC) + && tvb_length_remaining(tvb, offset) >= 24) + { + 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_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); + } + offset += 24; + } + else if ((p_mq_parm->mq_strucID == MQ_STRUCTID_SPGO || p_mq_parm->mq_strucID == MQ_STRUCTID_SPPI || + p_mq_parm->mq_strucID == MQ_STRUCTID_SPGO_EBCDIC || p_mq_parm->mq_strucID == MQ_STRUCTID_SPPI_EBCDIC) + && tvb_length_remaining(tvb, offset) >= 20) + { + if (tree) + { + /* Options flags */ + { + proto_tree *mq_tree_sub = NULL; + gint iOptionsFlags; + + ti = proto_tree_add_item(mq_tree, hf_mq_spi_spgo_options, tvb, offset + 12, 4, p_mq_parm->mq_int_enc); + mq_tree_sub = proto_item_add_subtree(ti, ett_mq_spi_options); + iOptionsFlags = tvb_get_guint32_endian(tvb, offset + 12, p_mq_parm->mq_int_enc); + + proto_tree_add_boolean(mq_tree_sub, hf_mq_spi_opt_deferred, tvb, offset + 12, 4, iOptionsFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_spi_opt_syncp, tvb, offset + 12, 4, iOptionsFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_spi_opt_blank, tvb, offset + 12, 4, iOptionsFlags); + } + proto_tree_add_item(mq_tree, hf_mq_spi_spgo_size, tvb, offset + 16, 4, p_mq_parm->mq_int_enc); + } + iSizePayload = tvb_get_guint32_endian(tvb, offset + 16, p_mq_parm->mq_int_enc); + offset += 20; + bPayload = TRUE; + } + else + { + offset += 12; + } + p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; + } + } + } + else if ((p_mq_parm->mq_opcode >= 0xA0 && p_mq_parm->mq_opcode <= 0xB9) && tvb_length_remaining(tvb, offset) >= 16) + { + /* The XA structures are special because they do not start with a structid */ + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, 16, "%s (%s)", MQ_TEXT_XA, + val_to_str(p_mq_parm->mq_opcode, mq_opcode_vals, "Unknown (0x%02x)")); + mq_tree = proto_item_add_subtree(ti, ett_mq_xa); + + proto_tree_add_item(mq_tree, hf_mq_xa_length, tvb, offset, 4, ENC_BIG_ENDIAN); + proto_tree_add_item(mq_tree, hf_mq_xa_returnvalue, tvb, offset + 4, 4, p_mq_parm->mq_int_enc); + + /* Transaction Manager flags */ + { + proto_tree *mq_tree_sub = NULL; + guint32 iTMFlags; + + ti = proto_tree_add_item(mq_tree, hf_mq_xa_tmflags, tvb, offset + 8, 4, p_mq_parm->mq_int_enc); + mq_tree_sub = proto_item_add_subtree(ti, ett_mq_xa_tmflags); + iTMFlags = tvb_get_guint32_endian(tvb, offset + 8, p_mq_parm->mq_int_enc); + + proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_onephase, tvb, offset + 8, 4, iTMFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_fail, tvb, offset + 8, 4, iTMFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_resume, tvb, offset + 8, 4, iTMFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_success, tvb, offset + 8, 4, iTMFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_suspend, tvb, offset + 8, 4, iTMFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_startrscan, tvb, offset + 8, 4, iTMFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_endrscan, tvb, offset + 8, 4, iTMFlags); + proto_tree_add_boolean(mq_tree_sub, hf_mq_xa_tmflags_join, tvb, offset + 8, 4, iTMFlags); + } + + proto_tree_add_item(mq_tree, hf_mq_xa_rmid, tvb, offset + 12, 4, p_mq_parm->mq_int_enc); + } + offset += 16; + if (p_mq_parm->mq_opcode == MQ_TST_XA_START || p_mq_parm->mq_opcode == MQ_TST_XA_END || p_mq_parm->mq_opcode == MQ_TST_XA_PREPARE + || p_mq_parm->mq_opcode == MQ_TST_XA_COMMIT || p_mq_parm->mq_opcode == MQ_TST_XA_ROLLBACK || p_mq_parm->mq_opcode == MQ_TST_XA_FORGET + || p_mq_parm->mq_opcode == MQ_TST_XA_COMPLETE) + { + gint iSizeXid = 0; + if ((iSizeXid = dissect_mq_xid(tvb, mqroot_tree, p_mq_parm, offset)) != 0) + offset += iSizeXid; + } + else if ((p_mq_parm->mq_opcode == MQ_TST_XA_OPEN || p_mq_parm->mq_opcode == MQ_TST_XA_CLOSE) + && tvb_length_remaining(tvb, offset) >= 1) + { + guint8 iXAInfoLength = 0; + iXAInfoLength = tvb_get_guint8(tvb, offset); + if (tvb_length_remaining(tvb, offset) >= iXAInfoLength + 1) + { + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, iXAInfoLength + 1, MQ_TEXT_XINF); + 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); + } + } + offset += 1 + iXAInfoLength; + } + else if ((p_mq_parm->mq_opcode == MQ_TST_XA_RECOVER || p_mq_parm->mq_opcode == MQ_TST_XA_RECOVER_REPLY) + && tvb_length_remaining(tvb, offset) >= 4) + { + gint iNbXid = 0; + iNbXid = tvb_get_guint32_endian(tvb, offset, p_mq_parm->mq_int_enc); + if (tree) + { + proto_tree_add_item(mq_tree, hf_mq_xa_count, tvb, offset, 4, p_mq_parm->mq_int_enc); + } + offset += 4; + if (p_mq_parm->mq_opcode == MQ_TST_XA_RECOVER_REPLY) + { + gint iXid = 0; + for (iXid = 0; iXid < iNbXid; iXid++) + { + gint iSizeXid = 0; + if ((iSizeXid = dissect_mq_xid(tvb, mqroot_tree, p_mq_parm, offset)) != 0) + offset += iSizeXid; + else + break; + } + } + } + } + if ((p_mq_parm->mq_strucID == MQ_STRUCTID_LPOO || p_mq_parm->mq_strucID == MQ_STRUCTID_LPOO_EBCDIC) && tvb_length_remaining(tvb, offset) >= 32) + { + guint iVersionID = 0; + gint iSizeID = 32; + iVersionID = tvb_get_guint32_endian(tvb, offset+4, p_mq_parm->mq_int_enc); + /* iSizeID = tvb_get_guint32_endian(tvb, offset+8, p_mq_parm->mq_int_enc); */ + + if (iSizeID != 0 && tvb_length_remaining(tvb, offset) >= iSizeID) + { + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeID, MQ_TEXT_LPOO); + 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); + + dissect_mq_MQOO(tvb, mq_tree, offset+8, ett_mq_lpoo_option, p_mq_parm); + + proto_tree_add_item(mq_tree, hf_mq_lpoo_unknown1, tvb, offset + 12, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_lpoo_unknown2, tvb, offset + 16, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_lpoo_unknown3, tvb, offset + 20, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_lpoo_unknown4, tvb, offset + 24, 4, p_mq_parm->mq_int_enc); + proto_tree_add_item(mq_tree, hf_mq_lpoo_unknown5, tvb, offset + 28, 4, p_mq_parm->mq_int_enc); + if (iVersionID>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, 4, p_mq_parm->mq_int_enc); + } + } + offset += iSizeID; + 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_ID || p_mq_parm->mq_strucID == MQ_STRUCTID_ID_EBCDIC) && tvb_length_remaining(tvb, offset) >= 5) + { + offset += dissect_mq_id(tvb, pinfo, mqroot_tree, offset, p_mq_parm); + 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_UID || p_mq_parm->mq_strucID == MQ_STRUCTID_UID_EBCDIC) && tvb_length_remaining(tvb, offset) > 0) + { + gint iSizeUID = 0; + /* iSizeUID = (iVersionID < 5 ? 28 : 132); guess */ + /* The iVersionID is available in the previous ID segment, we should keep a state * + * Instead we rely on the segment length announced in the TSH */ + iSizeUID = iSegmentLength - iSizeTSH; + if (iSizeUID != 28 && iSizeUID != 132) iSizeUID = 0; + + if (iSizeUID != 0 && tvb_length_remaining(tvb, offset) >= iSizeUID) + { + guint8 *sUserId; + sUserId = tvb_get_ephemeral_string_enc(tvb, offset + 4, 12, p_mq_parm->mq_str_enc); + if (strip_trailing_blanks(sUserId, 12) != 0) + { + col_append_fstr(pinfo->cinfo, COL_INFO, ": User=%s", sUserId); + } + + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, iSizeUID, MQ_TEXT_UID); + 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_password, tvb, offset + 16, 12, p_mq_parm->mq_str_enc); + } + + if (iSizeUID == 132) + { + if (tree) + { + proto_tree_add_item(mq_tree, hf_mq_uid_longuserid, tvb, offset + 28, 64, p_mq_parm->mq_str_enc); + dissect_mq_sid(tvb, mq_tree, p_mq_parm, offset + 92); + } + } + } + offset += iSizeUID; + p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; + } + + offset += dissect_mq_od(tvb, pinfo, mqroot_tree, offset, p_mq_parm, &iDistributionListSize); + + if ((iSizeMD = dissect_mq_md(tvb, mqroot_tree, offset, &tMsgProps, p_mq_parm, TRUE)) != 0) + { + gint iSizeGMO = 0; + gint iSizePMO = 0; + offset += iSizeMD; + + if ((iSizeGMO = dissect_mq_gmo(tvb, pinfo, mqroot_tree, offset, p_mq_parm)) != 0) + { + offset += iSizeGMO; + bPayload = TRUE; + } + else if ((iSizePMO = dissect_mq_pmo(tvb, pinfo, mqroot_tree, offset, p_mq_parm, &iDistributionListSize)) != 0) + { + offset += iSizePMO; + bPayload = TRUE; + } + if (tvb_length_remaining(tvb, offset) >= 4) + { + if (bPayload == TRUE && (p_mq_parm->mq_opcode != MQ_TST_ASYNC_MESSAGE)) + { + iSizePayload = tvb_get_guint32_endian(tvb, offset, p_mq_parm->mq_int_enc); + if (tree) + { + ti = proto_tree_add_text(mqroot_tree, tvb, offset, 4, MQ_TEXT_PUT); + mq_tree = proto_item_add_subtree(ti, ett_mq_put); + proto_tree_add_item(mq_tree, hf_mq_put_length, tvb, offset, 4, p_mq_parm->mq_int_enc); + } + offset += 4; + } + } + } + if (iDistributionListSize > 0) + { + col_append_fstr(pinfo->cinfo, COL_INFO, " (Distribution List, Size=%d)", iDistributionListSize); + } + if (bPayload == TRUE) + { + if (iSizePayload != 0 && tvb_length_remaining(tvb, offset) > 0) + { + /* For the following header structures, each structure has a "format" field + which announces the type of the following structure. For dissection we + do not use it and rely on the structid instead. */ + guint32 iHeadersLength = 0; + if (tvb_length_remaining(tvb, offset) >= 4) + { + gint iSizeMD2 = 0; + p_mq_parm->mq_strucID = tvb_get_ntohl(tvb, offset); + + if ((p_mq_parm->mq_strucID == MQ_STRUCTID_XQH || p_mq_parm->mq_strucID == MQ_STRUCTID_XQH_EBCDIC) && tvb_length_remaining(tvb, offset) >= 104) + { + /* if MD.format == MQXMIT */ + gint iSizeXQH = 104; + if (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_remoteqmgr, tvb, offset + 56, 48, p_mq_parm->mq_str_enc); + } + offset += iSizeXQH; + iHeadersLength += iSizeXQH; + + if ((iSizeMD2 = dissect_mq_md(tvb, mqroot_tree, offset, &tMsgProps, p_mq_parm, TRUE)) != 0) + { + offset += iSizeMD2; + iHeadersLength += iSizeMD2; + } + + 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); + tMsgProps.iOffsetEncoding = offset + 12; + tMsgProps.iOffsetCcsid = offset + 16; + tMsgProps.iOffsetFormat = offset + 20; + + 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); + proto_tree_add_item(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 */ + gint iSizeDLH = 172; + tMsgProps.iOffsetEncoding = offset + 108; + tMsgProps.iOffsetCcsid = offset + 112; + tMsgProps.iOffsetFormat = offset + 116; + if (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); + proto_tree_add_item(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); + } + 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; + tMsgProps.iOffsetEncoding = offset + 12; + tMsgProps.iOffsetCcsid = offset + 16; + tMsgProps.iOffsetFormat = 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); + proto_tree_add_item(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 + || 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 + || p_mq_parm->mq_strucID == MQ_STRUCTID_WIH || p_mq_parm->mq_strucID == MQ_STRUCTID_WIH_EBCDIC) + && tvb_length_remaining(tvb, offset) >= 12) + { + /* Dissect the generic part of the other pre-defined headers */ + /* We assume that only one such header is present */ + gint iSizeHeader = 0; + 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); + + if (tvb_length_remaining(tvb, offset) >= iSizeHeader) + { + tMsgProps.iOffsetEncoding = offset + 12; + tMsgProps.iOffsetCcsid = offset + 16; + tMsgProps.iOffsetFormat = offset + 20; + 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_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); + + } + offset += iSizeHeader; + iHeadersLength += iSizeHeader; + p_mq_parm->mq_strucID = (tvb_length_remaining(tvb, offset) >= 4) ? tvb_get_ntohl(tvb, offset) : MQ_STRUCTID_NULL; + } + } + } + + /* + Removed as steted in macro PROTO_ITEM_SET_HIDDEN + *HIDING PROTOCOL FIELDS IS DEPRECATED, IT'S CONSIDERED TO BE BAD GUI DESIGN! + if (tMsgProps.iOffsetFormat != 0) + { + guint8* sFormat = NULL; + sFormat = tvb_get_ephemeral_string_enc(tvb, tMsgProps.iOffsetFormat, 8, p_mq_parm->mq_str_enc); + if (strip_trailing_blanks(sFormat, 8) == 0) + sFormat = (guint8 *)wmem_strdup(wmem_packet_scope(),"MQNONE"); + + col_append_fstr(pinfo->cinfo, COL_INFO, " Fmt=%s", sFormat); + if (tree) + { + proto_item *hidden_item; + hidden_item = proto_tree_add_string(tree, hf_mq_md_lastformat, tvb, tMsgProps.iOffsetFormat, 8, (const char*)sFormat); + PROTO_ITEM_SET_HIDDEN(hidden_item); + } + } + */ + col_append_fstr(pinfo->cinfo, COL_INFO, " (%d bytes)", iSizePayload - iHeadersLength); + + if (!mq_in_reassembly) + { + /* Call subdissector for the payload */ + tvbuff_t* next_tvb = NULL; + void* pd_save; + 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, tMsgProps.iOffsetEncoding, p_mq_parm->mq_int_enc); + mqinfo->ccsid = tvb_get_guint32_endian(tvb, tMsgProps.iOffsetCcsid, p_mq_parm->mq_int_enc); + memcpy(mqinfo->format, + tvb_get_ephemeral_string_enc(tvb, tMsgProps.iOffsetFormat, sizeof(mqinfo->format), p_mq_parm->mq_str_enc), + sizeof(mqinfo->format)); + pd_save = pinfo->private_data; + pinfo->private_data = mqinfo; + next_tvb = tvb_new_subset_remaining(tvb, offset); + if (!dissector_try_heuristic(mq_heur_subdissector_list, next_tvb, pinfo, mqroot_tree, NULL)) + call_dissector(data_handle, next_tvb, pinfo, mqroot_tree); + pinfo->private_data = pd_save; + } + else + { + tvbuff_t* next_tvb = NULL; + next_tvb = tvb_new_subset_remaining(tvb, offset); + call_dissector(data_handle, next_tvb, pinfo, mqroot_tree); + } + } + offset = tvb_length(tvb); + } + /* After all recognised structures have been dissected, process remaining structure*/ + if (tvb_length_remaining(tvb, offset) >= 4) + { + p_mq_parm->mq_strucID = tvb_get_ntohl(tvb, offset); + if (tree) + { + proto_tree_add_text(mqroot_tree, tvb, offset, -1, "%s", val_to_str(p_mq_parm->mq_strucID, mq_structid_vals, "Unknown (0x%08x)")); + } + } + } + else + { + /* This is a MQ segment continuation (if MQ reassembly is not enabled) */ + col_append_str(pinfo->cinfo, COL_INFO, " [Unreassembled MQ]"); + call_dissector(data_handle, tvb_new_subset_remaining(tvb, offset), pinfo, tree); + } + } + } + else + { + /* This packet is a TCP continuation of a segment (if desegmentation is not enabled) */ + col_append_str(pinfo->cinfo, COL_INFO, " [Undesegmented]"); + if (tree) + { + proto_tree_add_item(tree, proto_mq, tvb, offset, -1, ENC_NA); + } + call_dissector(data_handle, tvb_new_subset_remaining(tvb, offset), pinfo, tree); + } + } } - -static void -reassemble_mq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +static void reassemble_mq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - /* Reassembly of the MQ messages that span several PDU (several TSH) */ - /* Typically a TCP PDU is 1460 bytes and a MQ PDU is 32766 bytes */ - if (tvb_length(tvb) >= 28) - { - guint32 structId; - structId = tvb_get_ntohl(tvb, 0); - - if (structId == MQ_STRUCTID_TSH || structId == MQ_STRUCTID_TSH_EBCDIC - || structId == MQ_STRUCTID_TSHC || structId == MQ_STRUCTID_TSHC_EBCDIC - || structId == MQ_STRUCTID_TSHM || structId == MQ_STRUCTID_TSHM_EBCDIC) - { - guint8 iControlFlags = 0; - guint32 iSegmentLength = 0; - guint32 iBeginLength = 0; - guint8 opcode; - gboolean bFirstSegment; - gboolean bLastSegment; - opcode = tvb_get_guint8(tvb, 9); - iControlFlags = tvb_get_guint8(tvb, 10); - iSegmentLength = tvb_get_ntohl(tvb, 4); - bFirstSegment = ((iControlFlags & MQ_TCF_FIRST) != 0); - bLastSegment = ((iControlFlags & MQ_TCF_LAST) != 0); - - if (opcode > 0x80 && !(bFirstSegment && bLastSegment)) - { - /* Optimisation : only fragmented segments go through the reassembly process */ - if (mq_reassembly) - { - tvbuff_t* next_tvb; - fragment_head* fd_head; - guint32 iConnectionId = (pinfo->srcport + pinfo->destport); - if (opcode > 0x80 && !bFirstSegment) iBeginLength = 28; - fd_head = fragment_add_seq_next(&mq_reassembly_table, - tvb, iBeginLength, - pinfo, iConnectionId, NULL, - iSegmentLength - iBeginLength, !bLastSegment); - if (fd_head != NULL && pinfo->fd->num == fd_head->reassembled_in) - { - /* Reassembly finished */ - if (fd_head->next != NULL) - { - /* 2 or more fragments */ - next_tvb = tvb_new_chain(tvb, fd_head->tvb_data); - add_new_data_source(pinfo, next_tvb, "Reassembled MQ"); - } - else - { - /* Only 1 fragment */ - next_tvb = tvb; - } - dissect_mq_pdu(next_tvb, pinfo, tree); - return; - } - else - { - /* Reassembly in progress */ - col_set_str(pinfo->cinfo, COL_PROTOCOL, "MQ"); - col_add_fstr(pinfo->cinfo, COL_INFO, "%s [Reassembled MQ]", val_to_str(opcode, mq_opcode_vals, "Unknown (0x%02x)")); - if (tree) - { - proto_item* ti = NULL; - ti = proto_tree_add_item(tree, proto_mq, tvb, 0, -1, ENC_NA); - proto_item_append_text(ti, " (%s) [Reassembled MQ]", val_to_str(opcode, mq_opcode_vals, "Unknown (0x%02x)")); - } - return; - } - } - else - { - dissect_mq_pdu(tvb, pinfo, tree); - if (bFirstSegment) - { - /* MQ segment is the first of a unreassembled series */ - col_append_str(pinfo->cinfo, COL_INFO, " [Unreassembled MQ]"); - } - return; - } - } - /* Reassembly not enabled or non-fragmented message */ - dissect_mq_pdu(tvb, pinfo, tree); - return; - } - } + /* Reassembly of the MQ messages that span several PDU (several TSH) */ + /* Typically a TCP PDU is 1460 bytes and a MQ PDU is 32766 bytes */ + if (tvb_length(tvb) >= 28) + { + mq_parm_t mq_parm; + + mq_parm.mq_strucID = tvb_get_ntohl(tvb, 0); + mq_parm.mq_ccsid = 0; + mq_parm.mq_ctlf = 0; + mq_parm.mq_encode = 0; + mq_parm.mq_opcode = 0; + mq_parm.mq_int_enc = 0; + mq_parm.mq_str_enc = 0; + + if (mq_parm.mq_strucID == MQ_STRUCTID_TSH || mq_parm.mq_strucID == MQ_STRUCTID_TSH_EBCDIC + || mq_parm.mq_strucID == MQ_STRUCTID_TSHC || mq_parm.mq_strucID == MQ_STRUCTID_TSHC_EBCDIC + || mq_parm.mq_strucID == MQ_STRUCTID_TSHM || mq_parm.mq_strucID == MQ_STRUCTID_TSHM_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; + gboolean bSeg1st = FALSE; + gboolean bSegLst = FALSE; + gboolean bMore = FALSE; + + guint32 uHdl = 0; + guint32 uCurS = 0; + guint32 uPayL = 0; + guint16 uMsgS = 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); + /* Get the Operation Code */ + iOpcd = tvb_get_guint8(tvb, 9+iMulS); + /* Get the Control Flag */ + iCtlF = tvb_get_guint8(tvb, 10+iMulS); + /* Get the Semgnet Length */ + iSegL = tvb_get_ntohl (tvb, 4); + /* First Segment ? */ + bSeg1st = ((iCtlF & MQ_TCF_FIRST) != 0); + /* Last Segment */ + bSegLst = ((iCtlF & MQ_TCF_LAST) != 0); + + mq_in_reassembly=FALSE; + + if ((iOpcd > 0x80 && !(bSeg1st && bSegLst)) || iOpcd==MQ_TST_ASYNC_MESSAGE) + { + proto_tree* mq_tree = NULL; + + /* Optimisation : only fragmented segments go through the reassembly process */ + /* + 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 (uTot1) + and the total number of bytes of this reply (uTot2) + + this mean the flow is the followin: + + PUT + REQUEST_MSG (MaxLen=4096) + ASYNC_MSG (1st/Lst Segment, uTot1=4096, uTot2=279420) + as uTot1!=uTot2, this mean the MSG is not complete, we only receive 4420 of 279420 bytes + REQUEST_MSG (MaxLen=279420) + ASYNC_MSG (1st Segment, Seg#0 uTot1=279420, uTot2=279420) + ASYNC_MSG (0x segment, Seg#1) + ASYNC_MSG (0x segment, Seg#2) + . + ASYNC_MSG (Last Segment, Seg#7) + End of reassembling (we have 279420 bytes to decode) + */ + if (mq_reassembly) + { + fragment_head* fd_head; + guint32 iConnectionId = (pinfo->srcport + pinfo->destport); + iHdrL=28+iMulS; + + /* Get the MQ Handle of the Object */ + uHdl = tvb_get_guint32_endian(tvb, iHdrL + 4, iEnco); + /* Get the Current Seq Number */ + uCurS= tvb_get_guint32_endian(tvb, iHdrL +12, iEnco); + /* Get the Payload Length */ + uPayL= tvb_get_guint32_endian(tvb, iHdrL +16, iEnco); + /* Get the MsgSegment Number */ + uMsgS= tvb_get_guint16_endian(tvb, iHdrL +20, iEnco); + + /* + if it is the 1st Segment, it has 55 bytes + the length and padding + of a variable string at the end of the Header + */ + if (bSeg1st) + { + uStrL = tvb_get_guint8(tvb,iHdrL+54); + uPadL = ((((2+1+uStrL)/4)+1)*4)-(2+1+uStrL); + } + bMore=!bSegLst; + /* + First segment has a longer header + */ + iNxtP = iHdrL + ((bSeg1st)?(54 + 1 + uStrL + uPadL):(24)); + iNxtP += dissect_mq_md(tvb, NULL, iNxtP, NULL, &mq_parm, FALSE); + uPayL = tvb_length_remaining(tvb, iNxtP); + + /* + if it is the 1st Segment, it means we are + of the beginning of a reassembling. We must take the whole segment (with tSHM, and headers) + */ + iBegL = (bSeg1st)?0:iNxtP; + + fd_head = fragment_add_seq_next(&mq_reassembly_table, + tvb, iBegL, + pinfo, iConnectionId, NULL, + iSegL - iBegL, bMore); + + if (tree) + { + proto_item* ti = proto_tree_add_item(tree, proto_mq, tvb, 0, -1, ENC_NA); + if (bMore) + proto_item_append_text(ti, " [%s of a Reassembled MQ Segment] Hdl=0x%08x, CurS=%d, MsgS=%d, PayL=%d", + val_to_str(iOpcd, mq_opcode_vals, "Unknown (0x%02x)"),uHdl,uCurS,uMsgS,uPayL); + else + proto_item_append_text(ti, " %s Hdl=0x%08x, CurS=%d, MsgS=%d, PayL=%d", + val_to_str(iOpcd, mq_opcode_vals, "Unknown (0x%02x)"),uHdl,uCurS,uMsgS,uPayL); + mq_tree = proto_item_add_subtree(ti, ett_mq_reaasemb); + } + else + { + mq_tree=tree; + } + + if (fd_head != NULL && pinfo->fd->num == fd_head->reassembled_in) + { + tvbuff_t* next_tvb; + + /* Reassembly finished */ + if (fd_head->next != NULL) + { + /* 2 or more fragments */ + next_tvb = tvb_new_chain(tvb, fd_head->tvb_data); + add_new_data_source(pinfo, next_tvb, "Reassembled MQ"); + } + else + { + /* Only 1 fragment */ + next_tvb = tvb; + } + dissect_mq_pdu(next_tvb, pinfo, mq_tree); + return; + } + else + { + mq_in_reassembly=TRUE; + /* Reassembly in progress */ + col_set_str(pinfo->cinfo, COL_PROTOCOL, "MQ"); + col_add_fstr(pinfo->cinfo, COL_INFO, "[%s of a Reassembled MQ Segment] Hdl=0x%08x, CurS=%d, MsgS=%d, PayL=%d", + val_to_str(iOpcd, mq_opcode_vals, "Unknown (0x%02x)"),uHdl,uCurS,uMsgS,uPayL); + dissect_mq_pdu(tvb, pinfo, mq_tree); + return; + } + } + else + { + dissect_mq_pdu(tvb, pinfo, mq_tree); + if (bSeg1st) + { + /* MQ segment is the first of a unreassembled series */ + col_append_str(pinfo->cinfo, COL_INFO, " [Unreassembled MQ]"); + } + return; + } + } + /* Reassembly not enabled or non-fragmented message */ + dissect_mq_pdu(tvb, pinfo, tree); + return; + } + } } -static guint -get_mq_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset) +static guint get_mq_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset) { - if (tvb_length_remaining(tvb, offset) >= 8) - { - if (tvb_get_ntohl(tvb, 0) == MQ_STRUCTID_TSH || tvb_get_ntohl(tvb, 0) == MQ_STRUCTID_TSH_EBCDIC - || tvb_get_ntohl(tvb, 0) == MQ_STRUCTID_TSHC || tvb_get_ntohl(tvb, 0) == MQ_STRUCTID_TSHC_EBCDIC - || tvb_get_ntohl(tvb, 0) == MQ_STRUCTID_TSHM || tvb_get_ntohl(tvb, 0) == MQ_STRUCTID_TSHM_EBCDIC) - return tvb_get_ntohl(tvb, offset + 4); - } - return 0; + if (tvb_length_remaining(tvb, offset) >= 8) + { + guint32 mq_strucID = tvb_get_ntohl(tvb, 0); + if ( (mq_strucID & MQ_MASK_TSHx) == MQ_STRUCTID_TSHx || (mq_strucID & MQ_MASK_TSHx) == MQ_STRUCTID_TSHx_EBCDIC ) + { + return tvb_get_ntohl(tvb, offset + 4); + } + } + return 0; } -static void -dissect_mq_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +static void dissect_mq_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - tcp_dissect_pdus(tvb, pinfo, tree, mq_desegment, 28, get_mq_pdu_len, reassemble_mq); + tcp_dissect_pdus(tvb, pinfo, tree, mq_desegment, 28, get_mq_pdu_len, reassemble_mq); } -static void -dissect_mq_spx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +static void dissect_mq_spx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - /* Since SPX has no standard desegmentation, MQ cannot be performed as well */ - dissect_mq_pdu(tvb, pinfo, tree); + /* Since SPX has no standard desegmentation, MQ cannot be performed as well */ + dissect_mq_pdu(tvb, pinfo, tree); } -static gboolean -dissect_mq_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint iProto, void *data _U_) +static gboolean dissect_mq_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint iProto, void *data _U_) { - if (tvb_length(tvb) >= 28) - { - guint32 structId; - guint8 cEndian; - guint8 cEndian2; - structId = tvb_get_ntohl(tvb, 0); - cEndian = tvb_get_guint8(tvb, 8); - cEndian2 = tvb_get_guint8(tvb, 16); - - if (((structId == MQ_STRUCTID_TSH || structId == MQ_STRUCTID_TSH_EBCDIC - || structId == MQ_STRUCTID_TSHC || structId == MQ_STRUCTID_TSHC_EBCDIC) - && (cEndian == MQ_LITTLE_ENDIAN || cEndian == MQ_BIG_ENDIAN)) - || ((structId == MQ_STRUCTID_TSHM || structId == MQ_STRUCTID_TSHM_EBCDIC) - && (cEndian2 == MQ_LITTLE_ENDIAN || cEndian2 == MQ_BIG_ENDIAN))) - { - /* Register this dissector for this conversation */ - conversation_t *conversation; - - conversation = find_or_create_conversation(pinfo); - if (iProto == MQ_XPT_TCP) conversation_set_dissector(conversation, mq_tcp_handle); - - /* Dissect the packet */ - reassemble_mq(tvb, pinfo, tree); - return TRUE; - } - } - return FALSE; + if (tvb_length(tvb) >= 28) + { + guint32 mq_strucID = tvb_get_ntohl(tvb, 0); + if ( (mq_strucID & MQ_MASK_TSHx) == MQ_STRUCTID_TSHx || (mq_strucID & MQ_MASK_TSHx) == MQ_STRUCTID_TSHx_EBCDIC ) + { + /* Register this dissector for this conversation */ + conversation_t *conversation; + + conversation = find_or_create_conversation(pinfo); + if (iProto == MQ_XPT_TCP) conversation_set_dissector(conversation, mq_tcp_handle); + + /* Dissect the packet */ + reassemble_mq(tvb, pinfo, tree); + return TRUE; + } + } + 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); + 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); + 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); + return dissect_mq_heur(tvb, pinfo, tree, MQ_XPT_HTTP, NULL); } -static void -mq_init(void) +static void mq_init(void) { - reassembly_table_init(&mq_reassembly_table, - &addresses_reassembly_table_functions); + reassembly_table_init(&mq_reassembly_table, + &addresses_reassembly_table_functions); } -void -proto_register_mq(void) +void proto_register_mq(void) { - static hf_register_info hf[] = { - { &hf_mq_tsh_structid, - { "TSH structid", "mq.tsh.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - - { &hf_mq_tsh_packetlength, - { "MQ Segment length", "mq.tsh.seglength", FT_UINT32, BASE_DEC, NULL, 0x0, "TSH MQ Segment length", HFILL }}, - - { &hf_mq_tsh_convid, - { "Conversation ID", "mq.tsh.convid", FT_UINT32, BASE_DEC, NULL, 0x0, "TSH Conversation ID", HFILL }}, - - { &hf_mq_tsh_requestid, - { "Request ID", "mq.tsh.requestid", FT_UINT32, BASE_DEC, NULL, 0x0, "TSH Request ID", HFILL }}, - - { &hf_mq_tsh_byteorder, - { "Byte order", "mq.tsh.byteorder", FT_UINT8, BASE_HEX, VALS(mq_byteorder_vals), 0x0, "TSH Byte order", HFILL }}, - - { &hf_mq_tsh_opcode, - { "Segment type", "mq.tsh.type", FT_UINT8, BASE_HEX, VALS(mq_opcode_vals), 0x0, "TSH MQ segment type", HFILL }}, - - { &hf_mq_tsh_controlflags, - { "Control flags", "mq.tsh.cflags", FT_UINT8, BASE_HEX, NULL, 0x0, "TSH Control flags", HFILL }}, - - { &hf_mq_tsh_reserved, - { "Reserved", "mq.tsh.reserved", FT_UINT8, BASE_HEX, NULL, 0x0, "TSH Reserved", HFILL }}, - - { &hf_mq_tsh_luwid, - { "Logical unit of work identifier", "mq.tsh.luwid", FT_BYTES, BASE_NONE, NULL, 0x0, "TSH logical unit of work identifier", HFILL }}, - - { &hf_mq_tsh_encoding, - { "Encoding", "mq.tsh.encoding", FT_UINT32, BASE_DEC, NULL, 0x0, "TSH Encoding", HFILL }}, - - { &hf_mq_tsh_ccsid, - { "Character set", "mq.tsh.ccsid", FT_UINT16, BASE_DEC, NULL, 0x0, "TSH CCSID", HFILL }}, - - { &hf_mq_tsh_padding, - { "Padding", "mq.tsh.padding", FT_UINT16, BASE_HEX, NULL, 0x0, "TSH Padding", HFILL }}, - - { &hf_mq_tsh_tcf_confirmreq, - { "Confirm request", "mq.tsh.tcf.confirmreq", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_CONFIRM_REQUEST, "TSH TCF Confirm request", HFILL }}, - - { &hf_mq_tsh_tcf_error, - { "Error", "mq.tsh.tcf.error", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_ERROR, "TSH TCF Error", HFILL }}, - - { &hf_mq_tsh_tcf_reqclose, - { "Request close", "mq.tsh.tcf.reqclose", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_REQUEST_CLOSE, "TSH TCF Request close", HFILL }}, - - { &hf_mq_tsh_tcf_closechann, - { "Close channel", "mq.tsh.tcf.closechann", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_CLOSE_CHANNEL, "TSH TCF Close channel", HFILL }}, - - { &hf_mq_tsh_tcf_first, - { "First", "mq.tsh.tcf.first", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_FIRST, "TSH TCF First", HFILL }}, - - { &hf_mq_tsh_tcf_last, - { "Last", "mq.tsh.tcf.last", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_LAST, "TSH TCF Last", HFILL }}, - - { &hf_mq_tsh_tcf_reqacc, - { "Request accepted", "mq.tsh.tcf.reqacc", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_REQUEST_ACCEPTED, "TSH TCF Request accepted", HFILL }}, - - { &hf_mq_tsh_tcf_dlq, - { "DLQ used", "mq.tsh.tcf.dlq", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_DLQ_USED, "TSH TCF DLQ used", HFILL }}, - - { &hf_mq_api_replylength, - { "Reply length", "mq.api.replylength", FT_UINT32, BASE_DEC, NULL, 0x0, "API Reply length", HFILL }}, - - { &hf_mq_api_completioncode, - { "Completion code", "mq.api.completioncode", FT_UINT32, BASE_DEC, NULL, 0x0, "API Completion code", HFILL }}, - - { &hf_mq_api_reasoncode, - { "Reason code", "mq.api.reasoncode", FT_UINT32, BASE_DEC, NULL, 0x0, "API Reason code", HFILL }}, - - { &hf_mq_api_objecthandle, - { "Object handle", "mq.api.hobj", FT_UINT32, BASE_HEX, NULL, 0x0, "API Object handle", HFILL }}, - - { &hf_mq_id_icf_msgseq, - { "Message sequence", "mq.id.icf.msgseq", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_MSG_SEQ, "ID ICF Message sequence", HFILL }}, - - { &hf_mq_id_icf_convcap, - { "Conversion capable", "mq.id.icf.convcap", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_CONVERSION_CAPABLE, "ID ICF Conversion capable", HFILL }}, - - { &hf_mq_id_icf_splitmsg, - { "Split messages", "mq.id.icf.splitmsg", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_SPLIT_MESSAGE, "ID ICF Split message", HFILL }}, - - { &hf_mq_id_icf_mqreq, - { "MQ request", "mq.id.icf.mqreq", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_MQREQUEST, "ID ICF MQ request", HFILL }}, - - { &hf_mq_id_icf_svrsec, - { "Server connection security", "mq.id.icf.svrsec", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_SVRCONN_SECURITY, "ID ICF Server connection security", HFILL }}, - - { &hf_mq_id_icf_runtime, - { "Runtime application", "mq.id.icf.runtime", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_RUNTIME, "ID ICF Runtime application", HFILL }}, - - { &hf_mq_msh_structid, - { "MSH structid", "mq.msh.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - - { &hf_mq_msh_seqnum, - { "Sequence number", "mq.msh.seqnum", FT_UINT32, BASE_DEC, NULL, 0x0, "MSH sequence number", HFILL }}, - - { &hf_mq_msh_datalength, - { "Buffer length", "mq.msh.buflength", FT_UINT32, BASE_DEC, NULL, 0x0, "MSH buffer length", HFILL }}, - - { &hf_mq_msh_unknown1, - { "Unknown1", "mq.msh.unknown1", FT_UINT32, BASE_HEX, NULL, 0x0, "MSH unknown1", HFILL }}, - - { &hf_mq_msh_msglength, - { "Message length", "mq.msh.msglength", FT_UINT32, BASE_DEC, NULL, 0x0, "MSH message length", HFILL }}, - - { &hf_mq_xqh_structid, - { "XQH structid", "mq.xqh.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - - { &hf_mq_xqh_version, - { "Version", "mq.xqh.version", FT_UINT32, BASE_DEC, NULL, 0x0, "XQH version", HFILL }}, - - { &hf_mq_xqh_remoteq, - { "Remote queue", "mq.xqh.remoteq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "XQH remote queue", HFILL }}, - - { &hf_mq_xqh_remoteqmgr, - { "Remote queue manager", "mq.xqh.remoteqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "XQH remote queue manager", HFILL }}, - - { &hf_mq_id_structid, - { "ID structid", "mq.id.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - - { &hf_mq_id_level, - { "FAP level", "mq.id.level", FT_UINT8, BASE_DEC, NULL, 0x0, "ID Formats And Protocols level", HFILL }}, - - { &hf_mq_id_flags, - { "Flags", "mq.id.flags", FT_UINT8, BASE_HEX, NULL, 0x0, "ID flags", HFILL }}, - - { &hf_mq_id_unknown2, - { "Unknown2", "mq.id.unknown2", FT_UINT8, BASE_HEX, NULL, 0x0, "ID unknown2", HFILL }}, - - { &hf_mq_id_ieflags, - { "Initial error flags", "mq.id.ief", FT_UINT8, BASE_HEX, NULL, 0x0, "ID initial error flags", HFILL }}, - - { &hf_mq_id_unknown4, - { "Unknown4", "mq.id.unknown4", FT_UINT16, BASE_HEX, NULL, 0x0, "ID unknown4", HFILL }}, - - { &hf_mq_id_maxmsgperbatch, - { "Maximum messages per batch", "mq.id.maxmsgperbatch", FT_UINT16, BASE_DEC, NULL, 0x0, "ID max msg per batch", HFILL }}, - - { &hf_mq_id_maxtransmissionsize, - { "Maximum transmission size", "mq.id.maxtranssize", FT_UINT32, BASE_DEC, NULL, 0x0, "ID max trans size", HFILL }}, - - { &hf_mq_id_maxmsgsize, - { "Maximum message size", "mq.id.maxmsgsize", FT_UINT32, BASE_DEC, NULL, 0x0, "ID max msg size", HFILL }}, - - { &hf_mq_id_sequencewrapvalue, - { "Sequence wrap value", "mq.id.seqwrap", FT_UINT32, BASE_DEC, NULL, 0x0, "ID seq wrap value", HFILL }}, - - { &hf_mq_id_channel, - { "Channel name", "mq.id.channelname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "ID channel name", HFILL }}, - - { &hf_mq_id_capflags, - { "Capability flags", "mq.id.capflags", FT_UINT8, BASE_HEX, NULL, 0x0, "ID Capability flags", HFILL }}, - - { &hf_mq_id_unknown5, - { "Unknown5", "mq.id.unknown5", FT_UINT8, BASE_HEX, NULL, 0x0, "ID unknown5", HFILL }}, - - { &hf_mq_id_ccsid, - { "Character set", "mq.id.ccsid", FT_UINT16, BASE_DEC, NULL, 0x0, "ID character set", HFILL }}, - - { &hf_mq_id_queuemanager, - { "Queue manager", "mq.id.qm", FT_STRINGZ, BASE_NONE, NULL, 0x0, "ID Queue manager", HFILL }}, - - { &hf_mq_id_heartbeatinterval, - { "Heartbeat interval", "mq.id.hbint", FT_UINT32, BASE_DEC, NULL, 0x0, "ID Heartbeat interval", HFILL }}, - -#if 0 - { &hf_mq_id_unknown6, - { "Unknown6", "mq.id.unknown6", FT_UINT16, BASE_HEX, NULL, 0x0, "ID unknown6", HFILL }}, -#endif - - { &hf_mq_id_ief_ccsid, - { "Invalid CCSID", "mq.id.ief.ccsid", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_CCSID, "ID invalid CCSID", HFILL }}, - - { &hf_mq_id_ief_enc, - { "Invalid encoding", "mq.id.ief.enc", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_ENCODING, "ID invalid encoding", HFILL }}, - - { &hf_mq_id_ief_mxtrsz, - { "Invalid maximum transmission size", "mq.id.ief.mxtrsz", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_MAX_TRANSMISSION_SIZE, "ID invalid maximum transmission size", HFILL }}, - - { &hf_mq_id_ief_fap, - { "Invalid FAP level", "mq.id.ief.fap", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_FAP_LEVEL, "ID invalid FAP level", HFILL }}, - - { &hf_mq_id_ief_mxmsgsz, - { "Invalid message size", "mq.id.ief.mxmsgsz", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_MAX_MSG_SIZE, "ID invalid message size", HFILL }}, - - { &hf_mq_id_ief_mxmsgpb, - { "Invalid maximum message per batch", "mq.id.ief.mxmsgpb", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_MAX_MSG_PER_BATCH, "ID maximum message per batch", HFILL }}, - - { &hf_mq_id_ief_seqwrap, - { "Invalid sequence wrap value", "mq.id.ief.seqwrap", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_SEQ_WRAP_VALUE, "ID invalid sequence wrap value", HFILL }}, - - { &hf_mq_id_ief_hbint, - { "Invalid heartbeat interval", "mq.id.ief.hbint", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_HEARTBEAT_INTERVAL, "ID invalid heartbeat interval", HFILL }}, - - { &hf_mq_uid_structid, - { "UID structid", "mq.uid.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - - { &hf_mq_uid_userid, - { "User ID", "mq.uid.userid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "UID structid", HFILL }}, - - { &hf_mq_uid_password, - { "Password", "mq.uid.password", FT_STRINGZ, BASE_NONE, NULL, 0x0, "UID password", HFILL }}, - - { &hf_mq_uid_longuserid, - { "Long User ID", "mq.uid.longuserid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "UID long user id", HFILL }}, - - { &hf_mq_uid_securityid, - { "Security ID", "mq.uid.securityid", FT_BYTES, BASE_NONE, NULL, 0x0, "UID security id", HFILL }}, - - { &hf_mq_conn_queuemanager, - { "Queue manager", "mq.conn.qm", FT_STRINGZ, BASE_NONE, NULL, 0x0, "CONN queue manager", HFILL }}, - - { &hf_mq_conn_appname, - { "Application name", "mq.conn.appname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "CONN application name", HFILL }}, - - { &hf_mq_conn_apptype, - { "Application type", "mq.conn.apptype", FT_INT32, BASE_DEC, NULL, 0x0, "CONN application type", HFILL }}, - - { &hf_mq_conn_acttoken, - { "Accounting token", "mq.conn.acttoken", FT_BYTES, BASE_NONE, NULL, 0x0, "CONN accounting token", HFILL }}, - - { &hf_mq_conn_version, - { "Version", "mq.conn.version", FT_UINT32, BASE_DEC, VALS(mq_conn_version_vals), 0x0, "CONN version", HFILL }}, - - { &hf_mq_conn_options, - { "Options", "mq.conn.options", FT_UINT32, BASE_HEX, NULL, 0x0, "CONN options", HFILL }}, - - { &hf_mq_inq_nbsel, - { "Selector count", "mq.inq.nbsel", FT_UINT32, BASE_DEC, NULL, 0x0, "INQ Selector count", HFILL }}, - - { &hf_mq_inq_nbint, - { "Integer count", "mq.inq.nbint", FT_UINT32, BASE_DEC, NULL, 0x0, "INQ Integer count", HFILL }}, - - { &hf_mq_inq_charlen, - { "Character length", "mq.inq.charlen", FT_UINT32, BASE_DEC, NULL, 0x0, "INQ Character length", HFILL }}, - - { &hf_mq_inq_sel, - { "Selector", "mq.inq.sel", FT_UINT32, BASE_DEC, NULL, 0x0, "INQ Selector", HFILL }}, - - { &hf_mq_inq_intvalue, - { "Integer value", "mq.inq.intvalue", FT_UINT32, BASE_DEC, NULL, 0x0, "INQ Integer value", HFILL }}, - - { &hf_mq_inq_charvalues, - { "Char values", "mq.inq.charvalues", FT_STRINGZ, BASE_NONE, NULL, 0x0, "INQ Character values", HFILL }}, - - { &hf_mq_spi_verb, - { "SPI Verb", "mq.spi.verb", FT_UINT32, BASE_DEC, VALS(mq_spi_verbs_vals), 0x0, NULL, HFILL }}, - - { &hf_mq_spi_version, - { "Version", "mq.spi.version", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Version", HFILL }}, - - { &hf_mq_spi_length, - { "Max reply size", "mq.spi.replength", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Max reply size", HFILL }}, - - { &hf_mq_spi_base_structid, - { "SPI Structid", "mq.spib.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "SPI Base structid", HFILL }}, - - { &hf_mq_spi_base_version, - { "Version", "mq.spib.version", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Base Version", HFILL }}, - - { &hf_mq_spi_base_length, - { "Length", "mq.spib.length", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Base Length", HFILL }}, - - { &hf_mq_spi_spqo_nbverb, - { "Number of verbs", "mq.spqo.nbverb", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Query Output Number of verbs", HFILL }}, - - { &hf_mq_spi_spqo_verbid, - { "Verb", "mq.spqo.verb", FT_UINT32, BASE_DEC, VALS(mq_spi_verbs_vals), 0x0, "SPI Query Output VerbId", HFILL }}, - - { &hf_mq_spi_spqo_maxinoutversion, - { "Max InOut Version", "mq.spqo.maxiov", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Query Output Max InOut Version", HFILL }}, - - { &hf_mq_spi_spqo_maxinversion, - { "Max In Version", "mq.spqo.maxiv", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Query Output Max In Version", HFILL }}, - - { &hf_mq_spi_spqo_maxoutversion, - { "Max Out Version", "mq.spqo.maxov", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Query Output Max Out Version", HFILL }}, - - { &hf_mq_spi_spqo_flags, - { "Flags", "mq.spqo.flags", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Query Output flags", HFILL }}, - - { &hf_mq_spi_spai_mode, - { "Mode", "mq.spai.mode", FT_UINT32, BASE_DEC, VALS(mq_spi_activate_vals), 0x0, "SPI Activate Input mode", HFILL }}, - - { &hf_mq_spi_spai_unknown1, - { "Unknown1", "mq.spai.unknown1", FT_STRINGZ, BASE_NONE, NULL, 0x0, "SPI Activate Input unknown1", HFILL }}, - - { &hf_mq_spi_spai_unknown2, - { "Unknown2", "mq.spai.unknown2", FT_STRINGZ, BASE_NONE, NULL, 0x0, "SPI Activate Input unknown2", HFILL }}, - - { &hf_mq_spi_spai_msgid, - { "Message Id", "mq.spai.msgid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "SPI Activate Input message id", HFILL }}, - - { &hf_mq_spi_spgi_batchsize, - { "Batch size", "mq.spgi.batchsize", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Get Input batch size", HFILL }}, - - { &hf_mq_spi_spgi_batchint, - { "Batch interval", "mq.spgi.batchint", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Get Input batch interval", HFILL }}, - - { &hf_mq_spi_spgi_maxmsgsize, - { "Max message size", "mq.spgi.maxmsgsize", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Get Input max message size", HFILL }}, - - { &hf_mq_spi_spgo_options, - { "Options", "mq.spgo.options", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Get Output options", HFILL }}, - - { &hf_mq_spi_spgo_size, - { "Size", "mq.spgo.size", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Get Output size", HFILL }}, - - { &hf_mq_spi_options_blank, - { "Blank padded", "mq.spi.options.blank", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_SPI_OPTIONS_BLANK_PADDED, "SPI Options blank padded", HFILL }}, - - { &hf_mq_spi_options_syncpoint, - { "Syncpoint", "mq.spi.options.sync", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_SPI_OPTIONS_SYNCPOINT, "SPI Options syncpoint", HFILL }}, - - { &hf_mq_spi_options_deferred, - { "Deferred", "mq.spi.options.deferred", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_SPI_OPTIONS_DEFERRED, "SPI Options deferred", HFILL }}, - - { &hf_mq_put_length, - { "Data length", "mq.put.length", FT_UINT32, BASE_DEC, NULL, 0x0, "PUT Data length", HFILL }}, - - { &hf_mq_open_options, - { "Options", "mq.open.options", FT_UINT32, BASE_DEC, NULL, 0x0, "OPEN options", HFILL }}, - - { &hf_mq_ping_length, - { "Length", "mq.ping.length", FT_UINT32, BASE_DEC, NULL, 0x0, "PING length", HFILL }}, - - { &hf_mq_ping_buffer, - { "Buffer", "mq.ping.buffer", FT_BYTES, BASE_NONE, NULL, 0x0, "PING buffer", HFILL }}, - - { &hf_mq_reset_length, - { "Length", "mq.reset.length", FT_UINT32, BASE_DEC, NULL, 0x0, "RESET length", HFILL }}, - - { &hf_mq_reset_seqnum, - { "Sequence number", "mq.reset.seqnum", FT_UINT32, BASE_DEC, NULL, 0x0, "RESET sequence number", HFILL }}, - - { &hf_mq_status_length, - { "Length", "mq.status.length", FT_UINT32, BASE_DEC, NULL, 0x0, "STATUS length", HFILL }}, - - { &hf_mq_status_code, - { "Code", "mq.status.code", FT_UINT32, BASE_DEC, VALS(mq_status_vals), 0x0, "STATUS code", HFILL }}, - - { &hf_mq_status_value, - { "Value", "mq.status.value", FT_UINT32, BASE_DEC, NULL, 0x0, "STATUS value", HFILL }}, - - { &hf_mq_od_structid, - { "OD structid", "mq.od.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - - { &hf_mq_od_version, - { "Version", "mq.od.version", FT_UINT32, BASE_DEC, NULL, 0x0, "OD version", HFILL }}, - - { &hf_mq_od_objecttype, - { "Object type", "mq.od.objtype", FT_UINT32, BASE_DEC, NULL, 0x0, "OD object type", HFILL }}, - - { &hf_mq_od_objectname, - { "Object name", "mq.od.objname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD object name", HFILL }}, - - { &hf_mq_od_objectqmgrname, - { "Object queue manager name", "mq.od.objqmgrname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD object queue manager name", HFILL }}, - - { &hf_mq_od_dynamicqname, - { "Dynamic queue name", "mq.od.dynqname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD dynamic queue name", HFILL }}, - - { &hf_mq_od_alternateuserid, - { "Alternate user id", "mq.od.altuserid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD alternate userid", HFILL }}, - - { &hf_mq_od_recspresent, - { "Number of records", "mq.od.nbrrec", FT_UINT32, BASE_DEC, NULL, 0x0, "OD number of records", HFILL }}, - - { &hf_mq_od_knowndestcount, - { "Known destination count", "mq.od.kdestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "OD known destination count", HFILL }}, - - { &hf_mq_od_unknowndestcount, - { "Unknown destination count", "mq.od.udestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "OD unknown destination count", HFILL }}, - - { &hf_mq_od_invaliddestcount, - { "Invalid destination count", "mq.od.idestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "OD invalid destination count", HFILL }}, - - { &hf_mq_od_objectrecoffset, - { "Offset of first OR", "mq.od.offsetor", FT_UINT32, BASE_DEC, NULL, 0x0, "OD offset of first OR", HFILL }}, - - { &hf_mq_od_responserecoffset, - { "Offset of first RR", "mq.od.offsetrr", FT_UINT32, BASE_DEC, NULL, 0x0, "OD offset of first RR", HFILL }}, - - { &hf_mq_od_objectrecptr, - { "Address of first OR", "mq.od.addror", FT_UINT32, BASE_HEX, NULL, 0x0, "OD address of first OR", HFILL }}, - - { &hf_mq_od_responserecptr, - { "Address of first RR", "mq.od.addrrr", FT_UINT32, BASE_HEX, NULL, 0x0, "OD address of first RR", HFILL }}, - - { &hf_mq_od_alternatesecurityid, - { "Alternate security id", "mq.od.altsecid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD alternate security id", HFILL }}, - - { &hf_mq_od_resolvedqname, - { "Resolved queue name", "mq.od.resolvq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD resolved queue name", HFILL }}, - - { &hf_mq_od_resolvedqmgrname, - { "Resolved queue manager name", "mq.od.resolvqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD resolved queue manager name", HFILL }}, - - { &hf_mq_or_objname, - { "Object name", "mq.or.objname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OR object name", HFILL }}, - - { &hf_mq_or_objqmgrname, - { "Object queue manager name", "mq.or.objqmgrname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OR object queue manager name", HFILL }}, - - { &hf_mq_rr_completioncode, - { "Completion code", "mq.rr.completioncode", FT_UINT32, BASE_DEC, NULL, 0x0, "OR completion code", HFILL }}, - - { &hf_mq_rr_reasoncode, - { "Reason code", "mq.rr.reasoncode", FT_UINT32, BASE_DEC, NULL, 0x0, "OR reason code", HFILL }}, - - { &hf_mq_pmr_msgid, - { "Message Id", "mq.pmr.msgid", FT_BYTES, BASE_NONE, NULL, 0x0, "PMR Message Id", HFILL }}, - - { &hf_mq_pmr_correlid, - { "Correlation Id", "mq.pmr.correlid", FT_BYTES, BASE_NONE, NULL, 0x0, "PMR Correlation Id", HFILL }}, - - { &hf_mq_pmr_groupid, - { "GroupId", "mq.pmr.groupid", FT_BYTES, BASE_NONE, NULL, 0x0, "PMR GroupId", HFILL }}, - - { &hf_mq_pmr_feedback, - { "Feedback", "mq.pmr.feedback", FT_UINT32, BASE_DEC, NULL, 0x0, "PMR Feedback", HFILL }}, - - { &hf_mq_pmr_acttoken, - { "Accounting token", "mq.pmr.acttoken", FT_BYTES, BASE_NONE, NULL, 0x0, "PMR accounting token", HFILL }}, - - { &hf_mq_md_structid, - { "MD structid", "mq.md.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - - { &hf_mq_md_version, - { "Version", "mq.md.version", FT_UINT32, BASE_DEC, NULL, 0x0, "MD version", HFILL }}, - - { &hf_mq_md_report, - { "Report", "mq.md.report", FT_UINT32, BASE_DEC, NULL, 0x0, "MD report", HFILL }}, - - { &hf_mq_md_msgtype, - { "Message type", "mq.md.msgtype", FT_UINT32, BASE_DEC, NULL, 0x0, "MD message type", HFILL }}, - - { &hf_mq_md_expiry, - { "Expiry", "mq.md.expiry", FT_INT32, BASE_DEC, NULL, 0x0, "MD expiry", HFILL }}, - - { &hf_mq_md_feedback, - { "Feedback", "mq.md.feedback", FT_UINT32, BASE_DEC, NULL, 0x0, "MD feedback", HFILL }}, - - { &hf_mq_md_encoding, - { "Encoding", "mq.md.encoding", FT_UINT32, BASE_DEC, NULL, 0x0, "MD encoding", HFILL }}, - - { &hf_mq_md_ccsid, - { "Character set", "mq.md.ccsid", FT_INT32, BASE_DEC, NULL, 0x0, "MD character set", HFILL }}, - - { &hf_mq_md_format, - { "Format", "mq.md.format", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD format", HFILL }}, - - { &hf_mq_md_priority, - { "Priority", "mq.md.priority", FT_INT32, BASE_DEC, NULL, 0x0, "MD priority", HFILL }}, - - { &hf_mq_md_persistence, - { "Persistence", "mq.md.persistence", FT_UINT32, BASE_DEC, NULL, 0x0, "MD persistence", HFILL }}, - - { &hf_mq_md_msgid, - { "MessageId", "mq.md.msgid", FT_BYTES, BASE_NONE, NULL, 0x0, "MD Message Id", HFILL }}, - - { &hf_mq_md_correlid, - { "CorrelationId", "mq.md.correlid", FT_BYTES, BASE_NONE, NULL, 0x0, "MD Correlation Id", HFILL }}, - - { &hf_mq_md_backountcount, - { "Backount count", "mq.md.backount", FT_UINT32, BASE_DEC, NULL, 0x0, "MD Backount count", HFILL }}, - - { &hf_mq_md_replytoq, - { "ReplyToQ", "mq.md.replytoq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD ReplyTo queue", HFILL }}, - - { &hf_mq_md_replytoqmgr, - { "ReplyToQMgr", "mq.md.replytoqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD ReplyTo queue manager", HFILL }}, - - { &hf_mq_md_userid, - { "UserId", "mq.md.userid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD UserId", HFILL }}, - - { &hf_mq_md_acttoken, - { "Accounting token", "mq.md.acttoken", FT_BYTES, BASE_NONE, NULL, 0x0, "MD accounting token", HFILL }}, - - { &hf_mq_md_appliddata, - { "ApplicationId data", "mq.md.appldata", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Put applicationId data", HFILL }}, - - { &hf_mq_md_putappltype, - { "Put Application Type", "mq.md.appltype", FT_INT32, BASE_DEC, NULL, 0x0, "MD Put application type", HFILL }}, - - { &hf_mq_md_putapplname, - { "Put Application Name", "mq.md.applname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Put application name", HFILL }}, - - { &hf_mq_md_putdate, - { "Put date", "mq.md.date", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Put date", HFILL }}, - - { &hf_mq_md_puttime, - { "Put time", "mq.md.time", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Put time", HFILL }}, - - { &hf_mq_md_applorigindata, - { "Application original data", "mq.md.origdata", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Application original data", HFILL }}, - - { &hf_mq_md_groupid, - { "GroupId", "mq.md.groupid", FT_BYTES, BASE_NONE, NULL, 0x0, "MD GroupId", HFILL }}, - - { &hf_mq_md_msgseqnumber, - { "Message sequence number", "mq.md.msgseqnumber", FT_UINT32, BASE_DEC, NULL, 0x0, "MD Message sequence number", HFILL }}, - - { &hf_mq_md_offset, - { "Offset", "mq.md.offset", FT_UINT32, BASE_DEC, NULL, 0x0, "MD Offset", HFILL }}, - - { &hf_mq_md_msgflags, - { "Message flags", "mq.md.msgflags", FT_UINT32, BASE_HEX, NULL, 0x0, "MD Message flags", HFILL }}, - - { &hf_mq_md_originallength, - { "Original length", "mq.md.origlength", FT_INT32, BASE_DEC, NULL, 0x0, "MD Original length", HFILL }}, - - { &hf_mq_md_hidden_lastformat, - { "Last format", "mq.md.lastformat", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Last format", HFILL }}, - - { &hf_mq_dlh_structid, - { "DLH structid", "mq.dlh.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - - { &hf_mq_dlh_version, - { "Version", "mq.dlh.version", FT_UINT32, BASE_DEC, NULL, 0x0, "DLH version", HFILL }}, - - { &hf_mq_dlh_reason, - { "Reason", "mq.dlh.reason", FT_UINT32, BASE_DEC, NULL, 0x0, "DLH reason", HFILL }}, - - { &hf_mq_dlh_destq, - { "Destination queue", "mq.dlh.destq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH destination queue", HFILL }}, - - { &hf_mq_dlh_destqmgr, - { "Destination queue manager", "mq.dlh.destqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH destination queue manager", HFILL }}, - - { &hf_mq_dlh_encoding, - { "Encoding", "mq.dlh.encoding", FT_UINT32, BASE_DEC, NULL, 0x0, "DLH encoding", HFILL }}, - - { &hf_mq_dlh_ccsid, - { "Character set", "mq.dlh.ccsid", FT_INT32, BASE_DEC, NULL, 0x0, "DLH character set", HFILL }}, - - { &hf_mq_dlh_format, - { "Format", "mq.dlh.format", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH format", HFILL }}, - - { &hf_mq_dlh_putappltype, - { "Put application type", "mq.dlh.putappltype", FT_INT32, BASE_DEC, NULL, 0x0, "DLH put application type", HFILL }}, - - { &hf_mq_dlh_putapplname, - { "Put application name", "mq.dlh.putapplname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH put application name", HFILL }}, - - { &hf_mq_dlh_putdate, - { "Put date", "mq.dlh.putdate", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH put date", HFILL }}, - - { &hf_mq_dlh_puttime, - { "Put time", "mq.dlh.puttime", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH put time", HFILL }}, - - { &hf_mq_dh_putmsgrecfields, - { "Flags PMR", "mq.dh.flagspmr", FT_UINT32, BASE_DEC, NULL, 0x0, "DH flags PMR", HFILL }}, - - { &hf_mq_dh_recspresent, - { "Number of records", "mq.dh.nbrrec", FT_UINT32, BASE_DEC, NULL, 0x0, "DH number of records", HFILL }}, - - { &hf_mq_dh_objectrecoffset, - { "Offset of first OR", "mq.dh.offsetor", FT_UINT32, BASE_DEC, NULL, 0x0, "DH offset of first OR", HFILL }}, - - { &hf_mq_dh_putmsgrecoffset, - { "Offset of first PMR", "mq.dh.offsetpmr", FT_UINT32, BASE_DEC, NULL, 0x0, "DH offset of first PMR", HFILL }}, - - { &hf_mq_gmo_structid, - { "GMO 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 }}, - - { &hf_mq_gmo_options, - { "Options", "mq.gmo.options", FT_UINT32, BASE_HEX, NULL, 0x0, "GMO options", HFILL }}, - - { &hf_mq_gmo_waitinterval, - { "Wait Interval", "mq.gmo.waitint", FT_INT32, BASE_DEC, NULL, 0x0, "GMO wait interval", HFILL }}, - - { &hf_mq_gmo_signal1, - { "Signal 1", "mq.gmo.signal1", FT_UINT32, BASE_HEX, NULL, 0x0, "GMO signal 1", HFILL }}, - - { &hf_mq_gmo_signal2, - { "Signal 2", "mq.gmo.signal2", FT_UINT32, BASE_HEX, NULL, 0x0, "GMO signal 2", HFILL }}, - - { &hf_mq_gmo_resolvedqname, - { "Resolved queue name", "mq.gmo.resolvq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "GMO resolved queue name", HFILL }}, - - { &hf_mq_gmo_matchoptions, - { "Match options", "mq.gmo.matchopt", FT_UINT32, BASE_HEX, NULL, 0x0, "GMO match options", HFILL }}, - - { &hf_mq_gmo_groupstatus, - { "Group status", "mq.gmo.grpstat", FT_UINT8, BASE_HEX, NULL, 0x0, "GMO group status", HFILL }}, - - { &hf_mq_gmo_segmentstatus, - { "Segment status", "mq.gmo.sgmtstat", FT_UINT8, BASE_HEX, NULL, 0x0, "GMO segment status", HFILL }}, - - { &hf_mq_gmo_segmentation, - { "Segmentation", "mq.gmo.segmentation", FT_UINT8, BASE_HEX, NULL, 0x0, "GMO segmentation", HFILL }}, - - { &hf_mq_gmo_reserved, - { "Reserved", "mq.gmo.reserved", FT_UINT8, BASE_HEX, NULL, 0x0, "GMO reserved", HFILL }}, - - { &hf_mq_gmo_msgtoken, - { "Message token", "mq.gmo.msgtoken", FT_BYTES, BASE_NONE, NULL, 0x0, "GMO message token", HFILL }}, - - { &hf_mq_gmo_returnedlength, - { "Returned length", "mq.gmo.retlen", FT_INT32, BASE_DEC, NULL, 0x0, "GMO returned length", HFILL }}, - - { &hf_mq_pmo_structid, - { "PMO structid", "mq.pmo.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - - { &hf_mq_pmo_version, - { "Version", "mq.pmo.version", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO version", HFILL }}, - - { &hf_mq_pmo_options, - { "Options", "mq.pmo.options", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO options", HFILL }}, - - { &hf_mq_pmo_timeout, - { "Timeout", "mq.pmo.timeout", FT_INT32, BASE_DEC, NULL, 0x0, "PMO time out", HFILL }}, - - { &hf_mq_pmo_context, - { "Context", "mq.pmo.context", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO context", HFILL }}, - - { &hf_mq_pmo_knowndestcount, - { "Known destination count", "mq.pmo.kdstcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO known destination count", HFILL }}, - - { &hf_mq_pmo_unknowndestcount, - { "Unknown destination count", "mq.pmo.udestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO unknown destination count", HFILL }}, - - { &hf_mq_pmo_invaliddestcount, - { "Invalid destination count", "mq.pmo.idestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO invalid destination count", HFILL }}, - - { &hf_mq_pmo_resolvedqname, - { "Resolved queue name", "mq.pmo.resolvq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "PMO resolved queue name", HFILL }}, - - { &hf_mq_pmo_resolvedqmgrname, - { "Resolved queue name manager", "mq.pmo.resolvqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "PMO resolved queue manager name", HFILL }}, - - { &hf_mq_pmo_recspresent, - { "Number of records", "mq.pmo.nbrrec", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO number of records", HFILL }}, - - { &hf_mq_pmo_putmsgrecfields, - { "Flags PMR fields", "mq.pmo.flagspmr", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO flags PMR fields", HFILL }}, - - { &hf_mq_pmo_putmsgrecoffset, - { "Offset of first PMR", "mq.pmo.offsetpmr", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO offset of first PMR", HFILL }}, - - { &hf_mq_pmo_responserecoffset, - { "Offset of first RR", "mq.pmo.offsetrr", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO offset of first RR", HFILL }}, - - { &hf_mq_pmo_putmsgrecptr, - { "Address of first record", "mq.pmo.addrrec", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO address of first record", HFILL }}, - - { &hf_mq_pmo_responserecptr, - { "Address of first response record", "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, - { "Structid", "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, - { "Character set", "mq.head.ccsid", FT_INT32, BASE_DEC, NULL, 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, - { "Transaction Manager Flags", "mq.xa.tmflags", FT_UINT32, BASE_HEX, NULL, 0x0, "XA Transaction Manager Flags", HFILL }}, - - { &hf_mq_xa_rmid, - { "Resource manager ID", "mq.xa.rmid", FT_UINT32, BASE_DEC, NULL, 0x0, "XA Resource Manager ID", HFILL }}, - - { &hf_mq_xa_count, - { "Number of Xid", "mq.xa.nbxid", FT_UINT32, BASE_DEC, NULL, 0x0, "XA Number of Xid", HFILL }}, - - { &hf_mq_xa_tmflags_join, - { "JOIN", "mq.xa.tmflags.join", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMJOIN, "XA TM Flags JOIN", HFILL }}, - - { &hf_mq_xa_tmflags_endrscan, - { "ENDRSCAN", "mq.xa.tmflags.endrscan", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMENDRSCAN, "XA TM Flags ENDRSCAN", HFILL }}, - - { &hf_mq_xa_tmflags_startrscan, - { "STARTRSCAN", "mq.xa.tmflags.startrscan", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMSTARTRSCAN, "XA TM Flags STARTRSCAN", HFILL }}, - - { &hf_mq_xa_tmflags_suspend, - { "SUSPEND", "mq.xa.tmflags.suspend", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMSUSPEND, "XA TM Flags SUSPEND", HFILL }}, - - { &hf_mq_xa_tmflags_success, - { "SUCCESS", "mq.xa.tmflags.success", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMSUCCESS, "XA TM Flags SUCCESS", HFILL }}, - - { &hf_mq_xa_tmflags_resume, - { "RESUME", "mq.xa.tmflags.resume", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMRESUME, "XA TM Flags RESUME", HFILL }}, - - { &hf_mq_xa_tmflags_fail, - { "FAIL", "mq.xa.tmflags.fail", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMFAIL, "XA TM Flags FAIL", HFILL }}, - - { &hf_mq_xa_tmflags_onephase, - { "ONEPHASE", "mq.xa.tmflags.onephase", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMONEPHASE, "XA TM Flags ONEPHASE", HFILL }}, - - { &hf_mq_xa_xid_formatid, - { "Format ID", "mq.xa.xid.formatid", FT_INT32, BASE_DEC, NULL, 0x0, "XA Xid Format ID", HFILL }}, - - { &hf_mq_xa_xid_globalxid_length, - { "Global TransactionId Length", "mq.xa.xid.gxidl", FT_UINT8, BASE_DEC, NULL, 0x0, "XA Xid Global TransactionId Length", HFILL }}, - - { &hf_mq_xa_xid_brq_length, - { "Branch Qualifier Length", "mq.xa.xid.bql", FT_UINT8, BASE_DEC, NULL, 0x0, "XA Xid Branch Qualifier Length", HFILL }}, - - { &hf_mq_xa_xid_globalxid, - { "Global TransactionId", "mq.xa.xid.gxid", FT_BYTES, BASE_NONE, NULL, 0x0, "XA Xid Global TransactionId", HFILL }}, - - { &hf_mq_xa_xid_brq, - { "Branch Qualifier", "mq.xa.xid.bq", FT_BYTES, BASE_NONE, NULL, 0x0, "XA Xid Branch Qualifier", HFILL }}, - - { &hf_mq_xa_xainfo_length, - { "Length", "mq.xa.xainfo.length", FT_UINT8, BASE_DEC, NULL, 0x0, "XA XA_info Length", HFILL }}, - - { &hf_mq_xa_xainfo_value, - { "Value", "mq.xa.xainfo.value", FT_STRINGZ, BASE_NONE, NULL, 0x0, "XA XA_info Value", HFILL }} - - }; - static gint *ett[] = { - &ett_mq, - &ett_mq_tsh, - &ett_mq_tsh_tcf, - &ett_mq_api, - &ett_mq_msh, - &ett_mq_xqh, - &ett_mq_id, - &ett_mq_id_icf, - &ett_mq_id_ief, - &ett_mq_uid, - &ett_mq_conn, - &ett_mq_inq, - &ett_mq_spi, - &ett_mq_spi_base, - &ett_mq_spi_options, - &ett_mq_put, - &ett_mq_open, - &ett_mq_ping, - &ett_mq_reset, - &ett_mq_status, - &ett_mq_od, - &ett_mq_or, - &ett_mq_rr, - &ett_mq_pmr, - &ett_mq_md, - &ett_mq_mde, - &ett_mq_dlh, - &ett_mq_dh, - &ett_mq_gmo, - &ett_mq_pmo, - &ett_mq_head, - &ett_mq_xa, - &ett_mq_xa_tmflags, - &ett_mq_xa_xid, - &ett_mq_xa_info, - }; - - module_t *mq_module; - - proto_mq = proto_register_protocol("WebSphere MQ", "MQ", "mq"); - proto_register_field_array(proto_mq, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); - - register_heur_dissector_list("mq", &mq_heur_subdissector_list); - register_init_routine(mq_init); - - mq_module = prefs_register_protocol(proto_mq, NULL); - prefs_register_bool_preference(mq_module, "desegment", - "Reassemble MQ messages spanning multiple TCP segments", - "Whether the MQ dissector should reassemble messages spanning multiple TCP segments." - " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.", - &mq_desegment); - prefs_register_bool_preference(mq_module, "reassembly", - "Reassemble segmented MQ messages", - "Whether the MQ dissector should reassemble MQ messages spanning multiple TSH segments", - &mq_reassembly); + 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 }}, + { &hf_mq_tsh_requestid,{"Request ID", "mq.tsh.requestid", FT_UINT32, BASE_DEC, NULL, 0x0, "TSH Request ID", HFILL }}, + { &hf_mq_tsh_byteorder,{"Byte order", "mq.tsh.byteorder", FT_UINT8, BASE_HEX, VALS(mq_byteorder_vals), 0x0, "TSH Byte order", HFILL }}, + { &hf_mq_tsh_opcode ,{"SegmType..", "mq.tsh.type", FT_UINT8, BASE_HEX, VALS(mq_opcode_vals), 0x0, "TSH MQ segment type", HFILL }}, + { &hf_mq_tsh_ctlflgs1 ,{"Ctl Flag 1", "mq.tsh.cflags1", FT_UINT8, BASE_HEX, NULL, 0x0, "TSH Control flags 1", HFILL }}, + { &hf_mq_tsh_ctlflgs2 ,{"Ctl Flag 2", "mq.tsh.cflags2", FT_UINT8, BASE_HEX, NULL, 0x0, "TSH Control flags 2", HFILL }}, + { &hf_mq_tsh_luwid ,{"LUW Ident.", "mq.tsh.luwid", FT_BYTES, BASE_NONE, NULL, 0x0, "TSH logical unit of work identifier", HFILL }}, + { &hf_mq_tsh_encoding ,{"Encoding..", "mq.tsh.encoding", FT_UINT32, BASE_DEC, NULL, 0x0, "TSH Encoding", HFILL }}, + { &hf_mq_tsh_ccsid ,{"CCSID.....", "mq.tsh.ccsid", FT_UINT16, BASE_DEC, NULL, 0x0, "TSH CCSID", HFILL }}, + { &hf_mq_tsh_padding ,{"Padding...", "mq.tsh.padding", FT_UINT16, BASE_HEX, NULL, 0x0, "TSH Padding", HFILL }}, + + { &hf_mq_tsh_tcf_confirmreq,{"Confirm Req", "mq.tsh.tcf.confirmreq", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_CONFIRM_REQUEST, "TSH TCF Confirm request", HFILL }}, + { &hf_mq_tsh_tcf_error ,{"Error......", "mq.tsh.tcf.error", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_ERROR, "TSH TCF Error", HFILL }}, + { &hf_mq_tsh_tcf_reqclose ,{"Req close..", "mq.tsh.tcf.reqclose", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_REQUEST_CLOSE, "TSH TCF Request close", HFILL }}, + { &hf_mq_tsh_tcf_closechann,{"Close Chnl.", "mq.tsh.tcf.closechann", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_CLOSE_CHANNEL, "TSH TCF Close channel", HFILL }}, + { &hf_mq_tsh_tcf_first ,{"First Seg..", "mq.tsh.tcf.first", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_FIRST, "TSH TCF First", HFILL }}, + { &hf_mq_tsh_tcf_last ,{"Last Seg...", "mq.tsh.tcf.last", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_LAST, "TSH TCF Last", HFILL }}, + { &hf_mq_tsh_tcf_reqacc ,{"Req accept.", "mq.tsh.tcf.reqacc", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_REQUEST_ACCEPTED, "TSH TCF Request accepted", HFILL }}, + { &hf_mq_tsh_tcf_dlq ,{"DLQ used...", "mq.tsh.tcf.dlq", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_TCF_DLQ_USED, "TSH TCF DLQ used", HFILL }}, + + { &hf_mq_api_replylen ,{"Reply len..", "mq.api.replylength", FT_UINT32, BASE_DEC, NULL, 0x0, "API Reply length", HFILL }}, + { &hf_mq_api_compcode ,{"Compl Code.", "mq.api.completioncode", FT_UINT32, BASE_DEC, VALS(mq_mqcc_vals), 0x0, "API Completion code", HFILL }}, + { &hf_mq_api_reascode ,{"Reason Code", "mq.api.reasoncode", FT_UINT32, BASE_DEC, VALS(mq_mqrc_vals), 0x0, "API Reason code", HFILL }}, + { &hf_mq_api_objecthdl,{"Object Hdl.", "mq.api.hobj", FT_UINT32, BASE_HEX, NULL, 0x0, "API Object handle", HFILL }}, + + { &hf_mq_socket_unknown1,{"unknown1", "mq.socket.unknown1", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "Socket unknown1", HFILL }}, + { &hf_mq_socket_unknown2,{"unknown2", "mq.socket.unknown2", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "Socket unknown2", HFILL }}, + { &hf_mq_socket_unknown3,{"unknown3", "mq.socket.unknown3", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "Socket unknown3", HFILL }}, + { &hf_mq_socket_unknown4,{"unknown4", "mq.socket.unknown4", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "Socket unknown4", HFILL }}, + { &hf_mq_socket_unknown5,{"unknown5", "mq.socket.unknown5", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "Socket unknown5", HFILL }}, + + { &hf_mq_id_icf_msgseq ,{"Message sequence..", "mq.id.icf.msgseq", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_MSG_SEQ, "ID ICF Message sequence", HFILL }}, + { &hf_mq_id_icf_convcap ,{"Conversion capable", "mq.id.icf.convcap", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_CONVERSION_CAPABLE, "ID ICF Conversion capable", HFILL }}, + { &hf_mq_id_icf_splitmsg,{"Split messages....", "mq.id.icf.splitmsg", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_SPLIT_MESSAGE, "ID ICF Split message", HFILL }}, + { &hf_mq_id_icf_mqreq ,{"MQ request........", "mq.id.icf.mqreq", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_MQREQUEST, "ID ICF MQ request", HFILL }}, + { &hf_mq_id_icf_svrsec ,{"Srvr Con security.", "mq.id.icf.svrsec", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_SVRCONN_SECURITY, "ID ICF Server connection security", HFILL }}, + { &hf_mq_id_icf_runtime ,{"Runtime applic....", "mq.id.icf.runtime", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_ICF_RUNTIME, "ID ICF Runtime application", HFILL }}, + + { &hf_mq_msh_structid ,{"structid", "mq.msh.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_msh_seqnum ,{"Seq Numb", "mq.msh.seqnum", FT_UINT32, BASE_DEC, NULL, 0x0, "MSH sequence number", HFILL }}, + { &hf_mq_msh_datalength,{"Buf len.", "mq.msh.buflength", FT_UINT32, BASE_DEC, NULL, 0x0, "MSH buffer length", HFILL }}, + { &hf_mq_msh_unknown1 ,{"Unknown1", "mq.msh.unknown1", FT_UINT32, BASE_HEX, NULL, 0x0, "MSH unknown1", HFILL }}, + { &hf_mq_msh_msglength ,{"Msg len.", "mq.msh.msglength", FT_UINT32, BASE_DEC, NULL, 0x0, "MSH message length", HFILL }}, + + { &hf_mq_xqh_structid ,{"structid", "mq.xqh.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_xqh_version ,{"Version.", "mq.xqh.version", FT_UINT32, BASE_DEC, NULL, 0x0, "XQH version", HFILL }}, + { &hf_mq_xqh_remoteq ,{"Remote Q", "mq.xqh.remoteq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "XQH remote queue", HFILL }}, + { &hf_mq_xqh_remoteqmgr,{"Rmt QMgr", "mq.xqh.remoteqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "XQH remote queue manager", HFILL }}, + + { &hf_mq_id_structid ,{"Structid..", "mq.id.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_id_level ,{"FAP level.", "mq.id.level", FT_UINT8, BASE_DEC, NULL, 0x0, "ID Formats And Protocols level", HFILL }}, + { &hf_mq_id_flags ,{"Flags.....", "mq.id.flags", FT_UINT8, BASE_HEX, NULL, 0x0, "ID flags", HFILL }}, + { &hf_mq_id_unknown02 ,{"Unknown02.", "mq.id.unknown02", FT_UINT8, BASE_HEX, NULL, 0x0, "ID unknown02", HFILL }}, + { &hf_mq_id_ieflags ,{"InitErrFlg", "mq.id.ief", FT_UINT8, BASE_HEX, NULL, 0x0, "ID initial error flags", HFILL }}, + { &hf_mq_id_unknown04 ,{"Unknown04.", "mq.id.unknown04", FT_UINT16, BASE_HEX, NULL, 0x0, "ID unknown04", HFILL }}, + { &hf_mq_id_MaxMsgBatch,{"MaxMsgBtch", "mq.id.MaxMsgBatch", FT_UINT16, BASE_DEC, NULL, 0x0, "ID max msg per batch", HFILL }}, + { &hf_mq_id_MaxTrSize ,{"MaxTrSize.", "mq.id.MaxTrSize", FT_UINT32, BASE_DEC, NULL, 0x0, "ID max trans size", HFILL }}, + { &hf_mq_id_maxmsgsize ,{"MaxMsgSize", "mq.id.maxmsgsize", FT_UINT32, BASE_DEC, NULL, 0x0, "ID max msg size", HFILL }}, + { &hf_mq_id_SeqWrapVal ,{"SeqWrapVal", "mq.id.seqwrap", FT_UINT32, BASE_DEC, NULL, 0x0, "ID seq wrap value", HFILL }}, + { &hf_mq_id_channel ,{"ChannelNme", "mq.id.channelname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "ID channel name", HFILL }}, + { &hf_mq_id_capflags ,{"CapabilFlg", "mq.id.capflags", FT_UINT16, BASE_HEX, NULL, 0x0, "ID Capability flags", HFILL }}, + { &hf_mq_id_ccsid ,{"ccsid.....", "mq.id.ccsid", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, "ID character set", HFILL }}, + { &hf_mq_id_qmgrname ,{"QMgrName..", "mq.id.qm", FT_STRINGZ, BASE_NONE, NULL, 0x0, "ID Queue manager", HFILL }}, + { &hf_mq_id_HBInterval ,{"HBInterval", "mq.id.hbint", FT_UINT32, BASE_DEC, NULL, 0x0, "ID Heartbeat interval", HFILL }}, + { &hf_mq_id_unknown06 ,{"Unknown06.", "mq.id.unknown06", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, "ID Unknown06", HFILL }}, + { &hf_mq_id_unknown07 ,{"Unknown07.", "mq.id.unknown07", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, "ID Unknown07", HFILL }}, + { &hf_mq_id_unknown08 ,{"Unknown08.", "mq.id.unknown08", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, "ID Unknown08", HFILL }}, + { &hf_mq_id_unknown09 ,{"Unknown09.", "mq.id.unknown09", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, "ID Unknown09", HFILL }}, + { &hf_mq_id_unknown10 ,{"Unknown10.", "mq.id.unknown10", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "ID Unknown10", HFILL }}, + { &hf_mq_id_unknown11 ,{"Unknown11.", "mq.id.unknown11", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "ID Unknown11", HFILL }}, + { &hf_mq_id_unknown12 ,{"Unknown12.", "mq.id.unknown12", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "ID Unknown12", HFILL }}, + { &hf_mq_id_unknown13 ,{"Unknown13.", "mq.id.unknown13", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "ID Unknown13", HFILL }}, + { &hf_mq_id_unknown14 ,{"Unknown14.", "mq.id.unknown14", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "ID Unknown14", HFILL }}, + { &hf_mq_id_unknown15 ,{"Unknown15.", "mq.id.unknown15", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "ID Unknown15", HFILL }}, + { &hf_mq_id_unknown16 ,{"Unknown16.", "mq.id.unknown16", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "ID Unknown16", HFILL }}, + { &hf_mq_id_unknown17 ,{"Unknown17.", "mq.id.unknown17", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "ID Unknown17", HFILL }}, + { &hf_mq_id_unknown18 ,{"Unknown18.", "mq.id.unknown18", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "ID Unknown18", HFILL }}, + { &hf_mq_id_unknown19 ,{"Unknown19.", "mq.id.unknown19", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "ID Unknown19", HFILL }}, + { &hf_mq_id_mqmvers ,{"MQ Version", "mq.id.mqmvers", FT_STRINGZ, BASE_NONE, NULL, 0x0, "ID MQM Version", HFILL }}, + { &hf_mq_id_mqmid ,{"MQM ID....", "mq.id.mqmid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "ID MQM ID", HFILL }}, + + { &hf_mq_id_ief_ccsid ,{"Invalid CCSID.........", "mq.id.ief.ccsid", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_CCSID, "ID invalid CCSID", HFILL }}, + { &hf_mq_id_ief_enc ,{"Invalid encoding......", "mq.id.ief.enc", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_ENCODING, "ID invalid encoding", HFILL }}, + { &hf_mq_id_ief_mxtrsz ,{"Invalid Max Trans Size", "mq.id.ief.mxtrsz", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_MAX_TRANSMISSION_SIZE, "ID invalid maximum transmission size", HFILL }}, + { &hf_mq_id_ief_fap ,{"Invalid FAP level.....", "mq.id.ief.fap", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_FAP_LEVEL, "ID invalid FAP level", HFILL }}, + { &hf_mq_id_ief_mxmsgsz,{"Invalid message size..", "mq.id.ief.mxmsgsz", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_MAX_MSG_SIZE, "ID invalid message size", HFILL }}, + { &hf_mq_id_ief_mxmsgpb,{"Invalid Max Msg batch.", "mq.id.ief.mxmsgpb", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_MAX_MSG_PER_BATCH, "ID maximum message per batch", HFILL }}, + { &hf_mq_id_ief_seqwrap,{"Invalid Seq Wrap Value", "mq.id.ief.seqwrap", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_SEQ_WRAP_VALUE, "ID invalid sequence wrap value", HFILL }}, + { &hf_mq_id_ief_hbint ,{"Invalid HB interval...", "mq.id.ief.hbint", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_IEF_HEARTBEAT_INTERVAL, "ID invalid heartbeat interval", HFILL }}, + + { &hf_mq_uid_structid ,{"Structid", "mq.uid.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_uid_userid ,{"User ID.", "mq.uid.userid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "UID structid", HFILL }}, + { &hf_mq_uid_password ,{"Password", "mq.uid.password", FT_STRINGZ, BASE_NONE, NULL, 0x0, "UID password", HFILL }}, + { &hf_mq_uid_longuserid,{"Long UID", "mq.uid.longuserid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "UID long user id", HFILL }}, + + { &hf_mq_sidlen ,{"SID Len.", "mq.uid.sidlen", FT_UINT8, BASE_DEC, NULL, 0x0, "Sid Len", HFILL }}, + { &hf_mq_sidtyp ,{"SIDType.", "mq.uid.sidtyp", FT_UINT8, BASE_DEC, VALS(&mq_sidtype_vals), 0x0, "Sid Typ", HFILL }}, + { &hf_mq_securityid ,{"SecurID.", "mq.uid.securityid", FT_BYTES, BASE_NONE, NULL, 0x0, "Security ID", HFILL }}, + + { &hf_mq_conn_QMgr ,{"QMgr....", "mq.conn.qm", FT_STRINGZ, BASE_NONE, NULL, 0x0, "CONN queue manager", HFILL }}, + { &hf_mq_conn_appname ,{"ApplName", "mq.conn.appname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "CONN application name", HFILL }}, + { &hf_mq_conn_apptype ,{"ApplType", "mq.conn.apptype", FT_INT32, BASE_DEC, VALS(mq_mqat_vals), 0x0, "CONN application type", HFILL }}, + { &hf_mq_conn_acttoken ,{"AccntTok", "mq.conn.acttoken", FT_BYTES, BASE_NONE, NULL, 0x0, "CONN accounting token", HFILL }}, + { &hf_mq_conn_version ,{"Version.", "mq.conn.version", FT_UINT32, BASE_DEC, VALS(mq_conn_version_vals), 0x0, "CONN version", HFILL }}, + { &hf_mq_conn_options ,{"Options.", "mq.conn.options", FT_UINT32, BASE_HEX, NULL, 0x0, "CONN options", HFILL }}, + + { &hf_mq_fcno_structid ,{"StructId.", "mq.fcno.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_fcno_unknown00,{"unknown00", "mq.fcno.unknown00", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "FCNO unknown00", HFILL }}, + { &hf_mq_fcno_unknown01,{"unknown01", "mq.fcno.unknown01", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "FCNO unknown01", HFILL }}, + { &hf_mq_fcno_unknown02,{"unknown02", "mq.fcno.unknown02", FT_BYTES, BASE_NONE, NULL, 0x0, "FCNO unknown02", HFILL }}, + { &hf_mq_fcno_msgid ,{"msgid....", "mq.fcno.msgid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "FCNO Msg ID", HFILL }}, + { &hf_mq_fcno_mqmid ,{"MqmId....", "mq.fcno.mqmid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "FCNO Mqm ID", HFILL }}, + + { &hf_mq_inq_nbsel ,{"Selector count..", "mq.inq.nbsel", FT_UINT32, BASE_DEC, NULL, 0x0, "INQ Selector count", HFILL }}, + { &hf_mq_inq_nbint ,{"Integer count...", "mq.inq.nbint", FT_UINT32, BASE_DEC, NULL, 0x0, "INQ Integer count", HFILL }}, + { &hf_mq_inq_charlen ,{"Character length", "mq.inq.charlen", FT_UINT32, BASE_DEC, NULL, 0x0, "INQ Character length", HFILL }}, + { &hf_mq_inq_sel ,{"Selector........", "mq.inq.sel", FT_UINT32, BASE_DEC, VALS(mq_selector_vals), 0x0, "INQ Selector", HFILL }}, + { &hf_mq_inq_intvalue ,{"Integer value...", "mq.inq.intvalue", FT_UINT32, BASE_DEC, NULL, 0x0, "INQ Integer value", HFILL }}, + { &hf_mq_inq_charvalues,{"Char values.....", "mq.inq.charvalues", FT_STRINGZ, BASE_NONE, NULL, 0x0, "INQ Character values", HFILL }}, + + { &hf_mq_spi_verb ,{"SPI Verb", "mq.spi.verb", FT_UINT32, BASE_DEC, VALS(mq_spi_verbs_vals), 0x0, NULL, HFILL }}, + { &hf_mq_spi_version ,{"Version", "mq.spi.version", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Version", HFILL }}, + { &hf_mq_spi_length ,{"Max reply size", "mq.spi.replength", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Max reply size", HFILL }}, + + { &hf_mq_spi_base_structid,{"SPI Structid", "mq.spib.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_spi_base_version ,{"Version", "mq.spib.version", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Base Version", HFILL }}, + { &hf_mq_spi_base_length ,{"Length", "mq.spib.length", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Base Length", HFILL }}, + + { &hf_mq_spi_spqo_nbverb ,{"Number of verbs", "mq.spqo.nbverb", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Query Output Number of verbs", HFILL }}, + { &hf_mq_spi_spqo_verbid ,{"Verb", "mq.spqo.verb", FT_UINT32, BASE_DEC, VALS(mq_spi_verbs_vals), 0x0, "SPI Query Output VerbId", HFILL }}, + { &hf_mq_spi_spqo_maxiover,{"Max InOut Version", "mq.spqo.maxiov", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Query Output Max InOut Version", HFILL }}, + { &hf_mq_spi_spqo_maxinver,{"Max In Version", "mq.spqo.maxiv", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Query Output Max In Version", HFILL }}, + { &hf_mq_spi_spqo_maxouver,{"Max Out Version", "mq.spqo.maxov", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Query Output Max Out Version", HFILL }}, + { &hf_mq_spi_spqo_flags ,{"Flags", "mq.spqo.flags", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Query Output flags", HFILL }}, + + { &hf_mq_spi_spai_mode ,{"Mode", "mq.spai.mode", FT_UINT32, BASE_DEC, VALS(mq_spi_activate_vals), 0x0, "SPI Activate Input mode", HFILL }}, + { &hf_mq_spi_spai_unknown1,{"Unknown1", "mq.spai.unknown1", FT_STRINGZ, BASE_NONE, NULL, 0x0, "SPI Activate Input unknown1", HFILL }}, + { &hf_mq_spi_spai_unknown2,{"Unknown2", "mq.spai.unknown2", FT_STRINGZ, BASE_NONE, NULL, 0x0, "SPI Activate Input unknown2", HFILL }}, + { &hf_mq_spi_spai_msgid ,{"Message Id", "mq.spai.msgid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "SPI Activate Input message id", HFILL }}, + { &hf_mq_spi_spgi_batchsz ,{"Batch size", "mq.spgi.batchsize", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Get Input batch size", HFILL }}, + { &hf_mq_spi_spgi_batchint,{"Batch interval", "mq.spgi.batchint", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Get Input batch interval", HFILL }}, + { &hf_mq_spi_spgi_maxmsgsz,{"Max message size", "mq.spgi.maxmsgsize", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Get Input max message size", HFILL }}, + + { &hf_mq_spi_spgo_options ,{"Options", "mq.spgo.options", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Get Output options", HFILL }}, + { &hf_mq_spi_spgo_size ,{"Size", "mq.spgo.size", FT_UINT32, BASE_DEC, NULL, 0x0, "SPI Get Output size", HFILL }}, + { &hf_mq_spi_opt_blank ,{"Blank padded", "mq.spi.options.blank", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_SPI_OPTIONS_BLANK_PADDED, "SPI Options blank padded", HFILL }}, + { &hf_mq_spi_opt_syncp ,{"Syncpoint", "mq.spi.options.sync", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_SPI_OPTIONS_SYNCPOINT, "SPI Options syncpoint", HFILL }}, + { &hf_mq_spi_opt_deferred ,{"Deferred", "mq.spi.options.deferred", FT_BOOLEAN, 8, TFS(&tfs_set_notset), MQ_SPI_OPTIONS_DEFERRED, "SPI Options deferred", HFILL }}, + + { &hf_mq_put_length ,{"Data length", "mq.put.length", FT_UINT32, BASE_DEC, NULL, 0x0, "PUT Data length", HFILL }}, + + { &hf_mq_close_options ,{"Options", "mq.close.options", FT_UINT32, BASE_HEX, NULL, 0x0, "CLOSE options", HFILL }}, + { &hf_mq_close_options_DELETE ,{"DELETE......", "mq.close.options.Delete", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQCO_DELETE, "CLOSE options DELETE", HFILL }}, + { &hf_mq_close_options_DELETE_PURGE,{"DELETE_PURGE", "mq.close.options.DeletePurge", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQCO_DELETE_PURGE, "CLOSE options DELETE_PURGE", HFILL }}, + { &hf_mq_close_options_KEEP_SUB ,{"KEEPSUB.....", "mq.close.options.KeepSub", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQCO_KEEP_SUB, "CLOSE options KEEP_SUB", HFILL }}, + { &hf_mq_close_options_REMOVE_SUB ,{"REMOVE_SUB..", "mq.close.options.RemoveSub", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQCO_REMOVE_SUB, "CLOSE options REMOVE_SUB", HFILL }}, + { &hf_mq_close_options_QUIESCE ,{"QUIESCE.....", "mq.close.options.Quiesce", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQCO_QUIESCE, "CLOSE options QUIESCE", HFILL }}, + + { &hf_mq_open_options ,{"Options", "mq.open.options", FT_UINT32, BASE_HEX, NULL, 0x0, "OPEN options", HFILL }}, + { &hf_mq_open_options_INPUT_AS_Q_DEF ,{"INPUT_AS_Q_DEF..........", "mq.open.options.InputAsQDef", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_INPUT_AS_Q_DEF, "OPEN options INPUT_AS_Q_DEF", HFILL }}, + { &hf_mq_open_options_INPUT_SHARED ,{"INPUT_SHARED............", "mq.open.options.InputShared", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_INPUT_SHARED, "OPEN options INPUT_SHARED", HFILL }}, + { &hf_mq_open_options_INPUT_EXCLUSIVE,{"INPUT_EXCLUSIVE.........", "mq.open.options.InputExclusive", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_INPUT_EXCLUSIVE, "OPEN options INPUT_EXCLUSIVE", HFILL }}, + { &hf_mq_open_options_BROWSE ,{"BROWSE..................", "mq.open.options.Browse", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_BROWSE, "OPEN options BROWSE", HFILL }}, + { &hf_mq_open_options_OUTPUT ,{"OUTPUT..................", "mq.open.options.Output", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_OUTPUT, "OPEN options OUTPUT", HFILL }}, + { &hf_mq_open_options_INQUIRE ,{"INQUIRE.................", "mq.open.options.Inquire", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_INQUIRE, "OPEN options INQUIRE", HFILL }}, + { &hf_mq_open_options_SET ,{"SET.....................", "mq.open.options.Set", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_SET, "OPEN options SET", HFILL }}, + { &hf_mq_open_options_SAVE_ALL_CTX ,{"SAVE_ALL_CONTEXT........", "mq.open.options.SaveAllContext", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_SAVE_ALL_CONTEXT, "OPEN options SAVE_ALL_CONTEXT", HFILL }}, + { &hf_mq_open_options_PASS_IDENT_CTX ,{"PASS_IDENTITY_CONTEXT...", "mq.open.options.PassIdentityContext", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_PASS_IDENTITY_CONTEXT, "OPEN options PASS_IDENTITY_CONTEXT", HFILL }}, + { &hf_mq_open_options_PASS_ALL_CTX ,{"PASS_ALL_CONTEXT........", "mq.open.options.PassAllContext", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_PASS_ALL_CONTEXT, "OPEN options PASS_ALL_CONTEXT", HFILL }}, + { &hf_mq_open_options_SET_IDENT_CTX ,{"SET_IDENTITY_CONTEXT....", "mq.open.options.SetIdentityContext", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_SET_IDENTITY_CONTEXT, "OPEN options SET_IDENTITY_CONTEXT", HFILL }}, + { &hf_mq_open_options_SET_ALL_CONTEXT,{"SET_ALL_CONTEXT.........", "mq.open.options.SetAllContext", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_SET_ALL_CONTEXT, "OPEN options SET_ALL_CONTEXT", HFILL }}, + { &hf_mq_open_options_ALT_USER_AUTH ,{"ALTERNATE_USER_AUTHORITY", "mq.open.options.AlternateUserAuthority", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_ALTERNATE_USER_AUTHORITY, "OPEN options ALTERNATE_USER_AUTHORITY", HFILL }}, + { &hf_mq_open_options_FAIL_IF_QUIESC ,{"FAIL_IF_QUIESCING.......", "mq.open.options.FailIfQuiescing", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_FAIL_IF_QUIESCING, "OPEN options FAIL_IF_QUIESCING", HFILL }}, + { &hf_mq_open_options_BIND_ON_OPEN ,{"BIND_ON_OPEN............", "mq.open.options.BindOnOpen", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_BIND_ON_OPEN, "OPEN options BIND_ON_OPEN", HFILL }}, + { &hf_mq_open_options_BIND_NOT_FIXED ,{"BIND_NOT_FIXED..........", "mq.open.options.BindNotFixed", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_BIND_NOT_FIXED, "OPEN options BIND_NOT_FIXED", HFILL }}, + { &hf_mq_open_options_RESOLVE_NAMES ,{"RESOLVE_NAMES...........", "mq.open.options.ResolveNames", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_RESOLVE_NAMES, "OPEN options RESOLVE_NAMES", HFILL }}, + { &hf_mq_open_options_CO_OP ,{"CO_OP...................", "mq.open.options.CoOp", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_CO_OP, "OPEN options CO_OP", HFILL }}, + { &hf_mq_open_options_RESOLVE_LOCAL_Q,{"RESOLVE_LOCAL_Q.........", "mq.open.options.ResolveLocalQueueOrTopic", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_RESOLVE_LOCAL_Q, "OPEN options RESOLVE_LOCAL_Q", HFILL }}, + { &hf_mq_open_options_NO_READ_AHEAD ,{"NO_READ_AHEAD...........", "mq.open.options.NoReadAhead", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_NO_READ_AHEAD, "OPEN options NO_READ_AHEAD", HFILL }}, + { &hf_mq_open_options_READ_AHEAD ,{"READ_AHEAD..............", "mq.open.options.ReadAhead", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_READ_AHEAD, "OPEN options READ_AHEAD", HFILL }}, + { &hf_mq_open_options_NO_MULTICAST ,{"NO_MULTICAST............", "mq.open.options.NoMulticast", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_NO_MULTICAST, "OPEN options NO_MULTICAST", HFILL }}, + { &hf_mq_open_options_BIND_ON_GROUP ,{"BIND_ON_GROUP...........", "mq.open.options.BindOnGroup", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQOO_BIND_ON_GROUP, "OPEN options BIND_ON_GROUP", HFILL }}, + + { &hf_mq_fopa_structid,{"StructId", "mq.fopa.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_fopa_version ,{"Version.", "mq.fopa.version", FT_UINT32, BASE_DEC, NULL, 0x0, "FOPA Version", HFILL }}, + { &hf_mq_fopa_length ,{"Length..", "mq.fopa.length", FT_UINT32, BASE_DEC, NULL, 0x0, "FOPA Length", HFILL }}, + { &hf_mq_fopa_unknown1,{"Unknown1", "mq.fopa.unknown1", FT_UINT32, BASE_HEX, NULL, 0x0, "FOPA unknown1", HFILL }}, + { &hf_mq_fopa_unknown2,{"Unknown2", "mq.fopa.unknown2", FT_UINT32, BASE_HEX, NULL, 0x0, "FOPA unknown2", HFILL }}, + { &hf_mq_fopa_unknown3,{"Unknown3", "mq.fopa.unknown3", FT_STRINGZ, BASE_NONE, NULL, 0x0, "FOPA unknown3", HFILL }}, + { &hf_mq_fopa_qprotect,{"qprotect", "mq.fopa.qprotect", FT_STRINGZ, BASE_NONE, NULL, 0x0, "FOPA queue protection", HFILL }}, + { &hf_mq_fopa_unknown4,{"Unknown4", "mq.fopa.unknown4", FT_UINT32, BASE_HEX, NULL, 0x0, "FOPA unknown4", HFILL }}, + { &hf_mq_fopa_unknown5,{"Unknown5", "mq.fopa.unknown5", FT_UINT32, BASE_HEX, NULL, 0x0, "FOPA unknown5", HFILL }}, + + { &hf_mq_msgreq_version ,{"version.", "mq.msgreq.version", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ version", HFILL }}, + { &hf_mq_msgreq_handle ,{"handle..", "mq.msgreq.handle", FT_UINT32, BASE_HEX, NULL, 0x0, "MSGREQ handle", HFILL }}, + { &hf_mq_msgreq_unknown1,{"unknown1", "mq.msgreq.unknown1", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ unknown1", HFILL }}, + { &hf_mq_msgreq_unknown2,{"unknown2", "mq.msgreq.unknown2", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ unknown2", HFILL }}, + { &hf_mq_msgreq_maxlen ,{"maxlen..", "mq.msgreq.maxlen", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ End Position", HFILL }}, + { &hf_mq_msgreq_unknown4,{"unknown4", "mq.msgreq.unknown4", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ unknown4", HFILL }}, + { &hf_mq_msgreq_timeout ,{"timeout.", "mq.msgreq.timeout", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ timeout", HFILL }}, + { &hf_mq_msgreq_unknown5,{"unknown5", "mq.msgreq.unknown5", FT_UINT32, BASE_HEX, NULL, 0x0, "MSGREQ unknown5", HFILL }}, + { &hf_mq_msgreq_flags ,{"flags...", "mq.msgreq.flags", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ flags", HFILL }}, + { &hf_mq_msgreq_lstseqnr,{"lstseqnr", "mq.msgreq.lstseqnr", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ Last Sequence Number", HFILL }}, + { &hf_mq_msgreq_msegver ,{"msegver.", "mq.msgreq.msegver", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, "MSGREQ multi segment hdr version", HFILL }}, + { &hf_mq_msgreq_msegseq ,{"msegseq.", "mq.msgreq.msegseq", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, "MSGREQ multi segment sequence number", HFILL }}, + { &hf_mq_msgreq_ccsid ,{"ccsid...", "mq.msgreq.ccsid", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ ccsid", HFILL }}, + { &hf_mq_msgreq_encoding,{"encoding", "mq.msgreq.encoding", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ encoding", HFILL }}, + { &hf_mq_msgreq_unknown6,{"unknown6", "mq.msgreq.unknown6", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ unknown6", HFILL }}, + { &hf_mq_msgreq_unknown7,{"unknown7", "mq.msgreq.unknown7", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ unknown7", HFILL }}, + { &hf_mq_msgreq_unknown8,{"unknown8", "mq.msgreq.unknown8", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGREQ unknown8", HFILL }}, + { &hf_mq_msgreq_msgid ,{"msgid...", "mq.msgreq.msgid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MSGREQ msgid", HFILL }}, + { &hf_mq_msgreq_mqmid ,{"mqmid...", "mq.msgreq.mqmid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MSGREQ mqmid", HFILL }}, + + { &hf_mq_msgasy_version ,{"version.", "mq.msgasy.version", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC version", HFILL }}, + { &hf_mq_msgasy_handle ,{"handle..", "mq.msgasy.handle", FT_UINT32, BASE_HEX, NULL, 0x0, "MSGASYNC handle", HFILL }}, + { &hf_mq_msgasy_unknown1,{"unknown1", "mq.msgasy.unknown1", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC unknown1", HFILL }}, + { &hf_mq_msgasy_curseqnr,{"curseqnr", "mq.msgasy.curseqnr", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC curseqnr", HFILL }}, + { &hf_mq_msgasy_payload ,{"payload.", "mq.msgasy.payload", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC payload", HFILL }}, + { &hf_mq_msgasy_msegver ,{"msegver.", "mq.msgasy.msegver", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC multi segment hdr version", HFILL }}, + { &hf_mq_msgasy_msegseq ,{"msegseq.", "mq.msgasy.msegseq", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC multi segment sequence number", HFILL }}, + { &hf_mq_msgasy_flags ,{"flags...", "mq.msgasy.flags", FT_UINT32, BASE_HEX, NULL, 0x0, "MSGASYNC flags", HFILL }}, + { &hf_mq_msgasy_totlen1 ,{"totlen1.", "mq.msgasy.totlen1", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC totlen1", HFILL }}, + { &hf_mq_msgasy_totlen2 ,{"totlen2.", "mq.msgasy.totlen2", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC totlen2", HFILL }}, + { &hf_mq_msgasy_unknown2,{"unknown2", "mq.msgasy.unknown2", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC unknown2", HFILL }}, + { &hf_mq_msgasy_unknown3,{"unknown3", "mq.msgasy.unknown3", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC unknown3", HFILL }}, + { &hf_mq_msgasy_unknown4,{"unknown4", "mq.msgasy.unknown4", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC unknown4", HFILL }}, + { &hf_mq_msgasy_unknown5,{"unknown5", "mq.msgasy.unknown5", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "MSGASYNC unknown5", HFILL }}, + { &hf_mq_msgasy_strFlg ,{"strflg..", "mq.msgasy.strflg", FT_UINT16, BASE_HEX, NULL, 0x0, "MSGASYNC Str Flag", HFILL }}, + { &hf_mq_msgasy_strLen ,{"strlen..", "mq.msgasy.strlen", FT_UINT8, BASE_DEC, NULL, 0x0, "MSGASYNC Str Len", HFILL }}, + { &hf_mq_msgasy_strVal ,{"strval..", "mq.msgasy.strval", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MSGASYNC Str Val", HFILL }}, + { &hf_mq_msgasy_strPad ,{"strpad..", "mq.msgasy.strpad", FT_BYTES, BASE_NONE, NULL, 0x0, "MSGASYNC Str Pad", HFILL }}, + + { &hf_mq_notif_vers ,{"version.", "mq.notif.vers", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "NOTIFICATION version", HFILL }}, + { &hf_mq_notif_handle ,{"handle..", "mq.notif.handle", FT_UINT32, BASE_HEX, NULL, 0x0, "NOTIFICATION handle", HFILL }}, + { &hf_mq_notif_unknown3 ,{"unknown3", "mq.notif.unknown3", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "NOTIFICATION unknown3", HFILL }}, + { &hf_mq_notif_unknown4 ,{"unknown4", "mq.notif.unknown4", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, "NOTIFICATION unknown4", HFILL }}, + + { &hf_mq_ping_length ,{"Length", "mq.ping.length", FT_UINT32, BASE_DEC, NULL, 0x0, "PING length", HFILL }}, + { &hf_mq_ping_buffer ,{"Buffer", "mq.ping.buffer", FT_BYTES, BASE_NONE, NULL, 0x0, "PING buffer", HFILL }}, + + { &hf_mq_reset_length ,{"Length", "mq.reset.length", FT_UINT32, BASE_DEC, NULL, 0x0, "RESET length", HFILL }}, + { &hf_mq_reset_seqnum ,{"SeqNum", "mq.reset.seqnum", FT_UINT32, BASE_DEC, NULL, 0x0, "RESET sequence number", HFILL }}, + + { &hf_mq_status_length ,{"Length", "mq.status.length", FT_UINT32, BASE_DEC, NULL, 0x0, "STATUS length", HFILL }}, + { &hf_mq_status_code ,{"Code..", "mq.status.code", FT_UINT32, BASE_DEC, VALS(mq_status_vals), 0x0, "STATUS code", HFILL }}, + { &hf_mq_status_value ,{"Value.", "mq.status.value", FT_UINT32, BASE_DEC, NULL, 0x0, "STATUS value", HFILL }}, + + { &hf_mq_od_structid ,{"structid.........", "mq.od.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_od_version ,{"version..........", "mq.od.version", FT_UINT32, BASE_DEC, NULL, 0x0, "OD version", HFILL }}, + { &hf_mq_od_objecttype ,{"ObjType..........", "mq.od.objtype", FT_UINT32, BASE_DEC, VALS(mq_objtype_vals), 0x0, "OD object type", HFILL }}, + { &hf_mq_od_objectname ,{"ObjName..........", "mq.od.objname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD object name", HFILL }}, + { &hf_mq_od_objqmgrname ,{"ObjQMgr..........", "mq.od.objqmgrname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD object queue manager name", HFILL }}, + { &hf_mq_od_dynqname ,{"DynQName.........", "mq.od.dynqname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD dynamic queue name", HFILL }}, + { &hf_mq_od_altuserid ,{"AltUserID........", "mq.od.altuserid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD alternate userid", HFILL }}, + { &hf_mq_od_recspresent ,{"NbrRecord........", "mq.od.nbrrec", FT_UINT32, BASE_DEC, NULL, 0x0, "OD number of records", HFILL }}, + { &hf_mq_od_knowndstcnt ,{"Known Dest Count.", "mq.od.kdestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "OD known destination count", HFILL }}, + { &hf_mq_od_unknowdstcnt,{"Unknown Dest Cnt.", "mq.od.udestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "OD unknown destination count", HFILL }}, + { &hf_mq_od_invaldstcnt ,{"Invalid Dest Cnt.", "mq.od.idestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "OD invalid destination count", HFILL }}, + { &hf_mq_od_objrecofs ,{"Offset of 1st OR.", "mq.od.offsetor", FT_UINT32, BASE_DEC, NULL, 0x0, "OD offset of first OR", HFILL }}, + { &hf_mq_od_resprecofs ,{"Offset of 1st RR.", "mq.od.offsetrr", FT_UINT32, BASE_DEC, NULL, 0x0, "OD offset of first RR", HFILL }}, + { &hf_mq_od_objrecptr ,{"Addr of 1st OR.", "mq.od.addror", FT_UINT32, BASE_HEX, NULL, 0x0, "OD address of first OR", HFILL }}, + { &hf_mq_od_resprecptr ,{"Addr of 1st RR.", "mq.od.addrrr", FT_UINT32, BASE_HEX, NULL, 0x0, "OD address of first RR", HFILL }}, + { &hf_mq_od_altsecurid ,{"Alt security id..", "mq.od.altsecid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD alternate security id", HFILL }}, + { &hf_mq_od_resolvqname ,{"Resolved Q Name..", "mq.od.resolvq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD resolved queue name", HFILL }}, + { &hf_mq_od_resolvqmgrnm,{"Resolved QMgrName", "mq.od.resolvqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OD resolved queue manager name", HFILL }}, + { &hf_mq_od_resolvobjtyp,{"Resolv Obj Type..", "mq.od.resolvedobjtype", FT_UINT32, BASE_DEC, NULL, 0x0, "OD resolved object type", HFILL }}, + + { &hf_mq_or_objname ,{"Object name...", "mq.or.objname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OR object name", HFILL }}, + { &hf_mq_or_objqmgrname ,{"Object QMgr Nm", "mq.or.objqmgrname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "OR object queue manager name", HFILL }}, + + { &hf_mq_rr_compcode ,{"Comp Code", "mq.rr.completioncode", FT_UINT32, BASE_DEC, NULL, 0x0, "OR completion code", HFILL }}, + { &hf_mq_rr_reascode ,{"Reas Code", "mq.rr.reasoncode", FT_UINT32, BASE_DEC, NULL, 0x0, "OR reason code", HFILL }}, + + { &hf_mq_pmr_msgid ,{"Message Id", "mq.pmr.msgid", FT_BYTES, BASE_NONE, NULL, 0x0, "PMR Message Id", HFILL }}, + { &hf_mq_pmr_correlid ,{"Correlation Id", "mq.pmr.correlid", FT_BYTES, BASE_NONE, NULL, 0x0, "PMR Correlation Id", HFILL }}, + { &hf_mq_pmr_groupid ,{"GroupId", "mq.pmr.groupid", FT_BYTES, BASE_NONE, NULL, 0x0, "PMR GroupId", HFILL }}, + { &hf_mq_pmr_feedback ,{"Feedback", "mq.pmr.feedback", FT_UINT32, BASE_DEC, NULL, 0x0, "PMR Feedback", HFILL }}, + { &hf_mq_pmr_acttoken ,{"Accounting token", "mq.pmr.acttoken", FT_BYTES, BASE_NONE, NULL, 0x0, "PMR accounting token", HFILL }}, + + { &hf_mq_md_structid ,{"structid.", "mq.md.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_md_version ,{"Version..", "mq.md.version", FT_UINT32, BASE_DEC, NULL, 0x0, "MD version", HFILL }}, + { &hf_mq_md_report ,{"Report...", "mq.md.report", FT_UINT32, BASE_DEC, NULL, 0x0, "MD report", HFILL }}, + { &hf_mq_md_msgtype ,{"Msg Type.", "mq.md.msgtype", FT_UINT32, BASE_DEC, NULL, 0x0, "MD message type", HFILL }}, + { &hf_mq_md_expiry ,{"Expiry .", "mq.md.expiry", FT_INT32, BASE_DEC, NULL, 0x0, "MD expiry", HFILL }}, + { &hf_mq_md_feedback ,{"Feedback.", "mq.md.feedback", FT_UINT32, BASE_DEC, NULL, 0x0, "MD feedback", HFILL }}, + { &hf_mq_md_encoding ,{"Encoding.", "mq.md.encoding", FT_UINT32, BASE_DEC, NULL, 0x0, "MD encoding", HFILL }}, + { &hf_mq_md_ccsid ,{"CCSID....", "mq.md.ccsid", FT_INT32, BASE_DEC, NULL, 0x0, "MD character set", HFILL }}, + { &hf_mq_md_format ,{"Format...", "mq.md.format", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD format", HFILL }}, + { &hf_mq_md_priority ,{"Priority.", "mq.md.priority", FT_INT32, BASE_DEC, NULL, 0x0, "MD priority", HFILL }}, + { &hf_mq_md_persistence ,{"Persist..", "mq.md.persistence", FT_UINT32, BASE_DEC, NULL, 0x0, "MD persistence", HFILL }}, + { &hf_mq_md_msgid ,{"Msg ID...", "mq.md.msgid", FT_BYTES, BASE_NONE, NULL, 0x0, "MD Message Id", HFILL }}, + { &hf_mq_md_correlid ,{"CorrelID.", "mq.md.correlid", FT_BYTES, BASE_NONE, NULL, 0x0, "MD Correlation Id", HFILL }}, + { &hf_mq_md_backoutcnt ,{"BackoCnt.", "mq.md.backount", FT_UINT32, BASE_DEC, NULL, 0x0, "MD Backout count", HFILL }}, + { &hf_mq_md_replytoq ,{"ReplyToQ.", "mq.md.replytoq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD ReplyTo queue", HFILL }}, + { &hf_mq_md_replytoqmgr ,{"RepToQMgr", "mq.md.replytoqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD ReplyTo queue manager", HFILL }}, + { &hf_mq_md_userid ,{"UserId...", "mq.md.userid", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD UserId", HFILL }}, + { &hf_mq_md_acttoken ,{"AccntTok.", "mq.md.acttoken", FT_BYTES, BASE_NONE, NULL, 0x0, "MD accounting token", HFILL }}, + { &hf_mq_md_appliddata ,{"AppIdData", "mq.md.appldata", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Put applicationId data", HFILL }}, + { &hf_mq_md_putappltype ,{"PutAppTyp", "mq.md.appltype", FT_INT32, BASE_DEC, VALS(mq_mqat_vals), 0x0, "MD Put application type", HFILL }}, + { &hf_mq_md_putapplname ,{"PutAppNme", "mq.md.applname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Put application name", HFILL }}, + { &hf_mq_md_putdate ,{"PutDatGMT", "mq.md.date", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Put date", HFILL }}, + { &hf_mq_md_puttime ,{"PutTimGMT", "mq.md.time", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Put time", HFILL }}, + { &hf_mq_md_apporigdata ,{"AppOriDat", "mq.md.origdata", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Application original data", HFILL }}, + { &hf_mq_md_groupid ,{"GroupId..", "mq.md.groupid", FT_BYTES, BASE_NONE, NULL, 0x0, "MD GroupId", HFILL }}, + { &hf_mq_md_msgseqnumber,{"MsgSeqNum", "mq.md.msgseqnumber", FT_UINT32, BASE_DEC, NULL, 0x0, "MD Message sequence number", HFILL }}, + { &hf_mq_md_offset ,{"Offset...", "mq.md.offset", FT_UINT32, BASE_DEC, NULL, 0x0, "MD Offset", HFILL }}, + { &hf_mq_md_msgflags ,{"Msg flags", "mq.md.msgflags", FT_UINT32, BASE_HEX, NULL, 0x0, "MD Message flags", HFILL }}, + { &hf_mq_md_origlen ,{"Orig len.", "mq.md.origlength", FT_INT32, BASE_DEC, NULL, 0x0, "MD Original length", HFILL }}, + { &hf_mq_md_lastformat ,{"Last format", "mq.md.lastformat", FT_STRINGZ, BASE_NONE, NULL, 0x0, "MD Last format", HFILL }}, + + { &hf_mq_dlh_structid ,{"structid.", "mq.dlh.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_dlh_version ,{"Version..", "mq.dlh.version", FT_UINT32, BASE_DEC, NULL, 0x0, "DLH version", HFILL }}, + { &hf_mq_dlh_reason ,{"Reason...", "mq.dlh.reason", FT_UINT32, BASE_DEC, NULL, 0x0, "DLH reason", HFILL }}, + { &hf_mq_dlh_destq ,{"Dest Q...", "mq.dlh.destq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH destination queue", HFILL }}, + { &hf_mq_dlh_destqmgr ,{"DestQMgr.", "mq.dlh.destqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH destination queue manager", HFILL }}, + { &hf_mq_dlh_encoding ,{"Encoding.", "mq.dlh.encoding", FT_UINT32, BASE_DEC, NULL, 0x0, "DLH encoding", HFILL }}, + { &hf_mq_dlh_ccsid ,{"CCSID....", "mq.dlh.ccsid", FT_INT32, BASE_DEC, NULL, 0x0, "DLH character set", HFILL }}, + { &hf_mq_dlh_format ,{"Format...", "mq.dlh.format", FT_STRINGZ, BASE_NONE, NULL, 0x0, "DLH format", HFILL }}, + { &hf_mq_dlh_putappltype,{"PutAppTyp", "mq.dlh.putappltype", FT_INT32, BASE_DEC, VALS(mq_mqat_vals), 0x0, "DLH put application type", HFILL }}, + { &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 }}, + { &hf_mq_gmo_options ,{"Options..", "mq.gmo.options", FT_UINT32, BASE_HEX, NULL, 0x0, "GMO options", HFILL }}, + + { &hf_mq_gmo_options_PROPERTIES_COMPATIBILITY,{"PROPERTIES_COMPATIBILITY", "mq.gmo.options.PROPERTIES_COMPATIBILITY", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_PROPERTIES_COMPATIBILITY, "GMO options PROPERTIES_COMPATIBILITY", HFILL }}, + { &hf_mq_gmo_options_PROPERTIES_IN_HANDLE ,{"PROPERTIES_IN_HANDLE....", "mq.gmo.options.PROPERTIES_IN_HANDLE", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_PROPERTIES_IN_HANDLE , "GMO options PROPERTIES_IN_HANDLE", HFILL }}, + { &hf_mq_gmo_options_NO_PROPERTIES ,{"NO_PROPERTIES...........", "mq.gmo.options.NO_PROPERTIES", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_NO_PROPERTIES , "GMO options NO_PROPERTIES", HFILL }}, + { &hf_mq_gmo_options_PROPERTIES_FORCE_MQRFH2 ,{"PROPERTIES_FORCE_MQRFH2.", "mq.gmo.options.PROPERTIES_FORCE_MQRFH2", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_PROPERTIES_FORCE_MQRFH2 , "GMO options PROPERTIES_FORCE_MQRFH2", HFILL }}, + { &hf_mq_gmo_options_UNMARKED_BROWSE_MSG ,{"UNMARKED_BROWSE_MSG.....", "mq.gmo.options.UNMARKED_BROWSE_MSG", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_UNMARKED_BROWSE_MSG , "GMO options UNMARKED_BROWSE_MSG", HFILL }}, + { &hf_mq_gmo_options_UNMARK_BROWSE_HANDLE ,{"UNMARK_BROWSE_HANDLE....", "mq.gmo.options.UNMARK_BROWSE_HANDLE", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_UNMARK_BROWSE_HANDLE , "GMO options UNMARK_BROWSE_HANDLE", HFILL }}, + { &hf_mq_gmo_options_UNMARK_BROWSE_CO_OP ,{"UNMARK_BROWSE_CO_OP.....", "mq.gmo.options.UNMARK_BROWSE_CO_OP", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_UNMARK_BROWSE_CO_OP , "GMO options UNMARK_BROWSE_CO_OP", HFILL }}, + { &hf_mq_gmo_options_MARK_BROWSE_CO_OP ,{"MARK_BROWSE_CO_OP.......", "mq.gmo.options.MARK_BROWSE_CO_OP", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_MARK_BROWSE_CO_OP , "GMO options MARK_BROWSE_CO_OP", HFILL }}, + { &hf_mq_gmo_options_MARK_BROWSE_HANDLE ,{"MARK_BROWSE_HANDLE......", "mq.gmo.options.MARK_BROWSE_HANDLE", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_MARK_BROWSE_HANDLE , "GMO options MARK_BROWSE_HANDLE", HFILL }}, + { &hf_mq_gmo_options_ALL_SEGMENTS_AVAILABLE ,{"ALL_SEGMENTS_AVAILABLE..", "mq.gmo.options.ALL_SEGMENTS_AVAILABLE", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_ALL_SEGMENTS_AVAILABLE , "GMO options ALL_SEGMENTS_AVAILABLE", HFILL }}, + { &hf_mq_gmo_options_ALL_MSGS_AVAILABLE ,{"ALL_MSGS_AVAILABLE......", "mq.gmo.options.ALL_MSGS_AVAILABLE", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_ALL_MSGS_AVAILABLE , "GMO options ALL_MSGS_AVAILABLE", HFILL }}, + { &hf_mq_gmo_options_COMPLETE_MSG ,{"COMPLETE_MSG............", "mq.gmo.options.COMPLETE_MSG", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_COMPLETE_MSG , "GMO options COMPLETE_MSG", HFILL }}, + { &hf_mq_gmo_options_LOGICAL_ORDER ,{"LOGICAL_ORDER...........", "mq.gmo.options.LOGICAL_ORDER", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_LOGICAL_ORDER , "GMO options LOGICAL_ORDER", HFILL }}, + { &hf_mq_gmo_options_CONVERT ,{"CONVERT.................", "mq.gmo.options.CONVERT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_CONVERT , "GMO options CONVERT", HFILL }}, + { &hf_mq_gmo_options_FAIL_IF_QUIESCING ,{"FAIL_IF_QUIESCING.......", "mq.gmo.options.FAIL_IF_QUIESCING", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_FAIL_IF_QUIESCING , "GMO options FAIL_IF_QUIESCING", HFILL }}, + { &hf_mq_gmo_options_SYNCPOINT_IF_PERSISTENT ,{"SYNCPOINT_IF_PERSISTENT.", "mq.gmo.options.SYNCPOINT_IF_PERSISTENT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_SYNCPOINT_IF_PERSISTENT , "GMO options SYNCPOINT_IF_PERSISTENT", HFILL }}, + { &hf_mq_gmo_options_BROWSE_MSG_UNDER_CURSOR ,{"BROWSE_MSG_UNDER_CURSOR.", "mq.gmo.options.BROWSE_MSG_UNDER_CURSOR", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_BROWSE_MSG_UNDER_CURSOR , "GMO options BROWSE_MSG_UNDER_CURSOR", HFILL }}, + { &hf_mq_gmo_options_UNLOCK ,{"UNLOCK..................", "mq.gmo.options.UNLOCK", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_UNLOCK , "GMO options UNLOCK", HFILL }}, + { &hf_mq_gmo_options_LOCK ,{"LOCK....................", "mq.gmo.options.LOCK", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_LOCK , "GMO options LOCK", HFILL }}, + { &hf_mq_gmo_options_MSG_UNDER_CURSOR ,{"MSG_UNDER_CURSOR........", "mq.gmo.options.MSG_UNDER_CURSOR", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_MSG_UNDER_CURSOR , "GMO options MSG_UNDER_CURSOR", HFILL }}, + { &hf_mq_gmo_options_MARK_SKIP_BACKOUT ,{"MARK_SKIP_BACKOUT.......", "mq.gmo.options.MARK_SKIP_BACKOUT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_MARK_SKIP_BACKOUT , "GMO options MARK_SKIP_BACKOUT", HFILL }}, + { &hf_mq_gmo_options_ACCEPT_TRUNCATED_MSG ,{"ACCEPT_TRUNCATED_MSG....", "mq.gmo.options.ACCEPT_TRUNCATED_MSG", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_ACCEPT_TRUNCATED_MSG , "GMO options ACCEPT_TRUNCATED_MSG", HFILL }}, + { &hf_mq_gmo_options_BROWSE_NEXT ,{"BROWSE_NEXT.............", "mq.gmo.options.BROWSE_NEXT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_BROWSE_NEXT , "GMO options BROWSE_NEXT", HFILL }}, + { &hf_mq_gmo_options_BROWSE_FIRST ,{"BROWSE_FIRST............", "mq.gmo.options.BROWSE_FIRST", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_BROWSE_FIRST , "GMO options BROWSE_FIRST", HFILL }}, + { &hf_mq_gmo_options_SET_SIGNAL ,{"SET_SIGNAL..............", "mq.gmo.options.SET_SIGNAL", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_SET_SIGNAL , "GMO options SET_SIGNAL", HFILL }}, + { &hf_mq_gmo_options_NO_SYNCPOINT ,{"NO_SYNCPOINT............", "mq.gmo.options.NO_SYNCPOINT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_NO_SYNCPOINT , "GMO options NO_SYNCPOINT", HFILL }}, + { &hf_mq_gmo_options_SYNCPOINT ,{"SYNCPOINT...............", "mq.gmo.options.SYNCPOINT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_SYNCPOINT , "GMO options SYNCPOINT", HFILL }}, + { &hf_mq_gmo_options_WAIT ,{"WAIT....................", "mq.gmo.options.WAIT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQGMO_WAIT , "GMO options WAIT", HFILL }}, + + { &hf_mq_gmo_waitinterval,{"WaitIntv.", "mq.gmo.waitint", FT_INT32, BASE_DEC, NULL, 0x0, "GMO wait interval", HFILL }}, + { &hf_mq_gmo_signal1 ,{"Signal 1.", "mq.gmo.signal1", FT_UINT32, BASE_HEX, NULL, 0x0, "GMO signal 1", HFILL }}, + { &hf_mq_gmo_signal2 ,{"Signal 2.", "mq.gmo.signal2", FT_UINT32, BASE_HEX, NULL, 0x0, "GMO signal 2", HFILL }}, + { &hf_mq_gmo_resolvqname ,{"ResQName.", "mq.gmo.resolvq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "GMO resolved queue name", HFILL }}, + { &hf_mq_gmo_matchoptions,{"MatchOpt.", "mq.gmo.matchopt", FT_UINT32, BASE_HEX, NULL, 0x0, "GMO match options", HFILL }}, + + { &hf_mq_gmo_matchoptions_MATCH_MSG_TOKEN ,{"MATCH_MSG_TOKEN.....", "mq.gmo.matchoptions.MATCH_MSG_TOKEN", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQMO_MATCH_MSG_TOKEN , "GMO matchoptions MATCH_MSG_TOKEN", HFILL }}, + { &hf_mq_gmo_matchoptions_MATCH_OFFSET ,{"MATCH_OFFSET........", "mq.gmo.matchoptions.MATCH_OFFSET", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQMO_MATCH_OFFSET , "GMO matchoptions MATCH_OFFSET", HFILL }}, + { &hf_mq_gmo_matchoptions_MATCH_MSG_SEQ_NUMBER,{"MATCH_MSG_SEQ_NUMBER", "mq.gmo.matchoptions.MATCH_MSG_SEQ_NUMBER", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQMO_MATCH_MSG_SEQ_NUMBER, "GMO matchoptions MATCH_MSG_SEQ_NUMBER", HFILL }}, + { &hf_mq_gmo_matchoptions_MATCH_GROUP_ID ,{"MATCH_GROUP_ID......", "mq.gmo.matchoptions.MATCH_GROUP_ID", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQMO_MATCH_GROUP_ID , "GMO matchoptions MATCH_GROUP_ID", HFILL }}, + { &hf_mq_gmo_matchoptions_MATCH_CORREL_ID ,{"MATCH_CORREL_ID.....", "mq.gmo.matchoptions.MATCH_CORREL_ID", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQMO_MATCH_CORREL_ID , "GMO matchoptions MATCH_CORREL_ID", HFILL }}, + { &hf_mq_gmo_matchoptions_MATCH_MSG_ID ,{"MATCH_MSG_ID........", "mq.gmo.matchoptions.MATCH_MSG_ID", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQMO_MATCH_MSG_ID , "GMO matchoptions MATCH_MSG_ID", HFILL }}, + + { &hf_mq_gmo_groupstatus ,{"GrpStatus", "mq.gmo.grpstat", FT_UINT8, BASE_HEX, NULL, 0x0, "GMO group status", HFILL }}, + { &hf_mq_gmo_segmstatus ,{"SegStatus", "mq.gmo.sgmtstat", FT_UINT8, BASE_HEX, NULL, 0x0, "GMO segment status", HFILL }}, + { &hf_mq_gmo_segmentation,{"Segmentat", "mq.gmo.segmentation", FT_UINT8, BASE_HEX, NULL, 0x0, "GMO segmentation", HFILL }}, + { &hf_mq_gmo_reserved ,{"Reserved.", "mq.gmo.reserved", FT_UINT8, BASE_HEX, NULL, 0x0, "GMO reserved", HFILL }}, + { &hf_mq_gmo_msgtoken ,{"MsgToken.", "mq.gmo.msgtoken", FT_BYTES, BASE_NONE, NULL, 0x0, "GMO message token", HFILL }}, + { &hf_mq_gmo_returnedlen ,{"RtnLength", "mq.gmo.retlen", FT_INT32, BASE_DEC, NULL, 0x0, "GMO returned length", HFILL }}, + + { &hf_mq_lpoo_structid ,{"structid", "mq.lpoo.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_lpoo_version ,{"Version.", "mq.lpoo.version", FT_UINT32, BASE_DEC, NULL, 0x0, "LPOO version", HFILL }}, + { &hf_mq_lpoo_unknown1 ,{"Unknown1", "mq.lpoo.unknown1", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO unknown1", HFILL }}, + { &hf_mq_lpoo_unknown2 ,{"Unknown2", "mq.lpoo.unknown2", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO unknown2", HFILL }}, + { &hf_mq_lpoo_unknown3 ,{"Unknown3", "mq.lpoo.unknown3", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO unknown3", HFILL }}, + { &hf_mq_lpoo_unknown4 ,{"Unknown4", "mq.lpoo.unknown4", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO unknown4", HFILL }}, + { &hf_mq_lpoo_unknown5 ,{"Unknown5", "mq.lpoo.unknown5", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO unknown5", HFILL }}, + { &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_UINT32, BASE_HEX, NULL, 0x0, "LPOO unknown7", HFILL }}, + + { &hf_mq_pmo_structid ,{"structid.", "mq.pmo.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_mq_pmo_version ,{"Version..", "mq.pmo.version", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO version", HFILL }}, + { &hf_mq_pmo_options ,{"Options..", "mq.pmo.options", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO options", HFILL }}, + { &hf_mq_pmo_options_NOT_OWN_SUBS ,{"NOT_OWN_SUBS............", "mq.pmo.options.NOT_OWN_SUBS", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_NOT_OWN_SUBS , "PMO options NOT_OWN_SUBS", HFILL }}, + { &hf_mq_pmo_options_SUPPRESS_REPLYTO ,{"SUPPRESS_REPLYTO........", "mq.pmo.options.SUPPRESS_REPLYTO", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_SUPPRESS_REPLYTO , "PMO options SUPPRESS_REPLYTO", HFILL }}, + { &hf_mq_pmo_options_SCOPE_QMGR ,{"SCOPE_QMGR..............", "mq.pmo.options.SCOPE_QMGR", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_SCOPE_QMGR , "PMO options SCOPE_QMGR", HFILL }}, + { &hf_mq_pmo_options_MD_FOR_OUTPUT_ONLY ,{"MD_FOR_OUTPUT_ONLY......", "mq.pmo.options.MD_FOR_OUTPUT_ONLY", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_MD_FOR_OUTPUT_ONLY , "PMO options MD_FOR_OUTPUT_ONLY", HFILL }}, + { &hf_mq_pmo_options_RETAIN ,{"RETAIN..................", "mq.pmo.options.RETAIN", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_RETAIN , "PMO options RETAIN", HFILL }}, + { &hf_mq_pmo_options_WARN_IF_NO_SUBS_MATCHED ,{"WARN_IF_NO_SUBS_MATCHED.", "mq.pmo.options.WARN_IF_NO_SUBS_MATCHED", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_WARN_IF_NO_SUBS_MATCHED , "PMO options WARN_IF_NO_SUBS_MATCHED", HFILL }}, + { &hf_mq_pmo_options_RESOLVE_LOCAL_Q ,{"RESOLVE_LOCAL_Q.........", "mq.pmo.options.RESOLVE_LOCAL_Q", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_RESOLVE_LOCAL_Q , "PMO options RESOLVE_LOCAL_Q", HFILL }}, + { &hf_mq_pmo_options_SYNC_RESPONSE ,{"SYNC_RESPONSE...........", "mq.pmo.options.SYNC_RESPONSE", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_SYNC_RESPONSE , "PMO options SYNC_RESPONSE", HFILL }}, + { &hf_mq_pmo_options_ASYNC_RESPONSE ,{"ASYNC_RESPONSE..........", "mq.pmo.options.ASYNC_RESPONSE", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_ASYNC_RESPONSE , "PMO options ASYNC_RESPONSE", HFILL }}, + { &hf_mq_pmo_options_LOGICAL_ORDER ,{"LOGICAL_ORDER...........", "mq.pmo.options.LOGICAL_ORDER", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_LOGICAL_ORDER , "PMO options LOGICAL_ORDER", HFILL }}, + { &hf_mq_pmo_options_NO_CONTEXT ,{"NO_CONTEXT..............", "mq.pmo.options.NO_CONTEXT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_NO_CONTEXT , "PMO options NO_CONTEXT", HFILL }}, + { &hf_mq_pmo_options_FAIL_IF_QUIESCING ,{"FAIL_IF_QUIESCING.......", "mq.pmo.options.FAIL_IF_QUIESCING", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_FAIL_IF_QUIESCING , "PMO options FAIL_IF_QUIESCING", HFILL }}, + { &hf_mq_pmo_options_ALTERNATE_USER_AUTHORITY,{"ALTERNATE_USER_AUTHORITY", "mq.pmo.options.ALTERNATE_USER_AUTHORITY", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_ALTERNATE_USER_AUTHORITY , "PMO options ALTERNATE_USER_AUTHORITY", HFILL }}, + { &hf_mq_pmo_options_SET_ALL_CONTEXT ,{"SET_ALL_CONTEXT.........", "mq.pmo.options.SET_ALL_CONTEXT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_SET_ALL_CONTEXT , "PMO options SET_ALL_CONTEXT", HFILL }}, + { &hf_mq_pmo_options_SET_IDENTITY_CONTEXT ,{"SET_IDENTITY_CONTEXT....", "mq.pmo.options.SET_IDENTITY_CONTEXT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_SET_IDENTITY_CONTEXT , "PMO options SET_IDENTITY_CONTEXT", HFILL }}, + { &hf_mq_pmo_options_PASS_ALL_CONTEXT ,{"PASS_ALL_CONTEXT........", "mq.pmo.options.PASS_ALL_CONTEXT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_PASS_ALL_CONTEXT , "PMO options PASS_ALL_CONTEXT", HFILL }}, + { &hf_mq_pmo_options_PASS_IDENTITY_CONTEXT ,{"PASS_IDENTITY_CONTEXT...", "mq.pmo.options.PASS_IDENTITY_CONTEXT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_PASS_IDENTITY_CONTEXT , "PMO options PASS_IDENTITY_CONTEXT", HFILL }}, + { &hf_mq_pmo_options_NEW_CORREL_ID ,{"NEW_CORREL_ID...........", "mq.pmo.options.NEW_CORREL_ID", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_NEW_CORREL_ID , "PMO options NEW_CORREL_ID", HFILL }}, + { &hf_mq_pmo_options_NEW_MSG_ID ,{"NEW_MSG_ID..............", "mq.pmo.options.NEW_MSG_ID", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_NEW_MSG_ID , "PMO options NEW_MSG_ID", HFILL }}, + { &hf_mq_pmo_options_DEFAULT_CONTEXT ,{"DEFAULT_CONTEXT.........", "mq.pmo.options.DEFAULT_CONTEXT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_DEFAULT_CONTEXT , "PMO options DEFAULT_CONTEXT", HFILL }}, + { &hf_mq_pmo_options_NO_SYNCPOINT ,{"NO_SYNCPOINT............", "mq.pmo.options.NO_SYNCPOINT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_NO_SYNCPOINT , "PMO options NO_SYNCPOINT", HFILL }}, + { &hf_mq_pmo_options_SYNCPOINT ,{"SYNCPOINT...............", "mq.pmo.options.SYNCPOINT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_MQPMO_SYNCPOINT , "PMO options SYNCPOINT", HFILL }}, + + { &hf_mq_pmo_timeout ,{"Timeout..", "mq.pmo.timeout", FT_INT32, BASE_DEC, NULL, 0x0, "PMO time out", HFILL }}, + { &hf_mq_pmo_context ,{"Context..", "mq.pmo.context", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO context", HFILL }}, + { &hf_mq_pmo_knowndstcnt ,{"KnDstCnt.", "mq.pmo.kdstcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO known destination count", HFILL }}, + { &hf_mq_pmo_unkndstcnt ,{"UkDstCnt.", "mq.pmo.udestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO unknown destination count", HFILL }}, + { &hf_mq_pmo_invaldstcnt ,{"InDstCnt.", "mq.pmo.idestcount", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO invalid destination count", HFILL }}, + { &hf_mq_pmo_resolvqname ,{"ResQName.", "mq.pmo.resolvq", FT_STRINGZ, BASE_NONE, NULL, 0x0, "PMO resolved queue name", HFILL }}, + { &hf_mq_pmo_resolvqmgr ,{"ResQMgr..", "mq.pmo.resolvqmgr", FT_STRINGZ, BASE_NONE, NULL, 0x0, "PMO resolved queue manager name", HFILL }}, + { &hf_mq_pmo_recspresent ,{"NumRecs..", "mq.pmo.nbrrec", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO number of records", HFILL }}, + { &hf_mq_pmo_putmsgrecfld,{"PMR Flag.", "mq.pmo.flagspmr", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO flags PMR fields", HFILL }}, + { &hf_mq_pmo_putmsgrecofs,{"Ofs1stPMR", "mq.pmo.offsetpmr", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO offset of first PMR", HFILL }}, + { &hf_mq_pmo_resprecofs ,{"Off1stRR.", "mq.pmo.offsetrr", FT_UINT32, BASE_DEC, NULL, 0x0, "PMO offset of first RR", HFILL }}, + { &hf_mq_pmo_putmsgrecptr,{"Adr1stPMR", "mq.pmo.addrrec", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO address of first record", HFILL }}, + { &hf_mq_pmo_resprecptr ,{"Adr1stRR.", "mq.pmo.addrres", FT_UINT32, BASE_HEX, NULL, 0x0, "PMO address of first response record", HFILL }}, + + { &hf_mq_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, NULL, 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 }}, + { &hf_mq_xa_rmid ,{"ResourceMgrID", "mq.xa.rmid", FT_UINT32, BASE_DEC, NULL, 0x0, "XA Resource Manager ID", HFILL }}, + { &hf_mq_xa_count ,{"Number of Xid", "mq.xa.nbxid", FT_UINT32, BASE_DEC, NULL, 0x0, "XA Number of Xid", HFILL }}, + { &hf_mq_xa_tmflags_join ,{"JOIN......", "mq.xa.tmflags.join", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMJOIN, "XA TM Flags JOIN", HFILL }}, + { &hf_mq_xa_tmflags_endrscan ,{"ENDRSCAN..", "mq.xa.tmflags.endrscan", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMENDRSCAN, "XA TM Flags ENDRSCAN", HFILL }}, + { &hf_mq_xa_tmflags_startrscan,{"STARTRSCAN", "mq.xa.tmflags.startrscan", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMSTARTRSCAN, "XA TM Flags STARTRSCAN", HFILL }}, + { &hf_mq_xa_tmflags_suspend ,{"SUSPEND...", "mq.xa.tmflags.suspend", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMSUSPEND, "XA TM Flags SUSPEND", HFILL }}, + { &hf_mq_xa_tmflags_success ,{"SUCCESS...", "mq.xa.tmflags.success", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMSUCCESS, "XA TM Flags SUCCESS", HFILL }}, + { &hf_mq_xa_tmflags_resume ,{"RESUME....", "mq.xa.tmflags.resume", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMRESUME, "XA TM Flags RESUME", HFILL }}, + { &hf_mq_xa_tmflags_fail ,{"FAIL......", "mq.xa.tmflags.fail", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMFAIL, "XA TM Flags FAIL", HFILL }}, + { &hf_mq_xa_tmflags_onephase ,{"ONEPHASE..", "mq.xa.tmflags.onephase", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_XA_TMONEPHASE, "XA TM Flags ONEPHASE", HFILL }}, + { &hf_mq_xa_xid_formatid ,{"Format ID....", "mq.xa.xid.formatid", FT_INT32, BASE_DEC, NULL, 0x0, "XA Xid Format ID", HFILL }}, + { &hf_mq_xa_xid_glbxid_len,{"GlbTransIDLen", "mq.xa.xid.gxidl", FT_UINT8, BASE_DEC, NULL, 0x0, "XA Xid Global TransactionId Length", HFILL }}, + { &hf_mq_xa_xid_brq_length,{"BranchQualLen", "mq.xa.xid.bql", FT_UINT8, BASE_DEC, NULL, 0x0, "XA Xid Branch Qualifier Length", HFILL }}, + { &hf_mq_xa_xid_globalxid ,{"GlbTransactID", "mq.xa.xid.gxid", FT_BYTES, BASE_NONE, NULL, 0x0, "XA Xid Global TransactionId", HFILL }}, + { &hf_mq_xa_xid_brq ,{"BranchQualif.", "mq.xa.xid.bq", FT_BYTES, BASE_NONE, NULL, 0x0, "XA Xid Branch Qualifier", HFILL }}, + { &hf_mq_xa_xainfo_length ,{"Length.......", "mq.xa.xainfo.length", FT_UINT8, BASE_DEC, NULL, 0x0, "XA XA_info Length", HFILL }}, + { &hf_mq_xa_xainfo_value ,{"Value........", "mq.xa.xainfo.value", FT_STRINGZ, BASE_NONE, NULL, 0x0, "XA XA_info Value", HFILL }}, + + { &hf_mq_charv_vsptr ,{"VLStr Addr.", "mq.charv.vsptr", FT_UINT32, BASE_HEX, NULL, 0x0, "VS Address", HFILL }}, + { &hf_mq_charv_vsoffset ,{"VLStr Offs.", "mq.charv.vsoffset", FT_UINT32, BASE_DEC, NULL, 0x0, "VS Offset", HFILL }}, + { &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 }} + + }; + static gint *ett[] = { + &ett_mq, + &ett_mq_tsh, + &ett_mq_tsh_tcf, + &ett_mq_api, + &ett_mq_socket, + &ett_mq_msh, + &ett_mq_xqh, + &ett_mq_id, + &ett_mq_id_icf, + &ett_mq_id_ief, + &ett_mq_uid, + &ett_mq_conn, + &ett_mq_msg, + &ett_mq_notif, + &ett_mq_inq, + &ett_mq_spi, + &ett_mq_spi_base, + &ett_mq_spi_options, + &ett_mq_put, + &ett_mq_open, + &ett_mq_open_option, + &ett_mq_close_option, + &ett_mq_ping, + &ett_mq_reset, + &ett_mq_status, + &ett_mq_od, + &ett_mq_od_objstr, + &ett_mq_od_selstr, + &ett_mq_od_resobjstr, + &ett_mq_or, + &ett_mq_rr, + &ett_mq_pmr, + &ett_mq_md, + &ett_mq_mde, + &ett_mq_dlh, + &ett_mq_dh, + &ett_mq_gmo, + &ett_mq_gmo_option, + &ett_mq_gmo_matchoption, + &ett_mq_pmo, + &ett_mq_pmo_option, + &ett_mq_fcno, + &ett_mq_fopa, + &ett_mq_lpoo, + &ett_mq_lpoo_option, + &ett_mq_head, + &ett_mq_xa, + &ett_mq_xa_tmflags, + &ett_mq_xa_xid, + &ett_mq_xa_info, + &ett_mq_charv, + &ett_mq_reaasemb + }; + + module_t *mq_module; + + proto_mq = proto_register_protocol("WebSphere MQ","MQ","mq"); + proto_register_field_array(proto_mq, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + + register_heur_dissector_list("mq", &mq_heur_subdissector_list); + register_init_routine(mq_init); + + mq_module = prefs_register_protocol(proto_mq, NULL); + prefs_register_bool_preference(mq_module,"desegment", + "Reassemble MQ messages spanning multiple TCP segments", + "Whether the MQ dissector should reassemble messages spanning multiple TCP segments." + " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.", + &mq_desegment); + prefs_register_bool_preference(mq_module,"reassembly", + "Reassemble segmented MQ messages", + "Whether the MQ dissector should reassemble MQ messages spanning multiple TSH segments", + &mq_reassembly); } -void -proto_reg_handoff_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 */ - - mq_tcp_handle = create_dissector_handle(dissect_mq_tcp, proto_mq); - mq_spx_handle = create_dissector_handle(dissect_mq_spx, proto_mq); - - dissector_add_handle("tcp.port", mq_tcp_handle); - heur_dissector_add("tcp", dissect_mq_heur_tcp, proto_mq); - heur_dissector_add("netbios", dissect_mq_heur_netbios, proto_mq); - heur_dissector_add("http", dissect_mq_heur_http, proto_mq); - dissector_add_uint("spx.socket", MQ_SOCKET_SPX, mq_spx_handle); - data_handle = find_dissector("data"); - + /* 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 */ + + mq_tcp_handle = create_dissector_handle(dissect_mq_tcp, proto_mq); + mq_spx_handle = create_dissector_handle(dissect_mq_spx, proto_mq); + + dissector_add_handle("tcp.port", mq_tcp_handle); + heur_dissector_add("tcp", dissect_mq_heur_tcp, proto_mq); + heur_dissector_add("netbios", dissect_mq_heur_netbios, proto_mq); + heur_dissector_add("http", dissect_mq_heur_http, proto_mq); + dissector_add_uint("spx.socket", MQ_SOCKET_SPX, mq_spx_handle); + data_handle = find_dissector("data"); + mqpcf_handle = find_dissector("mqpcf"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 4 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=4 tabstop=4 noexpandtab: + * :indentSize=4:tabSize=4:noTabs=false: + */ diff --git a/epan/dissectors/packet-mq.h b/epan/dissectors/packet-mq.h index 1dd13b0991..cc722cb6f9 100644 --- a/epan/dissectors/packet-mq.h +++ b/epan/dissectors/packet-mq.h @@ -2,6 +2,8 @@ * * $Id$ * + * robionekenobi <robionekenobi@bluewin.ch> + * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> * Copyright 1998 Gerald Combs @@ -24,13 +26,4803 @@ #ifndef __PACKET_MQ_H__ #define __PACKET_MQ_H__ + +#define DEF_VALSX(A) extern const value_string mq_##A##_vals[] +#define GET_VALSV(A) mq_##A##_vals +#define GET_VALSP(F) (gchar *)GET_VALSV(F) + +#define DEF_VALSB(A) \ +const value_string mq_##A##_vals[] = \ +{ + +#define DEF_VALS1(A) { (guint32)MQ_##A, #A } +#define DEF_VALS2(A,B) { (guint32)MQ_##A, B } + +#define DEF_VALSE \ +{ 0, NULL } \ +} + +#define DEF_VALSEXT(A) value_string_ext mq_##A##_vals_ext = VALUE_STRING_EXT_INIT(mq_##A##_vals) +#define DEF_VALSEXTX(A) extern value_string_ext mq_##A##_vals_ext + /* - * Private data passed from the MQ dissector to subdissectors. - */ +* Private data passed from the MQ dissector to subdissectors. +*/ struct mqinfo { guint32 encoding; /* Message encoding */ guint32 ccsid; /* Message character set */ guint8 format[8]; /* Message format */ }; +typedef struct _mq_parm_t +{ + guint32 mq_strucID ; + guint32 mq_int_enc ; + guint32 mq_str_enc ; + guint32 mq_encode ; + guint16 mq_ccsid ; + guint8 mq_ctlf ; + guint8 mq_opcode ; +} mq_parm_t; + +#define MQ_MQCA_XR_VERSION2 2120 + +#define MQ_0 0 +#define MQ_1 1 +#define MQ_2 2 +#define MQ_3 3 +#define MQ_4 4 +#define MQ_5 5 +#define MQ_6 6 +#define MQ_7 7 +#define MQ_8 8 +#define MQ_9 9 + +/* Authentication Information Type */ +#define MQ_MQAIT_ALL 0 +#define MQ_MQAIT_CRL_LDAP 1 +#define MQ_MQAIT_OCSP 2 + +/* Buffer To Message Handle Options */ +#define MQ_MQBMHO_NONE 0x00000000 +#define MQ_MQBMHO_DELETE_PROPERTIES 0x00000001 +/* Begin Options */ +#define MQ_MQBO_NONE 0x00000000 + +/* Flags */ +#define MQ_MQCBCF_NONE 0x00000000 +#define MQ_MQCBCF_READA_BUFFER_EMPTY 0x00000001 + +/* Callback type */ +#define MQ_MQCBCT_START_CALL 1 +#define MQ_MQCBCT_STOP_CALL 2 +#define MQ_MQCBCT_REGISTER_CALL 3 +#define MQ_MQCBCT_DEREGISTER_CALL 4 +#define MQ_MQCBCT_EVENT_CALL 5 +#define MQ_MQCBCT_MSG_REMOVED 6 +#define MQ_MQCBCT_MSG_NOT_REMOVED 7 +#define MQ_MQCBCT_MC_EVENT_CALL 8 + +/* Consumer state */ +#define MQ_MQCS_NONE 0 +#define MQ_MQCS_SUSPENDED_TEMPORARY 1 +#define MQ_MQCS_SUSPENDED_USER_ACTION 2 +#define MQ_MQCS_SUSPENDED 3 +#define MQ_MQCS_STOPPED 4 + +/* Reconnect delay */ +#define MQ_MQRD_NO_RECONNECT (-1) +#define MQ_MQRD_NO_DELAY 0 + +/* Callback Options */ +#define MQ_MQCBDO_NONE 0x00000000 +#define MQ_MQCBDO_START_CALL 0x00000001 +#define MQ_MQCBDO_STOP_CALL 0x00000004 +#define MQ_MQCBDO_REGISTER_CALL 0x00000100 +#define MQ_MQCBDO_DEREGISTER_CALL 0x00000200 +#define MQ_MQCBDO_FAIL_IF_QUIESCING 0x00002000 +#define MQ_MQCBDO_EVENT_CALL 0x00004000 +#define MQ_MQCBDO_MC_EVENT_CALL 0x00008000 + +/* This is the type of the Callback Function */ +#define MQ_MQCBT_MESSAGE_CONSUMER 0x00000001 +#define MQ_MQCBT_EVENT_HANDLER 0x00000002 + +/* Buffer size values */ +#define MQ_MQCBD_FULL_MSG_LENGTH (-1) + +/* Variable String Length */ +#define MQ_MQVS_NULL_TERMINATED (-1) + +/* Flags */ +#define MQ_MQCIH_NONE 0x00000000 +#define MQ_MQCIH_PASS_EXPIRATION 0x00000001 +#define MQ_MQCIH_UNLIMITED_EXPIRATION 0x00000000 +#define MQ_MQCIH_REPLY_WITHOUT_NULLS 0x00000002 +#define MQ_MQCIH_REPLY_WITH_NULLS 0x00000000 +#define MQ_MQCIH_SYNC_ON_RETURN 0x00000004 +#define MQ_MQCIH_NO_SYNC_ON_RETURN 0x00000000 + +/* Return Codes */ +#define MQ_MQCRC_OK 0 +#define MQ_MQCRC_CICS_EXEC_ERROR 1 +#define MQ_MQCRC_MQ_API_ERROR 2 +#define MQ_MQCRC_BRIDGE_ERROR 3 +#define MQ_MQCRC_BRIDGE_ABEND 4 +#define MQ_MQCRC_APPLICATION_ABEND 5 +#define MQ_MQCRC_SECURITY_ERROR 6 +#define MQ_MQCRC_PROGRAM_NOT_AVAILABLE 7 +#define MQ_MQCRC_BRIDGE_TIMEOUT 8 +#define MQ_MQCRC_TRANSID_NOT_AVAILABLE 9 + +/* Unit-of-Work Controls */ +#define MQ_MQCUOWC_ONLY 0x00000111 +#define MQ_MQCUOWC_CONTINUE 0x00010000 +#define MQ_MQCUOWC_FIRST 0x00000011 +#define MQ_MQCUOWC_MIDDLE 0x00000010 +#define MQ_MQCUOWC_LAST 0x00000110 +#define MQ_MQCUOWC_COMMIT 0x00000100 +#define MQ_MQCUOWC_BACKOUT 0x00001100 + +/* Get Wait Interval */ +#define MQ_MQCGWI_DEFAULT (-2) + +/* Link Types */ +#define MQ_MQCLT_PROGRAM 1 +#define MQ_MQCLT_TRANSACTION 2 + +/* Output Data Length */ +#define MQ_MQCODL_AS_INPUT (-1) + +/* ADS Descriptors */ +#define MQ_MQCADSD_NONE 0x00000000 +#define MQ_MQCADSD_SEND 0x00000001 +#define MQ_MQCADSD_RECV 0x00000010 +#define MQ_MQCADSD_MSGFORMAT 0x00000100 + +/* Conversational Task Options */ +#define MQ_MQCCT_YES 0x00000001 +#define MQ_MQCCT_NO 0x00000000 + +/* Task End Status */ +#define MQ_MQCTES_NOSYNC 0x00000000 +#define MQ_MQCTES_COMMIT 0x00000100 +#define MQ_MQCTES_BACKOUT 0x00001100 +#define MQ_MQCTES_ENDTASK 0x00010000 + +/* Functions */ +#define MQ_MQCFUNC_MQCONN "CONN" +#define MQ_MQCFUNC_MQGET "GET " +#define MQ_MQCFUNC_MQINQ "INQ " +#define MQ_MQCFUNC_MQOPEN "OPEN" +#define MQ_MQCFUNC_MQPUT "PUT " +#define MQ_MQCFUNC_MQPUT1 "PUT1" +#define MQ_MQCFUNC_NONE " " + +/* Start Codes */ +#define MQ_MQCSC_START "S " +#define MQ_MQCSC_STARTDATA "SD " +#define MQ_MQCSC_TERMINPUT "TD " +#define MQ_MQCSC_NONE " " + +/* Create Message Handle Options */ +#define MQ_MQCMHO_DEFAULT_VALIDATION 0x00000000 +#define MQ_MQCMHO_NO_VALIDATION 0x00000001 +#define MQ_MQCMHO_VALIDATE 0x00000002 +#define MQ_MQCMHO_NONE 0x00000000 + +/* Consumer Control Options */ +#define MQ_MQCTLO_NONE 0x00000000 +#define MQ_MQCTLO_THREAD_AFFINITY 0x00000001 +#define MQ_MQCTLO_FAIL_IF_QUIESCING 0x00002000 + +/* SuiteB Type */ +#define MQ_MQ_SUITE_B_NOT_AVAILABLE 0 +#define MQ_MQ_SUITE_B_NONE 1 +#define MQ_MQ_SUITE_B_128_BIT 2 +#define MQ_MQ_SUITE_B_192_BIT 4 + +/* Key Reset Count */ +#define MQ_MQSCO_RESET_COUNT_DEFAULT 0 + +/* Certificate Validation Policy Type */ +#define MQ_MQ_CERT_VAL_POLICY_DEFAULT 0 +#define MQ_MQ_CERT_VAL_POLICY_ANY 0 +#define MQ_MQ_CERT_VAL_POLICY_RFC5280 1 + +/* Authentication Types */ +#define MQ_MQCSP_AUTH_NONE 0 +#define MQ_MQCSP_AUTH_USER_ID_AND_PWD 1 + +/* Connect Options */ +#define MQ_MQCNO_STANDARD_BINDING 0x00000000 +#define MQ_MQCNO_FASTPATH_BINDING 0x00000001 +#define MQ_MQCNO_SERIALIZE_CONN_TAG_Q_MGR 0x00000002 +#define MQ_MQCNO_SERIALIZE_CONN_TAG_QSG 0x00000004 +#define MQ_MQCNO_RESTRICT_CONN_TAG_Q_MGR 0x00000008 +#define MQ_MQCNO_RESTRICT_CONN_TAG_QSG 0x00000010 +#define MQ_MQCNO_HANDLE_SHARE_NONE 0x00000020 +#define MQ_MQCNO_HANDLE_SHARE_BLOCK 0x00000040 +#define MQ_MQCNO_HANDLE_SHARE_NO_BLOCK 0x00000080 +#define MQ_MQCNO_SHARED_BINDING 0x00000100 +#define MQ_MQCNO_ISOLATED_BINDING 0x00000200 +#define MQ_MQCNO_LOCAL_BINDING 0x00000400 +#define MQ_MQCNO_CLIENT_BINDING 0x00000800 +#define MQ_MQCNO_ACCOUNTING_MQI_ENABLED 0x00001000 +#define MQ_MQCNO_ACCOUNTING_MQI_DISABLED 0x00002000 +#define MQ_MQCNO_ACCOUNTING_Q_ENABLED 0x00004000 +#define MQ_MQCNO_ACCOUNTING_Q_DISABLED 0x00008000 +#define MQ_MQCNO_NO_CONV_SHARING 0x00010000 +#define MQ_MQCNO_ALL_CONVS_SHARE 0x00040000 +#define MQ_MQCNO_CD_FOR_OUTPUT_ONLY 0x00080000 +#define MQ_MQCNO_USE_CD_SELECTION 0x00100000 +#define MQ_MQCNO_RECONNECT_AS_DEF 0x00000000 +#define MQ_MQCNO_RECONNECT 0x01000000 +#define MQ_MQCNO_RECONNECT_DISABLED 0x02000000 +#define MQ_MQCNO_RECONNECT_Q_MGR 0x04000000 +#define MQ_MQCNO_ACTIVITY_TRACE_ENABLED 0x08000000 +#define MQ_MQCNO_ACTIVITY_TRACE_DISABLED 0x10000000 +#define MQ_MQCNO_NONE 0x00000000 + +/* Flags */ +#define MQ_MQDHF_NEW_MSG_IDS 0x00000001 +#define MQ_MQDHF_NONE 0x00000000 + +/* Delete Message Handle Options */ +#define MQ_MQDMHO_NONE 0x00000000 + +/* Delete Message Property Options */ +#define MQ_MQDMPO_DEL_FIRST 0x00000000 +#define MQ_MQDMPO_DEL_PROP_UNDER_CURSOR 0x00000001 +#define MQ_MQDMPO_NONE 0x00000000 + +/* Get Message Options */ +#define MQ_MQGMO_WAIT 0x00000001 +#define MQ_MQGMO_NO_WAIT 0x00000000 +#define MQ_MQGMO_SET_SIGNAL 0x00000008 +#define MQ_MQGMO_FAIL_IF_QUIESCING 0x00002000 +#define MQ_MQGMO_SYNCPOINT 0x00000002 +#define MQ_MQGMO_SYNCPOINT_IF_PERSISTENT 0x00001000 +#define MQ_MQGMO_NO_SYNCPOINT 0x00000004 +#define MQ_MQGMO_MARK_SKIP_BACKOUT 0x00000080 +#define MQ_MQGMO_BROWSE_FIRST 0x00000010 +#define MQ_MQGMO_BROWSE_NEXT 0x00000020 +#define MQ_MQGMO_BROWSE_MSG_UNDER_CURSOR 0x00000800 +#define MQ_MQGMO_MSG_UNDER_CURSOR 0x00000100 +#define MQ_MQGMO_LOCK 0x00000200 +#define MQ_MQGMO_UNLOCK 0x00000400 +#define MQ_MQGMO_ACCEPT_TRUNCATED_MSG 0x00000040 +#define MQ_MQGMO_CONVERT 0x00004000 +#define MQ_MQGMO_LOGICAL_ORDER 0x00008000 +#define MQ_MQGMO_COMPLETE_MSG 0x00010000 +#define MQ_MQGMO_ALL_MSGS_AVAILABLE 0x00020000 +#define MQ_MQGMO_ALL_SEGMENTS_AVAILABLE 0x00040000 +#define MQ_MQGMO_MARK_BROWSE_HANDLE 0x00100000 +#define MQ_MQGMO_MARK_BROWSE_CO_OP 0x00200000 +#define MQ_MQGMO_UNMARK_BROWSE_CO_OP 0x00400000 +#define MQ_MQGMO_UNMARK_BROWSE_HANDLE 0x00800000 +#define MQ_MQGMO_UNMARKED_BROWSE_MSG 0x01000000 +#define MQ_MQGMO_PROPERTIES_FORCE_MQRFH2 0x02000000 +#define MQ_MQGMO_NO_PROPERTIES 0x04000000 +#define MQ_MQGMO_PROPERTIES_IN_HANDLE 0x08000000 +#define MQ_MQGMO_PROPERTIES_COMPATIBILITY 0x10000000 +#define MQ_MQGMO_PROPERTIES_AS_Q_DEF 0x00000000 +#define MQ_MQGMO_NONE 0x00000000 +#define MQ_MQGMO_BROWSE_HANDLE ( MQGMO_BROWSE_FIRST \ + | MQGMO_UNMARKED_BROWSE_MSG \ + | MQGMO_MARK_BROWSE_HANDLE ) +#define MQ_MQGMO_BROWSE_CO_OP ( MQGMO_BROWSE_FIRST \ + | MQGMO_UNMARKED_BROWSE_MSG \ + | MQGMO_MARK_BROWSE_CO_OP ) + +/* Wait Interval */ +#define MQ_MQWI_UNLIMITED (-1) + +/* Signal Values */ +#define MQ_MQEC_MSG_ARRIVED 2 +#define MQ_MQEC_WAIT_INTERVAL_EXPIRED 3 +#define MQ_MQEC_WAIT_CANCELED 4 +#define MQ_MQEC_Q_MGR_QUIESCING 5 +#define MQ_MQEC_CONNECTION_QUIESCING 6 + +/* Match Options */ +#define MQ_MQMO_MATCH_MSG_ID 0x00000001 +#define MQ_MQMO_MATCH_CORREL_ID 0x00000002 +#define MQ_MQMO_MATCH_GROUP_ID 0x00000004 +#define MQ_MQMO_MATCH_MSG_SEQ_NUMBER 0x00000008 +#define MQ_MQMO_MATCH_OFFSET 0x00000010 +#define MQ_MQMO_MATCH_MSG_TOKEN 0x00000020 +#define MQ_MQMO_NONE 0x00000000 + +/* Group Status */ +#define MQ_MQGS_NOT_IN_GROUP ' ' +#define MQ_MQGS_MSG_IN_GROUP 'G' +#define MQ_MQGS_LAST_MSG_IN_GROUP 'L' + +/* Segment Status */ +#define MQ_MQSS_NOT_A_SEGMENT ' ' +#define MQ_MQSS_SEGMENT 'S' +#define MQ_MQSS_LAST_SEGMENT 'L' + +/* Segmentation */ +#define MQ_MQSEG_INHIBITED ' ' +#define MQ_MQSEG_ALLOWED 'A' + +/* Returned Length */ +#define MQ_MQRL_UNDEFINED (-1) + +/* Flags */ +#define MQ_MQIIH_NONE 0x00000000 +#define MQ_MQIIH_PASS_EXPIRATION 0x00000001 +#define MQ_MQIIH_UNLIMITED_EXPIRATION 0x00000000 +#define MQ_MQIIH_REPLY_FORMAT_NONE 0x00000008 +#define MQ_MQIIH_IGNORE_PURG 0x00000010 +#define MQ_MQIIH_CM0_REQUEST_RESPONSE 0x00000020 + +/* Transaction States */ +#define MQ_MQITS_IN_CONVERSATION 'C' +#define MQ_MQITS_NOT_IN_CONVERSATION ' ' +#define MQ_MQITS_ARCHITECTED 'A' + +/* Commit Modes */ +#define MQ_MQICM_COMMIT_THEN_SEND '0' +#define MQ_MQICM_SEND_THEN_COMMIT '1' + +/* Security Scopes */ +#define MQ_MQISS_CHECK 'C' +#define MQ_MQISS_FULL 'F' + +/* Inquire Message Property Options */ +#define MQ_MQIMPO_CONVERT_TYPE 0x00000002 +#define MQ_MQIMPO_QUERY_LENGTH 0x00000004 +#define MQ_MQIMPO_INQ_FIRST 0x00000000 +#define MQ_MQIMPO_INQ_NEXT 0x00000008 +#define MQ_MQIMPO_INQ_PROP_UNDER_CURSOR 0x00000010 +#define MQ_MQIMPO_CONVERT_VALUE 0x00000020 +#define MQ_MQIMPO_NONE 0x00000000 + +/* Report Options */ +#define MQ_MQRO_EXCEPTION 0x01000000 +#define MQ_MQRO_EXCEPTION_WITH_DATA 0x03000000 +#define MQ_MQRO_EXCEPTION_WITH_FULL_DATA 0x07000000 +#define MQ_MQRO_EXPIRATION 0x00200000 +#define MQ_MQRO_EXPIRATION_WITH_DATA 0x00600000 +#define MQ_MQRO_EXPIRATION_WITH_FULL_DATA 0x00E00000 +#define MQ_MQRO_COA 0x00000100 +#define MQ_MQRO_COA_WITH_DATA 0x00000300 +#define MQ_MQRO_COA_WITH_FULL_DATA 0x00000700 +#define MQ_MQRO_COD 0x00000800 +#define MQ_MQRO_COD_WITH_DATA 0x00001800 +#define MQ_MQRO_COD_WITH_FULL_DATA 0x00003800 +#define MQ_MQRO_PAN 0x00000001 +#define MQ_MQRO_NAN 0x00000002 +#define MQ_MQRO_ACTIVITY 0x00000004 +#define MQ_MQRO_NEW_MSG_ID 0x00000000 +#define MQ_MQRO_PASS_MSG_ID 0x00000080 +#define MQ_MQRO_COPY_MSG_ID_TO_CORREL_ID 0x00000000 +#define MQ_MQRO_PASS_CORREL_ID 0x00000040 +#define MQ_MQRO_DEAD_LETTER_Q 0x00000000 +#define MQ_MQRO_DISCARD_MSG 0x08000000 +#define MQ_MQRO_PASS_DISCARD_AND_EXPIRY 0x00004000 +#define MQ_MQRO_NONE 0x00000000 + +/* Report Options Masks */ +#define MQ_MQRO_REJECT_UNSUP_MASK 0x101C0000 +#define MQ_MQRO_ACCEPT_UNSUP_MASK 0xEFE000FF +#define MQ_MQRO_ACCEPT_UNSUP_IF_XMIT_MASK 0x0003FF00 + +/* Message Types */ +#define MQ_MQMT_SYSTEM_FIRST 1 +#define MQ_MQMT_REQUEST 1 +#define MQ_MQMT_REPLY 2 +#define MQ_MQMT_DATAGRAM 8 +#define MQ_MQMT_REPORT 4 +#define MQ_MQMT_MQE_FIELDS_FROM_MQE 112 +#define MQ_MQMT_MQE_FIELDS 113 +#define MQ_MQMT_SYSTEM_LAST 65535 +#define MQ_MQMT_APPL_FIRST 65536 +#define MQ_MQMT_APPL_LAST 999999999 + +/* Expiry */ +#define MQ_MQEI_UNLIMITED (-1) + +/* Feedback Values */ +#define MQ_MQFB_NONE 0 +#define MQ_MQFB_SYSTEM_FIRST 1 +#define MQ_MQFB_QUIT 256 +#define MQ_MQFB_EXPIRATION 258 +#define MQ_MQFB_COA 259 +#define MQ_MQFB_COD 260 +#define MQ_MQFB_CHANNEL_COMPLETED 262 +#define MQ_MQFB_CHANNEL_FAIL_RETRY 263 +#define MQ_MQFB_CHANNEL_FAIL 264 +#define MQ_MQFB_APPL_CANNOT_BE_STARTED 265 +#define MQ_MQFB_TM_ERROR 266 +#define MQ_MQFB_APPL_TYPE_ERROR 267 +#define MQ_MQFB_STOPPED_BY_MSG_EXIT 268 +#define MQ_MQFB_ACTIVITY 269 +#define MQ_MQFB_XMIT_Q_MSG_ERROR 271 +#define MQ_MQFB_PAN 275 +#define MQ_MQFB_NAN 276 +#define MQ_MQFB_STOPPED_BY_CHAD_EXIT 277 +#define MQ_MQFB_STOPPED_BY_PUBSUB_EXIT 279 +#define MQ_MQFB_NOT_A_REPOSITORY_MSG 280 +#define MQ_MQFB_BIND_OPEN_CLUSRCVR_DEL 281 +#define MQ_MQFB_MAX_ACTIVITIES 282 +#define MQ_MQFB_NOT_FORWARDED 283 +#define MQ_MQFB_NOT_DELIVERED 284 +#define MQ_MQFB_UNSUPPORTED_FORWARDING 285 +#define MQ_MQFB_UNSUPPORTED_DELIVERY 286 +#define MQ_MQFB_DATA_LENGTH_ZERO 291 +#define MQ_MQFB_DATA_LENGTH_NEGATIVE 292 +#define MQ_MQFB_DATA_LENGTH_TOO_BIG 293 +#define MQ_MQFB_BUFFER_OVERFLOW 294 +#define MQ_MQFB_LENGTH_OFF_BY_ONE 295 +#define MQ_MQFB_IIH_ERROR 296 +#define MQ_MQFB_NOT_AUTHORIZED_FOR_IMS 298 +#define MQ_MQFB_IMS_ERROR 300 +#define MQ_MQFB_IMS_FIRST 301 +#define MQ_MQFB_IMS_LAST 399 +#define MQ_MQFB_CICS_INTERNAL_ERROR 401 +#define MQ_MQFB_CICS_NOT_AUTHORIZED 402 +#define MQ_MQFB_CICS_BRIDGE_FAILURE 403 +#define MQ_MQFB_CICS_CORREL_ID_ERROR 404 +#define MQ_MQFB_CICS_CCSID_ERROR 405 +#define MQ_MQFB_CICS_ENCODING_ERROR 406 +#define MQ_MQFB_CICS_CIH_ERROR 407 +#define MQ_MQFB_CICS_UOW_ERROR 408 +#define MQ_MQFB_CICS_COMMAREA_ERROR 409 +#define MQ_MQFB_CICS_APPL_NOT_STARTED 410 +#define MQ_MQFB_CICS_APPL_ABENDED 411 +#define MQ_MQFB_CICS_DLQ_ERROR 412 +#define MQ_MQFB_CICS_UOW_BACKED_OUT 413 +#define MQ_MQFB_PUBLICATIONS_ON_REQUEST 501 +#define MQ_MQFB_SUBSCRIBER_IS_PUBLISHER 502 +#define MQ_MQFB_MSG_SCOPE_MISMATCH 503 +#define MQ_MQFB_SELECTOR_MISMATCH 504 +#define MQ_MQFB_NOT_A_GROUPUR_MSG 505 +#define MQ_MQFB_IMS_NACK_1A_REASON_FIRST 600 +#define MQ_MQFB_IMS_NACK_1A_REASON_LAST 855 +#define MQ_MQFB_SYSTEM_LAST 65535 +#define MQ_MQFB_APPL_FIRST 65536 +#define MQ_MQFB_APPL_LAST 999999999 + +/* Encoding */ +#define MQ_MQENC_NATIVE 0x00000222 + +/* Encoding Masks */ +#define MQ_MQENC_INTEGER_MASK 0x0000000F +#define MQ_MQENC_DECIMAL_MASK 0x000000F0 +#define MQ_MQENC_FLOAT_MASK 0x00000F00 +#define MQ_MQENC_RESERVED_MASK 0xFFFFF000 + +/* Encodings for Binary Integers */ +#define MQ_MQENC_INTEGER_UNDEFINED 0x00000000 +#define MQ_MQENC_INTEGER_NORMAL 0x00000001 +#define MQ_MQENC_INTEGER_REVERSED 0x00000002 + +/* Encodings for Packed Decimal Integers */ +#define MQ_MQENC_DECIMAL_UNDEFINED 0x00000000 +#define MQ_MQENC_DECIMAL_NORMAL 0x00000010 +#define MQ_MQENC_DECIMAL_REVERSED 0x00000020 + +/* Encodings for Floating Point Numbers */ +#define MQ_MQENC_FLOAT_UNDEFINED 0x00000000 +#define MQ_MQENC_FLOAT_IEEE_NORMAL 0x00000100 +#define MQ_MQENC_FLOAT_IEEE_REVERSED 0x00000200 +#define MQ_MQENC_FLOAT_S390 0x00000300 +#define MQ_MQENC_FLOAT_TNS 0x00000400 + +/* Encodings for Multicast */ +#define MQ_MQENC_NORMAL ( MQENC_FLOAT_IEEE_NORMAL \ + | MQENC_DECIMAL_NORMAL \ + | MQENC_INTEGER_NORMAL ) +#define MQ_MQENC_REVERSED ( MQENC_FLOAT_IEEE_REVERSED \ + | MQENC_DECIMAL_REVERSED \ + | MQENC_INTEGER_REVERSED ) +#define MQ_MQENC_S390 ( MQENC_FLOAT_S390 \ + | MQENC_DECIMAL_NORMAL \ + | MQENC_INTEGER_NORMAL ) +#define MQ_MQENC_TNS ( MQENC_FLOAT_TNS \ + | MQENC_DECIMAL_NORMAL \ + | MQENC_INTEGER_NORMAL ) +#define MQ_MQENC_AS_PUBLISHED (-1) + +/* Coded Character Set Identifiers */ +#define MQ_MQCCSI_UNDEFINED 0 +#define MQ_MQCCSI_DEFAULT 0 +#define MQ_MQCCSI_Q_MGR 0 +#define MQ_MQCCSI_INHERIT (-2) +#define MQ_MQCCSI_EMBEDDED (-1) +#define MQ_MQCCSI_APPL (-3) +#define MQ_MQCCSI_AS_PUBLISHED (-4) + +/* Formats */ +#define MQ_MQFMT_NONE " " +#define MQ_MQFMT_ADMIN "MQADMIN " +#define MQ_MQFMT_CHANNEL_COMPLETED "MQCHCOM " +#define MQ_MQFMT_CICS "MQCICS " +#define MQ_MQFMT_COMMAND_1 "MQCMD1 " +#define MQ_MQFMT_COMMAND_2 "MQCMD2 " +#define MQ_MQFMT_DEAD_LETTER_HEADER "MQDEAD " +#define MQ_MQFMT_DIST_HEADER "MQHDIST " +#define MQ_MQFMT_EMBEDDED_PCF "MQHEPCF " +#define MQ_MQFMT_EVENT "MQEVENT " +#define MQ_MQFMT_IMS "MQIMS " +#define MQ_MQFMT_IMS_VAR_STRING "MQIMSVS " +#define MQ_MQFMT_MD_EXTENSION "MQHMDE " +#define MQ_MQFMT_PCF "MQPCF " +#define MQ_MQFMT_REF_MSG_HEADER "MQHREF " +#define MQ_MQFMT_RF_HEADER "MQHRF " +#define MQ_MQFMT_RF_HEADER_1 "MQHRF " +#define MQ_MQFMT_RF_HEADER_2 "MQHRF2 " +#define MQ_MQFMT_STRING "MQSTR " +#define MQ_MQFMT_TRIGGER "MQTRIG " +#define MQ_MQFMT_WORK_INFO_HEADER "MQHWIH " +#define MQ_MQFMT_XMIT_Q_HEADER "MQXMIT " + +/* Priority */ +#define MQ_MQPRI_PRIORITY_AS_Q_DEF (-1) +#define MQ_MQPRI_PRIORITY_AS_PARENT (-2) +#define MQ_MQPRI_PRIORITY_AS_PUBLISHED (-3) +#define MQ_MQPRI_PRIORITY_AS_TOPIC_DEF (-1) + +/* Persistence Values */ +#define MQ_MQPER_PERSISTENCE_AS_PARENT (-1) +#define MQ_MQPER_NOT_PERSISTENT 0 +#define MQ_MQPER_PERSISTENT 1 +#define MQ_MQPER_PERSISTENCE_AS_Q_DEF 2 +#define MQ_MQPER_PERSISTENCE_AS_TOPIC_DEF 2 + +/* Put Response Values */ +#define MQ_MQPRT_RESPONSE_AS_PARENT 0 +#define MQ_MQPRT_SYNC_RESPONSE 1 +#define MQ_MQPRT_ASYNC_RESPONSE 2 + +/* Accounting Token Types */ +#define MQ_MQACTT_UNKNOWN '\x00' +#define MQ_MQACTT_CICS_LUOW_ID '\x01' +#define MQ_MQACTT_OS2_DEFAULT '\x04' +#define MQ_MQACTT_DOS_DEFAULT '\x05' +#define MQ_MQACTT_UNIX_NUMERIC_ID '\x06' +#define MQ_MQACTT_OS400_ACCOUNT_TOKEN '\x08' +#define MQ_MQACTT_WINDOWS_DEFAULT '\x09' +#define MQ_MQACTT_NT_SECURITY_ID '\x0B' +#define MQ_MQACTT_USER '\x19' + +/* Put Application Types */ +#define MQ_MQAT_UNKNOWN (-1) +#define MQ_MQAT_NO_CONTEXT 0 +#define MQ_MQAT_CICS 1 +#define MQ_MQAT_MVS 2 +#define MQ_MQAT_OS390 2 +#define MQ_MQAT_ZOS 2 +#define MQ_MQAT_IMS 3 +#define MQ_MQAT_OS2 4 +#define MQ_MQAT_DOS 5 +#define MQ_MQAT_AIX 6 +#define MQ_MQAT_UNIX 6 +#define MQ_MQAT_QMGR 7 +#define MQ_MQAT_OS400 8 +#define MQ_MQAT_WINDOWS 9 +#define MQ_MQAT_CICS_VSE 10 +#define MQ_MQAT_WINDOWS_NT 11 +#define MQ_MQAT_VMS 12 +#define MQ_MQAT_GUARDIAN 13 +#define MQ_MQAT_NSK 13 +#define MQ_MQAT_VOS 14 +#define MQ_MQAT_OPEN_TP1 15 +#define MQ_MQAT_VM 18 +#define MQ_MQAT_IMS_BRIDGE 19 +#define MQ_MQAT_XCF 20 +#define MQ_MQAT_CICS_BRIDGE 21 +#define MQ_MQAT_NOTES_AGENT 22 +#define MQ_MQAT_TPF 23 +#define MQ_MQAT_USER 25 +#define MQ_MQAT_BROKER 26 +#define MQ_MQAT_QMGR_PUBLISH 26 +#define MQ_MQAT_JAVA 28 +#define MQ_MQAT_DQM 29 +#define MQ_MQAT_CHANNEL_INITIATOR 30 +#define MQ_MQAT_WLM 31 +#define MQ_MQAT_BATCH 32 +#define MQ_MQAT_RRS_BATCH 33 +#define MQ_MQAT_SIB 34 +#define MQ_MQAT_SYSTEM_EXTENSION 35 +#define MQ_MQAT_MCAST_PUBLISH 36 +#define MQ_MQAT_DEFAULT 11 + +/* Message Flags */ +#define MQ_MQMF_SEGMENTATION_INHIBITED 0x00000000 +#define MQ_MQMF_SEGMENTATION_ALLOWED 0x00000001 +#define MQ_MQMF_MSG_IN_GROUP 0x00000008 +#define MQ_MQMF_LAST_MSG_IN_GROUP 0x00000010 +#define MQ_MQMF_SEGMENT 0x00000002 +#define MQ_MQMF_LAST_SEGMENT 0x00000004 +#define MQ_MQMF_NONE 0x00000000 + +/* Message Flags Masks */ +#define MQ_MQMF_REJECT_UNSUP_MASK 0x00000FFF +#define MQ_MQMF_ACCEPT_UNSUP_MASK 0xFFF00000 +#define MQ_MQMF_ACCEPT_UNSUP_IF_XMIT_MASK 0x000FF000 + +/* Original Length */ +#define MQ_MQOL_UNDEFINED (-1) + +/* Message Handle To Buffer Options */ +#define MQ_MQMHBO_PROPERTIES_IN_MQRFH2 0x00000001 +#define MQ_MQMHBO_DELETE_PROPERTIES 0x00000002 +#define MQ_MQMHBO_NONE 0x00000000 + +/* Obsolete DB2 Messages options on Inquire Group */ +#define MQ_MQOM_NO 0 +#define MQ_MQOM_YES 1 + +/* Object Types */ +#define MQ_MQOT_NONE 0 +#define MQ_MQOT_Q 1 +#define MQ_MQOT_NAMELIST 2 +#define MQ_MQOT_PROCESS 3 +#define MQ_MQOT_STORAGE_CLASS 4 +#define MQ_MQOT_Q_MGR 5 +#define MQ_MQOT_CHANNEL 6 +#define MQ_MQOT_AUTH_INFO 7 +#define MQ_MQOT_TOPIC 8 +#define MQ_MQOT_COMM_INFO 9 +#define MQ_MQOT_CF_STRUC 10 +#define MQ_MQOT_LISTENER 11 +#define MQ_MQOT_SERVICE 12 +#define MQ_MQOT_RESERVED_1 999 + +/* Extended Object Types */ +#define MQ_MQOT_ALL 1001 +#define MQ_MQOT_ALIAS_Q 1002 +#define MQ_MQOT_MODEL_Q 1003 +#define MQ_MQOT_LOCAL_Q 1004 +#define MQ_MQOT_REMOTE_Q 1005 +#define MQ_MQOT_SENDER_CHANNEL 1007 +#define MQ_MQOT_SERVER_CHANNEL 1008 +#define MQ_MQOT_REQUESTER_CHANNEL 1009 +#define MQ_MQOT_RECEIVER_CHANNEL 1010 +#define MQ_MQOT_CURRENT_CHANNEL 1011 +#define MQ_MQOT_SAVED_CHANNEL 1012 +#define MQ_MQOT_SVRCONN_CHANNEL 1013 +#define MQ_MQOT_CLNTCONN_CHANNEL 1014 +#define MQ_MQOT_SHORT_CHANNEL 1015 +#define MQ_MQOT_CHLAUTH 1016 +#define MQ_MQOT_REMOTE_Q_MGR_NAME 1017 +#define MQ_MQOT_PROT_POLICY 1019 + +/* Property Descriptor Options */ +#define MQ_MQPD_NONE 0x00000000 + +/* Property Support Options */ +#define MQ_MQPD_SUPPORT_OPTIONAL 0x00000001 +#define MQ_MQPD_SUPPORT_REQUIRED 0x00100000 +#define MQ_MQPD_SUPPORT_REQUIRED_IF_LOCAL 0x00000400 +#define MQ_MQPD_REJECT_UNSUP_MASK 0xFFF00000 +#define MQ_MQPD_ACCEPT_UNSUP_IF_XMIT_MASK 0x000FFC00 +#define MQ_MQPD_ACCEPT_UNSUP_MASK 0x000003FF + +/* Property Context */ +#define MQ_MQPD_NO_CONTEXT 0x00000000 +#define MQ_MQPD_USER_CONTEXT 0x00000001 + +/* Property Copy Options */ +#define MQ_MQCOPY_NONE 0x00000000 +#define MQ_MQCOPY_ALL 0x00000001 +#define MQ_MQCOPY_FORWARD 0x00000002 +#define MQ_MQCOPY_PUBLISH 0x00000004 +#define MQ_MQCOPY_REPLY 0x00000008 +#define MQ_MQCOPY_REPORT 0x00000010 +#define MQ_MQCOPY_DEFAULT 0x00000016 + +/* Put Message Options */ +#define MQ_MQPMO_SYNCPOINT 0x00000002 +#define MQ_MQPMO_NO_SYNCPOINT 0x00000004 +#define MQ_MQPMO_DEFAULT_CONTEXT 0x00000020 +#define MQ_MQPMO_NEW_MSG_ID 0x00000040 +#define MQ_MQPMO_NEW_CORREL_ID 0x00000080 +#define MQ_MQPMO_PASS_IDENTITY_CONTEXT 0x00000100 +#define MQ_MQPMO_PASS_ALL_CONTEXT 0x00000200 +#define MQ_MQPMO_SET_IDENTITY_CONTEXT 0x00000400 +#define MQ_MQPMO_SET_ALL_CONTEXT 0x00000800 +#define MQ_MQPMO_ALTERNATE_USER_AUTHORITY 0x00001000 +#define MQ_MQPMO_FAIL_IF_QUIESCING 0x00002000 +#define MQ_MQPMO_NO_CONTEXT 0x00004000 +#define MQ_MQPMO_LOGICAL_ORDER 0x00008000 +#define MQ_MQPMO_ASYNC_RESPONSE 0x00010000 +#define MQ_MQPMO_SYNC_RESPONSE 0x00020000 +#define MQ_MQPMO_RESOLVE_LOCAL_Q 0x00040000 +#define MQ_MQPMO_WARN_IF_NO_SUBS_MATCHED 0x00080000 +#define MQ_MQPMO_RETAIN 0x00200000 +#define MQ_MQPMO_MD_FOR_OUTPUT_ONLY 0x00800000 +#define MQ_MQPMO_SCOPE_QMGR 0x04000000 +#define MQ_MQPMO_SUPPRESS_REPLYTO 0x08000000 +#define MQ_MQPMO_NOT_OWN_SUBS 0x10000000 +#define MQ_MQPMO_RESPONSE_AS_Q_DEF 0x00000000 +#define MQ_MQPMO_RESPONSE_AS_TOPIC_DEF 0x00000000 +#define MQ_MQPMO_NONE 0x00000000 + +/* Put Message Options for publish mask */ +#define MQ_MQPMO_PUB_OPTIONS_MASK 0x00200000 + +/* Put Message Record Fields */ +#define MQ_MQPMRF_MSG_ID 0x00000001 +#define MQ_MQPMRF_CORREL_ID 0x00000002 +#define MQ_MQPMRF_GROUP_ID 0x00000004 +#define MQ_MQPMRF_FEEDBACK 0x00000008 +#define MQ_MQPMRF_ACCOUNTING_TOKEN 0x00000010 +#define MQ_MQPMRF_NONE 0x00000000 + +/* Action */ +#define MQ_MQACTP_NEW 0 +#define MQ_MQACTP_FORWARD 1 +#define MQ_MQACTP_REPLY 2 +#define MQ_MQACTP_REPORT 3 + +/* Flags */ +#define MQ_MQRFH_NONE 0x00000000 +#define MQ_MQRFH_NO_FLAGS 0 +#define MQ_MQRFH_FLAGS_RESTRICTED_MASK 0xFFFF0000 + +/* Flags */ +#define MQ_MQRMHF_LAST 0x00000001 +#define MQ_MQRMHF_NOT_LAST 0x00000000 + +/* Security Identifier Types */ +#define MQ_MQSIDT_NONE '\x00' +#define MQ_MQSIDT_NT_SECURITY_ID '\x01' +#define MQ_MQSIDT_WAS_SECURITY_ID '\x02' + +/* Set Message Property Options */ +#define MQ_MQSMPO_SET_FIRST 0x00000000 +#define MQ_MQSMPO_SET_PROP_UNDER_CURSOR 0x00000001 +#define MQ_MQSMPO_SET_PROP_AFTER_CURSOR 0x00000002 +#define MQ_MQSMPO_APPEND_PROPERTY 0x00000004 +#define MQ_MQSMPO_SET_PROP_BEFORE_CURSOR 0x00000008 +#define MQ_MQSMPO_NONE 0x00000000 + +/* Connection Handles */ +#define MQ_MQHC_DEF_HCONN 0 +#define MQ_MQHC_UNUSABLE_HCONN (-1) +#define MQ_MQHC_UNASSOCIATED_HCONN (-3) + +/* String Lengths */ +#define MQ_MQ_ABEND_CODE_LENGTH 4 +#define MQ_MQ_ACCOUNTING_TOKEN_LENGTH 32 +#define MQ_MQ_APPL_DESC_LENGTH 64 +#define MQ_MQ_APPL_IDENTITY_DATA_LENGTH 32 +#define MQ_MQ_APPL_NAME_LENGTH 28 +#define MQ_MQ_APPL_ORIGIN_DATA_LENGTH 4 +#define MQ_MQ_APPL_TAG_LENGTH 28 +#define MQ_MQ_ARM_SUFFIX_LENGTH 2 +#define MQ_MQ_ATTENTION_ID_LENGTH 4 +#define MQ_MQ_AUTH_INFO_CONN_NAME_LENGTH 264 +#define MQ_MQ_AUTH_INFO_DESC_LENGTH 64 +#define MQ_MQ_AUTH_INFO_NAME_LENGTH 48 +#define MQ_MQ_AUTH_INFO_OCSP_URL_LENGTH 256 +#define MQ_MQ_AUTHENTICATOR_LENGTH 8 +#define MQ_MQ_AUTO_REORG_CATALOG_LENGTH 44 +#define MQ_MQ_AUTO_REORG_TIME_LENGTH 4 +#define MQ_MQ_BATCH_INTERFACE_ID_LENGTH 8 +#define MQ_MQ_BRIDGE_NAME_LENGTH 24 +#define MQ_MQ_CANCEL_CODE_LENGTH 4 +#define MQ_MQ_CF_STRUC_DESC_LENGTH 64 +#define MQ_MQ_CF_STRUC_NAME_LENGTH 12 +#define MQ_MQ_CHANNEL_DATE_LENGTH 12 +#define MQ_MQ_CHANNEL_DESC_LENGTH 64 +#define MQ_MQ_CHANNEL_NAME_LENGTH 20 +#define MQ_MQ_CHANNEL_TIME_LENGTH 8 +#define MQ_MQ_CHINIT_SERVICE_PARM_LENGTH 32 +#define MQ_MQ_CICS_FILE_NAME_LENGTH 8 +#define MQ_MQ_CLIENT_ID_LENGTH 23 +#define MQ_MQ_CLUSTER_NAME_LENGTH 48 +#define MQ_MQ_COMM_INFO_DESC_LENGTH 64 +#define MQ_MQ_COMM_INFO_NAME_LENGTH 48 +#define MQ_MQ_CONN_NAME_LENGTH 264 +#define MQ_MQ_CONN_TAG_LENGTH 128 +#define MQ_MQ_CONNECTION_ID_LENGTH 24 +#define MQ_MQ_CORREL_ID_LENGTH 24 +#define MQ_MQ_CREATION_DATE_LENGTH 12 +#define MQ_MQ_CREATION_TIME_LENGTH 8 +#define MQ_MQ_DATE_LENGTH 12 +#define MQ_MQ_DISTINGUISHED_NAME_LENGTH 1024 +#define MQ_MQ_DNS_GROUP_NAME_LENGTH 18 +#define MQ_MQ_EXIT_DATA_LENGTH 32 +#define MQ_MQ_EXIT_INFO_NAME_LENGTH 48 +#define MQ_MQ_EXIT_NAME_LENGTH 128 +#define MQ_MQ_EXIT_PD_AREA_LENGTH 48 +#define MQ_MQ_EXIT_USER_AREA_LENGTH 16 +#define MQ_MQ_FACILITY_LENGTH 8 +#define MQ_MQ_FACILITY_LIKE_LENGTH 4 +#define MQ_MQ_FORMAT_LENGTH 8 +#define MQ_MQ_FUNCTION_LENGTH 4 +#define MQ_MQ_GROUP_ID_LENGTH 24 +#define MQ_MQ_APPL_FUNCTION_NAME_LENGTH 10 +#define MQ_MQ_INSTALLATION_DESC_LENGTH 64 +#define MQ_MQ_INSTALLATION_NAME_LENGTH 16 +#define MQ_MQ_INSTALLATION_PATH_LENGTH 256 +#define MQ_MQ_JAAS_CONFIG_LENGTH 1024 +#define MQ_MQ_LDAP_PASSWORD_LENGTH 32 +#define MQ_MQ_LISTENER_NAME_LENGTH 48 +#define MQ_MQ_LISTENER_DESC_LENGTH 64 +#define MQ_MQ_LOCAL_ADDRESS_LENGTH 48 +#define MQ_MQ_LTERM_OVERRIDE_LENGTH 8 +#define MQ_MQ_LU_NAME_LENGTH 8 +#define MQ_MQ_LUWID_LENGTH 16 +#define MQ_MQ_MAX_EXIT_NAME_LENGTH 128 +#define MQ_MQ_MAX_MCA_USER_ID_LENGTH 64 +#define MQ_MQ_MAX_PROPERTY_NAME_LENGTH 4095 +#define MQ_MQ_MAX_USER_ID_LENGTH 64 +#define MQ_MQ_MCA_JOB_NAME_LENGTH 28 +#define MQ_MQ_MCA_NAME_LENGTH 20 +#define MQ_MQ_MCA_USER_DATA_LENGTH 32 +#define MQ_MQ_MCA_USER_ID_LENGTH 64 +#define MQ_MQ_MFS_MAP_NAME_LENGTH 8 +#define MQ_MQ_MODE_NAME_LENGTH 8 +#define MQ_MQ_MSG_HEADER_LENGTH 4000 +#define MQ_MQ_MSG_ID_LENGTH 24 +#define MQ_MQ_MSG_TOKEN_LENGTH 16 +#define MQ_MQ_NAMELIST_DESC_LENGTH 64 +#define MQ_MQ_NAMELIST_NAME_LENGTH 48 +#define MQ_MQ_OBJECT_INSTANCE_ID_LENGTH 24 +#define MQ_MQ_OBJECT_NAME_LENGTH 48 +#define MQ_MQ_PASS_TICKET_APPL_LENGTH 8 +#define MQ_MQ_PASSWORD_LENGTH 12 +#define MQ_MQ_PROCESS_APPL_ID_LENGTH 256 +#define MQ_MQ_PROCESS_DESC_LENGTH 64 +#define MQ_MQ_PROCESS_ENV_DATA_LENGTH 128 +#define MQ_MQ_PROCESS_NAME_LENGTH 48 +#define MQ_MQ_PROCESS_USER_DATA_LENGTH 128 +#define MQ_MQ_PROGRAM_NAME_LENGTH 20 +#define MQ_MQ_PUT_APPL_NAME_LENGTH 28 +#define MQ_MQ_PUT_DATE_LENGTH 8 +#define MQ_MQ_PUT_TIME_LENGTH 8 +#define MQ_MQ_Q_DESC_LENGTH 64 +#define MQ_MQ_Q_MGR_DESC_LENGTH 64 +#define MQ_MQ_Q_MGR_IDENTIFIER_LENGTH 48 +#define MQ_MQ_Q_MGR_NAME_LENGTH 48 +#define MQ_MQ_Q_NAME_LENGTH 48 +#define MQ_MQ_QSG_NAME_LENGTH 4 +#define MQ_MQ_REMOTE_SYS_ID_LENGTH 4 +#define MQ_MQ_SECURITY_ID_LENGTH 40 +#define MQ_MQ_SELECTOR_LENGTH 10240 +#define MQ_MQ_SERVICE_ARGS_LENGTH 255 +#define MQ_MQ_SERVICE_COMMAND_LENGTH 255 +#define MQ_MQ_SERVICE_DESC_LENGTH 64 +#define MQ_MQ_SERVICE_NAME_LENGTH 32 +#define MQ_MQ_SERVICE_PATH_LENGTH 255 +#define MQ_MQ_SERVICE_STEP_LENGTH 8 +#define MQ_MQ_SHORT_CONN_NAME_LENGTH 20 +#define MQ_MQ_SHORT_DNAME_LENGTH 256 +#define MQ_MQ_SSL_CIPHER_SPEC_LENGTH 32 +#define MQ_MQ_SSL_CIPHER_SUITE_LENGTH 32 +#define MQ_MQ_SSL_CRYPTO_HARDWARE_LENGTH 256 +#define MQ_MQ_SSL_HANDSHAKE_STAGE_LENGTH 32 +#define MQ_MQ_SSL_KEY_LIBRARY_LENGTH 44 +#define MQ_MQ_SSL_KEY_MEMBER_LENGTH 8 +#define MQ_MQ_SSL_KEY_REPOSITORY_LENGTH 256 +#define MQ_MQ_SSL_PEER_NAME_LENGTH 1024 +#define MQ_MQ_SSL_SHORT_PEER_NAME_LENGTH 256 +#define MQ_MQ_START_CODE_LENGTH 4 +#define MQ_MQ_STORAGE_CLASS_DESC_LENGTH 64 +#define MQ_MQ_STORAGE_CLASS_LENGTH 8 +#define MQ_MQ_SUB_IDENTITY_LENGTH 128 +#define MQ_MQ_SUB_POINT_LENGTH 128 +#define MQ_MQ_TCP_NAME_LENGTH 8 +#define MQ_MQ_TIME_LENGTH 8 +#define MQ_MQ_TOPIC_DESC_LENGTH 64 +#define MQ_MQ_TOPIC_NAME_LENGTH 48 +#define MQ_MQ_TOPIC_STR_LENGTH 10240 +#define MQ_MQ_TOTAL_EXIT_DATA_LENGTH 999 +#define MQ_MQ_TOTAL_EXIT_NAME_LENGTH 999 +#define MQ_MQ_TP_NAME_LENGTH 64 +#define MQ_MQ_TPIPE_NAME_LENGTH 8 +#define MQ_MQ_TRAN_INSTANCE_ID_LENGTH 16 +#define MQ_MQ_TRANSACTION_ID_LENGTH 4 +#define MQ_MQ_TRIGGER_DATA_LENGTH 64 +#define MQ_MQ_TRIGGER_PROGRAM_NAME_LENGTH 8 +#define MQ_MQ_TRIGGER_TERM_ID_LENGTH 4 +#define MQ_MQ_TRIGGER_TRANS_ID_LENGTH 4 +#define MQ_MQ_USER_ID_LENGTH 12 +#define MQ_MQ_VERSION_LENGTH 8 +#define MQ_MQ_XCF_GROUP_NAME_LENGTH 8 +#define MQ_MQ_XCF_MEMBER_NAME_LENGTH 16 +#define MQ_MQ_SMDS_NAME_LENGTH 4 +#define MQ_MQ_CHLAUTH_DESC_LENGTH 64 +#define MQ_MQ_CUSTOM_LENGTH 128 +#define MQ_MQ_SUITE_B_SIZE 4 + +/* Completion Codes */ +#define MQ_MQCC_OK 0 +#define MQ_MQCC_WARNING 1 +#define MQ_MQCC_FAILED 2 +#define MQ_MQCC_UNKNOWN (-1) + +/* Reason Codes */ +#define MQ_MQRC_NONE 0 +#define MQ_MQRC_APPL_FIRST 900 +#define MQ_MQRC_APPL_LAST 999 +#define MQ_MQRC_ALIAS_BASE_Q_TYPE_ERROR 2001 +#define MQ_MQRC_ALREADY_CONNECTED 2002 +#define MQ_MQRC_BACKED_OUT 2003 +#define MQ_MQRC_BUFFER_ERROR 2004 +#define MQ_MQRC_BUFFER_LENGTH_ERROR 2005 +#define MQ_MQRC_CHAR_ATTR_LENGTH_ERROR 2006 +#define MQ_MQRC_CHAR_ATTRS_ERROR 2007 +#define MQ_MQRC_CHAR_ATTRS_TOO_SHORT 2008 +#define MQ_MQRC_CONNECTION_BROKEN 2009 +#define MQ_MQRC_DATA_LENGTH_ERROR 2010 +#define MQ_MQRC_DYNAMIC_Q_NAME_ERROR 2011 +#define MQ_MQRC_ENVIRONMENT_ERROR 2012 +#define MQ_MQRC_EXPIRY_ERROR 2013 +#define MQ_MQRC_FEEDBACK_ERROR 2014 +#define MQ_MQRC_GET_INHIBITED 2016 +#define MQ_MQRC_HANDLE_NOT_AVAILABLE 2017 +#define MQ_MQRC_HCONN_ERROR 2018 +#define MQ_MQRC_HOBJ_ERROR 2019 +#define MQ_MQRC_INHIBIT_VALUE_ERROR 2020 +#define MQ_MQRC_INT_ATTR_COUNT_ERROR 2021 +#define MQ_MQRC_INT_ATTR_COUNT_TOO_SMALL 2022 +#define MQ_MQRC_INT_ATTRS_ARRAY_ERROR 2023 +#define MQ_MQRC_SYNCPOINT_LIMIT_REACHED 2024 +#define MQ_MQRC_MAX_CONNS_LIMIT_REACHED 2025 +#define MQ_MQRC_MD_ERROR 2026 +#define MQ_MQRC_MISSING_REPLY_TO_Q 2027 +#define MQ_MQRC_MSG_TYPE_ERROR 2029 +#define MQ_MQRC_MSG_TOO_BIG_FOR_Q 2030 +#define MQ_MQRC_MSG_TOO_BIG_FOR_Q_MGR 2031 +#define MQ_MQRC_NO_MSG_AVAILABLE 2033 +#define MQ_MQRC_NO_MSG_UNDER_CURSOR 2034 +#define MQ_MQRC_NOT_AUTHORIZED 2035 +#define MQ_MQRC_NOT_OPEN_FOR_BROWSE 2036 +#define MQ_MQRC_NOT_OPEN_FOR_INPUT 2037 +#define MQ_MQRC_NOT_OPEN_FOR_INQUIRE 2038 +#define MQ_MQRC_NOT_OPEN_FOR_OUTPUT 2039 +#define MQ_MQRC_NOT_OPEN_FOR_SET 2040 +#define MQ_MQRC_OBJECT_CHANGED 2041 +#define MQ_MQRC_OBJECT_IN_USE 2042 +#define MQ_MQRC_OBJECT_TYPE_ERROR 2043 +#define MQ_MQRC_OD_ERROR 2044 +#define MQ_MQRC_OPTION_NOT_VALID_FOR_TYPE 2045 +#define MQ_MQRC_OPTIONS_ERROR 2046 +#define MQ_MQRC_PERSISTENCE_ERROR 2047 +#define MQ_MQRC_PERSISTENT_NOT_ALLOWED 2048 +#define MQ_MQRC_PRIORITY_EXCEEDS_MAXIMUM 2049 +#define MQ_MQRC_PRIORITY_ERROR 2050 +#define MQ_MQRC_PUT_INHIBITED 2051 +#define MQ_MQRC_Q_DELETED 2052 +#define MQ_MQRC_Q_FULL 2053 +#define MQ_MQRC_Q_NOT_EMPTY 2055 +#define MQ_MQRC_Q_SPACE_NOT_AVAILABLE 2056 +#define MQ_MQRC_Q_TYPE_ERROR 2057 +#define MQ_MQRC_Q_MGR_NAME_ERROR 2058 +#define MQ_MQRC_Q_MGR_NOT_AVAILABLE 2059 +#define MQ_MQRC_REPORT_OPTIONS_ERROR 2061 +#define MQ_MQRC_SECOND_MARK_NOT_ALLOWED 2062 +#define MQ_MQRC_SECURITY_ERROR 2063 +#define MQ_MQRC_SELECTOR_COUNT_ERROR 2065 +#define MQ_MQRC_SELECTOR_LIMIT_EXCEEDED 2066 +#define MQ_MQRC_SELECTOR_ERROR 2067 +#define MQ_MQRC_SELECTOR_NOT_FOR_TYPE 2068 +#define MQ_MQRC_SIGNAL_OUTSTANDING 2069 +#define MQ_MQRC_SIGNAL_REQUEST_ACCEPTED 2070 +#define MQ_MQRC_STORAGE_NOT_AVAILABLE 2071 +#define MQ_MQRC_SYNCPOINT_NOT_AVAILABLE 2072 +#define MQ_MQRC_TRIGGER_CONTROL_ERROR 2075 +#define MQ_MQRC_TRIGGER_DEPTH_ERROR 2076 +#define MQ_MQRC_TRIGGER_MSG_PRIORITY_ERR 2077 +#define MQ_MQRC_TRIGGER_TYPE_ERROR 2078 +#define MQ_MQRC_TRUNCATED_MSG_ACCEPTED 2079 +#define MQ_MQRC_TRUNCATED_MSG_FAILED 2080 +#define MQ_MQRC_UNKNOWN_ALIAS_BASE_Q 2082 +#define MQ_MQRC_UNKNOWN_OBJECT_NAME 2085 +#define MQ_MQRC_UNKNOWN_OBJECT_Q_MGR 2086 +#define MQ_MQRC_UNKNOWN_REMOTE_Q_MGR 2087 +#define MQ_MQRC_WAIT_INTERVAL_ERROR 2090 +#define MQ_MQRC_XMIT_Q_TYPE_ERROR 2091 +#define MQ_MQRC_XMIT_Q_USAGE_ERROR 2092 +#define MQ_MQRC_NOT_OPEN_FOR_PASS_ALL 2093 +#define MQ_MQRC_NOT_OPEN_FOR_PASS_IDENT 2094 +#define MQ_MQRC_NOT_OPEN_FOR_SET_ALL 2095 +#define MQ_MQRC_NOT_OPEN_FOR_SET_IDENT 2096 +#define MQ_MQRC_CONTEXT_HANDLE_ERROR 2097 +#define MQ_MQRC_CONTEXT_NOT_AVAILABLE 2098 +#define MQ_MQRC_SIGNAL1_ERROR 2099 +#define MQ_MQRC_OBJECT_ALREADY_EXISTS 2100 +#define MQ_MQRC_OBJECT_DAMAGED 2101 +#define MQ_MQRC_RESOURCE_PROBLEM 2102 +#define MQ_MQRC_ANOTHER_Q_MGR_CONNECTED 2103 +#define MQ_MQRC_UNKNOWN_REPORT_OPTION 2104 +#define MQ_MQRC_STORAGE_CLASS_ERROR 2105 +#define MQ_MQRC_COD_NOT_VALID_FOR_XCF_Q 2106 +#define MQ_MQRC_XWAIT_CANCELED 2107 +#define MQ_MQRC_XWAIT_ERROR 2108 +#define MQ_MQRC_SUPPRESSED_BY_EXIT 2109 +#define MQ_MQRC_FORMAT_ERROR 2110 +#define MQ_MQRC_SOURCE_CCSID_ERROR 2111 +#define MQ_MQRC_SOURCE_INTEGER_ENC_ERROR 2112 +#define MQ_MQRC_SOURCE_DECIMAL_ENC_ERROR 2113 +#define MQ_MQRC_SOURCE_FLOAT_ENC_ERROR 2114 +#define MQ_MQRC_TARGET_CCSID_ERROR 2115 +#define MQ_MQRC_TARGET_INTEGER_ENC_ERROR 2116 +#define MQ_MQRC_TARGET_DECIMAL_ENC_ERROR 2117 +#define MQ_MQRC_TARGET_FLOAT_ENC_ERROR 2118 +#define MQ_MQRC_NOT_CONVERTED 2119 +#define MQ_MQRC_CONVERTED_MSG_TOO_BIG 2120 +#define MQ_MQRC_TRUNCATED 2120 +#define MQ_MQRC_NO_EXTERNAL_PARTICIPANTS 2121 +#define MQ_MQRC_PARTICIPANT_NOT_AVAILABLE 2122 +#define MQ_MQRC_OUTCOME_MIXED 2123 +#define MQ_MQRC_OUTCOME_PENDING 2124 +#define MQ_MQRC_BRIDGE_STARTED 2125 +#define MQ_MQRC_BRIDGE_STOPPED 2126 +#define MQ_MQRC_ADAPTER_STORAGE_SHORTAGE 2127 +#define MQ_MQRC_UOW_IN_PROGRESS 2128 +#define MQ_MQRC_ADAPTER_CONN_LOAD_ERROR 2129 +#define MQ_MQRC_ADAPTER_SERV_LOAD_ERROR 2130 +#define MQ_MQRC_ADAPTER_DEFS_ERROR 2131 +#define MQ_MQRC_ADAPTER_DEFS_LOAD_ERROR 2132 +#define MQ_MQRC_ADAPTER_CONV_LOAD_ERROR 2133 +#define MQ_MQRC_BO_ERROR 2134 +#define MQ_MQRC_DH_ERROR 2135 +#define MQ_MQRC_MULTIPLE_REASONS 2136 +#define MQ_MQRC_OPEN_FAILED 2137 +#define MQ_MQRC_ADAPTER_DISC_LOAD_ERROR 2138 +#define MQ_MQRC_CNO_ERROR 2139 +#define MQ_MQRC_CICS_WAIT_FAILED 2140 +#define MQ_MQRC_DLH_ERROR 2141 +#define MQ_MQRC_HEADER_ERROR 2142 +#define MQ_MQRC_SOURCE_LENGTH_ERROR 2143 +#define MQ_MQRC_TARGET_LENGTH_ERROR 2144 +#define MQ_MQRC_SOURCE_BUFFER_ERROR 2145 +#define MQ_MQRC_TARGET_BUFFER_ERROR 2146 +#define MQ_MQRC_IIH_ERROR 2148 +#define MQ_MQRC_PCF_ERROR 2149 +#define MQ_MQRC_DBCS_ERROR 2150 +#define MQ_MQRC_OBJECT_NAME_ERROR 2152 +#define MQ_MQRC_OBJECT_Q_MGR_NAME_ERROR 2153 +#define MQ_MQRC_RECS_PRESENT_ERROR 2154 +#define MQ_MQRC_OBJECT_RECORDS_ERROR 2155 +#define MQ_MQRC_RESPONSE_RECORDS_ERROR 2156 +#define MQ_MQRC_ASID_MISMATCH 2157 +#define MQ_MQRC_PMO_RECORD_FLAGS_ERROR 2158 +#define MQ_MQRC_PUT_MSG_RECORDS_ERROR 2159 +#define MQ_MQRC_CONN_ID_IN_USE 2160 +#define MQ_MQRC_Q_MGR_QUIESCING 2161 +#define MQ_MQRC_Q_MGR_STOPPING 2162 +#define MQ_MQRC_DUPLICATE_RECOV_COORD 2163 +#define MQ_MQRC_PMO_ERROR 2173 +#define MQ_MQRC_API_EXIT_NOT_FOUND 2182 +#define MQ_MQRC_API_EXIT_LOAD_ERROR 2183 +#define MQ_MQRC_REMOTE_Q_NAME_ERROR 2184 +#define MQ_MQRC_INCONSISTENT_PERSISTENCE 2185 +#define MQ_MQRC_GMO_ERROR 2186 +#define MQ_MQRC_CICS_BRIDGE_RESTRICTION 2187 +#define MQ_MQRC_STOPPED_BY_CLUSTER_EXIT 2188 +#define MQ_MQRC_CLUSTER_RESOLUTION_ERROR 2189 +#define MQ_MQRC_CONVERTED_STRING_TOO_BIG 2190 +#define MQ_MQRC_TMC_ERROR 2191 +#define MQ_MQRC_PAGESET_FULL 2192 +#define MQ_MQRC_STORAGE_MEDIUM_FULL 2192 +#define MQ_MQRC_PAGESET_ERROR 2193 +#define MQ_MQRC_NAME_NOT_VALID_FOR_TYPE 2194 +#define MQ_MQRC_UNEXPECTED_ERROR 2195 +#define MQ_MQRC_UNKNOWN_XMIT_Q 2196 +#define MQ_MQRC_UNKNOWN_DEF_XMIT_Q 2197 +#define MQ_MQRC_DEF_XMIT_Q_TYPE_ERROR 2198 +#define MQ_MQRC_DEF_XMIT_Q_USAGE_ERROR 2199 +#define MQ_MQRC_MSG_MARKED_BROWSE_CO_OP 2200 +#define MQ_MQRC_NAME_IN_USE 2201 +#define MQ_MQRC_CONNECTION_QUIESCING 2202 +#define MQ_MQRC_CONNECTION_STOPPING 2203 +#define MQ_MQRC_ADAPTER_NOT_AVAILABLE 2204 +#define MQ_MQRC_MSG_ID_ERROR 2206 +#define MQ_MQRC_CORREL_ID_ERROR 2207 +#define MQ_MQRC_FILE_SYSTEM_ERROR 2208 +#define MQ_MQRC_NO_MSG_LOCKED 2209 +#define MQ_MQRC_SOAP_DOTNET_ERROR 2210 +#define MQ_MQRC_SOAP_AXIS_ERROR 2211 +#define MQ_MQRC_SOAP_URL_ERROR 2212 +#define MQ_MQRC_FILE_NOT_AUDITED 2216 +#define MQ_MQRC_CONNECTION_NOT_AUTHORIZED 2217 +#define MQ_MQRC_MSG_TOO_BIG_FOR_CHANNEL 2218 +#define MQ_MQRC_CALL_IN_PROGRESS 2219 +#define MQ_MQRC_RMH_ERROR 2220 +#define MQ_MQRC_Q_MGR_ACTIVE 2222 +#define MQ_MQRC_Q_MGR_NOT_ACTIVE 2223 +#define MQ_MQRC_Q_DEPTH_HIGH 2224 +#define MQ_MQRC_Q_DEPTH_LOW 2225 +#define MQ_MQRC_Q_SERVICE_INTERVAL_HIGH 2226 +#define MQ_MQRC_Q_SERVICE_INTERVAL_OK 2227 +#define MQ_MQRC_RFH_HEADER_FIELD_ERROR 2228 +#define MQ_MQRC_RAS_PROPERTY_ERROR 2229 +#define MQ_MQRC_UNIT_OF_WORK_NOT_STARTED 2232 +#define MQ_MQRC_CHANNEL_AUTO_DEF_OK 2233 +#define MQ_MQRC_CHANNEL_AUTO_DEF_ERROR 2234 +#define MQ_MQRC_CFH_ERROR 2235 +#define MQ_MQRC_CFIL_ERROR 2236 +#define MQ_MQRC_CFIN_ERROR 2237 +#define MQ_MQRC_CFSL_ERROR 2238 +#define MQ_MQRC_CFST_ERROR 2239 +#define MQ_MQRC_INCOMPLETE_GROUP 2241 +#define MQ_MQRC_INCOMPLETE_MSG 2242 +#define MQ_MQRC_INCONSISTENT_CCSIDS 2243 +#define MQ_MQRC_INCONSISTENT_ENCODINGS 2244 +#define MQ_MQRC_INCONSISTENT_UOW 2245 +#define MQ_MQRC_INVALID_MSG_UNDER_CURSOR 2246 +#define MQ_MQRC_MATCH_OPTIONS_ERROR 2247 +#define MQ_MQRC_MDE_ERROR 2248 +#define MQ_MQRC_MSG_FLAGS_ERROR 2249 +#define MQ_MQRC_MSG_SEQ_NUMBER_ERROR 2250 +#define MQ_MQRC_OFFSET_ERROR 2251 +#define MQ_MQRC_ORIGINAL_LENGTH_ERROR 2252 +#define MQ_MQRC_SEGMENT_LENGTH_ZERO 2253 +#define MQ_MQRC_UOW_NOT_AVAILABLE 2255 +#define MQ_MQRC_WRONG_GMO_VERSION 2256 +#define MQ_MQRC_WRONG_MD_VERSION 2257 +#define MQ_MQRC_GROUP_ID_ERROR 2258 +#define MQ_MQRC_INCONSISTENT_BROWSE 2259 +#define MQ_MQRC_XQH_ERROR 2260 +#define MQ_MQRC_SRC_ENV_ERROR 2261 +#define MQ_MQRC_SRC_NAME_ERROR 2262 +#define MQ_MQRC_DEST_ENV_ERROR 2263 +#define MQ_MQRC_DEST_NAME_ERROR 2264 +#define MQ_MQRC_TM_ERROR 2265 +#define MQ_MQRC_CLUSTER_EXIT_ERROR 2266 +#define MQ_MQRC_CLUSTER_EXIT_LOAD_ERROR 2267 +#define MQ_MQRC_CLUSTER_PUT_INHIBITED 2268 +#define MQ_MQRC_CLUSTER_RESOURCE_ERROR 2269 +#define MQ_MQRC_NO_DESTINATIONS_AVAILABLE 2270 +#define MQ_MQRC_CONN_TAG_IN_USE 2271 +#define MQ_MQRC_PARTIALLY_CONVERTED 2272 +#define MQ_MQRC_CONNECTION_ERROR 2273 +#define MQ_MQRC_OPTION_ENVIRONMENT_ERROR 2274 +#define MQ_MQRC_CD_ERROR 2277 +#define MQ_MQRC_CLIENT_CONN_ERROR 2278 +#define MQ_MQRC_CHANNEL_STOPPED_BY_USER 2279 +#define MQ_MQRC_HCONFIG_ERROR 2280 +#define MQ_MQRC_FUNCTION_ERROR 2281 +#define MQ_MQRC_CHANNEL_STARTED 2282 +#define MQ_MQRC_CHANNEL_STOPPED 2283 +#define MQ_MQRC_CHANNEL_CONV_ERROR 2284 +#define MQ_MQRC_SERVICE_NOT_AVAILABLE 2285 +#define MQ_MQRC_INITIALIZATION_FAILED 2286 +#define MQ_MQRC_TERMINATION_FAILED 2287 +#define MQ_MQRC_UNKNOWN_Q_NAME 2288 +#define MQ_MQRC_SERVICE_ERROR 2289 +#define MQ_MQRC_Q_ALREADY_EXISTS 2290 +#define MQ_MQRC_USER_ID_NOT_AVAILABLE 2291 +#define MQ_MQRC_UNKNOWN_ENTITY 2292 +#define MQ_MQRC_UNKNOWN_AUTH_ENTITY 2293 +#define MQ_MQRC_UNKNOWN_REF_OBJECT 2294 +#define MQ_MQRC_CHANNEL_ACTIVATED 2295 +#define MQ_MQRC_CHANNEL_NOT_ACTIVATED 2296 +#define MQ_MQRC_UOW_CANCELED 2297 +#define MQ_MQRC_FUNCTION_NOT_SUPPORTED 2298 +#define MQ_MQRC_SELECTOR_TYPE_ERROR 2299 +#define MQ_MQRC_COMMAND_TYPE_ERROR 2300 +#define MQ_MQRC_MULTIPLE_INSTANCE_ERROR 2301 +#define MQ_MQRC_SYSTEM_ITEM_NOT_ALTERABLE 2302 +#define MQ_MQRC_BAG_CONVERSION_ERROR 2303 +#define MQ_MQRC_SELECTOR_OUT_OF_RANGE 2304 +#define MQ_MQRC_SELECTOR_NOT_UNIQUE 2305 +#define MQ_MQRC_INDEX_NOT_PRESENT 2306 +#define MQ_MQRC_STRING_ERROR 2307 +#define MQ_MQRC_ENCODING_NOT_SUPPORTED 2308 +#define MQ_MQRC_SELECTOR_NOT_PRESENT 2309 +#define MQ_MQRC_OUT_SELECTOR_ERROR 2310 +#define MQ_MQRC_STRING_TRUNCATED 2311 +#define MQ_MQRC_SELECTOR_WRONG_TYPE 2312 +#define MQ_MQRC_INCONSISTENT_ITEM_TYPE 2313 +#define MQ_MQRC_INDEX_ERROR 2314 +#define MQ_MQRC_SYSTEM_BAG_NOT_ALTERABLE 2315 +#define MQ_MQRC_ITEM_COUNT_ERROR 2316 +#define MQ_MQRC_FORMAT_NOT_SUPPORTED 2317 +#define MQ_MQRC_SELECTOR_NOT_SUPPORTED 2318 +#define MQ_MQRC_ITEM_VALUE_ERROR 2319 +#define MQ_MQRC_HBAG_ERROR 2320 +#define MQ_MQRC_PARAMETER_MISSING 2321 +#define MQ_MQRC_CMD_SERVER_NOT_AVAILABLE 2322 +#define MQ_MQRC_STRING_LENGTH_ERROR 2323 +#define MQ_MQRC_INQUIRY_COMMAND_ERROR 2324 +#define MQ_MQRC_NESTED_BAG_NOT_SUPPORTED 2325 +#define MQ_MQRC_BAG_WRONG_TYPE 2326 +#define MQ_MQRC_ITEM_TYPE_ERROR 2327 +#define MQ_MQRC_SYSTEM_BAG_NOT_DELETABLE 2328 +#define MQ_MQRC_SYSTEM_ITEM_NOT_DELETABLE 2329 +#define MQ_MQRC_CODED_CHAR_SET_ID_ERROR 2330 +#define MQ_MQRC_MSG_TOKEN_ERROR 2331 +#define MQ_MQRC_MISSING_WIH 2332 +#define MQ_MQRC_WIH_ERROR 2333 +#define MQ_MQRC_RFH_ERROR 2334 +#define MQ_MQRC_RFH_STRING_ERROR 2335 +#define MQ_MQRC_RFH_COMMAND_ERROR 2336 +#define MQ_MQRC_RFH_PARM_ERROR 2337 +#define MQ_MQRC_RFH_DUPLICATE_PARM 2338 +#define MQ_MQRC_RFH_PARM_MISSING 2339 +#define MQ_MQRC_CHAR_CONVERSION_ERROR 2340 +#define MQ_MQRC_UCS2_CONVERSION_ERROR 2341 +#define MQ_MQRC_DB2_NOT_AVAILABLE 2342 +#define MQ_MQRC_OBJECT_NOT_UNIQUE 2343 +#define MQ_MQRC_CONN_TAG_NOT_RELEASED 2344 +#define MQ_MQRC_CF_NOT_AVAILABLE 2345 +#define MQ_MQRC_CF_STRUC_IN_USE 2346 +#define MQ_MQRC_CF_STRUC_LIST_HDR_IN_USE 2347 +#define MQ_MQRC_CF_STRUC_AUTH_FAILED 2348 +#define MQ_MQRC_CF_STRUC_ERROR 2349 +#define MQ_MQRC_CONN_TAG_NOT_USABLE 2350 +#define MQ_MQRC_GLOBAL_UOW_CONFLICT 2351 +#define MQ_MQRC_LOCAL_UOW_CONFLICT 2352 +#define MQ_MQRC_HANDLE_IN_USE_FOR_UOW 2353 +#define MQ_MQRC_UOW_ENLISTMENT_ERROR 2354 +#define MQ_MQRC_UOW_MIX_NOT_SUPPORTED 2355 +#define MQ_MQRC_WXP_ERROR 2356 +#define MQ_MQRC_CURRENT_RECORD_ERROR 2357 +#define MQ_MQRC_NEXT_OFFSET_ERROR 2358 +#define MQ_MQRC_NO_RECORD_AVAILABLE 2359 +#define MQ_MQRC_OBJECT_LEVEL_INCOMPATIBLE 2360 +#define MQ_MQRC_NEXT_RECORD_ERROR 2361 +#define MQ_MQRC_BACKOUT_THRESHOLD_REACHED 2362 +#define MQ_MQRC_MSG_NOT_MATCHED 2363 +#define MQ_MQRC_JMS_FORMAT_ERROR 2364 +#define MQ_MQRC_SEGMENTS_NOT_SUPPORTED 2365 +#define MQ_MQRC_WRONG_CF_LEVEL 2366 +#define MQ_MQRC_CONFIG_CREATE_OBJECT 2367 +#define MQ_MQRC_CONFIG_CHANGE_OBJECT 2368 +#define MQ_MQRC_CONFIG_DELETE_OBJECT 2369 +#define MQ_MQRC_CONFIG_REFRESH_OBJECT 2370 +#define MQ_MQRC_CHANNEL_SSL_ERROR 2371 +#define MQ_MQRC_PARTICIPANT_NOT_DEFINED 2372 +#define MQ_MQRC_CF_STRUC_FAILED 2373 +#define MQ_MQRC_API_EXIT_ERROR 2374 +#define MQ_MQRC_API_EXIT_INIT_ERROR 2375 +#define MQ_MQRC_API_EXIT_TERM_ERROR 2376 +#define MQ_MQRC_EXIT_REASON_ERROR 2377 +#define MQ_MQRC_RESERVED_VALUE_ERROR 2378 +#define MQ_MQRC_NO_DATA_AVAILABLE 2379 +#define MQ_MQRC_SCO_ERROR 2380 +#define MQ_MQRC_KEY_REPOSITORY_ERROR 2381 +#define MQ_MQRC_CRYPTO_HARDWARE_ERROR 2382 +#define MQ_MQRC_AUTH_INFO_REC_COUNT_ERROR 2383 +#define MQ_MQRC_AUTH_INFO_REC_ERROR 2384 +#define MQ_MQRC_AIR_ERROR 2385 +#define MQ_MQRC_AUTH_INFO_TYPE_ERROR 2386 +#define MQ_MQRC_AUTH_INFO_CONN_NAME_ERROR 2387 +#define MQ_MQRC_LDAP_USER_NAME_ERROR 2388 +#define MQ_MQRC_LDAP_USER_NAME_LENGTH_ERR 2389 +#define MQ_MQRC_LDAP_PASSWORD_ERROR 2390 +#define MQ_MQRC_SSL_ALREADY_INITIALIZED 2391 +#define MQ_MQRC_SSL_CONFIG_ERROR 2392 +#define MQ_MQRC_SSL_INITIALIZATION_ERROR 2393 +#define MQ_MQRC_Q_INDEX_TYPE_ERROR 2394 +#define MQ_MQRC_CFBS_ERROR 2395 +#define MQ_MQRC_SSL_NOT_ALLOWED 2396 +#define MQ_MQRC_JSSE_ERROR 2397 +#define MQ_MQRC_SSL_PEER_NAME_MISMATCH 2398 +#define MQ_MQRC_SSL_PEER_NAME_ERROR 2399 +#define MQ_MQRC_UNSUPPORTED_CIPHER_SUITE 2400 +#define MQ_MQRC_SSL_CERTIFICATE_REVOKED 2401 +#define MQ_MQRC_SSL_CERT_STORE_ERROR 2402 +#define MQ_MQRC_CLIENT_EXIT_LOAD_ERROR 2406 +#define MQ_MQRC_CLIENT_EXIT_ERROR 2407 +#define MQ_MQRC_UOW_COMMITTED 2408 +#define MQ_MQRC_SSL_KEY_RESET_ERROR 2409 +#define MQ_MQRC_UNKNOWN_COMPONENT_NAME 2410 +#define MQ_MQRC_LOGGER_STATUS 2411 +#define MQ_MQRC_COMMAND_MQSC 2412 +#define MQ_MQRC_COMMAND_PCF 2413 +#define MQ_MQRC_CFIF_ERROR 2414 +#define MQ_MQRC_CFSF_ERROR 2415 +#define MQ_MQRC_CFGR_ERROR 2416 +#define MQ_MQRC_MSG_NOT_ALLOWED_IN_GROUP 2417 +#define MQ_MQRC_FILTER_OPERATOR_ERROR 2418 +#define MQ_MQRC_NESTED_SELECTOR_ERROR 2419 +#define MQ_MQRC_EPH_ERROR 2420 +#define MQ_MQRC_RFH_FORMAT_ERROR 2421 +#define MQ_MQRC_CFBF_ERROR 2422 +#define MQ_MQRC_CLIENT_CHANNEL_CONFLICT 2423 +#define MQ_MQRC_SD_ERROR 2424 +#define MQ_MQRC_TOPIC_STRING_ERROR 2425 +#define MQ_MQRC_STS_ERROR 2426 +#define MQ_MQRC_NO_SUBSCRIPTION 2428 +#define MQ_MQRC_SUBSCRIPTION_IN_USE 2429 +#define MQ_MQRC_STAT_TYPE_ERROR 2430 +#define MQ_MQRC_SUB_USER_DATA_ERROR 2431 +#define MQ_MQRC_SUB_ALREADY_EXISTS 2432 +#define MQ_MQRC_IDENTITY_MISMATCH 2434 +#define MQ_MQRC_ALTER_SUB_ERROR 2435 +#define MQ_MQRC_DURABILITY_NOT_ALLOWED 2436 +#define MQ_MQRC_NO_RETAINED_MSG 2437 +#define MQ_MQRC_SRO_ERROR 2438 +#define MQ_MQRC_SUB_NAME_ERROR 2440 +#define MQ_MQRC_OBJECT_STRING_ERROR 2441 +#define MQ_MQRC_PROPERTY_NAME_ERROR 2442 +#define MQ_MQRC_SEGMENTATION_NOT_ALLOWED 2443 +#define MQ_MQRC_CBD_ERROR 2444 +#define MQ_MQRC_CTLO_ERROR 2445 +#define MQ_MQRC_NO_CALLBACKS_ACTIVE 2446 +#define MQ_MQRC_CALLBACK_NOT_REGISTERED 2448 +#define MQ_MQRC_OPTIONS_CHANGED 2457 +#define MQ_MQRC_READ_AHEAD_MSGS 2458 +#define MQ_MQRC_SELECTOR_SYNTAX_ERROR 2459 +#define MQ_MQRC_HMSG_ERROR 2460 +#define MQ_MQRC_CMHO_ERROR 2461 +#define MQ_MQRC_DMHO_ERROR 2462 +#define MQ_MQRC_SMPO_ERROR 2463 +#define MQ_MQRC_IMPO_ERROR 2464 +#define MQ_MQRC_PROPERTY_NAME_TOO_BIG 2465 +#define MQ_MQRC_PROP_VALUE_NOT_CONVERTED 2466 +#define MQ_MQRC_PROP_TYPE_NOT_SUPPORTED 2467 +#define MQ_MQRC_PROPERTY_VALUE_TOO_BIG 2469 +#define MQ_MQRC_PROP_CONV_NOT_SUPPORTED 2470 +#define MQ_MQRC_PROPERTY_NOT_AVAILABLE 2471 +#define MQ_MQRC_PROP_NUMBER_FORMAT_ERROR 2472 +#define MQ_MQRC_PROPERTY_TYPE_ERROR 2473 +#define MQ_MQRC_PROPERTIES_TOO_BIG 2478 +#define MQ_MQRC_PUT_NOT_RETAINED 2479 +#define MQ_MQRC_ALIAS_TARGTYPE_CHANGED 2480 +#define MQ_MQRC_DMPO_ERROR 2481 +#define MQ_MQRC_PD_ERROR 2482 +#define MQ_MQRC_CALLBACK_TYPE_ERROR 2483 +#define MQ_MQRC_CBD_OPTIONS_ERROR 2484 +#define MQ_MQRC_MAX_MSG_LENGTH_ERROR 2485 +#define MQ_MQRC_CALLBACK_ROUTINE_ERROR 2486 +#define MQ_MQRC_CALLBACK_LINK_ERROR 2487 +#define MQ_MQRC_OPERATION_ERROR 2488 +#define MQ_MQRC_BMHO_ERROR 2489 +#define MQ_MQRC_UNSUPPORTED_PROPERTY 2490 +#define MQ_MQRC_PROP_NAME_NOT_CONVERTED 2492 +#define MQ_MQRC_GET_ENABLED 2494 +#define MQ_MQRC_MODULE_NOT_FOUND 2495 +#define MQ_MQRC_MODULE_INVALID 2496 +#define MQ_MQRC_MODULE_ENTRY_NOT_FOUND 2497 +#define MQ_MQRC_MIXED_CONTENT_NOT_ALLOWED 2498 +#define MQ_MQRC_MSG_HANDLE_IN_USE 2499 +#define MQ_MQRC_HCONN_ASYNC_ACTIVE 2500 +#define MQ_MQRC_MHBO_ERROR 2501 +#define MQ_MQRC_PUBLICATION_FAILURE 2502 +#define MQ_MQRC_SUB_INHIBITED 2503 +#define MQ_MQRC_SELECTOR_ALWAYS_FALSE 2504 +#define MQ_MQRC_XEPO_ERROR 2507 +#define MQ_MQRC_DURABILITY_NOT_ALTERABLE 2509 +#define MQ_MQRC_TOPIC_NOT_ALTERABLE 2510 +#define MQ_MQRC_SUBLEVEL_NOT_ALTERABLE 2512 +#define MQ_MQRC_PROPERTY_NAME_LENGTH_ERR 2513 +#define MQ_MQRC_DUPLICATE_GROUP_SUB 2514 +#define MQ_MQRC_GROUPING_NOT_ALTERABLE 2515 +#define MQ_MQRC_SELECTOR_INVALID_FOR_TYPE 2516 +#define MQ_MQRC_HOBJ_QUIESCED 2517 +#define MQ_MQRC_HOBJ_QUIESCED_NO_MSGS 2518 +#define MQ_MQRC_SELECTION_STRING_ERROR 2519 +#define MQ_MQRC_RES_OBJECT_STRING_ERROR 2520 +#define MQ_MQRC_CONNECTION_SUSPENDED 2521 +#define MQ_MQRC_INVALID_DESTINATION 2522 +#define MQ_MQRC_INVALID_SUBSCRIPTION 2523 +#define MQ_MQRC_SELECTOR_NOT_ALTERABLE 2524 +#define MQ_MQRC_RETAINED_MSG_Q_ERROR 2525 +#define MQ_MQRC_RETAINED_NOT_DELIVERED 2526 +#define MQ_MQRC_RFH_RESTRICTED_FORMAT_ERR 2527 +#define MQ_MQRC_CONNECTION_STOPPED 2528 +#define MQ_MQRC_ASYNC_UOW_CONFLICT 2529 +#define MQ_MQRC_ASYNC_XA_CONFLICT 2530 +#define MQ_MQRC_PUBSUB_INHIBITED 2531 +#define MQ_MQRC_MSG_HANDLE_COPY_FAILURE 2532 +#define MQ_MQRC_DEST_CLASS_NOT_ALTERABLE 2533 +#define MQ_MQRC_OPERATION_NOT_ALLOWED 2534 +#define MQ_MQRC_ACTION_ERROR 2535 +#define MQ_MQRC_CHANNEL_NOT_AVAILABLE 2537 +#define MQ_MQRC_HOST_NOT_AVAILABLE 2538 +#define MQ_MQRC_CHANNEL_CONFIG_ERROR 2539 +#define MQ_MQRC_UNKNOWN_CHANNEL_NAME 2540 +#define MQ_MQRC_LOOPING_PUBLICATION 2541 +#define MQ_MQRC_ALREADY_JOINED 2542 +#define MQ_MQRC_STANDBY_Q_MGR 2543 +#define MQ_MQRC_RECONNECTING 2544 +#define MQ_MQRC_RECONNECTED 2545 +#define MQ_MQRC_RECONNECT_QMID_MISMATCH 2546 +#define MQ_MQRC_RECONNECT_INCOMPATIBLE 2547 +#define MQ_MQRC_RECONNECT_FAILED 2548 +#define MQ_MQRC_CALL_INTERRUPTED 2549 +#define MQ_MQRC_NO_SUBS_MATCHED 2550 +#define MQ_MQRC_SELECTION_NOT_AVAILABLE 2551 +#define MQ_MQRC_CHANNEL_SSL_WARNING 2552 +#define MQ_MQRC_OCSP_URL_ERROR 2553 +#define MQ_MQRC_CONTENT_ERROR 2554 +#define MQ_MQRC_RECONNECT_Q_MGR_REQD 2555 +#define MQ_MQRC_RECONNECT_TIMED_OUT 2556 +#define MQ_MQRC_PUBLISH_EXIT_ERROR 2557 +#define MQ_MQRC_COMMINFO_ERROR 2558 +#define MQ_MQRC_DEF_SYNCPOINT_INHIBITED 2559 +#define MQ_MQRC_MULTICAST_ONLY 2560 +#define MQ_MQRC_DATA_SET_NOT_AVAILABLE 2561 +#define MQ_MQRC_GROUPING_NOT_ALLOWED 2562 +#define MQ_MQRC_GROUP_ADDRESS_ERROR 2563 +#define MQ_MQRC_MULTICAST_CONFIG_ERROR 2564 +#define MQ_MQRC_MULTICAST_INTERFACE_ERROR 2565 +#define MQ_MQRC_MULTICAST_SEND_ERROR 2566 +#define MQ_MQRC_MULTICAST_INTERNAL_ERROR 2567 +#define MQ_MQRC_CONNECTION_NOT_AVAILABLE 2568 +#define MQ_MQRC_SYNCPOINT_NOT_ALLOWED 2569 +#define MQ_MQRC_SSL_ALT_PROVIDER_REQUIRED 2570 +#define MQ_MQRC_MCAST_PUB_STATUS 2571 +#define MQ_MQRC_MCAST_SUB_STATUS 2572 +#define MQ_MQRC_PRECONN_EXIT_LOAD_ERROR 2573 +#define MQ_MQRC_PRECONN_EXIT_NOT_FOUND 2574 +#define MQ_MQRC_PRECONN_EXIT_ERROR 2575 +#define MQ_MQRC_CD_ARRAY_ERROR 2576 +#define MQ_MQRC_CHANNEL_BLOCKED 2577 +#define MQ_MQRC_CHANNEL_BLOCKED_WARNING 2578 +#define MQ_MQRC_SUBSCRIPTION_CREATE 2579 +#define MQ_MQRC_SUBSCRIPTION_DELETE 2580 +#define MQ_MQRC_SUBSCRIPTION_CHANGE 2581 +#define MQ_MQRC_SUBSCRIPTION_REFRESH 2582 +#define MQ_MQRC_INSTALLATION_MISMATCH 2583 +#define MQ_MQRC_NOT_PRIVILEGED 2584 +#define MQ_MQRC_PROPERTIES_DISABLED 2586 +#define MQ_MQRC_HMSG_NOT_AVAILABLE 2587 +#define MQ_MQRC_EXIT_PROPS_NOT_SUPPORTED 2588 +#define MQ_MQRC_INSTALLATION_MISSING 2589 +#define MQ_MQRC_FASTPATH_NOT_AVAILABLE 2590 +#define MQ_MQRC_CIPHER_SPEC_NOT_SUITE_B 2591 +#define MQ_MQRC_SUITE_B_ERROR 2592 +#define MQ_MQRC_CERT_VAL_POLICY_ERROR 2593 +#define MQ_MQRC_REOPEN_EXCL_INPUT_ERROR 6100 +#define MQ_MQRC_REOPEN_INQUIRE_ERROR 6101 +#define MQ_MQRC_REOPEN_SAVED_CONTEXT_ERR 6102 +#define MQ_MQRC_REOPEN_TEMPORARY_Q_ERROR 6103 +#define MQ_MQRC_ATTRIBUTE_LOCKED 6104 +#define MQ_MQRC_CURSOR_NOT_VALID 6105 +#define MQ_MQRC_ENCODING_ERROR 6106 +#define MQ_MQRC_STRUC_ID_ERROR 6107 +#define MQ_MQRC_NULL_POINTER 6108 +#define MQ_MQRC_NO_CONNECTION_REFERENCE 6109 +#define MQ_MQRC_NO_BUFFER 6110 +#define MQ_MQRC_BINARY_DATA_LENGTH_ERROR 6111 +#define MQ_MQRC_BUFFER_NOT_AUTOMATIC 6112 +#define MQ_MQRC_INSUFFICIENT_BUFFER 6113 +#define MQ_MQRC_INSUFFICIENT_DATA 6114 +#define MQ_MQRC_DATA_TRUNCATED 6115 +#define MQ_MQRC_ZERO_LENGTH 6116 +#define MQ_MQRC_NEGATIVE_LENGTH 6117 +#define MQ_MQRC_NEGATIVE_OFFSET 6118 +#define MQ_MQRC_INCONSISTENT_FORMAT 6119 +#define MQ_MQRC_INCONSISTENT_OBJECT_STATE 6120 +#define MQ_MQRC_CONTEXT_OBJECT_NOT_VALID 6121 +#define MQ_MQRC_CONTEXT_OPEN_ERROR 6122 +#define MQ_MQRC_STRUC_LENGTH_ERROR 6123 +#define MQ_MQRC_NOT_CONNECTED 6124 +#define MQ_MQRC_NOT_OPEN 6125 +#define MQ_MQRC_DISTRIBUTION_LIST_EMPTY 6126 +#define MQ_MQRC_INCONSISTENT_OPEN_OPTIONS 6127 +#define MQ_MQRC_WRONG_VERSION 6128 +#define MQ_MQRC_REFERENCE_ERROR 6129 +#define MQ_MQRC_XR_NOT_AVAILABLE 6130 + +/****************************************************************/ +/* Values Related to Queue Attributes */ +/****************************************************************/ + +/* Queue Types */ +#define MQ_MQQT_LOCAL 1 +#define MQ_MQQT_MODEL 2 +#define MQ_MQQT_ALIAS 3 +#define MQ_MQQT_REMOTE 6 +#define MQ_MQQT_CLUSTER 7 + +/* Cluster Queue Types */ +#define MQ_MQCQT_LOCAL_Q 1 +#define MQ_MQCQT_ALIAS_Q 2 +#define MQ_MQCQT_REMOTE_Q 3 +#define MQ_MQCQT_Q_MGR_ALIAS 4 + +/* Extended Queue Types */ +#define MQ_MQQT_ALL 1001 + +/* Queue Definition Types */ +#define MQ_MQQDT_PREDEFINED 1 +#define MQ_MQQDT_PERMANENT_DYNAMIC 2 +#define MQ_MQQDT_TEMPORARY_DYNAMIC 3 +#define MQ_MQQDT_SHARED_DYNAMIC 4 + +/* Inhibit Get Values */ +#define MQ_MQQA_GET_INHIBITED 1 +#define MQ_MQQA_GET_ALLOWED 0 + +/* Inhibit Put Values */ +#define MQ_MQQA_PUT_INHIBITED 1 +#define MQ_MQQA_PUT_ALLOWED 0 + +/* Queue Shareability */ +#define MQ_MQQA_SHAREABLE 1 +#define MQ_MQQA_NOT_SHAREABLE 0 + +/* Back-Out Hardening */ +#define MQ_MQQA_BACKOUT_HARDENED 1 +#define MQ_MQQA_BACKOUT_NOT_HARDENED 0 + +/* Message Delivery Sequence */ +#define MQ_MQMDS_PRIORITY 0 +#define MQ_MQMDS_FIFO 1 + +/* Nonpersistent Message Class */ +#define MQ_MQNPM_CLASS_NORMAL 0 +#define MQ_MQNPM_CLASS_HIGH 10 + +/* Trigger Controls */ +#define MQ_MQTC_OFF 0 +#define MQ_MQTC_ON 1 + +/* Trigger Types */ +#define MQ_MQTT_NONE 0 +#define MQ_MQTT_FIRST 1 +#define MQ_MQTT_EVERY 2 +#define MQ_MQTT_DEPTH 3 + +/* Trigger Restart */ +#define MQ_MQTRIGGER_RESTART_NO 0 +#define MQ_MQTRIGGER_RESTART_YES 1 + +/* Queue Usages */ +#define MQ_MQUS_NORMAL 0 +#define MQ_MQUS_TRANSMISSION 1 + +/* Distribution Lists */ +#define MQ_MQDL_SUPPORTED 1 +#define MQ_MQDL_NOT_SUPPORTED 0 + +/* Index Types */ +#define MQ_MQIT_NONE 0 +#define MQ_MQIT_MSG_ID 1 +#define MQ_MQIT_CORREL_ID 2 +#define MQ_MQIT_MSG_TOKEN 4 +#define MQ_MQIT_GROUP_ID 5 + +/* Default Bindings */ +#define MQ_MQBND_BIND_ON_OPEN 0 +#define MQ_MQBND_BIND_NOT_FIXED 1 +#define MQ_MQBND_BIND_ON_GROUP 2 + +/* Queue Sharing Group Dispositions */ +#define MQ_MQQSGD_ALL (-1) +#define MQ_MQQSGD_Q_MGR 0 +#define MQ_MQQSGD_COPY 1 +#define MQ_MQQSGD_SHARED 2 +#define MQ_MQQSGD_GROUP 3 +#define MQ_MQQSGD_PRIVATE 4 +#define MQ_MQQSGD_LIVE 6 + +/* Reorganization Controls */ +#define MQ_MQREORG_DISABLED 0 +#define MQ_MQREORG_ENABLED 1 + +/* Read Ahead Values */ +#define MQ_MQREADA_NO 0 +#define MQ_MQREADA_YES 1 +#define MQ_MQREADA_DISABLED 2 +#define MQ_MQREADA_INHIBITED 3 +#define MQ_MQREADA_BACKLOG 4 + +/* Queue and Channel Property Control Values */ +#define MQ_MQPROP_COMPATIBILITY 0 +#define MQ_MQPROP_NONE 1 +#define MQ_MQPROP_ALL 2 +#define MQ_MQPROP_FORCE_MQRFH2 3 +#define MQ_MQPROP_V6COMPAT 4 + +/****************************************************************/ +/* Values Related to Namelist Attributes */ +/****************************************************************/ + +/* Name Count */ +#define MQ_MQNC_MAX_NAMELIST_NAME_COUNT 256 + +/* Namelist Types */ +#define MQ_MQNT_NONE 0 +#define MQ_MQNT_Q 1 +#define MQ_MQNT_CLUSTER 2 +#define MQ_MQNT_AUTH_INFO 4 +#define MQ_MQNT_ALL 1001 + +/****************************************************************/ +/* Values Related to CF-Structure Attributes */ +/****************************************************************/ + +/* CF Recoverability */ +#define MQ_MQCFR_YES 1 +#define MQ_MQCFR_NO 0 + +/* CF Automatic Recovery */ +#define MQ_MQRECAUTO_NO 0 +#define MQ_MQRECAUTO_YES 1 + +/* CF Loss of Connectivity Action */ +#define MQ_MQCFCONLOS_TERMINATE 0 +#define MQ_MQCFCONLOS_TOLERATE 1 +#define MQ_MQCFCONLOS_ASQMGR 2 + +/****************************************************************/ +/* Values Related to Service Attributes */ +/****************************************************************/ + +/* Service Types */ +#define MQ_MQSVC_TYPE_COMMAND 0 +#define MQ_MQSVC_TYPE_SERVER 1 + +/****************************************************************/ +/* Values Related to QueueManager Attributes */ +/****************************************************************/ + +/* Adopt New MCA Checks */ +#define MQ_MQADOPT_CHECK_NONE 0 +#define MQ_MQADOPT_CHECK_ALL 1 +#define MQ_MQADOPT_CHECK_Q_MGR_NAME 2 +#define MQ_MQADOPT_CHECK_NET_ADDR 4 + +/* Adopt New MCA Types */ +#define MQ_MQADOPT_TYPE_NO 0 +#define MQ_MQADOPT_TYPE_ALL 1 +#define MQ_MQADOPT_TYPE_SVR 2 +#define MQ_MQADOPT_TYPE_SDR 4 +#define MQ_MQADOPT_TYPE_RCVR 8 +#define MQ_MQADOPT_TYPE_CLUSRCVR 16 + +/* Autostart */ +#define MQ_MQAUTO_START_NO 0 +#define MQ_MQAUTO_START_YES 1 + +/* Channel Auto Definition */ +#define MQ_MQCHAD_DISABLED 0 +#define MQ_MQCHAD_ENABLED 1 + +/* Cluster Workload */ +#define MQ_MQCLWL_USEQ_LOCAL 0 +#define MQ_MQCLWL_USEQ_ANY 1 +#define MQ_MQCLWL_USEQ_AS_Q_MGR (-3) + +/* Command Levels */ +#define MQ_MQCMDL_LEVEL_1 100 +#define MQ_MQCMDL_LEVEL_101 101 +#define MQ_MQCMDL_LEVEL_110 110 +#define MQ_MQCMDL_LEVEL_114 114 +#define MQ_MQCMDL_LEVEL_120 120 +#define MQ_MQCMDL_LEVEL_200 200 +#define MQ_MQCMDL_LEVEL_201 201 +#define MQ_MQCMDL_LEVEL_210 210 +#define MQ_MQCMDL_LEVEL_211 211 +#define MQ_MQCMDL_LEVEL_220 220 +#define MQ_MQCMDL_LEVEL_221 221 +#define MQ_MQCMDL_LEVEL_230 230 +#define MQ_MQCMDL_LEVEL_320 320 +#define MQ_MQCMDL_LEVEL_420 420 +#define MQ_MQCMDL_LEVEL_500 500 +#define MQ_MQCMDL_LEVEL_510 510 +#define MQ_MQCMDL_LEVEL_520 520 +#define MQ_MQCMDL_LEVEL_530 530 +#define MQ_MQCMDL_LEVEL_531 531 +#define MQ_MQCMDL_LEVEL_600 600 +#define MQ_MQCMDL_LEVEL_700 700 +#define MQ_MQCMDL_LEVEL_701 701 +#define MQ_MQCMDL_LEVEL_710 710 +#define MQ_MQCMDL_LEVEL_711 711 +#define MQ_MQCMDL_LEVEL_750 750 +#define MQ_MQCMDL_CURRENT_LEVEL 750 + +/* Command Server Options */ +#define MQ_MQCSRV_CONVERT_NO 0 +#define MQ_MQCSRV_CONVERT_YES 1 +#define MQ_MQCSRV_DLQ_NO 0 +#define MQ_MQCSRV_DLQ_YES 1 + +/* DNS WLM */ +#define MQ_MQDNSWLM_NO 0 +#define MQ_MQDNSWLM_YES 1 + +/* Expiration Scan Interval */ +#define MQ_MQEXPI_OFF 0 + +/* Intra-Group Queuing */ +#define MQ_MQIGQ_DISABLED 0 +#define MQ_MQIGQ_ENABLED 1 + +/* Intra-Group Queuing Put Authority */ +#define MQ_MQIGQPA_DEFAULT 1 +#define MQ_MQIGQPA_CONTEXT 2 +#define MQ_MQIGQPA_ONLY_IGQ 3 +#define MQ_MQIGQPA_ALTERNATE_OR_IGQ 4 + +/* IP Address Versions */ +#define MQ_MQIPADDR_IPV4 0 +#define MQ_MQIPADDR_IPV6 1 + +/* Message Mark-Browse Interval */ +#define MQ_MQMMBI_UNLIMITED (-1) + +/* Monitoring Values */ +#define MQ_MQMON_NOT_AVAILABLE (-1) +#define MQ_MQMON_NONE (-1) +#define MQ_MQMON_Q_MGR (-3) +#define MQ_MQMON_OFF 0 +#define MQ_MQMON_ON 1 +#define MQ_MQMON_DISABLED 0 +#define MQ_MQMON_ENABLED 1 +#define MQ_MQMON_LOW 17 +#define MQ_MQMON_MEDIUM 33 +#define MQ_MQMON_HIGH 65 + +/* Application Function Types */ +#define MQ_MQFUN_TYPE_UNKNOWN 0 +#define MQ_MQFUN_TYPE_JVM 1 +#define MQ_MQFUN_TYPE_PROGRAM 2 +#define MQ_MQFUN_TYPE_PROCEDURE 3 +#define MQ_MQFUN_TYPE_USERDEF 4 +#define MQ_MQFUN_TYPE_COMMAND 5 + +/* Application Activity Trace Detail */ +#define MQ_MQACTV_DETAIL_LOW 1 +#define MQ_MQACTV_DETAIL_MEDIUM 2 +#define MQ_MQACTV_DETAIL_HIGH 3 + +/* Platforms */ +#define MQ_MQPL_MVS 1 +#define MQ_MQPL_OS390 1 +#define MQ_MQPL_ZOS 1 +#define MQ_MQPL_OS2 2 +#define MQ_MQPL_AIX 3 +#define MQ_MQPL_UNIX 3 +#define MQ_MQPL_OS400 4 +#define MQ_MQPL_WINDOWS 5 +#define MQ_MQPL_WINDOWS_NT 11 +#define MQ_MQPL_VMS 12 +#define MQ_MQPL_NSK 13 +#define MQ_MQPL_NSS 13 +#define MQ_MQPL_OPEN_TP1 15 +#define MQ_MQPL_VM 18 +#define MQ_MQPL_TPF 23 +#define MQ_MQPL_VSE 27 +#define MQ_MQPL_NATIVE 11 + +/* Maximum Properties Length */ +#define MQ_MQPROP_UNRESTRICTED_LENGTH (-1) + +/* Pub/Sub Mode */ +#define MQ_MQPSM_DISABLED 0 +#define MQ_MQPSM_COMPAT 1 +#define MQ_MQPSM_ENABLED 2 + +/* Pub/Sub clusters */ +#define MQ_MQPSCLUS_DISABLED 0 +#define MQ_MQPSCLUS_ENABLED 1 + +/* Control Options */ +#define MQ_MQQMOPT_DISABLED 0 +#define MQ_MQQMOPT_ENABLED 1 +#define MQ_MQQMOPT_REPLY 2 + +/* Receive Timeout Types */ +#define MQ_MQRCVTIME_MULTIPLY 0 +#define MQ_MQRCVTIME_ADD 1 +#define MQ_MQRCVTIME_EQUAL 2 + +/* Recording Options */ +#define MQ_MQRECORDING_DISABLED 0 +#define MQ_MQRECORDING_Q 1 +#define MQ_MQRECORDING_MSG 2 + +/* Security Case */ +#define MQ_MQSCYC_UPPER 0 +#define MQ_MQSCYC_MIXED 1 + +/* Shared Queue Queue Manager Name */ +#define MQ_MQSQQM_USE 0 +#define MQ_MQSQQM_IGNORE 1 + +/* SSL FIPS Requirements */ +#define MQ_MQSSL_FIPS_NO 0 +#define MQ_MQSSL_FIPS_YES 1 + +/* Syncpoint Availability */ +#define MQ_MQSP_AVAILABLE 1 +#define MQ_MQSP_NOT_AVAILABLE 0 + +/* Service Controls */ +#define MQ_MQSVC_CONTROL_Q_MGR 0 +#define MQ_MQSVC_CONTROL_Q_MGR_START 1 +#define MQ_MQSVC_CONTROL_MANUAL 2 + +/* Service Status */ +#define MQ_MQSVC_STATUS_STOPPED 0 +#define MQ_MQSVC_STATUS_STARTING 1 +#define MQ_MQSVC_STATUS_RUNNING 2 +#define MQ_MQSVC_STATUS_STOPPING 3 +#define MQ_MQSVC_STATUS_RETRYING 4 + +/* TCP Keepalive */ +#define MQ_MQTCPKEEP_NO 0 +#define MQ_MQTCPKEEP_YES 1 + +/* TCP Stack Types */ +#define MQ_MQTCPSTACK_SINGLE 0 +#define MQ_MQTCPSTACK_MULTIPLE 1 + +/* Channel Initiator Trace Autostart */ +#define MQ_MQTRAXSTR_NO 0 +#define MQ_MQTRAXSTR_YES 1 + +/* Capability */ +#define MQ_MQCAP_NOT_SUPPORTED 0 +#define MQ_MQCAP_SUPPORTED 1 + +#define MQ_MQCAP_EXPIRED 2 +/****************************************************************/ +/* Values Related to Topic Attributes */ +/****************************************************************/ + +/* Persistent/Non-persistent Message Delivery */ +#define MQ_MQDLV_AS_PARENT 0 +#define MQ_MQDLV_ALL 1 +#define MQ_MQDLV_ALL_DUR 2 +#define MQ_MQDLV_ALL_AVAIL 3 + +/* Master administration */ +#define MQ_MQMASTER_NO 0 +#define MQ_MQMASTER_YES 1 + +/* Publish scope */ +#define MQ_MQSCOPE_ALL 0 +#define MQ_MQSCOPE_AS_PARENT 1 +#define MQ_MQSCOPE_QMGR 4 + +/* Durable subscriptions */ +#define MQ_MQSUB_DURABLE_AS_PARENT 0 +#define MQ_MQSUB_DURABLE_ALLOWED 1 +#define MQ_MQSUB_DURABLE_INHIBITED 2 + +/* Wildcards */ +#define MQ_MQTA_BLOCK 1 +#define MQ_MQTA_PASSTHRU 2 + +/* Subscriptions Allowed */ +#define MQ_MQTA_SUB_AS_PARENT 0 +#define MQ_MQTA_SUB_INHIBITED 1 +#define MQ_MQTA_SUB_ALLOWED 2 + +/* Proxy Sub Propagation */ +#define MQ_MQTA_PROXY_SUB_FORCE 1 +#define MQ_MQTA_PROXY_SUB_FIRSTUSE 2 + +/* Publications Allowed */ +#define MQ_MQTA_PUB_AS_PARENT 0 +#define MQ_MQTA_PUB_INHIBITED 1 +#define MQ_MQTA_PUB_ALLOWED 2 + +/* Topic Type */ +#define MQ_MQTOPT_LOCAL 0 +#define MQ_MQTOPT_CLUSTER 1 +#define MQ_MQTOPT_ALL 2 + +/* Multicast */ +#define MQ_MQMC_AS_PARENT 0 +#define MQ_MQMC_ENABLED 1 +#define MQ_MQMC_DISABLED 2 +#define MQ_MQMC_ONLY 3 + +/* CommInfo Type */ +#define MQ_MQCIT_MULTICAST 1 + +/****************************************************************/ +/* Values Related to Subscription Attributes */ +/****************************************************************/ + +/* Destination Class */ +#define MQ_MQDC_MANAGED 1 +#define MQ_MQDC_PROVIDED 2 + +/* Pub/Sub Message Properties */ +#define MQ_MQPSPROP_NONE 0 +#define MQ_MQPSPROP_COMPAT 1 +#define MQ_MQPSPROP_RFH2 2 +#define MQ_MQPSPROP_MSGPROP 3 + +/* Request Only */ +#define MQ_MQRU_PUBLISH_ON_REQUEST 1 +#define MQ_MQRU_PUBLISH_ALL 2 + +/* Durable Subscriptions */ +#define MQ_MQSUB_DURABLE_ALL (-1) +#define MQ_MQSUB_DURABLE_YES 1 +#define MQ_MQSUB_DURABLE_NO 2 + +/* Subscription Scope */ +#define MQ_MQTSCOPE_QMGR 1 +#define MQ_MQTSCOPE_ALL 2 + +/* Variable User ID */ +#define MQ_MQVU_FIXED_USER 1 +#define MQ_MQVU_ANY_USER 2 + +/* Wildcard Schema */ +#define MQ_MQWS_DEFAULT 0 +#define MQ_MQWS_CHAR 1 +#define MQ_MQWS_TOPIC 2 + +/****************************************************************/ +/* Values Related to Channel Authentication Configuration */ +/* Attributes */ +/****************************************************************/ + +/* User Source Options */ +#define MQ_MQUSRC_MAP 0 +#define MQ_MQUSRC_NOACCESS 1 +#define MQ_MQUSRC_CHANNEL 2 + +/* Warn Options */ +#define MQ_MQWARN_YES 1 +#define MQ_MQWARN_NO 0 + +/* DSBlock Options */ +#define MQ_MQDSB_DEFAULT 0 +#define MQ_MQDSB_8K 1 +#define MQ_MQDSB_16K 2 +#define MQ_MQDSB_32K 3 +#define MQ_MQDSB_64K 4 +#define MQ_MQDSB_128K 5 +#define MQ_MQDSB_256K 6 +#define MQ_MQDSB_512K 7 +#define MQ_MQDSB_1024K 8 +#define MQ_MQDSB_1M 8 + +/* DSExpand Options */ +#define MQ_MQDSE_DEFAULT 0 +#define MQ_MQDSE_YES 1 +#define MQ_MQDSE_NO 2 + +/* OffldUse Options */ +#define MQ_MQCFOFFLD_NONE 0 +#define MQ_MQCFOFFLD_SMDS 1 +#define MQ_MQCFOFFLD_DB2 2 +#define MQ_MQCFOFFLD_BOTH 3 + +/* Use Dead Letter Queue Options */ +#define MQ_MQUSEDLQ_AS_PARENT 0 +#define MQ_MQUSEDLQ_NO 1 +#define MQ_MQUSEDLQ_YES 2 + +/****************************************************************/ +/* Constants for MQ Extended Reach */ +/****************************************************************/ + +/* General Constants */ +#define MQ_MQ_MQTT_MAX_KEEP_ALIVE 65536 +#define MQ_MQ_SSL_KEY_PASSPHRASE_LENGTH 1024 + +/****************************************************************/ +/* Values Related to MQCLOSE Function */ +/****************************************************************/ + +/* Object Handle */ +#define MQ_MQHO_UNUSABLE_HOBJ (-1) +#define MQ_MQHO_NONE 0 + +/* Close Options */ +#define MQ_MQCO_IMMEDIATE 0x00000000 +#define MQ_MQCO_NONE 0x00000000 +#define MQ_MQCO_DELETE 0x00000001 +#define MQ_MQCO_DELETE_PURGE 0x00000002 +#define MQ_MQCO_KEEP_SUB 0x00000004 +#define MQ_MQCO_REMOVE_SUB 0x00000008 +#define MQ_MQCO_QUIESCE 0x00000020 + +/****************************************************************/ +/* Values Related to MQCTL and MQCB Functions */ +/****************************************************************/ + +/* Operation codes for MQCTL */ +#define MQ_MQOP_START 0x00000001 +#define MQ_MQOP_START_WAIT 0x00000002 +#define MQ_MQOP_STOP 0x00000004 + +/* Operation codes for MQCB */ +#define MQ_MQOP_REGISTER 0x00000100 +#define MQ_MQOP_DEREGISTER 0x00000200 + +/* Operation codes for MQCTL and MQCB */ +#define MQ_MQOP_SUSPEND 0x00010000 +#define MQ_MQOP_RESUME 0x00020000 + +/****************************************************************/ +/* Values Related to MQDLTMH Function */ +/****************************************************************/ + +/* Message handle */ +#define MQ_MQHM_UNUSABLE_HMSG (-1) +#define MQ_MQHM_NONE 0 + +/****************************************************************/ +/* Values Related to MQINQ Function */ +/****************************************************************/ + +/* Byte Attribute Selectors */ +#define MQ_MQBA_FIRST 6001 +#define MQ_MQBA_LAST 8000 + +/* Character Attribute Selectors */ +#define MQ_MQCA_ADMIN_TOPIC_NAME 2105 +#define MQ_MQCA_ALTERATION_DATE 2027 +#define MQ_MQCA_ALTERATION_TIME 2028 +#define MQ_MQCA_APPL_ID 2001 +#define MQ_MQCA_AUTH_INFO_CONN_NAME 2053 +#define MQ_MQCA_AUTH_INFO_DESC 2046 +#define MQ_MQCA_AUTH_INFO_NAME 2045 +#define MQ_MQCA_AUTH_INFO_OCSP_URL 2109 +#define MQ_MQCA_AUTO_REORG_CATALOG 2091 +#define MQ_MQCA_AUTO_REORG_START_TIME 2090 +#define MQ_MQCA_BACKOUT_REQ_Q_NAME 2019 +#define MQ_MQCA_BASE_OBJECT_NAME 2002 +#define MQ_MQCA_BASE_Q_NAME 2002 +#define MQ_MQCA_BATCH_INTERFACE_ID 2068 +#define MQ_MQCA_CF_STRUC_DESC 2052 +#define MQ_MQCA_CF_STRUC_NAME 2039 +#define MQ_MQCA_CHANNEL_AUTO_DEF_EXIT 2026 +#define MQ_MQCA_CHILD 2101 +#define MQ_MQCA_CHINIT_SERVICE_PARM 2076 +#define MQ_MQCA_CICS_FILE_NAME 2060 +#define MQ_MQCA_CLUSTER_DATE 2037 +#define MQ_MQCA_CLUSTER_NAME 2029 +#define MQ_MQCA_CLUSTER_NAMELIST 2030 +#define MQ_MQCA_CLUSTER_Q_MGR_NAME 2031 +#define MQ_MQCA_CLUSTER_TIME 2038 +#define MQ_MQCA_CLUSTER_WORKLOAD_DATA 2034 +#define MQ_MQCA_CLUSTER_WORKLOAD_EXIT 2033 +#define MQ_MQCA_COMMAND_INPUT_Q_NAME 2003 +#define MQ_MQCA_COMMAND_REPLY_Q_NAME 2067 +#define MQ_MQCA_CREATION_DATE 2004 +#define MQ_MQCA_CREATION_TIME 2005 +#define MQ_MQCA_DEAD_LETTER_Q_NAME 2006 +#define MQ_MQCA_DEF_XMIT_Q_NAME 2025 +#define MQ_MQCA_DNS_GROUP 2071 +#define MQ_MQCA_ENV_DATA 2007 +#define MQ_MQCA_FIRST 2001 +#define MQ_MQCA_IGQ_USER_ID 2041 +#define MQ_MQCA_INITIATION_Q_NAME 2008 +#define MQ_MQCA_LAST 4000 +#define MQ_MQCA_LDAP_PASSWORD 2048 +#define MQ_MQCA_LDAP_USER_NAME 2047 +#define MQ_MQCA_LU_GROUP_NAME 2072 +#define MQ_MQCA_LU_NAME 2073 +#define MQ_MQCA_LU62_ARM_SUFFIX 2074 +#define MQ_MQCA_MODEL_DURABLE_Q 2096 +#define MQ_MQCA_MODEL_NON_DURABLE_Q 2097 +#define MQ_MQCA_MONITOR_Q_NAME 2066 +#define MQ_MQCA_NAMELIST_DESC 2009 +#define MQ_MQCA_NAMELIST_NAME 2010 +#define MQ_MQCA_NAMES 2020 +#define MQ_MQCA_PARENT 2102 +#define MQ_MQCA_PASS_TICKET_APPL 2086 +#define MQ_MQCA_PROCESS_DESC 2011 +#define MQ_MQCA_PROCESS_NAME 2012 +#define MQ_MQCA_Q_DESC 2013 +#define MQ_MQCA_Q_MGR_DESC 2014 +#define MQ_MQCA_Q_MGR_IDENTIFIER 2032 +#define MQ_MQCA_Q_MGR_NAME 2015 +#define MQ_MQCA_Q_NAME 2016 +#define MQ_MQCA_QSG_NAME 2040 +#define MQ_MQCA_REMOTE_Q_MGR_NAME 2017 +#define MQ_MQCA_REMOTE_Q_NAME 2018 +#define MQ_MQCA_REPOSITORY_NAME 2035 +#define MQ_MQCA_REPOSITORY_NAMELIST 2036 +#define MQ_MQCA_RESUME_DATE 2098 +#define MQ_MQCA_RESUME_TIME 2099 +#define MQ_MQCA_SERVICE_DESC 2078 +#define MQ_MQCA_SERVICE_NAME 2077 +#define MQ_MQCA_SERVICE_START_ARGS 2080 +#define MQ_MQCA_SERVICE_START_COMMAND 2079 +#define MQ_MQCA_SERVICE_STOP_ARGS 2082 +#define MQ_MQCA_SERVICE_STOP_COMMAND 2081 +#define MQ_MQCA_STDERR_DESTINATION 2084 +#define MQ_MQCA_STDOUT_DESTINATION 2083 +#define MQ_MQCA_SSL_CRL_NAMELIST 2050 +#define MQ_MQCA_SSL_CRYPTO_HARDWARE 2051 +#define MQ_MQCA_SSL_KEY_LIBRARY 2069 +#define MQ_MQCA_SSL_KEY_MEMBER 2070 +#define MQ_MQCA_SSL_KEY_REPOSITORY 2049 +#define MQ_MQCA_STORAGE_CLASS 2022 +#define MQ_MQCA_STORAGE_CLASS_DESC 2042 +#define MQ_MQCA_SYSTEM_LOG_Q_NAME 2065 +#define MQ_MQCA_TCP_NAME 2075 +#define MQ_MQCA_TOPIC_DESC 2093 +#define MQ_MQCA_TOPIC_NAME 2092 +#define MQ_MQCA_TOPIC_STRING 2094 +#define MQ_MQCA_TOPIC_STRING_FILTER 2108 +#define MQ_MQCA_TPIPE_NAME 2085 +#define MQ_MQCA_TRIGGER_CHANNEL_NAME 2064 +#define MQ_MQCA_TRIGGER_DATA 2023 +#define MQ_MQCA_TRIGGER_PROGRAM_NAME 2062 +#define MQ_MQCA_TRIGGER_TERM_ID 2063 +#define MQ_MQCA_TRIGGER_TRANS_ID 2061 +#define MQ_MQCA_USER_DATA 2021 +#define MQ_MQCA_USER_LIST 4000 +#define MQ_MQCA_VERSION 2120 +#define MQ_MQCA_XCF_GROUP_NAME 2043 +#define MQ_MQCA_XCF_MEMBER_NAME 2044 +#define MQ_MQCA_XMIT_Q_NAME 2024 +#define MQ_MQCA_COMM_INFO_NAME 2110 +#define MQ_MQCA_COMM_INFO_DESC 2111 +#define MQ_MQCA_POLICY_NAME 2112 +#define MQ_MQCA_SIGNER_DN 2113 +#define MQ_MQCA_RECIPIENT_DN 2114 +#define MQ_MQCA_INSTALLATION_DESC 2115 +#define MQ_MQCA_INSTALLATION_NAME 2116 +#define MQ_MQCA_INSTALLATION_PATH 2117 +#define MQ_MQCA_CHLAUTH_DESC 2118 +#define MQ_MQCA_CUSTOM 2119 +#define MQ_MQCA_XR_VERSION 2122 +#define MQ_MQCA_XR_SSL_CIPHER_SUITES 2123 +#define MQ_MQCA_CLUS_CHL_NAME 2124 +#define MQ_MQCA_LAST_USED 2124 + +/* Integer Attribute Selectors */ +#define MQ_MQIA_ACCOUNTING_CONN_OVERRIDE 136 +#define MQ_MQIA_ACCOUNTING_INTERVAL 135 +#define MQ_MQIA_ACCOUNTING_MQI 133 +#define MQ_MQIA_ACCOUNTING_Q 134 +#define MQ_MQIA_ACTIVE_CHANNELS 100 +#define MQ_MQIA_ACTIVITY_RECORDING 138 +#define MQ_MQIA_ADOPTNEWMCA_CHECK 102 +#define MQ_MQIA_ADOPTNEWMCA_TYPE 103 +#define MQ_MQIA_ADOPTNEWMCA_INTERVAL 104 +#define MQ_MQIA_APPL_TYPE 1 +#define MQ_MQIA_ARCHIVE 60 +#define MQ_MQIA_AUTH_INFO_TYPE 66 +#define MQ_MQIA_AUTHORITY_EVENT 47 +#define MQ_MQIA_AUTO_REORG_INTERVAL 174 +#define MQ_MQIA_AUTO_REORGANIZATION 173 +#define MQ_MQIA_BACKOUT_THRESHOLD 22 +#define MQ_MQIA_BASE_TYPE 193 +#define MQ_MQIA_BATCH_INTERFACE_AUTO 86 +#define MQ_MQIA_BRIDGE_EVENT 74 +#define MQ_MQIA_CERT_VAL_POLICY 252 +#define MQ_MQIA_CF_CFCONLOS 246 +#define MQ_MQIA_CF_LEVEL 70 +#define MQ_MQIA_CF_OFFLOAD 224 +#define MQ_MQIA_CF_OFFLOAD_THRESHOLD1 225 +#define MQ_MQIA_CF_OFFLOAD_THRESHOLD2 226 +#define MQ_MQIA_CF_OFFLOAD_THRESHOLD3 227 +#define MQ_MQIA_CF_OFFLDUSE 229 +#define MQ_MQIA_CF_RECOVER 71 +#define MQ_MQIA_CF_RECAUTO 244 +#define MQ_MQIA_CF_SMDS_BUFFERS 228 +#define MQ_MQIA_CHANNEL_AUTO_DEF 55 +#define MQ_MQIA_CHANNEL_AUTO_DEF_EVENT 56 +#define MQ_MQIA_CHANNEL_EVENT 73 +#define MQ_MQIA_CHINIT_ADAPTERS 101 +#define MQ_MQIA_CHINIT_CONTROL 119 +#define MQ_MQIA_CHINIT_DISPATCHERS 105 +#define MQ_MQIA_CHINIT_TRACE_AUTO_START 117 +#define MQ_MQIA_CHINIT_TRACE_TABLE_SIZE 118 +#define MQ_MQIA_CLUSTER_Q_TYPE 59 +#define MQ_MQIA_CLUSTER_WORKLOAD_LENGTH 58 +#define MQ_MQIA_CLWL_MRU_CHANNELS 97 +#define MQ_MQIA_CLWL_Q_RANK 95 +#define MQ_MQIA_CLWL_Q_PRIORITY 96 +#define MQ_MQIA_CLWL_USEQ 98 +#define MQ_MQIA_CMD_SERVER_AUTO 87 +#define MQ_MQIA_CMD_SERVER_CONTROL 120 +#define MQ_MQIA_CMD_SERVER_CONVERT_MSG 88 +#define MQ_MQIA_CMD_SERVER_DLQ_MSG 89 +#define MQ_MQIA_CODED_CHAR_SET_ID 2 +#define MQ_MQIA_COMMAND_EVENT 99 +#define MQ_MQIA_COMMAND_LEVEL 31 +#define MQ_MQIA_CONFIGURATION_EVENT 51 +#define MQ_MQIA_CPI_LEVEL 27 +#define MQ_MQIA_CURRENT_Q_DEPTH 3 +#define MQ_MQIA_DEF_BIND 61 +#define MQ_MQIA_DEF_INPUT_OPEN_OPTION 4 +#define MQ_MQIA_DEF_PERSISTENCE 5 +#define MQ_MQIA_DEF_PRIORITY 6 +#define MQ_MQIA_DEF_PUT_RESPONSE_TYPE 184 +#define MQ_MQIA_DEF_READ_AHEAD 188 +#define MQ_MQIA_DEFINITION_TYPE 7 +#define MQ_MQIA_DIST_LISTS 34 +#define MQ_MQIA_DNS_WLM 106 +#define MQ_MQIA_DURABLE_SUB 175 +#define MQ_MQIA_EXPIRY_INTERVAL 39 +#define MQ_MQIA_FIRST 1 +#define MQ_MQIA_GROUP_UR 221 +#define MQ_MQIA_HARDEN_GET_BACKOUT 8 +#define MQ_MQIA_HIGH_Q_DEPTH 36 +#define MQ_MQIA_IGQ_PUT_AUTHORITY 65 +#define MQ_MQIA_INDEX_TYPE 57 +#define MQ_MQIA_INHIBIT_EVENT 48 +#define MQ_MQIA_INHIBIT_GET 9 +#define MQ_MQIA_INHIBIT_PUB 181 +#define MQ_MQIA_INHIBIT_PUT 10 +#define MQ_MQIA_INHIBIT_SUB 182 +#define MQ_MQIA_INTRA_GROUP_QUEUING 64 +#define MQ_MQIA_IP_ADDRESS_VERSION 93 +#define MQ_MQIA_LAST 2000 +#define MQ_MQIA_LISTENER_PORT_NUMBER 85 +#define MQ_MQIA_LISTENER_TIMER 107 +#define MQ_MQIA_LOGGER_EVENT 94 +#define MQ_MQIA_LU62_CHANNELS 108 +#define MQ_MQIA_LOCAL_EVENT 49 +#define MQ_MQIA_MSG_MARK_BROWSE_INTERVAL 68 +#define MQ_MQIA_MASTER_ADMIN 186 +#define MQ_MQIA_MAX_CHANNELS 109 +#define MQ_MQIA_MAX_CLIENTS 172 +#define MQ_MQIA_MAX_GLOBAL_LOCKS 83 +#define MQ_MQIA_MAX_HANDLES 11 +#define MQ_MQIA_MAX_LOCAL_LOCKS 84 +#define MQ_MQIA_MAX_MSG_LENGTH 13 +#define MQ_MQIA_MAX_OPEN_Q 80 +#define MQ_MQIA_MAX_PRIORITY 14 +#define MQ_MQIA_MAX_PROPERTIES_LENGTH 192 +#define MQ_MQIA_MAX_Q_DEPTH 15 +#define MQ_MQIA_MAX_Q_TRIGGERS 90 +#define MQ_MQIA_MAX_RECOVERY_TASKS 171 +#define MQ_MQIA_MAX_RESPONSES 230 +#define MQ_MQIA_MAX_UNCOMMITTED_MSGS 33 +#define MQ_MQIA_MONITOR_INTERVAL 81 +#define MQ_MQIA_MONITORING_AUTO_CLUSSDR 124 +#define MQ_MQIA_MONITORING_CHANNEL 122 +#define MQ_MQIA_MONITORING_Q 123 +#define MQ_MQIA_MSG_DELIVERY_SEQUENCE 16 +#define MQ_MQIA_MSG_DEQ_COUNT 38 +#define MQ_MQIA_MSG_ENQ_COUNT 37 +#define MQ_MQIA_NAME_COUNT 19 +#define MQ_MQIA_NAMELIST_TYPE 72 +#define MQ_MQIA_NPM_CLASS 78 +#define MQ_MQIA_NPM_DELIVERY 196 +#define MQ_MQIA_OPEN_INPUT_COUNT 17 +#define MQ_MQIA_OPEN_OUTPUT_COUNT 18 +#define MQ_MQIA_OUTBOUND_PORT_MAX 140 +#define MQ_MQIA_OUTBOUND_PORT_MIN 110 +#define MQ_MQIA_PAGESET_ID 62 +#define MQ_MQIA_PERFORMANCE_EVENT 53 +#define MQ_MQIA_PLATFORM 32 +#define MQ_MQIA_PM_DELIVERY 195 +#define MQ_MQIA_PROPERTY_CONTROL 190 +#define MQ_MQIA_PROXY_SUB 199 +#define MQ_MQIA_PUB_COUNT 215 +#define MQ_MQIA_PUB_SCOPE 219 +#define MQ_MQIA_PUBSUB_CLUSTER 249 +#define MQ_MQIA_PUBSUB_MAXMSG_RETRY_COUNT 206 +#define MQ_MQIA_PUBSUB_MODE 187 +#define MQ_MQIA_PUBSUB_NP_MSG 203 +#define MQ_MQIA_PUBSUB_NP_RESP 205 +#define MQ_MQIA_PUBSUB_SYNC_PT 207 +#define MQ_MQIA_Q_DEPTH_HIGH_EVENT 43 +#define MQ_MQIA_Q_DEPTH_HIGH_LIMIT 40 +#define MQ_MQIA_Q_DEPTH_LOW_EVENT 44 +#define MQ_MQIA_Q_DEPTH_LOW_LIMIT 41 +#define MQ_MQIA_Q_DEPTH_MAX_EVENT 42 +#define MQ_MQIA_Q_SERVICE_INTERVAL 54 +#define MQ_MQIA_Q_SERVICE_INTERVAL_EVENT 46 +#define MQ_MQIA_Q_TYPE 20 +#define MQ_MQIA_Q_USERS 82 +#define MQ_MQIA_QMGR_CFCONLOS 245 +#define MQ_MQIA_QMOPT_CONS_COMMS_MSGS 155 +#define MQ_MQIA_QMOPT_CONS_CRITICAL_MSGS 154 +#define MQ_MQIA_QMOPT_CONS_ERROR_MSGS 153 +#define MQ_MQIA_QMOPT_CONS_INFO_MSGS 151 +#define MQ_MQIA_QMOPT_CONS_REORG_MSGS 156 +#define MQ_MQIA_QMOPT_CONS_SYSTEM_MSGS 157 +#define MQ_MQIA_QMOPT_CONS_WARNING_MSGS 152 +#define MQ_MQIA_QMOPT_CSMT_ON_ERROR 150 +#define MQ_MQIA_QMOPT_INTERNAL_DUMP 170 +#define MQ_MQIA_QMOPT_LOG_COMMS_MSGS 162 +#define MQ_MQIA_QMOPT_LOG_CRITICAL_MSGS 161 +#define MQ_MQIA_QMOPT_LOG_ERROR_MSGS 160 +#define MQ_MQIA_QMOPT_LOG_INFO_MSGS 158 +#define MQ_MQIA_QMOPT_LOG_REORG_MSGS 163 +#define MQ_MQIA_QMOPT_LOG_SYSTEM_MSGS 164 +#define MQ_MQIA_QMOPT_LOG_WARNING_MSGS 159 +#define MQ_MQIA_QMOPT_TRACE_COMMS 166 +#define MQ_MQIA_QMOPT_TRACE_CONVERSION 168 +#define MQ_MQIA_QMOPT_TRACE_REORG 167 +#define MQ_MQIA_QMOPT_TRACE_MQI_CALLS 165 +#define MQ_MQIA_QMOPT_TRACE_SYSTEM 169 +#define MQ_MQIA_QSG_DISP 63 +#define MQ_MQIA_READ_AHEAD 189 +#define MQ_MQIA_RECEIVE_TIMEOUT 111 +#define MQ_MQIA_RECEIVE_TIMEOUT_MIN 113 +#define MQ_MQIA_RECEIVE_TIMEOUT_TYPE 112 +#define MQ_MQIA_REMOTE_EVENT 50 +#define MQ_MQIA_RETENTION_INTERVAL 21 +#define MQ_MQIA_RESPONSE_RESTART_POINT 231 +#define MQ_MQIA_SCOPE 45 +#define MQ_MQIA_SECURITY_CASE 141 +#define MQ_MQIA_SERVICE_CONTROL 139 +#define MQ_MQIA_SERVICE_TYPE 121 +#define MQ_MQIA_SHAREABILITY 23 +#define MQ_MQIA_SHARED_Q_Q_MGR_NAME 77 +#define MQ_MQIA_SSL_EVENT 75 +#define MQ_MQIA_SSL_FIPS_REQUIRED 92 +#define MQ_MQIA_SSL_RESET_COUNT 76 +#define MQ_MQIA_SSL_TASKS 69 +#define MQ_MQIA_START_STOP_EVENT 52 +#define MQ_MQIA_STATISTICS_CHANNEL 129 +#define MQ_MQIA_STATISTICS_AUTO_CLUSSDR 130 +#define MQ_MQIA_STATISTICS_INTERVAL 131 +#define MQ_MQIA_STATISTICS_MQI 127 +#define MQ_MQIA_STATISTICS_Q 128 +#define MQ_MQIA_SUB_COUNT 204 +#define MQ_MQIA_SUB_SCOPE 218 +#define MQ_MQIA_SYNCPOINT 30 +#define MQ_MQIA_TCP_CHANNELS 114 +#define MQ_MQIA_TCP_KEEP_ALIVE 115 +#define MQ_MQIA_TCP_STACK_TYPE 116 +#define MQ_MQIA_TIME_SINCE_RESET 35 +#define MQ_MQIA_TOPIC_DEF_PERSISTENCE 185 +#define MQ_MQIA_TOPIC_TYPE 208 +#define MQ_MQIA_TRACE_ROUTE_RECORDING 137 +#define MQ_MQIA_TREE_LIFE_TIME 183 +#define MQ_MQIA_TRIGGER_CONTROL 24 +#define MQ_MQIA_TRIGGER_DEPTH 29 +#define MQ_MQIA_TRIGGER_INTERVAL 25 +#define MQ_MQIA_TRIGGER_MSG_PRIORITY 26 +#define MQ_MQIA_TRIGGER_TYPE 28 +#define MQ_MQIA_TRIGGER_RESTART 91 +#define MQ_MQIA_UR_DISP 222 +#define MQ_MQIA_USAGE 12 +#define MQ_MQIA_USER_LIST 2000 +#define MQ_MQIA_MULTICAST 176 +#define MQ_MQIA_WILDCARD_OPERATION 216 +#define MQ_MQIA_COMM_INFO_TYPE 223 +#define MQ_MQIA_COMM_EVENT 232 +#define MQ_MQIA_MCAST_BRIDGE 233 +#define MQ_MQIA_USE_DEAD_LETTER_Q 234 +#define MQ_MQIA_TOLERATE_UNPROTECTED 235 +#define MQ_MQIA_SIGNATURE_ALGORITHM 236 +#define MQ_MQIA_ENCRYPTION_ALGORITHM 237 +#define MQ_MQIA_POLICY_VERSION 238 +#define MQ_MQIA_ACTIVITY_CONN_OVERRIDE 239 +#define MQ_MQIA_ACTIVITY_TRACE 240 +#define MQ_MQIA_SUB_CONFIGURATION_EVENT 242 +#define MQ_MQIA_XR_CAPABILITY 243 +#define MQ_MQIA_SUITE_B_STRENGTH 247 +#define MQ_MQIA_CHLAUTH_RECORDS 248 +#define MQ_MQIA_DEF_CLUSTER_XMIT_Q_TYPE 250 +#define MQ_MQIA_PROT_POLICY_CAPABILITY 251 +#define MQ_MQIA_LAST_USED 252 + +/* Integer Attribute Values */ +#define MQ_MQIAV_NOT_APPLICABLE (-1) +#define MQ_MQIAV_UNDEFINED (-2) + +/* CommInfo Bridge */ +#define MQ_MQMCB_DISABLED 0 +#define MQ_MQMCB_ENABLED 1 + +/* Group Attribute Selectors */ +#define MQ_MQGA_FIRST 8001 +#define MQ_MQGA_LAST 9000 + +/****************************************************************/ +/* Values Related to MQINQMP Function */ +/****************************************************************/ + +/* Inquire on all properties - "%" */ +#define MQ_MQPROP_INQUIRE_ALL (MQPTR)(char*)"%",\ + 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 + +/****************************************************************/ +/* Values Related to MQOPEN Function */ +/****************************************************************/ + +/* Open Options */ +#define MQ_MQOO_BIND_AS_Q_DEF 0x00000000 +#define MQ_MQOO_READ_AHEAD_AS_Q_DEF 0x00000000 +#define MQ_MQOO_INPUT_AS_Q_DEF 0x00000001 +#define MQ_MQOO_INPUT_SHARED 0x00000002 +#define MQ_MQOO_INPUT_EXCLUSIVE 0x00000004 +#define MQ_MQOO_BROWSE 0x00000008 +#define MQ_MQOO_OUTPUT 0x00000010 +#define MQ_MQOO_INQUIRE 0x00000020 +#define MQ_MQOO_SET 0x00000040 +#define MQ_MQOO_SAVE_ALL_CONTEXT 0x00000080 +#define MQ_MQOO_PASS_IDENTITY_CONTEXT 0x00000100 +#define MQ_MQOO_PASS_ALL_CONTEXT 0x00000200 +#define MQ_MQOO_SET_IDENTITY_CONTEXT 0x00000400 +#define MQ_MQOO_SET_ALL_CONTEXT 0x00000800 +#define MQ_MQOO_ALTERNATE_USER_AUTHORITY 0x00001000 +#define MQ_MQOO_FAIL_IF_QUIESCING 0x00002000 +#define MQ_MQOO_BIND_ON_OPEN 0x00004000 +#define MQ_MQOO_BIND_ON_GROUP 0x00400000 +#define MQ_MQOO_BIND_NOT_FIXED 0x00008000 +#define MQ_MQOO_CO_OP 0x00020000 +#define MQ_MQOO_NO_READ_AHEAD 0x00080000 +#define MQ_MQOO_READ_AHEAD 0x00100000 +#define MQ_MQOO_NO_MULTICAST 0x00200000 +#define MQ_MQOO_RESOLVE_LOCAL_Q 0x00040000 +#define MQ_MQOO_RESOLVE_LOCAL_TOPIC 0x00040000 + +/* Following used in C++ only */ +#define MQ_MQOO_RESOLVE_NAMES 0x00010000 + +/****************************************************************/ +/* Values Related to MQSETMP Function */ +/****************************************************************/ + +/* Property data types */ +#define MQ_MQTYPE_AS_SET 0x00000000 +#define MQ_MQTYPE_NULL 0x00000002 +#define MQ_MQTYPE_BOOLEAN 0x00000004 +#define MQ_MQTYPE_BYTE_STRING 0x00000008 +#define MQ_MQTYPE_INT8 0x00000010 +#define MQ_MQTYPE_INT16 0x00000020 +#define MQ_MQTYPE_INT32 0x00000040 +#define MQ_MQTYPE_LONG 0x00000040 +#define MQ_MQTYPE_INT64 0x00000080 +#define MQ_MQTYPE_FLOAT32 0x00000100 +#define MQ_MQTYPE_FLOAT64 0x00000200 +#define MQ_MQTYPE_STRING 0x00000400 + +/* Property value lengths */ +#define MQ_MQVL_NULL_TERMINATED (-1) +#define MQ_MQVL_EMPTY_STRING 0 + +/****************************************************************/ +/* Values Related to MQSTAT Function */ +/****************************************************************/ + +/* Stat Options */ +#define MQ_MQSTAT_TYPE_ASYNC_ERROR 0 +#define MQ_MQSTAT_TYPE_RECONNECTION 1 +#define MQ_MQSTAT_TYPE_RECONNECTION_ERROR 2 + +/****************************************************************/ +/* Values Related to MQSUB Function */ +/****************************************************************/ + +/* Subscribe Options */ +#define MQ_MQSO_NONE 0x00000000 +#define MQ_MQSO_NON_DURABLE 0x00000000 +#define MQ_MQSO_READ_AHEAD_AS_Q_DEF 0x00000000 +#define MQ_MQSO_ALTER 0x00000001 +#define MQ_MQSO_CREATE 0x00000002 +#define MQ_MQSO_RESUME 0x00000004 +#define MQ_MQSO_DURABLE 0x00000008 +#define MQ_MQSO_GROUP_SUB 0x00000010 +#define MQ_MQSO_MANAGED 0x00000020 +#define MQ_MQSO_SET_IDENTITY_CONTEXT 0x00000040 +#define MQ_MQSO_NO_MULTICAST 0x00000080 +#define MQ_MQSO_FIXED_USERID 0x00000100 +#define MQ_MQSO_ANY_USERID 0x00000200 +#define MQ_MQSO_PUBLICATIONS_ON_REQUEST 0x00000800 +#define MQ_MQSO_NEW_PUBLICATIONS_ONLY 0x00001000 +#define MQ_MQSO_FAIL_IF_QUIESCING 0x00002000 +#define MQ_MQSO_ALTERNATE_USER_AUTHORITY 0x00040000 +#define MQ_MQSO_WILDCARD_CHAR 0x00100000 +#define MQ_MQSO_WILDCARD_TOPIC 0x00200000 +#define MQ_MQSO_SET_CORREL_ID 0x00400000 +#define MQ_MQSO_SCOPE_QMGR 0x04000000 +#define MQ_MQSO_NO_READ_AHEAD 0x08000000 +#define MQ_MQSO_READ_AHEAD 0x10000000 + +/* Command Codes */ +#define MQ_MQCMD_NONE 0 +#define MQ_MQCMD_CHANGE_Q_MGR 1 +#define MQ_MQCMD_INQUIRE_Q_MGR 2 +#define MQ_MQCMD_CHANGE_PROCESS 3 +#define MQ_MQCMD_COPY_PROCESS 4 +#define MQ_MQCMD_CREATE_PROCESS 5 +#define MQ_MQCMD_DELETE_PROCESS 6 +#define MQ_MQCMD_INQUIRE_PROCESS 7 +#define MQ_MQCMD_CHANGE_Q 8 +#define MQ_MQCMD_CLEAR_Q 9 +#define MQ_MQCMD_COPY_Q 10 +#define MQ_MQCMD_CREATE_Q 11 +#define MQ_MQCMD_DELETE_Q 12 +#define MQ_MQCMD_INQUIRE_Q 13 +#define MQ_MQCMD_REFRESH_Q_MGR 16 +#define MQ_MQCMD_RESET_Q_STATS 17 +#define MQ_MQCMD_INQUIRE_Q_NAMES 18 +#define MQ_MQCMD_INQUIRE_PROCESS_NAMES 19 +#define MQ_MQCMD_INQUIRE_CHANNEL_NAMES 20 +#define MQ_MQCMD_CHANGE_CHANNEL 21 +#define MQ_MQCMD_COPY_CHANNEL 22 +#define MQ_MQCMD_CREATE_CHANNEL 23 +#define MQ_MQCMD_DELETE_CHANNEL 24 +#define MQ_MQCMD_INQUIRE_CHANNEL 25 +#define MQ_MQCMD_PING_CHANNEL 26 +#define MQ_MQCMD_RESET_CHANNEL 27 +#define MQ_MQCMD_START_CHANNEL 28 +#define MQ_MQCMD_STOP_CHANNEL 29 +#define MQ_MQCMD_START_CHANNEL_INIT 30 +#define MQ_MQCMD_START_CHANNEL_LISTENER 31 +#define MQ_MQCMD_CHANGE_NAMELIST 32 +#define MQ_MQCMD_COPY_NAMELIST 33 +#define MQ_MQCMD_CREATE_NAMELIST 34 +#define MQ_MQCMD_DELETE_NAMELIST 35 +#define MQ_MQCMD_INQUIRE_NAMELIST 36 +#define MQ_MQCMD_INQUIRE_NAMELIST_NAMES 37 +#define MQ_MQCMD_ESCAPE 38 +#define MQ_MQCMD_RESOLVE_CHANNEL 39 +#define MQ_MQCMD_PING_Q_MGR 40 +#define MQ_MQCMD_INQUIRE_Q_STATUS 41 +#define MQ_MQCMD_INQUIRE_CHANNEL_STATUS 42 +#define MQ_MQCMD_CONFIG_EVENT 43 +#define MQ_MQCMD_Q_MGR_EVENT 44 +#define MQ_MQCMD_PERFM_EVENT 45 +#define MQ_MQCMD_CHANNEL_EVENT 46 +#define MQ_MQCMD_DELETE_PUBLICATION 60 +#define MQ_MQCMD_DEREGISTER_PUBLISHER 61 +#define MQ_MQCMD_DEREGISTER_SUBSCRIBER 62 +#define MQ_MQCMD_PUBLISH 63 +#define MQ_MQCMD_REGISTER_PUBLISHER 64 +#define MQ_MQCMD_REGISTER_SUBSCRIBER 65 +#define MQ_MQCMD_REQUEST_UPDATE 66 +#define MQ_MQCMD_BROKER_INTERNAL 67 +#define MQ_MQCMD_ACTIVITY_MSG 69 +#define MQ_MQCMD_INQUIRE_CLUSTER_Q_MGR 70 +#define MQ_MQCMD_RESUME_Q_MGR_CLUSTER 71 +#define MQ_MQCMD_SUSPEND_Q_MGR_CLUSTER 72 +#define MQ_MQCMD_REFRESH_CLUSTER 73 +#define MQ_MQCMD_RESET_CLUSTER 74 +#define MQ_MQCMD_TRACE_ROUTE 75 +#define MQ_MQCMD_REFRESH_SECURITY 78 +#define MQ_MQCMD_CHANGE_AUTH_INFO 79 +#define MQ_MQCMD_COPY_AUTH_INFO 80 +#define MQ_MQCMD_CREATE_AUTH_INFO 81 +#define MQ_MQCMD_DELETE_AUTH_INFO 82 +#define MQ_MQCMD_INQUIRE_AUTH_INFO 83 +#define MQ_MQCMD_INQUIRE_AUTH_INFO_NAMES 84 +#define MQ_MQCMD_INQUIRE_CONNECTION 85 +#define MQ_MQCMD_STOP_CONNECTION 86 +#define MQ_MQCMD_INQUIRE_AUTH_RECS 87 +#define MQ_MQCMD_INQUIRE_ENTITY_AUTH 88 +#define MQ_MQCMD_DELETE_AUTH_REC 89 +#define MQ_MQCMD_SET_AUTH_REC 90 +#define MQ_MQCMD_LOGGER_EVENT 91 +#define MQ_MQCMD_RESET_Q_MGR 92 +#define MQ_MQCMD_CHANGE_LISTENER 93 +#define MQ_MQCMD_COPY_LISTENER 94 +#define MQ_MQCMD_CREATE_LISTENER 95 +#define MQ_MQCMD_DELETE_LISTENER 96 +#define MQ_MQCMD_INQUIRE_LISTENER 97 +#define MQ_MQCMD_INQUIRE_LISTENER_STATUS 98 +#define MQ_MQCMD_COMMAND_EVENT 99 +#define MQ_MQCMD_CHANGE_SECURITY 100 +#define MQ_MQCMD_CHANGE_CF_STRUC 101 +#define MQ_MQCMD_CHANGE_STG_CLASS 102 +#define MQ_MQCMD_CHANGE_TRACE 103 +#define MQ_MQCMD_ARCHIVE_LOG 104 +#define MQ_MQCMD_BACKUP_CF_STRUC 105 +#define MQ_MQCMD_CREATE_BUFFER_POOL 106 +#define MQ_MQCMD_CREATE_PAGE_SET 107 +#define MQ_MQCMD_CREATE_CF_STRUC 108 +#define MQ_MQCMD_CREATE_STG_CLASS 109 +#define MQ_MQCMD_COPY_CF_STRUC 110 +#define MQ_MQCMD_COPY_STG_CLASS 111 +#define MQ_MQCMD_DELETE_CF_STRUC 112 +#define MQ_MQCMD_DELETE_STG_CLASS 113 +#define MQ_MQCMD_INQUIRE_ARCHIVE 114 +#define MQ_MQCMD_INQUIRE_CF_STRUC 115 +#define MQ_MQCMD_INQUIRE_CF_STRUC_STATUS 116 +#define MQ_MQCMD_INQUIRE_CMD_SERVER 117 +#define MQ_MQCMD_INQUIRE_CHANNEL_INIT 118 +#define MQ_MQCMD_INQUIRE_QSG 119 +#define MQ_MQCMD_INQUIRE_LOG 120 +#define MQ_MQCMD_INQUIRE_SECURITY 121 +#define MQ_MQCMD_INQUIRE_STG_CLASS 122 +#define MQ_MQCMD_INQUIRE_SYSTEM 123 +#define MQ_MQCMD_INQUIRE_THREAD 124 +#define MQ_MQCMD_INQUIRE_TRACE 125 +#define MQ_MQCMD_INQUIRE_USAGE 126 +#define MQ_MQCMD_MOVE_Q 127 +#define MQ_MQCMD_RECOVER_BSDS 128 +#define MQ_MQCMD_RECOVER_CF_STRUC 129 +#define MQ_MQCMD_RESET_TPIPE 130 +#define MQ_MQCMD_RESOLVE_INDOUBT 131 +#define MQ_MQCMD_RESUME_Q_MGR 132 +#define MQ_MQCMD_REVERIFY_SECURITY 133 +#define MQ_MQCMD_SET_ARCHIVE 134 +#define MQ_MQCMD_SET_LOG 136 +#define MQ_MQCMD_SET_SYSTEM 137 +#define MQ_MQCMD_START_CMD_SERVER 138 +#define MQ_MQCMD_START_Q_MGR 139 +#define MQ_MQCMD_START_TRACE 140 +#define MQ_MQCMD_STOP_CHANNEL_INIT 141 +#define MQ_MQCMD_STOP_CHANNEL_LISTENER 142 +#define MQ_MQCMD_STOP_CMD_SERVER 143 +#define MQ_MQCMD_STOP_Q_MGR 144 +#define MQ_MQCMD_STOP_TRACE 145 +#define MQ_MQCMD_SUSPEND_Q_MGR 146 +#define MQ_MQCMD_INQUIRE_CF_STRUC_NAMES 147 +#define MQ_MQCMD_INQUIRE_STG_CLASS_NAMES 148 +#define MQ_MQCMD_CHANGE_SERVICE 149 +#define MQ_MQCMD_COPY_SERVICE 150 +#define MQ_MQCMD_CREATE_SERVICE 151 +#define MQ_MQCMD_DELETE_SERVICE 152 +#define MQ_MQCMD_INQUIRE_SERVICE 153 +#define MQ_MQCMD_INQUIRE_SERVICE_STATUS 154 +#define MQ_MQCMD_START_SERVICE 155 +#define MQ_MQCMD_STOP_SERVICE 156 +#define MQ_MQCMD_DELETE_BUFFER_POOL 157 +#define MQ_MQCMD_DELETE_PAGE_SET 158 +#define MQ_MQCMD_CHANGE_BUFFER_POOL 159 +#define MQ_MQCMD_CHANGE_PAGE_SET 160 +#define MQ_MQCMD_INQUIRE_Q_MGR_STATUS 161 +#define MQ_MQCMD_CREATE_LOG 162 +#define MQ_MQCMD_STATISTICS_MQI 164 +#define MQ_MQCMD_STATISTICS_Q 165 +#define MQ_MQCMD_STATISTICS_CHANNEL 166 +#define MQ_MQCMD_ACCOUNTING_MQI 167 +#define MQ_MQCMD_ACCOUNTING_Q 168 +#define MQ_MQCMD_INQUIRE_AUTH_SERVICE 169 +#define MQ_MQCMD_CHANGE_TOPIC 170 +#define MQ_MQCMD_COPY_TOPIC 171 +#define MQ_MQCMD_CREATE_TOPIC 172 +#define MQ_MQCMD_DELETE_TOPIC 173 +#define MQ_MQCMD_INQUIRE_TOPIC 174 +#define MQ_MQCMD_INQUIRE_TOPIC_NAMES 175 +#define MQ_MQCMD_INQUIRE_SUBSCRIPTION 176 +#define MQ_MQCMD_CREATE_SUBSCRIPTION 177 +#define MQ_MQCMD_CHANGE_SUBSCRIPTION 178 +#define MQ_MQCMD_DELETE_SUBSCRIPTION 179 +#define MQ_MQCMD_COPY_SUBSCRIPTION 181 +#define MQ_MQCMD_INQUIRE_SUB_STATUS 182 +#define MQ_MQCMD_INQUIRE_TOPIC_STATUS 183 +#define MQ_MQCMD_CLEAR_TOPIC_STRING 184 +#define MQ_MQCMD_INQUIRE_PUBSUB_STATUS 185 +#define MQ_MQCMD_INQUIRE_SMDS 186 +#define MQ_MQCMD_CHANGE_SMDS 187 +#define MQ_MQCMD_RESET_SMDS 188 +#define MQ_MQCMD_CREATE_COMM_INFO 190 +#define MQ_MQCMD_INQUIRE_COMM_INFO 191 +#define MQ_MQCMD_CHANGE_COMM_INFO 192 +#define MQ_MQCMD_COPY_COMM_INFO 193 +#define MQ_MQCMD_DELETE_COMM_INFO 194 +#define MQ_MQCMD_PURGE_CHANNEL 195 +#define MQ_MQCMD_MQXR_DIAGNOSTICS 196 +#define MQ_MQCMD_START_SMDSCONN 197 +#define MQ_MQCMD_STOP_SMDSCONN 198 +#define MQ_MQCMD_INQUIRE_SMDSCONN 199 +#define MQ_MQCMD_INQUIRE_MQXR_STATUS 200 +#define MQ_MQCMD_START_CLIENT_TRACE 201 +#define MQ_MQCMD_STOP_CLIENT_TRACE 202 +#define MQ_MQCMD_SET_CHLAUTH_REC 203 +#define MQ_MQCMD_INQUIRE_CHLAUTH_RECS 204 +#define MQ_MQCMD_INQUIRE_PROT_POLICY 205 +#define MQ_MQCMD_CREATE_PROT_POLICY 206 +#define MQ_MQCMD_DELETE_PROT_POLICY 207 +#define MQ_MQCMD_CHANGE_PROT_POLICY 208 +#define MQ_MQCMD_ACTIVITY_TRACE 209 +#define MQ_MQCMD_RESET_CF_STRUC 213 +#define MQ_MQCMD_INQUIRE_XR_CAPABILITY 214 + +/* Control Options */ +#define MQ_MQCFC_LAST 1 +#define MQ_MQCFC_NOT_LAST 0 + +/* Reason Codes */ +#define MQ_MQRCCF_CFH_TYPE_ERROR 3001 +#define MQ_MQRCCF_CFH_LENGTH_ERROR 3002 +#define MQ_MQRCCF_CFH_VERSION_ERROR 3003 +#define MQ_MQRCCF_CFH_MSG_SEQ_NUMBER_ERR 3004 +#define MQ_MQRCCF_CFH_CONTROL_ERROR 3005 +#define MQ_MQRCCF_CFH_PARM_COUNT_ERROR 3006 +#define MQ_MQRCCF_CFH_COMMAND_ERROR 3007 +#define MQ_MQRCCF_COMMAND_FAILED 3008 +#define MQ_MQRCCF_CFIN_LENGTH_ERROR 3009 +#define MQ_MQRCCF_CFST_LENGTH_ERROR 3010 +#define MQ_MQRCCF_CFST_STRING_LENGTH_ERR 3011 +#define MQ_MQRCCF_FORCE_VALUE_ERROR 3012 +#define MQ_MQRCCF_STRUCTURE_TYPE_ERROR 3013 +#define MQ_MQRCCF_CFIN_PARM_ID_ERROR 3014 +#define MQ_MQRCCF_CFST_PARM_ID_ERROR 3015 +#define MQ_MQRCCF_MSG_LENGTH_ERROR 3016 +#define MQ_MQRCCF_CFIN_DUPLICATE_PARM 3017 +#define MQ_MQRCCF_CFST_DUPLICATE_PARM 3018 +#define MQ_MQRCCF_PARM_COUNT_TOO_SMALL 3019 +#define MQ_MQRCCF_PARM_COUNT_TOO_BIG 3020 +#define MQ_MQRCCF_Q_ALREADY_IN_CELL 3021 +#define MQ_MQRCCF_Q_TYPE_ERROR 3022 +#define MQ_MQRCCF_MD_FORMAT_ERROR 3023 +#define MQ_MQRCCF_CFSL_LENGTH_ERROR 3024 +#define MQ_MQRCCF_REPLACE_VALUE_ERROR 3025 +#define MQ_MQRCCF_CFIL_DUPLICATE_VALUE 3026 +#define MQ_MQRCCF_CFIL_COUNT_ERROR 3027 +#define MQ_MQRCCF_CFIL_LENGTH_ERROR 3028 +#define MQ_MQRCCF_QUIESCE_VALUE_ERROR 3029 +#define MQ_MQRCCF_MODE_VALUE_ERROR 3029 +#define MQ_MQRCCF_MSG_SEQ_NUMBER_ERROR 3030 +#define MQ_MQRCCF_PING_DATA_COUNT_ERROR 3031 +#define MQ_MQRCCF_PING_DATA_COMPARE_ERROR 3032 +#define MQ_MQRCCF_CFSL_PARM_ID_ERROR 3033 +#define MQ_MQRCCF_CHANNEL_TYPE_ERROR 3034 +#define MQ_MQRCCF_PARM_SEQUENCE_ERROR 3035 +#define MQ_MQRCCF_XMIT_PROTOCOL_TYPE_ERR 3036 +#define MQ_MQRCCF_BATCH_SIZE_ERROR 3037 +#define MQ_MQRCCF_DISC_INT_ERROR 3038 +#define MQ_MQRCCF_SHORT_RETRY_ERROR 3039 +#define MQ_MQRCCF_SHORT_TIMER_ERROR 3040 +#define MQ_MQRCCF_LONG_RETRY_ERROR 3041 +#define MQ_MQRCCF_LONG_TIMER_ERROR 3042 +#define MQ_MQRCCF_SEQ_NUMBER_WRAP_ERROR 3043 +#define MQ_MQRCCF_MAX_MSG_LENGTH_ERROR 3044 +#define MQ_MQRCCF_PUT_AUTH_ERROR 3045 +#define MQ_MQRCCF_PURGE_VALUE_ERROR 3046 +#define MQ_MQRCCF_CFIL_PARM_ID_ERROR 3047 +#define MQ_MQRCCF_MSG_TRUNCATED 3048 +#define MQ_MQRCCF_CCSID_ERROR 3049 +#define MQ_MQRCCF_ENCODING_ERROR 3050 +#define MQ_MQRCCF_QUEUES_VALUE_ERROR 3051 +#define MQ_MQRCCF_DATA_CONV_VALUE_ERROR 3052 +#define MQ_MQRCCF_INDOUBT_VALUE_ERROR 3053 +#define MQ_MQRCCF_ESCAPE_TYPE_ERROR 3054 +#define MQ_MQRCCF_REPOS_VALUE_ERROR 3055 +#define MQ_MQRCCF_CHANNEL_TABLE_ERROR 3062 +#define MQ_MQRCCF_MCA_TYPE_ERROR 3063 +#define MQ_MQRCCF_CHL_INST_TYPE_ERROR 3064 +#define MQ_MQRCCF_CHL_STATUS_NOT_FOUND 3065 +#define MQ_MQRCCF_CFSL_DUPLICATE_PARM 3066 +#define MQ_MQRCCF_CFSL_TOTAL_LENGTH_ERROR 3067 +#define MQ_MQRCCF_CFSL_COUNT_ERROR 3068 +#define MQ_MQRCCF_CFSL_STRING_LENGTH_ERR 3069 +#define MQ_MQRCCF_BROKER_DELETED 3070 +#define MQ_MQRCCF_STREAM_ERROR 3071 +#define MQ_MQRCCF_TOPIC_ERROR 3072 +#define MQ_MQRCCF_NOT_REGISTERED 3073 +#define MQ_MQRCCF_Q_MGR_NAME_ERROR 3074 +#define MQ_MQRCCF_INCORRECT_STREAM 3075 +#define MQ_MQRCCF_Q_NAME_ERROR 3076 +#define MQ_MQRCCF_NO_RETAINED_MSG 3077 +#define MQ_MQRCCF_DUPLICATE_IDENTITY 3078 +#define MQ_MQRCCF_INCORRECT_Q 3079 +#define MQ_MQRCCF_CORREL_ID_ERROR 3080 +#define MQ_MQRCCF_NOT_AUTHORIZED 3081 +#define MQ_MQRCCF_UNKNOWN_STREAM 3082 +#define MQ_MQRCCF_REG_OPTIONS_ERROR 3083 +#define MQ_MQRCCF_PUB_OPTIONS_ERROR 3084 +#define MQ_MQRCCF_UNKNOWN_BROKER 3085 +#define MQ_MQRCCF_Q_MGR_CCSID_ERROR 3086 +#define MQ_MQRCCF_DEL_OPTIONS_ERROR 3087 +#define MQ_MQRCCF_CLUSTER_NAME_CONFLICT 3088 +#define MQ_MQRCCF_REPOS_NAME_CONFLICT 3089 +#define MQ_MQRCCF_CLUSTER_Q_USAGE_ERROR 3090 +#define MQ_MQRCCF_ACTION_VALUE_ERROR 3091 +#define MQ_MQRCCF_COMMS_LIBRARY_ERROR 3092 +#define MQ_MQRCCF_NETBIOS_NAME_ERROR 3093 +#define MQ_MQRCCF_BROKER_COMMAND_FAILED 3094 +#define MQ_MQRCCF_CFST_CONFLICTING_PARM 3095 +#define MQ_MQRCCF_PATH_NOT_VALID 3096 +#define MQ_MQRCCF_PARM_SYNTAX_ERROR 3097 +#define MQ_MQRCCF_PWD_LENGTH_ERROR 3098 +#define MQ_MQRCCF_FILTER_ERROR 3150 +#define MQ_MQRCCF_WRONG_USER 3151 +#define MQ_MQRCCF_DUPLICATE_SUBSCRIPTION 3152 +#define MQ_MQRCCF_SUB_NAME_ERROR 3153 +#define MQ_MQRCCF_SUB_IDENTITY_ERROR 3154 +#define MQ_MQRCCF_SUBSCRIPTION_IN_USE 3155 +#define MQ_MQRCCF_SUBSCRIPTION_LOCKED 3156 +#define MQ_MQRCCF_ALREADY_JOINED 3157 +#define MQ_MQRCCF_OBJECT_IN_USE 3160 +#define MQ_MQRCCF_UNKNOWN_FILE_NAME 3161 +#define MQ_MQRCCF_FILE_NOT_AVAILABLE 3162 +#define MQ_MQRCCF_DISC_RETRY_ERROR 3163 +#define MQ_MQRCCF_ALLOC_RETRY_ERROR 3164 +#define MQ_MQRCCF_ALLOC_SLOW_TIMER_ERROR 3165 +#define MQ_MQRCCF_ALLOC_FAST_TIMER_ERROR 3166 +#define MQ_MQRCCF_PORT_NUMBER_ERROR 3167 +#define MQ_MQRCCF_CHL_SYSTEM_NOT_ACTIVE 3168 +#define MQ_MQRCCF_ENTITY_NAME_MISSING 3169 +#define MQ_MQRCCF_PROFILE_NAME_ERROR 3170 +#define MQ_MQRCCF_AUTH_VALUE_ERROR 3171 +#define MQ_MQRCCF_AUTH_VALUE_MISSING 3172 +#define MQ_MQRCCF_OBJECT_TYPE_MISSING 3173 +#define MQ_MQRCCF_CONNECTION_ID_ERROR 3174 +#define MQ_MQRCCF_LOG_TYPE_ERROR 3175 +#define MQ_MQRCCF_PROGRAM_NOT_AVAILABLE 3176 +#define MQ_MQRCCF_PROGRAM_AUTH_FAILED 3177 +#define MQ_MQRCCF_NONE_FOUND 3200 +#define MQ_MQRCCF_SECURITY_SWITCH_OFF 3201 +#define MQ_MQRCCF_SECURITY_REFRESH_FAILED 3202 +#define MQ_MQRCCF_PARM_CONFLICT 3203 +#define MQ_MQRCCF_COMMAND_INHIBITED 3204 +#define MQ_MQRCCF_OBJECT_BEING_DELETED 3205 +#define MQ_MQRCCF_STORAGE_CLASS_IN_USE 3207 +#define MQ_MQRCCF_OBJECT_NAME_RESTRICTED 3208 +#define MQ_MQRCCF_OBJECT_LIMIT_EXCEEDED 3209 +#define MQ_MQRCCF_OBJECT_OPEN_FORCE 3210 +#define MQ_MQRCCF_DISPOSITION_CONFLICT 3211 +#define MQ_MQRCCF_Q_MGR_NOT_IN_QSG 3212 +#define MQ_MQRCCF_ATTR_VALUE_FIXED 3213 +#define MQ_MQRCCF_NAMELIST_ERROR 3215 +#define MQ_MQRCCF_NO_CHANNEL_INITIATOR 3217 +#define MQ_MQRCCF_CHANNEL_INITIATOR_ERROR 3218 +#define MQ_MQRCCF_COMMAND_LEVEL_CONFLICT 3222 +#define MQ_MQRCCF_Q_ATTR_CONFLICT 3223 +#define MQ_MQRCCF_EVENTS_DISABLED 3224 +#define MQ_MQRCCF_COMMAND_SCOPE_ERROR 3225 +#define MQ_MQRCCF_COMMAND_REPLY_ERROR 3226 +#define MQ_MQRCCF_FUNCTION_RESTRICTED 3227 +#define MQ_MQRCCF_PARM_MISSING 3228 +#define MQ_MQRCCF_PARM_VALUE_ERROR 3229 +#define MQ_MQRCCF_COMMAND_LENGTH_ERROR 3230 +#define MQ_MQRCCF_COMMAND_ORIGIN_ERROR 3231 +#define MQ_MQRCCF_LISTENER_CONFLICT 3232 +#define MQ_MQRCCF_LISTENER_STARTED 3233 +#define MQ_MQRCCF_LISTENER_STOPPED 3234 +#define MQ_MQRCCF_CHANNEL_ERROR 3235 +#define MQ_MQRCCF_CF_STRUC_ERROR 3236 +#define MQ_MQRCCF_UNKNOWN_USER_ID 3237 +#define MQ_MQRCCF_UNEXPECTED_ERROR 3238 +#define MQ_MQRCCF_NO_XCF_PARTNER 3239 +#define MQ_MQRCCF_CFGR_PARM_ID_ERROR 3240 +#define MQ_MQRCCF_CFIF_LENGTH_ERROR 3241 +#define MQ_MQRCCF_CFIF_OPERATOR_ERROR 3242 +#define MQ_MQRCCF_CFIF_PARM_ID_ERROR 3243 +#define MQ_MQRCCF_CFSF_FILTER_VAL_LEN_ERR 3244 +#define MQ_MQRCCF_CFSF_LENGTH_ERROR 3245 +#define MQ_MQRCCF_CFSF_OPERATOR_ERROR 3246 +#define MQ_MQRCCF_CFSF_PARM_ID_ERROR 3247 +#define MQ_MQRCCF_TOO_MANY_FILTERS 3248 +#define MQ_MQRCCF_LISTENER_RUNNING 3249 +#define MQ_MQRCCF_LSTR_STATUS_NOT_FOUND 3250 +#define MQ_MQRCCF_SERVICE_RUNNING 3251 +#define MQ_MQRCCF_SERV_STATUS_NOT_FOUND 3252 +#define MQ_MQRCCF_SERVICE_STOPPED 3253 +#define MQ_MQRCCF_CFBS_DUPLICATE_PARM 3254 +#define MQ_MQRCCF_CFBS_LENGTH_ERROR 3255 +#define MQ_MQRCCF_CFBS_PARM_ID_ERROR 3256 +#define MQ_MQRCCF_CFBS_STRING_LENGTH_ERR 3257 +#define MQ_MQRCCF_CFGR_LENGTH_ERROR 3258 +#define MQ_MQRCCF_CFGR_PARM_COUNT_ERROR 3259 +#define MQ_MQRCCF_CONN_NOT_STOPPED 3260 +#define MQ_MQRCCF_SERVICE_REQUEST_PENDING 3261 +#define MQ_MQRCCF_NO_START_CMD 3262 +#define MQ_MQRCCF_NO_STOP_CMD 3263 +#define MQ_MQRCCF_CFBF_LENGTH_ERROR 3264 +#define MQ_MQRCCF_CFBF_PARM_ID_ERROR 3265 +#define MQ_MQRCCF_CFBF_OPERATOR_ERROR 3266 +#define MQ_MQRCCF_CFBF_FILTER_VAL_LEN_ERR 3267 +#define MQ_MQRCCF_LISTENER_STILL_ACTIVE 3268 +#define MQ_MQRCCF_DEF_XMIT_Q_CLUS_ERROR 3269 +#define MQ_MQRCCF_TOPICSTR_ALREADY_EXISTS 3300 +#define MQ_MQRCCF_SHARING_CONVS_ERROR 3301 +#define MQ_MQRCCF_SHARING_CONVS_TYPE 3302 +#define MQ_MQRCCF_SECURITY_CASE_CONFLICT 3303 +#define MQ_MQRCCF_TOPIC_TYPE_ERROR 3305 +#define MQ_MQRCCF_MAX_INSTANCES_ERROR 3306 +#define MQ_MQRCCF_MAX_INSTS_PER_CLNT_ERR 3307 +#define MQ_MQRCCF_TOPIC_STRING_NOT_FOUND 3308 +#define MQ_MQRCCF_SUBSCRIPTION_POINT_ERR 3309 +#define MQ_MQRCCF_SUB_ALREADY_EXISTS 3311 +#define MQ_MQRCCF_UNKNOWN_OBJECT_NAME 3312 +#define MQ_MQRCCF_REMOTE_Q_NAME_ERROR 3313 +#define MQ_MQRCCF_DURABILITY_NOT_ALLOWED 3314 +#define MQ_MQRCCF_HOBJ_ERROR 3315 +#define MQ_MQRCCF_DEST_NAME_ERROR 3316 +#define MQ_MQRCCF_INVALID_DESTINATION 3317 +#define MQ_MQRCCF_PUBSUB_INHIBITED 3318 +#define MQ_MQRCCF_GROUPUR_CHECKS_FAILED 3319 +#define MQ_MQRCCF_COMM_INFO_TYPE_ERROR 3320 +#define MQ_MQRCCF_USE_CLIENT_ID_ERROR 3321 +#define MQ_MQRCCF_CLIENT_ID_NOT_FOUND 3322 +#define MQ_MQRCCF_CLIENT_ID_ERROR 3323 +#define MQ_MQRCCF_PORT_IN_USE 3324 +#define MQ_MQRCCF_SSL_ALT_PROVIDER_REQD 3325 +#define MQ_MQRCCF_CHLAUTH_TYPE_ERROR 3326 +#define MQ_MQRCCF_CHLAUTH_ACTION_ERROR 3327 +#define MQ_MQRCCF_POLICY_NOT_FOUND 3328 +#define MQ_MQRCCF_ENCRYPTION_ALG_ERROR 3329 +#define MQ_MQRCCF_SIGNATURE_ALG_ERROR 3330 +#define MQ_MQRCCF_TOLERATION_POL_ERROR 3331 +#define MQ_MQRCCF_POLICY_VERSION_ERROR 3332 +#define MQ_MQRCCF_RECIPIENT_DN_MISSING 3333 +#define MQ_MQRCCF_POLICY_NAME_MISSING 3334 +#define MQ_MQRCCF_CHLAUTH_USERSRC_ERROR 3335 +#define MQ_MQRCCF_WRONG_CHLAUTH_TYPE 3336 +#define MQ_MQRCCF_CHLAUTH_ALREADY_EXISTS 3337 +#define MQ_MQRCCF_CHLAUTH_NOT_FOUND 3338 +#define MQ_MQRCCF_WRONG_CHLAUTH_ACTION 3339 +#define MQ_MQRCCF_WRONG_CHLAUTH_USERSRC 3340 +#define MQ_MQRCCF_CHLAUTH_WARN_ERROR 3341 +#define MQ_MQRCCF_WRONG_CHLAUTH_MATCH 3342 +#define MQ_MQRCCF_IPADDR_RANGE_CONFLICT 3343 +#define MQ_MQRCCF_CHLAUTH_MAX_EXCEEDED 3344 +#define MQ_MQRCCF_IPADDR_ERROR 3345 +#define MQ_MQRCCF_IPADDR_RANGE_ERROR 3346 +#define MQ_MQRCCF_PROFILE_NAME_MISSING 3347 +#define MQ_MQRCCF_CHLAUTH_CLNTUSER_ERROR 3348 +#define MQ_MQRCCF_CHLAUTH_NAME_ERROR 3349 +#define MQ_MQRCCF_CHLAUTH_RUNCHECK_ERROR 3350 +#define MQ_MQRCCF_CF_STRUC_ALREADY_FAILED 3351 +#define MQ_MQRCCF_CFCONLOS_CHECKS_FAILED 3352 +#define MQ_MQRCCF_SUITE_B_ERROR 3353 +#define MQ_MQRCCF_CHANNEL_NOT_STARTED 3354 +#define MQ_MQRCCF_CUSTOM_ERROR 3355 +#define MQ_MQRCCF_BACKLOG_OUT_OF_RANGE 3356 +#define MQ_MQRCCF_CHLAUTH_DISABLED 3357 +#define MQ_MQRCCF_SMDS_REQUIRES_DSGROUP 3358 +#define MQ_MQRCCF_PSCLUS_DISABLED_TOPDEF 3359 +#define MQ_MQRCCF_PSCLUS_TOPIC_EXISTS 3360 +#define MQ_MQRCCF_SSL_CIPHER_SUITE_ERROR 3361 +#define MQ_MQRCCF_SOCKET_ERROR 3362 +#define MQ_MQRCCF_CLUS_XMIT_Q_USAGE_ERROR 3363 +#define MQ_MQRCCF_CERT_VAL_POLICY_ERROR 3364 +#define MQ_MQRCCF_OBJECT_ALREADY_EXISTS 4001 +#define MQ_MQRCCF_OBJECT_WRONG_TYPE 4002 +#define MQ_MQRCCF_LIKE_OBJECT_WRONG_TYPE 4003 +#define MQ_MQRCCF_OBJECT_OPEN 4004 +#define MQ_MQRCCF_ATTR_VALUE_ERROR 4005 +#define MQ_MQRCCF_UNKNOWN_Q_MGR 4006 +#define MQ_MQRCCF_Q_WRONG_TYPE 4007 +#define MQ_MQRCCF_OBJECT_NAME_ERROR 4008 +#define MQ_MQRCCF_ALLOCATE_FAILED 4009 +#define MQ_MQRCCF_HOST_NOT_AVAILABLE 4010 +#define MQ_MQRCCF_CONFIGURATION_ERROR 4011 +#define MQ_MQRCCF_CONNECTION_REFUSED 4012 +#define MQ_MQRCCF_ENTRY_ERROR 4013 +#define MQ_MQRCCF_SEND_FAILED 4014 +#define MQ_MQRCCF_RECEIVED_DATA_ERROR 4015 +#define MQ_MQRCCF_RECEIVE_FAILED 4016 +#define MQ_MQRCCF_CONNECTION_CLOSED 4017 +#define MQ_MQRCCF_NO_STORAGE 4018 +#define MQ_MQRCCF_NO_COMMS_MANAGER 4019 +#define MQ_MQRCCF_LISTENER_NOT_STARTED 4020 +#define MQ_MQRCCF_BIND_FAILED 4024 +#define MQ_MQRCCF_CHANNEL_INDOUBT 4025 +#define MQ_MQRCCF_MQCONN_FAILED 4026 +#define MQ_MQRCCF_MQOPEN_FAILED 4027 +#define MQ_MQRCCF_MQGET_FAILED 4028 +#define MQ_MQRCCF_MQPUT_FAILED 4029 +#define MQ_MQRCCF_PING_ERROR 4030 +#define MQ_MQRCCF_CHANNEL_IN_USE 4031 +#define MQ_MQRCCF_CHANNEL_NOT_FOUND 4032 +#define MQ_MQRCCF_UNKNOWN_REMOTE_CHANNEL 4033 +#define MQ_MQRCCF_REMOTE_QM_UNAVAILABLE 4034 +#define MQ_MQRCCF_REMOTE_QM_TERMINATING 4035 +#define MQ_MQRCCF_MQINQ_FAILED 4036 +#define MQ_MQRCCF_NOT_XMIT_Q 4037 +#define MQ_MQRCCF_CHANNEL_DISABLED 4038 +#define MQ_MQRCCF_USER_EXIT_NOT_AVAILABLE 4039 +#define MQ_MQRCCF_COMMIT_FAILED 4040 +#define MQ_MQRCCF_WRONG_CHANNEL_TYPE 4041 +#define MQ_MQRCCF_CHANNEL_ALREADY_EXISTS 4042 +#define MQ_MQRCCF_DATA_TOO_LARGE 4043 +#define MQ_MQRCCF_CHANNEL_NAME_ERROR 4044 +#define MQ_MQRCCF_XMIT_Q_NAME_ERROR 4045 +#define MQ_MQRCCF_MCA_NAME_ERROR 4047 +#define MQ_MQRCCF_SEND_EXIT_NAME_ERROR 4048 +#define MQ_MQRCCF_SEC_EXIT_NAME_ERROR 4049 +#define MQ_MQRCCF_MSG_EXIT_NAME_ERROR 4050 +#define MQ_MQRCCF_RCV_EXIT_NAME_ERROR 4051 +#define MQ_MQRCCF_XMIT_Q_NAME_WRONG_TYPE 4052 +#define MQ_MQRCCF_MCA_NAME_WRONG_TYPE 4053 +#define MQ_MQRCCF_DISC_INT_WRONG_TYPE 4054 +#define MQ_MQRCCF_SHORT_RETRY_WRONG_TYPE 4055 +#define MQ_MQRCCF_SHORT_TIMER_WRONG_TYPE 4056 +#define MQ_MQRCCF_LONG_RETRY_WRONG_TYPE 4057 +#define MQ_MQRCCF_LONG_TIMER_WRONG_TYPE 4058 +#define MQ_MQRCCF_PUT_AUTH_WRONG_TYPE 4059 +#define MQ_MQRCCF_KEEP_ALIVE_INT_ERROR 4060 +#define MQ_MQRCCF_MISSING_CONN_NAME 4061 +#define MQ_MQRCCF_CONN_NAME_ERROR 4062 +#define MQ_MQRCCF_MQSET_FAILED 4063 +#define MQ_MQRCCF_CHANNEL_NOT_ACTIVE 4064 +#define MQ_MQRCCF_TERMINATED_BY_SEC_EXIT 4065 +#define MQ_MQRCCF_DYNAMIC_Q_SCOPE_ERROR 4067 +#define MQ_MQRCCF_CELL_DIR_NOT_AVAILABLE 4068 +#define MQ_MQRCCF_MR_COUNT_ERROR 4069 +#define MQ_MQRCCF_MR_COUNT_WRONG_TYPE 4070 +#define MQ_MQRCCF_MR_EXIT_NAME_ERROR 4071 +#define MQ_MQRCCF_MR_EXIT_NAME_WRONG_TYPE 4072 +#define MQ_MQRCCF_MR_INTERVAL_ERROR 4073 +#define MQ_MQRCCF_MR_INTERVAL_WRONG_TYPE 4074 +#define MQ_MQRCCF_NPM_SPEED_ERROR 4075 +#define MQ_MQRCCF_NPM_SPEED_WRONG_TYPE 4076 +#define MQ_MQRCCF_HB_INTERVAL_ERROR 4077 +#define MQ_MQRCCF_HB_INTERVAL_WRONG_TYPE 4078 +#define MQ_MQRCCF_CHAD_ERROR 4079 +#define MQ_MQRCCF_CHAD_WRONG_TYPE 4080 +#define MQ_MQRCCF_CHAD_EVENT_ERROR 4081 +#define MQ_MQRCCF_CHAD_EVENT_WRONG_TYPE 4082 +#define MQ_MQRCCF_CHAD_EXIT_ERROR 4083 +#define MQ_MQRCCF_CHAD_EXIT_WRONG_TYPE 4084 +#define MQ_MQRCCF_SUPPRESSED_BY_EXIT 4085 +#define MQ_MQRCCF_BATCH_INT_ERROR 4086 +#define MQ_MQRCCF_BATCH_INT_WRONG_TYPE 4087 +#define MQ_MQRCCF_NET_PRIORITY_ERROR 4088 +#define MQ_MQRCCF_NET_PRIORITY_WRONG_TYPE 4089 +#define MQ_MQRCCF_CHANNEL_CLOSED 4090 +#define MQ_MQRCCF_Q_STATUS_NOT_FOUND 4091 +#define MQ_MQRCCF_SSL_CIPHER_SPEC_ERROR 4092 +#define MQ_MQRCCF_SSL_PEER_NAME_ERROR 4093 +#define MQ_MQRCCF_SSL_CLIENT_AUTH_ERROR 4094 +#define MQ_MQRCCF_RETAINED_NOT_SUPPORTED 4095 + +/* Flags */ +#define MQ_MQEPH_NONE 0x00000000 +#define MQ_MQEPH_CCSID_EMBEDDED 0x00000001 + +/* Filter Operators */ +#define MQ_MQCFOP_LESS 1 +#define MQ_MQCFOP_EQUAL 2 +#define MQ_MQCFOP_GREATER 4 +#define MQ_MQCFOP_NOT_LESS 6 +#define MQ_MQCFOP_NOT_EQUAL 5 +#define MQ_MQCFOP_NOT_GREATER 3 +#define MQ_MQCFOP_LIKE 18 +#define MQ_MQCFOP_NOT_LIKE 21 +#define MQ_MQCFOP_CONTAINS 10 +#define MQ_MQCFOP_EXCLUDES 13 +#define MQ_MQCFOP_CONTAINS_GEN 26 +#define MQ_MQCFOP_EXCLUDES_GEN 29 + +/* Types of Structure */ +#define MQ_MQCFT_NONE 0 +#define MQ_MQCFT_COMMAND 1 +#define MQ_MQCFT_RESPONSE 2 +#define MQ_MQCFT_INTEGER 3 +#define MQ_MQCFT_STRING 4 +#define MQ_MQCFT_INTEGER_LIST 5 +#define MQ_MQCFT_STRING_LIST 6 +#define MQ_MQCFT_EVENT 7 +#define MQ_MQCFT_USER 8 +#define MQ_MQCFT_BYTE_STRING 9 +#define MQ_MQCFT_TRACE_ROUTE 10 +#define MQ_MQCFT_REPORT 12 +#define MQ_MQCFT_INTEGER_FILTER 13 +#define MQ_MQCFT_STRING_FILTER 14 +#define MQ_MQCFT_BYTE_STRING_FILTER 15 +#define MQ_MQCFT_COMMAND_XR 16 +#define MQ_MQCFT_XR_MSG 17 +#define MQ_MQCFT_XR_ITEM 18 +#define MQ_MQCFT_XR_SUMMARY 19 +#define MQ_MQCFT_GROUP 20 +#define MQ_MQCFT_STATISTICS 21 +#define MQ_MQCFT_ACCOUNTING 22 +#define MQ_MQCFT_INTEGER64 23 +#define MQ_MQCFT_INTEGER64_LIST 25 +#define MQ_MQCFT_APP_ACTIVITY 26 + +/* Major Release Function */ +#define MQ_MQOPMODE_COMPAT 0 +#define MQ_MQOPMODE_NEW_FUNCTION 1 + +/****************************************************************/ +/* Values Related to Byte Parameter Structures */ +/****************************************************************/ + +/* Byte Parameter Types */ +#define MQ_MQBACF_FIRST 7001 +#define MQ_MQBACF_EVENT_ACCOUNTING_TOKEN 7001 +#define MQ_MQBACF_EVENT_SECURITY_ID 7002 +#define MQ_MQBACF_RESPONSE_SET 7003 +#define MQ_MQBACF_RESPONSE_ID 7004 +#define MQ_MQBACF_EXTERNAL_UOW_ID 7005 +#define MQ_MQBACF_CONNECTION_ID 7006 +#define MQ_MQBACF_GENERIC_CONNECTION_ID 7007 +#define MQ_MQBACF_ORIGIN_UOW_ID 7008 +#define MQ_MQBACF_Q_MGR_UOW_ID 7009 +#define MQ_MQBACF_ACCOUNTING_TOKEN 7010 +#define MQ_MQBACF_CORREL_ID 7011 +#define MQ_MQBACF_GROUP_ID 7012 +#define MQ_MQBACF_MSG_ID 7013 +#define MQ_MQBACF_CF_LEID 7014 +#define MQ_MQBACF_DESTINATION_CORREL_ID 7015 +#define MQ_MQBACF_SUB_ID 7016 +#define MQ_MQBACF_ALTERNATE_SECURITYID 7019 +#define MQ_MQBACF_MESSAGE_DATA 7020 +#define MQ_MQBACF_MQBO_STRUCT 7021 +#define MQ_MQBACF_MQCB_FUNCTION 7022 +#define MQ_MQBACF_MQCBC_STRUCT 7023 +#define MQ_MQBACF_MQCBD_STRUCT 7024 +#define MQ_MQBACF_MQCD_STRUCT 7025 +#define MQ_MQBACF_MQCNO_STRUCT 7026 +#define MQ_MQBACF_MQGMO_STRUCT 7027 +#define MQ_MQBACF_MQMD_STRUCT 7028 +#define MQ_MQBACF_MQPMO_STRUCT 7029 +#define MQ_MQBACF_MQSD_STRUCT 7030 +#define MQ_MQBACF_MQSTS_STRUCT 7031 +#define MQ_MQBACF_SUB_CORREL_ID 7032 +#define MQ_MQBACF_XA_XID 7033 +#define MQ_MQBACF_XQH_CORREL_ID 7034 +#define MQ_MQBACF_XQH_MSG_ID 7035 +#define MQ_MQBACF_LAST_USED 7035 + +/****************************************************************/ +/* Values Related to Integer Parameter Structures */ +/****************************************************************/ + +/* Integer Monitoring Parameter Types */ +#define MQ_MQIAMO_FIRST 701 +#define MQ_MQIAMO_AVG_BATCH_SIZE 702 +#define MQ_MQIAMO_AVG_Q_TIME 703 +#define MQ_MQIAMO_BACKOUTS 704 +#define MQ_MQIAMO_BROWSES 705 +#define MQ_MQIAMO_BROWSE_MAX_BYTES 706 +#define MQ_MQIAMO_BROWSE_MIN_BYTES 707 +#define MQ_MQIAMO_BROWSES_FAILED 708 +#define MQ_MQIAMO_CLOSES 709 +#define MQ_MQIAMO_COMMITS 710 +#define MQ_MQIAMO_COMMITS_FAILED 711 +#define MQ_MQIAMO_CONNS 712 +#define MQ_MQIAMO_CONNS_MAX 713 +#define MQ_MQIAMO_DISCS 714 +#define MQ_MQIAMO_DISCS_IMPLICIT 715 +#define MQ_MQIAMO_DISC_TYPE 716 +#define MQ_MQIAMO_EXIT_TIME_AVG 717 +#define MQ_MQIAMO_EXIT_TIME_MAX 718 +#define MQ_MQIAMO_EXIT_TIME_MIN 719 +#define MQ_MQIAMO_FULL_BATCHES 720 +#define MQ_MQIAMO_GENERATED_MSGS 721 +#define MQ_MQIAMO_GETS 722 +#define MQ_MQIAMO_GET_MAX_BYTES 723 +#define MQ_MQIAMO_GET_MIN_BYTES 724 +#define MQ_MQIAMO_GETS_FAILED 725 +#define MQ_MQIAMO_INCOMPLETE_BATCHES 726 +#define MQ_MQIAMO_INQS 727 +#define MQ_MQIAMO_MSGS 728 +#define MQ_MQIAMO_NET_TIME_AVG 729 +#define MQ_MQIAMO_NET_TIME_MAX 730 +#define MQ_MQIAMO_NET_TIME_MIN 731 +#define MQ_MQIAMO_OBJECT_COUNT 732 +#define MQ_MQIAMO_OPENS 733 +#define MQ_MQIAMO_PUT1S 734 +#define MQ_MQIAMO_PUTS 735 +#define MQ_MQIAMO_PUT_MAX_BYTES 736 +#define MQ_MQIAMO_PUT_MIN_BYTES 737 +#define MQ_MQIAMO_PUT_RETRIES 738 +#define MQ_MQIAMO_Q_MAX_DEPTH 739 +#define MQ_MQIAMO_Q_MIN_DEPTH 740 +#define MQ_MQIAMO_Q_TIME_AVG 741 +#define MQ_MQIAMO_Q_TIME_MAX 742 +#define MQ_MQIAMO_Q_TIME_MIN 743 +#define MQ_MQIAMO_SETS 744 +#define MQ_MQIAMO_CONNS_FAILED 749 +#define MQ_MQIAMO_OPENS_FAILED 751 +#define MQ_MQIAMO_INQS_FAILED 752 +#define MQ_MQIAMO_SETS_FAILED 753 +#define MQ_MQIAMO_PUTS_FAILED 754 +#define MQ_MQIAMO_PUT1S_FAILED 755 +#define MQ_MQIAMO_CLOSES_FAILED 757 +#define MQ_MQIAMO_MSGS_EXPIRED 758 +#define MQ_MQIAMO_MSGS_NOT_QUEUED 759 +#define MQ_MQIAMO_MSGS_PURGED 760 +#define MQ_MQIAMO_SUBS_DUR 764 +#define MQ_MQIAMO_SUBS_NDUR 765 +#define MQ_MQIAMO_SUBS_FAILED 766 +#define MQ_MQIAMO_SUBRQS 767 +#define MQ_MQIAMO_SUBRQS_FAILED 768 +#define MQ_MQIAMO_CBS 769 +#define MQ_MQIAMO_CBS_FAILED 770 +#define MQ_MQIAMO_CTLS 771 +#define MQ_MQIAMO_CTLS_FAILED 772 +#define MQ_MQIAMO_STATS 773 +#define MQ_MQIAMO_STATS_FAILED 774 +#define MQ_MQIAMO_SUB_DUR_HIGHWATER 775 +#define MQ_MQIAMO_SUB_DUR_LOWWATER 776 +#define MQ_MQIAMO_SUB_NDUR_HIGHWATER 777 +#define MQ_MQIAMO_SUB_NDUR_LOWWATER 778 +#define MQ_MQIAMO_TOPIC_PUTS 779 +#define MQ_MQIAMO_TOPIC_PUTS_FAILED 780 +#define MQ_MQIAMO_TOPIC_PUT1S 781 +#define MQ_MQIAMO_TOPIC_PUT1S_FAILED 782 +#define MQ_MQIAMO_PUBLISH_MSG_COUNT 784 +#define MQ_MQIAMO_UNSUBS_DUR 786 +#define MQ_MQIAMO_UNSUBS_NDUR 787 +#define MQ_MQIAMO_UNSUBS_FAILED 788 +#define MQ_MQIAMO_INTERVAL 789 +#define MQ_MQIAMO_MSGS_SENT 790 +#define MQ_MQIAMO_BYTES_SENT 791 +#define MQ_MQIAMO_REPAIR_BYTES 792 +#define MQ_MQIAMO_FEEDBACK_MODE 793 +#define MQ_MQIAMO_RELIABILITY_TYPE 794 +#define MQ_MQIAMO_LATE_JOIN_MARK 795 +#define MQ_MQIAMO_NACKS_RCVD 796 +#define MQ_MQIAMO_REPAIR_PKTS 797 +#define MQ_MQIAMO_HISTORY_PKTS 798 +#define MQ_MQIAMO_PENDING_PKTS 799 +#define MQ_MQIAMO_PKT_RATE 800 +#define MQ_MQIAMO_MCAST_XMIT_RATE 801 +#define MQ_MQIAMO_MCAST_BATCH_TIME 802 +#define MQ_MQIAMO_MCAST_HEARTBEAT 803 +#define MQ_MQIAMO_DEST_DATA_PORT 804 +#define MQ_MQIAMO_DEST_REPAIR_PORT 805 +#define MQ_MQIAMO_ACKS_RCVD 806 +#define MQ_MQIAMO_ACTIVE_ACKERS 807 +#define MQ_MQIAMO_PKTS_SENT 808 +#define MQ_MQIAMO_TOTAL_REPAIR_PKTS 809 +#define MQ_MQIAMO_TOTAL_PKTS_SENT 810 +#define MQ_MQIAMO_TOTAL_MSGS_SENT 811 +#define MQ_MQIAMO_TOTAL_BYTES_SENT 812 +#define MQ_MQIAMO_NUM_STREAMS 813 +#define MQ_MQIAMO_ACK_FEEDBACK 814 +#define MQ_MQIAMO_NACK_FEEDBACK 815 +#define MQ_MQIAMO_PKTS_LOST 816 +#define MQ_MQIAMO_MSGS_RCVD 817 +#define MQ_MQIAMO_MSG_BYTES_RCVD 818 +#define MQ_MQIAMO_MSGS_DELIVERED 819 +#define MQ_MQIAMO_PKTS_PROCESSED 820 +#define MQ_MQIAMO_PKTS_DELIVERED 821 +#define MQ_MQIAMO_PKTS_DROPPED 822 +#define MQ_MQIAMO_PKTS_DUPLICATED 823 +#define MQ_MQIAMO_NACKS_CREATED 824 +#define MQ_MQIAMO_NACK_PKTS_SENT 825 +#define MQ_MQIAMO_REPAIR_PKTS_RQSTD 826 +#define MQ_MQIAMO_REPAIR_PKTS_RCVD 827 +#define MQ_MQIAMO_PKTS_REPAIRED 828 +#define MQ_MQIAMO_TOTAL_MSGS_RCVD 829 +#define MQ_MQIAMO_TOTAL_MSG_BYTES_RCVD 830 +#define MQ_MQIAMO_TOTAL_REPAIR_PKTS_RCVD 831 +#define MQ_MQIAMO_TOTAL_REPAIR_PKTS_RQSTD 832 +#define MQ_MQIAMO_TOTAL_MSGS_PROCESSED 833 +#define MQ_MQIAMO_TOTAL_MSGS_SELECTED 834 +#define MQ_MQIAMO_TOTAL_MSGS_EXPIRED 835 +#define MQ_MQIAMO_TOTAL_MSGS_DELIVERED 836 +#define MQ_MQIAMO_TOTAL_MSGS_RETURNED 837 +#define MQ_MQIAMO_LAST_USED 837 + +/* 64-bit Integer Monitoring Parameter Types */ +#define MQ_MQIAMO64_AVG_Q_TIME 703 +#define MQ_MQIAMO64_Q_TIME_AVG 741 +#define MQ_MQIAMO64_Q_TIME_MAX 742 +#define MQ_MQIAMO64_Q_TIME_MIN 743 +#define MQ_MQIAMO64_BROWSE_BYTES 745 +#define MQ_MQIAMO64_BYTES 746 +#define MQ_MQIAMO64_GET_BYTES 747 +#define MQ_MQIAMO64_PUT_BYTES 748 +#define MQ_MQIAMO64_TOPIC_PUT_BYTES 783 +#define MQ_MQIAMO64_PUBLISH_MSG_BYTES 785 +#define MQ_MQIAMO64_HIGHRES_TIME 838 + +/* Integer Parameter Types */ +#define MQ_MQIACF_FIRST 1001 +#define MQ_MQIACF_Q_MGR_ATTRS 1001 +#define MQ_MQIACF_Q_ATTRS 1002 +#define MQ_MQIACF_PROCESS_ATTRS 1003 +#define MQ_MQIACF_NAMELIST_ATTRS 1004 +#define MQ_MQIACF_FORCE 1005 +#define MQ_MQIACF_REPLACE 1006 +#define MQ_MQIACF_PURGE 1007 +#define MQ_MQIACF_QUIESCE 1008 +#define MQ_MQIACF_MODE 1008 +#define MQ_MQIACF_ALL 1009 +#define MQ_MQIACF_EVENT_APPL_TYPE 1010 +#define MQ_MQIACF_EVENT_ORIGIN 1011 +#define MQ_MQIACF_PARAMETER_ID 1012 +#define MQ_MQIACF_ERROR_ID 1013 +#define MQ_MQIACF_ERROR_IDENTIFIER 1013 +#define MQ_MQIACF_SELECTOR 1014 +#define MQ_MQIACF_CHANNEL_ATTRS 1015 +#define MQ_MQIACF_OBJECT_TYPE 1016 +#define MQ_MQIACF_ESCAPE_TYPE 1017 +#define MQ_MQIACF_ERROR_OFFSET 1018 +#define MQ_MQIACF_AUTH_INFO_ATTRS 1019 +#define MQ_MQIACF_REASON_QUALIFIER 1020 +#define MQ_MQIACF_COMMAND 1021 +#define MQ_MQIACF_OPEN_OPTIONS 1022 +#define MQ_MQIACF_OPEN_TYPE 1023 +#define MQ_MQIACF_PROCESS_ID 1024 +#define MQ_MQIACF_THREAD_ID 1025 +#define MQ_MQIACF_Q_STATUS_ATTRS 1026 +#define MQ_MQIACF_UNCOMMITTED_MSGS 1027 +#define MQ_MQIACF_HANDLE_STATE 1028 +#define MQ_MQIACF_AUX_ERROR_DATA_INT_1 1070 +#define MQ_MQIACF_AUX_ERROR_DATA_INT_2 1071 +#define MQ_MQIACF_CONV_REASON_CODE 1072 +#define MQ_MQIACF_BRIDGE_TYPE 1073 +#define MQ_MQIACF_INQUIRY 1074 +#define MQ_MQIACF_WAIT_INTERVAL 1075 +#define MQ_MQIACF_OPTIONS 1076 +#define MQ_MQIACF_BROKER_OPTIONS 1077 +#define MQ_MQIACF_REFRESH_TYPE 1078 +#define MQ_MQIACF_SEQUENCE_NUMBER 1079 +#define MQ_MQIACF_INTEGER_DATA 1080 +#define MQ_MQIACF_REGISTRATION_OPTIONS 1081 +#define MQ_MQIACF_PUBLICATION_OPTIONS 1082 +#define MQ_MQIACF_CLUSTER_INFO 1083 +#define MQ_MQIACF_Q_MGR_DEFINITION_TYPE 1084 +#define MQ_MQIACF_Q_MGR_TYPE 1085 +#define MQ_MQIACF_ACTION 1086 +#define MQ_MQIACF_SUSPEND 1087 +#define MQ_MQIACF_BROKER_COUNT 1088 +#define MQ_MQIACF_APPL_COUNT 1089 +#define MQ_MQIACF_ANONYMOUS_COUNT 1090 +#define MQ_MQIACF_REG_REG_OPTIONS 1091 +#define MQ_MQIACF_DELETE_OPTIONS 1092 +#define MQ_MQIACF_CLUSTER_Q_MGR_ATTRS 1093 +#define MQ_MQIACF_REFRESH_INTERVAL 1094 +#define MQ_MQIACF_REFRESH_REPOSITORY 1095 +#define MQ_MQIACF_REMOVE_QUEUES 1096 +#define MQ_MQIACF_OPEN_INPUT_TYPE 1098 +#define MQ_MQIACF_OPEN_OUTPUT 1099 +#define MQ_MQIACF_OPEN_SET 1100 +#define MQ_MQIACF_OPEN_INQUIRE 1101 +#define MQ_MQIACF_OPEN_BROWSE 1102 +#define MQ_MQIACF_Q_STATUS_TYPE 1103 +#define MQ_MQIACF_Q_HANDLE 1104 +#define MQ_MQIACF_Q_STATUS 1105 +#define MQ_MQIACF_SECURITY_TYPE 1106 +#define MQ_MQIACF_CONNECTION_ATTRS 1107 +#define MQ_MQIACF_CONNECT_OPTIONS 1108 +#define MQ_MQIACF_CONN_INFO_TYPE 1110 +#define MQ_MQIACF_CONN_INFO_CONN 1111 +#define MQ_MQIACF_CONN_INFO_HANDLE 1112 +#define MQ_MQIACF_CONN_INFO_ALL 1113 +#define MQ_MQIACF_AUTH_PROFILE_ATTRS 1114 +#define MQ_MQIACF_AUTHORIZATION_LIST 1115 +#define MQ_MQIACF_AUTH_ADD_AUTHS 1116 +#define MQ_MQIACF_AUTH_REMOVE_AUTHS 1117 +#define MQ_MQIACF_ENTITY_TYPE 1118 +#define MQ_MQIACF_COMMAND_INFO 1120 +#define MQ_MQIACF_CMDSCOPE_Q_MGR_COUNT 1121 +#define MQ_MQIACF_Q_MGR_SYSTEM 1122 +#define MQ_MQIACF_Q_MGR_EVENT 1123 +#define MQ_MQIACF_Q_MGR_DQM 1124 +#define MQ_MQIACF_Q_MGR_CLUSTER 1125 +#define MQ_MQIACF_QSG_DISPS 1126 +#define MQ_MQIACF_UOW_STATE 1128 +#define MQ_MQIACF_SECURITY_ITEM 1129 +#define MQ_MQIACF_CF_STRUC_STATUS 1130 +#define MQ_MQIACF_UOW_TYPE 1132 +#define MQ_MQIACF_CF_STRUC_ATTRS 1133 +#define MQ_MQIACF_EXCLUDE_INTERVAL 1134 +#define MQ_MQIACF_CF_STATUS_TYPE 1135 +#define MQ_MQIACF_CF_STATUS_SUMMARY 1136 +#define MQ_MQIACF_CF_STATUS_CONNECT 1137 +#define MQ_MQIACF_CF_STATUS_BACKUP 1138 +#define MQ_MQIACF_CF_STRUC_TYPE 1139 +#define MQ_MQIACF_CF_STRUC_SIZE_MAX 1140 +#define MQ_MQIACF_CF_STRUC_SIZE_USED 1141 +#define MQ_MQIACF_CF_STRUC_ENTRIES_MAX 1142 +#define MQ_MQIACF_CF_STRUC_ENTRIES_USED 1143 +#define MQ_MQIACF_CF_STRUC_BACKUP_SIZE 1144 +#define MQ_MQIACF_MOVE_TYPE 1145 +#define MQ_MQIACF_MOVE_TYPE_MOVE 1146 +#define MQ_MQIACF_MOVE_TYPE_ADD 1147 +#define MQ_MQIACF_Q_MGR_NUMBER 1148 +#define MQ_MQIACF_Q_MGR_STATUS 1149 +#define MQ_MQIACF_DB2_CONN_STATUS 1150 +#define MQ_MQIACF_SECURITY_ATTRS 1151 +#define MQ_MQIACF_SECURITY_TIMEOUT 1152 +#define MQ_MQIACF_SECURITY_INTERVAL 1153 +#define MQ_MQIACF_SECURITY_SWITCH 1154 +#define MQ_MQIACF_SECURITY_SETTING 1155 +#define MQ_MQIACF_STORAGE_CLASS_ATTRS 1156 +#define MQ_MQIACF_USAGE_TYPE 1157 +#define MQ_MQIACF_BUFFER_POOL_ID 1158 +#define MQ_MQIACF_USAGE_TOTAL_PAGES 1159 +#define MQ_MQIACF_USAGE_UNUSED_PAGES 1160 +#define MQ_MQIACF_USAGE_PERSIST_PAGES 1161 +#define MQ_MQIACF_USAGE_NONPERSIST_PAGES 1162 +#define MQ_MQIACF_USAGE_RESTART_EXTENTS 1163 +#define MQ_MQIACF_USAGE_EXPAND_COUNT 1164 +#define MQ_MQIACF_PAGESET_STATUS 1165 +#define MQ_MQIACF_USAGE_TOTAL_BUFFERS 1166 +#define MQ_MQIACF_USAGE_DATA_SET_TYPE 1167 +#define MQ_MQIACF_USAGE_PAGESET 1168 +#define MQ_MQIACF_USAGE_DATA_SET 1169 +#define MQ_MQIACF_USAGE_BUFFER_POOL 1170 +#define MQ_MQIACF_MOVE_COUNT 1171 +#define MQ_MQIACF_EXPIRY_Q_COUNT 1172 +#define MQ_MQIACF_CONFIGURATION_OBJECTS 1173 +#define MQ_MQIACF_CONFIGURATION_EVENTS 1174 +#define MQ_MQIACF_SYSP_TYPE 1175 +#define MQ_MQIACF_SYSP_DEALLOC_INTERVAL 1176 +#define MQ_MQIACF_SYSP_MAX_ARCHIVE 1177 +#define MQ_MQIACF_SYSP_MAX_READ_TAPES 1178 +#define MQ_MQIACF_SYSP_IN_BUFFER_SIZE 1179 +#define MQ_MQIACF_SYSP_OUT_BUFFER_SIZE 1180 +#define MQ_MQIACF_SYSP_OUT_BUFFER_COUNT 1181 +#define MQ_MQIACF_SYSP_ARCHIVE 1182 +#define MQ_MQIACF_SYSP_DUAL_ACTIVE 1183 +#define MQ_MQIACF_SYSP_DUAL_ARCHIVE 1184 +#define MQ_MQIACF_SYSP_DUAL_BSDS 1185 +#define MQ_MQIACF_SYSP_MAX_CONNS 1186 +#define MQ_MQIACF_SYSP_MAX_CONNS_FORE 1187 +#define MQ_MQIACF_SYSP_MAX_CONNS_BACK 1188 +#define MQ_MQIACF_SYSP_EXIT_INTERVAL 1189 +#define MQ_MQIACF_SYSP_EXIT_TASKS 1190 +#define MQ_MQIACF_SYSP_CHKPOINT_COUNT 1191 +#define MQ_MQIACF_SYSP_OTMA_INTERVAL 1192 +#define MQ_MQIACF_SYSP_Q_INDEX_DEFER 1193 +#define MQ_MQIACF_SYSP_DB2_TASKS 1194 +#define MQ_MQIACF_SYSP_RESLEVEL_AUDIT 1195 +#define MQ_MQIACF_SYSP_ROUTING_CODE 1196 +#define MQ_MQIACF_SYSP_SMF_ACCOUNTING 1197 +#define MQ_MQIACF_SYSP_SMF_STATS 1198 +#define MQ_MQIACF_SYSP_SMF_INTERVAL 1199 +#define MQ_MQIACF_SYSP_TRACE_CLASS 1200 +#define MQ_MQIACF_SYSP_TRACE_SIZE 1201 +#define MQ_MQIACF_SYSP_WLM_INTERVAL 1202 +#define MQ_MQIACF_SYSP_ALLOC_UNIT 1203 +#define MQ_MQIACF_SYSP_ARCHIVE_RETAIN 1204 +#define MQ_MQIACF_SYSP_ARCHIVE_WTOR 1205 +#define MQ_MQIACF_SYSP_BLOCK_SIZE 1206 +#define MQ_MQIACF_SYSP_CATALOG 1207 +#define MQ_MQIACF_SYSP_COMPACT 1208 +#define MQ_MQIACF_SYSP_ALLOC_PRIMARY 1209 +#define MQ_MQIACF_SYSP_ALLOC_SECONDARY 1210 +#define MQ_MQIACF_SYSP_PROTECT 1211 +#define MQ_MQIACF_SYSP_QUIESCE_INTERVAL 1212 +#define MQ_MQIACF_SYSP_TIMESTAMP 1213 +#define MQ_MQIACF_SYSP_UNIT_ADDRESS 1214 +#define MQ_MQIACF_SYSP_UNIT_STATUS 1215 +#define MQ_MQIACF_SYSP_LOG_COPY 1216 +#define MQ_MQIACF_SYSP_LOG_USED 1217 +#define MQ_MQIACF_SYSP_LOG_SUSPEND 1218 +#define MQ_MQIACF_SYSP_OFFLOAD_STATUS 1219 +#define MQ_MQIACF_SYSP_TOTAL_LOGS 1220 +#define MQ_MQIACF_SYSP_FULL_LOGS 1221 +#define MQ_MQIACF_LISTENER_ATTRS 1222 +#define MQ_MQIACF_LISTENER_STATUS_ATTRS 1223 +#define MQ_MQIACF_SERVICE_ATTRS 1224 +#define MQ_MQIACF_SERVICE_STATUS_ATTRS 1225 +#define MQ_MQIACF_Q_TIME_INDICATOR 1226 +#define MQ_MQIACF_OLDEST_MSG_AGE 1227 +#define MQ_MQIACF_AUTH_OPTIONS 1228 +#define MQ_MQIACF_Q_MGR_STATUS_ATTRS 1229 +#define MQ_MQIACF_CONNECTION_COUNT 1230 +#define MQ_MQIACF_Q_MGR_FACILITY 1231 +#define MQ_MQIACF_CHINIT_STATUS 1232 +#define MQ_MQIACF_CMD_SERVER_STATUS 1233 +#define MQ_MQIACF_ROUTE_DETAIL 1234 +#define MQ_MQIACF_RECORDED_ACTIVITIES 1235 +#define MQ_MQIACF_MAX_ACTIVITIES 1236 +#define MQ_MQIACF_DISCONTINUITY_COUNT 1237 +#define MQ_MQIACF_ROUTE_ACCUMULATION 1238 +#define MQ_MQIACF_ROUTE_DELIVERY 1239 +#define MQ_MQIACF_OPERATION_TYPE 1240 +#define MQ_MQIACF_BACKOUT_COUNT 1241 +#define MQ_MQIACF_COMP_CODE 1242 +#define MQ_MQIACF_ENCODING 1243 +#define MQ_MQIACF_EXPIRY 1244 +#define MQ_MQIACF_FEEDBACK 1245 +#define MQ_MQIACF_MSG_FLAGS 1247 +#define MQ_MQIACF_MSG_LENGTH 1248 +#define MQ_MQIACF_MSG_TYPE 1249 +#define MQ_MQIACF_OFFSET 1250 +#define MQ_MQIACF_ORIGINAL_LENGTH 1251 +#define MQ_MQIACF_PERSISTENCE 1252 +#define MQ_MQIACF_PRIORITY 1253 +#define MQ_MQIACF_REASON_CODE 1254 +#define MQ_MQIACF_REPORT 1255 +#define MQ_MQIACF_VERSION 1256 +#define MQ_MQIACF_UNRECORDED_ACTIVITIES 1257 +#define MQ_MQIACF_MONITORING 1258 +#define MQ_MQIACF_ROUTE_FORWARDING 1259 +#define MQ_MQIACF_SERVICE_STATUS 1260 +#define MQ_MQIACF_Q_TYPES 1261 +#define MQ_MQIACF_USER_ID_SUPPORT 1262 +#define MQ_MQIACF_INTERFACE_VERSION 1263 +#define MQ_MQIACF_AUTH_SERVICE_ATTRS 1264 +#define MQ_MQIACF_USAGE_EXPAND_TYPE 1265 +#define MQ_MQIACF_SYSP_CLUSTER_CACHE 1266 +#define MQ_MQIACF_SYSP_DB2_BLOB_TASKS 1267 +#define MQ_MQIACF_SYSP_WLM_INT_UNITS 1268 +#define MQ_MQIACF_TOPIC_ATTRS 1269 +#define MQ_MQIACF_PUBSUB_PROPERTIES 1271 +#define MQ_MQIACF_DESTINATION_CLASS 1273 +#define MQ_MQIACF_DURABLE_SUBSCRIPTION 1274 +#define MQ_MQIACF_SUBSCRIPTION_SCOPE 1275 +#define MQ_MQIACF_VARIABLE_USER_ID 1277 +#define MQ_MQIACF_REQUEST_ONLY 1280 +#define MQ_MQIACF_PUB_PRIORITY 1283 +#define MQ_MQIACF_SUB_ATTRS 1287 +#define MQ_MQIACF_WILDCARD_SCHEMA 1288 +#define MQ_MQIACF_SUB_TYPE 1289 +#define MQ_MQIACF_MESSAGE_COUNT 1290 +#define MQ_MQIACF_Q_MGR_PUBSUB 1291 +#define MQ_MQIACF_Q_MGR_VERSION 1292 +#define MQ_MQIACF_SUB_STATUS_ATTRS 1294 +#define MQ_MQIACF_TOPIC_STATUS 1295 +#define MQ_MQIACF_TOPIC_SUB 1296 +#define MQ_MQIACF_TOPIC_PUB 1297 +#define MQ_MQIACF_RETAINED_PUBLICATION 1300 +#define MQ_MQIACF_TOPIC_STATUS_ATTRS 1301 +#define MQ_MQIACF_TOPIC_STATUS_TYPE 1302 +#define MQ_MQIACF_SUB_OPTIONS 1303 +#define MQ_MQIACF_PUBLISH_COUNT 1304 +#define MQ_MQIACF_CLEAR_TYPE 1305 +#define MQ_MQIACF_CLEAR_SCOPE 1306 +#define MQ_MQIACF_SUB_LEVEL 1307 +#define MQ_MQIACF_ASYNC_STATE 1308 +#define MQ_MQIACF_SUB_SUMMARY 1309 +#define MQ_MQIACF_OBSOLETE_MSGS 1310 +#define MQ_MQIACF_PUBSUB_STATUS 1311 +#define MQ_MQIACF_PS_STATUS_TYPE 1314 +#define MQ_MQIACF_PUBSUB_STATUS_ATTRS 1318 +#define MQ_MQIACF_SELECTOR_TYPE 1321 +#define MQ_MQIACF_LOG_COMPRESSION 1322 +#define MQ_MQIACF_GROUPUR_CHECK_ID 1323 +#define MQ_MQIACF_MULC_CAPTURE 1324 +#define MQ_MQIACF_PERMIT_STANDBY 1325 +#define MQ_MQIACF_OPERATION_MODE 1326 +#define MQ_MQIACF_COMM_INFO_ATTRS 1327 +#define MQ_MQIACF_CF_SMDS_BLOCK_SIZE 1328 +#define MQ_MQIACF_CF_SMDS_EXPAND 1329 +#define MQ_MQIACF_USAGE_FREE_BUFF 1330 +#define MQ_MQIACF_USAGE_FREE_BUFF_PERC 1331 +#define MQ_MQIACF_CF_STRUC_ACCESS 1332 +#define MQ_MQIACF_CF_STATUS_SMDS 1333 +#define MQ_MQIACF_SMDS_ATTRS 1334 +#define MQ_MQIACF_USAGE_SMDS 1335 +#define MQ_MQIACF_USAGE_BLOCK_SIZE 1336 +#define MQ_MQIACF_USAGE_DATA_BLOCKS 1337 +#define MQ_MQIACF_USAGE_EMPTY_BUFFERS 1338 +#define MQ_MQIACF_USAGE_INUSE_BUFFERS 1339 +#define MQ_MQIACF_USAGE_LOWEST_FREE 1340 +#define MQ_MQIACF_USAGE_OFFLOAD_MSGS 1341 +#define MQ_MQIACF_USAGE_READS_SAVED 1342 +#define MQ_MQIACF_USAGE_SAVED_BUFFERS 1343 +#define MQ_MQIACF_USAGE_TOTAL_BLOCKS 1344 +#define MQ_MQIACF_USAGE_USED_BLOCKS 1345 +#define MQ_MQIACF_USAGE_USED_RATE 1346 +#define MQ_MQIACF_USAGE_WAIT_RATE 1347 +#define MQ_MQIACF_SMDS_OPENMODE 1348 +#define MQ_MQIACF_SMDS_STATUS 1349 +#define MQ_MQIACF_SMDS_AVAIL 1350 +#define MQ_MQIACF_MCAST_REL_INDICATOR 1351 +#define MQ_MQIACF_CHLAUTH_TYPE 1352 +#define MQ_MQIACF_MQXR_DIAGNOSTICS_TYPE 1354 +#define MQ_MQIACF_CHLAUTH_ATTRS 1355 +#define MQ_MQIACF_OPERATION_ID 1356 +#define MQ_MQIACF_API_CALLER_TYPE 1357 +#define MQ_MQIACF_API_ENVIRONMENT 1358 +#define MQ_MQIACF_TRACE_DETAIL 1359 +#define MQ_MQIACF_HOBJ 1360 +#define MQ_MQIACF_CALL_TYPE 1361 +#define MQ_MQIACF_MQCB_OPERATION 1362 +#define MQ_MQIACF_MQCB_TYPE 1363 +#define MQ_MQIACF_MQCB_OPTIONS 1364 +#define MQ_MQIACF_CLOSE_OPTIONS 1365 +#define MQ_MQIACF_CTL_OPERATION 1366 +#define MQ_MQIACF_GET_OPTIONS 1367 +#define MQ_MQIACF_RECS_PRESENT 1368 +#define MQ_MQIACF_KNOWN_DEST_COUNT 1369 +#define MQ_MQIACF_UNKNOWN_DEST_COUNT 1370 +#define MQ_MQIACF_INVALID_DEST_COUNT 1371 +#define MQ_MQIACF_RESOLVED_TYPE 1372 +#define MQ_MQIACF_PUT_OPTIONS 1373 +#define MQ_MQIACF_BUFFER_LENGTH 1374 +#define MQ_MQIACF_TRACE_DATA_LENGTH 1375 +#define MQ_MQIACF_SMDS_EXPANDST 1376 +#define MQ_MQIACF_STRUC_LENGTH 1377 +#define MQ_MQIACF_ITEM_COUNT 1378 +#define MQ_MQIACF_EXPIRY_TIME 1379 +#define MQ_MQIACF_CONNECT_TIME 1380 +#define MQ_MQIACF_DISCONNECT_TIME 1381 +#define MQ_MQIACF_HSUB 1382 +#define MQ_MQIACF_SUBRQ_OPTIONS 1383 +#define MQ_MQIACF_XA_RMID 1384 +#define MQ_MQIACF_XA_FLAGS 1385 +#define MQ_MQIACF_XA_RETCODE 1386 +#define MQ_MQIACF_XA_HANDLE 1387 +#define MQ_MQIACF_XA_RETVAL 1388 +#define MQ_MQIACF_STATUS_TYPE 1389 +#define MQ_MQIACF_XA_COUNT 1390 +#define MQ_MQIACF_SELECTOR_COUNT 1391 +#define MQ_MQIACF_SELECTORS 1392 +#define MQ_MQIACF_INTATTR_COUNT 1393 +#define MQ_MQIACF_INT_ATTRS 1394 +#define MQ_MQIACF_SUBRQ_ACTION 1395 +#define MQ_MQIACF_NUM_PUBS 1396 +#define MQ_MQIACF_POINTER_SIZE 1397 +#define MQ_MQIACF_REMOVE_AUTHREC 1398 +#define MQ_MQIACF_XR_ATTRS 1399 +#define MQ_MQIACF_APPL_FUNCTION_TYPE 1400 +#define MQ_MQIACF_EXPORT_TYPE 1402 +#define MQ_MQIACF_EXPORT_ATTRS 1403 +#define MQ_MQIACF_SYSTEM_OBJECTS 1404 +#define MQ_MQIACF_LAST_USED 1404 + +/* Access Options */ +#define MQ_MQCFACCESS_ENABLED 0 +#define MQ_MQCFACCESS_SUSPENDED 1 +#define MQ_MQCFACCESS_DISABLED 2 + +/* Open Mode Options */ +#define MQ_MQS_OPENMODE_NONE 0 +#define MQ_MQS_OPENMODE_READONLY 1 +#define MQ_MQS_OPENMODE_UPDATE 2 +#define MQ_MQS_OPENMODE_RECOVERY 3 + +/* SMDS Status Options */ +#define MQ_MQS_STATUS_CLOSED 0 +#define MQ_MQS_STATUS_CLOSING 1 +#define MQ_MQS_STATUS_OPENING 2 +#define MQ_MQS_STATUS_OPEN 3 +#define MQ_MQS_STATUS_NOTENABLED 4 +#define MQ_MQS_STATUS_ALLOCFAIL 5 +#define MQ_MQS_STATUS_OPENFAIL 6 +#define MQ_MQS_STATUS_STGFAIL 7 +#define MQ_MQS_STATUS_DATAFAIL 8 + +/* SMDS Availability Options */ +#define MQ_MQS_AVAIL_NORMAL 0 +#define MQ_MQS_AVAIL_ERROR 1 +#define MQ_MQS_AVAIL_STOPPED 2 + +/* Expandst Options */ +#define MQ_MQS_EXPANDST_NORMAL 0 +#define MQ_MQS_EXPANDST_FAILED 1 +#define MQ_MQS_EXPANDST_MAXIMUM 2 + +/* Usage SMDS Options */ +#define MQ_MQUSAGE_SMDS_AVAILABLE 0 +#define MQ_MQUSAGE_SMDS_NO_DATA 1 + +/* Integer Channel Types */ +#define MQ_MQIACH_FIRST 1501 +#define MQ_MQIACH_XMIT_PROTOCOL_TYPE 1501 +#define MQ_MQIACH_BATCH_SIZE 1502 +#define MQ_MQIACH_DISC_INTERVAL 1503 +#define MQ_MQIACH_SHORT_TIMER 1504 +#define MQ_MQIACH_SHORT_RETRY 1505 +#define MQ_MQIACH_LONG_TIMER 1506 +#define MQ_MQIACH_LONG_RETRY 1507 +#define MQ_MQIACH_PUT_AUTHORITY 1508 +#define MQ_MQIACH_SEQUENCE_NUMBER_WRAP 1509 +#define MQ_MQIACH_MAX_MSG_LENGTH 1510 +#define MQ_MQIACH_CHANNEL_TYPE 1511 +#define MQ_MQIACH_DATA_COUNT 1512 +#define MQ_MQIACH_NAME_COUNT 1513 +#define MQ_MQIACH_MSG_SEQUENCE_NUMBER 1514 +#define MQ_MQIACH_DATA_CONVERSION 1515 +#define MQ_MQIACH_IN_DOUBT 1516 +#define MQ_MQIACH_MCA_TYPE 1517 +#define MQ_MQIACH_SESSION_COUNT 1518 +#define MQ_MQIACH_ADAPTER 1519 +#define MQ_MQIACH_COMMAND_COUNT 1520 +#define MQ_MQIACH_SOCKET 1521 +#define MQ_MQIACH_PORT 1522 +#define MQ_MQIACH_CHANNEL_INSTANCE_TYPE 1523 +#define MQ_MQIACH_CHANNEL_INSTANCE_ATTRS 1524 +#define MQ_MQIACH_CHANNEL_ERROR_DATA 1525 +#define MQ_MQIACH_CHANNEL_TABLE 1526 +#define MQ_MQIACH_CHANNEL_STATUS 1527 +#define MQ_MQIACH_INDOUBT_STATUS 1528 +#define MQ_MQIACH_LAST_SEQ_NUMBER 1529 +#define MQ_MQIACH_LAST_SEQUENCE_NUMBER 1529 +#define MQ_MQIACH_CURRENT_MSGS 1531 +#define MQ_MQIACH_CURRENT_SEQ_NUMBER 1532 +#define MQ_MQIACH_CURRENT_SEQUENCE_NUMBER 1532 +#define MQ_MQIACH_SSL_RETURN_CODE 1533 +#define MQ_MQIACH_MSGS 1534 +#define MQ_MQIACH_BYTES_SENT 1535 +#define MQ_MQIACH_BYTES_RCVD 1536 +#define MQ_MQIACH_BYTES_RECEIVED 1536 +#define MQ_MQIACH_BATCHES 1537 +#define MQ_MQIACH_BUFFERS_SENT 1538 +#define MQ_MQIACH_BUFFERS_RCVD 1539 +#define MQ_MQIACH_BUFFERS_RECEIVED 1539 +#define MQ_MQIACH_LONG_RETRIES_LEFT 1540 +#define MQ_MQIACH_SHORT_RETRIES_LEFT 1541 +#define MQ_MQIACH_MCA_STATUS 1542 +#define MQ_MQIACH_STOP_REQUESTED 1543 +#define MQ_MQIACH_MR_COUNT 1544 +#define MQ_MQIACH_MR_INTERVAL 1545 +#define MQ_MQIACH_NPM_SPEED 1562 +#define MQ_MQIACH_HB_INTERVAL 1563 +#define MQ_MQIACH_BATCH_INTERVAL 1564 +#define MQ_MQIACH_NETWORK_PRIORITY 1565 +#define MQ_MQIACH_KEEP_ALIVE_INTERVAL 1566 +#define MQ_MQIACH_BATCH_HB 1567 +#define MQ_MQIACH_SSL_CLIENT_AUTH 1568 +#define MQ_MQIACH_ALLOC_RETRY 1570 +#define MQ_MQIACH_ALLOC_FAST_TIMER 1571 +#define MQ_MQIACH_ALLOC_SLOW_TIMER 1572 +#define MQ_MQIACH_DISC_RETRY 1573 +#define MQ_MQIACH_PORT_NUMBER 1574 +#define MQ_MQIACH_HDR_COMPRESSION 1575 +#define MQ_MQIACH_MSG_COMPRESSION 1576 +#define MQ_MQIACH_CLWL_CHANNEL_RANK 1577 +#define MQ_MQIACH_CLWL_CHANNEL_PRIORITY 1578 +#define MQ_MQIACH_CLWL_CHANNEL_WEIGHT 1579 +#define MQ_MQIACH_CHANNEL_DISP 1580 +#define MQ_MQIACH_INBOUND_DISP 1581 +#define MQ_MQIACH_CHANNEL_TYPES 1582 +#define MQ_MQIACH_ADAPS_STARTED 1583 +#define MQ_MQIACH_ADAPS_MAX 1584 +#define MQ_MQIACH_DISPS_STARTED 1585 +#define MQ_MQIACH_DISPS_MAX 1586 +#define MQ_MQIACH_SSLTASKS_STARTED 1587 +#define MQ_MQIACH_SSLTASKS_MAX 1588 +#define MQ_MQIACH_CURRENT_CHL 1589 +#define MQ_MQIACH_CURRENT_CHL_MAX 1590 +#define MQ_MQIACH_CURRENT_CHL_TCP 1591 +#define MQ_MQIACH_CURRENT_CHL_LU62 1592 +#define MQ_MQIACH_ACTIVE_CHL 1593 +#define MQ_MQIACH_ACTIVE_CHL_MAX 1594 +#define MQ_MQIACH_ACTIVE_CHL_PAUSED 1595 +#define MQ_MQIACH_ACTIVE_CHL_STARTED 1596 +#define MQ_MQIACH_ACTIVE_CHL_STOPPED 1597 +#define MQ_MQIACH_ACTIVE_CHL_RETRY 1598 +#define MQ_MQIACH_LISTENER_STATUS 1599 +#define MQ_MQIACH_SHARED_CHL_RESTART 1600 +#define MQ_MQIACH_LISTENER_CONTROL 1601 +#define MQ_MQIACH_BACKLOG 1602 +#define MQ_MQIACH_XMITQ_TIME_INDICATOR 1604 +#define MQ_MQIACH_NETWORK_TIME_INDICATOR 1605 +#define MQ_MQIACH_EXIT_TIME_INDICATOR 1606 +#define MQ_MQIACH_BATCH_SIZE_INDICATOR 1607 +#define MQ_MQIACH_XMITQ_MSGS_AVAILABLE 1608 +#define MQ_MQIACH_CHANNEL_SUBSTATE 1609 +#define MQ_MQIACH_SSL_KEY_RESETS 1610 +#define MQ_MQIACH_COMPRESSION_RATE 1611 +#define MQ_MQIACH_COMPRESSION_TIME 1612 +#define MQ_MQIACH_MAX_XMIT_SIZE 1613 +#define MQ_MQIACH_DEF_CHANNEL_DISP 1614 +#define MQ_MQIACH_SHARING_CONVERSATIONS 1615 +#define MQ_MQIACH_MAX_SHARING_CONVS 1616 +#define MQ_MQIACH_CURRENT_SHARING_CONVS 1617 +#define MQ_MQIACH_MAX_INSTANCES 1618 +#define MQ_MQIACH_MAX_INSTS_PER_CLIENT 1619 +#define MQ_MQIACH_CLIENT_CHANNEL_WEIGHT 1620 +#define MQ_MQIACH_CONNECTION_AFFINITY 1621 +#define MQ_MQIACH_RESET_REQUESTED 1623 +#define MQ_MQIACH_BATCH_DATA_LIMIT 1624 +#define MQ_MQIACH_MSG_HISTORY 1625 +#define MQ_MQIACH_MULTICAST_PROPERTIES 1626 +#define MQ_MQIACH_NEW_SUBSCRIBER_HISTORY 1627 +#define MQ_MQIACH_MC_HB_INTERVAL 1628 +#define MQ_MQIACH_USE_CLIENT_ID 1629 +#define MQ_MQIACH_MQTT_KEEP_ALIVE 1630 +#define MQ_MQIACH_IN_DOUBT_IN 1631 +#define MQ_MQIACH_IN_DOUBT_OUT 1632 +#define MQ_MQIACH_MSGS_SENT 1633 +#define MQ_MQIACH_MSGS_RECEIVED 1634 +#define MQ_MQIACH_MSGS_RCVD 1634 +#define MQ_MQIACH_PENDING_OUT 1635 +#define MQ_MQIACH_AVAILABLE_CIPHERSPECS 1636 +#define MQ_MQIACH_MATCH 1637 +#define MQ_MQIACH_USER_SOURCE 1638 +#define MQ_MQIACH_WARNING 1639 +#define MQ_MQIACH_DEF_RECONNECT 1640 +#define MQ_MQIACH_CHANNEL_SUMMARY_ATTRS 1642 +#define MQ_MQIACH_LAST_USED 1642 + +/****************************************************************/ +/* Values Related to Character Parameter Structures */ +/****************************************************************/ + +/* Character Monitoring Parameter Types */ +#define MQ_MQCAMO_FIRST 2701 +#define MQ_MQCAMO_CLOSE_DATE 2701 +#define MQ_MQCAMO_CLOSE_TIME 2702 +#define MQ_MQCAMO_CONN_DATE 2703 +#define MQ_MQCAMO_CONN_TIME 2704 +#define MQ_MQCAMO_DISC_DATE 2705 +#define MQ_MQCAMO_DISC_TIME 2706 +#define MQ_MQCAMO_END_DATE 2707 +#define MQ_MQCAMO_END_TIME 2708 +#define MQ_MQCAMO_OPEN_DATE 2709 +#define MQ_MQCAMO_OPEN_TIME 2710 +#define MQ_MQCAMO_START_DATE 2711 +#define MQ_MQCAMO_START_TIME 2712 +#define MQ_MQCAMO_LAST_USED 2712 + +/* Character Parameter Types */ +#define MQ_MQCACF_FIRST 3001 +#define MQ_MQCACF_FROM_Q_NAME 3001 +#define MQ_MQCACF_TO_Q_NAME 3002 +#define MQ_MQCACF_FROM_PROCESS_NAME 3003 +#define MQ_MQCACF_TO_PROCESS_NAME 3004 +#define MQ_MQCACF_FROM_NAMELIST_NAME 3005 +#define MQ_MQCACF_TO_NAMELIST_NAME 3006 +#define MQ_MQCACF_FROM_CHANNEL_NAME 3007 +#define MQ_MQCACF_TO_CHANNEL_NAME 3008 +#define MQ_MQCACF_FROM_AUTH_INFO_NAME 3009 +#define MQ_MQCACF_TO_AUTH_INFO_NAME 3010 +#define MQ_MQCACF_Q_NAMES 3011 +#define MQ_MQCACF_PROCESS_NAMES 3012 +#define MQ_MQCACF_NAMELIST_NAMES 3013 +#define MQ_MQCACF_ESCAPE_TEXT 3014 +#define MQ_MQCACF_LOCAL_Q_NAMES 3015 +#define MQ_MQCACF_MODEL_Q_NAMES 3016 +#define MQ_MQCACF_ALIAS_Q_NAMES 3017 +#define MQ_MQCACF_REMOTE_Q_NAMES 3018 +#define MQ_MQCACF_SENDER_CHANNEL_NAMES 3019 +#define MQ_MQCACF_SERVER_CHANNEL_NAMES 3020 +#define MQ_MQCACF_REQUESTER_CHANNEL_NAMES 3021 +#define MQ_MQCACF_RECEIVER_CHANNEL_NAMES 3022 +#define MQ_MQCACF_OBJECT_Q_MGR_NAME 3023 +#define MQ_MQCACF_APPL_NAME 3024 +#define MQ_MQCACF_USER_IDENTIFIER 3025 +#define MQ_MQCACF_AUX_ERROR_DATA_STR_1 3026 +#define MQ_MQCACF_AUX_ERROR_DATA_STR_2 3027 +#define MQ_MQCACF_AUX_ERROR_DATA_STR_3 3028 +#define MQ_MQCACF_BRIDGE_NAME 3029 +#define MQ_MQCACF_STREAM_NAME 3030 +#define MQ_MQCACF_TOPIC 3031 +#define MQ_MQCACF_PARENT_Q_MGR_NAME 3032 +#define MQ_MQCACF_CORREL_ID 3033 +#define MQ_MQCACF_PUBLISH_TIMESTAMP 3034 +#define MQ_MQCACF_STRING_DATA 3035 +#define MQ_MQCACF_SUPPORTED_STREAM_NAME 3036 +#define MQ_MQCACF_REG_TOPIC 3037 +#define MQ_MQCACF_REG_TIME 3038 +#define MQ_MQCACF_REG_USER_ID 3039 +#define MQ_MQCACF_CHILD_Q_MGR_NAME 3040 +#define MQ_MQCACF_REG_STREAM_NAME 3041 +#define MQ_MQCACF_REG_Q_MGR_NAME 3042 +#define MQ_MQCACF_REG_Q_NAME 3043 +#define MQ_MQCACF_REG_CORREL_ID 3044 +#define MQ_MQCACF_EVENT_USER_ID 3045 +#define MQ_MQCACF_OBJECT_NAME 3046 +#define MQ_MQCACF_EVENT_Q_MGR 3047 +#define MQ_MQCACF_AUTH_INFO_NAMES 3048 +#define MQ_MQCACF_EVENT_APPL_IDENTITY 3049 +#define MQ_MQCACF_EVENT_APPL_NAME 3050 +#define MQ_MQCACF_EVENT_APPL_ORIGIN 3051 +#define MQ_MQCACF_SUBSCRIPTION_NAME 3052 +#define MQ_MQCACF_REG_SUB_NAME 3053 +#define MQ_MQCACF_SUBSCRIPTION_IDENTITY 3054 +#define MQ_MQCACF_REG_SUB_IDENTITY 3055 +#define MQ_MQCACF_SUBSCRIPTION_USER_DATA 3056 +#define MQ_MQCACF_REG_SUB_USER_DATA 3057 +#define MQ_MQCACF_APPL_TAG 3058 +#define MQ_MQCACF_DATA_SET_NAME 3059 +#define MQ_MQCACF_UOW_START_DATE 3060 +#define MQ_MQCACF_UOW_START_TIME 3061 +#define MQ_MQCACF_UOW_LOG_START_DATE 3062 +#define MQ_MQCACF_UOW_LOG_START_TIME 3063 +#define MQ_MQCACF_UOW_LOG_EXTENT_NAME 3064 +#define MQ_MQCACF_PRINCIPAL_ENTITY_NAMES 3065 +#define MQ_MQCACF_GROUP_ENTITY_NAMES 3066 +#define MQ_MQCACF_AUTH_PROFILE_NAME 3067 +#define MQ_MQCACF_ENTITY_NAME 3068 +#define MQ_MQCACF_SERVICE_COMPONENT 3069 +#define MQ_MQCACF_RESPONSE_Q_MGR_NAME 3070 +#define MQ_MQCACF_CURRENT_LOG_EXTENT_NAME 3071 +#define MQ_MQCACF_RESTART_LOG_EXTENT_NAME 3072 +#define MQ_MQCACF_MEDIA_LOG_EXTENT_NAME 3073 +#define MQ_MQCACF_LOG_PATH 3074 +#define MQ_MQCACF_COMMAND_MQSC 3075 +#define MQ_MQCACF_Q_MGR_CPF 3076 +#define MQ_MQCACF_USAGE_LOG_RBA 3078 +#define MQ_MQCACF_USAGE_LOG_LRSN 3079 +#define MQ_MQCACF_COMMAND_SCOPE 3080 +#define MQ_MQCACF_ASID 3081 +#define MQ_MQCACF_PSB_NAME 3082 +#define MQ_MQCACF_PST_ID 3083 +#define MQ_MQCACF_TASK_NUMBER 3084 +#define MQ_MQCACF_TRANSACTION_ID 3085 +#define MQ_MQCACF_Q_MGR_UOW_ID 3086 +#define MQ_MQCACF_ORIGIN_NAME 3088 +#define MQ_MQCACF_ENV_INFO 3089 +#define MQ_MQCACF_SECURITY_PROFILE 3090 +#define MQ_MQCACF_CONFIGURATION_DATE 3091 +#define MQ_MQCACF_CONFIGURATION_TIME 3092 +#define MQ_MQCACF_FROM_CF_STRUC_NAME 3093 +#define MQ_MQCACF_TO_CF_STRUC_NAME 3094 +#define MQ_MQCACF_CF_STRUC_NAMES 3095 +#define MQ_MQCACF_FAIL_DATE 3096 +#define MQ_MQCACF_FAIL_TIME 3097 +#define MQ_MQCACF_BACKUP_DATE 3098 +#define MQ_MQCACF_BACKUP_TIME 3099 +#define MQ_MQCACF_SYSTEM_NAME 3100 +#define MQ_MQCACF_CF_STRUC_BACKUP_START 3101 +#define MQ_MQCACF_CF_STRUC_BACKUP_END 3102 +#define MQ_MQCACF_CF_STRUC_LOG_Q_MGRS 3103 +#define MQ_MQCACF_FROM_STORAGE_CLASS 3104 +#define MQ_MQCACF_TO_STORAGE_CLASS 3105 +#define MQ_MQCACF_STORAGE_CLASS_NAMES 3106 +#define MQ_MQCACF_DSG_NAME 3108 +#define MQ_MQCACF_DB2_NAME 3109 +#define MQ_MQCACF_SYSP_CMD_USER_ID 3110 +#define MQ_MQCACF_SYSP_OTMA_GROUP 3111 +#define MQ_MQCACF_SYSP_OTMA_MEMBER 3112 +#define MQ_MQCACF_SYSP_OTMA_DRU_EXIT 3113 +#define MQ_MQCACF_SYSP_OTMA_TPIPE_PFX 3114 +#define MQ_MQCACF_SYSP_ARCHIVE_PFX1 3115 +#define MQ_MQCACF_SYSP_ARCHIVE_UNIT1 3116 +#define MQ_MQCACF_SYSP_LOG_CORREL_ID 3117 +#define MQ_MQCACF_SYSP_UNIT_VOLSER 3118 +#define MQ_MQCACF_SYSP_Q_MGR_TIME 3119 +#define MQ_MQCACF_SYSP_Q_MGR_DATE 3120 +#define MQ_MQCACF_SYSP_Q_MGR_RBA 3121 +#define MQ_MQCACF_SYSP_LOG_RBA 3122 +#define MQ_MQCACF_SYSP_SERVICE 3123 +#define MQ_MQCACF_FROM_LISTENER_NAME 3124 +#define MQ_MQCACF_TO_LISTENER_NAME 3125 +#define MQ_MQCACF_FROM_SERVICE_NAME 3126 +#define MQ_MQCACF_TO_SERVICE_NAME 3127 +#define MQ_MQCACF_LAST_PUT_DATE 3128 +#define MQ_MQCACF_LAST_PUT_TIME 3129 +#define MQ_MQCACF_LAST_GET_DATE 3130 +#define MQ_MQCACF_LAST_GET_TIME 3131 +#define MQ_MQCACF_OPERATION_DATE 3132 +#define MQ_MQCACF_OPERATION_TIME 3133 +#define MQ_MQCACF_ACTIVITY_DESC 3134 +#define MQ_MQCACF_APPL_IDENTITY_DATA 3135 +#define MQ_MQCACF_APPL_ORIGIN_DATA 3136 +#define MQ_MQCACF_PUT_DATE 3137 +#define MQ_MQCACF_PUT_TIME 3138 +#define MQ_MQCACF_REPLY_TO_Q 3139 +#define MQ_MQCACF_REPLY_TO_Q_MGR 3140 +#define MQ_MQCACF_RESOLVED_Q_NAME 3141 +#define MQ_MQCACF_STRUC_ID 3142 +#define MQ_MQCACF_VALUE_NAME 3143 +#define MQ_MQCACF_SERVICE_START_DATE 3144 +#define MQ_MQCACF_SERVICE_START_TIME 3145 +#define MQ_MQCACF_SYSP_OFFLINE_RBA 3146 +#define MQ_MQCACF_SYSP_ARCHIVE_PFX2 3147 +#define MQ_MQCACF_SYSP_ARCHIVE_UNIT2 3148 +#define MQ_MQCACF_TO_TOPIC_NAME 3149 +#define MQ_MQCACF_FROM_TOPIC_NAME 3150 +#define MQ_MQCACF_TOPIC_NAMES 3151 +#define MQ_MQCACF_SUB_NAME 3152 +#define MQ_MQCACF_DESTINATION_Q_MGR 3153 +#define MQ_MQCACF_DESTINATION 3154 +#define MQ_MQCACF_SUB_USER_ID 3156 +#define MQ_MQCACF_SUB_USER_DATA 3159 +#define MQ_MQCACF_SUB_SELECTOR 3160 +#define MQ_MQCACF_LAST_PUB_DATE 3161 +#define MQ_MQCACF_LAST_PUB_TIME 3162 +#define MQ_MQCACF_FROM_SUB_NAME 3163 +#define MQ_MQCACF_TO_SUB_NAME 3164 +#define MQ_MQCACF_LAST_MSG_TIME 3167 +#define MQ_MQCACF_LAST_MSG_DATE 3168 +#define MQ_MQCACF_SUBSCRIPTION_POINT 3169 +#define MQ_MQCACF_FILTER 3170 +#define MQ_MQCACF_NONE 3171 +#define MQ_MQCACF_ADMIN_TOPIC_NAMES 3172 +#define MQ_MQCACF_ROUTING_FINGER_PRINT 3173 +#define MQ_MQCACF_APPL_DESC 3174 +#define MQ_MQCACF_Q_MGR_START_DATE 3175 +#define MQ_MQCACF_Q_MGR_START_TIME 3176 +#define MQ_MQCACF_FROM_COMM_INFO_NAME 3177 +#define MQ_MQCACF_TO_COMM_INFO_NAME 3178 +#define MQ_MQCACF_CF_OFFLOAD_SIZE1 3179 +#define MQ_MQCACF_CF_OFFLOAD_SIZE2 3180 +#define MQ_MQCACF_CF_OFFLOAD_SIZE3 3181 +#define MQ_MQCACF_CF_SMDS_GENERIC_NAME 3182 +#define MQ_MQCACF_CF_SMDS 3183 +#define MQ_MQCACF_RECOVERY_DATE 3184 +#define MQ_MQCACF_RECOVERY_TIME 3185 +#define MQ_MQCACF_CF_SMDSCONN 3186 +#define MQ_MQCACF_CF_STRUC_NAME 3187 +#define MQ_MQCACF_ALTERNATE_USERID 3188 +#define MQ_MQCACF_CHAR_ATTRS 3189 +#define MQ_MQCACF_DYNAMIC_Q_NAME 3190 +#define MQ_MQCACF_HOST_NAME 3191 +#define MQ_MQCACF_MQCB_NAME 3192 +#define MQ_MQCACF_OBJECT_STRING 3193 +#define MQ_MQCACF_RESOLVED_LOCAL_Q_MGR 3194 +#define MQ_MQCACF_RESOLVED_LOCAL_Q_NAME 3195 +#define MQ_MQCACF_RESOLVED_OBJECT_STRING 3196 +#define MQ_MQCACF_RESOLVED_Q_MGR 3197 +#define MQ_MQCACF_SELECTION_STRING 3198 +#define MQ_MQCACF_XA_INFO 3199 +#define MQ_MQCACF_APPL_FUNCTION 3200 +#define MQ_MQCACF_XQH_REMOTE_Q_NAME 3201 +#define MQ_MQCACF_XQH_REMOTE_Q_MGR 3202 +#define MQ_MQCACF_XQH_PUT_TIME 3203 +#define MQ_MQCACF_XQH_PUT_DATE 3204 +#define MQ_MQCACF_LAST_USED 3204 + +/* Character Channel Parameter Types */ +#define MQ_MQCACH_FIRST 3501 +#define MQ_MQCACH_CHANNEL_NAME 3501 +#define MQ_MQCACH_DESC 3502 +#define MQ_MQCACH_MODE_NAME 3503 +#define MQ_MQCACH_TP_NAME 3504 +#define MQ_MQCACH_XMIT_Q_NAME 3505 +#define MQ_MQCACH_CONNECTION_NAME 3506 +#define MQ_MQCACH_MCA_NAME 3507 +#define MQ_MQCACH_SEC_EXIT_NAME 3508 +#define MQ_MQCACH_MSG_EXIT_NAME 3509 +#define MQ_MQCACH_SEND_EXIT_NAME 3510 +#define MQ_MQCACH_RCV_EXIT_NAME 3511 +#define MQ_MQCACH_CHANNEL_NAMES 3512 +#define MQ_MQCACH_SEC_EXIT_USER_DATA 3513 +#define MQ_MQCACH_MSG_EXIT_USER_DATA 3514 +#define MQ_MQCACH_SEND_EXIT_USER_DATA 3515 +#define MQ_MQCACH_RCV_EXIT_USER_DATA 3516 +#define MQ_MQCACH_USER_ID 3517 +#define MQ_MQCACH_PASSWORD 3518 +#define MQ_MQCACH_LOCAL_ADDRESS 3520 +#define MQ_MQCACH_LOCAL_NAME 3521 +#define MQ_MQCACH_LAST_MSG_TIME 3524 +#define MQ_MQCACH_LAST_MSG_DATE 3525 +#define MQ_MQCACH_MCA_USER_ID 3527 +#define MQ_MQCACH_CHANNEL_START_TIME 3528 +#define MQ_MQCACH_CHANNEL_START_DATE 3529 +#define MQ_MQCACH_MCA_JOB_NAME 3530 +#define MQ_MQCACH_LAST_LUWID 3531 +#define MQ_MQCACH_CURRENT_LUWID 3532 +#define MQ_MQCACH_FORMAT_NAME 3533 +#define MQ_MQCACH_MR_EXIT_NAME 3534 +#define MQ_MQCACH_MR_EXIT_USER_DATA 3535 +#define MQ_MQCACH_SSL_CIPHER_SPEC 3544 +#define MQ_MQCACH_SSL_PEER_NAME 3545 +#define MQ_MQCACH_SSL_HANDSHAKE_STAGE 3546 +#define MQ_MQCACH_SSL_SHORT_PEER_NAME 3547 +#define MQ_MQCACH_REMOTE_APPL_TAG 3548 +#define MQ_MQCACH_SSL_CERT_USER_ID 3549 +#define MQ_MQCACH_SSL_CERT_ISSUER_NAME 3550 +#define MQ_MQCACH_LU_NAME 3551 +#define MQ_MQCACH_IP_ADDRESS 3552 +#define MQ_MQCACH_TCP_NAME 3553 +#define MQ_MQCACH_LISTENER_NAME 3554 +#define MQ_MQCACH_LISTENER_DESC 3555 +#define MQ_MQCACH_LISTENER_START_DATE 3556 +#define MQ_MQCACH_LISTENER_START_TIME 3557 +#define MQ_MQCACH_SSL_KEY_RESET_DATE 3558 +#define MQ_MQCACH_SSL_KEY_RESET_TIME 3559 +#define MQ_MQCACH_REMOTE_VERSION 3560 +#define MQ_MQCACH_REMOTE_PRODUCT 3561 +#define MQ_MQCACH_GROUP_ADDRESS 3562 +#define MQ_MQCACH_JAAS_CONFIG 3563 +#define MQ_MQCACH_CLIENT_ID 3564 +#define MQ_MQCACH_SSL_KEY_PASSPHRASE 3565 +#define MQ_MQCACH_CONNECTION_NAME_LIST 3566 +#define MQ_MQCACH_CLIENT_USER_ID 3567 +#define MQ_MQCACH_MCA_USER_ID_LIST 3568 +#define MQ_MQCACH_SSL_CIPHER_SUITE 3569 +#define MQ_MQCACH_LAST_USED 3569 + +/****************************************************************/ +/* Values Related to Group Parameter Structures */ +/****************************************************************/ + +/* Group Parameter Types */ +#define MQ_MQGACF_FIRST 8001 +#define MQ_MQGACF_COMMAND_CONTEXT 8001 +#define MQ_MQGACF_COMMAND_DATA 8002 +#define MQ_MQGACF_TRACE_ROUTE 8003 +#define MQ_MQGACF_OPERATION 8004 +#define MQ_MQGACF_ACTIVITY 8005 +#define MQ_MQGACF_EMBEDDED_MQMD 8006 +#define MQ_MQGACF_MESSAGE 8007 +#define MQ_MQGACF_MQMD 8008 +#define MQ_MQGACF_VALUE_NAMING 8009 +#define MQ_MQGACF_Q_ACCOUNTING_DATA 8010 +#define MQ_MQGACF_Q_STATISTICS_DATA 8011 +#define MQ_MQGACF_CHL_STATISTICS_DATA 8012 +#define MQ_MQGACF_ACTIVITY_TRACE 8013 +#define MQ_MQGACF_APP_DIST_LIST 8014 +#define MQ_MQGACF_LAST_USED 8014 + +/****************************************************************/ +/* Parameter Values */ +/****************************************************************/ + +/* Action Options */ +#define MQ_MQACT_FORCE_REMOVE 1 +#define MQ_MQACT_ADVANCE_LOG 2 +#define MQ_MQACT_COLLECT_STATISTICS 3 +#define MQ_MQACT_PUBSUB 4 +#define MQ_MQACT_ADD 5 +#define MQ_MQACT_REPLACE 6 +#define MQ_MQACT_REMOVE 7 +#define MQ_MQACT_REMOVEALL 8 +#define MQ_MQACT_FAIL 9 + +/* Asynchronous State Values */ +#define MQ_MQAS_NONE 0 +#define MQ_MQAS_STARTED 1 +#define MQ_MQAS_START_WAIT 2 +#define MQ_MQAS_STOPPED 3 +#define MQ_MQAS_SUSPENDED 4 +#define MQ_MQAS_SUSPENDED_TEMPORARY 5 +#define MQ_MQAS_ACTIVE 6 +#define MQ_MQAS_INACTIVE 7 + +/* Authority Values */ +#define MQ_MQAUTH_NONE 0 +#define MQ_MQAUTH_ALT_USER_AUTHORITY 1 +#define MQ_MQAUTH_BROWSE 2 +#define MQ_MQAUTH_CHANGE 3 +#define MQ_MQAUTH_CLEAR 4 +#define MQ_MQAUTH_CONNECT 5 +#define MQ_MQAUTH_CREATE 6 +#define MQ_MQAUTH_DELETE 7 +#define MQ_MQAUTH_DISPLAY 8 +#define MQ_MQAUTH_INPUT 9 +#define MQ_MQAUTH_INQUIRE 10 +#define MQ_MQAUTH_OUTPUT 11 +#define MQ_MQAUTH_PASS_ALL_CONTEXT 12 +#define MQ_MQAUTH_PASS_IDENTITY_CONTEXT 13 +#define MQ_MQAUTH_SET 14 +#define MQ_MQAUTH_SET_ALL_CONTEXT 15 +#define MQ_MQAUTH_SET_IDENTITY_CONTEXT 16 +#define MQ_MQAUTH_CONTROL 17 +#define MQ_MQAUTH_CONTROL_EXTENDED 18 +#define MQ_MQAUTH_PUBLISH 19 +#define MQ_MQAUTH_SUBSCRIBE 20 +#define MQ_MQAUTH_RESUME 21 +#define MQ_MQAUTH_SYSTEM 22 +#define MQ_MQAUTH_ALL (-1) +#define MQ_MQAUTH_ALL_ADMIN (-2) +#define MQ_MQAUTH_ALL_MQI (-3) + +/* Authority Options */ +#define MQ_MQAUTHOPT_CUMULATIVE 0x00000100 +#define MQ_MQAUTHOPT_ENTITY_EXPLICIT 0x00000001 +#define MQ_MQAUTHOPT_ENTITY_SET 0x00000002 +#define MQ_MQAUTHOPT_NAME_ALL_MATCHING 0x00000020 +#define MQ_MQAUTHOPT_NAME_AS_WILDCARD 0x00000040 +#define MQ_MQAUTHOPT_NAME_EXPLICIT 0x00000010 + +/* Bridge Types */ +#define MQ_MQBT_OTMA 1 + +/* Refresh Repository Options */ +#define MQ_MQCFO_REFRESH_REPOSITORY_YES 1 +#define MQ_MQCFO_REFRESH_REPOSITORY_NO 0 + +/* Remove Queues Options */ +#define MQ_MQCFO_REMOVE_QUEUES_YES 1 +#define MQ_MQCFO_REMOVE_QUEUES_NO 0 + +/* CHLAUTH Type */ +#define MQ_MQCAUT_ALL 0 +#define MQ_MQCAUT_BLOCKUSER 1 +#define MQ_MQCAUT_BLOCKADDR 2 +#define MQ_MQCAUT_SSLPEERMAP 3 +#define MQ_MQCAUT_ADDRESSMAP 4 +#define MQ_MQCAUT_USERMAP 5 +#define MQ_MQCAUT_QMGRMAP 6 + +/* CF Status */ +#define MQ_MQCFSTATUS_NOT_FOUND 0 +#define MQ_MQCFSTATUS_ACTIVE 1 +#define MQ_MQCFSTATUS_IN_RECOVER 2 +#define MQ_MQCFSTATUS_IN_BACKUP 3 +#define MQ_MQCFSTATUS_FAILED 4 +#define MQ_MQCFSTATUS_NONE 5 +#define MQ_MQCFSTATUS_UNKNOWN 6 +#define MQ_MQCFSTATUS_RECOVERED 7 +#define MQ_MQCFSTATUS_EMPTY 8 +#define MQ_MQCFSTATUS_NEW 9 +#define MQ_MQCFSTATUS_ADMIN_INCOMPLETE 20 +#define MQ_MQCFSTATUS_NEVER_USED 21 +#define MQ_MQCFSTATUS_NO_BACKUP 22 +#define MQ_MQCFSTATUS_NOT_FAILED 23 +#define MQ_MQCFSTATUS_NOT_RECOVERABLE 24 +#define MQ_MQCFSTATUS_XES_ERROR 25 + +/* CF Types */ +#define MQ_MQCFTYPE_APPL 0 +#define MQ_MQCFTYPE_ADMIN 1 + +/* Indoubt Status */ +#define MQ_MQCHIDS_NOT_INDOUBT 0 +#define MQ_MQCHIDS_INDOUBT 1 + +/* Channel Dispositions */ +#define MQ_MQCHLD_ALL (-1) +#define MQ_MQCHLD_DEFAULT 1 +#define MQ_MQCHLD_SHARED 2 +#define MQ_MQCHLD_PRIVATE 4 +#define MQ_MQCHLD_FIXSHARED 5 + +/* Use ClientID */ +#define MQ_MQUCI_YES 1 +#define MQ_MQUCI_NO 0 + +/* Channel Status */ +#define MQ_MQCHS_INACTIVE 0 +#define MQ_MQCHS_BINDING 1 +#define MQ_MQCHS_STARTING 2 +#define MQ_MQCHS_RUNNING 3 +#define MQ_MQCHS_STOPPING 4 +#define MQ_MQCHS_RETRYING 5 +#define MQ_MQCHS_STOPPED 6 +#define MQ_MQCHS_REQUESTING 7 +#define MQ_MQCHS_PAUSED 8 +#define MQ_MQCHS_DISCONNECTED 9 +#define MQ_MQCHS_INITIALIZING 13 +#define MQ_MQCHS_SWITCHING 14 + +/* Channel Substates */ +#define MQ_MQCHSSTATE_OTHER 0 +#define MQ_MQCHSSTATE_END_OF_BATCH 100 +#define MQ_MQCHSSTATE_SENDING 200 +#define MQ_MQCHSSTATE_RECEIVING 300 +#define MQ_MQCHSSTATE_SERIALIZING 400 +#define MQ_MQCHSSTATE_RESYNCHING 500 +#define MQ_MQCHSSTATE_HEARTBEATING 600 +#define MQ_MQCHSSTATE_IN_SCYEXIT 700 +#define MQ_MQCHSSTATE_IN_RCVEXIT 800 +#define MQ_MQCHSSTATE_IN_SENDEXIT 900 +#define MQ_MQCHSSTATE_IN_MSGEXIT 1000 +#define MQ_MQCHSSTATE_IN_MREXIT 1100 +#define MQ_MQCHSSTATE_IN_CHADEXIT 1200 +#define MQ_MQCHSSTATE_NET_CONNECTING 1250 +#define MQ_MQCHSSTATE_SSL_HANDSHAKING 1300 +#define MQ_MQCHSSTATE_NAME_SERVER 1400 +#define MQ_MQCHSSTATE_IN_MQPUT 1500 +#define MQ_MQCHSSTATE_IN_MQGET 1600 +#define MQ_MQCHSSTATE_IN_MQI_CALL 1700 +#define MQ_MQCHSSTATE_COMPRESSING 1800 + +/* Channel Shared Restart Options */ +#define MQ_MQCHSH_RESTART_NO 0 +#define MQ_MQCHSH_RESTART_YES 1 + +/* Channel Stop Options */ +#define MQ_MQCHSR_STOP_NOT_REQUESTED 0 +#define MQ_MQCHSR_STOP_REQUESTED 1 + +/* Channel reset requested */ +#define MQ_MQCHRR_RESET_NOT_REQUESTED 0 + +/* Channel Table Types */ +#define MQ_MQCHTAB_Q_MGR 1 +#define MQ_MQCHTAB_CLNTCONN 2 + +/* Clear Topic String Scope */ +#define MQ_MQCLRS_LOCAL 1 +#define MQ_MQCLRS_GLOBAL 2 + +/* Clear Topic String Type */ +#define MQ_MQCLRT_RETAINED 1 + +/* Command Information Values */ +#define MQ_MQCMDI_CMDSCOPE_ACCEPTED 1 +#define MQ_MQCMDI_CMDSCOPE_GENERATED 2 +#define MQ_MQCMDI_CMDSCOPE_COMPLETED 3 +#define MQ_MQCMDI_QSG_DISP_COMPLETED 4 +#define MQ_MQCMDI_COMMAND_ACCEPTED 5 +#define MQ_MQCMDI_CLUSTER_REQUEST_QUEUED 6 +#define MQ_MQCMDI_CHANNEL_INIT_STARTED 7 +#define MQ_MQCMDI_RECOVER_STARTED 11 +#define MQ_MQCMDI_BACKUP_STARTED 12 +#define MQ_MQCMDI_RECOVER_COMPLETED 13 +#define MQ_MQCMDI_SEC_TIMER_ZERO 14 +#define MQ_MQCMDI_REFRESH_CONFIGURATION 16 +#define MQ_MQCMDI_SEC_SIGNOFF_ERROR 17 +#define MQ_MQCMDI_IMS_BRIDGE_SUSPENDED 18 +#define MQ_MQCMDI_DB2_SUSPENDED 19 +#define MQ_MQCMDI_DB2_OBSOLETE_MSGS 20 +#define MQ_MQCMDI_SEC_UPPERCASE 21 +#define MQ_MQCMDI_SEC_MIXEDCASE 22 + +/* Disconnect Types */ +#define MQ_MQDISCONNECT_NORMAL 0 +#define MQ_MQDISCONNECT_IMPLICIT 1 +#define MQ_MQDISCONNECT_Q_MGR 2 + +/* Escape Types */ +#define MQ_MQET_MQSC 1 + +/* Event Origins */ +#define MQ_MQEVO_OTHER 0 +#define MQ_MQEVO_CONSOLE 1 +#define MQ_MQEVO_INIT 2 +#define MQ_MQEVO_MSG 3 +#define MQ_MQEVO_MQSET 4 +#define MQ_MQEVO_INTERNAL 5 +#define MQ_MQEVO_MQSUB 6 +#define MQ_MQEVO_CTLMSG 7 + +/* Event Recording */ +#define MQ_MQEVR_DISABLED 0 +#define MQ_MQEVR_ENABLED 1 +#define MQ_MQEVR_EXCEPTION 2 +#define MQ_MQEVR_NO_DISPLAY 3 +#define MQ_MQEVR_API_ONLY 4 +#define MQ_MQEVR_ADMIN_ONLY 5 +#define MQ_MQEVR_USER_ONLY 6 + +/* Force Options */ +#define MQ_MQFC_YES 1 +#define MQ_MQFC_NO 0 + +/* Handle States */ +#define MQ_MQHSTATE_INACTIVE 0 +#define MQ_MQHSTATE_ACTIVE 1 + +/* Inbound Dispositions */ +#define MQ_MQINBD_Q_MGR 0 +#define MQ_MQINBD_GROUP 3 + +/* Indoubt Options */ +#define MQ_MQIDO_COMMIT 1 +#define MQ_MQIDO_BACKOUT 2 + +/* Match Types */ +#define MQ_MQMATCH_GENERIC 0 +#define MQ_MQMATCH_RUNCHECK 1 +#define MQ_MQMATCH_EXACT 2 +#define MQ_MQMATCH_ALL 3 + +/* Message Channel Agent Status */ +#define MQ_MQMCAS_STOPPED 0 +#define MQ_MQMCAS_RUNNING 3 + +/* Mode Options */ +#define MQ_MQMODE_FORCE 0 +#define MQ_MQMODE_QUIESCE 1 +#define MQ_MQMODE_TERMINATE 2 + +/* Message Level Protection */ +#define MQ_MQMLP_TOLERATE_UNPROTECTED_NO 0 +#define MQ_MQMLP_TOLERATE_UNPROTECTED_YES 1 +#define MQ_MQMLP_ENCRYPTION_ALG_NONE 0 +#define MQ_MQMLP_ENCRYPTION_ALG_RC2 1 +#define MQ_MQMLP_ENCRYPTION_ALG_DES 2 +#define MQ_MQMLP_ENCRYPTION_ALG_3DES 3 +#define MQ_MQMLP_ENCRYPTION_ALG_AES128 4 +#define MQ_MQMLP_ENCRYPTION_ALG_AES256 5 +#define MQ_MQMLP_SIGN_ALG_NONE 0 +#define MQ_MQMLP_SIGN_ALG_MD5 1 +#define MQ_MQMLP_SIGN_ALG_SHA1 2 +#define MQ_MQMLP_SIGN_ALG_SHA224 3 +#define MQ_MQMLP_SIGN_ALG_SHA256 4 +#define MQ_MQMLP_SIGN_ALG_SHA384 5 +#define MQ_MQMLP_SIGN_ALG_SHA512 6 + +/* Purge Options */ +#define MQ_MQPO_YES 1 +#define MQ_MQPO_NO 0 + +/* Pub/Sub Status Type */ +#define MQ_MQPSST_ALL 0 +#define MQ_MQPSST_LOCAL 1 +#define MQ_MQPSST_PARENT 2 +#define MQ_MQPSST_CHILD 3 + +/* Pub/Sub Status */ +#define MQ_MQPS_STATUS_INACTIVE 0 +#define MQ_MQPS_STATUS_STARTING 1 +#define MQ_MQPS_STATUS_STOPPING 2 +#define MQ_MQPS_STATUS_ACTIVE 3 +#define MQ_MQPS_STATUS_COMPAT 4 +#define MQ_MQPS_STATUS_ERROR 5 +#define MQ_MQPS_STATUS_REFUSED 6 + +/* Queue Manager Definition Types */ +#define MQ_MQQMDT_EXPLICIT_CLUSTER_SENDER 1 +#define MQ_MQQMDT_AUTO_CLUSTER_SENDER 2 +#define MQ_MQQMDT_AUTO_EXP_CLUSTER_SENDER 4 +#define MQ_MQQMDT_CLUSTER_RECEIVER 3 + +/* Queue Manager Facility */ +#define MQ_MQQMFAC_IMS_BRIDGE 1 +#define MQ_MQQMFAC_DB2 2 + +/* Queue Manager Status */ +#define MQ_MQQMSTA_STARTING 1 +#define MQ_MQQMSTA_RUNNING 2 +#define MQ_MQQMSTA_QUIESCING 3 +#define MQ_MQQMSTA_STANDBY 4 + +/* Queue Manager Types */ +#define MQ_MQQMT_NORMAL 0 +#define MQ_MQQMT_REPOSITORY 1 + +/* Quiesce Options */ +#define MQ_MQQO_YES 1 +#define MQ_MQQO_NO 0 + +/* Queue Service-Interval Events */ +#define MQ_MQQSIE_NONE 0 +#define MQ_MQQSIE_HIGH 1 +#define MQ_MQQSIE_OK 2 + +/* Queue Status Open Types */ +#define MQ_MQQSOT_ALL 1 +#define MQ_MQQSOT_INPUT 2 +#define MQ_MQQSOT_OUTPUT 3 + +/* QSG Status */ +#define MQ_MQQSGS_UNKNOWN 0 +#define MQ_MQQSGS_CREATED 1 +#define MQ_MQQSGS_ACTIVE 2 +#define MQ_MQQSGS_INACTIVE 3 +#define MQ_MQQSGS_FAILED 4 +#define MQ_MQQSGS_PENDING 5 + +/* Queue Status Open Options for SET, BROWSE, INPUT */ +#define MQ_MQQSO_NO 0 +#define MQ_MQQSO_YES 1 +#define MQ_MQQSO_SHARED 1 +#define MQ_MQQSO_EXCLUSIVE 2 + +/* Queue Status Uncommitted Messages */ +#define MQ_MQQSUM_YES 1 +#define MQ_MQQSUM_NO 0 + +/* Remove Authority Record Options */ +#define MQ_MQRAR_YES 1 +#define MQ_MQRAR_NO 0 + +/* Replace Options */ +#define MQ_MQRP_YES 1 +#define MQ_MQRP_NO 0 + +/* Reason Qualifiers */ +#define MQ_MQRQ_CONN_NOT_AUTHORIZED 1 +#define MQ_MQRQ_OPEN_NOT_AUTHORIZED 2 +#define MQ_MQRQ_CLOSE_NOT_AUTHORIZED 3 +#define MQ_MQRQ_CMD_NOT_AUTHORIZED 4 +#define MQ_MQRQ_Q_MGR_STOPPING 5 +#define MQ_MQRQ_Q_MGR_QUIESCING 6 +#define MQ_MQRQ_CHANNEL_STOPPED_OK 7 +#define MQ_MQRQ_CHANNEL_STOPPED_ERROR 8 +#define MQ_MQRQ_CHANNEL_STOPPED_RETRY 9 +#define MQ_MQRQ_CHANNEL_STOPPED_DISABLED 10 +#define MQ_MQRQ_BRIDGE_STOPPED_OK 11 +#define MQ_MQRQ_BRIDGE_STOPPED_ERROR 12 +#define MQ_MQRQ_SSL_HANDSHAKE_ERROR 13 +#define MQ_MQRQ_SSL_CIPHER_SPEC_ERROR 14 +#define MQ_MQRQ_SSL_CLIENT_AUTH_ERROR 15 +#define MQ_MQRQ_SSL_PEER_NAME_ERROR 16 +#define MQ_MQRQ_SUB_NOT_AUTHORIZED 17 +#define MQ_MQRQ_SUB_DEST_NOT_AUTHORIZED 18 +#define MQ_MQRQ_SSL_UNKNOWN_REVOCATION 19 +#define MQ_MQRQ_SYS_CONN_NOT_AUTHORIZED 20 +#define MQ_MQRQ_CHANNEL_BLOCKED_ADDRESS 21 +#define MQ_MQRQ_CHANNEL_BLOCKED_USERID 22 +#define MQ_MQRQ_CHANNEL_BLOCKED_NOACCESS 23 +#define MQ_MQRQ_MAX_ACTIVE_CHANNELS 24 +#define MQ_MQRQ_MAX_CHANNELS 25 +#define MQ_MQRQ_SVRCONN_INST_LIMIT 26 +#define MQ_MQRQ_CLIENT_INST_LIMIT 27 +#define MQ_MQRQ_CAF_NOT_INSTALLED 28 + +/* Refresh Types */ +#define MQ_MQRT_CONFIGURATION 1 +#define MQ_MQRT_EXPIRY 2 +#define MQ_MQRT_NSPROC 3 +#define MQ_MQRT_PROXYSUB 4 +#define MQ_MQRT_SUB_CONFIGURATION 5 + +/* Queue Definition Scope */ +#define MQ_MQSCO_Q_MGR 1 +#define MQ_MQSCO_CELL 2 + +/* Security Items */ +#define MQ_MQSECITEM_ALL 0 +#define MQ_MQSECITEM_MQADMIN 1 +#define MQ_MQSECITEM_MQNLIST 2 +#define MQ_MQSECITEM_MQPROC 3 +#define MQ_MQSECITEM_MQQUEUE 4 +#define MQ_MQSECITEM_MQCONN 5 +#define MQ_MQSECITEM_MQCMDS 6 +#define MQ_MQSECITEM_MXADMIN 7 +#define MQ_MQSECITEM_MXNLIST 8 +#define MQ_MQSECITEM_MXPROC 9 +#define MQ_MQSECITEM_MXQUEUE 10 +#define MQ_MQSECITEM_MXTOPIC 11 + +/* Security Switches */ +#define MQ_MQSECSW_PROCESS 1 +#define MQ_MQSECSW_NAMELIST 2 +#define MQ_MQSECSW_Q 3 +#define MQ_MQSECSW_TOPIC 4 +#define MQ_MQSECSW_CONTEXT 6 +#define MQ_MQSECSW_ALTERNATE_USER 7 +#define MQ_MQSECSW_COMMAND 8 +#define MQ_MQSECSW_CONNECTION 9 +#define MQ_MQSECSW_SUBSYSTEM 10 +#define MQ_MQSECSW_COMMAND_RESOURCES 11 +#define MQ_MQSECSW_Q_MGR 15 +#define MQ_MQSECSW_QSG 16 + +/* Security Switch States */ +#define MQ_MQSECSW_OFF_FOUND 21 +#define MQ_MQSECSW_ON_FOUND 22 +#define MQ_MQSECSW_OFF_NOT_FOUND 23 +#define MQ_MQSECSW_ON_NOT_FOUND 24 +#define MQ_MQSECSW_OFF_ERROR 25 +#define MQ_MQSECSW_ON_OVERRIDDEN 26 + +/* Security Types */ +#define MQ_MQSECTYPE_AUTHSERV 1 +#define MQ_MQSECTYPE_SSL 2 +#define MQ_MQSECTYPE_CLASSES 3 + +/* Selector types */ +#define MQ_MQSELTYPE_NONE 0 +#define MQ_MQSELTYPE_STANDARD 1 +#define MQ_MQSELTYPE_EXTENDED 2 + +/* CHLAUTH QMGR State */ +#define MQ_MQCHLA_DISABLED 0 +#define MQ_MQCHLA_ENABLED 1 + +/* Transmission queue types */ +#define MQ_MQCLXQ_SCTQ 0 +#define MQ_MQCLXQ_CHANNEL 1 + +/* Suspend Status */ +#define MQ_MQSUS_YES 1 +#define MQ_MQSUS_NO 0 + +/* Syncpoint values for Pub/Sub migration */ +#define MQ_MQSYNCPOINT_YES 0 +#define MQ_MQSYNCPOINT_IFPER 1 + +/* System Parameter Values */ +#define MQ_MQSYSP_NO 0 +#define MQ_MQSYSP_YES 1 +#define MQ_MQSYSP_EXTENDED 2 +#define MQ_MQSYSP_TYPE_INITIAL 10 +#define MQ_MQSYSP_TYPE_SET 11 +#define MQ_MQSYSP_TYPE_LOG_COPY 12 +#define MQ_MQSYSP_TYPE_LOG_STATUS 13 +#define MQ_MQSYSP_TYPE_ARCHIVE_TAPE 14 +#define MQ_MQSYSP_ALLOC_BLK 20 +#define MQ_MQSYSP_ALLOC_TRK 21 +#define MQ_MQSYSP_ALLOC_CYL 22 +#define MQ_MQSYSP_STATUS_BUSY 30 +#define MQ_MQSYSP_STATUS_PREMOUNT 31 +#define MQ_MQSYSP_STATUS_AVAILABLE 32 +#define MQ_MQSYSP_STATUS_UNKNOWN 33 +#define MQ_MQSYSP_STATUS_ALLOC_ARCHIVE 34 +#define MQ_MQSYSP_STATUS_COPYING_BSDS 35 +#define MQ_MQSYSP_STATUS_COPYING_LOG 36 + +/* Export Type */ +#define MQ_MQEXT_ALL 0 +#define MQ_MQEXT_OBJECT 1 +#define MQ_MQEXT_AUTHORITY 2 + +/* Export Attrs */ +#define MQ_MQEXTATTRS_ALL 0 +#define MQ_MQEXTATTRS_NONDEF 1 + +/* System Objects */ +#define MQ_MQSYSOBJ_YES 0 +#define MQ_MQSYSOBJ_NO 1 + +/* Subscription Types */ +#define MQ_MQSUBTYPE_API 1 +#define MQ_MQSUBTYPE_ADMIN 2 +#define MQ_MQSUBTYPE_PROXY 3 +#define MQ_MQSUBTYPE_ALL (-1) +#define MQ_MQSUBTYPE_USER (-2) + +/* Time units */ +#define MQ_MQTIME_UNIT_MINS 0 +#define MQ_MQTIME_UNIT_SECS 1 + +/* User ID Support */ +#define MQ_MQUIDSUPP_NO 0 +#define MQ_MQUIDSUPP_YES 1 + +/* Undelivered values for Pub/Sub migration */ +#define MQ_MQUNDELIVERED_NORMAL 0 +#define MQ_MQUNDELIVERED_SAFE 1 +#define MQ_MQUNDELIVERED_DISCARD 2 +#define MQ_MQUNDELIVERED_KEEP 3 + +/* UOW States */ +#define MQ_MQUOWST_NONE 0 +#define MQ_MQUOWST_ACTIVE 1 +#define MQ_MQUOWST_PREPARED 2 +#define MQ_MQUOWST_UNRESOLVED 3 + +/* UOW Types */ +#define MQ_MQUOWT_Q_MGR 0 +#define MQ_MQUOWT_CICS 1 +#define MQ_MQUOWT_RRS 2 +#define MQ_MQUOWT_IMS 3 +#define MQ_MQUOWT_XA 4 + +/* Page Set Usage Values */ +#define MQ_MQUSAGE_PS_AVAILABLE 0 +#define MQ_MQUSAGE_PS_DEFINED 1 +#define MQ_MQUSAGE_PS_OFFLINE 2 +#define MQ_MQUSAGE_PS_NOT_DEFINED 3 + +/* Expand Usage Values */ +#define MQ_MQUSAGE_EXPAND_USER 1 +#define MQ_MQUSAGE_EXPAND_SYSTEM 2 +#define MQ_MQUSAGE_EXPAND_NONE 3 + +/* Data Set Usage Values */ +#define MQ_MQUSAGE_DS_OLDEST_ACTIVE_UOW 10 +#define MQ_MQUSAGE_DS_OLDEST_PS_RECOVERY 11 +#define MQ_MQUSAGE_DS_OLDEST_CF_RECOVERY 12 + +/* Multicast Properties Options */ +#define MQ_MQMCP_REPLY 2 +#define MQ_MQMCP_USER 1 +#define MQ_MQMCP_NONE 0 +#define MQ_MQMCP_ALL (-1) +#define MQ_MQMCP_COMPAT (-2) + +/* Multicast New Subscriber History Options */ +#define MQ_MQNSH_NONE 0 +#define MQ_MQNSH_ALL (-1) + +/* Activity Operations */ +#define MQ_MQOPER_UNKNOWN 0 +#define MQ_MQOPER_BROWSE 1 +#define MQ_MQOPER_DISCARD 2 +#define MQ_MQOPER_GET 3 +#define MQ_MQOPER_PUT 4 +#define MQ_MQOPER_PUT_REPLY 5 +#define MQ_MQOPER_PUT_REPORT 6 +#define MQ_MQOPER_RECEIVE 7 +#define MQ_MQOPER_SEND 8 +#define MQ_MQOPER_TRANSFORM 9 +#define MQ_MQOPER_PUBLISH 10 +#define MQ_MQOPER_EXCLUDED_PUBLISH 11 +#define MQ_MQOPER_DISCARDED_PUBLISH 12 + +/* Trace-route Max Activities (MQIACF_MAX_ACTIVITIES) */ +#define MQ_MQROUTE_UNLIMITED_ACTIVITIES 0 + +/* Trace-route Detail (MQIACF_ROUTE_DETAIL) */ +#define MQ_MQROUTE_DETAIL_LOW 0x00000002 +#define MQ_MQROUTE_DETAIL_MEDIUM 0x00000008 +#define MQ_MQROUTE_DETAIL_HIGH 0x00000020 + +/* Trace-route Forwarding (MQIACF_ROUTE_FORWARDING) */ +#define MQ_MQROUTE_FORWARD_ALL 0x00000100 +#define MQ_MQROUTE_FORWARD_IF_SUPPORTED 0x00000200 +#define MQ_MQROUTE_FORWARD_REJ_UNSUP_MASK 0xFFFF0000 + +/* Trace-route Delivery (MQIACF_ROUTE_DELIVERY) */ +#define MQ_MQROUTE_DELIVER_YES 0x00001000 +#define MQ_MQROUTE_DELIVER_NO 0x00002000 +#define MQ_MQROUTE_DELIVER_REJ_UNSUP_MASK 0xFFFF0000 + +/* Trace-route Accumulation (MQIACF_ROUTE_ACCUMULATION) */ +#define MQ_MQROUTE_ACCUMULATE_NONE 0x00010003 +#define MQ_MQROUTE_ACCUMULATE_IN_MSG 0x00010004 +#define MQ_MQROUTE_ACCUMULATE_AND_REPLY 0x00010005 + +/* Delete Options */ +#define MQ_MQDELO_NONE 0x00000000 +#define MQ_MQDELO_LOCAL 0x00000004 + +/* Publication Options */ +#define MQ_MQPUBO_NONE 0x00000000 +#define MQ_MQPUBO_CORREL_ID_AS_IDENTITY 0x00000001 +#define MQ_MQPUBO_RETAIN_PUBLICATION 0x00000002 +#define MQ_MQPUBO_OTHER_SUBSCRIBERS_ONLY 0x00000004 +#define MQ_MQPUBO_NO_REGISTRATION 0x00000008 +#define MQ_MQPUBO_IS_RETAINED_PUBLICATION 0x00000010 + +/* Registration Options */ +#define MQ_MQREGO_NONE 0x00000000 +#define MQ_MQREGO_CORREL_ID_AS_IDENTITY 0x00000001 +#define MQ_MQREGO_ANONYMOUS 0x00000002 +#define MQ_MQREGO_LOCAL 0x00000004 +#define MQ_MQREGO_DIRECT_REQUESTS 0x00000008 +#define MQ_MQREGO_NEW_PUBLICATIONS_ONLY 0x00000010 +#define MQ_MQREGO_PUBLISH_ON_REQUEST_ONLY 0x00000020 +#define MQ_MQREGO_DEREGISTER_ALL 0x00000040 +#define MQ_MQREGO_INCLUDE_STREAM_NAME 0x00000080 +#define MQ_MQREGO_INFORM_IF_RETAINED 0x00000100 +#define MQ_MQREGO_DUPLICATES_OK 0x00000200 +#define MQ_MQREGO_NON_PERSISTENT 0x00000400 +#define MQ_MQREGO_PERSISTENT 0x00000800 +#define MQ_MQREGO_PERSISTENT_AS_PUBLISH 0x00001000 +#define MQ_MQREGO_PERSISTENT_AS_Q 0x00002000 +#define MQ_MQREGO_ADD_NAME 0x00004000 +#define MQ_MQREGO_NO_ALTERATION 0x00008000 +#define MQ_MQREGO_FULL_RESPONSE 0x00010000 +#define MQ_MQREGO_JOIN_SHARED 0x00020000 +#define MQ_MQREGO_JOIN_EXCLUSIVE 0x00040000 +#define MQ_MQREGO_LEAVE_ONLY 0x00080000 +#define MQ_MQREGO_VARIABLE_USER_ID 0x00100000 +#define MQ_MQREGO_LOCKED 0x00200000 + +/* Grouped Units of Recovery */ +#define MQ_MQGUR_DISABLED 0 +#define MQ_MQGUR_ENABLED 1 + +/* Measured usage by API */ +#define MQ_MQMULC_STANDARD 0 +#define MQ_MQMULC_REFINED 1 + +/* Multi-instance Queue Managers */ +#define MQ_MQSTDBY_NOT_PERMITTED 0 +#define MQ_MQSTDBY_PERMITTED 1 + +/* Channel Types */ +#define MQ_MQCHT_SENDER 1 +#define MQ_MQCHT_SERVER 2 +#define MQ_MQCHT_RECEIVER 3 +#define MQ_MQCHT_REQUESTER 4 +#define MQ_MQCHT_ALL 5 +#define MQ_MQCHT_CLNTCONN 6 +#define MQ_MQCHT_SVRCONN 7 +#define MQ_MQCHT_CLUSRCVR 8 +#define MQ_MQCHT_CLUSSDR 9 +#define MQ_MQCHT_MQTT 10 + +/* Channel Compression */ +#define MQ_MQCOMPRESS_NOT_AVAILABLE (-1) +#define MQ_MQCOMPRESS_NONE 0 +#define MQ_MQCOMPRESS_RLE 1 +#define MQ_MQCOMPRESS_ZLIBFAST 2 +#define MQ_MQCOMPRESS_ZLIBHIGH 4 +#define MQ_MQCOMPRESS_SYSTEM 8 +#define MQ_MQCOMPRESS_ANY 0x0FFFFFFF + +/* Transport Types */ +#define MQ_MQXPT_ALL (-1) +#define MQ_MQXPT_LOCAL 0 +#define MQ_MQXPT_LU62 1 +#define MQ_MQXPT_TCP 2 +#define MQ_MQXPT_NETBIOS 3 +#define MQ_MQXPT_SPX 4 +#define MQ_MQXPT_DECNET 5 +#define MQ_MQXPT_UDP 6 + +/* Put Authority */ +#define MQ_MQPA_DEFAULT 1 +#define MQ_MQPA_CONTEXT 2 +#define MQ_MQPA_ONLY_MCA 3 +#define MQ_MQPA_ALTERNATE_OR_MCA 4 + +/* Channel Data Conversion */ +#define MQ_MQCDC_SENDER_CONVERSION 1 +#define MQ_MQCDC_NO_SENDER_CONVERSION 0 + +/* MCA Types */ +#define MQ_MQMCAT_PROCESS 1 +#define MQ_MQMCAT_THREAD 2 + +/* NonPersistent-Message Speeds */ +#define MQ_MQNPMS_NORMAL 1 +#define MQ_MQNPMS_FAST 2 + +/* SSL Client Authentication */ +#define MQ_MQSCA_REQUIRED 0 +#define MQ_MQSCA_OPTIONAL 1 + +/* KeepAlive Interval */ +#define MQ_MQKAI_AUTO (-1) + +/* Connection Affinity Values */ +#define MQ_MQCAFTY_NONE 0 +#define MQ_MQCAFTY_PREFERRED 1 + +/* Client Reconnect */ +#define MQ_MQRCN_NO 0 +#define MQ_MQRCN_YES 1 +#define MQ_MQRCN_Q_MGR 2 +#define MQ_MQRCN_DISABLED 3 + +/* Cluster Cache Types */ +#define MQ_MQCLCT_STATIC 0 +#define MQ_MQCLCT_DYNAMIC 1 + #endif + +extern guint32 tvb_get_guint32_endian(tvbuff_t *a_tvb, gint a_iOffset, gint a_rep); +extern guint16 tvb_get_guint16_endian(tvbuff_t *a_tvb, gint a_iOffset, gint a_rep); +extern guint64 tvb_get_guint64_endian(tvbuff_t *a_tvb, gint a_iOffset, gint a_rep); +extern guint32 strip_trailing_blanks(guint8 *a_str, guint32 a_size); + +DEF_VALSX(mqcc); +DEF_VALSX(mqrc); +DEF_VALSX(mqcmd); +DEF_VALSX(mqcft); +DEF_VALSX(mqat); +DEF_VALSX(selector); +DEF_VALSX(objtype); +DEF_VALSX(PrmTyp); +DEF_VALSX(PrmId); + +DEF_VALSX(MQCFINT_Parse); + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 4 + * indent-tabs-mode: t + * End: + * + * vi: set shiftwidth=4 tabstop=4 noexpandtab: + * :indentSize=4:tabSize=4:noTabs=false: + */ |