LibItsBtp_TypesAndValues.ttcn 2 KB
Newer Older
berge's avatar
berge committed
/**
 *  @author   ETSI / STF405
 *  @version  $URL$
 *            $Id$
 *  @desc     Module containing types and values for Basic Transport Protocol
 *
 */
module LibItsBtp_TypesAndValues {

berge's avatar
berge committed
    // 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 {
fischer's avatar
fischer committed
            BtpPortId destinationPort,
            BtpPortId sourcePort   
berge's avatar
berge committed
        } 

        /**
         * @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 {
fischer's avatar
fischer committed
            BtpPortId destinationPort,
berge's avatar
berge committed
            BtpPortInfo destinationPortInfo   
        }
        
fischer's avatar
fischer committed
        type UInt16 BtpPortId;
berge's avatar
berge committed
        type UInt16 BtpPortInfo;
        
    } // end btpHeaders

    group btpPayload {
        
        /**
         * @desc TODO change it to concrete union value
         */
        type octetstring BtpPayload;
        
    } //end btpPayload

berge's avatar
berge committed
}
with {
    encode "LibItsBtp_TypesAndValues"
}