<?xml version="1.0" encoding="UTF-8"?>
<!--
Disclaimer: This file is part of the Wireshark TRDP dissector. It is derived work from the standard IEC 61375-2-3. It is NOT part of the standard or an official document. As of writing it has not had independent reviews. If you notice issues, please file a bug report.
Note: Following dataset-Ids are offset to free space, plus com-id*100 + increments. There is no standard. If this conflicts with your application, disable this xml in the dissector settings.
Author: Thorsten <thorsten.schulz@stadlerrail.com>
SPDX-License-Identifier: GPL-2.0-or-later
-->
<device xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="trdp-config.xsd" host-name="generic" leader-name="generic" type="train">
	<bus-interface-list>
		<bus-interface network-id="1" name="generic" host-ip="0.0.0.0">
			<pd-com-parameter timeout-value="100000"/><!-- the standard's default value -->
			<md-com-parameter confirm-timeout="1000000" reply-timeout="5000000"/><!-- the standard's default values -->

			<telegram com-id="1" name="ETBCTRL" data-set-id="ETBCTRL_TELEGRAM"><!--UDP/Pd-->
				<pd-parameter cycle="500000" timeout="3000000"/>
				<destination uri="grpECSP.anyVeh.aCst.aClTrn.lTrn"><sdt-parameter smi1="1" udv="1"/></destination>
				<!-- SID-parameter safeTopoCount = 0 -->
			</telegram>
			    <telegram com-id="2" name="CSTINFO notification" data-set-id="CSTINFO"/><!--UDP/Mn-->
			<telegram com-id="3" name="CSTINFOCTRL notification" data-set-id="CSTINFOCTRL"><!--UDP/Mn-->
				<destination uri="grpECSP.anyVeh.aCst.aClTrn.lTrn"><sdt-parameter smi1="3" udv="1"/></destination>
				<!-- SID-parameter safeTopoCount = 0 -->
			</telegram>
			<telegram com-id="10" name="TRDP Echo"/>
			<!-- there are conflicting definitions in the IEC 61375-2-3:2017 for the com-ids 30..40 (p. 121 vs p.218) here the latter is used, as it seems more specific. -->
			<telegram com-id="30" name="TRDP: global statistics request"/>
			<telegram com-id="31" name="TRDP: global statistics reply" data-set-id="TRDP_STATISTICS_T"/>
			<telegram com-id="32" name="TRDP: subscription statistics request"/>
			<telegram com-id="33" name="TRDP: subscription statistics reply" data-set-id="TRDP_SUBS_STATISTICS_T"/>
			<telegram com-id="34" name="TRDP: publishing statistics request"/>
			<telegram com-id="35" name="TRDP: publishing statistics reply" data-set-id="TRDP_PUB_STATISTICS_T"/>
			<telegram com-id="36" name="TRDP: redundancy statistics request"/>
			<telegram com-id="37" name="TRDP: redundancy statistics reply" data-set-id="TRDP_RED_STATISTICS_T"/>
			<telegram com-id="38" name="TRDP: UDP listener statistics request"/>
			<telegram com-id="39" name="TRDP: UDP listener statistics reply" data-set-id="TRDP_LIST_STATISTICS_T"/>
			<telegram com-id="40" name="TRDP: TCP listener statistics request"/>
			<telegram com-id="41" name="TRDP: TCP listener statistics reply" data-set-id="TRDP_LIST_STATISTICS_T"/>
			<telegram com-id="80" name="Test: control" data-set-id="CONFTEST_CTRL"/>
			<telegram com-id="81" name="Test: status" data-set-id="CONFTEST_STATUS"/>
			<telegram com-id="82" name="Test: confirmation request" data-set-id="CONFTEST_CONF_REQUEST"/>
			<telegram com-id="83" name="Test: confirmation reply" data-set-id="CONFTEST_CONF_REPLY"/>
			<telegram com-id="84" name="Test: opTrnDir request" data-set-id="CONFTEST_OPTRAIN_REQUEST"/>
			<telegram com-id="85" name="Test: opTrnDir reply" data-set-id="CONFTEST_OPTRAIN_REPLY"/>
			<telegram com-id="86" name="Test: echo request"/>
			<telegram com-id="87" name="Test: echo reply"/>
			<telegram com-id="88" name="Test: echo notification" data-set-id="CONFTEST_MDTRIG_MD"/>
			<telegram com-id="100" name="TTDB: operational train directory status" data-set-id="TTDB_OP_TRAIN_DIRECTORY_STATUS_INFO">
				<pd-parameter cycle="1000000" timeout="5000000"/>
				<destination uri="grpAll.aVeh.lCst.lClTrn.lTrn"><sdt-parameter smi1="100" udv="1"/></destination>
			</telegram>
			<telegram com-id="101" name="TTDB: operational train directory notification" data-set-id="TTDB_OP_TRAIN_DIRECTORY_INFO"/>
			<telegram com-id="102" name="TTDB: train directory information request" data-set-id="TTDB_TRAIN_DIRECTORY_INFO_REQUEST"/>
			<telegram com-id="103" name="TTDB: train directory information reply" data-set-id="TTDB_TRAIN_DIRECTORY_INFO_REPLY"/>
			<telegram com-id="104" name="TTDB: consist information request" data-set-id="TTDB_STATIC_CONSIST_INFO_REQUEST"/>
			<telegram com-id="105" name="TTDB: consist information reply" data-set-id="TTDB_STATIC_CONSIST_INFO_REPLY"/>
			<telegram com-id="106" name="TTDB: train network directory information request" data-set-id="TTDB_TRAIN_NETWORK_DIRECTORY_INFO_REQUEST"/>
			<telegram com-id="107" name="TTDB: train network directory information reply" data-set-id="TTDB_TRAIN_NETWORK_DIRECTORY_INFO_REPLY"/>
			<telegram com-id="108" name="TTDB: operational train directory information request"/>
			<telegram com-id="109" name="TTDB: operational train directory information reply" data-set-id="TTDB_OP_TRAIN_DIRECTORY_INFO_REPLY"/>
			<telegram com-id="110" name="TTDB: train information complete request" data-set-id="TTDB_READ_COMPLETE_REQUEST"/>
			<telegram com-id="111" name="TTDB: train information complete reply" data-set-id="TTDB_READ_COMPLETE_REPLY"/>
			<telegram com-id="120" name="ECSP: control" data-set-id="ECSP_CTRL">
				<pd-parameter cycle="1000000" timeout="5000000"/>
				<destination uri="devECSP.anyVeh.lCst.lClTrn.lTrn"><sdt-parameter smi1="120" udv="1"/></destination>
			</telegram>
			<telegram com-id="121" name="ECSP: status" data-set-id="ECSP_STATUS">
				<pd-parameter cycle="1000000"/>
				<destination uri="devECSC.anyVeh.lCst.lClTrn.lTrn"><sdt-parameter smi1="121" udv="1"/></destination>
			</telegram>
			<telegram com-id="122" name="ECSP: Confirmation/Correction request" data-set-id="ECSP_CONF_REQUEST">
				<md-parameter reply-timeout="3000000"/>
				<destination uri="devECSC.anyVeh.lCst.lClTrn.lTrn"><sdt-parameter smi1="122" udv="1"/></destination>
			</telegram>
			<telegram com-id="123" name="ECSP: Confirmation/Correction reply" data-set-id="ECSP_CONF_REPLY">
				<destination uri="devECSC.anyVeh.lCst.lClTrn.lTrn"><sdt-parameter smi1="123" udv="1"/></destination>
			</telegram>
			<telegram com-id="130" name="ETBN: control request" data-set-id="ETBN_CTRL">
				<md-parameter reply-timeout="3000000"/>
				<destination><sdt-parameter smi1="130" udv="1"/></destination>
			</telegram>
			<telegram com-id="131" name="ETBN: status reply" data-set-id="ETBN_STATUS">
				<destination><sdt-parameter smi1="131" udv="1"/></destination>
			</telegram>
			<telegram com-id="132" name="ETBN: train network directory request">
				<md-parameter reply-timeout="3000000"/>
				<destination><sdt-parameter smi1="132" udv="1"/></destination>
			</telegram>
			<telegram com-id="133" name="ETBN: train network directory reply" data-set-id="ETBN_TRAIN_NETWORK_DIRECTORY_INFO_REPLY">
				<destination><sdt-parameter smi1="133" udv="1"/></destination>
			</telegram>
			<telegram com-id="140" name="TCN-DNS: resolving request (query)" data-set-id="DNS_REQUEST">
				<md-parameter reply-timeout="3000000"/>
				<destination uri="devDNS.anyVeh.lCst.lClTrn.lTrn"><sdt-parameter smi1="140" udv="1"/></destination>
			</telegram>
			<telegram com-id="141" name="TCN-DNS: resolving reply" data-set-id="DNS_REPLY">
				<destination uri="devDNS.anyVeh.lCst.lClTrn.lTrn"><sdt-parameter smi1="141" udv="1"/></destination>
			</telegram>
		</bus-interface>
	</bus-interface-list>
	<data-set-list>
		<data-set id="VDP_TRAILER">
			<element name="reserved01"      type="UINT32" unit="hide0"/>
			<element name="reserved02"      type="UINT16" unit="hide0"/>
			<element name="userDataVersion" type="UINT16" unit="version"/><!-- this is actually only 8bit and shifted up in applications -->
			<element name="safeSequCount"   type="UINT32" unit="ssc"/><!-- inc per packet and per sender -->
			<element name="safetyCode"      type="UINT32" unit="sc32"/>
		</data-set>
		<data-set id="CONFIRMED_VEHICLE">
			<element name="trnVehNo" type="UINT8"/>
			<element name="isLead" type="ANTIVALENT8"/>
			<element name="leadDir" type="UINT8"/>
			<element name="vehOrient" type="UINT8"/>
		</data-set>
		<data-set id="ETBCTRL_TELEGRAM">
			<element name="version" type="UINT16" unit="version"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
			<element name="trnCstNo" type="UINT8"/>
			<element name="reserved02" unit="hide0" type="UINT8"/>
			<element name="ownOpCstNo" type="UINT8"/>
			<element name="reserved03" unit="hide0" type="UINT8"/>
			<element name="cstTopoCnt" type="UINT32"/>
			<element name="trnTopoCnt" type="UINT32"/>
			<element name="opTrnTopoCnt" type="UINT32"/>
			<element name="wasLead" type="ANTIVALENT8"/>
			<element name="reqLead" type="ANTIVALENT8"/>
			<element name="reqLeadDir" type="UINT8"/>
			<element name="accLead" type="ANTIVALENT8"/>
			<element name="isLead" type="ANTIVALENT8"/>
			<element name="clearConfComp" type="ANTIVALENT8"/>
			<element name="corrRequest" type="ANTIVALENT8"/>
			<element name="corrInfoSet" type="ANTIVALENT8"/>
			<element name="compStored" type="ANTIVALENT8"/>
			<element name="sleepRequest" type="ANTIVALENT8"/>
			<element name="leadVehOfCst" type="UINT8"/>
			<element name="reserved04" unit="hide0" type="UINT8"/>
			<element name="reserved05" unit="hide0" type="UINT16"/>
			<element name="reserved06" unit="hide0" type="UINT8"/>
			<element name="confVehCnt" type="UINT8"/>
			<element name="confVehList" type="CONFIRMED_VEHICLE" array-size="0"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
		<data-set id="ETB_INFO">
			<element name="etbId" type="UINT8"/>
			<element name="cnCnt" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
		</data-set>
		<data-set id="CLTR_CST_INFO">
			<element name="cltrCstUUID" type="UUID"/>
			<element name="cltrCstOrient" type="UINT8"/>
			<element name="cltrCstNo" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
		</data-set>
		<data-set id="PROPERTIES">
			<element name="version" type="UINT16" unit="version"/><!-- this is the only occurance that is not locked to 01-00 or 01-xx -->
			<element name="len" type="UINT16"/>
			<element name="prop" type="UINT8" array-size="0"/>
		</data-set>
		<data-set id="FUNCTION_INFO">
			<element name="fctName" type="CHAR8" array-size="16"/>
			<element name="fctId" type="UINT16"/>
			<element name="grp" type="BOOL8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="cstVehNo" type="UINT8"/>
			<element name="etbId" type="UINT8"/>
			<element name="cnId" type="UINT8"/>
			<element name="reserved02" unit="hide0" type="UINT8"/>
		</data-set>
		<data-set id="VEHICLE_INFO">
			<element name="vehId" type="CHAR8" array-size="16"/>
			<element name="vehType" type="CHAR8" array-size="16"/>
			<element name="vehOrient" type="UINT8"/>
			<element name="cstVehNo" type="UINT8"/>
			<element name="tractVeh" type="ANTIVALENT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="vehProp" type="PROPERTIES"/>
		</data-set>
		<data-set id="CONSIST_INFO">
			<element name="version" type="UINT16" unit="version"/>
			<element name="cstClass" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="cstId" type="CHAR8" array-size="16"/>
			<element name="cstType" type="CHAR8" array-size="16"/>
			<element name="cstOwner" type="CHAR8" array-size="16"/>
			<element name="cstUUID" type="UUID"/>
			<element name="reserved02" unit="hide0" type="UINT32"/>
			<element name="cstProp" type="PROPERTIES"/>
			<element name="reserved03" unit="hide0" type="UINT16"/>
			<element name="etbCnt" type="UINT16"/>
			<element name="etbInfoList" type="ETB_INFO" array-size="0"/>
			<element name="reserved04" unit="hide0" type="UINT16"/>
			<element name="vehCnt" type="UINT16"/>
			<element name="vehInfoList" type="VEHICLE_INFO" array-size="0"/>
			<element name="reserved05" unit="hide0" type="UINT16"/>
			<element name="fctCnt" type="UINT16"/>
			<element name="fctInfoList" type="FUNCTION_INFO" array-size="0"/>
			<element name="reserved06" unit="hide0" type="UINT16"/>
			<element name="cltrCstCnt" type="UINT16"/>
			<element name="cltrCstInfoList" type="CLTR_CST_INFO" array-size="0"/>
			<element name="cstTopoCnt" type="UINT32"/>
		</data-set>
		<data-set id="CONSIST_INFO_LIST">
			<element name="version" type="UINT16" unit="version"/>
			<element name="cstInfoCnt" type="UINT16"/>
			<element name="cstInfoList" type="CONSIST_INFO" array-size="0"/>
		</data-set>
		<data-set id="CSTINFO">
			<element name="cstInfo" type="CONSIST_INFO"/>
		</data-set>
		<data-set id="CSTINFOCTRL">
			<element name="version" type="UINT16" unit="version"/>
			<element name="trnCstNo" type="UINT8"/>
			<element name="cstCnt" type="UINT8"/>
			<element name="cstList" type="CONSIST" array-size="0"/>
			<element name="trnTopoCnt" type="UINT32"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
		<data-set id="CONSIST">
			<element name="cstUUID" type="UUID"/>
			<element name="cstTopoCnt" type="UINT32"/>
			<element name="trnCstNo" type="UINT8"/>
			<element name="cstOrient" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
		</data-set>
		<data-set id="TRAIN_DIRECTORY">
			<element name="version" type="UINT16" unit="version"/>
			<element name="etbId" type="UINT8"/>
			<element name="cstCnt" type="UINT8"/>
			<element name="cstList" type="CONSIST" array-size="0"/>
			<element name="trnTopoCnt" type="UINT32"/>
		</data-set>
		<data-set id="OP_VEHICLE">
			<element name="vehId" type="CHAR8" array-size="16"/>
			<element name="opVehNo" type="UINT8"/>
			<element name="isLead" type="ANTIVALENT8"/>
			<element name="leadDir" type="UINT8"/>
			<element name="trnVehNo" type="UINT8"/>
			<element name="vehOrient" type="UINT8"/>
			<element name="ownOpCstNo" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="reserved02" unit="hide0" type="UINT8"/>
		</data-set>
		<data-set id="OP_CONSIST">
			<element name="cstUUID" type="UUID"/>
			<element name="opCstNo" type="UINT8"/>
			<element name="opCstOrient" type="UINT8"/>
			<element name="trnCstNo" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
		</data-set>
		<data-set id="OP_TRAIN_DIRECTORY_STATE">
			<element name="version" type="UINT16" unit="version"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="reserved02" unit="hide0" type="UINT8"/>
			<element name="etbId" type="UINT8"/>
			<element name="trnDirState" type="UINT8"/>
			<element name="opTrnDirState" type="UINT8"/>
			<element name="reserved03" unit="hide0" type="UINT8"/>
			<element name="trnId" type="CHAR8" array-size="16"/>
			<element name="trnOperator" type="CHAR8" array-size="16"/>
			<element name="opTrnTopoCnt" type="UINT32"/>
			<element name="crc" type="UINT32"/>
		</data-set>
		<data-set id="OP_TRAIN_DIRECTORY">
			<element name="version" type="UINT16" unit="version"/>
			<element name="etbId" type="UINT8"/>
			<element name="opTrnOrient" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="reserved02" unit="hide0" type="UINT8"/>
			<element name="reserved03" unit="hide0" type="UINT8"/>
			<element name="opCstCnt" type="UINT8"/>
			<element name="opCstList" type="OP_CONSIST" array-size="0"/>
			<element name="reserved04" unit="hide0" type="UINT8"/>
			<element name="reserved05" unit="hide0" type="UINT8"/>
			<element name="reserved06" unit="hide0" type="UINT8"/>
			<element name="opVehCnt" type="UINT8"/>
			<element name="opVehList" type="OP_VEHICLE" array-size="0"/>
			<element name="opTrnTopoCnt" type="UINT32"/>
		</data-set>
		<data-set id="TRAIN_NETWORK_DIRECTORY_ENTRY">
			<element name="cstUUID" type="UUID"/>
			<element name="cstNetProp" type="UINT32"/>
		</data-set>
		<data-set id="TRAIN_NETWORK_DIRECTORY">
			<element name="reserved01" unit="hide0" type="UINT16"/>
			<element name="entryCnt" type="UINT16"/>
			<element name="trnNetDir" type="TRAIN_NETWORK_DIRECTORY_ENTRY" array-size="0"/>
			<element name="etbTopoCnt" type="UINT32"/>
		</data-set>
		<data-set id="TTDB_OP_TRAIN_DIRECTORY_STATUS_INFO">
			<element name="state" type="OP_TRAIN_DIRECTORY_STATE"/>
			<element name="etbTopoCnt" type="UINT32"/>
			<element name="ownOpCstNo" type="UINT8"/>
			<element name="ownTrnCstNo" type="UINT8"/>
			<element name="reserved02" unit="hide0" type="UINT16"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
		<data-set id="TTDB_OP_TRAIN_DIRECTORY_INFO">
			<element name="opTrnDir" type="OP_TRAIN_DIRECTORY"/>
		</data-set>
		<data-set id="TTDB_TRAIN_DIRECTORY_INFO_REQUEST">
			<element name="etbId" type="UINT8"/>
		</data-set>
		<data-set id="TTDB_TRAIN_DIRECTORY_INFO_REPLY">
			<element name="trnDir" type="TRAIN_DIRECTORY"/>
		</data-set>
		<data-set id="TTDB_STATIC_CONSIST_INFO_REQUEST">
			<element name="cstUUID" type="UUID"/>
		</data-set>
		<data-set id="TTDB_STATIC_CONSIST_INFO_REPLY">
			<element name="cstInfo" type="CONSIST_INFO"/>
		</data-set>
		<data-set id="TTDB_TRAIN_NETWORK_DIRECTORY_INFO_REQUEST">
			<element name="etbId" type="UINT8"/>
		</data-set>
		<data-set id="TTDB_TRAIN_NETWORK_DIRECTORY_INFO_REPLY">
			<element name="trnNetDir" type="TRAIN_NETWORK_DIRECTORY"/>
		</data-set>
		<data-set id="TTDB_OP_TRAIN_DIRECTORY_INFO_REPLY">
			<element name="opTrnDir" type="OP_TRAIN_DIRECTORY"/>
		</data-set>
		<data-set id="TTDB_READ_COMPLETE_REQUEST">
			<element name="etbId" type="UINT8"/>
		</data-set>
		<data-set id="TTDB_READ_COMPLETE_REPLY">
			<element name="state" type="OP_TRAIN_DIRECTORY_STATE"/>
			<element name="opTrnDir" type="OP_TRAIN_DIRECTORY"/>
			<element name="trnDir" type="TRAIN_DIRECTORY"/>
			<element name="trnNetDir" type="TRAIN_NETWORK_DIRECTORY"/>
		</data-set>
		<data-set id="TRDP_MEM_STATISTICS_T">
			<element name="total" type="UINT32"/>
			<element name="free" type="UINT32"/>
			<element name="minFree" type="UINT32"/>
			<element name="allocBlocks" type="UINT32"/>
			<element name="allocErr" type="UINT32"/>
			<element name="freeErr" type="UINT32"/>
			<element name="blockSize" type="UINT32" array-size="15" unit="b"/>
			<element name="usedBlockSize" type="UINT32" array-size="15"/>
		</data-set>
		<data-set id="TRDP_PD_STATISTICS_T">
			<element name="defQos" type="UINT32"/>
			<element name="defTtl" type="UINT32"/>
			<element name="defTimeout" type="UINT32" unit="s" scale="0.001"/>
			<element name="numSubs" type="UINT32"/>
			<element name="numPub" type="UINT32"/>
			<element name="numRecv" type="UINT32"/>
			<element name="numCrcErr" type="UINT32"/>
			<element name="numProtErr" type="UINT32"/>
			<element name="numTopoErr" type="UINT32"/>
			<element name="numNoSubs" type="UINT32"/>
			<element name="numNoPub" type="UINT32"/>
			<element name="numTimeout" type="UINT32"/>
			<element name="numSend" type="UINT32"/>
		</data-set>
		<data-set id="TRDP_MD_STATISTICS_T">
			<element name="defQos" type="UINT32"/>
			<element name="defTtl" type="UINT32"/>
			<element name="defReplyTimeout" type="UINT32" unit="s" scale="0.001"/>
			<element name="defConfirmTimeout" type="UINT32" unit="s" scale="0.001"/>
			<element name="numList" type="UINT32"/>
			<element name="numRecv" type="UINT32"/>
			<element name="numCrcErr" type="UINT32"/>
			<element name="numProtErr" type="UINT32"/>
			<element name="numTopoErr" type="UINT32"/>
			<element name="numNoListener" type="UINT32"/>
			<element name="numReplyTimeout" type="UINT32"/>
			<element name="numConfirmTimeout" type="UINT32"/>
			<element name="numSend" type="UINT32"/>
		</data-set>
		<data-set id="TRDP_STATISTICS_T">
			<element name="version" type="UINT16" unit="version"/>
			<element name="timestamp" type="UINT64" unit="s"/>
			<element name="uptime" type="UINT32" unit="s"/>
			<element name="statisticTime" type="UINT32" unit="s"/>
			<element name="hostname" type="CHAR8" array-size="16"/>
			<element name="leaderName" type="CHAR8" array-size="16"/>
			<element name="ownIpAddr" type="UINT32" unit="IPv4"/>
			<element name="leaderIpAddr" type="UINT32" unit="IPv4"/>
			<element name="processPrio" type="UINT32"/>
			<element name="processCycle" type="UINT32" unit="s" scale="0.000001"/>
			<element name="numJoin" type="UINT32"/>
			<element name="numRed" type="UINT32"/>
			<element name="mem" type="TRDP_MEM_STATISTICS_T"/>
			<element name="pd" type="TRDP_PD_STATISTICS_T"/>
			<element name="udpMd" type="TRDP_MD_STATISTICS_T"/>
			<element name="tcpMd" type="TRDP_MD_STATISTICS_T"/>
		</data-set>
		<data-set id="TRDP_SUBS_STATISTICS_T">
			<element name="comId" type="UINT32"/>
			<element name="joinedAddr" type="UINT32" unit="IPv4"/>
			<element name="filterAddr" type="UINT32" unit="IPv4"/>
			<element name="callBack" type="UINT32"/>
			<element name="timeout" type="UINT32" unit="s" scale="0.000001"/>
			<element name="status" type="UINT32"/>
			<element name="toBehav" type="UINT32"/>
			<element name="numRecv" type="UINT32"/>
		</data-set>
		<data-set id="TRDP_PUB_STATISTICS_T">
			<element name="comId" type="UINT32"/>
			<element name="destAddr" type="UINT32" unit="IPv4"/>
			<element name="cycle" type="UINT32" unit="s" scale="0.000001"/>
			<element name="redId" type="UINT32"/>
			<element name="redState" type="UINT32"/>
			<element name="numPut" type="UINT32"/>
			<element name="numSend" type="UINT32"/>
		</data-set>
		<data-set id="TRDP_RED_STATISTICS_T">
			<element name="id" type="UINT32"/>
			<element name="state" type="UINT32"/>
		</data-set>
		<data-set id="TRDP_LIST_STATISTICS_T">
			<element name="comId" type="UINT32"/>
			<element name="uri" type="CHAR8" array-size="32"/>
			<element name="joinedAddr" type="UINT32" unit="IPv4"/>
			<element name="callback" type="UINT32"/>
			<element name="queue" type="UINT32"/>
			<element name="userRef" type="UINT32"/>
			<element name="numRecv" type="UINT32"/>
		</data-set>
		<data-set id="CONFTEST_CTRL">
			<element name="version" type="UINT16" unit="version"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
			<element name="inhibit" type="BITSET8" bits="inhibitRequest"/>
			<element name="leadingReq" type="BOOL8"/>
			<element name="leadingDir" type="BITSET8" bits="dir1,dir2"/>
			<element name="reserved02" unit="hide0" type="UINT8"/>
			<element name="sleepReq" type="BITSET8" bits="sleepRequest"/>
			<element name="reserved03" unit="hide0" type="UINT8"/>
			<element name="reserved04" unit="hide0" type="UINT16"/>
		</data-set>
		<data-set id="CONFTEST_STATUS">
			<element name="version" type="UINT16" unit="version"/>
			<element name="status" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
		</data-set>
		<data-set id="CONFTEST_CONF_REQUEST">
			<element name="version" type="UINT16" unit="version"/>
			<element name="command" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
			<element name="reserved02" unit="hide0" type="UINT16"/>
			<element name="reserved03" unit="hide0" type="UINT8"/>
			<element name="confVehCnt" type="UINT16"/>
			<element name="confVehList" type="OP_VEHICLE" array-size="0"/>
		</data-set>
		<data-set id="CONFTEST_CONF_REPLY">
			<element name="version" type="UINT16" unit="version"/>
			<element name="status" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
		</data-set>
		<data-set id="CONFTEST_OPTRAIN_REQUEST">
			<element name="version" type="UINT16" unit="version"/>
			<element name="command" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
		</data-set>
		<data-set id="CONFTEST_OPTRAIN_REPLY">
			<element name="version" type="UINT16" unit="version"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
			<element name="opTrnDir" type="OP_TRAIN_DIRECTORY"/>
		</data-set>
		<data-set id="CONFTEST_MDTRIG_MD">
			<element name="version" type="UINT16" unit="version"/>
			<element name="protocol" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="destIpAddr" type="UINT32" unit="IPv4"/>
			<element name="uri" type="CHAR8" array-size="128"/>
		</data-set>
		<data-set id="ECSP_CTRL">
			<element name="version" type="UINT16" unit="version"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="leadVehOfCst" type="UINT8"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
			<element name="inhibit" type="BOOL8"/>
			<element name="leadingReq" type="BOOL8"/>
			<element name="leadingDir" type="BITSET8" bits="leadingReqDir1,leadingReqDir2"/>
			<element name="sleepReq" type="BOOL8"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
		<data-set id="ECSP_STATUS">
			<element name="version" type="UINT16" unit="version"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
			<element name="lifesign" type="UINT16"/>
			<element name="ecspState" type="BITSET8" bits="inOperation"/>
			<element name="etbInhibit" type="UINT8"/>
			<element name="etbLength" type="BITSET8" bits="lengtheningDetected"/>
			<element name="etbShort" type="BITSET8" bits="shorteningDetected"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
			<element name="etbLeadState" type="UINT8"/>
			<element name="etbLeadDir" type="BITSET8" bits="TCNDir1,TCNDir2"/>
			<element name="ttdbSrvState" type="BITSET8" bits="Leader,Follower"/>
			<element name="dnsSrvState" type="BITSET8" bits="Leader,Follower"/>
			<element name="trnDirState" type="BITSET8" bits="Confirmed"/>
			<element name="opTrnDirState" type="BITSET8" bits="INVALID,VALID,SHARED"/>
			<element name="sleepCtrlState" type="UINT8"/>
			<element name="sleepReqCnt" type="UINT8"/>
			<element name="opTrnTopoCnt" type="UINT32"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
		<data-set id="ECSP_CONF_REQUEST">
			<element name="version" type="UINT16" unit="version"/>
			<element name="command" type="BITSET8" bits="ConfirmationCorrection,Unconfirmation"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
			<element name="opTrnTopoCnt" type="UINT32"/>
			<element name="reserved02" unit="hide0" type="UINT16"/>
			<element name="confVehCnt" type="UINT16"/>
			<element name="confVehList" type="OP_VEHICLE" array-size="0"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
		<data-set id="ECSP_CONF_REPLY">
			<element name="version" type="UINT16" unit="version"/>
			<element name="status" type="UINT8"/>
			<element name="reserved01" unit="hide0" type="UINT8"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
			<element name="reqSafetyCode" type="UINT32"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
		<data-set id="ETBN_CTRL">
			<element name="version" type="UINT16" unit="version"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
			<element name="inhibit" type="BITSET8" bits="noInhibitRequest,inhibitRequest"/>
			<element name="byPassCtrl" type="BITSET8" bits="noBypass,activateBypass"/>
			<element name="txCtrl" type="BITSET8" bits="activateSendingOnETB,stopSendingOnETB"/>
			<element name="slCtrl" type="BITSET8" bits="wakeUp,sleep"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
		<data-set id="ETBN_STATUS">
			<element name="version" type="UINT16" unit="version"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
			<element name="etbnState" type="BITSET8" bits="inOperation"/>
			<element name="etbnInaugState" type="UINT8"/>
			<element name="etbnPosition" type="UINT8"/>
			<element name="etbnRole" type="UINT8"/>
			<element name="etbInhibit" type="UINT8"/>
			<element name="etbLength" type="BITSET8" bits="lengtheningDetected"/>
			<element name="etbShort" type="BITSET8" bits="shorteningDetected"/>
			<element name="etbLineState" type="BITSET8" bits="line A dir 1,line B dir 1,line C dir 1,line D dir 1,line A dir 2,line B dir 2,line C dir 2,line D dir 2"/>
			<element name="byPassState" type="BITSET8" bits="activeBypass"/>
			<element name="slState" type="BITSET8" bits="sleeping"/>
			<element name="reserved02" unit="hide0" type="UINT16"/>
			<element name="etbTopoCnt" type="UINT32"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
		<data-set id="ETBN_TRAIN_NETWORK_DIRECTORY_INFO_REPLY">
			<element name="trnNetDir" type="TRAIN_NETWORK_DIRECTORY"/>
		</data-set>
		<data-set id="TCN_URI">
			<element name="tcnUriStr" type="CHAR8" array-size="80"/>
			<element name="reserved01" unit="hide0" type="INT16"/>
			<element name="resolvState" type="INT16"/>
			<element name="tcnUriIpAddr" type="UINT32" unit="IPv4"/>
			<element name="tcnUriIpAddr2" type="UINT32" unit="IPv4"/>
		</data-set>
		<data-set id="DNS_REQUEST">
			<element name="version" type="UINT16" unit="version"/>
			<element name="reserved01" unit="hide0" type="INT16"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
			<element name="trnTopoCnt" type="UINT32"/>
			<element name="opTrnTopoCnt" type="UINT32"/>
			<element name="etbId" type="UINT8"/>
			<element name="reserved02" unit="hide0" type="UINT8"/>
			<element name="reserved03" unit="hide0" type="UINT8"/>
			<element name="tcnUriCnt" type="UINT8"/>
			<element name="tcnUriList" type="TCN_URI" array-size="0"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
		<data-set id="DNS_REPLY">
			<element name="version" type="UINT16" unit="version"/>
			<element name="reserved01" unit="hide0" type="UINT16"/>
			<element name="deviceName" type="CHAR8" array-size="16"/>
			<element name="trnTopoCnt" type="UINT32"/>
			<element name="opTrnTopoCnt" type="UINT32"/>
			<element name="etbId" type="UINT8"/>
			<element name="replyStatus" type="INT8"/>
			<element name="reserved02" unit="hide0" type="UINT8"/>
			<element name="tcnUriCnt" type="UINT8"/>
			<element name="tcnUriList" type="TCN_URI" array-size="0"/>
			<element name="safetyTrail" type="VDP_TRAILER" unit="fold0"/>
		</data-set>
	</data-set-list>
</device>
