Bi-Ruei, Chiu | bc6ef1f | 2017-10-20 22:38:01 +0800 | [diff] [blame^] | 1 | |
| 2 | -- OK: Everything is fine |
| 3 | |
| 4 | -- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) |
| 5 | -- .spelio.software.asn1c.test (9363.1.5.1) |
| 6 | -- .155 |
| 7 | |
| 8 | ModuleParameterizationMoreThanTwoLevel |
| 9 | { iso org(3) dod(6) internet(1) private(4) enterprise(1) |
| 10 | spelio(9363) software(1) asn1c(5) test(1) 155 } |
| 11 | DEFINITIONS ::= BEGIN |
| 12 | |
| 13 | id-TYPE1 PacketId ::= 1 |
| 14 | |
| 15 | PacketId ::= INTEGER (0..65535) |
| 16 | |
| 17 | Color ::= ENUMERATED { red(0), green, blue } |
| 18 | |
| 19 | Valid ::= ENUMERATED { crc-nok, crc-ok(1) } |
| 20 | |
| 21 | PACKET ::= CLASS { |
| 22 | &id PacketId UNIQUE, |
| 23 | &color Color, |
| 24 | &Value, |
| 25 | &valid Valid |
| 26 | } |
| 27 | WITH SYNTAX { |
| 28 | ID &id |
| 29 | COLOR &color |
| 30 | TYPE &Value |
| 31 | VALID &valid |
| 32 | } |
| 33 | |
| 34 | ClassItem PACKET ::= { |
| 35 | { ID id-TYPE1 COLOR blue TYPE OCTET STRING VALID crc-ok }, |
| 36 | ... |
| 37 | } |
| 38 | |
| 39 | Packet-List ::= UpperLayer-List { {ClassItem} } |
| 40 | |
| 41 | UpperLayer-List {PACKET : Param} ::= LowerLayer-List { 1, max-items, {Param} } |
| 42 | |
| 43 | LowerLayer-List {INTEGER : low, INTEGER : high, PACKET : Param} ::= |
| 44 | SEQUENCE (SIZE (low..high)) OF |
| 45 | SinglePacket {{Param}} |
| 46 | |
| 47 | SinglePacket {PACKET : Param} ::= |
| 48 | Packet {{Param}} |
| 49 | |
| 50 | Packet {PACKET : Param} ::= SEQUENCE { |
| 51 | id PACKET.&id ({Param}), |
| 52 | color PACKET.&color ({Param}{@id}), |
| 53 | value PACKET.&Value ({Param}{@id}) |
| 54 | } |
| 55 | |
| 56 | max-items INTEGER ::= 256 |
| 57 | |
| 58 | END |