diff options
author | Lev Walkin <vlm@lionet.info> | 2017-09-06 10:53:39 -0700 |
---|---|---|
committer | Lev Walkin <vlm@lionet.info> | 2017-09-06 10:53:39 -0700 |
commit | 61b660f541c4edda03f6db79cde509011bbab82c (patch) | |
tree | d862e9b0961f2eee1f176244bcb1c31c327e3fef /README.md | |
parent | 774fbdc832bac6eb34db23d9893f6abdba016c64 (diff) |
standards interoperability table
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -14,6 +14,39 @@ The ASN.1 standard is large and complex and no open source compiler supports it in its entirety. The asn1c is arguably the most evolved open source ASN.1 compiler. +# ASN.1 Transfer Syntaxes +<details> +<summary>ASN.1 encodings interoperability table</summary> + +The ASN.1 family of standards define a number of ways to encode data, +including byte-oriented (e.g., BER), bit-oriented (e.g., PER), +and textual (e.g., XER). Some encoding variants (e.g., DER) are just stricter +variants of the more general encodings (e.g., BER). + +The interoperability table below specifies which API functions can be used +to exchange data in a compatible manner. If you need to _produce_ data +conforming to the standard specified in the column 1, +use the API function in the column 2. +If you need to _process_ data conforming to the standard(s) specified in the +column 3, use the API function specified in column 4. +See the `asn1c-usage.pdf` for details. + +Encoding | API function | Understood by | API function +-------------- | ------------------ | ------------- | ------------- +BER | der_encode() | BER | ber_decode() +DER | der_encode() | DER, BER | ber_decode() +CER | _not supported_ | CER, BER | ber_decode() +BASIC-OER | oer_encode() | *-OER | oer_decode() +CANONICAL-OER | oer_encode() | *-OER | oer_decode() +BASIC-UPER | uper_encode() | *-UPER | uper_decode() +CANONICAL-UPER | uper_encode() | *-UPER | uper_decode() +*-APER | _not supported_ | *-APER | _not supported_ +BASIC-XER | xer_encode(XER_F_BASIC) | *-XER | xer_decode() +CANONICAL-XER | xer_encode(XER_F_CANONICAL)| *-XER | xer_decode() + +*) Asterisk means both BASIC and CANONICAL variants. +</details> + # Build and Install If you haven't installed the asn1c yet, read the [INSTALL.md](INSTALL.md) file |