blob: 911e1a5ada328c5e74a6b89ee5053ec25ad5821b [file] [log] [blame]
Harald Welteac359802017-04-12 12:13:44 +02001/******************************************************************************
2* Copyright (c) 2004, 2014 Ericsson 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* Zoltan Jasz - initial implementation and initial documentation
10* Abhishek Gupta
11* Attila Balasko
12* Endre Kulcsar
13* Gabor Bettesch
14* Gabor Szalai
15* Janos Kovesdi
16* Sandor Palugyai
17* Tibor Csondes
18******************************************************************************/
19//
20// File: UsefulTtcn3Types.ttcn
21// Rev: R9A
22// Prodnr: CNL 113 368
23//
24////////////////////////////////////////////////////////////////////////////////
25module UsefulTtcn3Types {
26
27
28 type integer byte (-128 .. 127) with { variant "/* 8 bit */" };
29
30 type integer unsignedbyte (0 .. 255) with { variant "/*unsigned 8 bit*/" };
31
32 type integer short (-32768 .. 32767) with { variant "/*16 bit*/" };
33
34 type integer unsignedshort (0 .. 65535) with { variant "/*unsigned 16 bit*/" };
35
36 type integer long (-2147483648 .. 2147483647) with { variant "/*32 bit*/" };
37
38 type integer unsignedlong (0 .. 4294967295) with { variant "/*unsigned 32 bit*/" };
39
40 type integer longlong /* ( -9223372036854775808 .. 9223372036854775807 ) */ with { variant "/*64 bit*/" };
41
42 type integer unsignedlonglong /* ( 0 .. 18446744073709551615 ) */ with { variant "/*unsigned 64 bit*/" };
43
44 type float IEEE754float with { variant "/*IEEE754 float*/" };
45
46 type float IEEE754double with { variant "/*IEEE754 double*/" };
47
48 type float IEEE754extfloat with { variant "/*IEEE754 extended float*/" };
49
50 type float IEEE754extdouble with { variant "/*IEEE754 extended double*/" };
51
52 type universal charstring utf8string with { variant "/*UTF-8*/" };
53
54 type universal charstring bmpstring ( char ( 0,0,0,0 ) .. char ( 0,0,255,255) ) with { variant "/*UCS-2*/" };
55
56 type universal charstring utf16string ( char ( 0,0,0,0 ) .. char ( 0,16,255,255) ) with { variant "/*UTF-16*/" };
57
58 type universal charstring iso8859string ( char ( 0,0,0,0 ) .. char ( 0,0,0,255) ) with { variant "/*8 bit*/" };
59
60 type record IDLfixed
61 {
62 unsignedshort digits,
63 short scale,
64 charstring value_
65 }
66 with {
67 variant "/*IDL:fixed FORMAL/01-12-01 v.2.6*/";
68 };
69
70 /*
71 type charstring char length (1);
72
73 NOTE 1: The name of this useful type is the same as the TTCN-3 keyword used to denote universal
74 charstring values in the quadraple form. In general it is disallowed to use TTCN-3 keywords as
75 identifiers. The "char" useful type is a solitary exception and allowed only for backward compatibility
76 with previous versions of the TTCN-3 standard. (except Titan doesn't)
77
78 NOTE 2: The special string "8 bit" defined in clause 28.2.3 may be used with this type to specify a given encoding
79 for its values. Also, other properties of the base type can be changed by using attribute mechanisms.
80 */
81
82 type universal charstring uchar length (1);
83
84 /*
85 NOTE: Special strings defined in clause 28.2.3 except "8 bit" may be used with this type to specify a given
86 encoding for its values. Also, other properties of the base type can be changed by using attribute
87 mechanisms.
88 */
89
90 type bitstring bit length (1);
91
92 type hexstring hex length (1);
93
94 type octetstring octet length (1);
95
96}
97with {
98encode "XML";
99}