
This directory contains several convertors from a few known text formats into
the ASN.1 modules, as well as examples of these formats and the sample
convertor's output (generated by `make`).

To regenerate the .asn1 files from the original RFC texts, do `rm *.asn1; make`.

To compile the files using asn1c, try

	../asn1c/asn1c -P rfc3280-*.asn1

1. The ./sample.source.PKIX1 directory contains the X.509 Certificate decoder.
2. The ./sample.source.TAP3 directory contains the GSM TAP3 decoder. Please
   read the README file in that directory first.
3. The ./sample.source.MHEG5 directory contains the decoder for
ISO 13522 MHEG-5/ITU-T T.172 (Multimedia Hypermedia Experts Group,
Multimedia Presentations).
