standards interoperability table
diff --git a/doc/man/asn1c.1 b/doc/man/asn1c.1
index 54c2337..3c58e6c 100644
--- a/doc/man/asn1c.1
+++ b/doc/man/asn1c.1
@@ -1,7 +1,8 @@
-.\" Automatically generated by Pandoc 1.16.0.2
+.\"t
+.\" Automatically generated by Pandoc 1.19.2.1
 .\"
 .ad l
-.TH "asn1c" "1" "2016\-01\-23" "ASN.1 Compiler" "Version 0.9.28"
+.TH "asn1c" "1" "2017\-09\-01" "ASN.1 Compiler" "Version 0.9.29"
 .nh \" Turn off hyphenation by default.
 .SH NAME
 .PP
@@ -30,8 +31,8 @@
 .SH DESCRIPTION
 .PP
 asn1c compiles ASN.1 specifications into a set of target language
-(C/C++) encoders and decoders for BER, DER, PER, XER and other encoding
-rules.
+(C/C++) encoders and decoders for BER, DER, PER, XER, OER and other
+encoding rules.
 .SH OPTIONS
 .SS Stage Selection Options
 .TP
@@ -163,6 +164,11 @@
 .RE
 .SS Codecs Generation Options
 .TP
+.B \-gen\-OER
+Generate the Octet Encoding Rules (OER) support code.
+.RS
+.RE
+.TP
 .B \-gen\-PER
 Generate the Packed Encoding Rules (PER) support code.
 .RS
@@ -192,6 +198,128 @@
 Generate "\f[C]\-\-\ #line\f[]" comments in \f[B]\-E\f[] output.
 .RS
 .RE
+.SH TRANSFER SYNTAXES
+.PP
+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).
+.PP
+The interoperability table below specifies which API functions can be
+used to exchange data in a compatible manner.
+If you need to \f[I]produce\f[] data conforming to the standard
+specified in the column 1, use the API function in the column 2.
+If you need to \f[I]process\f[] data conforming to the standard(s)
+specified in the column 3, use the API function specified in column 4.
+See the \f[C]asn1c\-usage.pdf\f[] for details.
+.PP
+.TS
+tab(@);
+lw(14.6n) lw(18.5n) lw(13.6n) lw(13.6n).
+T{
+Encoding
+T}@T{
+API function
+T}@T{
+Understood by
+T}@T{
+API function
+T}
+_
+T{
+BER
+T}@T{
+der_encode()
+T}@T{
+BER
+T}@T{
+ber_decode()
+T}
+T{
+DER
+T}@T{
+der_encode()
+T}@T{
+DER, BER
+T}@T{
+ber_decode()
+T}
+T{
+CER
+T}@T{
+\f[I]not supported\f[]
+T}@T{
+CER, BER
+T}@T{
+ber_decode()
+T}
+T{
+BASIC\-OER
+T}@T{
+oer_encode()
+T}@T{
+*\-OER
+T}@T{
+oer_decode()
+T}
+T{
+CANONICAL\-OER
+T}@T{
+oer_encode()
+T}@T{
+*\-OER
+T}@T{
+oer_decode()
+T}
+T{
+BASIC\-UPER
+T}@T{
+uper_encode()
+T}@T{
+*\-UPER
+T}@T{
+uper_decode()
+T}
+T{
+CANONICAL\-UPER
+T}@T{
+uper_encode()
+T}@T{
+*\-UPER
+T}@T{
+uper_decode()
+T}
+T{
+*\-APER
+T}@T{
+\f[I]not supported\f[]
+T}@T{
+*\-APER
+T}@T{
+\f[I]not supported\f[]
+T}
+T{
+BASIC\-XER
+T}@T{
+xer_encode(...)
+T}@T{
+*\-XER,
+T}@T{
+xer_decode()
+T}
+T{
+CANONICAL\-XER
+T}@T{
+xer_encode (XER_F_CANONICAL)
+T}@T{
+*\-XER,
+T}@T{
+xer_decode()
+T}
+.TE
+.PP
+*) Asterisk means both BASIC and CANONICAL variants.
 .SH SEE ALSO
 .PP
 \f[C]unber\f[](1), \f[C]enber\f[](1).
diff --git a/doc/man/asn1c.man.md b/doc/man/asn1c.man.md
index afec71f..1ad40a6 100644
--- a/doc/man/asn1c.man.md
+++ b/doc/man/asn1c.man.md
@@ -1,6 +1,6 @@
 % asn1c(1) ASN.1 Compiler
 % Lev Walkin <vlm@lionet.info>
-% 2016-01-23
+% 2017-09-01
 
 # NAME
 
@@ -18,7 +18,7 @@
 # DESCRIPTION
 
 asn1c compiles ASN.1 specifications into a set of
-target language (C/C++) encoders and decoders for BER, DER, PER, XER
+target language (C/C++) encoders and decoders for BER, DER, PER, XER, OER
 and other encoding rules.
 
 # OPTIONS
@@ -111,6 +111,9 @@
 
 ## Codecs Generation Options
 
+-gen-OER
+:   Generate the Octet Encoding Rules (OER) support code.
+
 -gen-PER
 :   Generate the Packed Encoding Rules (PER) support code.
 
@@ -134,6 +137,49 @@
 -print-lines
 :   Generate "`-- #line`" comments in **-E** output.
 
+# TRANSFER SYNTAXES
+
+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,        xer_decode()
+
+CANONICAL-XER  xer_encode         *-XER,        xer_decode()
+               (XER_F_CANONICAL)
+-------------------------------------------------------------
+
+*) Asterisk means both BASIC and CANONICAL variants.
+
+
 # SEE ALSO
 
 `unber`(1), `enber`(1).