Created with colorer-take5 library. Type 'asn1'

--
-- @(#) IvmaiAsn-ECN-USEFUL.edm - ECN built-in encoding classes def.
-- (c) 2002 Ivan Maidanski <ivmai@mail.ru>
-- Free specification (GNU GPL). No warranties. All rights reserved.
-- -
-- Project: IvmaiAsn ASN1/ECN/XDR Tools
-- Language: ECN:2002
-- Tested with: OSS ASN.1 and ECN Syntax Checker Version 8.2
-- --

--
-- This ECN module defines the built-in non-primitive (derivable)
-- encoding classes of ECN:2002 (Encoding Control Notation)
-- precisely as specified by the ITU-T X.692 and X.680 documents.
-- This file could be used as an integral part of an ECN compiler.
-- --

--
-- Normative references:
-- - ITU-T Recommendation X.680 (2002) | ISO/IEC 8824-1:2002,
-- Information technology - Abstract Syntax Notation One (ASN.1):
-- Specification of basic notation.
-- - ITU-T Draft Recommendation X.692 (2002) | ISO/IEC 8825-3:2002,
-- Information technology - ASN.1 encoding rules: Specification
-- of Encoding Control Notation (ECN).
-- --

IvmaiAsn-ECN-USEFUL
ENCODING-DEFINITIONS ::= BEGIN

--
-- Note: A trailing '0' char for names shall be ignored.
-- --

EXPORTS
        #BIT-STRING0,
        #BMPString0,
        #BOOLEAN0,
        #CHARACTER-STRING0,
        #CHOICE0,
        #EMBEDDED-PDV0,
        #ENUMERATED0,
        #EXTERNAL0,
        #GeneralString0,
        #GeneralizedTime0,
        #GraphicString0,
        #IA5String0,
        #INTEGER0,
        #NULL0,
        #NumericString0,
        #OCTET-STRING0,
        #ObjectDescriptor0,
        #PrintableString0,
        #RELATIVE-OID0,
        #SEQUENCE0,
        #SEQUENCE-OF0,
        #SET0,
        #SET-OF0,
        #TeletexString0,
        #UTCTime0,
        #UTF8String0,
        #UniversalString0,
        #VideotexString0,
        #VisibleString0;

IMPORTS;

#CHOICE0 ::= #ALTERNATIVES

#BIT-STRING0 ::= #BITS

#BOOLEAN0 ::= #BOOL

#SEQUENCE0 ::= #CONCATENATION

#SET0 ::= #CONCATENATION

#ENUMERATED0 ::= #INT

#INTEGER0 ::= #INT

#NULL0 ::= #NUL

#RELATIVE-OID0 ::= #OBJECT-IDENTIFIER

#OCTET-STRING0 ::= #OCTETS

#SEQUENCE-OF0 ::= #REPETITION

#SET-OF0 ::= #REPETITION

#UniversalString0 ::= #CHARS

#BMPString0 ::= #CHARS

#UTF8String0 ::= #CHARS

#IA5String0 ::= #CHARS

#VisibleString0 ::= #CHARS

#PrintableString0 ::= #CHARS

#NumericString0 ::= #CHARS

#GeneralString0 ::= #CHARS

#GraphicString0 ::= #CHARS

#TeletexString0 ::= #CHARS

#VideotexString0 ::= #CHARS

#GeneralizedTime0 ::= #CHARS

#UTCTime0 ::= #CHARS

#ObjectDescriptor0 ::= #CHARS

#EXTERNAL0 ::= #SEQUENCE {
        identification #CHOICE {
                syntaxes #SEQUENCE {
                        abstract #OBJECT-IDENTIFIER,
                        transfer #OBJECT-IDENTIFIER },
                syntax #OBJECT-IDENTIFIER,
                presentation-context-id #INTEGER0,
                context-negotiation #SEQUENCE {
                        presentation-context-id #INTEGER0,
                        transfer-syntax #OBJECT-IDENTIFIER },
                transfer-syntax #OBJECT-IDENTIFIER,
                fixed #NULL0 },
        data-value-descriptor #ObjectDescriptor0 OPTIONAL-ENCODING #OPTIONAL,
        data-value #OCTET-STRING0 }

#EMBEDDED-PDV0 ::= #SEQUENCE {
        identification #CHOICE {
                syntaxes #SEQUENCE {
                        abstract #OBJECT-IDENTIFIER,
                        transfer #OBJECT-IDENTIFIER },
                syntax #OBJECT-IDENTIFIER,
                presentation-context-id #INTEGER0,
                context-negotiation #SEQUENCE {
                        presentation-context-id #INTEGER0,
                        transfer-syntax #OBJECT-IDENTIFIER },
                transfer-syntax #OBJECT-IDENTIFIER,
                fixed #NULL0 },
        data-value-descriptor #ObjectDescriptor0 OPTIONAL-ENCODING #OPTIONAL,
        data-value #OCTET-STRING0 }

#CHARACTER-STRING0 ::= #SEQUENCE {
        identification #CHOICE {
                syntaxes #SEQUENCE {
                        abstract #OBJECT-IDENTIFIER,
                        transfer #OBJECT-IDENTIFIER },
                syntax #OBJECT-IDENTIFIER,
                presentation-context-id #INTEGER0,
                context-negotiation #SEQUENCE {
                        presentation-context-id #INTEGER0,
                        transfer-syntax #OBJECT-IDENTIFIER },
                transfer-syntax #OBJECT-IDENTIFIER,
                fixed #NULL0 },
        data-value-descriptor #ObjectDescriptor0 OPTIONAL-ENCODING #OPTIONAL,
        string-value #OCTET-STRING0 }

-- #DEFAULT ::= #OPTIONAL

END