DataView.asn 1.04 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
TASTE-Dataview DEFINITIONS ::=
BEGIN
IMPORTS T-Int32, T-UInt32, T-Int8, T-UInt8, T-Boolean FROM TASTE-BasicTypes;

TASTE-Boolean ::= BOOLEAN

T-SEQ ::= SEQUENCE {
    anInt INTEGER (0 .. 10),
    aFloat REAL (0.0 .. 10.0),
    anArray SEQUENCE(SIZE(3)) OF REAL (0.0 .. 10.0)
}

-- ASN.1 Type definitions must start with an uppercase
-- Field names in records (SEQUENCE) must start with a lowercase
-- Underscores are not allowed: use dash (hyphen) 

-- Simple types:

-- MyInteger   ::= INTEGER (0..255)
-- MyReal      ::= REAL (0.0 .. 1000.0)
-- MyBool      ::= BOOLEAN
-- MyEnum      ::= ENUMERATED { hello, world, how-are-you }

-- Complex types:

--  MySeq       ::= SEQUENCE {
--      input-data  MyInteger,
--      output-data MyInteger,
--      validity    ENUMERATED { valid, invalid }
--  }
--
--  MyChoice    ::= CHOICE {
--      a BOOLEAN,
--      b MySeq
--  }
--
--  MySeqOf     ::= SEQUENCE (SIZE (2)) OF MyEnum
--
--  MyOctStr    ::= OCTET STRING (SIZE (3))
--
--  -- You can also declare constants
--  myVar       MySeqOf     ::= { hello, world }

END