Home | History | Annotate | Line # | Download | only in asn1
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