(* $Workfile:   common.xv2  $ $Revision:   1.4  $ *)
(* COMMON.TPL *)
(*****************************************************************************)
(* ASN.1 COMMON DATA-TYPE TEMPLATE                                           *)
(*****************************************************************************)

(* Extension Fields                                                          *)

ExtensionType              LABEL     = Cxtyp               T=special case
                         # STRUCTURE = INTEGER

Criticality                LABEL     = Ccrtc               T=special case
                           STRUCTURE = BITSTRING

(* Primitives                                                                *)

Boolean                    LABEL     = Cbool
                           STRUCTURE = BOOLEAN

Integer                    LABEL     = Cintg
                           STRUCTURE = INTEGER

Integer (OM enumerated)    LABEL     = Cinte
                           STRUCTURE = INTEGER

Real                       LABEL     = Creal
                           STRUCTURE = REAL

Bitstring                  LABEL     = Cbits
                           STRUCTURE = BITSTRING

OctetString                LABEL     = Cocts
                           STRUCTURE = OCTETSTRING

Null                       LABEL     = Cnull
                           STRUCTURE = NULL

ObjectIdentifier           LABEL     = Cobid
                           STRUCTURE = OBJECT IDENTIFIER

NumericString              LABEL     = Cnumc
                           STRUCTURE = NUMERIC STRING

PrintableString            LABEL     = Cptbl
                           STRUCTURE = PRINTABLE STRING

TeletexString              LABEL     = Ctexs
                           STRUCTURE = TELETEX STRING

VideotexString             LABEL     = Cvide
                           STRUCTURE = VIDEOTEX STRING

VisibleString              LABEL     = Cvisb
                           STRUCTURE = VISIBLE STRING

IA5String                  LABEL     = Cia5s               T=IM_TEXT
                           STRUCTURE = IA5 STRING

GraphicString              LABEL     = Cgphs
                           STRUCTURE = GRAPHIC STRING

GeneralString              LABEL     = Cgens
                           STRUCTURE = GENERAL STRING

GeneralisedTime            LABEL     = Cgent
                           STRUCTURE = GENERALIZED TIME

UTCTime                    LABEL     = Cutct
                           STRUCTURE = UTC TIME

ObjectDescriptor           LABEL     = Cobds
                           STRUCTURE = OBJECT DESCRIPTOR

Enumerated                 LABEL     = Cenum
                           STRUCTURE = ENUMERATED
(* External *)

External                   LABEL     = Cextn
                           STRUCTURE = SEQUENCE            C=OM_C_EXTERNAL
                           TAG       = (U 8 C)
                           CHILDREN  = { <Cdref, U 6 P,O,0>,
                                         <Ciref, U 2 P,O,0>,
                                         <Cdvds, U 7 P,O,0>,
                                         <Cencd, U 0 P,O,0> }

Direct Reference           LABEL     = Cdref               T=OM_DIRECT_REFERENC
                           STRUCTURE = OBJECT IDENTIFIER

Indirect Reference         LABEL     = Ciref               T=OM_INDIRECT..
                           STRUCTURE = INTEGER

Data Value Descriptor      LABEL     = Cdvds               T=OM_OBJECT_DESC..
                           STRUCTURE = OBJECT DESCRIPTOR

Encoding                   LABEL     = Cencd               T=special_case
                           STRUCTURE = UNTAGGED CHOICE
                           CHILDREN  = { <Casn1, C 0 C,O,0>,
                                         <Cocta, C 1 P,O,0>,
                                         <Carbi, C 2 P,O,0>D  }

Single ASN.1 Type          LABEL     = Casn1               T=special_case
                           STRUCTURE = ANY
                           TAG       = (C 0 C)
                           CHILDREN  = { }

Octet Aligned              LABEL     = Cocta               T=OM_OCTET_ALIGNED..
                           STRUCTURE = OCTETSTRING

Arbitrary                  LABEL     = Carbi               T=OM_ARBITRARY_ENC..
                           STRUCTURE = BIT STRING
!
