AsnEmbed typed ASN.1 grammars in OCaml
Skip the notation part of Abstract Syntax Notation, and embed the abstract syntax directly in OCaml.
References
v0.2.5 — homepage
module OID : sig ... endObject identifiers.
module S : sig ... endASN.1 Abstract Syntax.
val ber : encodingber is ASN.1 Basic Encoding Rules (BER).
val der : encodingder is ASN.1 Distinguished Encoding Rules (DER).
codec enc asn represents the syntax asn encoded under the rules enc.
This function performs work up-front, and is generally expected to be called in the static context on statically known syntaxes.
encode_into codec x is the pair (n, f), where n is the length of x encoded with codec, and f is a function that will write the encoded x to the first n bytes of the provided Cstruct.t.
val pp_error : Format.formatter -> error -> unitpp_error ppf err pretty-prints err on ppf.
decode codec cs is the pair (x, cs'), where x is the result of decoding the prefix of cs with codec and cs' are the trailing bytes, or an error.
val random : 'a t -> 'arandom asn is a random inhabitant of 'a.