7 IMPORTS heim_any FROM heim;
9 TESTuint32 ::= INTEGER (0..4294967295)
10 TESTuint64 ::= INTEGER(0..18446744073709551615)
11 TESTint64 ::= INTEGER(-9223372036854775808..9223372036854775807)
13 TESTLargeTag ::= SEQUENCE {
14 foo[127] INTEGER (-2147483648..2147483647),
15 bar[128] INTEGER (-2147483648..2147483647)
18 TESTSeq ::= SEQUENCE {
19 tag0[0] INTEGER (-2147483648..2147483647),
21 tagless INTEGER (-2147483648..2147483647),
22 tag3[2] INTEGER (-2147483648..2147483647)
25 TESTChoice1 ::= CHOICE {
26 i1[1] INTEGER (-2147483648..2147483647),
27 i2[2] INTEGER (-2147483648..2147483647),
31 TESTChoice2 ::= CHOICE {
32 i1[1] INTEGER (-2147483648..2147483647),
36 TESTInteger ::= INTEGER (-2147483648..2147483647)
38 TESTInteger2 ::= [4] IMPLICIT TESTInteger
39 TESTInteger3 ::= [5] IMPLICIT TESTInteger2
41 TESTImplicit ::= SEQUENCE {
42 ti1[0] IMPLICIT INTEGER (-2147483648..2147483647),
43 ti2[1] IMPLICIT SEQUENCE {
44 foo[127] INTEGER (-2147483648..2147483647)
46 ti3[2] IMPLICIT [5] IMPLICIT [4] IMPLICIT INTEGER (-2147483648..2147483647)
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
55 TESTAllocInner ::= SEQUENCE {
59 TESTAlloc ::= SEQUENCE {
60 tagless TESTAllocInner OPTIONAL,
61 three [1] INTEGER (-2147483648..2147483647),
62 tagless2 heim_any OPTIONAL
65 TESTOptional ::= SEQUENCE {
66 zero [0] INTEGER (-2147483648..2147483647) OPTIONAL,
67 one [1] INTEGER (-2147483648..2147483647) OPTIONAL
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) }
76 TESTDer OBJECT IDENTIFIER ::= {
77 joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1)
80 TESTCONTAININGENCODEDBY ::= OCTET STRING ( CONTAINING INTEGER ENCODED BY
81 { joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1) }
84 TESTCONTAININGENCODEDBY2 ::= OCTET STRING (
85 CONTAINING INTEGER ENCODED BY TESTDer
89 TESTValue1 INTEGER ::= 1
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 })
96 TESTSeqOf ::= SEQUENCE OF TESTInteger
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
103 TESTOSSize1 ::= OCTET STRING SIZE (1..2)
105 TESTSeqOfSeq ::= SEQUENCE OF SEQUENCE {
109 TESTSeqOfSeq2 ::= SEQUENCE OF SEQUENCE {
110 string [0] GeneralString
113 TESTSeqOfSeq3 ::= SEQUENCE OF SEQUENCE {
114 zero [0] TESTInteger,
115 string [0] GeneralString
118 TESTSeqOf2 ::= SEQUENCE {
119 strings SEQUENCE OF GeneralString
122 TESTSeqOf3 ::= SEQUENCE {
123 strings SEQUENCE OF GeneralString OPTIONAL
126 -- Larger/more complex to increase odds of out-of-bounds
127 -- read/writes if miscoded
129 TESTSeqOf4 ::= SEQUENCE {
130 b1 [0] SEQUENCE OF SEQUENCE {
136 b2 [1] IMPLICIT SEQUENCE OF SEQUENCE {
144 b3 [2] IMPLICIT SEQUENCE OF SEQUENCE {
156 TESTPreserve ::= SEQUENCE {
157 zero [0] TESTInteger,
161 TESTBitString ::= BIT STRING {
167 TESTMechType::= OBJECT IDENTIFIER
168 TESTMechTypeList ::= SEQUENCE OF TESTMechType