I wanted to know what new features were available in different releases of MQ, but could not find the information documented.
I’ve taken the CMQC C header file from different releases on z/OS and shown the differences!
From MQ V8.0 to V9.0.1
CMQC
MQCNO_CURRENT_VERSION 5MQCNO_VERSION_6 6 MQCNO_CURRENT_VERSION 6MQCNO_CURRENT_LENGTH 188MQCNO_LENGTH_6 208 MQCNO_CURRENT_LENGTH 208 MQAT_MCAST_PUBLISH 36 MQAT_AMQP 37 MQAT_DEFAULT 2 MQOT_PROT_POLICY 1019 MQOT_TT_CHANNEL 1020 MQOT_AMQP_CHANNEL 1021 MQOT_AUTH_REC 1022 MQ_AMQP_CLIENT_ID_LENGTH 256 MQRC_STORAGE_MEDIUM_FULL 2192 MQRC_ADMIN_TOPIC_STRING_ERROR 2598 MQRC_AMQP_NOT_AVAILABLE 2599 MQRC_CCDT_URL_ERROR 2600 MQADOPT_CHECK_CHANNEL_NAME 8MQCMDL_CURRENT_LEVEL 800MQCMDL_LEVEL_801 801 MQCMDL_LEVEL_802 802 MQCMDL_LEVEL_900 900 MQCMDL_LEVEL_901 901 MQCMDL_LEVEL_902 902 MQCMDL_LEVEL_903 903 MQCMDL_LEVEL_904 904 MQCMDL_LEVEL_905 905 MQCMDL_CURRENT_LEVEL 905 MQPL_APPLIANCE 28 MQCAP_EXPIRED 2 /* Media Image Scheduling */ MQMEDIMGSCHED_MANUAL 0 MQMEDIMGSCHED_AUTO 1 /* Automatic Media Image Interval */ MQMEDIMGINTVL_OFF 0 /* Automatic Media Image Log Length */ MQMEDIMGLOGLN_OFF 0 /* Media Image Recoverability */ MQIMGRCOV_NO 0 MQIMGRCOV_YES 1 MQIMGRCOV_AS_Q_MGR 2 MQCA_AMQP_SSL_CIPHER_SUITES 2137 MQCA_AMQP_VERSION 2136MQCA_LAST_USED 2135MQCA_LAST_USED 2137 MQIA_ADVANCED_CAPABILITY 273 MQIA_AMQP_CAPABILITY 265 MQIA_AUTHENTICATION_METHOD 266 MQIA_KEY_REUSE_COUNT 267MQIA_LAST_USED 264MQIA_LAST_USED 273 /* Key reuse count */ MQKEY_REUSE_DISABLED 0 MQKEY_REUSE_UNLIMITED (-1) struct tagMQCNO { ... PMQCHAR CCDTUrlPtr; /* Address of CCDT URL string */ MQLONG CCDTUrlOffset; /* Offset of CCDT URL string */ MQLONG CCDTUrlLength; /* Length of CCDT URL */ MQBYTE8 Reserved; /* Reserved */ /* Ver:6 */ } ... MQCNO_DEFAULT ....
CMQCFC
MQCMD_INQUIRE_AMQP_CAPABILITY 216 MQCMD_AMQP_DIAGNOSTICS 217 MQRCCF_CLWL_EXIT_NAME_ERROR 3374 MQRCCF_SERVICE_NAME_ERROR 3375 MQRCCF_REMOTE_CHL_TYPE_ERROR 3376 MQRCCF_TOPIC_RESTRICTED 3377 MQRCCF_CURRENT_LOG_EXTENT 3378 MQRCCF_LOG_EXTENT_NOT_FOUND 3379 MQRCCF_LOG_NOT_REDUCED 3380 MQRCCF_LOG_EXTENT_ERROR 3381 MQRCCF_ACCESS_BLOCKED 3382MQ_ENTITY_NAME_LENGTH 64MQ_ENTITY_NAME_LENGTH 1024 MQIAMO_MONITOR_CLASS 839 MQIAMO_MONITOR_TYPE 840 MQIAMO_MONITOR_ELEMENT 841 MQIAMO_MONITOR_DATATYPE 842 MQIAMO_MONITOR_FLAGS 843 MQIAMO64_QMGR_OP_DURATION 844 MQIAMO64_MONITOR_INTERVAL 845 MQIAMO_LAST_USED 845 /* Defined values for MQIAMO_MONITOR_FLAGS */ MQIAMO_MONITOR_FLAGS_NONE 0 MQIAMO_MONITOR_FLAGS_OBJNAME 1 /* Defined values for MQIAMO_MONITOR_DATATYPE */ MQIAMO_MONITOR_UNIT 1 MQIAMO_MONITOR_DELTA 2 MQIAMO_MONITOR_HUNDREDTHS 100 MQIAMO_MONITOR_KB 1024 MQIAMO_MONITOR_PERCENT 10000 MQIAMO_MONITOR_MICROSEC 1000000 MQIAMO_MONITOR_MB 1048576 MQIAMO_MONITOR_GB 100000000 MQIACF_AMQP_ATTRS 1401 MQIACF_AMQP_DIAGNOSTICS_TYPE 1406MQIACF_SYSP_MAX_CONC_OFFLOADS 1412 MQIACF_LAST_USED 1412MQIACF_AUTH_REC_TYPE 1412 MQIACF_SYSP_MAX_CONC_OFFLOADS 1413 MQIACF_SYSP_ZHYPERWRITE 1414 MQIACF_Q_MGR_STATUS_LOG 1415 MQIACF_ARCHIVE_LOG_SIZE 1416 MQIACF_MEDIA_LOG_SIZE 1417 MQIACF_RESTART_LOG_SIZE 1418 MQIACF_REUSABLE_LOG_SIZE 1419 MQIACF_LOG_IN_USE 1420 MQIACF_LOG_UTILIZATION 1421 MQIACF_LOG_REDUCTION 1422 MQIACF_LAST_USED 1422MQIACH_LAST_USED 1643MQIACH_AMQP_KEEP_ALIVE 1644 MQIACH_SECURITY_PROTOCOL 1645 MQIACH_LAST_USED 1645MQCAMO_LAST_USED 2712MQCAMO_MONITOR_CLASS 2713 MQCAMO_MONITOR_TYPE 2714 MQCAMO_MONITOR_DESC 2715 MQCAMO_LAST_USED 2715MQCACF_LAST_USED 3206MQCACF_AMQP_CLIENT_ID 3207 MQCACF_ARCHIVE_LOG_EXTENT_NAME 3208 MQCACF_LAST_USED 3208MQCACH_LAST_USED 3570MQCACH_TOPIC_ROOT 3571 MQCACH_LAST_USED 3571MQGACF_LAST_USED 8014MQGACF_MONITOR_CLASS 8015 MQGACF_MONITOR_TYPE 8016 MQGACF_MONITOR_ELEMENT 8017 MQGACF_LAST_USED 8017 - - - - - - - - - - - - - - - MQACT_REDUCE_LOG 10 MQACT_ARCHIVE_LOG 11 MQEVO_REST 8 MQRQ_FAILOVER_PERMITTED 30 MQRQ_FAILOVER_NOT_PERMITTED 31 MQRQ_STANDBY_ACTIVATED 32 MQLDAP_AUTHORMD_SRCHGRPSN 3 /* Authentication Method */ MQAUTHENTICATE_OS 0 MQAUTHENTICATE_PAM 1 /* Reduce Log Options */ MQLR_ONE 1 MQLR_AUTO (-1) MQLR_MAX (-2)
From MQ 9.0.1 to MQ 9.1.1
CMQC
MQCNO_CURRENT_VERSION 6 MQCNO_VERSION_7 7 MQCNO_CURRENT_VERSION 7 MQCNO_CURRENT_LENGTH 208 MQCNO_LENGTH_7 240 MQCNO_CURRENT_LENGTH 240 MQCNO_GENERATE_CONN_TAG 0x00200000 MQAN_NONE MQAN_NONE_ARRAY MQRC_INCOMPLETE_TRANSACTION 2147 MQRC_Q_MGR_RECONNECT_REQUESTED 2601 MQRC_SUB_JOIN_NOT_ALTERABLE 29440 /* Max queue file size values */ MQQFS_DEFAULT (-1)MQCMDL_CURRENT_LEVEL 905MQCMDL_LEVEL_910 910 MQCMDL_LEVEL_911 911 MQCMDL_LEVEL_912 912 MQCMDL_LEVEL_913 913 MQCMDL_LEVEL_914 914 MQCMDL_LEVEL_915 915 MQCMDL_CURRENT_LEVEL 915MQIA_LAST_USED 273MQIA_LAST_USED 274 MQIA_MAX_Q_FILE_SIZE 274 struct tagMQCNO { ... MQCHAR28 ApplName; /* Application name */ MQBYTE4 Reserved2; /* Reserved */ /* Ver:7 */ }; MQCNO_DEFAULT....
CMQCFC
MQCMD_AMQP_DIAGNOSTICS 217 MQCMD_INTER_Q_MGR_STATUS 218 MQCMD_INTER_Q_MGR_BALANCE 219 MQCMD_INQUIRE_APPL_STATUS 220 MQRCCF_PS_REQUIRED_MQUC 3383 MQRCCF_OBJECT_ALREADY_EXISTS 4001 MQRCCF_APPL_STATUS_NOT_FOUND 4097 MQCFT_STATUS 27MQBACF_LAST_USED 7035MQBACF_REQUEST_ID 7036 MQBACF_PROPERTIES_DATA 7037 MQBACF_CONN_TAG 7038 MQBACF_LAST_USED 7038MQIACF_LAST_USED 1422MQIACF_IGNORE_STATE 1423 MQIACF_MOVABLE_APPL_COUNT 1424 MQIACF_APPL_INFO_ATTRS 1425 MQIACF_APPL_MOVABLE 1426 MQIACF_REMOTE_QMGR_ACTIVE 1427 MQIACF_APPL_INFO_TYPE 1428 MQIACF_APPL_INFO_APPL 1429 MQIACF_APPL_INFO_QMGR 1430 MQIACF_APPL_INFO_LOCAL 1431 MQIACF_APPL_IMMOVABLE_COUNT 1432 MQIACF_BALANCED 1433 MQIACF_BALSTATE 1434 MQIACF_APPL_IMMOVABLE_REASON 1435 MQIACF_DS_ENCRYPTED 1436 MQIACF_CUR_Q_FILE_SIZE 1437 MQIACF_CUR_MAX_FILE_SIZE 1438 MQIACF_LAST_USED 1438MQIACH_LAST_USED 1645MQIACH_SPL_PROTECTION 1646 MQIACH_LAST_USED 1646 MQCACF_LAST_USED 3208MQCACF_APPL_IMMOVABLE_DATE 3209 MQCACF_APPL_IMMOVABLE_TIME 3210 MQCACF_LAST_USED 3210MQGACF_LAST_USED 8017MQGACF_APPL_STATUS 8018 MQGACF_CHANGED_APPLS 8019 MQGACF_ALL_APPLS 8020 MQGACF_APPL_BALANCE 8021 MQGACF_LAST_USED 8021 MQIS_NO 0 MQIS_YES 1 /* Movable Options */ MQAPPL_IMMOVABLE 0 MQAPPL_MOVABLE 1 /* Active Options */ MQACTIVE_NO 0 MQACTIVE_YES 1 /* Balance Options */ MQBALANCED_NO 0 MQBALANCED_YES 1 MQBALANCED_NOT_APPLICABLE 2 MQBALANCED_UNKNOWN 3 /* Balance State */ MQBALSTATE_NOT_APPLICABLE 0 MQBALSTATE_LOW 1 MQBALSTATE_OK 2 MQBALSTATE_HIGH 3 MQBALSTATE_UNKNOWN 4 /* Immovable Reasons */ MQIMMREASON_NONE 0 MQIMMREASON_NOT_CLIENT 1 MQIMMREASON_NOT_RECONNECTABLE 2 MQIMMREASON_MOVING 3 MQIMMREASON_APPLNAME_CHANGED 4
From MQ 9.1.1 to MQ 9.2.2
CMQC
MQ_NHA_INSTANCE_NAME_LENGTH 48MQCMDL_CURRENT_LEVEL 915MQCMDL_LEVEL_920 920 MQCMDL_LEVEL_921 921 MQCMDL_LEVEL_922 922 MQCMDL_CURRENT_LEVEL 922
CMQCF
MQCACF_APPL_IMMOVABLE_TIME 3210 MQCACF_LAST_USED 3210MQCACF_NHA_INSTANCE_NAME 3211 MQCACF_LAST_USED 3211 MQRQ_STANDBY_ACTIVATED 32 MQRQ_REPLICA_ACTIVATED 33
From MQ 9.2.2. to 9.2.4
CMQC
MQBNO structure and MQBNO_ constantsMQCNO_CURRENT_VERSION 7MQCNO_VERSION_8 8 MQCNO_CURRENT_VERSION 8 MQCNO_CURRENT_LENGTH 240 MQCNO_LENGTH_8 252 MQCNO_CURRENT_LENGTH 252 MQ_TEMPORARY_Q_PREFIX_LENGTH 32 MQRC_BNO_ERROR 2602 MQRC_OUTBOUND_SNI_NOT_VALID 2603 /* Streaming Queue Quality of Service Values */ MQST_BEST_EFFORT 0 MQST_MUST_DUP 1MQCMDL_CURRENT_LEVEL 922MQCMDL_LEVEL_923 923 MQCMDL_LEVEL_924 924 MQCMDL_CURRENT_LEVEL 924 MQCA_LAST_USED 2137MQCA_LAST_USED 2138MQIA_LAST_USED 274MQIA_LAST_USED 275 MQIA_STREAM_QUEUE_QOS 275 struct tagMQCNO { ... PMQBNO BalanceParmsPtr; /* Balance Parameter Pointer */ MQLONG BalanceParmsOffset; /* Balance Parameter Offset */ MQBYTE4 Reserved3; /* Reserved */ /* Ver:8 */ };
CMQCFC
MQRCCF_STREAMQ_DEST_NOT_SUPP 3384 MQRCCF_STREAMQ_DEST_CONFLICT 3385 MQRCCF_STREAMQ_NOT_SUPPORTED 3386 MQRCCF_STREAMQ_CONFLICT 3387MQBACF_LAST_USED 7038MQBACF_MQBNO_STRUCT 7039 MQBACF_LAST_USED 7039 MQIACF_SYSP_SMF_STAT_TIME_MINS 1199 MQIACF_SYSP_TRACE_CLASS 1200MQIACF_LAST_USED 1438MQIACF_BALANCING_TYPE 1439 MQIACF_BALANCING_OPTIONS 1440 MQIACF_BALANCING_TIMEOUT 1441 MQIACF_SYSP_SMF_STAT_TIME_SECS 1442 MQIACF_SYSP_SMF_ACCT_TIME_MINS 1443 MQIACF_SYSP_SMF_ACCT_TIME_SECS 1444 MQIACF_LAST_USED 1444 MQIACH_AUTH_INFO_TYPES 1622MQCACH_LAST_USED 3571MQCACH_TEMPORARY_MODEL_Q 3572 MQCACH_TEMPORARY_Q_PREFIX 3573 MQCACH_LAST_USED 3573 MQIMMREASON_APPLNAME_CHANGED 4 MQIMMREASON_IN_TRANSACTION 5 MQIMMREASON_AWAITS_REPLY 6