diff options
author | Bill Meier <wmeier@newsguy.com> | 2014-10-05 21:34:19 -0400 |
---|---|---|
committer | Bill Meier <wmeier@newsguy.com> | 2014-10-06 01:42:32 +0000 |
commit | 0111e461938d47efd1eb8dc17f135b93b253ab52 (patch) | |
tree | 9409d7bf28086b3fd230993210264df1e884ec5b /plugins/ethercat | |
parent | 9e776a1ed114bb3982c061b41389143cb67b94de (diff) |
plugins: Add editor modelines; Adjust whitespace as needed.
Change-Id: I36124f6021d46a228721bdc976f6b9fef1c8c088
Reviewed-on: https://code.wireshark.org/review/4488
Reviewed-by: Bill Meier <wmeier@newsguy.com>
Diffstat (limited to 'plugins/ethercat')
-rw-r--r-- | plugins/ethercat/packet-ams.c | 1569 | ||||
-rw-r--r-- | plugins/ethercat/packet-ecatmb.c | 13 | ||||
-rw-r--r-- | plugins/ethercat/packet-esl.c | 17 | ||||
-rw-r--r-- | plugins/ethercat/packet-ethercat-datagram.c | 1757 | ||||
-rw-r--r-- | plugins/ethercat/packet-ethercat-frame.c | 61 | ||||
-rw-r--r-- | plugins/ethercat/packet-ioraw.c | 51 | ||||
-rw-r--r-- | plugins/ethercat/packet-nv.c | 128 |
7 files changed, 1843 insertions, 1753 deletions
diff --git a/plugins/ethercat/packet-ams.c b/plugins/ethercat/packet-ams.c index 890328815f..bf5d8a8aef 100644 --- a/plugins/ethercat/packet-ams.c +++ b/plugins/ethercat/packet-ams.c @@ -413,434 +413,434 @@ static gint dissect_ams_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, if( ams_length < AmsHead_Len ) return offset; - if (tree) - { - ti = proto_tree_add_item(tree, proto_ams, tvb, 0, -1, ENC_NA); - ams_tree = proto_item_add_subtree(ti, ett_ams); - - NetIdFormater(tvb, offset, szText, nMax); - proto_tree_add_string(ams_tree, hf_ams_targetnetid, tvb, offset, AmsNetId_Len, szText); - offset += AmsNetId_Len; - - proto_tree_add_item(ams_tree, hf_ams_targetport, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - offset += (int)sizeof(guint16); - - NetIdFormater(tvb, offset, szText, nMax); - proto_tree_add_string(ams_tree, hf_ams_sendernetid, tvb, offset, AmsNetId_Len, szText); - offset += AmsNetId_Len; - - proto_tree_add_item(ams_tree, hf_ams_senderport, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - offset += (int)sizeof(guint16); - - proto_tree_add_item(ams_tree, hf_ams_cmdid, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - cmdId = tvb_get_letohs(tvb, offset); - offset+=(int)sizeof(guint16); - - anItem = proto_tree_add_item(ams_tree, hf_ams_stateflags, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - ams_statetree = proto_item_add_subtree(anItem, ett_ams_stateflags); - proto_tree_add_item(ams_statetree, hf_ams_stateresponse,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - proto_tree_add_item(ams_statetree, hf_ams_statenoreturn,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - proto_tree_add_item(ams_statetree, hf_ams_stateadscmd,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - proto_tree_add_item(ams_statetree, hf_ams_statesyscmd,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - proto_tree_add_item(ams_statetree, hf_ams_statehighprio,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - proto_tree_add_item(ams_statetree, hf_ams_statetimestampadded,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - proto_tree_add_item(ams_statetree, hf_ams_stateudp,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - proto_tree_add_item(ams_statetree, hf_ams_stateinitcmd,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - proto_tree_add_item(ams_statetree, hf_ams_statebroadcast,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - stateflags = tvb_get_letohs(tvb, offset); - offset+=(int)sizeof(guint16); - - proto_tree_add_item(ams_tree, hf_ams_cbdata, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - cbdata = tvb_get_letohl(tvb,offset); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_tree, hf_ams_errorcode, tvb, offset, (int)sizeof(guint32),ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_tree, hf_ams_invokeid, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - } - else - { - offset+=AmsHead_Len; - } - - if ( (stateflags & AMSCMDSF_ADSCMD) != 0 ) - { - /* ADS */ - if ( (stateflags & AMSCMDSF_RESPONSE) == 0 ) - { - /* Request */ - switch ( cmdId ) - { - case ADSSRVID_READ: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Request"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadrequest, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsReadReq_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadrequest); - proto_tree_add_item(ams_adstree, hf_ams_adsindexgroup, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsindexoffset, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - } - } - } - break; - case ADSSRVID_WRITE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Write Request"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adswriterequest, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsWriteReq_Len - (int)sizeof(guint16) ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adswriterequest); - proto_tree_add_item(ams_adstree, hf_ams_adsindexgroup, tvb, offset, 4, ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsindexoffset, tvb, offset, 4, ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, 4, ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsdata, tvb, offset, ams_length-offset, ENC_NA); - } - } - } - break; - case ADSSRVID_READWRITE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Write Request"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadwriterequest, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsReadWriteReq_Len - (int)sizeof(guint16)) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadwriterequest); - proto_tree_add_item(ams_adstree, hf_ams_adsindexgroup, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsindexoffset, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adscbreadlength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adscbwritelength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsdata, tvb, offset, ams_length-offset, ENC_NA); - } - } - } - break; - case ADSSRVID_READSTATE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Read State Request"); - - if( tree && cbdata !=0 ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadstaterequest, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsReadStateReq_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadstaterequest); - proto_tree_add_item(ams_adstree, hf_ams_adsinvokeid, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - } - } - } - break; - case ADSSRVID_WRITECTRL: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Write Control Request"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adswritectrlrequest, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsWriteControlReq_Len - (int)sizeof(guint16) ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adswritectrlrequest); - proto_tree_add_item(ams_adstree, hf_ams_adsstate, tvb, offset, 2, ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint16); - - proto_tree_add_item(ams_adstree, hf_ams_adsdevicestate, tvb, offset, 2, ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint16); - - proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsdata, tvb, offset, ams_length-offset, ENC_NA); - } - } - } - break; - case ADSSRVID_READDEVICEINFO: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Device Info Request"); - - if( tree && cbdata !=0 ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsreaddinforequest, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsReadDeviceInfoReq_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreaddinforequest); - proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - } - } - } - break; - case ADSSRVID_ADDDEVICENOTE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Add Device Notification Request"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsadddnrequest, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsAddDeviceNotificationReq_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsadddnrequest); - proto_tree_add_item(ams_adstree, hf_ams_adsindexgroup, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsindexoffset, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adstransmode, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsmaxdelay, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adscycletime, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - } - } - } - break; - case ADSSRVID_DELDEVICENOTE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Delete Device Notification Request"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsdeldnrequest, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsDelDeviceNotificationReq_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsdeldnrequest); - proto_tree_add_item(ams_adstree, hf_ams_adsnotificationhandle, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - } - } - } - break; - case ADSSRVID_DEVICENOTE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Device Notification Request"); - - if( tree ) - { - /*guint32 cbLength; + if (tree) + { + ti = proto_tree_add_item(tree, proto_ams, tvb, 0, -1, ENC_NA); + ams_tree = proto_item_add_subtree(ti, ett_ams); + + NetIdFormater(tvb, offset, szText, nMax); + proto_tree_add_string(ams_tree, hf_ams_targetnetid, tvb, offset, AmsNetId_Len, szText); + offset += AmsNetId_Len; + + proto_tree_add_item(ams_tree, hf_ams_targetport, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + offset += (int)sizeof(guint16); + + NetIdFormater(tvb, offset, szText, nMax); + proto_tree_add_string(ams_tree, hf_ams_sendernetid, tvb, offset, AmsNetId_Len, szText); + offset += AmsNetId_Len; + + proto_tree_add_item(ams_tree, hf_ams_senderport, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + offset += (int)sizeof(guint16); + + proto_tree_add_item(ams_tree, hf_ams_cmdid, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + cmdId = tvb_get_letohs(tvb, offset); + offset+=(int)sizeof(guint16); + + anItem = proto_tree_add_item(ams_tree, hf_ams_stateflags, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + ams_statetree = proto_item_add_subtree(anItem, ett_ams_stateflags); + proto_tree_add_item(ams_statetree, hf_ams_stateresponse,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + proto_tree_add_item(ams_statetree, hf_ams_statenoreturn,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + proto_tree_add_item(ams_statetree, hf_ams_stateadscmd,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + proto_tree_add_item(ams_statetree, hf_ams_statesyscmd,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + proto_tree_add_item(ams_statetree, hf_ams_statehighprio,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + proto_tree_add_item(ams_statetree, hf_ams_statetimestampadded,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + proto_tree_add_item(ams_statetree, hf_ams_stateudp,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + proto_tree_add_item(ams_statetree, hf_ams_stateinitcmd,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + proto_tree_add_item(ams_statetree, hf_ams_statebroadcast,tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + stateflags = tvb_get_letohs(tvb, offset); + offset+=(int)sizeof(guint16); + + proto_tree_add_item(ams_tree, hf_ams_cbdata, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + cbdata = tvb_get_letohl(tvb,offset); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_tree, hf_ams_errorcode, tvb, offset, (int)sizeof(guint32),ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_tree, hf_ams_invokeid, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + } + else + { + offset+=AmsHead_Len; + } + + if ( (stateflags & AMSCMDSF_ADSCMD) != 0 ) + { + /* ADS */ + if ( (stateflags & AMSCMDSF_RESPONSE) == 0 ) + { + /* Request */ + switch ( cmdId ) + { + case ADSSRVID_READ: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Request"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadrequest, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsReadReq_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadrequest); + proto_tree_add_item(ams_adstree, hf_ams_adsindexgroup, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsindexoffset, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + } + } + } + break; + case ADSSRVID_WRITE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Write Request"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adswriterequest, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsWriteReq_Len - (int)sizeof(guint16) ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adswriterequest); + proto_tree_add_item(ams_adstree, hf_ams_adsindexgroup, tvb, offset, 4, ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsindexoffset, tvb, offset, 4, ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, 4, ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsdata, tvb, offset, ams_length-offset, ENC_NA); + } + } + } + break; + case ADSSRVID_READWRITE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Write Request"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadwriterequest, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsReadWriteReq_Len - (int)sizeof(guint16)) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadwriterequest); + proto_tree_add_item(ams_adstree, hf_ams_adsindexgroup, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsindexoffset, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adscbreadlength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adscbwritelength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsdata, tvb, offset, ams_length-offset, ENC_NA); + } + } + } + break; + case ADSSRVID_READSTATE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Read State Request"); + + if( tree && cbdata !=0 ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadstaterequest, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsReadStateReq_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadstaterequest); + proto_tree_add_item(ams_adstree, hf_ams_adsinvokeid, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + } + } + } + break; + case ADSSRVID_WRITECTRL: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Write Control Request"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adswritectrlrequest, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsWriteControlReq_Len - (int)sizeof(guint16) ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adswritectrlrequest); + proto_tree_add_item(ams_adstree, hf_ams_adsstate, tvb, offset, 2, ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint16); + + proto_tree_add_item(ams_adstree, hf_ams_adsdevicestate, tvb, offset, 2, ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint16); + + proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsdata, tvb, offset, ams_length-offset, ENC_NA); + } + } + } + break; + case ADSSRVID_READDEVICEINFO: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Device Info Request"); + + if( tree && cbdata !=0 ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsreaddinforequest, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsReadDeviceInfoReq_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreaddinforequest); + proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + } + } + } + break; + case ADSSRVID_ADDDEVICENOTE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Add Device Notification Request"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsadddnrequest, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsAddDeviceNotificationReq_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsadddnrequest); + proto_tree_add_item(ams_adstree, hf_ams_adsindexgroup, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsindexoffset, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adstransmode, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsmaxdelay, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adscycletime, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + } + } + } + break; + case ADSSRVID_DELDEVICENOTE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Delete Device Notification Request"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsdeldnrequest, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsDelDeviceNotificationReq_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsdeldnrequest); + proto_tree_add_item(ams_adstree, hf_ams_adsnotificationhandle, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + } + } + } + break; + case ADSSRVID_DEVICENOTE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Device Notification Request"); + + if( tree ) + { + /*guint32 cbLength; guint32 nStamps;*/ - anItem = proto_tree_add_item(ams_tree, hf_ams_adsdnrequest, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsDeviceNotificationReq_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsdnrequest); - proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - /*cbLength = tvb_get_letohs(tvb, offset);*/ - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsnoteblocksstamps, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - /*nStamps = tvb_get_letohs(tvb, offset);*/ - offset+=(int)sizeof(guint32); - - /*ToDo: dissect noteblocks*/ - } - } - } - break; - } - } - else - { - /* Response */ - switch ( cmdId ) - { - case ADSSRVID_READ: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Response"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadresponse, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsReadRes_Len - (int)sizeof(guint16) ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadresponse); - proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsdata, tvb, offset, ams_length-offset, ENC_NA); - } - } - } - break; - case ADSSRVID_WRITE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Write Response"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adswriteresponse, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsWriteRes_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adswriteresponse); - proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - } - } - } - break; - case ADSSRVID_READWRITE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Write Response"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadwriteresponse, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsReadWriteRes_Len - (int)sizeof(guint16) ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadwriteresponse); - proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsdata, tvb, offset, ams_length-offset, ENC_NA); - } - } - } - break; - case ADSSRVID_READSTATE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Read State Response"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadstateresponse, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsReadStateRes_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadstateresponse); - proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsstate, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsdevicestate, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - } - } - } - break; - case ADSSRVID_WRITECTRL: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Write Control Response"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adswritectrlresponse, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsWriteControlRes_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adswritectrlresponse); - proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - } - } - } - break; - case ADSSRVID_READDEVICEINFO: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Device Info Response"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsreaddinforesponse, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsReadDeviceInfoRes_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreaddinforesponse); - proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsversionversion, tvb, offset++, (int)sizeof(guint8), ENC_LITTLE_ENDIAN); - proto_tree_add_item(ams_adstree, hf_ams_adsversionrevision, tvb, offset++, (int)sizeof(guint8), ENC_LITTLE_ENDIAN); - proto_tree_add_item(ams_adstree, hf_ams_adsversionbuild, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint16); - - proto_tree_add_item(ams_adstree, hf_ams_adsdevicename, tvb, offset, ams_length-offset, ENC_ASCII|ENC_NA); - } - } - } - break; - case ADSSRVID_ADDDEVICENOTE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Device Notification Response"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsadddnresponse, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsAddDeviceNotificationRes_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsadddnresponse); - proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - offset+=(int)sizeof(guint32); - - proto_tree_add_item(ams_adstree, hf_ams_adsnotificationhandle, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - } - } - } - break; - case ADSSRVID_DELDEVICENOTE: - { - col_append_str(pinfo->cinfo, COL_INFO, "ADS Delete Device Notification Response"); - - if( tree ) - { - anItem = proto_tree_add_item(ams_tree, hf_ams_adsdeldnresponse, tvb, offset, ams_length-offset, ENC_NA); - if( ams_length-offset >= TAdsDelDeviceNotificationRes_Len ) - { - ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsdeldnresponse); - proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); - } - } - } - break; - } - } - } - else - { - if ( (stateflags & AMSCMDSF_RESPONSE) == 0 ) - col_append_str(pinfo->cinfo, COL_INFO, "AMS Request"); - else - col_append_str(pinfo->cinfo, COL_INFO, "AMS Response"); - if( tree && ams_length-offset > 0 ) - proto_tree_add_item(ams_tree, hf_ams_data, tvb, offset, ams_length-offset, ENC_NA); - } -return offset; + anItem = proto_tree_add_item(ams_tree, hf_ams_adsdnrequest, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsDeviceNotificationReq_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsdnrequest); + proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + /*cbLength = tvb_get_letohs(tvb, offset);*/ + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsnoteblocksstamps, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + /*nStamps = tvb_get_letohs(tvb, offset);*/ + offset+=(int)sizeof(guint32); + + /*ToDo: dissect noteblocks*/ + } + } + } + break; + } + } + else + { + /* Response */ + switch ( cmdId ) + { + case ADSSRVID_READ: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Response"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadresponse, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsReadRes_Len - (int)sizeof(guint16) ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadresponse); + proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsdata, tvb, offset, ams_length-offset, ENC_NA); + } + } + } + break; + case ADSSRVID_WRITE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Write Response"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adswriteresponse, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsWriteRes_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adswriteresponse); + proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + } + } + } + break; + case ADSSRVID_READWRITE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Write Response"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadwriteresponse, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsReadWriteRes_Len - (int)sizeof(guint16) ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadwriteresponse); + proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adscblength, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsdata, tvb, offset, ams_length-offset, ENC_NA); + } + } + } + break; + case ADSSRVID_READSTATE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Read State Response"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsreadstateresponse, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsReadStateRes_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreadstateresponse); + proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsstate, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsdevicestate, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + } + } + } + break; + case ADSSRVID_WRITECTRL: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Write Control Response"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adswritectrlresponse, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsWriteControlRes_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adswritectrlresponse); + proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + } + } + } + break; + case ADSSRVID_READDEVICEINFO: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Read Device Info Response"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsreaddinforesponse, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsReadDeviceInfoRes_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsreaddinforesponse); + proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsversionversion, tvb, offset++, (int)sizeof(guint8), ENC_LITTLE_ENDIAN); + proto_tree_add_item(ams_adstree, hf_ams_adsversionrevision, tvb, offset++, (int)sizeof(guint8), ENC_LITTLE_ENDIAN); + proto_tree_add_item(ams_adstree, hf_ams_adsversionbuild, tvb, offset, (int)sizeof(guint16), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint16); + + proto_tree_add_item(ams_adstree, hf_ams_adsdevicename, tvb, offset, ams_length-offset, ENC_ASCII|ENC_NA); + } + } + } + break; + case ADSSRVID_ADDDEVICENOTE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Device Notification Response"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsadddnresponse, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsAddDeviceNotificationRes_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsadddnresponse); + proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + offset+=(int)sizeof(guint32); + + proto_tree_add_item(ams_adstree, hf_ams_adsnotificationhandle, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + } + } + } + break; + case ADSSRVID_DELDEVICENOTE: + { + col_append_str(pinfo->cinfo, COL_INFO, "ADS Delete Device Notification Response"); + + if( tree ) + { + anItem = proto_tree_add_item(ams_tree, hf_ams_adsdeldnresponse, tvb, offset, ams_length-offset, ENC_NA); + if( ams_length-offset >= TAdsDelDeviceNotificationRes_Len ) + { + ams_adstree = proto_item_add_subtree(anItem, ett_ams_adsdeldnresponse); + proto_tree_add_item(ams_adstree, hf_ams_adsresult, tvb, offset, (int)sizeof(guint32), ENC_LITTLE_ENDIAN); + } + } + } + break; + } + } + } + else + { + if ( (stateflags & AMSCMDSF_RESPONSE) == 0 ) + col_append_str(pinfo->cinfo, COL_INFO, "AMS Request"); + else + col_append_str(pinfo->cinfo, COL_INFO, "AMS Response"); + if( tree && ams_length-offset > 0 ) + proto_tree_add_item(ams_tree, hf_ams_data, tvb, offset, ams_length-offset, ENC_NA); + } + return offset; } /*ams*/ @@ -860,368 +860,368 @@ static gint dissect_amstcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void proto_register_ams(void) { static const true_false_string flags_set_truth = - { - "Set", - "Not set" - }; + { + "Set", + "Not set" + }; static hf_register_info hf[] = - { - { &hf_ams_sendernetid, - { "AMS Sender Net Id", "ams.sendernetid", - FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_senderport, - { "AMS Sender port", "ams.senderport", - FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_targetnetid, - { "AMS Target Net Id", "ams.targetnetid", - FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_targetport, - { "AMS Target port", "ams.targetport", - FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_cmdid, - { "CmdId", "ams.cmdid", - FT_UINT16, BASE_DEC, VALS(AMS_CommandId_vals), 0x0, - NULL, HFILL } - }, - { &hf_ams_stateflags, - { "StateFlags", "ams.stateflags", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_stateresponse, - { "RESPONSE", "ams.state_response", - FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_RESPONSE, - NULL, HFILL } - }, - { &hf_ams_statenoreturn, - { "NO RETURN", "ams.state_noreturn", - FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_NORETURN, - NULL, HFILL } - }, - { &hf_ams_stateadscmd, - { "ADS COMMAND", "ams.state_adscmd", - FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_ADSCMD, - NULL, HFILL } - }, - { &hf_ams_statesyscmd, - { "SYSTEM COMMAND", "ams.state_syscmd", - FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_SYSCMD, - NULL, HFILL } - }, - { &hf_ams_statehighprio, - { "HIGH PRIORITY COMMAND", "ams.state_highprio", - FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_HIGHPRIO, - NULL, HFILL } - }, - { &hf_ams_statetimestampadded, - { "TIMESTAMP ADDED", "ams.state_timestampadded", - FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_TIMESTAMPADDED, - NULL, HFILL } - }, - { &hf_ams_stateudp, - { "UDP COMMAND", "ams.state_udp", - FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_UDP, - NULL, HFILL } - }, - { &hf_ams_stateinitcmd, - { "INIT COMMAND", "ams.state_initcmd", - FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_INITCMD, - NULL, HFILL } - }, - { &hf_ams_statebroadcast, - { "BROADCAST", "ams.state_broadcast", - FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_BROADCAST, - NULL, HFILL } - }, - { &hf_ams_cbdata, - { "cbData", "ams.cbdata", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_errorcode, - { "ErrorCode", "ams.errorcode", - FT_UINT32, BASE_HEX, VALS(ErrorCode), 0x0, - NULL, HFILL } - }, - { &hf_ams_invokeid, - { "InvokeId", "ams.invokeid", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsdata, - { "Data", "ams.ads_data", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_data, - { "Data", "ams.data", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsindexgroup, - { "IndexGroup", "ams.ads_indexgroup", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsindexoffset, - { "IndexOffset", "ams.ads_indexoffset", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adscblength, - { "CbLength", "ams.ads_cblength", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsreadrequest, - { "ADS Read Request", "ams.ads_read_req", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsreadresponse, - { "ADS Read Response", "ams.ads_read_res", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsinvokeid, - { "InvokeId", "ams.ads_invokeid", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsresult, - { "Result", "ams.adsresult", - FT_UINT32, BASE_HEX, VALS(AdsErrorMode), 0x0, - NULL, HFILL } - }, - { &hf_ams_adswriterequest, - { "ADS Write Request", "ams.ads_write_req", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adswriteresponse, - { "ADS Write Response", "ams.ads_write_res", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsreadwriterequest, - { "ADS ReadWrite Request", "ams.ads_readwrite_req", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsreadwriteresponse, - { "ADS ReadWrite Response", "ams.ads_readwrite_res", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adscbreadlength, - { "CBReadLength", "ams.ads_cbreadlength", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adscbwritelength, - { "CBWriteLength", "ams.ads_cbwritelength", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsstate, - { "AdsState", "ams.ads_state", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsdevicestate, - { "DeviceState", "ams.ads_devicestate", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsnotificationhandle, - { "NotificationHandle", "ams.ads_notificationhandle", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsreadstaterequest, - { "ADS Read State Request", "ams.ads_readstate_req", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsreadstateresponse, - { "ADS Read State Response", "ams.ads_readstate_res", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adswritectrlrequest, - { "ADS Write Ctrl Request", "ams.ads_writectrl_req", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adswritectrlresponse, - { "ADS Write Ctrl Response", "ams.ads_writectrl_res", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsreaddinforequest, - { "ADS Read Device Info Request", "ams.ads_readdinfo_req", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsreaddinforesponse, - { "ADS Read Device Info Response", "ams.ads_readdinfo_res", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsadddnrequest, - { "ADS Add Device Notification Request", "ams.ads_adddn_req", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsadddnresponse, - { "ADS Add Device Notification Response", "ams.ads_adddn_res", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsdeldnrequest, - { "ADS Delete Device Notification Request", "ams.ads_deldn_req", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsdeldnresponse, - { "ADS Delete Device Notification Response", "ams.ads_deldn_res", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsdnrequest, - { "ADS Device Notification Request", "ams.ads_dn_req", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, + { + { &hf_ams_sendernetid, + { "AMS Sender Net Id", "ams.sendernetid", + FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_senderport, + { "AMS Sender port", "ams.senderport", + FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_targetnetid, + { "AMS Target Net Id", "ams.targetnetid", + FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_targetport, + { "AMS Target port", "ams.targetport", + FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_cmdid, + { "CmdId", "ams.cmdid", + FT_UINT16, BASE_DEC, VALS(AMS_CommandId_vals), 0x0, + NULL, HFILL } + }, + { &hf_ams_stateflags, + { "StateFlags", "ams.stateflags", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_stateresponse, + { "RESPONSE", "ams.state_response", + FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_RESPONSE, + NULL, HFILL } + }, + { &hf_ams_statenoreturn, + { "NO RETURN", "ams.state_noreturn", + FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_NORETURN, + NULL, HFILL } + }, + { &hf_ams_stateadscmd, + { "ADS COMMAND", "ams.state_adscmd", + FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_ADSCMD, + NULL, HFILL } + }, + { &hf_ams_statesyscmd, + { "SYSTEM COMMAND", "ams.state_syscmd", + FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_SYSCMD, + NULL, HFILL } + }, + { &hf_ams_statehighprio, + { "HIGH PRIORITY COMMAND", "ams.state_highprio", + FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_HIGHPRIO, + NULL, HFILL } + }, + { &hf_ams_statetimestampadded, + { "TIMESTAMP ADDED", "ams.state_timestampadded", + FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_TIMESTAMPADDED, + NULL, HFILL } + }, + { &hf_ams_stateudp, + { "UDP COMMAND", "ams.state_udp", + FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_UDP, + NULL, HFILL } + }, + { &hf_ams_stateinitcmd, + { "INIT COMMAND", "ams.state_initcmd", + FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_INITCMD, + NULL, HFILL } + }, + { &hf_ams_statebroadcast, + { "BROADCAST", "ams.state_broadcast", + FT_BOOLEAN, 16, TFS(&flags_set_truth), AMSCMDSF_BROADCAST, + NULL, HFILL } + }, + { &hf_ams_cbdata, + { "cbData", "ams.cbdata", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_errorcode, + { "ErrorCode", "ams.errorcode", + FT_UINT32, BASE_HEX, VALS(ErrorCode), 0x0, + NULL, HFILL } + }, + { &hf_ams_invokeid, + { "InvokeId", "ams.invokeid", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsdata, + { "Data", "ams.ads_data", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_data, + { "Data", "ams.data", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsindexgroup, + { "IndexGroup", "ams.ads_indexgroup", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsindexoffset, + { "IndexOffset", "ams.ads_indexoffset", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adscblength, + { "CbLength", "ams.ads_cblength", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsreadrequest, + { "ADS Read Request", "ams.ads_read_req", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsreadresponse, + { "ADS Read Response", "ams.ads_read_res", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsinvokeid, + { "InvokeId", "ams.ads_invokeid", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsresult, + { "Result", "ams.adsresult", + FT_UINT32, BASE_HEX, VALS(AdsErrorMode), 0x0, + NULL, HFILL } + }, + { &hf_ams_adswriterequest, + { "ADS Write Request", "ams.ads_write_req", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adswriteresponse, + { "ADS Write Response", "ams.ads_write_res", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsreadwriterequest, + { "ADS ReadWrite Request", "ams.ads_readwrite_req", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsreadwriteresponse, + { "ADS ReadWrite Response", "ams.ads_readwrite_res", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adscbreadlength, + { "CBReadLength", "ams.ads_cbreadlength", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adscbwritelength, + { "CBWriteLength", "ams.ads_cbwritelength", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsstate, + { "AdsState", "ams.ads_state", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsdevicestate, + { "DeviceState", "ams.ads_devicestate", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsnotificationhandle, + { "NotificationHandle", "ams.ads_notificationhandle", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsreadstaterequest, + { "ADS Read State Request", "ams.ads_readstate_req", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsreadstateresponse, + { "ADS Read State Response", "ams.ads_readstate_res", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adswritectrlrequest, + { "ADS Write Ctrl Request", "ams.ads_writectrl_req", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adswritectrlresponse, + { "ADS Write Ctrl Response", "ams.ads_writectrl_res", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsreaddinforequest, + { "ADS Read Device Info Request", "ams.ads_readdinfo_req", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsreaddinforesponse, + { "ADS Read Device Info Response", "ams.ads_readdinfo_res", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsadddnrequest, + { "ADS Add Device Notification Request", "ams.ads_adddn_req", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsadddnresponse, + { "ADS Add Device Notification Response", "ams.ads_adddn_res", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsdeldnrequest, + { "ADS Delete Device Notification Request", "ams.ads_deldn_req", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsdeldnresponse, + { "ADS Delete Device Notification Response", "ams.ads_deldn_res", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsdnrequest, + { "ADS Device Notification Request", "ams.ads_dn_req", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, #if 0 - { &hf_ams_adsdnresponse, - { "ADS Device Notification Response", "ams.ads_dn_res", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsnoteattrib, - { "InvokeId", "ams.ads_noteattrib", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsnoteblocks, - { "InvokeId", "ams.ads_noteblocks", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsversion, - { "ADS Version", "ams.ads_version", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, + { &hf_ams_adsdnresponse, + { "ADS Device Notification Response", "ams.ads_dn_res", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsnoteattrib, + { "InvokeId", "ams.ads_noteattrib", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsnoteblocks, + { "InvokeId", "ams.ads_noteblocks", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsversion, + { "ADS Version", "ams.ads_version", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, #endif - { &hf_ams_adsdevicename, - { "Device Name","ams.ads_devicename", - FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsversionversion, - { "ADS Major Version", "ams.ads_versionversion", - FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsversionrevision, - { "ADS Minor Version", "ams.ads_versionrevision", - FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsversionbuild, - { "ADS Version Build", "ams.ads_versionbuild", - FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsnoteblocksstamps, - { "Count of Stamps", "ams.ads_noteblocksstamps", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, + { &hf_ams_adsdevicename, + { "Device Name","ams.ads_devicename", + FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsversionversion, + { "ADS Major Version", "ams.ads_versionversion", + FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsversionrevision, + { "ADS Minor Version", "ams.ads_versionrevision", + FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsversionbuild, + { "ADS Version Build", "ams.ads_versionbuild", + FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsnoteblocksstamps, + { "Count of Stamps", "ams.ads_noteblocksstamps", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, #if 0 - { &hf_ams_adsnoteblocksstamp, - { "Notification Stamp", "ams.ads_noteblocksstamp", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adstimestamp, - { "Time Stamp", "ams.ads_timestamp", - FT_UINT64, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adssamplecnt, - { "Count of Stamps", "ams.ads_samplecnt", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adsnoteblockssample, - { "Notification Sample", "ams.ads_noteblockssample", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, + { &hf_ams_adsnoteblocksstamp, + { "Notification Stamp", "ams.ads_noteblocksstamp", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adstimestamp, + { "Time Stamp", "ams.ads_timestamp", + FT_UINT64, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adssamplecnt, + { "Count of Stamps", "ams.ads_samplecnt", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adsnoteblockssample, + { "Notification Sample", "ams.ads_noteblockssample", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, #endif - { &hf_ams_adstransmode, - { "Trans Mode", "ams.ads_transmode", - FT_UINT32, BASE_DEC, VALS(TransMode), 0x0, - NULL, HFILL } - }, - { &hf_ams_adsmaxdelay, - { "Max Delay", "ams.ads_maxdelay", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adscycletime, - { "Cycle Time", "ams.ads_cycletime", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, + { &hf_ams_adstransmode, + { "Trans Mode", "ams.ads_transmode", + FT_UINT32, BASE_DEC, VALS(TransMode), 0x0, + NULL, HFILL } + }, + { &hf_ams_adsmaxdelay, + { "Max Delay", "ams.ads_maxdelay", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adscycletime, + { "Cycle Time", "ams.ads_cycletime", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, #if 0 - { &hf_ams_adscmpmax, - { "Cmp Mad", "ams.ads_cmpmax", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ams_adscmpmin, - { "Cmp Min", "ams.ads_cmpmin", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - } + { &hf_ams_adscmpmax, + { "Cmp Mad", "ams.ads_cmpmax", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ams_adscmpmin, + { "Cmp Min", "ams.ads_cmpmin", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + } #endif - }; + }; static gint *ett[] = - { - &ett_ams, - &ett_ams_stateflags, - &ett_ams_adsreadrequest, - &ett_ams_adsreadresponse, - &ett_ams_adswriterequest, - &ett_ams_adswriteresponse, - &ett_ams_adsreadwriterequest, - &ett_ams_adsreadwriteresponse, - &ett_ams_adsreadstaterequest, - &ett_ams_adsreadstateresponse, - &ett_ams_adswritectrlrequest, - &ett_ams_adswritectrlresponse, - &ett_ams_adsreaddinforequest, - &ett_ams_adsreaddinforesponse, - &ett_ams_adsadddnrequest, - &ett_ams_adsadddnresponse, - &ett_ams_adsdeldnrequest, - &ett_ams_adsdeldnresponse, - &ett_ams_adsdnrequest - }; + { + &ett_ams, + &ett_ams_stateflags, + &ett_ams_adsreadrequest, + &ett_ams_adsreadresponse, + &ett_ams_adswriterequest, + &ett_ams_adswriteresponse, + &ett_ams_adsreadwriterequest, + &ett_ams_adsreadwriteresponse, + &ett_ams_adsreadstaterequest, + &ett_ams_adsreadstateresponse, + &ett_ams_adswritectrlrequest, + &ett_ams_adswritectrlresponse, + &ett_ams_adsreaddinforequest, + &ett_ams_adsreaddinforesponse, + &ett_ams_adsadddnrequest, + &ett_ams_adsadddnresponse, + &ett_ams_adsdeldnrequest, + &ett_ams_adsdeldnresponse, + &ett_ams_adsdnrequest + }; proto_ams = proto_register_protocol("AMS", "AMS", "ams"); proto_register_field_array(proto_ams, hf, array_length(hf)); @@ -1241,3 +1241,16 @@ void proto_reg_handoff_ams(void) dissector_add_uint("tcp.port", 0xbf02, amstcp_handle); dissector_add_uint("ecatf.type", 2, ams_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local Variables: + * c-basic-offset: 3 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=3 tabstop=8 expandtab: + * :indentSize=3:tabSize=8:noTabs=true: + */ diff --git a/plugins/ethercat/packet-ecatmb.c b/plugins/ethercat/packet-ecatmb.c index 2e123dbe40..5497d50ddf 100644 --- a/plugins/ethercat/packet-ecatmb.c +++ b/plugins/ethercat/packet-ecatmb.c @@ -2061,3 +2061,16 @@ void proto_reg_handoff_ecat_mailbox(void) eth_handle = find_dissector("eth_withoutfcs"); ams_handle = find_dissector("ams"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local Variables: + * c-basic-offset: 3 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=3 tabstop=8 expandtab: + * :indentSize=3:tabSize=8:noTabs=true: + */ diff --git a/plugins/ethercat/packet-esl.c b/plugins/ethercat/packet-esl.c index c8754818b3..74bebd4c04 100644 --- a/plugins/ethercat/packet-esl.c +++ b/plugins/ethercat/packet-esl.c @@ -47,8 +47,8 @@ typedef union _EslFlagsUnion guint16 port1 : 1; guint16 port0 : 1; guint16 extended : 1; - guint16 port11 : 1; - guint16 port10 : 1; + guint16 port11 : 1; + guint16 port10 : 1; guint16 crcError : 1; guint16 alignError : 1; guint16 timeStampEna : 1; @@ -372,3 +372,16 @@ proto_reg_handoff_esl(void) { } proto_set_decoding(proto_esl, esl_enable_dissector); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ diff --git a/plugins/ethercat/packet-ethercat-datagram.c b/plugins/ethercat/packet-ethercat-datagram.c index c201c68ec3..529fbffea0 100644 --- a/plugins/ethercat/packet-ethercat-datagram.c +++ b/plugins/ethercat/packet-ethercat-datagram.c @@ -57,12 +57,12 @@ static int ett_ecat_datagram_subtree = -1; static int hf_ecat_sub; static int hf_ecat_sub_data[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; -static int hf_ecat_sub_cmd[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; -static int hf_ecat_sub_idx[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; -static int hf_ecat_sub_cnt[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; -static int hf_ecat_sub_ado[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; -static int hf_ecat_sub_adp[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; -static int hf_ecat_sub_lad[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; +static int hf_ecat_sub_cmd[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; +static int hf_ecat_sub_idx[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; +static int hf_ecat_sub_cnt[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; +static int hf_ecat_sub_ado[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; +static int hf_ecat_sub_adp[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; +static int hf_ecat_sub_lad[10] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; /* static int hf_ecat_header = -1; */ static int hf_ecat_data = -1; @@ -126,42 +126,42 @@ static int hf_ecat_padding = -1; static const value_string EcCmdShort[] = { - { 0, "NOP" }, - { 1, "APRD" }, - { 2, "APWR" }, - { 3, "APRW" }, - { 4, "FPRD" }, - { 5, "FPWR" }, - { 6, "FPRW" }, - { 7, "BRD" }, - { 8, "BWR" }, - { 9, "BRW" }, - { 10, "LRD" }, - { 11, "LWR" }, - { 12, "LRW" }, - { 13, "ARMW" }, - { 14, "FRMW" }, + { 0, "NOP" }, + { 1, "APRD" }, + { 2, "APWR" }, + { 3, "APRW" }, + { 4, "FPRD" }, + { 5, "FPWR" }, + { 6, "FPRW" }, + { 7, "BRD" }, + { 8, "BWR" }, + { 9, "BRW" }, + { 10, "LRD" }, + { 11, "LWR" }, + { 12, "LRW" }, + { 13, "ARMW" }, + { 14, "FRMW" }, { 255, "EXT" }, { 0, NULL } }; static const value_string EcCmdLong[] = { - { 0, "No operation" }, - { 1, "Auto Increment Physical Read" }, - { 2, "Auto Increment Physical Write" }, - { 3, "Auto Increment Physical ReadWrite" }, - { 4, "Configured address Physical Read" }, - { 5, "Configured address Physical Write" }, - { 6, "Configured address Physical ReadWrite" }, - { 7, "Broadcast Read" }, - { 8, "Broadcast Write" }, - { 9, "Broadcast ReadWrite" }, - { 10, "Logical Read" }, - { 11, "Logical Write" }, - { 12, "Logical ReadWrite" }, - { 13, "Auto Increment Physical Read Multiple Write" }, - { 14, "Configured Address Physical Read Multiple Write" }, + { 0, "No operation" }, + { 1, "Auto Increment Physical Read" }, + { 2, "Auto Increment Physical Write" }, + { 3, "Auto Increment Physical ReadWrite" }, + { 4, "Configured address Physical Read" }, + { 5, "Configured address Physical Write" }, + { 6, "Configured address Physical ReadWrite" }, + { 7, "Broadcast Read" }, + { 8, "Broadcast Write" }, + { 9, "Broadcast ReadWrite" }, + { 10, "Logical Read" }, + { 11, "Logical Write" }, + { 12, "Logical ReadWrite" }, + { 13, "Auto Increment Physical Read Multiple Write" }, + { 14, "Configured Address Physical Read Multiple Write" }, { 255, "EXT" }, { 0, NULL } }; @@ -270,21 +270,21 @@ static const char* convertEcCmdToText(int cmd, const value_string ec_cmd[]) typedef enum { - EC_CMD_TYPE_NOP = 0, - EC_CMD_TYPE_APRD = 1, - EC_CMD_TYPE_APWR = 2, - EC_CMD_TYPE_APRW = 3, - EC_CMD_TYPE_FPRD = 4, - EC_CMD_TYPE_FPWR = 5, - EC_CMD_TYPE_FPRW = 6, - EC_CMD_TYPE_BRD = 7, - EC_CMD_TYPE_BWR = 8, - EC_CMD_TYPE_BRW = 9, - EC_CMD_TYPE_LRD = 10, - EC_CMD_TYPE_LWR = 11, - EC_CMD_TYPE_LRW = 12, - EC_CMD_TYPE_ARMW = 13, - EC_CMD_TYPE_FRMW = 14, + EC_CMD_TYPE_NOP = 0, + EC_CMD_TYPE_APRD = 1, + EC_CMD_TYPE_APWR = 2, + EC_CMD_TYPE_APRW = 3, + EC_CMD_TYPE_FPRD = 4, + EC_CMD_TYPE_FPWR = 5, + EC_CMD_TYPE_FPRW = 6, + EC_CMD_TYPE_BRD = 7, + EC_CMD_TYPE_BWR = 8, + EC_CMD_TYPE_BRW = 9, + EC_CMD_TYPE_LRD = 10, + EC_CMD_TYPE_LWR = 11, + EC_CMD_TYPE_LRW = 12, + EC_CMD_TYPE_ARMW = 13, + EC_CMD_TYPE_FRMW = 14, EC_CMD_TYPE_EXT = 255 } EC_CMD_TYPE; @@ -870,835 +870,835 @@ static void dissect_ecat_datagram(tvbuff_t *tvb, packet_info *pinfo, proto_tree void proto_register_ecat(void) { static hf_register_info hf[] = - { - { &hf_ecat_sub, - { "EtherCAT Frame", "ecat.sub", FT_BYTES, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, + { + { &hf_ecat_sub, + { "EtherCAT Frame", "ecat.sub", FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, #if 0 - { &hf_ecat_header, - { "eader", "ecat.header", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, + { &hf_ecat_header, + { "eader", "ecat.header", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, #endif - { &hf_ecat_sub_data[0], - { "Data", "ecat.sub1.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_data[1], - { "Data", "ecat.sub2.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_data[2], - { "Data", "ecat.sub3.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_data[3], - { "Data", "ecat.sub4.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_data[4], - { "Data", "ecat.sub5.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_data[5], - { "Data", "ecat.sub6.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_data[6], - { "Data", "ecat.sub7.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_data[7], - { "Data", "ecat.sub8.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_data[8], - { "Data", "ecat.sub9.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_data[9], - { "Data", "ecat.sub10.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_data, - { "Data", "ecat.data", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_cnt, - { "Working Cnt", "ecat.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, "The working counter is increased once for each addressed device if at least one byte/bit of the data was successfully read and/or written by that device, it is increased once for every operation made by that device - read/write/read and write", HFILL } - }, - { &hf_ecat_sub_cnt[0], - { "Working Cnt", "ecat.sub1.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cnt[1], - { "Working Cnt", "ecat.sub2.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cnt[2], - { "Working Cnt", "ecat.sub3.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cnt[3], - { "Working Cnt", "ecat.sub4.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cnt[4], - { "Working Cnt", "ecat.sub5.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cnt[5], - { "Working Cnt", "ecat.sub6.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cnt[6], - { "Working Cnt", "ecat.sub7.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cnt[7], - { "Working Cnt", "ecat.sub8.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cnt[8], - { "Working Cnt", "ecat.sub9.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cnt[9], - { "Working Cnt", "ecat.sub10.cnt", - FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_cmd, - { "Command", "ecat.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cmd[0], - { "Command", "ecat.sub1.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cmd[1], - { "Command", "ecat.sub2.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cmd[2], - { "Command", "ecat.sub3.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cmd[3], - { "Command", "ecat.sub4.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cmd[4], - { "Command", "ecat.sub5.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cmd[5], - { "Command", "ecat.sub6.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cmd[6], - { "Command", "ecat.sub7.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cmd[7], - { "Command", "ecat.sub8.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cmd[8], - { "Command", "ecat.sub9.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_cmd[9], - { "Command", "ecat.sub10.cmd", - FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } - }, - { &hf_ecat_idx, - { "Index", "ecat.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_idx[0], - { "Index", "ecat.sub1.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_idx[1], - { "Index", "ecat.sub2.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_idx[2], - { "Index", "ecat.sub3.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_idx[3], - { "Index", "ecat.sub4.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_idx[4], - { "Index", "ecat.sub5.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_idx[5], - { "Index", "ecat.sub6.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_idx[6], - { "Index", "ecat.sub7.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_idx[7], - { "Index", "ecat.sub8.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_idx[8], - { "Index", "ecat.sub9.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_idx[9], - { "Index", "ecat.sub10.idx", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_adp, - { "Slave Addr", "ecat.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_adp[0], - { "Slave Addr", "ecat.sub1.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_adp[1], - { "Slave Addr", "ecat.sub2.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_adp[2], - { "Slave Addr", "ecat.sub3.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_adp[3], - { "Slave Addr", "ecat.sub4.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_adp[4], - { "Slave Addr", "ecat.sub5.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_adp[5], - { "Slave Addr", "ecat.sub6.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_adp[6], - { "Slave Addr", "ecat.sub7.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_adp[7], - { "Slave Addr", "ecat.sub8.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_adp[8], - { "Slave Addr", "ecat.sub9.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_adp[9], - { "Slave Addr", "ecat.sub10.adp", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_ado, - { "Offset Addr", "ecat.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_ado[0], - { "Offset Addr", "ecat.sub1.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_ado[1], - { "Offset Addr", "ecat.sub2.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_ado[2], - { "Offset Addr", "ecat.sub3.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_ado[3], - { "Offset Addr", "ecat.sub4.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_ado[4], - { "Offset Addr", "ecat.sub5.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_ado[5], - { "Offset Addr", "ecat.sub6.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_ado[6], - { "Offset Addr", "ecat.sub7.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_ado[7], - { "Offset Addr", "ecat.sub8.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_ado[8], - { "Offset Addr", "ecat.sub9.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_ado[9], - { "Offset Addr", "ecat.sub10.ado", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_lad, - { "Log Addr", "ecat.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_lad[0], - { "Log Addr", "ecat.sub1.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_lad[1], - { "Log Addr", "ecat.sub2.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_lad[2], - { "Log Addr", "ecat.sub3.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_lad[3], - { "Log Addr", "ecat.sub4.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_lad[4], - { "Log Addr", "ecat.sub5.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_lad[5], - { "Log Addr", "ecat.sub6.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_lad[6], - { "Log Addr", "ecat.sub7.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_lad[7], - { "Log Addr", "ecat.sub8.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_lad[8], - { "Log Addr", "ecat.sub9.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_lad[9], - { "Log Addr", "ecat.sub10.lad", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, + { &hf_ecat_sub_data[0], + { "Data", "ecat.sub1.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_data[1], + { "Data", "ecat.sub2.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_data[2], + { "Data", "ecat.sub3.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_data[3], + { "Data", "ecat.sub4.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_data[4], + { "Data", "ecat.sub5.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_data[5], + { "Data", "ecat.sub6.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_data[6], + { "Data", "ecat.sub7.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_data[7], + { "Data", "ecat.sub8.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_data[8], + { "Data", "ecat.sub9.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_data[9], + { "Data", "ecat.sub10.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_data, + { "Data", "ecat.data", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_cnt, + { "Working Cnt", "ecat.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, "The working counter is increased once for each addressed device if at least one byte/bit of the data was successfully read and/or written by that device, it is increased once for every operation made by that device - read/write/read and write", HFILL } + }, + { &hf_ecat_sub_cnt[0], + { "Working Cnt", "ecat.sub1.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cnt[1], + { "Working Cnt", "ecat.sub2.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cnt[2], + { "Working Cnt", "ecat.sub3.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cnt[3], + { "Working Cnt", "ecat.sub4.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cnt[4], + { "Working Cnt", "ecat.sub5.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cnt[5], + { "Working Cnt", "ecat.sub6.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cnt[6], + { "Working Cnt", "ecat.sub7.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cnt[7], + { "Working Cnt", "ecat.sub8.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cnt[8], + { "Working Cnt", "ecat.sub9.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cnt[9], + { "Working Cnt", "ecat.sub10.cnt", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_cmd, + { "Command", "ecat.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cmd[0], + { "Command", "ecat.sub1.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cmd[1], + { "Command", "ecat.sub2.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cmd[2], + { "Command", "ecat.sub3.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cmd[3], + { "Command", "ecat.sub4.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cmd[4], + { "Command", "ecat.sub5.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cmd[5], + { "Command", "ecat.sub6.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cmd[6], + { "Command", "ecat.sub7.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cmd[7], + { "Command", "ecat.sub8.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cmd[8], + { "Command", "ecat.sub9.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_cmd[9], + { "Command", "ecat.sub10.cmd", + FT_UINT8, BASE_HEX, VALS(EcCmdShort), 0x0, NULL, HFILL } + }, + { &hf_ecat_idx, + { "Index", "ecat.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_idx[0], + { "Index", "ecat.sub1.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_idx[1], + { "Index", "ecat.sub2.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_idx[2], + { "Index", "ecat.sub3.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_idx[3], + { "Index", "ecat.sub4.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_idx[4], + { "Index", "ecat.sub5.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_idx[5], + { "Index", "ecat.sub6.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_idx[6], + { "Index", "ecat.sub7.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_idx[7], + { "Index", "ecat.sub8.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_idx[8], + { "Index", "ecat.sub9.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_idx[9], + { "Index", "ecat.sub10.idx", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_adp, + { "Slave Addr", "ecat.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_adp[0], + { "Slave Addr", "ecat.sub1.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_adp[1], + { "Slave Addr", "ecat.sub2.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_adp[2], + { "Slave Addr", "ecat.sub3.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_adp[3], + { "Slave Addr", "ecat.sub4.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_adp[4], + { "Slave Addr", "ecat.sub5.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_adp[5], + { "Slave Addr", "ecat.sub6.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_adp[6], + { "Slave Addr", "ecat.sub7.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_adp[7], + { "Slave Addr", "ecat.sub8.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_adp[8], + { "Slave Addr", "ecat.sub9.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_adp[9], + { "Slave Addr", "ecat.sub10.adp", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_ado, + { "Offset Addr", "ecat.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_ado[0], + { "Offset Addr", "ecat.sub1.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_ado[1], + { "Offset Addr", "ecat.sub2.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_ado[2], + { "Offset Addr", "ecat.sub3.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_ado[3], + { "Offset Addr", "ecat.sub4.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_ado[4], + { "Offset Addr", "ecat.sub5.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_ado[5], + { "Offset Addr", "ecat.sub6.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_ado[6], + { "Offset Addr", "ecat.sub7.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_ado[7], + { "Offset Addr", "ecat.sub8.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_ado[8], + { "Offset Addr", "ecat.sub9.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_ado[9], + { "Offset Addr", "ecat.sub10.ado", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_lad, + { "Log Addr", "ecat.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_lad[0], + { "Log Addr", "ecat.sub1.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_lad[1], + { "Log Addr", "ecat.sub2.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_lad[2], + { "Log Addr", "ecat.sub3.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_lad[3], + { "Log Addr", "ecat.sub4.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_lad[4], + { "Log Addr", "ecat.sub5.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_lad[5], + { "Log Addr", "ecat.sub6.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_lad[6], + { "Log Addr", "ecat.sub7.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_lad[7], + { "Log Addr", "ecat.sub8.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_lad[8], + { "Log Addr", "ecat.sub9.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_lad[9], + { "Log Addr", "ecat.sub10.lad", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, #if 0 - { &hf_ecat_len, - { "Length", "ecat.len", - FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, + { &hf_ecat_len, + { "Length", "ecat.len", + FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, #endif - { &hf_ecat_int, - { "Interrupt", "ecat.int", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_syncman, - { "SyncManager", "ecat.syncman", - FT_BYTES, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_syncman_start, - { "Start Addr", "ecat.syncman.start", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_syncman_len, - { "SM Length", "ecat.syncman.len", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_syncman_flags, - { "SM Flags", "ecat.syncman.flags", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag0, - { "SM Flag0", "ecat.syncman_flag0", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag0), 0x00000001, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag1, - { "SM Flag1", "ecat.syncman_flag1", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag1), 0x00000002, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag2, - { "SM Flag2", "ecat.syncman_flag2", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag2), 0x00000004, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag4, - { "SM Flag4", "ecat.syncman_flag4", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag4), 0x00000010, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag5, - { "SM Flag5", "ecat.syncman_flag5", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag5), 0x00000020, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag8, - { "SM Flag8", "ecat.syncman_flag8", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag8), 0x00000100, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag9, - { "SM Flag9", "ecat.syncman_flag9", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag9), 0x00000200, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag10, - { "SM Flag10", "ecat.syncman_flag10", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag10), 0x00000400, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag11, - { "SM Flag11", "ecat.syncman_flag11", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag11), 0x00000800, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag12, - { "SM Flag12", "ecat.syncman_flag12", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag12), 0x00001000, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag13, - { "SM Flag13", "ecat.syncman_flag13", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag13), 0x00002000, - NULL, HFILL } - }, - { &hf_ecat_syncman_flag16, - { "SM Flag16", "ecat.syncman_flag16", - FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag16), 0x00010000, - NULL, HFILL } - }, - { &hf_ecat_fmmu, - { "FMMU", "ecat.fmmu", - FT_BYTES, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_fmmu_lstart, - { "Log Start", "ecat.fmmu.lstart", - FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_fmmu_llen, - { "Log Length", "ecat.fmmu.llen", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_fmmu_lstartbit, - { "Log StartBit", "ecat.fmmu.lstartbit", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_fmmu_lendbit, - { "Log EndBit", "ecat.fmmu.lendbit", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_fmmu_pstart, - { "Phys Start", "ecat.fmmu.pstart", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_fmmu_pstartbit, - { "Phys StartBit", "ecat.fmmu.pstartbit", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_fmmu_type, - { "FMMU Type", "ecat.fmmu.type", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_fmmu_typeread, - { "Type", "ecat.fmmu.typeread", - FT_BOOLEAN, 8, TFS(&tfs_ecat_fmmu_typeread), 0x01, - NULL, HFILL } - }, - { &hf_ecat_fmmu_typewrite, - { "Type", "ecat.fmmu.typewrite", - FT_BOOLEAN, 8, TFS(&tfs_ecat_fmmu_typewrite), 0x02, - NULL, HFILL } - }, - { &hf_ecat_fmmu_active, - { "FMMU Active", "ecat.fmmu.active", - FT_UINT8, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_fmmu_active0, - { "Active", "ecat.fmmu.active0", - FT_BOOLEAN, 8, TFS(&tfs_ecat_fmmu_active), 0x01, - NULL, HFILL } - }, - { &hf_ecat_dc_diff_da, - { "DC D-A", "ecat.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_dc_diff_bd, - { "DC B-D", "ecat.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_dc_diff_cb, - { "DC C-B", "ecat.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_dc_diff_cd, - { "DC C-D", "ecat.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_dc_diff_ba, - { "DC B-A", "ecat.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_dc_diff_ca, - { "DC C-A", "ecat.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_da[0], - { "DC D-A", "ecat.sub1.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_da[1], - { "DC D-A", "ecat.sub2.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_da[2], - { "DC D-A", "ecat.sub3.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_da[3], - { "DC D-A", "ecat.sub4.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_da[4], - { "DC D-A", "ecat.sub5.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_da[5], - { "DC D-A", "ecat.sub6.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_da[6], - { "DC D-A", "ecat.sub7.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_da[7], - { "DC D-A", "ecat.sub8.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_da[8], - { "DC D-A", "ecat.sub9.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_da[9], - { "DC D-A", "ecat.sub10.dc.dif.da", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - - { &hf_ecat_sub_dc_diff_bd[0], - { "DC B-C", "ecat.sub1.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_bd[1], - { "DC B-C", "ecat.sub2.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_bd[2], - { "DC B-C", "ecat.sub3.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_bd[3], - { "DC B-C", "ecat.sub4.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_bd[4], - { "DC B-C", "ecat.sub5.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_bd[5], - { "DC B-C", "ecat.sub6.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_bd[6], - { "DC B-C", "ecat.sub7.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_bd[7], - { "DC B-C", "ecat.sub8.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_bd[8], - { "DC B-C", "ecat.sub9.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_bd[9], - { "DC B-D", "ecat.sub10.dc.dif.bd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - - { &hf_ecat_sub_dc_diff_cb[0], - { "DC C-B", "ecat.sub1.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cb[1], - { "DC C-B", "ecat.sub2.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cb[2], - { "DC C-B", "ecat.sub3.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cb[3], - { "DC C-B", "ecat.sub4.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cb[4], - { "DC C-B", "ecat.sub5.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cb[5], - { "DC C-B", "ecat.sub6.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cb[6], - { "DC C-B", "ecat.sub7.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cb[7], - { "DC C-B", "ecat.sub8.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cb[8], - { "DC C-B", "ecat.sub9.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cb[9], - { "DC C-B", "ecat.sub10.dc.dif.cb", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - - { &hf_ecat_sub_dc_diff_cd[0], - { "DC C-D", "ecat.sub1.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cd[1], - { "DC C-D", "ecat.sub2.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cd[2], - { "DC C-D", "ecat.sub3.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cd[3], - { "DC C-D", "ecat.sub4.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cd[4], - { "DC C-D", "ecat.sub5.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cd[5], - { "DC C-D", "ecat.sub6.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cd[6], - { "DC C-D", "ecat.sub7.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cd[7], - { "DC C-D", "ecat.sub8.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cd[8], - { "DC C-D", "ecat.sub9.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_cd[9], - { "DC C-D", "ecat.sub10.dc.dif.cd", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - - { &hf_ecat_sub_dc_diff_ba[0], - { "DC B-A", "ecat.sub1.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ba[1], - { "DC B-A", "ecat.sub2.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ba[2], - { "DC B-A", "ecat.sub3.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ba[3], - { "DC B-A", "ecat.sub4.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ba[4], - { "DC B-A", "ecat.sub5.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ba[5], - { "DC B-A", "ecat.sub6.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ba[6], - { "DC B-A", "ecat.sub7.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ba[7], - { "DC B-A", "ecat.sub8.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ba[8], - { "DC B-A", "ecat.sub9.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ba[9], - { "DC B-A", "ecat.sub10.dc.dif.ba", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - - { &hf_ecat_sub_dc_diff_ca[0], - { "DC C-A", "ecat.sub1.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ca[1], - { "DC C-A", "ecat.sub2.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ca[2], - { "DC C-A", "ecat.sub3.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ca[3], - { "DC C-A", "ecat.sub4.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ca[4], - { "DC C-A", "ecat.sub5.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ca[5], - { "DC C-A", "ecat.sub6.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ca[6], - { "DC C-A", "ecat.sub7.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ca[7], - { "DC C-A", "ecat.sub8.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ca[8], - { "DC C-A", "ecat.sub9.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_sub_dc_diff_ca[9], - { "DC C-A", "ecat.sub10.dc.dif.ca", - FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } - }, - { &hf_ecat_length_len, - { "Length", "ecat.subframe.length", - FT_UINT16, BASE_DEC, NULL, 0x07ff, NULL, HFILL} - }, - { &hf_ecat_length_r, - { "Reserved", "ecat.subframe.reserved", - FT_UINT16, BASE_DEC, VALS(ecat_subframe_reserved_vals), 0x3800, NULL, HFILL} - }, - { &hf_ecat_length_c, - { "Round trip", "ecat.subframe.circulating", - FT_UINT16, BASE_DEC, VALS(ecat_subframe_circulating_vals), 0x4000, NULL, HFILL} - }, - { &hf_ecat_length_m, - { "Last indicator", "ecat.subframe.more", - FT_UINT16, BASE_DEC, VALS(ecat_subframe_more_vals), 0x8000, NULL, HFILL} - }, - { &hf_ecat_padding, - { "Pad bytes", "ecat.subframe.pad_bytes", - FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL} - } - }; + { &hf_ecat_int, + { "Interrupt", "ecat.int", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_syncman, + { "SyncManager", "ecat.syncman", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_syncman_start, + { "Start Addr", "ecat.syncman.start", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_syncman_len, + { "SM Length", "ecat.syncman.len", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_syncman_flags, + { "SM Flags", "ecat.syncman.flags", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag0, + { "SM Flag0", "ecat.syncman_flag0", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag0), 0x00000001, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag1, + { "SM Flag1", "ecat.syncman_flag1", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag1), 0x00000002, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag2, + { "SM Flag2", "ecat.syncman_flag2", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag2), 0x00000004, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag4, + { "SM Flag4", "ecat.syncman_flag4", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag4), 0x00000010, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag5, + { "SM Flag5", "ecat.syncman_flag5", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag5), 0x00000020, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag8, + { "SM Flag8", "ecat.syncman_flag8", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag8), 0x00000100, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag9, + { "SM Flag9", "ecat.syncman_flag9", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag9), 0x00000200, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag10, + { "SM Flag10", "ecat.syncman_flag10", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag10), 0x00000400, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag11, + { "SM Flag11", "ecat.syncman_flag11", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag11), 0x00000800, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag12, + { "SM Flag12", "ecat.syncman_flag12", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag12), 0x00001000, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag13, + { "SM Flag13", "ecat.syncman_flag13", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag13), 0x00002000, + NULL, HFILL } + }, + { &hf_ecat_syncman_flag16, + { "SM Flag16", "ecat.syncman_flag16", + FT_BOOLEAN, 32, TFS(&tfs_ecat_syncman_flag16), 0x00010000, + NULL, HFILL } + }, + { &hf_ecat_fmmu, + { "FMMU", "ecat.fmmu", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_fmmu_lstart, + { "Log Start", "ecat.fmmu.lstart", + FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_fmmu_llen, + { "Log Length", "ecat.fmmu.llen", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_fmmu_lstartbit, + { "Log StartBit", "ecat.fmmu.lstartbit", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_fmmu_lendbit, + { "Log EndBit", "ecat.fmmu.lendbit", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_fmmu_pstart, + { "Phys Start", "ecat.fmmu.pstart", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_fmmu_pstartbit, + { "Phys StartBit", "ecat.fmmu.pstartbit", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_fmmu_type, + { "FMMU Type", "ecat.fmmu.type", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_fmmu_typeread, + { "Type", "ecat.fmmu.typeread", + FT_BOOLEAN, 8, TFS(&tfs_ecat_fmmu_typeread), 0x01, + NULL, HFILL } + }, + { &hf_ecat_fmmu_typewrite, + { "Type", "ecat.fmmu.typewrite", + FT_BOOLEAN, 8, TFS(&tfs_ecat_fmmu_typewrite), 0x02, + NULL, HFILL } + }, + { &hf_ecat_fmmu_active, + { "FMMU Active", "ecat.fmmu.active", + FT_UINT8, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_fmmu_active0, + { "Active", "ecat.fmmu.active0", + FT_BOOLEAN, 8, TFS(&tfs_ecat_fmmu_active), 0x01, + NULL, HFILL } + }, + { &hf_ecat_dc_diff_da, + { "DC D-A", "ecat.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_dc_diff_bd, + { "DC B-D", "ecat.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_dc_diff_cb, + { "DC C-B", "ecat.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_dc_diff_cd, + { "DC C-D", "ecat.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_dc_diff_ba, + { "DC B-A", "ecat.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_dc_diff_ca, + { "DC C-A", "ecat.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_da[0], + { "DC D-A", "ecat.sub1.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_da[1], + { "DC D-A", "ecat.sub2.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_da[2], + { "DC D-A", "ecat.sub3.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_da[3], + { "DC D-A", "ecat.sub4.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_da[4], + { "DC D-A", "ecat.sub5.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_da[5], + { "DC D-A", "ecat.sub6.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_da[6], + { "DC D-A", "ecat.sub7.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_da[7], + { "DC D-A", "ecat.sub8.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_da[8], + { "DC D-A", "ecat.sub9.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_da[9], + { "DC D-A", "ecat.sub10.dc.dif.da", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + + { &hf_ecat_sub_dc_diff_bd[0], + { "DC B-C", "ecat.sub1.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_bd[1], + { "DC B-C", "ecat.sub2.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_bd[2], + { "DC B-C", "ecat.sub3.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_bd[3], + { "DC B-C", "ecat.sub4.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_bd[4], + { "DC B-C", "ecat.sub5.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_bd[5], + { "DC B-C", "ecat.sub6.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_bd[6], + { "DC B-C", "ecat.sub7.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_bd[7], + { "DC B-C", "ecat.sub8.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_bd[8], + { "DC B-C", "ecat.sub9.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_bd[9], + { "DC B-D", "ecat.sub10.dc.dif.bd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + + { &hf_ecat_sub_dc_diff_cb[0], + { "DC C-B", "ecat.sub1.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cb[1], + { "DC C-B", "ecat.sub2.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cb[2], + { "DC C-B", "ecat.sub3.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cb[3], + { "DC C-B", "ecat.sub4.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cb[4], + { "DC C-B", "ecat.sub5.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cb[5], + { "DC C-B", "ecat.sub6.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cb[6], + { "DC C-B", "ecat.sub7.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cb[7], + { "DC C-B", "ecat.sub8.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cb[8], + { "DC C-B", "ecat.sub9.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cb[9], + { "DC C-B", "ecat.sub10.dc.dif.cb", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + + { &hf_ecat_sub_dc_diff_cd[0], + { "DC C-D", "ecat.sub1.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cd[1], + { "DC C-D", "ecat.sub2.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cd[2], + { "DC C-D", "ecat.sub3.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cd[3], + { "DC C-D", "ecat.sub4.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cd[4], + { "DC C-D", "ecat.sub5.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cd[5], + { "DC C-D", "ecat.sub6.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cd[6], + { "DC C-D", "ecat.sub7.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cd[7], + { "DC C-D", "ecat.sub8.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cd[8], + { "DC C-D", "ecat.sub9.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_cd[9], + { "DC C-D", "ecat.sub10.dc.dif.cd", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + + { &hf_ecat_sub_dc_diff_ba[0], + { "DC B-A", "ecat.sub1.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ba[1], + { "DC B-A", "ecat.sub2.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ba[2], + { "DC B-A", "ecat.sub3.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ba[3], + { "DC B-A", "ecat.sub4.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ba[4], + { "DC B-A", "ecat.sub5.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ba[5], + { "DC B-A", "ecat.sub6.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ba[6], + { "DC B-A", "ecat.sub7.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ba[7], + { "DC B-A", "ecat.sub8.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ba[8], + { "DC B-A", "ecat.sub9.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ba[9], + { "DC B-A", "ecat.sub10.dc.dif.ba", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + + { &hf_ecat_sub_dc_diff_ca[0], + { "DC C-A", "ecat.sub1.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ca[1], + { "DC C-A", "ecat.sub2.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ca[2], + { "DC C-A", "ecat.sub3.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ca[3], + { "DC C-A", "ecat.sub4.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ca[4], + { "DC C-A", "ecat.sub5.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ca[5], + { "DC C-A", "ecat.sub6.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ca[6], + { "DC C-A", "ecat.sub7.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ca[7], + { "DC C-A", "ecat.sub8.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ca[8], + { "DC C-A", "ecat.sub9.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_sub_dc_diff_ca[9], + { "DC C-A", "ecat.sub10.dc.dif.ca", + FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_ecat_length_len, + { "Length", "ecat.subframe.length", + FT_UINT16, BASE_DEC, NULL, 0x07ff, NULL, HFILL} + }, + { &hf_ecat_length_r, + { "Reserved", "ecat.subframe.reserved", + FT_UINT16, BASE_DEC, VALS(ecat_subframe_reserved_vals), 0x3800, NULL, HFILL} + }, + { &hf_ecat_length_c, + { "Round trip", "ecat.subframe.circulating", + FT_UINT16, BASE_DEC, VALS(ecat_subframe_circulating_vals), 0x4000, NULL, HFILL} + }, + { &hf_ecat_length_m, + { "Last indicator", "ecat.subframe.more", + FT_UINT16, BASE_DEC, VALS(ecat_subframe_more_vals), 0x8000, NULL, HFILL} + }, + { &hf_ecat_padding, + { "Pad bytes", "ecat.subframe.pad_bytes", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL} + } + }; static gint *ett[] = - { - &ett_ecat, - &ett_ecat_header, - &ett_ecat_syncman, - &ett_ecat_syncflag, - &ett_ecat_fmmu, - &ett_ecat_fmmu_type, - &ett_ecat_fmmu_active, - &ett_ecat_dc, - &ett_ecat_length, - &ett_ecat_padding, - &ett_ecat_datagram_subtree - }; + { + &ett_ecat, + &ett_ecat_header, + &ett_ecat_syncman, + &ett_ecat_syncflag, + &ett_ecat_fmmu, + &ett_ecat_fmmu_type, + &ett_ecat_fmmu_active, + &ett_ecat_dc, + &ett_ecat_length, + &ett_ecat_padding, + &ett_ecat_datagram_subtree + }; proto_ecat_datagram = proto_register_protocol("EtherCAT datagram(s)", - "ECAT", "ecat"); + "ECAT", "ecat"); proto_register_field_array(proto_ecat_datagram, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -1718,3 +1718,16 @@ void proto_reg_handoff_ecat(void) ecat_mailbox_handle = find_dissector("ecat_mailbox"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local Variables: + * c-basic-offset: 3 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=3 tabstop=8 expandtab: + * :indentSize=3:tabSize=8:noTabs=true: + */ diff --git a/plugins/ethercat/packet-ethercat-frame.c b/plugins/ethercat/packet-ethercat-frame.c index 7452f7e929..c3a20fe4ce 100644 --- a/plugins/ethercat/packet-ethercat-frame.c +++ b/plugins/ethercat/packet-ethercat-frame.c @@ -106,33 +106,33 @@ static void dissect_ethercat_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree void proto_register_ethercat_frame(void) { static hf_register_info hf[] = - { - { &hf_ethercat_frame_length, - { "Length", "ecatf.length", - FT_UINT16, BASE_HEX, NULL, 0x07FF, - NULL, HFILL } - }, - - { &hf_ethercat_frame_reserved, - { "Reserved", "ecatf.reserved", - FT_UINT16, BASE_HEX, VALS(ethercat_frame_reserved_vals), 0x0800, - NULL, HFILL} - }, - - { &hf_ethercat_frame_type, - { "Type", "ecatf.type", - FT_UINT16, BASE_HEX, VALS(EthercatFrameTypes), 0xF000, - "E88A4 Types", HFILL } - } - }; + { + { &hf_ethercat_frame_length, + { "Length", "ecatf.length", + FT_UINT16, BASE_HEX, NULL, 0x07FF, + NULL, HFILL } + }, + + { &hf_ethercat_frame_reserved, + { "Reserved", "ecatf.reserved", + FT_UINT16, BASE_HEX, VALS(ethercat_frame_reserved_vals), 0x0800, + NULL, HFILL} + }, + + { &hf_ethercat_frame_type, + { "Type", "ecatf.type", + FT_UINT16, BASE_HEX, VALS(EthercatFrameTypes), 0xF000, + "E88A4 Types", HFILL } + } + }; static gint *ett[] = - { - &ett_ethercat_frame - }; + { + &ett_ethercat_frame + }; proto_ethercat_frame = proto_register_protocol("EtherCAT frame header", - "ETHERCAT","ethercat"); + "ETHERCAT","ethercat"); proto_register_field_array(proto_ethercat_frame,hf,array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); @@ -141,7 +141,7 @@ void proto_register_ethercat_frame(void) /* Define a handle (ecatf.type) for sub dissectors that want to dissect the Ethercat frame ether type (E88A4) payload. */ ethercat_frame_dissector_table = register_dissector_table("ecatf.type", - "EtherCAT frame type", FT_UINT8, BASE_DEC); + "EtherCAT frame type", FT_UINT8, BASE_DEC); } void proto_reg_handoff_ethercat_frame(void) @@ -154,3 +154,16 @@ void proto_reg_handoff_ethercat_frame(void) dissector_add_uint("tcp.port", ETHERTYPE_ECATF, ethercat_frame_handle); ethercat_frame_data_handle = find_dissector("data"); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local Variables: + * c-basic-offset: 3 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=3 tabstop=8 expandtab: + * :indentSize=3:tabSize=8:noTabs=true: + */ diff --git a/plugins/ethercat/packet-ioraw.c b/plugins/ethercat/packet-ioraw.c index 83610336e5..5bc07d78d2 100644 --- a/plugins/ethercat/packet-ioraw.c +++ b/plugins/ethercat/packet-ioraw.c @@ -81,31 +81,31 @@ static void dissect_ioraw(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) void proto_register_ioraw(void) { static hf_register_info hf[] = - { + { #if 0 - { &hf_ioraw_summary, - { "Summary of the IoRaw Packet", "ioraw.summary", - FT_STRING, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, + { &hf_ioraw_summary, + { "Summary of the IoRaw Packet", "ioraw.summary", + FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, #endif - { &hf_ioraw_header, { "Header", "ioraw.header", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_ioraw_data, { "VarData", "ioraw.data", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - } - }; + { &hf_ioraw_header, { "Header", "ioraw.header", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_ioraw_data, { "VarData", "ioraw.data", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + } + }; static gint *ett[] = - { - &ett_ioraw - }; + { + &ett_ioraw + }; proto_ioraw = proto_register_protocol("TwinCAT IO-RAW", - "IO-RAW","ioraw"); + "IO-RAW","ioraw"); proto_register_field_array(proto_ioraw,hf,array_length(hf)); proto_register_subtree_array(ett,array_length(ett)); } @@ -115,5 +115,18 @@ void proto_reg_handoff_ioraw(void) dissector_handle_t ioraw_handle; ioraw_handle = create_dissector_handle(dissect_ioraw, proto_ioraw); + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local Variables: + * c-basic-offset: 3 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=3 tabstop=8 expandtab: + * :indentSize=3:tabSize=8:noTabs=true: + */ dissector_add_uint("ecatf.type", 3, ioraw_handle); } diff --git a/plugins/ethercat/packet-nv.c b/plugins/ethercat/packet-nv.c index 660a44af7b..c2903d7714 100644 --- a/plugins/ethercat/packet-nv.c +++ b/plugins/ethercat/packet-nv.c @@ -165,70 +165,69 @@ static void dissect_nv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) void proto_register_nv(void) { static hf_register_info hf[] = - { + { #if 0 - { &hf_nv_summary, - { "Summary of the Nv Packet", "tc_nv.summary", - FT_BYTES, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, + { &hf_nv_summary, { "Summary of the Nv Packet", "tc_nv.summary", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, #endif - { &hf_nv_header, { "Header", "tc_nv.header", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_nv_publisher, { "Publisher", "tc_nv.publisher", - FT_BYTES, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_nv_count, { "Count", "tc_nv.count", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_nv_cycleindex, { "CycleIndex", "tc_nv.cycleindex", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_nv_variable, { "Variable", "tc_nv.variable", - FT_BYTES, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_nv_varheader, { "VarHeader", "tc_nv.varheader", - FT_NONE, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - { &hf_nv_id, { "Id", "tc_nv.id", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_nv_hash, { "Hash", "tc_nv.hash", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_nv_length, { "Length", "tc_nv.length", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_nv_quality, { "Quality", "tc_nv.quality", - FT_UINT16, BASE_HEX, NULL, 0x0, - NULL, HFILL } - }, - { &hf_nv_data, { "Data", "tc_nv.data", - FT_BYTES, BASE_NONE, NULL, 0x0, - NULL, HFILL } - }, - }; + { &hf_nv_header, { "Header", "tc_nv.header", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_nv_publisher, { "Publisher", "tc_nv.publisher", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_nv_count, { "Count", "tc_nv.count", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_nv_cycleindex, { "CycleIndex", "tc_nv.cycleindex", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_nv_variable, { "Variable", "tc_nv.variable", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_nv_varheader, { "VarHeader", "tc_nv.varheader", + FT_NONE, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + { &hf_nv_id, { "Id", "tc_nv.id", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_nv_hash, { "Hash", "tc_nv.hash", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_nv_length, { "Length", "tc_nv.length", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_nv_quality, { "Quality", "tc_nv.quality", + FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL } + }, + { &hf_nv_data, { "Data", "tc_nv.data", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL } + }, + }; static gint *ett[] = - { - &ett_nv, - &ett_nv_header, - &ett_nv_var, - &ett_nv_varheader - }; + { + &ett_nv, + &ett_nv_header, + &ett_nv_var, + &ett_nv_varheader + }; proto_nv = proto_register_protocol("TwinCAT NV", - "TC-NV","tc_nv"); + "TC-NV","tc_nv"); proto_register_field_array(proto_nv,hf,array_length(hf)); proto_register_subtree_array(ett,array_length(ett)); } @@ -240,3 +239,16 @@ void proto_reg_handoff_nv(void) nv_handle = create_dissector_handle(dissect_nv, proto_nv); dissector_add_uint("ecatf.type", 4, nv_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local Variables: + * c-basic-offset: 3 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=3 tabstop=8 expandtab: + * :indentSize=3:tabSize=8:noTabs=true: + */ |