From d318d360d5e6c5df46570cdf8d2f113913feca12 Mon Sep 17 00:00:00 2001 From: Bill Meier Date: Mon, 1 Nov 2010 17:11:04 +0000 Subject: Use value_string_ext fcns when accessing value_string arrays. svn path=/trunk/; revision=34744 --- epan/dissectors/packet-assa_r3.c | 804 ++++++++++++++++++++------------------- 1 file changed, 420 insertions(+), 384 deletions(-) (limited to 'epan/dissectors/packet-assa_r3.c') diff --git a/epan/dissectors/packet-assa_r3.c b/epan/dissectors/packet-assa_r3.c index 75f20d053a..64b848c1b2 100644 --- a/epan/dissectors/packet-assa_r3.c +++ b/epan/dissectors/packet-assa_r3.c @@ -35,8 +35,8 @@ #include "packet-assa_r3_public.h" /* - * Wireshark ID of the R3 protocol - */ + * Wireshark ID of the R3 protocol + */ static gint proto_r3 = -1; /* @@ -153,18 +153,18 @@ static gint hf_r3_setdate_seconds = -1; static gint hf_r3_deleteusers = -1; -static gint hf_r3_defineexception_number = -1; -static gint hf_r3_defineexception_startdate_month = -1; -static gint hf_r3_defineexception_startdate_day = -1; -static gint hf_r3_defineexception_startdate_hours = -1; +static gint hf_r3_defineexception_number = -1; +static gint hf_r3_defineexception_startdate_month = -1; +static gint hf_r3_defineexception_startdate_day = -1; +static gint hf_r3_defineexception_startdate_hours = -1; static gint hf_r3_defineexception_startdate_minutes = -1; -static gint hf_r3_defineexception_enddate_month = -1; -static gint hf_r3_defineexception_enddate_day = -1; -static gint hf_r3_defineexception_enddate_hours = -1; -static gint hf_r3_defineexception_enddate_minutes = -1; +static gint hf_r3_defineexception_enddate_month = -1; +static gint hf_r3_defineexception_enddate_day = -1; +static gint hf_r3_defineexception_enddate_hours = -1; +static gint hf_r3_defineexception_enddate_minutes = -1; -static gint hf_r3_defineexceptiongroup_number = -1; -static gint hf_r3_defineexceptiongroup_bits = -1; +static gint hf_r3_defineexceptiongroup_number = -1; +static gint hf_r3_defineexceptiongroup_bits = -1; static gint hf_r3_definecalendar_number = -1; static gint hf_r3_definecalendar_bits = -1; @@ -684,9 +684,9 @@ static gint ett_r3setdatetime = -1; static gint ett_r3manageuser = -1; /* - * Setup protocol subtree array + * Setup protocol subtree array */ -static gint *ett [] = +static gint *ett [] = { &ett_r3, &ett_r3header, @@ -873,7 +873,7 @@ mortiseEvent_e; /* * Print things with nice textual names */ -static const value_string r3_accessmodenames [] = +static const value_string r3_accessmodenames [] = { { ACCESSMODE_NONE, "ACCESMODE_NONE" }, { ACCESSMODE_PRIMARYONLY, "ACCESSMODE_PRIMARYONLY" }, @@ -882,8 +882,9 @@ static const value_string r3_accessmodenames [] = { ACCESSMODE_PRIMARYTHENAUX, "ACCESSMODE_PRIMARYTHENAUX" }, { 0, NULL } }; +static value_string_ext r3_accessmodenames_ext = VALUE_STRING_EXT_INIT(r3_accessmodenames); -static const value_string r3_adduserparamtypenames [] = +static const value_string r3_adduserparamtypenames [] = { { ADDUSERPARAMTYPE_DISPOSITION, "ADDUSERPARAMTYPE_DISPOSITION" }, { ADDUSERPARAMTYPE_USERNO, "ADDUSERPARAMTYPE_USERNO" }, @@ -901,8 +902,9 @@ static const value_string r3_adduserparamtypenames [] = { ADDUSERPARAMTYPE_EXCEPTIONGROUP, "ADDUSERPARAMTYPE_EXCEPTIONGROUP" }, { 0, NULL } }; +static value_string_ext r3_adduserparamtypenames_ext = VALUE_STRING_EXT_INIT(r3_adduserparamtypenames); -static const value_string r3_alarmidnames [] = +static const value_string r3_alarmidnames [] = { { ALARMID_NONE, "ALARMID_NONE" }, { ALARMID_VALIDIN, "ALARMID_VALIDIN" }, @@ -916,8 +918,9 @@ static const value_string r3_alarmidnames [] = { ALARMID_RXHELD, "ALARMID_RXHELD" }, { 0, NULL } }; +static value_string_ext r3_alarmidnames_ext = VALUE_STRING_EXT_INIT(r3_alarmidnames); -static const value_string r3_capabilitiesnames [] = +static const value_string r3_capabilitiesnames [] = { { CAPABILITIES_USERS, "CAPABILITIES_USERS" }, { CAPABILITIES_TIMEZONES, "CAPABILITIES_TIMEZONES" }, @@ -929,8 +932,9 @@ static const value_string r3_capabilitiesnames [] = { CAPABILITIES_TOTALEVENTS, "CAPABILITIES_TOTALEVENTS" }, { 0, NULL } }; +static value_string_ext r3_capabilitiesnames_ext = VALUE_STRING_EXT_INIT(r3_capabilitiesnames); -static const value_string r3_checkpointnames [] = +static const value_string r3_checkpointnames [] = { { CHECKPOINT_NONE, "CHECKPOINT_NONE" }, { CHECKPOINT_ADC, "CHECKPOINT_ADC" }, @@ -992,8 +996,9 @@ static const value_string r3_checkpointnames [] = { CHECKPOINT_DPACDEBUG, "CHECKPOINT_DPACDEBUG" }, { 0, NULL } }; +static value_string_ext r3_checkpointnames_ext = VALUE_STRING_EXT_INIT(r3_checkpointnames); -static const value_string r3_checksumresultnames [] = +static const value_string r3_checksumresultnames [] = { { CHECKSUMRESULT_CONFIGURATIONNVRAM, "CHECKSUMRESULT_CONFIGURATIONNVRAM" }, { CHECKSUMRESULT_EXCEPTIONS, "CHECKSUMRESULT_EXCEPTIONS" }, @@ -1004,8 +1009,9 @@ static const value_string r3_checksumresultnames [] = { CHECKSUMRESULT_CACHELRU, "CHECKSUMRESULT_CACHELRU" }, { 0, NULL } }; +static value_string_ext r3_checksumresultnames_ext = VALUE_STRING_EXT_INIT(r3_checksumresultnames); -static const value_string r3_cmdnames [] = +static const value_string r3_cmdnames [] = { { CMD_RESPONSE, "CMD_RESPONSE" }, { CMD_HANDSHAKE, "CMD_HANDSHAKE" }, @@ -1041,8 +1047,9 @@ static const value_string r3_cmdnames [] = { CMD_EXTENDEDRESPONSE, "CMD_EXTENDEDRESPONSE" }, { 0, NULL } }; +static value_string_ext r3_cmdnames_ext = VALUE_STRING_EXT_INIT(r3_cmdnames); -static const value_string r3_cmdmfgnames [] = +static const value_string r3_cmdmfgnames [] = { { CMDMFG_SETSERIALNUMBER, "CMDMFG_SETSERIALNUMBER" }, { CMDMFG_SETCRYPTKEY, "CMDMFG_SETCRYPTKEY" }, @@ -1081,8 +1088,9 @@ static const value_string r3_cmdmfgnames [] = { CMDMFG_HALTANDCATCHFIRE, "CMDMFG_HALTANDCATCHFIRE" }, { 0, NULL } }; +static value_string_ext r3_cmdmfgnames_ext = VALUE_STRING_EXT_INIT(r3_cmdmfgnames); -static const value_string r3_configitemnames [] = +static const value_string r3_configitemnames [] = { { CONFIGITEM_SERIAL_NUMBER, "CONFIGITEM_SERIAL_NUMBER" }, { CONFIGITEM_CRYPT_KEY, "CONFIGITEM_CRYPT_KEY" }, @@ -1243,8 +1251,9 @@ static const value_string r3_configitemnames [] = { CONFIGITEM_PFMRETURNTIME, "CONFIGITEM_PFMRETURNTIME" }, { 0, NULL } }; +static value_string_ext r3_configitemnames_ext = VALUE_STRING_EXT_INIT(r3_configitemnames); -static const value_string r3_configtypenames [] = +static const value_string r3_configtypenames [] = { { CONFIGTYPE_NONE, "CONFIGTYPE_NONE" }, { CONFIGTYPE_BOOL, "CONFIGTYPE_BOOL" }, @@ -1254,8 +1263,9 @@ static const value_string r3_configtypenames [] = { CONFIGTYPE_STRING, "CONFIGTYPE_STRING" }, { 0, NULL } }; +static value_string_ext r3_configtypenames_ext = VALUE_STRING_EXT_INIT(r3_configtypenames); -static const value_string r3_dispositionnames [] = +static const value_string r3_dispositionnames [] = { { DISPOSITION_ADD, "DISPOSITION_ADD" }, { DISPOSITION_REPLACE, "DISPOSITION_REPLACE" }, @@ -1264,15 +1274,17 @@ static const value_string r3_dispositionnames [] = { DISPOSITION_RETRIEVE, "DISPOSITION_RETRIEVE" }, { 0, NULL } }; +static value_string_ext r3_dispositionnames_ext = VALUE_STRING_EXT_INIT(r3_dispositionnames); -static const value_string r3_deleteusersnames [] = +static const value_string r3_deleteusersnames [] = { { DELETEUSERS_ALL, "DELETEUSER_ALL" }, { DELETEUSERS_CACHED, "DELETEUSER_CACHED" }, { 0, NULL } }; +static value_string_ext r3_deleteusersnames_ext = VALUE_STRING_EXT_INIT(r3_deleteusersnames); -static const value_string r3_downloadfirmwarenames [] = +static const value_string r3_downloadfirmwarenames [] = { { DOWNLOADFIRMWARE_START, "DOWNLOADFIRMWARE_START" }, { DOWNLOADFIRMWARE_DATA, "DOWNLOADFIRMWARE_DATA" }, @@ -1281,8 +1293,9 @@ static const value_string r3_downloadfirmwarenames [] = { DOWNLOADFIRMWARE_RESET, "DOWNLOADFIRMWARE_RESET" }, { 0, NULL } }; +static value_string_ext r3_downloadfirmwarenames_ext = VALUE_STRING_EXT_INIT(r3_downloadfirmwarenames); -static const value_string r3_encryptionschemenames [] = +static const value_string r3_encryptionschemenames [] = { { ENCRYPTIONSCHEME_NONE, "ENCRYPTIONSCHEME_NONE" }, { ENCRYPTIONSCHEME_ROLLING, "ENCRYPTIONSCHEME_ROLLING" }, @@ -1291,8 +1304,9 @@ static const value_string r3_encryptionschemenames [] = { ENCRYPTIONSCHEME_AES, "ENCRYPTIONSCHEME_AES" }, { 0, NULL } }; +static value_string_ext r3_encryptionschemenames_ext = VALUE_STRING_EXT_INIT(r3_encryptionschemenames); -static const value_string r3_eventnames [] = +static const value_string r3_eventnames [] = { { EVENT_INVALIDPIN, "EVENT_INVALIDPIN" }, { EVENT_USER, "EVENT_USER" }, @@ -1354,13 +1368,13 @@ static const value_string r3_eventnames [] = { EVENT_ALARMLOGWRAPPED, "EVENT_ALARMLOGWRAPPED" }, { EVENT_RADIOBUSYEMERGENCY, "EVENT_RADIOBUSYEMERGENCY" }, { EVENT_RADIOBUSYSUPERVISOR, "EVENT_RADIOBUSYSUPERVISOR" }, - { EVENT_RADIOBUSYONETIME, "EVENT_RADIOBUSYONETIME" }, - { EVENT_RADIOBUSYUSER, "EVENT_RADIOBUSYUSER" }, - { EVENT_RADIOBUSYPANIC, "EVENT_RADIOBUSYPANIC" }, - { EVENT_RADIOBUSYREX, "EVENT_RADIOBUSYREX" }, - { EVENT_RADIOBUSYLOCKOUT, "EVENT_RADIOBUSYLOCKOUT" }, - { EVENT_RADIOBUSYRELOCK, "EVENT_RADIOBUSYRELOCK" }, - { EVENT_BATTERYCHECKHELDOFF, "EVENT_BATTERYCHECKHELDOFF" }, + { EVENT_RADIOBUSYONETIME, "EVENT_RADIOBUSYONETIME" }, + { EVENT_RADIOBUSYUSER, "EVENT_RADIOBUSYUSER" }, + { EVENT_RADIOBUSYPANIC, "EVENT_RADIOBUSYPANIC" }, + { EVENT_RADIOBUSYREX, "EVENT_RADIOBUSYREX" }, + { EVENT_RADIOBUSYLOCKOUT, "EVENT_RADIOBUSYLOCKOUT" }, + { EVENT_RADIOBUSYRELOCK, "EVENT_RADIOBUSYRELOCK" }, + { EVENT_BATTERYCHECKHELDOFF, "EVENT_BATTERYCHECKHELDOFF" }, { EVENT_RMTAUTHREQUEST, "EVENT_RMTAUTHREQUEST" }, { EVENT_FIRMWAREUPDATE, "EVENT_FIRMWAREUPDATE" }, { EVENT_FIRMWAREUPDATEFAILED, "EVENT_FIRMWAREUPDATEFAILED" }, @@ -1373,8 +1387,9 @@ static const value_string r3_eventnames [] = { EVENT_DEBUG, "EVENT_DEBUG" }, { 0, NULL } }; +static value_string_ext r3_eventnames_ext = VALUE_STRING_EXT_INIT(r3_eventnames); -static const value_string r3_fieldtypenames [] = +static const value_string r3_fieldtypenames [] = { { FIELDTYPE_NONE, "FIELDTYPE_NONE" }, { FIELDTYPE_PIN, "FIELDTYPE_PIN" }, @@ -1382,8 +1397,9 @@ static const value_string r3_fieldtypenames [] = { FIELDTYPE_MAGCARD, "FIELDTYPE_MAGCARD" }, { 0, NULL } }; +static value_string_ext r3_fieldtypenames_ext = VALUE_STRING_EXT_INIT(r3_fieldtypenames); -static const value_string r3_filtereventnames [] = +static const value_string r3_filtereventnames [] = { { EVENT_INVALIDPIN, "EVENT_INVALIDPIN" }, { EVENT_USER, "EVENT_USER" }, @@ -1445,13 +1461,13 @@ static const value_string r3_filtereventnames [] = { EVENT_ALARMLOGWRAPPED, "EVENT_ALARMLOGWRAPPED" }, { EVENT_RADIOBUSYEMERGENCY, "EVENT_RADIOBUSYEMERGENCY" }, { EVENT_RADIOBUSYSUPERVISOR, "EVENT_RADIOBUSYSUPERVISOR" }, - { EVENT_RADIOBUSYONETIME, "EVENT_RADIOBUSYONETIME" }, - { EVENT_RADIOBUSYUSER, "EVENT_RADIOBUSYUSER" }, - { EVENT_RADIOBUSYPANIC, "EVENT_RADIOBUSYPANIC" }, - { EVENT_RADIOBUSYREX, "EVENT_RADIOBUSYREX" }, - { EVENT_RADIOBUSYLOCKOUT, "EVENT_RADIOBUSYLOCKOUT" }, - { EVENT_RADIOBUSYRELOCK, "EVENT_RADIOBUSYRELOCK" }, - { EVENT_BATTERYCHECKHELDOFF, "EVENT_BATTERYCHECKHELDOFF" }, + { EVENT_RADIOBUSYONETIME, "EVENT_RADIOBUSYONETIME" }, + { EVENT_RADIOBUSYUSER, "EVENT_RADIOBUSYUSER" }, + { EVENT_RADIOBUSYPANIC, "EVENT_RADIOBUSYPANIC" }, + { EVENT_RADIOBUSYREX, "EVENT_RADIOBUSYREX" }, + { EVENT_RADIOBUSYLOCKOUT, "EVENT_RADIOBUSYLOCKOUT" }, + { EVENT_RADIOBUSYRELOCK, "EVENT_RADIOBUSYRELOCK" }, + { EVENT_BATTERYCHECKHELDOFF, "EVENT_BATTERYCHECKHELDOFF" }, { EVENT_RMTAUTHREQUEST, "EVENT_RMTAUTHREQUEST" }, { EVENT_FIRMWAREUPDATE, "EVENT_FIRMWAREUPDATE" }, { EVENT_FIRMWAREUPDATEFAILED, "EVENT_FIRMWAREUPDATEFAILED" }, @@ -1466,64 +1482,68 @@ static const value_string r3_filtereventnames [] = { 0xff, "(Disable All Filters)" }, { 0, NULL } }; +static value_string_ext r3_filtereventnames_ext = VALUE_STRING_EXT_INIT(r3_filtereventnames); -static const value_string r3_filtertypenames [] = +static const value_string r3_filtertypenames [] = { { FILTERSELECT_RECORDING, "FILTERSELECT_RECORDING" }, { FILTERSELECT_REPORTING, "FILTERSELECT_REPORTING" }, { 0, NULL } }; - -static const value_string r3_forceitemnames [] = -{ - { FORCEITEM_RADIOPOWER, "FORCEITEM_RADIOPOWER" }, - { FORCEITEM_RADIOENABLE, "FORCEITEM_RADIOENABLE" }, - { FORCEITEM_LEDRED, "FORCEITEM_LEDRED" }, - { FORCEITEM_LEDGREEN, "FORCEITEM_LEDGREEN" }, - { FORCEITEM_LEDYELLOW, "FORCEITEM_LEDYELLOW" }, - { FORCEITEM_PIEZO, "FORCEITEM_PIEZO" }, - { FORCEITEM_MAGPOWER, "FORCEITEM_MAGPOWER" }, - { FORCEITEM_MAGLEDA, "FORCEITEM_MAGLEDA" }, - { FORCEITEM_MAGLEDB, "FORCEITEM_MAGLEDB" }, - { FORCEITEM_PROXPOWER, "FORCEITEM_PROXPOWER" }, - { FORCEITEM_PROXPING, "FORCEITEM_PROXPING" }, - { FORCEITEM_PROXMODE, "FORCEITEM_PROXMODE" }, - { FORCEITEM_I2CPOWER, "FORCEITEM_I2CPOWER" }, - { FORCEITEM_MOTORARUN, "FORCEITEM_MOTORARUN" }, - { FORCEITEM_MOTORBRUN, "FORCEITEM_MOTORBRUN" }, - { FORCEITEM_VMON, "FORCEITEM_VMON" }, - { FORCEITEM_PROX, "FORCEITEM_PROX" }, - { FORCEITEM_MORTISETEST, "FORCEITEM_MORTISETEST" }, - { FORCEITEM_KEYPADTEST, "FORCEITEM_KEYPADTEST" }, - { FORCEITEM_MAGTEST, "FORCEITEM_MAGTEST" }, - { FORCEITEM_PROXTEST, "FORCEITEM_PROXTEST" }, +static value_string_ext r3_filtertypenames_ext = VALUE_STRING_EXT_INIT(r3_filtertypenames); + +static const value_string r3_forceitemnames [] = +{ + { FORCEITEM_RADIOPOWER, "FORCEITEM_RADIOPOWER" }, + { FORCEITEM_RADIOENABLE, "FORCEITEM_RADIOENABLE" }, + { FORCEITEM_LEDRED, "FORCEITEM_LEDRED" }, + { FORCEITEM_LEDGREEN, "FORCEITEM_LEDGREEN" }, + { FORCEITEM_LEDYELLOW, "FORCEITEM_LEDYELLOW" }, + { FORCEITEM_PIEZO, "FORCEITEM_PIEZO" }, + { FORCEITEM_MAGPOWER, "FORCEITEM_MAGPOWER" }, + { FORCEITEM_MAGLEDA, "FORCEITEM_MAGLEDA" }, + { FORCEITEM_MAGLEDB, "FORCEITEM_MAGLEDB" }, + { FORCEITEM_PROXPOWER, "FORCEITEM_PROXPOWER" }, + { FORCEITEM_PROXPING, "FORCEITEM_PROXPING" }, + { FORCEITEM_PROXMODE, "FORCEITEM_PROXMODE" }, + { FORCEITEM_I2CPOWER, "FORCEITEM_I2CPOWER" }, + { FORCEITEM_MOTORARUN, "FORCEITEM_MOTORARUN" }, + { FORCEITEM_MOTORBRUN, "FORCEITEM_MOTORBRUN" }, + { FORCEITEM_VMON, "FORCEITEM_VMON" }, + { FORCEITEM_PROX, "FORCEITEM_PROX" }, + { FORCEITEM_MORTISETEST, "FORCEITEM_MORTISETEST" }, + { FORCEITEM_KEYPADTEST, "FORCEITEM_KEYPADTEST" }, + { FORCEITEM_MAGTEST, "FORCEITEM_MAGTEST" }, + { FORCEITEM_PROXTEST, "FORCEITEM_PROXTEST" }, { 0, NULL } }; - -static const value_string r3_mfgfieldnames [] = -{ - { MFGFIELD_IOPINS, "MFGFIELD_IOPINS" }, - { MFGFIELD_ADCS, "MFGFIELD_ADCS" }, - { MFGFIELD_HARDWAREID, "MFGFIELD_HARDWAREID" }, - { MFGFIELD_CHECKPOINTLOG, "MFGFIELD_CHECKPOINTLOG" }, - { MFGFIELD_CPUREGISTERS, "MFGFIELD_CPUREGISTERS" }, - { MFGFIELD_TASKFLAGS, "MFGFIELD_TASKFLAGS" }, - { MFGFIELD_TIMERCHAIN, "MFGFIELD_TIMERCHAIN" }, - { MFGFIELD_PEEKPOKE, "MFGFIELD_PEEKPOKE" }, - { MFGFIELD_LOCKSTATE, "MFGFIELD_LOCKSTATE" }, - { MFGFIELD_CAPABILITIES, "MFGFIELD_CAPABILITIES" }, - { MFGFIELD_DUMPM41T81, "MFGFIELD_DUMPM41T81" }, - { MFGFIELD_NVRAMCHECKSUMVALUE, "MFGFIELD_NVRAMCHECKSUMVALUE" }, - { MFGFIELD_CHECKSUMRESULTS, "MFGFIELD_CHECKSUMRESULTS" }, - { MFGFIELD_MORTISESTATELOG, "MFGFIELD_MORTISESTATELOG" }, - { MFGFIELD_MORTISEPINS, "MFGFIELD_MORTISEPINS" }, - { MFGFIELD_KEYPADCHAR, "MFGFIELD_KEYPADCHAR" }, - { MFGFIELD_MAGCARD, "MFGFIELD_MAGCARD" }, - { MFGFIELD_PROXCARD, "MFGFIELD_PROXCARD" }, +static value_string_ext r3_forceitemnames_ext = VALUE_STRING_EXT_INIT(r3_forceitemnames); + +static const value_string r3_mfgfieldnames [] = +{ + { MFGFIELD_IOPINS, "MFGFIELD_IOPINS" }, + { MFGFIELD_ADCS, "MFGFIELD_ADCS" }, + { MFGFIELD_HARDWAREID, "MFGFIELD_HARDWAREID" }, + { MFGFIELD_CHECKPOINTLOG, "MFGFIELD_CHECKPOINTLOG" }, + { MFGFIELD_CPUREGISTERS, "MFGFIELD_CPUREGISTERS" }, + { MFGFIELD_TASKFLAGS, "MFGFIELD_TASKFLAGS" }, + { MFGFIELD_TIMERCHAIN, "MFGFIELD_TIMERCHAIN" }, + { MFGFIELD_PEEKPOKE, "MFGFIELD_PEEKPOKE" }, + { MFGFIELD_LOCKSTATE, "MFGFIELD_LOCKSTATE" }, + { MFGFIELD_CAPABILITIES, "MFGFIELD_CAPABILITIES" }, + { MFGFIELD_DUMPM41T81, "MFGFIELD_DUMPM41T81" }, + { MFGFIELD_NVRAMCHECKSUMVALUE, "MFGFIELD_NVRAMCHECKSUMVALUE" }, + { MFGFIELD_CHECKSUMRESULTS, "MFGFIELD_CHECKSUMRESULTS" }, + { MFGFIELD_MORTISESTATELOG, "MFGFIELD_MORTISESTATELOG" }, + { MFGFIELD_MORTISEPINS, "MFGFIELD_MORTISEPINS" }, + { MFGFIELD_KEYPADCHAR, "MFGFIELD_KEYPADCHAR" }, + { MFGFIELD_MAGCARD, "MFGFIELD_MAGCARD" }, + { MFGFIELD_PROXCARD, "MFGFIELD_PROXCARD" }, { 0, NULL } }; +static value_string_ext r3_mfgfieldnames_ext = VALUE_STRING_EXT_INIT(r3_mfgfieldnames); -static const value_string r3_mortiseeventnames [] = +static const value_string r3_mortiseeventnames [] = { { MORTISEEVENT_DX_THROWN, "MORTISEEVENT_DX_THROWN" }, { MORTISEEVENT_DX_RETRACTED, "MORTISEEVENT_DX_RETRACTED" }, @@ -1541,8 +1561,9 @@ static const value_string r3_mortiseeventnames [] = { MORTISEEVENT_IGNORE, "MORTISEEVENT_IGNORE" }, { 0, NULL } }; +static value_string_ext r3_mortiseeventnames_ext = VALUE_STRING_EXT_INIT(r3_mortiseeventnames); -static const value_string r3_mortisetypenames [] = +static const value_string r3_mortisetypenames [] = { { MORTISETYPE_NONE, "MORTISETYPE_NONE" }, { MORTISETYPE_S82276, "MORTISETYPE_S82276" }, @@ -1565,8 +1586,9 @@ static const value_string r3_mortisetypenames [] = { MORTISETYPE_CR9MX33, "MORTISETYPE_CR9MX33" }, { 0, NULL } }; +static value_string_ext r3_mortisetypenames_ext = VALUE_STRING_EXT_INIT(r3_mortisetypenames); -static const value_string r3_peekpokenames [] = +static const value_string r3_peekpokenames [] = { { PEEKPOKE_READU8, "PEEKPOKE_READU8" }, { PEEKPOKE_READU16, "PEEKPOKE_READU16" }, @@ -1580,8 +1602,9 @@ static const value_string r3_peekpokenames [] = { PEEKPOKE_WRITESTRING, "PEEKPOKE_WRITESTRING" }, { 0, NULL } }; +static value_string_ext r3_peekpokenames_ext = VALUE_STRING_EXT_INIT(r3_peekpokenames); -static const value_string r3_ppmisourcenames [] = +static const value_string r3_ppmisourcenames [] = { { PPMISOURCE_NONE, "PPMISOURCE_NONE" }, { PPMISOURCE_PIN, "PPMISOURCE_PIN" }, @@ -1589,8 +1612,9 @@ static const value_string r3_ppmisourcenames [] = { PPMISOURCE_MAGCARD, "PPMISOURCE_MAGCARD" }, { 0, NULL } }; +static value_string_ext r3_ppmisourcenames_ext = VALUE_STRING_EXT_INIT(r3_ppmisourcenames); -static const value_string r3_responsetypenames [] = +static const value_string r3_responsetypenames [] = { { RESPONSETYPE_OK, "RESPONSETYPE_OK" }, { RESPONSETYPE_ERROR, "RESPONSETYPE_ERROR" }, @@ -1645,8 +1669,9 @@ static const value_string r3_responsetypenames [] = { RESPONSETYPE_INPASSAGEMODE, "RESPONSETYPE_INPASSAGEMODE" }, { 0, NULL } }; +static value_string_ext r3_responsetypenames_ext = VALUE_STRING_EXT_INIT(r3_responsetypenames); -static const value_string r3_timezonemodenames [] = +static const value_string r3_timezonemodenames [] = { { TIMEZONEMODE_NORMAL, "TIMEZONEMODE_NORMAL" }, { TIMEZONEMODE_EXCLUSION, "TIMEZONEMODE_EXCLUSION" }, @@ -1655,8 +1680,9 @@ static const value_string r3_timezonemodenames [] = { TIMEZONEMODE_UAPM, "TIMEZONEMODE_UAPM" }, { 0, NULL } }; +static value_string_ext r3_timezonemodenames_ext = VALUE_STRING_EXT_INIT(r3_timezonemodenames); -static const value_string r3_upstreamcommandnames [] = +static const value_string r3_upstreamcommandnames [] = { { UPSTREAMCOMMAND_RESERVED, "UPSTREAMCOMMAND_RESERVED" }, { UPSTREAMCOMMAND_DEBUGMSG, "UPSTREAMCOMMAND_DEBUGMSG" }, @@ -1686,8 +1712,9 @@ static const value_string r3_upstreamcommandnames [] = { UPSTREAMCOMMAND_DUMPDEBUGLOG, "UPSTREAMCOMMAND_DUMPDEBUGLOG" }, { 0, NULL } }; +static value_string_ext r3_upstreamcommandnames_ext = VALUE_STRING_EXT_INIT(r3_upstreamcommandnames); -static const value_string r3_upstreamfieldnames [] = +static const value_string r3_upstreamfieldnames [] = { { UPSTREAMFIELD_NOTUSED, "UPSTREAMFIELD_NOTUSED" }, { UPSTREAMFIELD_SERIALNUMBER, "UPSTREAMFIELD_SERIALNUMBER" }, @@ -1721,8 +1748,9 @@ static const value_string r3_upstreamfieldnames [] = { UPSTREAMFIELD_AUXCTLRVERSION, "UPSTREAMFIELD_AUXCTLRVERSION" }, { 0, NULL } }; +static value_string_ext r3_upstreamfieldnames_ext = VALUE_STRING_EXT_INIT(r3_upstreamfieldnames); -static const value_string r3_usertypenames [] = +static const value_string r3_usertypenames [] = { { USERTYPE_NONE, "USERTYPE_NONE" }, { USERTYPE_MASTER, "USERTYPE_MASTER" }, @@ -1740,8 +1768,9 @@ static const value_string r3_usertypenames [] = { USERTYPE_SUSPENDED, "USERTYPE_SUSPENDED" }, { 0, NULL } }; +static value_string_ext r3_usertypenames_ext = VALUE_STRING_EXT_INIT(r3_usertypenames); -static const value_string r3_mfgnvramdumpnames [] = +static const value_string r3_mfgnvramdumpnames [] = { { 0, "All" }, { 1, "PIC" }, @@ -1749,23 +1778,26 @@ static const value_string r3_mfgnvramdumpnames [] = { 3, "Event" }, { 0, NULL } }; +static value_string_ext r3_mfgnvramdumpnames_ext = VALUE_STRING_EXT_INIT(r3_mfgnvramdumpnames); -static const value_string r3_mfgremoteunlocknames [] = +static const value_string r3_mfgremoteunlocknames [] = { { 0, "Normal" }, { 1, "Unlock" }, { 2, "Lock" }, { 0, NULL } }; +static value_string_ext r3_mfgremoteunlocknames_ext = VALUE_STRING_EXT_INIT(r3_mfgremoteunlocknames); -static const value_string r3_mfgtestpreservenames [] = +static const value_string r3_mfgtestpreservenames [] = { { 0, "Save" }, { 1, "Restore" }, { 0, NULL } }; +static value_string_ext r3_mfgtestpreservenames_ext = VALUE_STRING_EXT_INIT(r3_mfgtestpreservenames); -static const value_string r3_daynames [] = +static const value_string r3_daynames [] = { { 0, "Sunday" }, { 1, "Monday" }, @@ -1776,6 +1808,7 @@ static const value_string r3_daynames [] = { 6, "Saturday" }, { 0, NULL } }; +static value_string_ext r3_daynames_ext = VALUE_STRING_EXT_INIT(r3_daynames); static const value_string r3_monthnames [] = { @@ -1794,6 +1827,7 @@ static const value_string r3_monthnames [] = { 12, "December" }, { 0, NULL } }; +static value_string_ext r3_monthnames_ext = VALUE_STRING_EXT_INIT(r3_monthnames); static const value_string r3_monthdaynames [] = { @@ -1831,6 +1865,7 @@ static const value_string r3_monthdaynames [] = { 31, "31st" }, { 0, NULL } }; +static value_string_ext r3_monthdaynames_ext = VALUE_STRING_EXT_INIT(r3_monthdaynames); static const value_string r3_powertablenames [] = { @@ -1844,20 +1879,21 @@ static const value_string r3_powertablenames [] = { 8, "CONFIGITEM_PT_RANGE_1..CONFIGITEM_PT_RANGE_8 = {16, 15, 15, 14, 14, 13, 13, 12}" }, { 0, NULL } }; +static value_string_ext r3_powertablenames_ext = VALUE_STRING_EXT_INIT(r3_powertablenames); -static const true_false_string tfs_rmtauthretry_flags = +static const true_false_string tfs_rmtauthretry_flags = { "Retry", "Deny" }; -static const true_false_string tfs_mortisepins_flags = +static const true_false_string tfs_mortisepins_flags = { "High", "Low" }; -static const true_false_string tfs_errornoerror_flags = +static const true_false_string tfs_errornoerror_flags = { "Error", "No Error" @@ -2158,7 +2194,7 @@ static configMap_t configMap [] = /* * */ -static hf_register_info hf [] = +static hf_register_info hf [] = { { &hf_r3_tildex3ds, { "DPAC Attention", "r3.dpac_attention", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, @@ -2170,37 +2206,37 @@ static hf_register_info hf [] = { &hf_r3_address, { "Address", "r3.address", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_packetnumber, { "Packet Number", "r3.packetnumber", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_packetlength, { "Packet Length", "r3.packetlength", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_encryption, { "Crypt Type", "r3.encryption", FT_UINT8, BASE_DEC_HEX, VALS (r3_encryptionschemenames), 0x0, NULL, HFILL }}, + { &hf_r3_encryption, { "Crypt Type", "r3.encryption", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_encryptionschemenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_crc, { "CRC", "r3.crc", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_crc_bad, { "Bad CRC", "r3.crc_bad", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_xor, { "XOR", "r3.xor", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_xor_bad, { "Bad XOR", "r3.xor_bad", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_commandlength, { "Command Length", "r3.command.length", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_command, { "Command", "r3.command.command", FT_UINT8, BASE_DEC_HEX, VALS (r3_cmdnames), 0x0, NULL, HFILL }}, + { &hf_r3_command, { "Command", "r3.command.command", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_cmdnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_commanddata, { "Command Data", "r3.command.data", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_commandmfglength, { "Mfg Command Length", "r3.commandmfg.length", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_commandmfg, { "Mfg Command", "r3.commandmfg.command", FT_UINT8, BASE_DEC_HEX, VALS (r3_cmdmfgnames), 0x0, NULL, HFILL }}, + { &hf_r3_commandmfg, { "Mfg Command", "r3.commandmfg.command", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_cmdmfgnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_commandmfgdata, { "Mfg Command Data", "r3.commandmfg.data", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_responselength, { "Response Length", "r3.response.length", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_responsecommand, { "Response Command", "r3.response.command", FT_UINT8, BASE_DEC_HEX, VALS (r3_cmdnames), 0x0, NULL, HFILL }}, - { &hf_r3_responsetype, { "Response Type", "r3.response.responsetype", FT_UINT8, BASE_DEC_HEX, VALS (r3_responsetypenames), 0x0, NULL, HFILL }}, - { &hf_r3_responsetocommand, { "Response To Command", "r3.response.to_command", FT_UINT8, BASE_DEC_HEX, VALS (r3_cmdnames), 0x0, NULL, HFILL }}, + { &hf_r3_responsecommand, { "Response Command", "r3.response.command", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_cmdnames_ext, 0x0, NULL, HFILL }}, + { &hf_r3_responsetype, { "Response Type", "r3.response.responsetype", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_responsetypenames_ext, 0x0, NULL, HFILL }}, + { &hf_r3_responsetocommand, { "Response To Command", "r3.response.to_command", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_cmdnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_responsedata, { "Response Data", "r3.response.data", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_upstreamcommand, { "Upstream Command", "r3.upstreamcommand.command", FT_UINT8, BASE_DEC_HEX, VALS (r3_upstreamcommandnames), 0x0, NULL, HFILL }}, + { &hf_r3_upstreamcommand, { "Upstream Command", "r3.upstreamcommand.command", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_upstreamcommandnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfield, { "Upstream Field", "r3.upstreamfield", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldlength, { "Field Length", "r3.upstreamfield.length", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_upstreamfieldtype, { "Field Type", "r3.upstreamfield.type", FT_UINT8, BASE_DEC_HEX, VALS (r3_upstreamfieldnames), 0x0, NULL, HFILL }}, + { &hf_r3_upstreamfieldtype, { "Field Type", "r3.upstreamfield.type", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_upstreamfieldnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfielddatalen, { "Data Length", "r3.upstreamfield.datalen", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfielderror, { "Error", "r3.upstreamfield.error", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_SERIALNUMBER], { "Serial Number", "r3.upstreamfield.serialnumber", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_NAR], { "Next Available Record", "r3.upstreamfield.nar", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_ENTRYDEVICE], { "Entry Device", "r3.upstreamfield.entrydevice", FT_UINT8, BASE_DEC_HEX, VALS (r3_ppmisourcenames), 0x0, NULL, HFILL }}, - { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_PPMIFIELDTYPE], { "PPMI Field Type", "r3.upstreamfield.ppmifieldtype", FT_UINT8, BASE_HEX_DEC, VALS (r3_ppmisourcenames), 0x0, NULL, HFILL }}, + { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_ENTRYDEVICE], { "Entry Device", "r3.upstreamfield.entrydevice", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_ppmisourcenames_ext, 0x0, NULL, HFILL }}, + { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_PPMIFIELDTYPE], { "PPMI Field Type", "r3.upstreamfield.ppmifieldtype", FT_UINT8, BASE_HEX_DEC|BASE_EXT_STRING, &r3_ppmisourcenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_PIN], { "PIN", "r3.upstreamfield.pin", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_SEQUENCENUMBER], { "Sequence Number", "r3.upstreamfield.sequencenumber", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_RESPONSEWINDOW], { "Response Window", "r3.upstreamfield.responsewindow", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, @@ -2211,12 +2247,12 @@ static hf_register_info hf [] = { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_EVENTLOGRECORDCOUNT], { "Event Log Record Count", "r3.upstreamfield.eventlogrecordcount", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_DECLINEDRECORDCOUNT], { "Declined Log Record", "r3.upstreamfield.declinedlogrecord", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_DECLINEDRECORD], { "Declined Log", "r3.upstreamfield.declinedlog", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_USERTYPE], { "User Type", "r3.upstreamfield.usertype", FT_UINT8, BASE_DEC_HEX, VALS (r3_usertypenames), 0x0, NULL, HFILL }}, + { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_USERTYPE], { "User Type", "r3.upstreamfield.usertype", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_usertypenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_ACCESSALWAYS], { "Access Always", "r3.upstreamfield.accessalways", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_CACHED], { "Cached", "r3.upstreamfield.cached", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_PRIMARYFIELDTYPE], { "Primary Field Type", "r3.upstreamfield.primaryfieldtype", FT_UINT8, BASE_DEC_HEX, VALS (r3_ppmisourcenames), 0x0, NULL, HFILL }}, - { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_AUXFIELDTYPE], { "Aux Field Type", "r3.upstreamfield.auxfieldtype", FT_UINT8, BASE_DEC_HEX, VALS (r3_ppmisourcenames), 0x0, NULL, HFILL }}, - { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_ACCESSMODE], { "Access Mode", "r3.upstreamfield.accessmode", FT_UINT8, BASE_DEC_HEX, VALS (r3_accessmodenames), 0x0, NULL, HFILL }}, + { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_PRIMARYFIELDTYPE], { "Primary Field Type", "r3.upstreamfield.primaryfieldtype", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_ppmisourcenames_ext, 0x0, NULL, HFILL }}, + { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_AUXFIELDTYPE], { "Aux Field Type", "r3.upstreamfield.auxfieldtype", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_ppmisourcenames_ext, 0x0, NULL, HFILL }}, + { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_ACCESSMODE], { "Access Mode", "r3.upstreamfield.accessmode", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_accessmodenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_EXPIREON], { "Expire On", "r3.upstreamfield.expireon", FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_USECOUNT], { "Use Count", "r3.upstreamfield.usecount", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_TIMEZONE], { "Timezone", "r3.upstreamfield.timezone", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }}, @@ -2228,10 +2264,10 @@ static hf_register_info hf [] = { &hf_r3_upstreamfieldarray [UPSTREAMFIELD_AUXCTLRVERSION], { "Aux Controller Version", "r3.upstreamfield.auxctlrversion", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_configitems, { "Configuration Item List", "r3.configitems", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_configitem, { "Configuration Item", "r3.configitem", FT_UINT8, BASE_DEC_HEX, VALS (r3_configitemnames), 0x0, NULL, HFILL }}, + { &hf_r3_configitem, { "Configuration Item", "r3.configitem", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_configitemnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_configfield, { "Config Field", "r3.configfield", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_configitemlength, { "Configuration Item Length", "r3.configitem.length", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_configitemtype, { "Configuration Item Type", "r3.configitem.type", FT_UINT8, BASE_DEC_HEX, VALS (r3_configtypenames), 0x0, NULL, HFILL }}, + { &hf_r3_configitemtype, { "Configuration Item Type", "r3.configitem.type", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_configtypenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_configitemdata, { "Configuration Item Data", "r3.configitem.data", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_configitemdata_bool, { "Configuration Item Boolean", "r3.configitem.data_boolean", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_configitemdata_8, { "Configuration Item 8-bit", "r3.configitem.data_8", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, @@ -2273,13 +2309,13 @@ static hf_register_info hf [] = { &hf_r3_timezonearray [31], { "Timezone 31", "r3.timezone.31", FT_BOOLEAN, 32, TFS (&tfs_enabled_disabled), 0x80000000, NULL, HFILL }}, { &hf_r3_expireon_year, { "Expiration Year", "r3.expireon.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_expireon_month, { "Expiration Month", "r3.expireon.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_expireon_month, { "Expiration Month", "r3.expireon.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_expireon_day, { "Expiration Day", "r3.expireon.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_datetime_year, { "Date/Time Year", "r3.datetime.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_datetime_month, { "Date/Time Month", "r3.datetime.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_datetime_month, { "Date/Time Month", "r3.datetime.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_datetime_day, { "Date/Time Day", "r3.datetime.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_datetime_dow, { "Date/Time DOW", "r3.datetime.dow", FT_UINT8, BASE_DEC_HEX, VALS (r3_daynames), 0x0, NULL, HFILL }}, + { &hf_r3_datetime_dow, { "Date/Time DOW", "r3.datetime.dow", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_daynames_ext, 0x0, NULL, HFILL }}, { &hf_r3_datetime_hours, { "Date/Time Hours", "r3.datetime.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_datetime_minutes, { "Date/Time Minutes", "r3.datetime.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_datetime_seconds, { "Date/Time Seconds", "r3.datetime.seconds", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, @@ -2287,55 +2323,55 @@ static hf_register_info hf [] = { &hf_r3_eventlog_recordnumber, { "Record Number", "r3.eventlog.recordnumber", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlog_year, { "Year", "r3.eventlog.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_eventlog_month, { "Month", "r3.eventlog.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_eventlog_month, { "Month", "r3.eventlog.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_eventlog_day, { "Day", "r3.eventlog.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlog_hour, { "Hours", "r3.eventlog.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlog_minute, { "Minutes", "r3.eventlog.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlog_second, { "Seconds", "r3.eventlog.seconds", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlog_usernumber, { "User Number", "r3.eventlog.usernumber", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_eventlog_event, { "ID", "r3.eventlog.id", FT_UINT8, BASE_DEC_HEX, VALS (r3_eventnames), 0x0, NULL, HFILL }}, + { &hf_r3_eventlog_event, { "ID", "r3.eventlog.id", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_eventnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_declinedlog_recordnumber, { "Record Number", "r3.declinedlog.recordnumber", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlog_year, { "Year", "r3.declinedlog.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_declinedlog_month, { "Month", "r3.declinedlog.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_declinedlog_month, { "Month", "r3.declinedlog.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_declinedlog_day, { "Day", "r3.declinedlog.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlog_hour, { "Hours", "r3.declinedlog.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlog_minute, { "Minutes", "r3.declinedlog.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlog_second, { "Seconds", "r3.declinedlog.seconds", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlog_usernumber, { "User Number", "r3.declinedlog.usernumber", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_declinedlog_cred1type, { "Credential 1 Type", "r3.declinedlog.cred1type", FT_UINT8, BASE_DEC_HEX, VALS (r3_fieldtypenames), 0x0, NULL, HFILL }}, - { &hf_r3_declinedlog_cred2type, { "Credential 2 Type", "r3.declinedlog.cred2type", FT_UINT8, BASE_DEC_HEX, VALS (r3_fieldtypenames), 0x0, NULL, HFILL }}, + { &hf_r3_declinedlog_cred1type, { "Credential 1 Type", "r3.declinedlog.cred1type", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_fieldtypenames_ext, 0x0, NULL, HFILL }}, + { &hf_r3_declinedlog_cred2type, { "Credential 2 Type", "r3.declinedlog.cred2type", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_fieldtypenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_declinedlog_cred1, { "Credential 1", "r3.declinedlog.cred1", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlog_cred2, { "Credential 2", "r3.declinedlog.cred2", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlog_recordnumber, { "Record Number", "r3.alarmlog.recordnumber", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlog_year, { "Year", "r3.alarmlog.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_alarmlog_month, { "Month", "r3.alarmlog.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_alarmlog_month, { "Month", "r3.alarmlog.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_alarmlog_day, { "Day", "r3.alarmlog.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlog_hour, { "Hours", "r3.alarmlog.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlog_minute, { "Minutes", "r3.alarmlog.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlog_second, { "Seconds", "r3.alarmlog.seconds", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_alarmlog_id, { "ID", "r3.alarmlog.id", FT_UINT8, BASE_DEC_HEX, VALS (r3_alarmidnames), 0x0, NULL, HFILL }}, + { &hf_r3_alarmlog_id, { "ID", "r3.alarmlog.id", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_alarmidnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_alarmlog_usernumber, { "User Number", "r3.alarmlog.usernumber", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_debugmsg, { "Debug Message", "r3.debug", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_setdate_year, { "Year", "r3.setdate.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_setdate_month, { "Month", "r3.setdate.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_setdate_month, { "Month", "r3.setdate.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_setdate_day, { "Day", "r3.setdate.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_setdate_dow, { "Day-Of-Week", "r3.setdate.dow", FT_UINT8, BASE_DEC_HEX, VALS (r3_daynames), 0x0, NULL, HFILL }}, + { &hf_r3_setdate_dow, { "Day-Of-Week", "r3.setdate.dow", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_daynames_ext, 0x0, NULL, HFILL }}, { &hf_r3_setdate_hours, { "Hours", "r3.setdate.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_setdate_minutes, { "Minutes", "r3.setdate.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_setdate_seconds, { "Seconds", "r3.setdate.seconds", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_deleteusers, { "Delete Users", "r3.deleteusers", FT_UINT8, BASE_DEC_HEX, VALS (r3_deleteusersnames), 0x0, NULL, HFILL }}, + { &hf_r3_deleteusers, { "Delete Users", "r3.deleteusers", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_deleteusersnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_defineexception_number, { "Exception Number", "r3.defineexception.number", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_defineexception_startdate_month, { "Start Month", "r3.defineexception.start.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_defineexception_startdate_month, { "Start Month", "r3.defineexception.start.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_defineexception_startdate_day, { "Start Day", "r3.defineexception.start.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_defineexception_startdate_hours, { "Start Hours", "r3.defineexception.start.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_defineexception_startdate_minutes, { "Start Minutes", "r3.defineexception.start.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_defineexception_enddate_month, { "End Month", "r3.defineexception.end.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_defineexception_enddate_month, { "End Month", "r3.defineexception.end.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_defineexception_enddate_day, { "End Day", "r3.defineexception.end.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_defineexception_enddate_hours, { "End Hours", "r3.defineexception.end.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_defineexception_enddate_minutes, { "End Minutes", "r3.defineexception.end.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, @@ -2359,42 +2395,42 @@ static hf_register_info hf [] = { &hf_r3_definetimezone_daymap [5], { "Friday", "r3.definetimezone.daymap.friday", FT_BOOLEAN, 8, TFS (&tfs_enabled_disabled), 0x00000020, NULL, HFILL }}, { &hf_r3_definetimezone_daymap [6], { "Saturday", "r3.definetimezone.daymap.saturday", FT_BOOLEAN, 8, TFS (&tfs_enabled_disabled), 0x00000040, NULL, HFILL }}, { &hf_r3_definetimezone_exceptiongroup, { "Exception Group", "r3.definetimezone.exceptiongroup", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_definetimezone_mode, { "Mode", "r3.definetimezone.mode", FT_UINT8, BASE_DEC_HEX, VALS (r3_timezonemodenames), 0x0, NULL, HFILL }}, + { &hf_r3_definetimezone_mode, { "Mode", "r3.definetimezone.mode", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_timezonemodenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_definetimezone_calendar, { "Calendar", "r3.definetimezone.calendar", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_rmtauthretry_sequence, { "Remote Auth Retry Sequence", "r3.rmtauthretry.sequence", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_rmtauthretry_retry, { "Remote Auth Retry Mode", "r3.rmtauthretry.mode", FT_BOOLEAN, 8, TFS (&tfs_rmtauthretry_flags), 0x0, NULL, HFILL }}, { &hf_r3_eventlogdump_starttime_year, { "Start Year", "r3.eventlogdump.start.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_eventlogdump_starttime_month, { "Start Month", "r3.eventlogdump.start.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_eventlogdump_starttime_month, { "Start Month", "r3.eventlogdump.start.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_eventlogdump_starttime_day, { "Start Day", "r3.eventlogdump.start.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlogdump_starttime_hours, { "Start Hours", "r3.eventlogdump.start.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlogdump_starttime_minutes, { "Start Minutes", "r3.eventlogdump.start.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlogdump_endtime_year, { "End Year", "r3.eventlogdump.end.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_eventlogdump_endtime_month, { "End Month", "r3.eventlogdump.end.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_eventlogdump_endtime_month, { "End Month", "r3.eventlogdump.end.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_eventlogdump_endtime_day, { "End Day", "r3.eventlogdump.end.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlogdump_endtime_hours, { "End Hours", "r3.eventlogdump.end.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlogdump_endtime_minutes, { "End Minutes", "r3.eventlogdump.end.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_eventlogdump_user, { "Filter User", "r3.eventlogdump.user", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlogdump_starttime_year, { "Start Year", "r3.declinedlogdump.start.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_declinedlogdump_starttime_month, { "Start Month", "r3.declinedlogdump.start.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_declinedlogdump_starttime_month, { "Start Month", "r3.declinedlogdump.start.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_declinedlogdump_starttime_day, { "Start Day", "r3.declinedlogdump.start.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlogdump_starttime_hours, { "Start Hours", "r3.declinedlogdump.start.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlogdump_starttime_minutes, { "Start Minutes", "r3.declinedlogdump.start.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlogdump_endtime_year, { "End Year", "r3.declinedlogdump.end.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_declinedlogdump_endtime_month, { "End Month", "r3.declinedlogdump.end.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_declinedlogdump_endtime_month, { "End Month", "r3.declinedlogdump.end.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_declinedlogdump_endtime_day, { "End Day", "r3.declinedlogdump.end.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlogdump_endtime_hours, { "End Hours", "r3.declinedlogdump.end.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_declinedlogdump_endtime_minutes, { "End Minutes", "r3.declinedlogdump.end.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlogdump_starttime_year, { "Start Year", "r3.alarmlogdump.start.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_alarmlogdump_starttime_month, { "Start Month", "r3.alarmlogdump.start.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_alarmlogdump_starttime_month, { "Start Month", "r3.alarmlogdump.start.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_alarmlogdump_starttime_day, { "Start Day", "r3.alarmlogdump.start.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlogdump_starttime_hours, { "Start Hours", "r3.alarmlogdump.start.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlogdump_starttime_minutes, { "Start Minutes", "r3.alarmlogdump.start.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlogdump_endtime_year, { "End Year", "r3.alarmlogdump.end.year", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_alarmlogdump_endtime_month, { "End Month", "r3.alarmlogdump.end.month", FT_UINT8, BASE_DEC_HEX, VALS (r3_monthnames), 0x0, NULL, HFILL }}, + { &hf_r3_alarmlogdump_endtime_month, { "End Month", "r3.alarmlogdump.end.month", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_monthnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_alarmlogdump_endtime_day, { "End Day", "r3.alarmlogdump.end.day", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlogdump_endtime_hours, { "End Hours", "r3.alarmlogdump.end.hours", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_alarmlogdump_endtime_minutes, { "End Minutes", "r3.alarmlogdump.end.minutes", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, @@ -2417,26 +2453,26 @@ static hf_register_info hf [] = { &hf_r3_nvramclearoptions [15], { "NVRAMCLEAROPTIONS_USEBACKUP", "r3.nvramclear.usebackup", FT_BOOLEAN, 16, TFS (&tfs_enabled_disabled), 0x00008000, NULL, HFILL }}, { &hf_r3_writeeventlog_user, { "User", "r3.writeeventlog.user", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_writeeventlog_event, { "Event", "r3.writeeventlog.event", FT_UINT8, BASE_DEC_HEX, VALS (r3_eventnames), 0x0, NULL, HFILL }}, + { &hf_r3_writeeventlog_event, { "Event", "r3.writeeventlog.event", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_eventnames_ext, 0x0, NULL, HFILL }}, - { &hf_r3_powertableselection, { "Table", "r3.powertableselection", FT_UINT8, BASE_DEC_HEX, VALS (r3_powertablenames), 0x0, NULL, HFILL }}, + { &hf_r3_powertableselection, { "Table", "r3.powertableselection", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_powertablenames_ext, 0x0, NULL, HFILL }}, - { &hf_r3_filter_type, { "Type", "r3.filter.type", FT_UINT8, BASE_DEC_HEX, VALS (r3_filtertypenames), 0x0, NULL, HFILL }}, - { &hf_r3_filter_list, { "Event", "r3.filter.event", FT_UINT8, BASE_DEC_HEX, VALS (r3_filtereventnames), 0x0, NULL, HFILL }}, + { &hf_r3_filter_type, { "Type", "r3.filter.type", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_filtertypenames_ext, 0x0, NULL, HFILL }}, + { &hf_r3_filter_list, { "Event", "r3.filter.event", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_filtereventnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_alarm_length, { "Length", "r3.alarm.length", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_alarm_id, { "ID", "r3.alarm.id", FT_UINT8, BASE_DEC_HEX, VALS (r3_alarmidnames), 0x0, NULL, HFILL }}, + { &hf_r3_alarm_id, { "ID", "r3.alarm.id", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_alarmidnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_alarm_state, { "State", "r3.alarm.state", FT_BOOLEAN, 8, TFS (&tfs_enabled_disabled), 0x0, NULL, HFILL }}, { &hf_r3_mfgfield_length, { "Field Length", "r3.mfgfield.length", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_mfgfield, { "Field", "r3.mfgfield.field", FT_UINT8, BASE_DEC_HEX, VALS (r3_mfgfieldnames), 0x0, NULL, HFILL }}, + { &hf_r3_mfgfield, { "Field", "r3.mfgfield.field", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_mfgfieldnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_mfgfield_data, { "Field Data", "r3.mfgfield.data", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_mfgsetserialnumber, { "Serial Number", "r3.mfgsetserialnumber", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_mfgsetcryptkey, { "Crypt Key", "r3.mfgsetcryptkey", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_mfgdumpnvram, { "NVRAM Section", "r3.mfgnvramdump", FT_UINT8, BASE_DEC_HEX, VALS (r3_mfgnvramdumpnames), 0x0, NULL, HFILL }}, - { &hf_r3_mfgremoteunlock, { "Remote Unlock", "r3.mfgremoteunlock", FT_UINT8, BASE_DEC_HEX, VALS (r3_mfgremoteunlocknames), 0x0, NULL, HFILL }}, - { &hf_r3_mfgtestpreserve, { "Preserve Mode", "r3.mfgtestpreserve", FT_UINT8, BASE_DEC_HEX, VALS (r3_mfgtestpreservenames), 0x0, NULL, HFILL }}, + { &hf_r3_mfgdumpnvram, { "NVRAM Section", "r3.mfgnvramdump", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_mfgnvramdumpnames_ext, 0x0, NULL, HFILL }}, + { &hf_r3_mfgremoteunlock, { "Remote Unlock", "r3.mfgremoteunlock", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_mfgremoteunlocknames_ext, 0x0, NULL, HFILL }}, + { &hf_r3_mfgtestpreserve, { "Preserve Mode", "r3.mfgtestpreserve", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_mfgtestpreservenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_adc [0], { "ADC 0", "r3.adc.0", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_adc [1], { "ADC 1", "r3.adc.1", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }}, @@ -2473,18 +2509,18 @@ static hf_register_info hf [] = { &hf_r3_mortisepins_s4, { "Mortise Pin S4", "r3.mortisepins.s4", FT_BOOLEAN, 8, TFS (&tfs_mortisepins_flags), 0x00000008, NULL, HFILL }}, { &hf_r3_checksumresults , { "Checksum Results", "r3.checksumresults", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_checksumresults_field, { "Field", "r3.checksumresults.field", FT_UINT8, BASE_HEX, VALS (r3_checksumresultnames), 0x0, NULL, HFILL }}, + { &hf_r3_checksumresults_field, { "Field", "r3.checksumresults.field", FT_UINT8, BASE_HEX|BASE_EXT_STRING, & r3_checksumresultnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_checksumresults_length, { "Length", "r3.checksumresults.length", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_checksumresults_state, { "State", "r3.checksumresults.state", FT_BOOLEAN, 8, TFS (&tfs_errornoerror_flags), 0x0, NULL, HFILL }}, - { &hf_r3_forceoptions_item, { "Item", "r3.forceoptions.item", FT_UINT8, BASE_HEX_DEC, VALS (r3_forceitemnames), 0x0, NULL, HFILL }}, + { &hf_r3_forceoptions_item, { "Item", "r3.forceoptions.item", FT_UINT8, BASE_HEX_DEC|BASE_EXT_STRING, &r3_forceitemnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_forceoptions_length, { "Length", "r3.forceoptions.length", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_forceoptions_state_8, { "State", "r3.forceoptions.state", FT_BOOLEAN, 8, TFS (&tfs_enabled_disabled), 0x0, NULL, HFILL }}, { &hf_r3_forceoptions_state_16, { "State", "r3.forceoptions.state", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_forceoptions_state_24, { "State", "r3.forceoptions.state", FT_UINT24, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_forceoptions_state_32, { "State", "r3.forceoptions.state", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_peekpoke_operation, { "Operation", "r3.peekpoke.operation", FT_UINT8, BASE_HEX_DEC, VALS (r3_peekpokenames), 0x0, NULL, HFILL }}, + { &hf_r3_peekpoke_operation, { "Operation", "r3.peekpoke.operation", FT_UINT8, BASE_HEX_DEC|BASE_EXT_STRING, &r3_peekpokenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_peekpoke_address, { "Address", "r3.peekpoke.address", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_peekpoke_length, { "Length", "r3.peekpoke.length", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_peekpoke_poke8, { "8 Bit Value", "r3.peekpoke.poke8", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, @@ -2495,7 +2531,7 @@ static hf_register_info hf [] = { &hf_r3_firmwaredownload_length, { "Length", "r3.firmwaredownload.length", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_firmwaredownload_record, { "Record Number", "r3.firmwaredownload.record", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_firmwaredownload_action, { "Action", "r3.firmwaredownload.action", FT_UINT8, BASE_HEX_DEC, VALS (r3_downloadfirmwarenames), 0x0, NULL, HFILL }}, + { &hf_r3_firmwaredownload_action, { "Action", "r3.firmwaredownload.action", FT_UINT8, BASE_HEX_DEC|BASE_EXT_STRING, &r3_downloadfirmwarenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_firmwaredownload_timeout, { "Timeout", "r3.firmwaredownload.timeout", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_firmwaredownload_nvram, { "NVRAM", "r3.firmwaredownload.nvram", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_firmwaredownload_address, { "Address", "r3.firmwaredownload.address", FT_UINT32, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, @@ -2509,7 +2545,7 @@ static hf_register_info hf [] = { &hf_r3_capabilities, { "Capability", "r3.capabilities", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_capabilities_length, { "Length", "r3.capabilies.length", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_capabilities_type, { "Type", "r3.capabilies.type", FT_UINT8, BASE_HEX_DEC, VALS (r3_capabilitiesnames), 0x0, NULL, HFILL }}, + { &hf_r3_capabilities_type, { "Type", "r3.capabilies.type", FT_UINT8, BASE_HEX_DEC|BASE_EXT_STRING, &r3_capabilitiesnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_capabilities_value, { "Value", "r3.capabilies.value", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_lockstate_passage, { "Passage", "r3.lockstate.passage", FT_BOOLEAN, 24, NULL, 0x00000001, NULL, HFILL }}, @@ -2537,11 +2573,11 @@ static hf_register_info hf [] = { &hf_r3_mortisestatelog, { "Mortise State Log", "r3.mortisestatelog", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_mortisestatelog_pointer, { "Event Pointer", "r3.mortisestatelog.pointer", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_mortisestatelog_mortisetype, { "Mortise Type", "r3.mortisestatelog.mortisetype", FT_UINT8, BASE_HEX_DEC, VALS (r3_mortisetypenames), 0x0, NULL, HFILL }}, + { &hf_r3_mortisestatelog_mortisetype, { "Mortise Type", "r3.mortisestatelog.mortisetype", FT_UINT8, BASE_HEX_DEC|BASE_EXT_STRING, &r3_mortisetypenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_mortisestatelog_waiting, { "Waiting For Door Closed", "r3.mortisestatelog.waiting", FT_BOOLEAN, 8, TFS (&tfs_true_false ), 0x00, NULL, HFILL }}, { &hf_r3_mortisestatelog_state, { "State", "r3.mortisestatelog.state", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_mortisestatelog_last, { "Last State", "r3.mortisestatelog.laststate", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_mortisestatelog_event, { "Event", "r3.mortisestatelog.event", FT_UINT8, BASE_HEX_DEC, VALS (r3_mortiseeventnames), 0x0, NULL, HFILL }}, + { &hf_r3_mortisestatelog_event, { "Event", "r3.mortisestatelog.event", FT_UINT8, BASE_HEX_DEC|BASE_EXT_STRING, &r3_mortiseeventnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_timerchain_newtick, { "New Tick", "r3.timerchain.newtick", FT_UINT16, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_r3_timerchain_currentboundary, { "Current Boundary", "r3.timerchain.currentboundary", FT_UINT8, BASE_HEX_DEC, NULL, 0x0, NULL, HFILL }}, @@ -2816,19 +2852,19 @@ static hf_register_info hf [] = { &hf_r3_adduserparamtype, { "Upstream Field", "r3.manageuser", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypelength, { "Field Length", "r3.manageuser.length", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_adduserparamtypetype, { "Field Type", "r3.manageuser.type", FT_UINT8, BASE_DEC_HEX, VALS (r3_adduserparamtypenames), 0x0, NULL, HFILL }}, + { &hf_r3_adduserparamtypetype, { "Field Type", "r3.manageuser.type", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_adduserparamtypenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypedatalen, { "Data Length", "r3.manageuser.datalen", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypeerror, { "Error", "r3.manageuser.error", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_DISPOSITION], { "Disposition", "r3.manageuser.disposition", FT_UINT8, BASE_DEC_HEX, VALS (r3_dispositionnames), 0x0, NULL, HFILL }}, + { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_DISPOSITION], { "Disposition", "r3.manageuser.disposition", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_dispositionnames_ext, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_USERNO], { "User Number", "r3.manageuser.usernumber", FT_UINT16, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_ACCESSALWAYS], { "Access Always", "r3.manageuser.accessalways", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_ACCESSMODE], { "Access Mode", "r3.manageuser.accessmode", FT_UINT8, BASE_DEC_HEX, VALS (r3_accessmodenames), 0x0, NULL, HFILL }}, + { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_ACCESSMODE], { "Access Mode", "r3.manageuser.accessmode", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_accessmodenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_CACHED], { "Cached", "r3.manageuser.cached", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_USERTYPE], { "User Type", "r3.manageuser.usertype", FT_UINT8, BASE_DEC_HEX, VALS (r3_usertypenames), 0x0, NULL, HFILL }}, + { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_USERTYPE], { "User Type", "r3.manageuser.usertype", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_usertypenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_PRIMARYFIELD], { "Primary Field", "r3.manageuser.primaryfield", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_PRIMARYFIELDTYPE], { "Primary Field Type", "r3.manageuser.primaryfieldtype", FT_UINT8, BASE_DEC_HEX, VALS (r3_ppmisourcenames), 0x0, NULL, HFILL }}, + { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_PRIMARYFIELDTYPE], { "Primary Field Type", "r3.manageuser.primaryfieldtype", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_ppmisourcenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_AUXFIELD], { "Aux Field", "r3.manageuser.auxfield", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_AUXFIELDTYPE], { "Aux Field Type", "r3.manageuser.auxfieldtype", FT_UINT8, BASE_DEC_HEX, VALS (r3_ppmisourcenames), 0x0, NULL, HFILL }}, + { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_AUXFIELDTYPE], { "Aux Field Type", "r3.manageuser.auxfieldtype", FT_UINT8, BASE_DEC_HEX|BASE_EXT_STRING, &r3_ppmisourcenames_ext, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_USECOUNT], { "Use Count", "r3.manageuser.usecount", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_EXCEPTIONGROUP], { "Exception Group", "r3.manageuser.exceptiongroup", FT_UINT8, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_r3_adduserparamtypearray [ADDUSERPARAMTYPE_EXPIREON], { "Expire On", "r3.manageuser.expireon", FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL }}, @@ -2992,7 +3028,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 dissectorParser_t r3response_dissect [] = { { RESPONSETYPE_OK, dissect_r3_response_singlebyte }, { RESPONSETYPE_ERROR, dissect_r3_response_singlebyte }, @@ -3074,80 +3110,80 @@ 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 [] = -{ - { UPSTREAMCOMMAND_RESERVED, dissect_r3_upstreamcommand_reserved }, - { UPSTREAMCOMMAND_DEBUGMSG, dissect_r3_upstreamcommand_debugmsg }, - { UPSTREAMCOMMAND_QUERYVERSION, dissect_r3_upstreamcommand_queryversion }, - { UPSTREAMCOMMAND_QUERYDATETIME, dissect_r3_upstreamcommand_querydatetime }, - { UPSTREAMCOMMAND_QUERYSERIALNUMBER, dissect_r3_upstreamcommand_queryserialnumber }, - { UPSTREAMCOMMAND_DUMPEVENTLOG, dissect_r3_upstreamcommand_dumpeventlog }, - { UPSTREAMCOMMAND_DUMPNVRAM, dissect_r3_upstreamcommand_dumpnvram }, - { UPSTREAMCOMMAND_RMTAUTHREQUEST, dissect_r3_upstreamcommand_rmtquthrequest }, - { UPSTREAMCOMMAND_RETRIEVEUSER, dissect_r3_upstreamcommand_retrieveuser }, - { UPSTREAMCOMMAND_QUERYCONFIG, dissect_r3_upstreamcommand_queryconfig }, - { UPSTREAMCOMMAND_RMTEVENTLOGRECORD, dissect_r3_upstreamcommand_rmteventlogrecord }, - { UPSTREAMCOMMAND_DPAC, dissect_r3_upstreamcommand_dpac }, - { UPSTREAMCOMMAND_NOTIFY, dissect_r3_upstreamcommand_notify }, - { UPSTREAMCOMMAND_MFG, dissect_r3_upstreamcommand_mfg }, - { UPSTREAMCOMMAND_EVENTLOGWARNING, dissect_r3_upstreamcommand_eventlogwarning }, - { UPSTREAMCOMMAND_DUMPNVRAMRLE, dissect_r3_upstreamcommand_dumpnvramrle }, - { UPSTREAMCOMMAND_RMTDECLINEDRECORD, dissect_r3_upstreamcommand_rmtdeclinedrecord }, - { UPSTREAMCOMMAND_DECLINEDWARNING, dissect_r3_upstreamcommand_declinedwarning }, - { UPSTREAMCOMMAND_DUMPDECLINEDLOG, dissect_r3_upstreamcommand_dumpdeclinedlog }, - { UPSTREAMCOMMAND_RMTALARMRECORD, dissect_r3_upstreamcommand_rmtalarmrecord }, - { UPSTREAMCOMMAND_ALARMWARNING, dissect_r3_upstreamcommand_alarmwarning }, - { UPSTREAMCOMMAND_DUMPALARMLOG, dissect_r3_upstreamcommand_dumpalarmlog }, - { UPSTREAMCOMMAND_CONNECTSCHEDULER, dissect_r3_upstreamcommand_connectscheduler }, - { UPSTREAMCOMMAND_CONNECTCOMMUSER, dissect_r3_upstreamcommand_connectcommuser }, - { UPSTREAMCOMMAND_CONNECTALARM, dissect_r3_upstreamcommand_commandalarm }, +static dissectorParser_t r3upstreamcommand_dissect [] = +{ + { UPSTREAMCOMMAND_RESERVED, dissect_r3_upstreamcommand_reserved }, + { UPSTREAMCOMMAND_DEBUGMSG, dissect_r3_upstreamcommand_debugmsg }, + { UPSTREAMCOMMAND_QUERYVERSION, dissect_r3_upstreamcommand_queryversion }, + { UPSTREAMCOMMAND_QUERYDATETIME, dissect_r3_upstreamcommand_querydatetime }, + { UPSTREAMCOMMAND_QUERYSERIALNUMBER, dissect_r3_upstreamcommand_queryserialnumber }, + { UPSTREAMCOMMAND_DUMPEVENTLOG, dissect_r3_upstreamcommand_dumpeventlog }, + { UPSTREAMCOMMAND_DUMPNVRAM, dissect_r3_upstreamcommand_dumpnvram }, + { UPSTREAMCOMMAND_RMTAUTHREQUEST, dissect_r3_upstreamcommand_rmtquthrequest }, + { UPSTREAMCOMMAND_RETRIEVEUSER, dissect_r3_upstreamcommand_retrieveuser }, + { UPSTREAMCOMMAND_QUERYCONFIG, dissect_r3_upstreamcommand_queryconfig }, + { UPSTREAMCOMMAND_RMTEVENTLOGRECORD, dissect_r3_upstreamcommand_rmteventlogrecord }, + { UPSTREAMCOMMAND_DPAC, dissect_r3_upstreamcommand_dpac }, + { UPSTREAMCOMMAND_NOTIFY, dissect_r3_upstreamcommand_notify }, + { UPSTREAMCOMMAND_MFG, dissect_r3_upstreamcommand_mfg }, + { UPSTREAMCOMMAND_EVENTLOGWARNING, dissect_r3_upstreamcommand_eventlogwarning }, + { UPSTREAMCOMMAND_DUMPNVRAMRLE, dissect_r3_upstreamcommand_dumpnvramrle }, + { UPSTREAMCOMMAND_RMTDECLINEDRECORD, dissect_r3_upstreamcommand_rmtdeclinedrecord }, + { UPSTREAMCOMMAND_DECLINEDWARNING, dissect_r3_upstreamcommand_declinedwarning }, + { UPSTREAMCOMMAND_DUMPDECLINEDLOG, dissect_r3_upstreamcommand_dumpdeclinedlog }, + { UPSTREAMCOMMAND_RMTALARMRECORD, dissect_r3_upstreamcommand_rmtalarmrecord }, + { UPSTREAMCOMMAND_ALARMWARNING, dissect_r3_upstreamcommand_alarmwarning }, + { UPSTREAMCOMMAND_DUMPALARMLOG, dissect_r3_upstreamcommand_dumpalarmlog }, + { UPSTREAMCOMMAND_CONNECTSCHEDULER, dissect_r3_upstreamcommand_connectscheduler }, + { UPSTREAMCOMMAND_CONNECTCOMMUSER, dissect_r3_upstreamcommand_connectcommuser }, + { UPSTREAMCOMMAND_CONNECTALARM, dissect_r3_upstreamcommand_commandalarm }, { UPSTREAMCOMMAND_DUMPDEBUGLOG, dissect_r3_upstreamcommand_dumpdebuglog } }; static void dissect_r3_upstreammfgfield_iopins (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_adcs (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_hardwareid (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_checkpointlog (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_cpuregisters (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_taskflags (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_timerchain (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_peekpoke (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_lockstate (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_capabilities (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_dumpm41t81 (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_nvramchecksumvalue (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_checksumresults (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_mortisestatelog (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_mortisepins (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -static void dissect_r3_upstreammfgfield_keypadchar (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); -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 void dissect_r3_upstreammfgfield_adcs (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_hardwareid (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_checkpointlog (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_cpuregisters (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_taskflags (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_timerchain (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_peekpoke (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_lockstate (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_capabilities (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_dumpm41t81 (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_nvramchecksumvalue (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_checksumresults (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_mortisestatelog (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_mortisepins (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +static void dissect_r3_upstreammfgfield_keypadchar (tvbuff_t *tvb, guint32 start_offset, guint32 length, packet_info *pinfo, proto_tree *tree); +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 [] = { { MFGFIELD_IOPINS, dissect_r3_upstreammfgfield_iopins }, - { MFGFIELD_ADCS, dissect_r3_upstreammfgfield_adcs }, - { MFGFIELD_HARDWAREID, dissect_r3_upstreammfgfield_hardwareid }, - { MFGFIELD_CHECKPOINTLOG, dissect_r3_upstreammfgfield_checkpointlog }, - { MFGFIELD_CPUREGISTERS, dissect_r3_upstreammfgfield_cpuregisters }, - { MFGFIELD_TASKFLAGS, dissect_r3_upstreammfgfield_taskflags }, - { MFGFIELD_TIMERCHAIN, dissect_r3_upstreammfgfield_timerchain }, - { MFGFIELD_PEEKPOKE, dissect_r3_upstreammfgfield_peekpoke }, - { MFGFIELD_LOCKSTATE, dissect_r3_upstreammfgfield_lockstate }, - { MFGFIELD_CAPABILITIES, dissect_r3_upstreammfgfield_capabilities }, - { MFGFIELD_DUMPM41T81, dissect_r3_upstreammfgfield_dumpm41t81 }, - { MFGFIELD_NVRAMCHECKSUMVALUE, dissect_r3_upstreammfgfield_nvramchecksumvalue }, - { MFGFIELD_CHECKSUMRESULTS, dissect_r3_upstreammfgfield_checksumresults }, - { MFGFIELD_MORTISESTATELOG, dissect_r3_upstreammfgfield_mortisestatelog }, - { MFGFIELD_MORTISEPINS, dissect_r3_upstreammfgfield_mortisepins }, - { MFGFIELD_KEYPADCHAR, dissect_r3_upstreammfgfield_keypadchar }, - { MFGFIELD_MAGCARD, dissect_r3_upstreammfgfield_magcard }, + { MFGFIELD_ADCS, dissect_r3_upstreammfgfield_adcs }, + { MFGFIELD_HARDWAREID, dissect_r3_upstreammfgfield_hardwareid }, + { MFGFIELD_CHECKPOINTLOG, dissect_r3_upstreammfgfield_checkpointlog }, + { MFGFIELD_CPUREGISTERS, dissect_r3_upstreammfgfield_cpuregisters }, + { MFGFIELD_TASKFLAGS, dissect_r3_upstreammfgfield_taskflags }, + { MFGFIELD_TIMERCHAIN, dissect_r3_upstreammfgfield_timerchain }, + { MFGFIELD_PEEKPOKE, dissect_r3_upstreammfgfield_peekpoke }, + { MFGFIELD_LOCKSTATE, dissect_r3_upstreammfgfield_lockstate }, + { MFGFIELD_CAPABILITIES, dissect_r3_upstreammfgfield_capabilities }, + { MFGFIELD_DUMPM41T81, dissect_r3_upstreammfgfield_dumpm41t81 }, + { MFGFIELD_NVRAMCHECKSUMVALUE, dissect_r3_upstreammfgfield_nvramchecksumvalue }, + { MFGFIELD_CHECKSUMRESULTS, dissect_r3_upstreammfgfield_checksumresults }, + { MFGFIELD_MORTISESTATELOG, dissect_r3_upstreammfgfield_mortisestatelog }, + { MFGFIELD_MORTISEPINS, dissect_r3_upstreammfgfield_mortisepins }, + { MFGFIELD_KEYPADCHAR, dissect_r3_upstreammfgfield_keypadchar }, + { MFGFIELD_MAGCARD, dissect_r3_upstreammfgfield_magcard }, { MFGFIELD_PROXCARD, dissect_r3_upstreammfgfield_proxcard } }; /* * *************************************************************************** - * + * * Cannot use epan/crc routines as ccitt-x25 uses a starting value of 0xffff * and we use 0x0000 (legacy compatibility). If an override method to set * the starting value existed, these could be replaced. @@ -3253,7 +3289,7 @@ static void dissect_r3_upstreamfields (tvbuff_t *tvb, guint32 start_offset _U_, proto_tree *upstreamfield_tree = NULL; const gchar *usfn = NULL; - usfn = val_to_str_const (fieldType, r3_upstreamfieldnames, "[Unknown Field]"); + usfn = val_to_str_ext_const (fieldType, &r3_upstreamfieldnames_ext, "[Unknown Field]"); upstreamfield_item = proto_tree_add_none_format (tree, hf_r3_upstreamfield, tvb, offset + 0, fieldLength, "Upstream Field: %s (%u)", usfn, fieldType); upstreamfield_tree = proto_item_add_subtree (upstreamfield_item, ett_r3upstreamfield); @@ -3510,7 +3546,7 @@ static void dissect_r3_upstreamcommand_dumpeventlog (tvbuff_t *tvb, guint32 star expert_add_info_format (pinfo, tree, PI_UNDECODED, PI_WARN, "Malformed event log record -- expected 10 octets"); else { - en = val_to_str_const (tvb_get_guint8 (tvb, start_offset + 10), r3_eventnames, "[Unknown Event]"); + en = val_to_str_ext_const (tvb_get_guint8 (tvb, start_offset + 10), &r3_eventnames_ext, "[Unknown Event]"); eventlog_item = proto_tree_add_text (tree, tvb, start_offset, 10, "Event Log Record %u (%s)", tvb_get_letohs (tvb, start_offset + 0), en); eventlog_tree = proto_item_add_subtree (eventlog_item, ett_r3eventlogrecord); @@ -3556,7 +3592,7 @@ static void dissect_r3_upstreamcommand_queryconfig (tvbuff_t *tvb, guint32 start proto_tree *upstreamfield_tree = NULL; const gchar *ci = NULL; - ci = val_to_str_const (tvb_get_guint8 (tvb, offset + 1), r3_configitemnames, "[Unknown Configuration Item]"); + ci = val_to_str_ext_const (tvb_get_guint8 (tvb, offset + 1), &r3_configitemnames_ext, "[Unknown Configuration Item]"); upstreamfield_item = proto_tree_add_text (tree, tvb, offset + 0, tvb_get_guint8 (tvb, offset + 0), "Config Field: %s (%u)", ci, tvb_get_guint8 (tvb, offset + 1)); upstreamfield_tree = proto_item_add_subtree (upstreamfield_item, ett_r3upstreamfield); @@ -3626,7 +3662,7 @@ static void dissect_r3_upstreamcommand_mfg (tvbuff_t *tvb, guint32 start_offset mfg_tvb = tvb_new_subset (tvb, 2, tvb_reported_length (tvb) - 2, tvb_reported_length (tvb) - 2); - cn = val_to_str_const (tvb_get_guint8 (tvb, 1), r3_mfgfieldnames, "[Unknown Mfg Field]"); + cn = val_to_str_ext_const (tvb_get_guint8 (tvb, 1), &r3_mfgfieldnames_ext, "[Unknown Mfg Field]"); proto_tree_add_item (tree, hf_r3_mfgfield_length, tvb, 0, 1, TRUE); @@ -3807,7 +3843,7 @@ static void dissect_r3_upstreammfgfield_checkpointlog (tvbuff_t *tvb, guint32 st const gchar *resets [] = { "Stack underflow", "Stack overflow", "Power-On", "Software", "Brown-out", "MCLR in sleep", "WDT", "Normal", "[Unknown Reset Type]" }; const gchar *desc; - desc = val_to_str_const (cp, r3_checkpointnames, "[Unknown Checkpoint]"); + desc = val_to_str_ext_const (cp, &r3_checkpointnames_ext, "[Unknown Checkpoint]"); if (rcon == 0xff) resettype = 8; @@ -4070,44 +4106,44 @@ static void dissect_r3_upstreammfgfield_peekpoke (tvbuff_t *tvb, guint32 start_o switch (tvb_get_guint8 (tvb, start_offset + i + 0)) { - case PEEKPOKE_READU8 : + case PEEKPOKE_READU8 : proto_item_append_text (peekpoke_item, "Read (8 Bits @ 0x%04x = 0x%02x)", tvb_get_letohs (tvb, start_offset + i + 1), tvb_get_guint8 (tvb, start_offset + i + 3)); proto_item_set_len (peekpoke_item, 4); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke8, tvb, start_offset + i + 3, 1, TRUE); + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke8, tvb, start_offset + i + 3, 1, TRUE); i += 1; - break; + break; - case PEEKPOKE_READU16 : + case PEEKPOKE_READU16 : proto_item_append_text (peekpoke_item, "Read (16 Bits @ 0x%04x = 0x%04x)", tvb_get_letohs (tvb, start_offset + i + 1), tvb_get_letohs (tvb, start_offset + i + 3)); proto_item_set_len (peekpoke_item, 5); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke16, tvb, start_offset + i + 3, 2, TRUE); - i += 2; - break; + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke16, tvb, start_offset + i + 3, 2, TRUE); + i += 2; + break; - case PEEKPOKE_READU24 : + case PEEKPOKE_READU24 : proto_item_append_text (peekpoke_item, "Read (24 Bits @ 0x%04x = 0x%06x)", tvb_get_letohs (tvb, start_offset + i + 1), tvb_get_letoh24 (tvb, start_offset + i + 3)); proto_item_set_len (peekpoke_item, 6); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke24, tvb, start_offset + i + 3, 3, TRUE); - i += 3; - break; + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke24, tvb, start_offset + i + 3, 3, TRUE); + i += 3; + break; - case PEEKPOKE_READU32 : + case PEEKPOKE_READU32 : proto_item_append_text (peekpoke_item, "Read (32 Bits @ 0x%04x = 0x%08x)", tvb_get_letohs (tvb, start_offset + i + 1), tvb_get_letohl (tvb, start_offset + i + 3)); proto_item_set_len (peekpoke_item, 7); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke32, tvb, start_offset + i + 3, 4, TRUE); - i += 4; - break; + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke32, tvb, start_offset + i + 3, 4, TRUE); + i += 4; + break; - case PEEKPOKE_READSTRING : + case PEEKPOKE_READSTRING : proto_item_append_text (peekpoke_item, "Read (%u Bytes @ 0x%04x)", tvb_get_guint8 (tvb, start_offset + i + 3), tvb_get_letohs (tvb, start_offset + i + 1)); proto_item_set_len (peekpoke_item, 3 + 1 + tvb_get_guint8 (tvb, start_offset + i + 3)); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_length, tvb, start_offset + i + 3, 1, TRUE); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_pokestring, tvb, start_offset + i + 4, tvb_get_guint8 (tvb, start_offset + i + 3), TRUE); - i += tvb_get_guint8 (tvb, start_offset + i + 3) + 1; - break; + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_length, tvb, start_offset + i + 3, 1, TRUE); + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_pokestring, tvb, start_offset + i + 4, tvb_get_guint8 (tvb, start_offset + i + 3), TRUE); + i += tvb_get_guint8 (tvb, start_offset + i + 3) + 1; + break; - default : - DISSECTOR_ASSERT (0); + default : + DISSECTOR_ASSERT (0); } } } @@ -4174,7 +4210,7 @@ static void dissect_r3_upstreammfgfield_capabilities (tvbuff_t *tvb, guint32 sta proto_tree *tmp_tree = proto_item_add_subtree (tmp_item, ett_r3capabilities); const gchar *fn; - fn = val_to_str_const (tvb_get_guint8 (tvb, start_offset + i + 1), r3_capabilitiesnames, "[Unknown Field Name]"); + fn = val_to_str_ext_const (tvb_get_guint8 (tvb, start_offset + i + 1), &r3_capabilitiesnames_ext, "[Unknown Field Name]"); proto_item_append_text (tmp_item, " (%s, %u)", fn, tvb_get_letohs (tvb, start_offset + i + 2)); proto_tree_add_item (tmp_tree, hf_r3_capabilities_length, tvb, start_offset + i + 0, 1, TRUE); @@ -4304,7 +4340,7 @@ static void dissect_r3_upstreammfgfield_checksumresults (tvbuff_t *tvb, guint32 proto_tree *res_tree = proto_item_add_subtree (res_item, ett_r3checksumresultsfield); const gchar *fn; - fn = val_to_str_const (tvb_get_guint8 (tvb, start_offset + i + 1), r3_checksumresultnames, "[Unknown Field Name]"); + fn = val_to_str_ext_const (tvb_get_guint8 (tvb, start_offset + i + 1), &r3_checksumresultnames_ext, "[Unknown Field Name]"); proto_item_append_text (res_item, " %s (%s)", fn, tvb_get_guint8 (tvb, start_offset + i + 2) ? "Error" : "No Error"); @@ -4329,7 +4365,7 @@ static void dissect_r3_upstreammfgfield_mortisestatelog (tvbuff_t *tvb, guint32 guint state = tvb_get_guint8 (tvb, start_offset + i + 0); guint last = tvb_get_guint8 (tvb, start_offset + i + 1); guint event = tvb_get_guint8 (tvb, start_offset + i + 2); - proto_item *ms_item = proto_tree_add_text (tree, tvb, start_offset + i, 3, "State Log Entry %2d (State=0x%02x, Last=0x%02x, Event=%s (0x%02x))", i / 3, state, last, val_to_str_const (event, r3_mortiseeventnames, "[Unknown]"), event); + proto_item *ms_item = proto_tree_add_text (tree, tvb, start_offset + i, 3, "State Log Entry %2d (State=0x%02x, Last=0x%02x, Event=%s (0x%02x))", i / 3, state, last, val_to_str_ext_const (event, &r3_mortiseeventnames_ext, "[Unknown]"), event); proto_tree *ms_tree = proto_item_add_subtree (ms_item, ett_r3mortisestatelog); proto_tree_add_item (ms_tree, hf_r3_mortisestatelog_state, tvb, start_offset + i + 0, 1, TRUE); @@ -4398,14 +4434,14 @@ static void dissect_r3_response_hasdata (tvbuff_t *tvb, guint32 start_offset, gu expert_add_info_format (pinfo, tree, PI_UNDECODED, PI_WARN, "Octet 3 >= UPSTREAMCOMMAND_LAST"); else { - ct = val_to_str_const (tvb_get_guint8 (tvb, 3), r3_upstreamcommandnames, "[Unknown Command Type]"); + ct = val_to_str_ext_const (tvb_get_guint8 (tvb, 3), &r3_upstreamcommandnames_ext, "[Unknown Command Type]"); proto_tree_add_item (tree, hf_r3_responsetype, tvb, 2, 1, TRUE); upstreamcommand_item = proto_tree_add_text (tree, tvb, 3, -1, "Upstream Command: %s (%u)", ct, tvb_get_guint8 (tvb, 3)); upstreamcommand_tree = proto_item_add_subtree (upstreamcommand_item, ett_r3upstreamcommand); - proto_tree_add_item (upstreamcommand_tree, hf_r3_upstreamcommand, tvb, 3, 1, TRUE); + proto_tree_add_item (upstreamcommand_tree, hf_r3_upstreamcommand, tvb, 3, 1, TRUE); tvb_ensure_bytes_exist (tvb, start_offset, commandPacketLen - 4); @@ -4426,10 +4462,10 @@ static void dissect_r3_cmd_response (tvbuff_t *tvb, guint32 start_offset, guint3 tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset, responseLen, responseLen); const gchar *rt = NULL; - rt = val_to_str_const (responseType, r3_responsetypenames, "[Unknown Response Type]"); + rt = val_to_str_ext_const (responseType, &r3_responsetypenames_ext, "[Unknown Response Type]"); proto_item_set_text (proto_tree_get_parent (tree), "Response Packet: %s (%u)", rt, responseType); - proto_tree_add_item (tree, hf_r3_responselength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_responselength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_responsecommand, tvb, start_offset + 1, 1, TRUE); if (tvb_get_guint8 (tvb, start_offset + 2) >= RESPONSETYPE_LAST) @@ -4443,25 +4479,25 @@ static void dissect_r3_cmd_response (tvbuff_t *tvb, guint32 start_offset, guint3 */ static void dissect_r3_cmd_handshake (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmd_killsession (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmd_queryserialnumber (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmd_queryversion (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); } @@ -4472,7 +4508,7 @@ static void dissect_r3_cmd_setdatetime (tvbuff_t *tvb, guint32 start_offset, gui guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); dt_item = proto_tree_add_text (tree, payload_tvb, 0, -1, "Set Date/Time (%02u/%02u/%02u-%u %02u:%02u:%02u)", tvb_get_guint8 (payload_tvb, 0), tvb_get_guint8 (payload_tvb, 1), tvb_get_guint8 (payload_tvb, 2), tvb_get_guint8 (payload_tvb, 3), tvb_get_guint8 (payload_tvb, 4), tvb_get_guint8 (payload_tvb, 5), tvb_get_guint8 (payload_tvb, 6)); @@ -4489,7 +4525,7 @@ static void dissect_r3_cmd_setdatetime (tvbuff_t *tvb, guint32 start_offset, gui static void dissect_r3_cmd_querydatetime (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); } @@ -4499,7 +4535,7 @@ static void dissect_r3_cmd_setconfig (tvbuff_t *tvb, guint32 start_offset, guint tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); guint32 offset = 0; - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); while (offset < tvb_reported_length (payload_tvb)) @@ -4508,7 +4544,7 @@ static void dissect_r3_cmd_setconfig (tvbuff_t *tvb, guint32 start_offset, guint proto_tree *sc_tree = NULL; const gchar *ci = NULL; - ci = val_to_str_const (tvb_get_guint8 (payload_tvb, offset + 1), r3_configitemnames, "[Unknown Configuration Item]"); + ci = val_to_str_ext_const (tvb_get_guint8 (payload_tvb, offset + 1), &r3_configitemnames_ext, "[Unknown Configuration Item]"); sc_item = proto_tree_add_text (tree, payload_tvb, offset + 0, tvb_get_guint8 (payload_tvb, offset + 0), "Config Field: %s (%u)", ci, tvb_get_guint8 (payload_tvb, offset + 1)); sc_tree = proto_item_add_subtree (sc_item, ett_r3upstreamfield); @@ -4563,10 +4599,10 @@ static void dissect_r3_cmd_getconfig (tvbuff_t *tvb, guint32 start_offset, guint guint32 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); guint32 i; - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); - config_item = proto_tree_add_item (tree, hf_r3_configitems, tvb, start_offset + 2, cmdLen - 2, TRUE); + config_item = proto_tree_add_item (tree, hf_r3_configitems, tvb, start_offset + 2, cmdLen - 2, TRUE); config_tree = proto_item_add_subtree (config_item, ett_r3configitem); for (i = 2; i < cmdLen; i++) @@ -4579,7 +4615,7 @@ static void dissect_r3_cmd_manageuser (tvbuff_t *tvb, guint32 start_offset, guin tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); guint32 offset = 0; - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); while (offset < tvb_reported_length (payload_tvb)) @@ -4590,7 +4626,7 @@ static void dissect_r3_cmd_manageuser (tvbuff_t *tvb, guint32 start_offset, guin proto_tree *mu_tree = NULL; const gchar *auptn = NULL; - auptn = val_to_str_const (paramType, r3_adduserparamtypenames, "[Unknown Field]"); + auptn = val_to_str_ext_const (paramType, &r3_adduserparamtypenames_ext, "[Unknown Field]"); mu_tree = proto_item_add_subtree (proto_tree_add_none_format (tree, hf_r3_adduserparamtype, payload_tvb, offset + 0, paramLength, "Manage User Field: %s (%u)", auptn, paramType), ett_r3manageuser); @@ -4683,7 +4719,7 @@ static void dissect_r3_cmd_deleteusers (tvbuff_t *tvb, guint32 start_offset, gui guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_deleteusers, payload_tvb, 0, 1, TRUE); } @@ -4697,7 +4733,7 @@ static void dissect_r3_cmd_defineexception (tvbuff_t *tvb, guint32 start_offset, guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_defineexception_number, payload_tvb, 0, 1, TRUE); @@ -4725,7 +4761,7 @@ static void dissect_r3_cmd_defineexceptiongroup (tvbuff_t *tvb, guint32 start_of guint32 i = 0; guint32 bit = 0; - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_defineexceptiongroup_number, payload_tvb, 0, 1, TRUE); @@ -4749,19 +4785,19 @@ static void dissect_r3_cmd_definecalendar (tvbuff_t *tvb, guint32 start_offset, const gchar *mn; guint32 i; - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_definecalendar_number, payload_tvb, 0, 1, TRUE); for (i = 0; i < 12; i++) { guint32 daymap = tvb_get_letohl (payload_tvb, (i * 4) + 1); - proto_item *calendar_item = proto_tree_add_text (tree, payload_tvb, (i * 4) + 1, 4, "Calendar Bit Field - %s (0x%08x)", (mn = val_to_str_const (i + 1, r3_monthnames, "[Unknown Month]")), daymap); + proto_item *calendar_item = proto_tree_add_text (tree, payload_tvb, (i * 4) + 1, 4, "Calendar Bit Field - %s (0x%08x)", (mn = val_to_str_ext_const (i + 1, &r3_monthnames_ext, "[Unknown Month]")), daymap); proto_tree *calendar_tree = proto_item_add_subtree (calendar_item, ett_r3definecalendarmonth [i + 1]); guint32 j; for (j = 0; j < 31; j++) - proto_tree_add_none_format (calendar_tree, hf_r3_definecalendar_bits, payload_tvb, (i * 4) + 1, 4, "%s Of %s: %s", val_to_str_const (j + 1, r3_monthdaynames, "[Unknown Day]"), mn, (daymap & (1 << j)) ? "Enabled" : "Disabled"); + proto_tree_add_none_format (calendar_tree, hf_r3_definecalendar_bits, payload_tvb, (i * 4) + 1, 4, "%s Of %s: %s", val_to_str_ext_const (j + 1, &r3_monthdaynames_ext, "[Unknown Day]"), mn, (daymap & (1 << j)) ? "Enabled" : "Disabled"); } } @@ -4778,7 +4814,7 @@ static void dissect_r3_cmd_definetimezone (tvbuff_t *tvb, guint32 start_offset, guint32 i; guint8 tzmode; - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_definetimezone_number, payload_tvb, 0, 1, TRUE); @@ -4808,7 +4844,7 @@ static void dissect_r3_cmd_rmtauthretry (tvbuff_t *tvb, guint32 start_offset, gu guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_rmtauthretry_sequence, payload_tvb, 0, 2, TRUE); proto_tree_add_item (tree, hf_r3_rmtauthretry_retry, payload_tvb, 2, 1, TRUE); @@ -4822,7 +4858,7 @@ static void dissect_r3_cmd_filters (tvbuff_t *tvb, guint32 start_offset, guint32 tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); guint32 i; - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_filter_type, payload_tvb, 1, 1, TRUE); @@ -4842,7 +4878,7 @@ static void dissect_r3_cmd_alarmconfigure (tvbuff_t *tvb, guint32 start_offset, guint32 offset = 0; guint32 alarms = 0; - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); alarm_item = proto_tree_add_text (tree, payload_tvb, 0, -1, "Alarm List (0 items)"); @@ -4855,7 +4891,7 @@ static void dissect_r3_cmd_alarmconfigure (tvbuff_t *tvb, guint32 start_offset, const gchar *ai; const gchar *as; - if (!(ai = match_strval (tvb_get_guint8 (payload_tvb, offset + 1), r3_alarmidnames))) + if (!(ai = match_strval_ext (tvb_get_guint8 (payload_tvb, offset + 1), &r3_alarmidnames_ext))) { ai = "[Unknown Alarm ID]"; as = "N/A"; @@ -4887,7 +4923,7 @@ static void dissect_r3_cmd_eventlogdump (tvbuff_t *tvb, guint32 start_offset, gu guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); starttime_item = proto_tree_add_text (tree, payload_tvb, 0, 5, "Start YY/MM/DD HH:MM (%02u/%02u/%02u %02u:%02u)", tvb_get_guint8 (payload_tvb, 0), tvb_get_guint8 (payload_tvb, 1), tvb_get_guint8 (payload_tvb, 2), tvb_get_guint8 (payload_tvb, 3), tvb_get_guint8 (payload_tvb, 4)); @@ -4918,7 +4954,7 @@ static void dissect_r3_cmd_declinedlogdump (tvbuff_t *tvb, guint32 start_offset, guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); starttime_item = proto_tree_add_text (tree, payload_tvb, 0, 5, "Start YY/MM/DD HH:MM (%02u/%02u/%02u %02u:%02u)", tvb_get_guint8 (payload_tvb, 0), tvb_get_guint8 (payload_tvb, 1), tvb_get_guint8 (payload_tvb, 2), tvb_get_guint8 (payload_tvb, 3), tvb_get_guint8 (payload_tvb, 4)); @@ -4947,7 +4983,7 @@ static void dissect_r3_cmd_alarmlogdump (tvbuff_t *tvb, guint32 start_offset, gu guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); starttime_item = proto_tree_add_text (tree, payload_tvb, 0, 5, "Start YY/MM/DD HH:MM (%02u/%02u/%02u %02u:%02u)", tvb_get_guint8 (payload_tvb, 0), tvb_get_guint8 (payload_tvb, 1), tvb_get_guint8 (payload_tvb, 2), tvb_get_guint8 (payload_tvb, 3), tvb_get_guint8 (payload_tvb, 4)); @@ -4976,7 +5012,7 @@ static void dissect_r3_cmd_downloadfirmware (tvbuff_t *tvb, guint32 start_offset guint32 packetCRC = 0; guint32 calculatedCRC = 0; - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); dlfw_item = proto_tree_add_text (tree, payload_tvb, 0, -1, "Download Record (Record #%u, ", tvb_get_letohs (payload_tvb, 2)); @@ -5036,7 +5072,7 @@ static void dissect_r3_cmd_downloadfirmwaretimeout (tvbuff_t *tvb, guint32 start guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_commanddata, payload_tvb, 0, -1, TRUE); DISSECTOR_ASSERT (0); /* ### Need nice warning here */ @@ -5047,7 +5083,7 @@ static void dissect_r3_cmd_powertableselection (tvbuff_t *tvb, guint32 start_off guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_powertableselection, payload_tvb, 0, 1, TRUE); } @@ -5061,7 +5097,7 @@ static void dissect_r3_cmd_clearnvram (tvbuff_t *tvb, guint32 start_offset, guin guint32 nvramclearoptions = tvb_get_letohs (payload_tvb, 0); guint32 i; - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); nvram_item = proto_tree_add_text (tree, payload_tvb, 0, 2, "NVRAM Clean Options (0x%04x)", nvramclearoptions); @@ -5076,7 +5112,7 @@ static void dissect_r3_cmd_dpac (tvbuff_t *tvb, guint32 start_offset, guint32 le guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_dpac_action, payload_tvb, 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_dpac_waittime, payload_tvb, 1, 2, TRUE); @@ -5085,13 +5121,13 @@ static void dissect_r3_cmd_dpac (tvbuff_t *tvb, guint32 start_offset, guint32 le static void dissect_r3_cmd_selftest (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmd_reset (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); } @@ -5100,7 +5136,7 @@ static void dissect_r3_cmd_logwrite (tvbuff_t *tvb, guint32 start_offset, guint3 guint8 cmdLen = tvb_get_guint8 (tvb, start_offset + 0); tvbuff_t *payload_tvb = tvb_new_subset (tvb, start_offset + 2, cmdLen - 2, cmdLen - 2); - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_writeeventlog_user, payload_tvb, 0, 2, TRUE); proto_tree_add_item (tree, hf_r3_writeeventlog_event, payload_tvb, 2, 1, TRUE); @@ -5108,20 +5144,20 @@ static void dissect_r3_cmd_logwrite (tvbuff_t *tvb, guint32 start_offset, guint3 static void dissect_r3_cmd_mfgcommand (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); mfgCommandFlag = TRUE; } static void dissect_r3_cmd_nvrambackup (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmd_extendedresponse (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandlength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_command, tvb, start_offset + 1, 1, TRUE); } @@ -5132,77 +5168,77 @@ static void dissect_r3_cmdmfg_setserialnumber (tvbuff_t *tvb, guint32 start_offs { tvbuff_t *sn_tvb = tvb_new_subset (tvb, start_offset + 2, 16, 16); - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); dissect_serialnumber (sn_tvb, 0, length, pinfo, tree, hf_r3_mfgsetserialnumber); } static void dissect_r3_cmdmfg_setcryptkey (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_mfgsetcryptkey, tvb, start_offset + 2, -1, TRUE); } static void dissect_r3_cmdmfg_dumpnvram (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_mfgdumpnvram, tvb, start_offset + 2, 1, TRUE); } static void dissect_r3_cmdmfg_terminal (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_remoteunlock (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_mfgremoteunlock, tvb, start_offset + 2, 1, TRUE); } static void dissect_r3_cmdmfg_auxctlrversion (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_iopins (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_adcs (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_hardwareid (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_checkpointlogdump (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_checkpointlogclear (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_readregisters (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } @@ -5211,7 +5247,7 @@ static void dissect_r3_cmdmfg_forceoptions (tvbuff_t *tvb, guint32 start_offset, guint i = 0; guint l = 0; - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); start_offset += 2; @@ -5219,7 +5255,7 @@ static void dissect_r3_cmdmfg_forceoptions (tvbuff_t *tvb, guint32 start_offset, for (i = 0; i < l; i += tvb_get_guint8 (tvb, start_offset + i)) { - proto_item *force_item = proto_tree_add_text (tree, tvb, start_offset + i, tvb_get_guint8 (tvb, start_offset + i), "Force Option %s (%u)", val_to_str_const (tvb_get_guint8 (tvb, start_offset + i + 1), r3_forceitemnames, "[Unknown]"), tvb_get_guint8 (tvb, start_offset + i + 1)); + proto_item *force_item = proto_tree_add_text (tree, tvb, start_offset + i, tvb_get_guint8 (tvb, start_offset + i), "Force Option %s (%u)", val_to_str_ext_const (tvb_get_guint8 (tvb, start_offset + i + 1), &r3_forceitemnames_ext, "[Unknown]"), tvb_get_guint8 (tvb, start_offset + i + 1)); proto_tree *force_tree = proto_item_add_subtree (force_item, ett_r3forceoptions); proto_tree_add_item (force_tree, hf_r3_forceoptions_length, tvb, start_offset + i + 0, 1, TRUE); @@ -5238,37 +5274,37 @@ static void dissect_r3_cmdmfg_forceoptions (tvbuff_t *tvb, guint32 start_offset, static void dissect_r3_cmdmfg_commuser (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_dumpkeypad (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_batterycheck (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_ramrefresh (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_taskflags (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_timerchain (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } @@ -5277,9 +5313,9 @@ static void dissect_r3_cmdmfg_peekpoke (tvbuff_t *tvb, guint32 start_offset, gui guint i = 0; guint l = 0; - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); - + start_offset += 2; l = tvb_length_remaining (tvb, start_offset); @@ -5293,159 +5329,159 @@ static void dissect_r3_cmdmfg_peekpoke (tvbuff_t *tvb, guint32 start_offset, gui switch (tvb_get_guint8 (tvb, start_offset + i + 0)) { - case PEEKPOKE_READU8 : + case PEEKPOKE_READU8 : proto_item_append_text (peekpoke_item, "Read (8 Bits @ 0x%04x)", tvb_get_letohs (tvb, start_offset + i + 1)); - break; + break; - case PEEKPOKE_READU16 : + case PEEKPOKE_READU16 : proto_item_append_text (peekpoke_item, "Read (16 Bits @ 0x%04x)", tvb_get_letohs (tvb, start_offset + i + 1)); - break; + break; - case PEEKPOKE_READU24 : + case PEEKPOKE_READU24 : proto_item_append_text (peekpoke_item, "Read (24 Bits @ 0x%04x)", tvb_get_letohs (tvb, start_offset + i + 1)); - break; + break; - case PEEKPOKE_READU32 : + case PEEKPOKE_READU32 : proto_item_append_text (peekpoke_item, "Read (32 Bits @ 0x%04x)", tvb_get_letohs (tvb, start_offset + i + 1)); - break; + break; - case PEEKPOKE_READSTRING : + case PEEKPOKE_READSTRING : proto_item_append_text (peekpoke_item, "Read (%d Bytes @ 0x%04x)", tvb_get_guint8 (tvb, start_offset + i + 3), tvb_get_letohs (tvb, start_offset + i + 1)); proto_item_set_len (peekpoke_item, 4); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_length, tvb, start_offset + i + 3, 1, TRUE); - i += 1; - break; + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_length, tvb, start_offset + i + 3, 1, TRUE); + i += 1; + break; - case PEEKPOKE_WRITEU8 : + case PEEKPOKE_WRITEU8 : proto_item_append_text (peekpoke_item, "Write (8 Bits: 0x%02x @ 0x%04x)", tvb_get_guint8 (tvb, start_offset + i + 3), tvb_get_letohs (tvb, start_offset + i + 1)); proto_item_set_len (peekpoke_item, 4); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke8, tvb, start_offset + i + 3, 1, TRUE); - i += 1; - break; + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke8, tvb, start_offset + i + 3, 1, TRUE); + i += 1; + break; - case PEEKPOKE_WRITEU16 : + case PEEKPOKE_WRITEU16 : proto_item_append_text (peekpoke_item, "Write (16 Bits: 0x%04x @ 0x%04x)", tvb_get_letohs (tvb, start_offset + i + 3), tvb_get_letohs (tvb, start_offset + i + 1)); proto_item_set_len (peekpoke_item, 5); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke16, tvb, start_offset + i + 3, 2, TRUE); - i += 2; - break; + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke16, tvb, start_offset + i + 3, 2, TRUE); + i += 2; + break; - case PEEKPOKE_WRITEU24 : + case PEEKPOKE_WRITEU24 : proto_item_append_text (peekpoke_item, "Write (24 Bits: 0x%06x @ 0x%04x)", tvb_get_letoh24 (tvb, start_offset + i + 3), tvb_get_letohs (tvb, start_offset + i + 1)); proto_item_set_len (peekpoke_item, 6); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke24, tvb, start_offset + i + 3, 3, TRUE); - i += 3; - break; + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke24, tvb, start_offset + i + 3, 3, TRUE); + i += 3; + break; - case PEEKPOKE_WRITEU32 : + case PEEKPOKE_WRITEU32 : proto_item_append_text (peekpoke_item, "Write (32 Bits: 0x%08x @ 0x%04x)", tvb_get_letohl (tvb, start_offset + i + 3), tvb_get_letohs (tvb, start_offset + i + 1)); proto_item_set_len (peekpoke_item, 7); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke32, tvb, start_offset + i + 3, 4, TRUE); - i += 4; - break; + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_poke32, tvb, start_offset + i + 3, 4, TRUE); + i += 4; + break; - case PEEKPOKE_WRITESTRING : + case PEEKPOKE_WRITESTRING : proto_item_append_text (peekpoke_item, "Write (%d Bytes @ 0x%04x)", tvb_get_guint8 (tvb, start_offset + i + 3), tvb_get_letohs (tvb, start_offset + i + 1)); proto_item_set_len (peekpoke_item, 3 + 1 + tvb_get_guint8 (tvb, start_offset + i + 3)); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_length, tvb, start_offset + i + 3, 1, TRUE); - proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_pokestring, tvb, start_offset + i + 4, tvb_get_guint8 (tvb, start_offset + i + 3), TRUE); - i += tvb_get_guint8 (tvb, start_offset + i + 3) + 1; - break; + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_length, tvb, start_offset + i + 3, 1, TRUE); + proto_tree_add_item (peekpoke_tree, hf_r3_peekpoke_pokestring, tvb, start_offset + i + 4, tvb_get_guint8 (tvb, start_offset + i + 3), TRUE); + i += tvb_get_guint8 (tvb, start_offset + i + 3) + 1; + break; - default : - DISSECTOR_ASSERT (0); + default : + DISSECTOR_ASSERT (0); } } } static void dissect_r3_cmdmfg_lockstate (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_capabilities (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_dumpm41t81 (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_debuglogdump (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_debuglogclear (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_testwdt (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_querycksum (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_validatechecksums (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_rebuildlrucache (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_tzupdate (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_testpreserve (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); proto_tree_add_item (tree, hf_r3_mfgtestpreserve, tvb, start_offset + 2, 1, TRUE); } static void dissect_r3_cmdmfg_mortisestatelogdump (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_mortisestatelogclear (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_mortisepins (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } static void dissect_r3_cmdmfg_haltandcatchfire (tvbuff_t *tvb, guint32 start_offset, guint32 length _U_, packet_info *pinfo _U_, proto_tree *tree) { - proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); + proto_tree_add_item (tree, hf_r3_commandmfglength, tvb, start_offset + 0, 1, TRUE); proto_tree_add_item (tree, hf_r3_commandmfg, tvb, start_offset + 1, 1, TRUE); } @@ -5470,11 +5506,11 @@ static gint dissect_r3_command (tvbuff_t *tvb, guint32 start_offset, guint32 len cmd = tvb_get_guint8 (tvb, start_offset + 1); if (!mfgCommandFlag) - cn = val_to_str_const (cmd, r3_cmdnames, "[Unknown Command]"); + cn = val_to_str_ext_const (cmd, &r3_cmdnames_ext, "[Unknown Command]"); else - cn = val_to_str_const (cmd, r3_cmdmfgnames, "[Unknown Mfg Command]"); + cn = val_to_str_ext_const (cmd, &r3_cmdmfgnames_ext, "[Unknown Mfg Command]"); - cmd_item = proto_tree_add_text (r3_tree, tvb, start_offset, cmdLen, "Command Packet: %s (%d)", cn, cmd); + cmd_item = proto_tree_add_text (r3_tree, tvb, start_offset, cmdLen, "Command Packet: %s (%d)", cn, cmd); cmd_tree = proto_item_add_subtree (cmd_item, ett_r3cmd); if (cmd_tree) @@ -5512,7 +5548,7 @@ static gint dissect_r3_command (tvbuff_t *tvb, guint32 start_offset, guint32 len * <0 = need more bytes */ static gint dissect_r3_packet (tvbuff_t *tvb, guint start_offset, packet_info *pinfo, proto_tree *r3_tree) -{ +{ guint offset = 0; guint octConsumed; gint available = tvb_length_remaining (tvb, start_offset); @@ -5530,7 +5566,7 @@ static gint dissect_r3_packet (tvbuff_t *tvb, guint start_offset, packet_info *p if (available < 4) return available - 4; - else + else { packetLen = tvb_get_guint8 (tvb, start_offset + 3) + 1; @@ -5608,9 +5644,9 @@ static gint dissect_r3_packet (tvbuff_t *tvb, guint start_offset, packet_info *p PROTO_ITEM_SET_GENERATED (tmp_item); } - if ((calculatedXor = (packetLen ^ 0xff)) == packetXor) + if ((calculatedXor = (packetLen ^ 0xff)) == packetXor) proto_tree_add_uint_format (tail_tree, hf_r3_xor, tvb, offset + 7, 1, packetXor, "XOR: 0x%02x (correct)", packetXor); - else + else { proto_item *tmp_item; @@ -5640,8 +5676,8 @@ static void dissect_r3_message (tvbuff_t *tvb, packet_info *pinfo, proto_tree *t col_set_str (pinfo->cinfo, COL_PROTOCOL, "R3"); col_clear (pinfo->cinfo, COL_INFO); - if (tree) - { + if (tree) + { r3_item = proto_tree_add_item (tree, proto_r3, tvb, 0, -1, TRUE); r3_tree = proto_item_add_subtree (r3_item, ett_r3); } -- cgit v1.2.3