EMBEDDED PDV

The ASN.1 EMBEDDED PDV type is a useful type used to include non-ASN.1 or other data within an ASN.1 encoded message. This type is described using the following ASN.1 SEQUENCE:

   EmbeddedPDV ::= [UNIVERSAL 11] IMPLICIT SEQUENCE {
      identification CHOICE {
         syntaxes SEQUENCE {
            abstract OBJECT IDENTIFIER,
            transfer OBJECT IDENTIFIER
         },
         syntax OBJECT IDENTIFIER,
         presentation-context-id INTEGER,
         context-negotiation SEQUENCE {
            presentation-context-id INTEGER,
            transfer-syntax OBJECT IDENTIFIER
         },
         transfer-syntax OBJECT IDENTIFIER,
         fixed NULL
      },
      data-value-descriptor ObjectDescriptor OPTIONAL,
      data-value OCTET STRING
   }( WITH COMPONENTS { ... , data-value-descriptor ABSENT})

The ASN1C compiler is used to create a meta-definition for this structure. This code will be always generated in the Asn1EmbeddedPDV.h and Asn1EmbeddedPDV.c/cpp files. The code will only be generated if the given ASN.1 source specification requires this definition. The resulting C structure is populated just like any other compiler-generated structure for working with ASN.1 data.

[Note] Note

NOTE: It is recommended that if a specification contains multiple ASN.1 source files that reference EMBEDDEDPDV, all of these source files be compiled with a single ASN1C call in order to ensure that only a singled copy of the Asn1EmbeddedPDV source files are generated.