aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-mq.h
diff options
context:
space:
mode:
authorRobert Grange <robionekenobi@bluewin.ch>2014-11-01 11:27:51 +0100
committerBill Meier <wmeier@newsguy.com>2014-11-01 17:47:26 +0000
commit20bac9d163e0d4f0fdded3a590e1c3e4c4bc11d7 (patch)
tree00b207c455ae9c76ed3f347958f827fec5975ae0 /epan/dissectors/packet-mq.h
parentcfdd20750884c4f20ad9ef59f0685dbcffbf7462 (diff)
packet-mq: Use value_string_ext for big value string. more struct dissected
Use of value_string_ext for big value_strign array, sort them, to force use the btree search parse more integer value with value_string Bug: 9367 Change-Id: I49625cf2d46e0974cddde2c7b1767cb7d06ec47d Reviewed-on: https://code.wireshark.org/review/5037 Petri-Dish: Bill Meier <wmeier@newsguy.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Bill Meier <wmeier@newsguy.com>
Diffstat (limited to 'epan/dissectors/packet-mq.h')
-rw-r--r--epan/dissectors/packet-mq.h43
1 files changed, 34 insertions, 9 deletions
diff --git a/epan/dissectors/packet-mq.h b/epan/dissectors/packet-mq.h
index 2a752dd5cb..f8612445a0 100644
--- a/epan/dissectors/packet-mq.h
+++ b/epan/dissectors/packet-mq.h
@@ -27,7 +27,8 @@
#define __PACKET_MQ_H__
#define GET_VALSV(A) mq_##A##_vals
-#define DEF_VALSX(A) extern const value_string GET_VALSV(A)[]
+#define GET_VALSV2(A) GET_VALSV(A)
+#define DEF_VALSX(A) extern value_string GET_VALSV(A)[]
/* XXX WTF: this is broken it's used to cast value_string array to char
* This Macro is used to cast a value_string to a const gchar *
* Used in value_string MQCFINT_Parse, because this value_string
@@ -37,7 +38,7 @@
#define GET_VALSP(F) (const gchar *)GET_VALSV(F)
#define DEF_VALSB(A) static const value_string GET_VALSV(A)[] = \
{
-#define DEF_VALSBX(A) const value_string GET_VALSV(A)[] = \
+#define DEF_VALSBX(A) value_string GET_VALSV(A)[] = \
{
#define DEF_VALS1(A) { (guint32)MQ_##A, #A }
#define DEF_VALS2(A, B) { (guint32)MQ_##A, B }
@@ -45,6 +46,13 @@
{ 0, NULL } \
}
+/* VALS_EXT_STRING */
+#define GET_VALS_EXTV(A) mq_##A##_xvals
+#define GET_VALS_EXTP(A) (value_string_ext *)&GET_VALS_EXTV(A)
+#define DEF_VALS_EXTB(A) static value_string_ext GET_VALS_EXTV(A) = VALUE_STRING_EXT_INIT(mq_##A##_vals)
+#define DEF_VALS_EXTBX(A) value_string_ext GET_VALS_EXTV(A) = VALUE_STRING_EXT_INIT(mq_##A##_vals)
+#define DEF_VALS_EXTX(A) extern value_string_ext GET_VALS_EXTV(A)
+
/* | 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)[]
@@ -2767,7 +2775,6 @@ typedef struct _mq_parm_t
#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
@@ -4838,14 +4845,34 @@ extern guint64 tvb_get_guint64_endian(tvbuff_t *a_tvb, gint a_iOffset, gint a_re
extern gint32 strip_trailing_blanks(guint8 *a_str, guint32 a_size);
DEF_VALSX(mqcc);
+
DEF_VALSX(mqrc);
+DEF_VALS_EXTX(mqrc);
+
DEF_VALSX(mqcmd);
-DEF_VALSX(mqcft);
-DEF_VALSX(mqat);
+DEF_VALS_EXTX(mqcmd);
+
+DEF_VALSX(PrmId);
+DEF_VALS_EXTX(PrmId);
+
DEF_VALSX(selector);
-DEF_VALSX(objtype);
+DEF_VALS_EXTX(selector);
+
+DEF_VALSX(MQCFINT_Parse);
+DEF_VALS_EXTX(MQCFINT_Parse);
+
+DEF_VALSX(mqat);
+DEF_VALS_EXTX(mqat);
+
DEF_VALSX(PrmTyp);
-DEF_VALSX(PrmId);
+DEF_VALS_EXTX(PrmTyp);
+
+DEF_VALSX(objtype);
+DEF_VALS_EXTX(objtype);
+
+DEF_VALSX(CtlOpt);
+DEF_VALSX(mqcft);
+
DEF_VALSX(FilterOP);
DEF_VALSX(UOWControls);
DEF_VALSX(LinkType);
@@ -4853,8 +4880,6 @@ DEF_VALSX(ADSDescr);
DEF_VALSX(ConvTaskOpt);
DEF_VALSX(TaskEndStatus);
-DEF_VALSX(MQCFINT_Parse);
-
DEF_VALRX(ccsid);
DEF_VALRX(WaitIntv);
DEF_VALRX(OutDataLen);