LibItsBtp_TypesAndValues.ttcn 4.33 KB
Newer Older
/**
 *  @author   ETSI / STF405
garciay's avatar
garciay committed
 *  @version  $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/BTP/LibItsBtp_TypesAndValues.ttcn $
 *            $Id: LibItsBtp_TypesAndValues.ttcn 1318 2017-01-26 10:20:53Z filatov $
 *  @desc     Module containing types and values for Basic Transport Protocol
garciay's avatar
garciay committed
 *  @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 {

garciay's avatar
garciay committed
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
  import from LibCommon_DataStrings all;
garciay's avatar
garciay committed
  type octetstring BtpRawPayload;
garciay's avatar
garciay committed
  group btpPdus {
garciay's avatar
garciay committed
    /**
     * @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)"
      }
garciay's avatar
garciay committed
  } // end btpPdus
garciay's avatar
garciay committed
  group btpHeaders {
garciay's avatar
garciay committed
    /**
     * @desc BTP Header
     * @see ETSI TS 102 636-5-1 chapter 7.1
     * @member btpAHeader
     * @member btpBHeader
     */
    type union BtpHeader {
      BtpAHeader btpAHeader,
Yann Garcia's avatar
Yann Garcia committed
      BtpBHeader btpBHeader 
    } with {
garciay's avatar
garciay committed
      variant "FIELDORDER(msb)"
Yann Garcia's avatar
Yann Garcia committed
    }
garciay's avatar
garciay committed
    /**
     * @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   
Yann Garcia's avatar
Yann Garcia committed
    } with {
garciay's avatar
garciay committed
      variant "FIELDORDER(msb)"
Yann Garcia's avatar
Yann Garcia committed
    }
garciay's avatar
garciay committed
    /**
     * @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   
Yann Garcia's avatar
Yann Garcia committed
    } with {
garciay's avatar
garciay committed
      variant "FIELDORDER(msb)"
Yann Garcia's avatar
Yann Garcia committed
    }
garciay's avatar
garciay committed
    /**
     * @desc BTP Port ID
     * @see ETSI TS 102 636-5-1 chapter 7.3.2
     */ 
    type UInt16 BtpPortId;
garciay's avatar
garciay committed
    /**
     * @desc BTP-B Port info
     * @see ETSI TS 102 636-5-1 chapter 7.3.2
     */ 
    type UInt16 BtpPortInfo;
garciay's avatar
garciay committed
  } // end btpHeaders
garciay's avatar
garciay committed
  group utPrimitives {
garciay's avatar
garciay committed
    group utCommonPrimitives {
garciay's avatar
garciay committed
      /**
       * @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 {
Yann Garcia's avatar
Yann Garcia committed
        Oct8 hashedId8 
garciay's avatar
garciay committed
      } with {
Yann Garcia's avatar
Yann Garcia committed
        variant "FIELDORDER(msb)"
garciay's avatar
garciay committed
      }

      /**
       * @desc Upper Tester results message of the Btp IUT
       * @member utBtpInitialize             -
       * @member utBtpTriggerResult          -
       */
      type union UtBtpResults {
Yann Garcia's avatar
Yann Garcia committed
        boolean utBtpInitializeResult,
        boolean utBtpTriggerResult
garciay's avatar
garciay committed
      } with {
Yann Garcia's avatar
Yann Garcia committed
        variant ""
garciay's avatar
garciay committed
      }
garciay's avatar
garciay committed
      /**
       * @desc    UT primitives for BTP
       * @member  btpA      -
       * @member  btpB    -
       */
      type union UtBtpTrigger {
Yann Garcia's avatar
Yann Garcia committed
        GenerateBtpA btpA,
        GenerateBtpB btpB
garciay's avatar
garciay committed
      } with {
Yann Garcia's avatar
Yann Garcia committed
        variant ""
      }
      
garciay's avatar
garciay committed
      /**
       * @desc Upper Tester message to request triggering of an BTPA message at IUT 
       */
      type record GenerateBtpA {
Yann Garcia's avatar
Yann Garcia committed
        BtpAHeader btpAHeader
garciay's avatar
garciay committed
      } with {
Yann Garcia's avatar
Yann Garcia committed
        variant "FIELDORDER(msb)"
      }
      
garciay's avatar
garciay committed
      /**
       * @desc Upper Tester message to request triggering of an BTPB message at IUT 
       */
      type record GenerateBtpB {
Yann Garcia's avatar
Yann Garcia committed
        BtpBHeader btpBHeader
garciay's avatar
garciay committed
      } with {
Yann Garcia's avatar
Yann Garcia committed
        variant "FIELDORDER(msb)"
      }
      
garciay's avatar
garciay committed
      /**
       * @desc Upper Tester message to check event/status on BTP IUT 
       */    
      type record UtBtpEventInd {
Yann Garcia's avatar
Yann Garcia committed
        BtpRawPayload rawPayload
garciay's avatar
garciay committed
      } with {
Yann Garcia's avatar
Yann Garcia committed
        variant "FIELDORDER(msb)"
      }
      
garciay's avatar
garciay committed
      /**
       * @desc List of Upper Tester messages to check event/status on CAM IUT 
       */    
      type record of UtBtpEventInd UtBtpEventIndList;
garciay's avatar
garciay committed
    }
garciay's avatar
garciay committed
  } // end utPrimitives
  with {
    variant ""
    encode "UpperTester"
  }
garciay's avatar
garciay committed
  variant ""
garciay's avatar
garciay committed
  encode "LibItsBtp"