test.asn1 revision 1.1.1.3.12.1 1 -- Id --
2
3 TEST DEFINITIONS ::=
4
5 BEGIN
6
7 IMPORTS heim_any FROM heim;
8
9 TESTuint32 ::= INTEGER (0..4294967295)
10 TESTuint64 ::= INTEGER(0..18446744073709551615)
11 TESTint64 ::= INTEGER(-9223372036854775808..9223372036854775807)
12
13 TESTLargeTag ::= SEQUENCE {
14 foo[127] INTEGER (-2147483648..2147483647),
15 bar[128] INTEGER (-2147483648..2147483647)
16 }
17
18 TESTSeq ::= SEQUENCE {
19 tag0[0] INTEGER (-2147483648..2147483647),
20 tag1[1] TESTLargeTag,
21 tagless INTEGER (-2147483648..2147483647),
22 tag3[2] INTEGER (-2147483648..2147483647)
23 }
24
25 TESTChoice1 ::= CHOICE {
26 i1[1] INTEGER (-2147483648..2147483647),
27 i2[2] INTEGER (-2147483648..2147483647),
28 ...
29 }
30
31 TESTChoice2 ::= CHOICE {
32 i1[1] INTEGER (-2147483648..2147483647),
33 ...
34 }
35
36 TESTInteger ::= INTEGER (-2147483648..2147483647)
37
38 TESTInteger2 ::= [4] IMPLICIT TESTInteger
39 TESTInteger3 ::= [5] IMPLICIT TESTInteger2
40
41 TESTImplicit ::= SEQUENCE {
42 ti1[0] IMPLICIT INTEGER (-2147483648..2147483647),
43 ti2[1] IMPLICIT SEQUENCE {
44 foo[127] INTEGER (-2147483648..2147483647)
45 },
46 ti3[2] IMPLICIT [5] IMPLICIT [4] IMPLICIT INTEGER (-2147483648..2147483647)
47 }
48
49 TESTImplicit2 ::= SEQUENCE {
50 ti1[0] IMPLICIT TESTInteger,
51 -- ti2[1] IMPLICIT TESTLargeTag, this is disabled since the IMPLICT encoder does't get the types right when stepping inside an structure --
52 ti3[2] IMPLICIT TESTInteger3
53 }
54
55 TESTAllocInner ::= SEQUENCE {
56 ai[0] TESTInteger
57 }
58
59 TESTAlloc ::= SEQUENCE {
60 tagless TESTAllocInner OPTIONAL,
61 three [1] INTEGER (-2147483648..2147483647),
62 tagless2 heim_any OPTIONAL
63 }
64
65 TESTOptional ::= SEQUENCE {
66 zero [0] INTEGER (-2147483648..2147483647) OPTIONAL,
67 one [1] INTEGER (-2147483648..2147483647) OPTIONAL
68 }
69
70
71 TESTCONTAINING ::= OCTET STRING ( CONTAINING INTEGER )
72 TESTENCODEDBY ::= OCTET STRING ( ENCODED BY
73 { joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1) }
74 )
75
76 TESTDer OBJECT IDENTIFIER ::= {
77 joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1)
78 }
79
80 TESTCONTAININGENCODEDBY ::= OCTET STRING ( CONTAINING INTEGER ENCODED BY
81 { joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1) }
82 )
83
84 TESTCONTAININGENCODEDBY2 ::= OCTET STRING (
85 CONTAINING INTEGER ENCODED BY TESTDer
86 )
87
88
89 TESTValue1 INTEGER ::= 1
90
91 TESTUSERCONSTRAINED ::= OCTET STRING (CONSTRAINED BY { -- meh -- })
92 -- TESTUSERCONSTRAINED2 ::= OCTET STRING (CONSTRAINED BY { TESTInteger })
93 -- TESTUSERCONSTRAINED3 ::= OCTET STRING (CONSTRAINED BY { INTEGER })
94 -- TESTUSERCONSTRAINED4 ::= OCTET STRING (CONSTRAINED BY { INTEGER : 1 })
95
96 TESTSeqOf ::= SEQUENCE OF TESTInteger
97
98 TESTSeqSizeOf1 ::= SEQUENCE SIZE (2) OF TESTInteger
99 TESTSeqSizeOf2 ::= SEQUENCE SIZE (1..2) OF TESTInteger
100 TESTSeqSizeOf3 ::= SEQUENCE SIZE (1..MAX) OF TESTInteger
101 TESTSeqSizeOf4 ::= SEQUENCE SIZE (0..2) OF TESTInteger
102
103 TESTOSSize1 ::= OCTET STRING SIZE (1..2)
104
105 TESTSeqOfSeq ::= SEQUENCE OF SEQUENCE {
106 zero [0] TESTInteger
107 }
108
109 TESTSeqOfSeq2 ::= SEQUENCE OF SEQUENCE {
110 string [0] GeneralString
111 }
112
113 TESTSeqOfSeq3 ::= SEQUENCE OF SEQUENCE {
114 zero [0] TESTInteger,
115 string [0] GeneralString
116 }
117
118 TESTSeqOf2 ::= SEQUENCE {
119 strings SEQUENCE OF GeneralString
120 }
121
122 TESTSeqOf3 ::= SEQUENCE {
123 strings SEQUENCE OF GeneralString OPTIONAL
124 }
125
126 -- Larger/more complex to increase odds of out-of-bounds
127 -- read/writes if miscoded
128
129 TESTSeqOf4 ::= SEQUENCE {
130 b1 [0] SEQUENCE OF SEQUENCE {
131 s1 OCTET STRING,
132 s2 OCTET STRING,
133 u1 TESTuint64,
134 u2 TESTuint64
135 } OPTIONAL,
136 b2 [1] IMPLICIT SEQUENCE OF SEQUENCE {
137 u1 TESTuint64,
138 u2 TESTuint64,
139 u3 TESTuint64,
140 s1 OCTET STRING,
141 s2 OCTET STRING,
142 s3 OCTET STRING
143 } OPTIONAL,
144 b3 [2] IMPLICIT SEQUENCE OF SEQUENCE {
145 s1 OCTET STRING,
146 u1 TESTuint64,
147 s2 OCTET STRING,
148 u2 TESTuint64,
149 s3 OCTET STRING,
150 u3 TESTuint64,
151 s4 OCTET STRING,
152 u4 TESTuint64
153 } OPTIONAL
154 }
155
156 TESTSeqOf5 ::= SEQUENCE {
157 outer SEQUENCE {
158 inner SEQUENCE {
159 u0 TESTuint64,
160 s0 OCTET STRING,
161 u1 TESTuint64,
162 s1 OCTET STRING,
163 u2 TESTuint64,
164 s2 OCTET STRING,
165 u3 TESTuint64,
166 s3 OCTET STRING,
167 u4 TESTuint64,
168 s4 OCTET STRING,
169 u5 TESTuint64,
170 s5 OCTET STRING,
171 u6 TESTuint64,
172 s6 OCTET STRING,
173 u7 TESTuint64,
174 s7 OCTET STRING
175 }
176 }
177 OPTIONAL
178 }
179
180 TESTPreserve ::= SEQUENCE {
181 zero [0] TESTInteger,
182 one [1] TESTInteger
183 }
184
185 TESTBitString ::= BIT STRING {
186 zero(0),
187 eight(8),
188 thirtyone(31)
189 }
190
191 TESTMechType::= OBJECT IDENTIFIER
192 TESTMechTypeList ::= SEQUENCE OF TESTMechType
193
194 END
195