aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-mq.h
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2013-11-01 20:13:15 +0000
committerBill Meier <wmeier@newsguy.com>2013-11-01 20:13:15 +0000
commit02f2b76bdd1a6c2da03cba4f3dd210b18f040879 (patch)
tree8b7c98b7cd925ad8bc0863a98f690c0331ec732e /epan/dissectors/packet-mq.h
parent250641f5deceec0e5f43c1051581660c10c8127b (diff)
From robionekenobi: Enhancement of the packet-mq dissector (WMQ 7.1-7.5)
Add more detail for SPI Open LPOO Structure Add more int_to_vals for INQ_Q_MGR reply Add more display detail for encoding value Some fix and display correction See: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9367 svn path=/trunk/; revision=53027
Diffstat (limited to 'epan/dissectors/packet-mq.h')
-rw-r--r--epan/dissectors/packet-mq.h78
1 files changed, 52 insertions, 26 deletions
diff --git a/epan/dissectors/packet-mq.h b/epan/dissectors/packet-mq.h
index f4601029ef..e4a43f6795 100644
--- a/epan/dissectors/packet-mq.h
+++ b/epan/dissectors/packet-mq.h
@@ -28,43 +28,57 @@
#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 GET_VALSV(A) mq_##A##_vals
+#define DEF_VALSX(A) extern const value_string GET_VALSV(A)[]
+#define GET_VALSP(F) (gchar *)GET_VALSV(F)
+#define DEF_VALSB(A) const value_string GET_VALSV(A)[] = \
{
-
#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 GET_VALSV(A)_ext = VALUE_STRING_EXT_INIT(GET_VALSV(A))
+#define DEF_VALSEXTX(A) extern value_string_ext GET_VALSV(A)_ext
+
+/* | BASE_RANGE_STRING, GET_VALRV(RVALS(aaa)) */
+#define GET_VALRV(A) mq_##A##_rvals
+#define DEF_VALRX(A) extern const range_string GET_VALRV(A)[]
+#define GET_VALRP(F) (gchar *)GET_VALRV(F)
+#define DEF_VALRB(A) const range_string GET_VALRV(A)[] = \
+{
+#define DEF_VALR1(A) { (guint32)MQ_##A, (guint32)MQ_##A, #A }
+#define DEF_VALR3(A,B,C) { (guint32)MQ_##A, (guint32)MQ_##B, C }
+#define DEF_VALRE \
+{ 0, 0, NULL } \
+}
+#define DEF_VALREXTX(A) extern value_string_ext GET_VALRV(A)_ext
-#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.
-*/
-struct mqinfo
+typedef struct _mq_ccsid_t
{
- guint32 encoding; /* Message encoding */
- guint32 ccsid; /* Message character set */
- guint8 format[8]; /* Message format */
-};
+ guint32 encod;
+ guint32 ccsid;
+} mq_ccsid_t;
typedef struct _mq_parm_t
{
guint32 mq_strucID ;
guint32 mq_int_enc ;
guint32 mq_str_enc ;
- guint32 mq_encode ;
- guint16 mq_ccsid ;
guint8 mq_ctlf1 ;
guint8 mq_ctlf2 ;
guint8 mq_opcode ;
+ mq_ccsid_t mq_tsh_ccsid;
+ mq_ccsid_t mq_id_ccsid;
+ mq_ccsid_t mq_md_ccsid;
+ mq_ccsid_t mq_dlh_ccsid;
+ mq_ccsid_t mq_head_ccsid;
+ mq_ccsid_t mq_msgreq_ccsid;
+ mq_ccsid_t mq_cur_ccsid;
+ guint8 mq_format[8];
+ gint32 iOfsEnc; /* Offset to Message encoding */
+ gint32 iOfsCcs; /* Offset to Message character set */
+ gint32 iOfsFmt; /* Offset to Message format */
} mq_parm_t;
#define MQ_MQCA_XR_VERSION2 2120
@@ -336,6 +350,11 @@ typedef struct _mq_parm_t
#define MQ_MQMO_MATCH_MSG_TOKEN 0x00000020
#define MQ_MQMO_NONE 0x00000000
+/* LPOO Options */
+#define MQ_LPOO_SAVE_IDENTITY_CTXT 0x00000001
+#define MQ_LPOO_SAVE_ORIGIN_CTXT 0x00000002
+#define MQ_LPOO_SAVE_USER_CTXT 0x00000004
+
/* Group Status */
#define MQ_MQGS_NOT_IN_GROUP ' '
#define MQ_MQGS_MSG_IN_GROUP 'G'
@@ -531,13 +550,15 @@ typedef struct _mq_parm_t
#define MQ_MQENC_AS_PUBLISHED (-1)
/* Coded Character Set Identifiers */
+#define MQ_MQCCSI_AS_PUBLISHED (-4)
+#define MQ_MQCCSI_APPL (-3)
+#define MQ_MQCCSI_INHERIT (-2)
+#define MQ_MQCCSI_EMBEDDED (-1)
#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)
+#define MQ_MQCCSI_1 1
+#define MQ_MQCCSI_65535 65535
/* Formats */
#define MQ_MQFMT_NONE " "
@@ -1855,7 +1876,6 @@ typedef struct _mq_parm_t
/* Capability */
#define MQ_MQCAP_NOT_SUPPORTED 0
#define MQ_MQCAP_SUPPORTED 1
-
#define MQ_MQCAP_EXPIRED 2
/****************************************************************/
/* Values Related to Topic Attributes */
@@ -4797,12 +4817,16 @@ typedef struct _mq_parm_t
#define MQ_MQCLCT_STATIC 0
#define MQ_MQCLCT_DYNAMIC 1
+ /* Transmission queue types */
+#define MQ_MQCLXQ_SCTQ 0
+#define MQ_MQCLXQ_CHANNEL 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);
+extern gint32 strip_trailing_blanks(guint8 *a_str, guint32 a_size);
DEF_VALSX(mqcc);
DEF_VALSX(mqrc);
@@ -4817,6 +4841,8 @@ DEF_VALSX(FilterOP);
DEF_VALSX(MQCFINT_Parse);
+DEF_VALRX(ccsid);
+
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*