The -asnstd
option allows you to choose the
revision of the ASN.1 standards you want to generate code for. This
section explains the differences for these options.
-asnstd x680
This is the default option.
This option indicates ASN1C should follow the latest revision of the X.680 and X.690 series that is supported by the tool.
-asnstd x680-2021
Follows the 2021 revision of the X.680/X.690 series.
PER encoding of BIT STRINGs with contents constraints: The BIT STRING is padded to a multiple of 8 bits for aligned PER only.
JER encoding of BIT STRING and OCTET STRING with contents constraints: an encoder's option using a JSON object with a 'containing' key was added in this revision. The encoder will use this encoder's option and the decoder will decode values encoded using either option.
-asnstd x680-2015
Follows the 2015 revision of the X.680/X.690 series.
PER encoding of BIT STRINGs with contents constraints: There is no padding of the BIT STRING value.
-asnstd x680-2008
Follows the 2008 revision of the X.680/X.690 series.
PER encoding of BIT STRINGs with contents constraints: The BIT STRING is padded to a multiple of 8 bits for both aligned and unaligned PER.
-asnstd mixed
Used when source files contain modules with both X.208- and X.680-based syntax.
-asnstd x208
This option supports the deprecated X.208 and X.209 standards.
Allows use of type 'ANY' (not part of X.680).
Allows unnamed fields in SEQUENCE, SET, and CHOICE constructs (not allowed by X.680).
Allows use of ROSE OPERATION and ERROR macros and SNMP OBJECTTYPE macros (macros are not a feature of X.680).