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
124
125
126
127
128
129
130
131
132
133
134
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) "LibItsDenm_asn1";
encode (ssemPacket) "LibItsDenm_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;