blob: c8183130e9eb120006b31ea7040d930318d0fe27 [file] [log] [blame]
Harald Welte3b8bdd62017-07-19 19:57:26 +02001/******************************************************************************
2 * Copyright (c) 2000-2017 Ericsson Telecom AB
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * Balasko, Jeno
10 * Baranyi, Botond
11 *
12 ******************************************************************************/
13//
14// File: General_Types.ttcn
15// Rev: <RnXnn>
16// Prodnr: CNL 113 368
17// Updated: 2012-11-06
18// Contact: http://ttcn.ericsson.se
19// Reference:
20
21
22module General_Types
23{
24
25group SimpleNativeTypes {
26
27 //****************************************************
28 // Bitstrings
29 //****************************************************
30
31 //bitstring with fixed length
32 type bitstring BIT1n length(1) with { variant "" };
33 type bitstring BIT2n length(2) with { variant "" };
34 type bitstring BIT3n length(3) with { variant "" };
35 type bitstring BIT4n length(4) with { variant "" };
36 type bitstring BIT5n length(5) with { variant "" };
37 type bitstring BIT6n length(6) with { variant "" };
38 type bitstring BIT7n length(7) with { variant "" };
39 type bitstring BIT8n length(8) with { variant "" };
40 type bitstring BIT9n length(9) with { variant "" };
41 type bitstring BIT12n length(12) with { variant "" };
42 type bitstring BIT14n length(14) with { variant "" };
43 type bitstring BIT15n length(15) with { variant "" };
44 type bitstring BIT16n length(16) with { variant "" };
45 type bitstring BIT56n length(56) with { variant "" };
46
47 //bitstring with length interval
48 type bitstring BIT14_24n length(14..24) with { variant "" };
49
50 //bitstring to be padded with fixed length
51 type bitstring BIT1np length(1) with { variant "" };
52 type bitstring BIT2np length(2) with { variant "" };
53 type bitstring BIT3np length(3) with { variant "" };
54 type bitstring BIT4np length(4) with { variant "" };
55 type bitstring BIT5np length(5) with { variant "" };
56 type bitstring BIT6np length(6) with { variant "" };
57 type bitstring BIT7np length(7) with { variant "" };
58 type bitstring BIT15np length(15) with { variant "" };
59
60 //bitstring with fixed length
61 type bitstring BIT1 length(1) with { variant "FIELDLENGTH(1)" };
62 type bitstring BIT2 length(2) with { variant "FIELDLENGTH(2)" };
63 type bitstring BIT3 length(3) with { variant "FIELDLENGTH(3)" };
64 type bitstring BIT4 length(4) with { variant "FIELDLENGTH(4)" };
65 type bitstring BIT5 length(5) with { variant "FIELDLENGTH(5)" };
66 type bitstring BIT6 length(6) with { variant "FIELDLENGTH(6)" };
67 type bitstring BIT7 length(7) with { variant "FIELDLENGTH(7)" };
68 type bitstring BIT8 length(8) with { variant "FIELDLENGTH(8)" };
69 type bitstring BIT9 length(9) with { variant "FIELDLENGTH(9)" };
70 type bitstring BIT10 length(10) with { variant "FIELDLENGTH(10)" };
71 type bitstring BIT11 length(11) with { variant "FIELDLENGTH(11)" };
72 type bitstring BIT12 length(12) with { variant "FIELDLENGTH(12)" };
Harald Weltea7377d82019-01-25 19:08:09 +010073 type bitstring BIT13 length(13) with { variant "FIELDLENGTH(13)" };
Harald Welte3b8bdd62017-07-19 19:57:26 +020074 type bitstring BIT14 length(14) with { variant "FIELDLENGTH(14)" };
75 type bitstring BIT15 length(15) with { variant "FIELDLENGTH(15)" };
76 type bitstring BIT16 length(16) with { variant "FIELDLENGTH(16)" };
77 type bitstring BIT24 length(24) with { variant "FIELDLENGTH(24)" };
Harald Welte0ee22972020-02-29 11:32:50 +010078 type bitstring BIT27 length(27) with { variant "FIELDLENGTH(27)" };
Harald Weltea7377d82019-01-25 19:08:09 +010079 type bitstring BIT28 length(28) with { variant "FIELDLENGTH(28)" };
80 type bitstring BIT29 length(29) with { variant "FIELDLENGTH(29)" };
81 type bitstring BIT30 length(30) with { variant "FIELDLENGTH(30)" };
Harald Welte3b8bdd62017-07-19 19:57:26 +020082 type bitstring BIT31 length(31) with { variant "FIELDLENGTH(31)" };
Harald Welte7484fc42018-02-24 14:09:45 +010083 type bitstring BIT32 length(32) with { variant "FIELDLENGTH(32)" };
Harald Welte3b8bdd62017-07-19 19:57:26 +020084 type bitstring BIT56 length(56) with { variant "FIELDLENGTH(56)" };
85
86 //****************************************************
87 // Octetstrings
88 //****************************************************
89
90 //octetstring with fixed length
91 type octetstring OCT0n length(0) with { variant "" };
92 type octetstring OCT1n length(1) with { variant "" };
93 type octetstring OCT2n length(2) with { variant "" };
94 type octetstring OCT3n length(3) with { variant "" };
95 type octetstring OCT4n length(4) with { variant "" };
96 type octetstring OCT5n length(5) with { variant "" };
97 type octetstring OCT6n length(6) with { variant "" };
98 type octetstring OCT7n length(7) with { variant "" };
99 type octetstring OCT8n length(8) with { variant "" };
100 type octetstring OCT9n length(9) with { variant "" };
101 type octetstring OCT10n length(10) with { variant "" };
102 type octetstring OCT11n length(11) with { variant "" };
103 type octetstring OCT12n length(12) with { variant "" };
104 type octetstring OCT13n length(13) with { variant "" };
105 type octetstring OCT14n length(14) with { variant "" };
106 type octetstring OCT15n length(15) with { variant "" };
107 type octetstring OCT16n length(16) with { variant "" };
108 type octetstring OCT17n length(17) with { variant "" };
109 type octetstring OCT18n length(18) with { variant "" };
110 type octetstring OCT19n length(19) with { variant "" };
111 type octetstring OCT20n length(20) with { variant "" };
112 type octetstring OCT28n length(28) with { variant "" };
113 type octetstring OCT32n length(32) with { variant "" };
114 type octetstring OCT34n length(34) with { variant "" };
115 type octetstring OCT46n length(46) with { variant "" };
116 type octetstring OCT50n length(50) with { variant "" };
117 type octetstring OCT69n length(69) with { variant "" };
118 type octetstring OCT100n length(100) with { variant "" };
119 type octetstring OCT128n length(128) with { variant "" };
120 type octetstring OCT500n length(500) with { variant "" };
121 type octetstring OCTNn with { variant "" };
122
123 //octetstring with length interval
124 type octetstring OCT1_3n length(1..3) with { variant "" };
125 type octetstring OCT1_4n length(1..4) with { variant "" };
126 type octetstring OCT1_5n length(1..5) with { variant "" };
127 type octetstring OCT1_6n length(1..6) with { variant "" };
128 type octetstring OCT1_7n length(1..7) with { variant "" };
129 type octetstring OCT1_8n length(1..8) with { variant "" };
130 type octetstring OCT1_12n length(1..12) with { variant "" };
131 type octetstring OCT1_15n length(1..15) with { variant "" };
132 type octetstring OCT1_16n length(1..16) with { variant "" };
133 type octetstring OCT1_18n length(1..18) with { variant "" };
134 type octetstring OCT1_20n length(1..20) with { variant "" };
135 type octetstring OCT1_24n length(1..24) with { variant "" };
136 type octetstring OCT1_32n length(1..32) with { variant "" };
137 type octetstring OCT1_34n length(1..34) with { variant "" };
138 type octetstring OCT1_46n length(1..46) with { variant "" };
139 type octetstring OCT1_50n length(1..50) with { variant "" };
140 type octetstring OCT1_112n length(1..112) with { variant "" };
141 type octetstring OCT1_127n length(1..127) with { variant "" };
142 type octetstring OCT1_128n length(1..128) with { variant "" };
143 type octetstring OCT1_172n length(1..172) with { variant "" };
144 type octetstring OCT3_5n length(3..5) with { variant "" };
145 type octetstring OCT3_7n length(3..7) with { variant "" };
146 type octetstring OCT3_8n length(3..8) with { variant "" };
147 type octetstring OCT3_14n length(3..14) with { variant "" };
148 type octetstring OCT3_17n length(3..17) with { variant "" };
149 type octetstring OCT4_8n length(4..8) with { variant "" };
Harald Welte88b3ccb2020-03-12 21:36:32 +0100150 type octetstring OCT4_16n length(4..16) with { variant "" };
Harald Welte3b8bdd62017-07-19 19:57:26 +0200151
152
153 //****************************************************
154 // Charstrings
155 //****************************************************
156
157 //charstring with fixed length
158 type charstring CHAR4 length (4);
159
160 //****************************************************
161 // Hexstrings
162 //****************************************************
163
164 //hexstring with fixed length
165 type hexstring HEX4n length(4) with { variant "" };
166 type hexstring HEX6n length(6) with { variant "" };
167 type hexstring HEX8n length(8) with { variant "" };
168 type hexstring HEX15n length(15) with { variant "" };
169 type hexstring HEX16n length(16) with { variant "" };
170 type hexstring HEX24n length(24) with { variant "" };
171
172 //hexstring with length interval
Harald Welte5a4fa042018-02-16 20:59:21 +0100173 type hexstring HEX0_3n length(0..3) with { variant "" };
Harald Welte3b8bdd62017-07-19 19:57:26 +0200174 type hexstring HEX0_18n length(0..18) with { variant "" };
175 type hexstring HEX1_20n length(1..20) with { variant "" };
176 type hexstring HEX1_34n length(1..34) with { variant "" };
177
Pau Espin Pedrol189bf1b2022-04-27 12:42:13 +0200178 type record of hexstring Hexstrings with { variant "" };
179
Harald Welte3b8bdd62017-07-19 19:57:26 +0200180 //****************************************************
181 // Integers
182 //****************************************************
183
184 //integer with fixed bit number
185 type integer INT3nb (0..7) with { variant "" };
186 type integer INT4nb (0..15) with { variant "" };
187 type integer INT5nb (0..31) with { variant "" };
188 type integer INT8nb (0..255) with { variant "" };
189
190 //integer with fixed bit number and with padding
191 type integer INT2nbp (0..3) with { variant "" };
192 type integer INT1nbp (0..1) with { variant "" };
193 type integer INT3nbp (0..7) with { variant "" };
194 type integer INT5nbp (0..31) with { variant "" };
195 type integer INT9nbp (0..511) with { variant "" };
196 type integer INT13nbp (0..8191) with { variant "" };
197 type integer INT15nbp (0..32767) with { variant "" };
198
Pau Espin Pedrol189bf1b2022-04-27 12:42:13 +0200199 //****************************************************
200 // Booleans
201 //****************************************************
202
203 type record of boolean Booleans with { variant "" };
204
Harald Welte3b8bdd62017-07-19 19:57:26 +0200205} // end group NativeTypes
206
207//****************************************************
208//****************************************************
209// RAW Encoded Types
210//****************************************************
211//****************************************************
212
213group SimpleRAWEncodedTypes {
214
215 //****************************************************
216 // Bitstrings
217 //****************************************************
218
219 //bitstring with fixed length
220 type bitstring BIT6_BO_LAST length (6) with {variant "BYTEORDER(last)"};
221 type bitstring BIT16_BO_LAST length (16) with {variant "BYTEORDER(last)"};
222 type bitstring BIT32_BO_LAST length (32) with {variant "BYTEORDER(last)"};
223
224 //****************************************************
225 // Octetstrings
226 //****************************************************
227 //octetstring with fixed length
228 type octetstring Dummy length(0) with { variant "FIELDLENGTH(0)" };
229 type octetstring OCT0 length(0) with { variant "FIELDLENGTH(0)" };
230 type octetstring OCT1 length(1) with { variant "FIELDLENGTH(1)" };
231 type octetstring OCT2 length(2) with { variant "FIELDLENGTH(2)" };
232 type octetstring OCT3 length(3) with { variant "FIELDLENGTH(3)" };
233 type octetstring OCT4 length(4) with { variant "FIELDLENGTH(4)" };
234 type octetstring OCT5 length(5) with { variant "FIELDLENGTH(5)" };
235 type octetstring OCT6 length(6) with { variant "FIELDLENGTH(6)" };
236 type octetstring OCT7 length(7) with { variant "FIELDLENGTH(7)" };
237 type octetstring OCT8 length(8) with { variant "FIELDLENGTH(8)" };
238 type octetstring OCT9 length(9) with { variant "FIELDLENGTH(9)" };
239 type octetstring OCT10 length(10) with { variant "FIELDLENGTH(10)" };
240 type octetstring OCT11 length(11) with { variant "FIELDLENGTH(11)" };
241 type octetstring OCT12 length(12) with { variant "FIELDLENGTH(12)" };
242 type octetstring OCT13 length(13) with { variant "FIELDLENGTH(13)" };
243 type octetstring OCT14 length(14) with { variant "FIELDLENGTH(14)" };
244 type octetstring OCT15 length(15) with { variant "FIELDLENGTH(15)" };
245 type octetstring OCT16 length(16) with { variant "FIELDLENGTH(16)" };
246 type octetstring OCT17 length(17) with { variant "FIELDLENGTH(17)" };
247 type octetstring OCT18 length(18) with { variant "FIELDLENGTH(18)" };
248 type octetstring OCT19 length(19) with { variant "FIELDLENGTH(19)" };
249 type octetstring OCT20 length(20) with { variant "FIELDLENGTH(20)" };
Harald Weltef097a8b2018-09-16 18:11:26 +0200250 type octetstring OCT22 length(22) with { variant "FIELDLENGTH(22)" };
Harald Welte3b8bdd62017-07-19 19:57:26 +0200251 type octetstring OCT32 length(32) with { variant "FIELDLENGTH(32)" };
252 type octetstring OCT34 length(34) with { variant "FIELDLENGTH(34)" };
253 type octetstring OCT46 length(46) with { variant "FIELDLENGTH(46)" };
254
255 //octetstring with length interval
256 type octetstring OCT1_260 length(1..260) with { variant "" };
257 type octetstring OCT1_8 length(1..8) with { variant "" };
258 type octetstring OCT1_12 length(1..12) with { variant "" };
259 type octetstring OCT1_32 length(1..32) with { variant "" };
260 type octetstring OCT1_50 length(1..50) with { variant "" };
261 type octetstring OCT3_8 length(3..8) with { variant "" };
262
263 type octetstring OCTN with { variant "" };
264
265 //****************************************************
266 // Hexstrings
267 //****************************************************
268
269 //hexstring with fixed length
270 type hexstring HEX1 length(1) with {variant "FIELDLENGTH(1)"};
271
272 //hexstring with length interval
273 type hexstring HEX0_16 length(0..16) with { variant "" };
274 type hexstring HEX5_16 length(5..16) with { variant "" };
275 type hexstring HEX1_32 length(1..32) with { variant "" };
276
277
278 //****************************************************
279 // Integers
280 //****************************************************
281
282 //integer with fixed octet number
283 type integer INT1 (0..255) with { variant "FIELDLENGTH(8)" };
284 type integer LIN1 (0..255) with { variant "FIELDLENGTH(8)" };
285 type integer LIN2 (0..65535) with { variant "FIELDLENGTH(16)" };
286 type integer LIN2_BO_LAST (0..65535) with { variant "FIELDLENGTH(16), COMP(nosign), BYTEORDER(last)" };
287 type integer LIN3_BO_LAST (0..16777215) with { variant "FIELDLENGTH(24), COMP(nosign), BYTEORDER(last)" };
288 type integer LIN4_BO_LAST (0..4294967295) with { variant "FIELDLENGTH(32), COMP(nosign), BYTEORDER(last)" };
Neels Hofmeyra2d1d7a2022-01-20 23:11:38 +0100289 type integer LIN8_BO_LAST (0..18446744073709551616) with { variant "FIELDLENGTH(64), COMP(nosign), BYTEORDER(last)" };
Harald Welte3b8bdd62017-07-19 19:57:26 +0200290
291 //integer with fixed bit number
292 type integer INT1b (0..1) with { variant "FIELDLENGTH(1)" };
293 type integer INT2b (0..3) with { variant "FIELDLENGTH(2)" };
294 type integer INT3b (0..7) with { variant "FIELDLENGTH(3)" };
295 type integer INT4b (0..15) with { variant "FIELDLENGTH(4)" };
296 type integer INT5b (0..31) with { variant "FIELDLENGTH(5)" };
297 type integer INT6b (0..63) with { variant "FIELDLENGTH(6)" };
298 type integer INT7b (0..127) with { variant "FIELDLENGTH(7)" };
299 type integer INT11b_BO_LAST ( 0 .. 2047 ) with { variant "FIELDLENGTH(11), COMP(nosign), BYTEORDER(last)" };
300 type integer INT12b_BO_LAST ( 0 .. 4095 ) with { variant "FIELDLENGTH(12), COMP(nosign), BYTEORDER(last)" };
301 type integer INT13b_BO_LAST ( 0 .. 8191 ) with { variant "FIELDLENGTH(13), COMP(nosign), BYTEORDER(last)" };
302 type integer INT14b_BO_LAST ( 0 .. 16383 ) with { variant "FIELDLENGTH(14), COMP(nosign), BYTEORDER(last)" };
Harald Welte73489402018-02-05 09:15:17 +0100303 type integer INT18b_BO_LAST ( 0 .. 262143 ) with { variant "FIELDLENGTH(18), COMP(nosign), BYTEORDER(last)" };
Harald Welte3b8bdd62017-07-19 19:57:26 +0200304 type integer INT20b_BO_LAST ( 0 .. 1048575 ) with { variant "FIELDLENGTH(20), COMP(nosign), BYTEORDER(last)" };
305 type integer INT31b_BO_LAST ( 0 .. 2147483647 ) with { variant "FIELDLENGTH(31), COMP(nosign), BYTEORDER(last)" };
306
307 //****************************************************
308 // Structures
309 //****************************************************
310
311 //integer record
312 type record of integer Integers with { variant "" };
313 type record of Integers Integer_array with { variant "" };
314
315} // end group SimpleRAWEncodedTypes
316
317group ComponentTypes {
318 type component Dummy_comptype {}
319 type component Dummy_CT {}
320} // end group ComponentTypes
321
322group CompositeTypes {
323 type enumerated Protocols
324 { mtp3, sccp, isup, bicc, qaal2, gcp, bssap, bssmap, ranap, dtap }
325
326 type record of OCT1 OCT1List with { variant "" };
327 type record of OCT2 OCT2List with { variant "" };
328 type record of OCT3 OCT3List with { variant "" };
329 type record of OCT4 OCT4List with { variant "" };
330 type record of OCT5 OCT5List with { variant "" };
331 type record of OCT6 OCT6List with { variant "" };
332 type record of OCT7 OCT7List with { variant "" };
333
Harald Welte9c0bddf2017-12-08 13:58:08 +0100334 type record of Dummy_comptype ListOfDummy_comptype;
335 type record of Dummy_CT ListOfDummy_CT;
Harald Welte3b8bdd62017-07-19 19:57:26 +0200336 type record of Protocols ProtocolList with { variant "" };
337} // end group CompositeTypes
338
Harald Welte9c0bddf2017-12-08 13:58:08 +0100339} with { encode "RAW" } /* End of module General_Types */