ITU-T Rec. X.692 (03/2002) Information technology - ASN.1 encoding rules: Specification of Encoding Control Notation (ECN) Summary Source FOREWORD CONTENTS Introduction 1 Scope 2 Normative references 2.1 Identical Recommendations | International Standards 2.2 Additional references 3 Definitions 3.1 ASN.1 definitions 3.2 ECN-specific definitions 4 Abbreviations 5 Definition of ECN syntax 6 Encoding conventions and notation 7 The ECN character set 8 ECN lexical items 8.1 Encoding object references 8.2 Encoding object set references 8.3 Encoding class references 8.4 Reserved word items 8.5 Reserved encoding class name items 8.6 Non-ECN item 9 ECN Concepts 9.1 Encoding Control Notation (ECN) specifications 9.2 Encoding classes 9.3 Encoding structures 9.4 Encoding objects 9.5 Encoding object sets 9.6 Defining new encoding classes 9.7 Defining encoding objects 9.8 Differential encoding-decoding 9.9 Encoders options in encodings 9.10 Properties of encoding objects 9.11 Parameterization 9.12 Governors 9.13 General aspects of encodings 9.14 Identification of information elements 9.15 Reference fields and determinants 9.16 Replacement classes and structures 9.17 Mapping abstract values onto fields of encoding structures 9.18 Transforms and transform composites 9.19 Contents of Encoding Definition Modules 9.20 Contents of the Encoding Link Module 9.21 Defining encodings for primitive encoding classes 9.22 Application of encodings 9.23 Combined encoding object set 9.24 Application point 9.25 Conditional encodings 9.26 Changes to ASN.1 Recommendations | International Standards 10 Identifying encoding classes, encoding objects, and encoding object sets 11 Encoding ASN.1 types 11.1 General 11.2 Built-in encoding classes used for implicitly generated encoding structures 11.3 Simplification and expansion of ASN.1 notation for encoding purposes 11.4 The implicitly generated encoding structure 12 The Encoding Link Module (ELM) 12.1 Structure of the ELM 12.2 Encoding types 13 Application of encodings 13.1 General 13.2 The combined encoding object set and its application 14 The Encoding Definition Module (EDM) 15 The renames clause 15.1 Explicitly generated and exported structures 15.2 Name changes 15.3 Specifying the region for name changes 16 Encoding class assignments 16.1 General 16.2 Encoding structure definition 16.3 Alternative encoding structure 16.4 Repetition encoding structure 16.5 Concatenation encoding structure 17 Encoding object assignments 17.1 General 17.2 Encoding with a defined syntax 17.3 Encoding with encoding object sets 17.4 Encoding using value mappings 17.5 Encoding an encoding structure 17.6 Differential encoding-decoding 17.7 Encoding options 17.8 Non-ECN definition of encoding objects 18 Encoding object set assignments 18.1 General 18.2 Built-in encoding object sets 19 Mapping values 19.1 General 19.2 Mapping by explicit values 19.3 Mapping by matching fields 19.4 Mapping by #TRANSFORM encoding objects 19.5 Mapping by abstract value ordering 19.6 Mapping by value distribution 19.7 Mapping integer values to bits 20 Defining encoding objects using defined syntax 21 Types used in defined syntax specification 21.1 The Unit type 21.2 The EncodingSpaceSize type 21.3 The EncodingSpaceDetermination type 21.4 The UnusedBitsDetermination type 21.5 The OptionalityDetermination type 21.6 The AlternativeDetermination type 21.7 The RepetitionSpaceDetermination type 21.8 The Justification type 21.9 The Padding type 21.10 The Pattern and Non-Null-Pattern types 21.11 The RangeCondition type 21.12 The SizeRangeCondition type 21.13 The ReversalSpecification type 21.14 The ResultSize type 21.15 The HandleValue type 22 Commonly used encoding property groups 22.1 Replacement specification 22.2 Pre-alignment and padding specification 22.3 Start pointer specification 22.4 Encoding space specification 22.5 Optionality determination 22.6 Alternative determination 22.7 Repetition space specification 22.8 Value padding and justification 22.9 Identification handle specification 22.10 Concatenation specification 22.11 Contained type encoding specification 22.12 Bit reversal specification 23 Defined syntax specification for bit-field and constructor classes 23.1 Defining encoding objects for classes in the alternatives category 23.2 Defining encoding objects for classes in the bitstring category 23.3 Defining encoding objects for classes in the boolean category 23.4 Defining encoding objects for classes in the characterstring category 23.5 Defining encoding objects for classes in the concatenation category 23.6 Defining encoding objects for classes in the integer category 23.7 Defining encoding objects for the #CONDITIONAL-INT class 23.8 Defining encoding objects for classes in the null category 23.9 Defining encoding objects for classes in the octetstring category 23.10 Defining encoding objects for classes in the optionality category 23.11 Defining encoding objects for classes in the pad category 23.12 Defining encoding objects for classes in the repetition category 23.13 Defining encoding objects for the #CONDITIONAL-REPETITION class 23.14 Defining encoding objects for classes in the tag category 23.15 Defining encoding objects for classes in the other categories 24 Defined syntax specification for the #TRANSFORM encoding class 24.1 Summary of encoding properties and defined syntax 24.2 Source and target of transforms 24.3 The int-to-int transform 24.4 The bool-to-bool transform 24.5 The bool-to-int transform 24.6 The int-to-bool transform 24.7 The int-to-chars transform 24.8 The int-to-bits transform 24.9 The bits-to-int transform 24.10 The char-to-bits transform 24.11 The bits-to-char transform 24.12 The bit-to-bits transform 24.13 The bits-to-bits transform 24.14 The chars-to-composite-char transform 24.15 The bits-to-composite-bits transform 24.16 The octets-to-composite-bits transform 24.17 The composite-char-to-chars transform 24.18 The composite-bits-to-bits transform 24.19 The composite-bits-to-octets transform 25 Complete encodings and the #OUTER class 25.1 Encoding properties, syntax and purpose for the #OUTER class 25.2 Encoder actions for #OUTER 25.3 Decoder actions for #OUTER Annex A - Addendum to ITU-T Rec. X.680 | ISO/IEC 8824-1 A.1 Exports and imports clauses A.2 Addition of REFERENCE A.3 Notation for character string values Annex B - Addendum to ITU-T Rec. X.681 | ISO/IEC 8824-2 B.1 Definitions B.2 Additional lexical items B.3 Addition of "ENCODING-CLASS" B.4 FieldSpec additions B.5 Fixed-type ordered value list field spec B.6 Fixed-class encoding object field spec B.7 Variable-class encoding object field spec B.8 Fixed-class encoding object set field spec B.9 Fixed-class ordered encoding object list field spec B.10 Encoding class field spec B.11 Ordered value list notation B.12 Ordered encoding object list notation B.13 Primitive field names B.14 Additional reserved words B.15 Definition of encoding objects B.16 Additions to "Setting" B.17 Encoding class field type Annex C - Addendum to ITU-T Rec. X.683 | ISO/IEC 8824-4 C.1 Parameterized assignments C.2 Parameterized encoding assignments C.3 Referencing parameterized definitions C.4 Actual parameter list Annex D - Examples D.1 General examples D.2 Specialization examples D.3 Explicitly generated structure examples D.4 A more-bit encoding example D.5 Legacy protocol specified with tabular notation Annex E - Support for Huffman encodings Annex F - Additional information on the Encoding Control Notation (ECN) Annex G - Summary of the ECN notation G.1 Terminal symbols G.2 Productions