|
|
1.1 ! root 1: T1 DEFINITIONS ::= ! 2: ! 3: ! 4: BEGIN ! 5: ! 6: -- Embedded Sequences test ! 7: ! 8: ! 9: SECTIONS enc dec prnt ! 10: ! 11: -- Test of Embedded Strings ! 12: Emb-Strings ::= SEQUENCE { ! 13: atest INTEGER, ! 14: btest OCTET STRING, ! 15: ctest BIT STRING, ! 16: big-test Strings, ! 17: emb-test SEQUENCE { ! 18: em-int INTEGER, ! 19: em-oct OCTET STRING, ! 20: em-bit BIT STRING ! 21: } ! 22: } ! 23: ! 24: ! 25: Strings ::= SEQUENCE { -- Test Octet strings, bit strings and character ! 26: -- Strings in general ! 27: ostring OCTET STRING, ! 28: bstring BIT STRING, ! 29: nstring NumericString, ! 30: pstring PrintableString, ! 31: tstring TeletexString, ! 32: t61string T61String, ! 33: vstring VideotexString, ! 34: vis-string VisibleString, ! 35: i646string ISO646String, ! 36: ia5string IA5String, ! 37: graphstring GraphicString, ! 38: genstring GeneralString ! 39: } ! 40: ! 41: Embedded ::= SEQUENCE { ! 42: anMPDU MPDU, ! 43: ei INTEGER ! 44: } ! 45: ! 46: MPDU ::= ! 47: SEQUENCE { ! 48: a-seq SEQUENCE { ! 49: fred [0] IMPLICIT INTEGER, ! 50: ! 51: george BOOLEAN ! 52: } ! 53: } ! 54: ! 55: ServiceMPDU ::= ! 56: SET { ! 57: a-set SET { ! 58: a-data [1] IMPLICIT BIT STRING, ! 59: ! 60: a-more-data [2] IMPLICIT INTEGER ! 61: }, ! 62: b-set SET { ! 63: b-data [1] IMPLICIT BIT STRING, ! 64: ! 65: b-more-data [2] IMPLICIT INTEGER ! 66: } ! 67: } ! 68: -- Implicit tags ! 69: ! 70: Impl-Tags ::= SEQUENCE { ! 71: i-impl [1] IMPLICIT INTEGER, ! 72: o-impl [2] IMPLICIT OCTET STRING, ! 73: b-impl [3] IMPLICIT BIT STRING, ! 74: f-impl [4] IMPLICIT BOOLEAN, ! 75: obj-impl [5] IMPLICIT Emb-Strings, ! 76: ! 77: -- Test of Embedded Strings ! 78: i-emb-test [APPLICATION 88] IMPLICIT SEQUENCE { ! 79: i-em-int INTEGER, ! 80: i-em-oct OCTET STRING, ! 81: i-em-bit BIT STRING ! 82: } ! 83: } ! 84: ! 85: -- Explicit tags ! 86: ! 87: Expl-Tags ::= SEQUENCE { ! 88: i-expl [1] INTEGER, ! 89: o-expl [2] OCTET STRING, ! 90: b-expl [3] BIT STRING, ! 91: f-expl [4] BOOLEAN, ! 92: obj-expl [5] Emb-Strings, ! 93: ! 94: -- Test of Embedded Strings ! 95: i-exp-test [APPLICATION 88] SEQUENCE { ! 96: i-ex-int INTEGER, ! 97: i-ex-oct OCTET STRING, ! 98: i-ex-bit BIT STRING ! 99: } ! 100: } ! 101: ! 102: -- Test of Sequence of ! 103: Seqof-Test ::= SEQUENCE { ! 104: sqof-test1 SEQUENCE OF Expl-Tags, ! 105: stof-test1 SET OF Expl-Tags, ! 106: i-test1 INTEGER, ! 107: sqof-test2 SEQUENCE OF SEQUENCE { ! 108: sqof-in Expl-Tags, ! 109: sqof-i INTEGER, ! 110: sqof-o OCTET STRING ! 111: }, ! 112: stof-test2 SET OF SEQUENCE { ! 113: stof-in Expl-Tags, ! 114: stof-i INTEGER, ! 115: stof-o OCTET STRING ! 116: }, ! 117: i-test2 INTEGER ! 118: } ! 119: ! 120: ! 121: -- Test data for the Choice type ! 122: Choice-Test ::= SET { ! 123: c1 CHOICE { ! 124: i-c1 [1] IMPLICIT INTEGER, ! 125: o-c1 [2] IMPLICIT OCTET STRING, ! 126: b-c1 [3] IMPLICIT BIT STRING, ! 127: f-c1 [4] IMPLICIT BOOLEAN, ! 128: obj-c1 [5] IMPLICIT Emb-Strings ! 129: }, ! 130: c2 CHOICE { ! 131: i-c2 [6] INTEGER, ! 132: o-c2 [7] OCTET STRING, ! 133: b-c2 [8] BIT STRING, ! 134: f-c2 [9] BOOLEAN, ! 135: obj-c2 [10] Emb-Strings ! 136: }, ! 137: c3 CHOICE { ! 138: seq-c3 SEQUENCE { ! 139: seq-c3-in Expl-Tags, ! 140: seq-c3-i INTEGER, ! 141: seq-c3-o OCTET STRING ! 142: }, ! 143: set-c3 SET { ! 144: set-c3-in Expl-Tags, ! 145: set-c3-i INTEGER, ! 146: set-c3-o OCTET STRING ! 147: }, ! 148: i-c3 INTEGER ! 149: }, ! 150: c4 [12] IMPLICIT SEQUENCE { ! 151: c4-choice CHOICE { ! 152: c4-i INTEGER, ! 153: c4-obj [2] IMPLICIT Expl-Tags, ! 154: c4-subch CHOICE { ! 155: sc-a-i [0] IMPLICIT INTEGER, ! 156: sc-b-i [1] IMPLICIT INTEGER ! 157: } ! 158: } ! 159: } ! 160: ! 161: ! 162: } ! 163: ! 164: -- Test of Optional fields ! 165: ! 166: Opt-Strings ::= SEQUENCE { ! 167: a-opt INTEGER OPTIONAL, ! 168: b-opt OCTET STRING, ! 169: c-opt BIT STRING OPTIONAL, ! 170: d-opt BOOLEAN OPTIONAL, ! 171: e-opt NULL OPTIONAL, ! 172: big-opt Strings OPTIONAL, ! 173: emb-opt SEQUENCE { ! 174: oem-int INTEGER OPTIONAL, ! 175: oem-oct OCTET STRING OPTIONAL, ! 176: oem-bit BIT STRING OPTIONAL ! 177: } OPTIONAL, ! 178: st-opt SET { ! 179: st-int0 [0] IMPLICIT INTEGER OPTIONAL, ! 180: st-int1 [1] IMPLICIT INTEGER OPTIONAL, ! 181: st-int2 [2] IMPLICIT INTEGER OPTIONAL ! 182: } OPTIONAL, ! 183: obj-opt [APPLICATION 1] IMPLICIT MPDU OPTIONAL, ! 184: etag-opt [APPLICATION 2] INTEGER OPTIONAL, ! 185: ch-opt CHOICE { ! 186: ch-1 [10] IMPLICIT INTEGER, ! 187: ch-2 [20] IMPLICIT INTEGER ! 188: } OPTIONAL ! 189: } ! 190: ! 191: -- Test of Default fields ! 192: ! 193: Def-Strings ::= SEQUENCE { ! 194: a-def INTEGER { a-def-0 (0), a-def-1(1) } DEFAULT a-def-0, ! 195: -- posy bug does not allow handling of 'xxx'b or 'xx'h notation ! 196: -- so we don't use proper posy notation ! 197: -- b-def OCTET STRING DEFAULT 'ff01ab20'h, ! 198: b-def PrintableString DEFAULT "hello, world", ! 199: c-def BIT STRING { c-def-one(3), c-def-two (1)} ! 200: DEFAULT { c-def-one }, ! 201: okay BOOLEAN DEFAULT TRUE, ! 202: e-def NULL DEFAULT NULL, ! 203: big-def Strings, ! 204: emb-def SEQUENCE { ! 205: colour INTEGER { red(1), green(2), yellow(3) } DEFAULT green, ! 206: oem-oct OCTET STRING OPTIONAL, ! 207: version BIT STRING { basic(0), patch1(1), patch2(2) } ! 208: DEFAULT { basic } ! 209: } DEFAULT { red, { basic } }, ! 210: st-def SET { ! 211: wine [0] IMPLICIT INTEGER { claret(1), burgundy(2), moselle(3) } ! 212: DEFAULT claret, ! 213: beer [1] IMPLICIT INTEGER { vb(0), fosters(1), hieneken(2) } ! 214: DEFAULT vb, ! 215: spirit [2] IMPLICIT INTEGER { brandy(0), vodka(1), wisky(2) } ! 216: DEFAULT vodka ! 217: } DEFAULT { vb, vodka } ! 218: } ! 219: ! 220: -- External References ! 221: -- ! 222: E-ref ::= SEQUENCE { ! 223: a-ref T2.Info, ! 224: b-ref [APPLICATION 33] IMPLICIT T2.Info, ! 225: c-ref [1] T1.Choice-Test, ! 226: d-ref [2] T2.Info OPTIONAL, ! 227: e-ref [APPLICATION 33] IMPLICIT T2.Info OPTIONAL ! 228: } ! 229: ! 230: ! 231: -- Simple type optimisations of POSY/PEPY ! 232: ! 233: Bstring ::= [APPLICATION 8] BIT STRING ! 234: ! 235: Ostring ::= [31] IMPLICIT OCTET STRING ! 236: ! 237: Obj ::= [101] IMPLICIT MPDU ! 238: ! 239: Sset ::= SET ! 240: ! 241: Sseq ::= SEQUENCE ! 242: ! 243: Sany ::= ANY ! 244: ! 245: Soid ::= OBJECT IDENTIFIER ! 246: ! 247: ! 248: Optimised ::= SEQUENCE { ! 249: o1 Bstring, ! 250: o2 Ostring, ! 251: o3 Obj, ! 252: o4 [APPLICATION 3] IMPLICIT Sset OPTIONAL, ! 253: [APPLICATION 21] SET { ! 254: o5 [PRIVATE 9] IMPLICIT Sseq, ! 255: o6 [PRIVATE 33] IMPLICIT Sany, ! 256: o7 [PRIVATE 8] IMPLICIT Soid ! 257: } ! 258: } ! 259: ! 260: -- Use of External Simple types ! 261: Ext-Opt ::= SEQUENCE { ! 262: o1 T2.Bstring, ! 263: o2 T2.Ostring, ! 264: o3 T2.Obj, ! 265: o4 [PRIVATE 38] IMPLICIT T2.Sset OPTIONAL, ! 266: [APPLICATION 21] SET { ! 267: o5 [PRIVATE 1] IMPLICIT T2.Sseq, ! 268: o6 [PRIVATE 2] IMPLICIT T2.Sany, ! 269: o7 [PRIVATE 3] IMPLICIT T2.Soid ! 270: } ! 271: } ! 272: ! 273: -- External type and ANY usage ! 274: ! 275: Ext-typ ::= SEQUENCE { ! 276: ext EXTERNAL, ! 277: a-ny [APPLICATION 32] ANY, ! 278: ext-impl [PRIVATE 6] IMPLICIT EXTERNAL, ! 279: any-impl [APPLICATION 7] ANY, ! 280: ext-expl [PRIVATE 9] EXTERNAL, ! 281: any-expl [APPLICATION 10] ANY ! 282: } ! 283: ! 284: SExt ::= [PRIVATE 99] IMPLICIT EXTERNAL ! 285: ! 286: -- check of posy's %[ name $ head %] stuff ! 287: Names ::= ! 288: SEQUENCE { ! 289: SEQUENCE %[ seq_str $ ptr %] { ! 290: fred [0] IMPLICIT INTEGER ! 291: } ! 292: } ! 293: ! 294: -- Test explicit tags as the first field of an object ! 295: Etags ::= ! 296: [APPLICATION 3] ! 297: CHOICE { ! 298: aE [0] IMPLICIT INTEGER, ! 299: bE [1] IMPLICIT INTEGER ! 300: } ! 301: ! 302: Stest ::= ! 303: [APPLICATION 4] SET { ! 304: st1 Sint DEFAULT 33, ! 305: st2 Soctet DEFAULT "goodbye, world" ! 306: } ! 307: ! 308: Sint ::= INTEGER ! 309: ! 310: Soctet ::= OCTET STRING ! 311: ! 312: Simpl-test ::= SEQUENCE { si-t [23] IMPLICIT Sbstring } ! 313: ! 314: Sbstring ::= BIT STRING { bit0(0), bit1(1), bit2(2) } ! 315: ! 316: SStest ::= [101] IMPLICIT Simpl-test ! 317: ! 318: Enum-type ::= ENUMERATED { pork(0), beef(1), chicken(3), lamb(-1) } ! 319: ! 320: T-enum ::= SEQUENCE { ! 321: ae1 Enum-type, ! 322: ae2 [12] Enum-type, ! 323: ae3 [13] IMPLICIT Enum-type, ! 324: ae4 [15] IMPLICIT Enum-type DEFAULT chicken, ! 325: ae5 Enum-type OPTIONAL ! 326: } ! 327: Real ::= REAL ! 328: ! 329: T-real ::= SEQUENCE { ! 330: r1 Real, ! 331: r2 [99] Real, ! 332: r3 [101] IMPLICIT Real, ! 333: r4 [501] IMPLICIT Real DEFAULT { 31415962, 10, -7 }, ! 334: r5 Real OPTIONAL ! 335: } ! 336: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.