Newer
Older
/**
* @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;
// LibIts
import from CAM_PDU_Descriptions language "ASN.1:1997" all;
import from DENM_PDU_Descriptions language "ASN.1:1997" all;
import from MAPEM_PDU_Descriptions language "ASN.1:1997" all;
import from SPATEM_PDU_Descriptions language "ASN.1:1997" all;
import from IVIM_PDU_Descriptions language "ASN.1:1997" all;
import from SREM_PDU_Descriptions language "ASN.1:1997" all;
import from SSEM_PDU_Descriptions language "ASN.1:1997" all;
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
group btpPdus {
/**
* @desc BTP Packet
* @see ETSI TS 102 636-5-1 chapter 6
* @member header
* @member payload
*/
type record BtpPacket {
BtpHeader header,
BtpPayload payload optional
}
} // 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
}
/**
* @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
}
/**
* @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
}
/**
* @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 btpPayload {
type octetstring BtpRawPayload;
/**
* @desc The payload of the BTP packet
* @member decodedPayload The decoded payload
* @member rawPayload Raw payload as it is received
*/
type record BtpPayload {
DecodedBtpPayload decodedPayload optional,
BtpRawPayload rawPayload
}
/**
* @desc The decoded payload of the BTP packet
* @member camPacket The CAM packet
* @member denmPacket The DENM packet
* @member mapemPacket
* @member spatemPacket
* @member ivimPacket
* @member sremPacket
* @member seemPacket
*/
type union DecodedBtpPayload {
CAM camPacket,
DENM denmPacket,
MAPEM mapemPacket,
SPATEM spatemPacket,
IVIM ivimPacket,
SREM sremPacket,
SSEM ssemPacket
} with {
encode (camPacket) "LibItsCam_asn1";
encode (denmPacket) "LibItsDenm_asn1";
encode (mapemPacket) "LibItsMapemSpatem_asn1";
encode (spatemPacket) "LibItsMapemSpatem_asn1";
encode (ivimPacket) "LibItsIvim_asn1";
encode (sremPacket) "LibItsSremSsem_asn1";
encode (ssemPacket) "LibItsSremSsem_asn1"
}
} //end btpPayload
group utPrimitives {
group utCommonPrimitives {
/**
* @desc UT primitives for BTP
* @member btpA -
* @member btpB -
type union UtBtpTrigger {
GenerateBtpA btpA,
GenerateBtpB btpB
type boolean UtBtpTriggerResult;
* @desc Upper Tester message to request triggering of an BTPA message at IUT
type record GenerateBtpA {
BtpAHeader btpAHeader
* @desc Upper Tester message to request triggering of an BTPB message at IUT
type record GenerateBtpB {
BtpBHeader btpBHeader
* @desc Upper Tester message to check event/status on BTP IUT
type record UtBtpEventInd {
BtpRawPayload rawPayload
* @desc List of Upper Tester messages to check event/status on CAM IUT
type record of UtBtpEventInd UtBtpEventIndList;