/** * @author ETSI / STF405 * @version $URL$ * $Id$ * @desc Module containing types and values for Basic Transport Protocol * */ module LibItsBtp_TypesAndValues { // LibCommon import from LibCommon_BasicTypesAndValues all; group btpPdus { /** * @desc BTP Packet * * @see Draft ETSI TS 102 636-5-1 V0.0.32 (2010-0907) chapter 6 * * @member header * @member payload */ type record BtpPacket { BtpHeader header, BtpPayload payload optional } } // end btpPdus group btpHeaders { /** * @desc BTP Header * * @see Draft ETSI TS 102 636-5-1 V0.0.32 (2010-0907) chapter 7.1 * * @member btpAHeader * @member btpBHeader */ type union BtpHeader { BtpAHeader btpAHeader, BtpBHeader btpBHeader } /** * @desc BTP-A Header * * @see Draft ETSI TS 102 636-5-1 V0.0.32 (2010-0907) chapter 7.2 * * @member destinationPort * @member sourcePort */ type record BtpAHeader { BtpPortId destinationPort, BtpPortId sourcePort } /** * @desc BTP-B Header * * @see Draft ETSI TS 102 636-5-1 V0.0.32 (2010-0907) chapter 7.3 * * @member destinationPort * @member destinationPortInfo */ type record BtpBHeader { BtpPortId destinationPort, BtpPortInfo destinationPortInfo } type UInt16 BtpPortId; type UInt16 BtpPortInfo; } // end btpHeaders group btpPayload { /** * @desc TODO change it to concrete union value */ type octetstring BtpPayload; } //end btpPayload group utPrimitives { type record UtBtpTrigger { UtBtpEvent utEvent } type record UtBtpCheck { UtBtpEvent utEvent } type boolean UtBtpResult; type union UtBtpEvent { BtpAHeader btpA, BtpBHeader btpB, BtpPayload payload } } // end utPrimitives } with { encode "LibItsBtp_TypesAndValues" }