aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorEvan Huus <eapache@gmail.com>2013-09-15 20:56:56 +0000
committerEvan Huus <eapache@gmail.com>2013-09-15 20:56:56 +0000
commit5bd199d8f5a2aad01323b4ffb76ad25e7165e945 (patch)
tree9fadd29f471e0c6d52eed10cc6882f02900cc59a /epan/dissectors
parent5d8143a6abd41ff22633ee029f5d298301d58c3e (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/dissectors')
-rw-r--r--epan/dissectors/Makefile.common1
-rw-r--r--epan/dissectors/packet-mq-base.c4845
-rw-r--r--epan/dissectors/packet-mq-pcf.c606
-rw-r--r--epan/dissectors/packet-mq.c6055
-rw-r--r--epan/dissectors/packet-mq.h4796
5 files changed, 13443 insertions, 2860 deletions
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:
+ */