/** * @author ETSI / STF405 * @version $URL$ * $Id$ * @desc Module containing types and values for Basic Transport Protocol * @copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. * The copyright and the foregoing restriction extend to reproduction in all media. * All rights reserved. * */ module LibItsBtp_TypesAndValues { // LibCommon import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; type octetstring BtpRawPayload; group btpPdus { /** * @desc BTP Packet * @see ETSI TS 102 636-5-1 chapter 6 * @member header * @member payload */ type record BtpPacket { BtpHeader header, BtpRawPayload payload optional } with { variant "FIELDORDER(msb)" encode "LibIts_Interface" } } // end btpPdus group btpHeaders { /** * @desc BTP Header * @see ETSI TS 102 636-5-1 chapter 7.1 * @member btpAHeader * @member btpBHeader */ type union BtpHeader { BtpAHeader btpAHeader, BtpBHeader btpBHeader } with { variant "FIELDORDER(msb)" } /** * @desc BTP-A Header * @see ETSI TS 102 636-5-1 chapter 7.2 * @member destinationPort * @member sourcePort */ type record BtpAHeader { BtpPortId destinationPort, BtpPortId sourcePort } with { variant "FIELDORDER(msb)" } /** * @desc BTP-B Header * @see ETSI TS 102 636-5-1 chapter 7.3 * @member destinationPort * @member destinationPortInfo */ type record BtpBHeader { BtpPortId destinationPort, BtpPortInfo destinationPortInfo } with { variant "FIELDORDER(msb)" } /** * @desc BTP Port ID * @see ETSI TS 102 636-5-1 chapter 7.3.2 */ type UInt16 BtpPortId; /** * @desc BTP-B Port info * @see ETSI TS 102 636-5-1 chapter 7.3.2 */ type UInt16 BtpPortInfo; } // end btpHeaders group utPrimitives { group utCommonPrimitives { /** * @desc Upper Tester message to initialize IUT * @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use */ type record UtBtpInitialize { Oct8 hashedId8 } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester results message of the Btp IUT * @member utBtpInitialize - * @member utBtpTriggerResult - */ type union UtBtpResults { boolean utBtpInitializeResult, boolean utBtpTriggerResult } with { variant "" } /** * @desc UT primitives for BTP * @member btpA - * @member btpB - */ type union UtBtpTrigger { GenerateBtpA btpA, GenerateBtpB btpB } with { variant "" } /** * @desc Upper Tester message to request triggering of an BTPA message at IUT */ type record GenerateBtpA { BtpAHeader btpAHeader } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester message to request triggering of an BTPB message at IUT */ type record GenerateBtpB { BtpBHeader btpBHeader } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester message to check event/status on BTP IUT */ type record UtBtpEventInd { BtpRawPayload rawPayload } with { variant "FIELDORDER(msb)" } /** * @desc List of Upper Tester messages to check event/status on CAM IUT */ type record of UtBtpEventInd UtBtpEventIndList; } } // end utPrimitives with { variant "" encode "UpperTester" } } with { variant "" encode "LibItsGeoNetworking" }