aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-assa_r3.c
diff options
context:
space:
mode:
authorsfisher <sfisher@f5534014-38df-0310-8fa8-9805f1628bb7>2011-04-22 16:27:01 +0000
committersfisher <sfisher@f5534014-38df-0310-8fa8-9805f1628bb7>2011-04-22 16:27:01 +0000
commit44d97f2a8a7de90e220bc574989b3d3ff2ce4ac3 (patch)
tree509b318e7fb55e7c68c2da994157f5fed45a5e01 /epan/dissectors/packet-assa_r3.c
parent7c8880e8d853d7d1729ea4e798c058624a6aa1fd (diff)
Found by clang 3.0 (built from trunk): various implicit conversion from
enumeration type 'xxx' to different enumeration type 'xxx' Fix: Create different structs based on the enum type contained within. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@36814 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-assa_r3.c')
-rw-r--r--epan/dissectors/packet-assa_r3.c43
1 files changed, 36 insertions, 7 deletions
diff --git a/epan/dissectors/packet-assa_r3.c b/epan/dissectors/packet-assa_r3.c
index 0a6d5b3ddc..0e5d379fa9 100644
--- a/epan/dissectors/packet-assa_r3.c
+++ b/epan/dissectors/packet-assa_r3.c
@@ -2871,12 +2871,41 @@ static hf_register_info hf [] =
{ &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_TIMEZONE], { "Timezone", "r3.manageuser.timezone", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }}
};
-typedef struct dissectorParser_s
+typedef struct commandDissectorParser_s
{
cmdCommand_e command;
void (*dissector) (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *r3_tree);
}
-dissectorParser_t;
+commandDissectorParser_t;
+
+typedef struct commandMfgDissectorParser_s
+{
+ cmdMfgCommand_e command;
+ void (*dissector) (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *r3_tree);
+}
+commandMfgDissectorParser_t;
+
+typedef struct responseTypeDissectorParser_s
+{
+ responseType_e command;
+ void (*dissector) (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *r3_tree);
+}
+responseTypeDissectorParser_t;
+
+typedef struct upstreamCommandDissectorParser_s
+{
+ upstreamCommand_e command;
+ void (*dissector) (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *r3_tree);
+}
+upstreamCommandDissectorParser_t;
+
+typedef struct mfgFieldDissectorParser_s
+{
+ mfgField_e command;
+ void (*dissector) (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *r3_tree);
+}
+mfgFieldDissectorParser_t;
+
/*
* Dissectors for each command
@@ -2914,7 +2943,7 @@ static void dissect_r3_cmd_mfgcommand (tvbuff_t *tvb, guint32 start_offset, guin
static void dissect_r3_cmd_nvrambackup (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree);
static void dissect_r3_cmd_extendedresponse (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree);
-static dissectorParser_t r3command_dissect [] =
+static commandDissectorParser_t r3command_dissect [] =
{
{ CMD_RESPONSE, dissect_r3_cmd_response },
{ CMD_HANDSHAKE, dissect_r3_cmd_handshake },
@@ -2986,7 +3015,7 @@ static void dissect_r3_cmdmfg_mortisestatelogclear (tvbuff_t *tvb, guint32 start
static void dissect_r3_cmdmfg_mortisepins (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree);
static void dissect_r3_cmdmfg_haltandcatchfire (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree);
-static dissectorParser_t r3commandmfg_dissect [] =
+static commandMfgDissectorParser_t r3commandmfg_dissect [] =
{
{ CMDMFG_SETSERIALNUMBER, dissect_r3_cmdmfg_setserialnumber },
{ CMDMFG_SETCRYPTKEY, dissect_r3_cmdmfg_setcryptkey },
@@ -3028,7 +3057,7 @@ static dissectorParser_t r3commandmfg_dissect [] =
static void dissect_r3_response_singlebyte (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree);
static void dissect_r3_response_hasdata (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree);
-static dissectorParser_t r3response_dissect [] =
+static responseTypeDissectorParser_t r3response_dissect [] =
{
{ RESPONSETYPE_OK, dissect_r3_response_singlebyte },
{ RESPONSETYPE_ERROR, dissect_r3_response_singlebyte },
@@ -3110,7 +3139,7 @@ static void dissect_r3_upstreamcommand_connectcommuser (tvbuff_t *tvb, guint32 s
static void dissect_r3_upstreamcommand_commandalarm (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree);
static void dissect_r3_upstreamcommand_dumpdebuglog (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree);
-static dissectorParser_t r3upstreamcommand_dissect [] =
+static upstreamCommandDissectorParser_t r3upstreamcommand_dissect [] =
{
{ UPSTREAMCOMMAND_RESERVED, dissect_r3_upstreamcommand_reserved },
{ UPSTREAMCOMMAND_DEBUGMSG, dissect_r3_upstreamcommand_debugmsg },
@@ -3159,7 +3188,7 @@ static void dissect_r3_upstreammfgfield_keypadchar (tvbuff_t *tvb, guint32 start
static void dissect_r3_upstreammfgfield_magcard (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree);
static void dissect_r3_upstreammfgfield_proxcard (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree);
-static dissectorParser_t r3upstreammfgfield_dissect [] =
+static mfgFieldDissectorParser_t r3upstreammfgfield_dissect [] =
{
{ MFGFIELD_IOPINS, dissect_r3_upstreammfgfield_iopins },
{ MFGFIELD_ADCS, dissect_r3_upstreammfgfield_adcs },