package asn1-combinators

  1. Overview
  2. Docs
module Prim = Asn_prim
module Int : sig ... end
val clone_cs : Cstruct.t -> Cstruct.t
type cls = [
  1. | `Universal
  2. | `Application
  3. | `Private
]
val fix : ('a Asn_core.asn -> 'a Asn_core.asn) -> 'a Asn_core.asn
val map : ?random:'a Asn_core.rand -> ('b -> 'a) -> ('a -> 'b) -> 'b Asn_core.asn -> 'a Asn_core.asn
val to_tag : int -> [< `Application | `Private | `Universal ] option -> Asn_core.Tag.t
val explicit : ?cls:[< `Application | `Private | `Universal ] -> int -> 'a Asn_core.asn -> 'a Asn_core.asn
val implicit : 'a. ?cls:cls -> int -> 'a Asn_core.asn -> 'a Asn_core.asn
val bool : bool Asn_core.asn
val integer : Z.t Asn_core.asn
val octet_string : Cstruct.t Asn_core.asn
val null : unit Asn_core.asn
val character_string : string Asn_core.asn
val string : int -> string Asn_core.asn
val utf8_string : string Asn_core.asn
val numeric_string : string Asn_core.asn
val printable_string : string Asn_core.asn
val teletex_string : string Asn_core.asn
val videotex_string : string Asn_core.asn
val ia5_string : string Asn_core.asn
val graphic_string : string Asn_core.asn
val visible_string : string Asn_core.asn
val general_string : string Asn_core.asn
val universal_string : string Asn_core.asn
val bmp_string : string Asn_core.asn
val utc_time : Ptime.t Asn_core.asn
val generalized_time : Ptime.t Asn_core.asn
val int : int Asn_core.asn
val enumerated : (int -> 'a) -> ('a -> int) -> 'a Asn_core.asn
val bit_string : bool array Asn_core.asn
val bit_string_cs : Cstruct.t Asn_core.asn
val bit_string_flags : (int * 'a) list -> 'a list Asn_core.asn
val single : 'a Asn_core.element -> 'a Asn_core.sequence
val (@) : 'a Asn_core.element -> 'b Asn_core.sequence -> ('a * 'b) Asn_core.sequence
val (-@) : 'a Asn_core.element -> 'b Asn_core.element -> ('a * 'b) Asn_core.sequence
val optional : ?label:string -> 'a Asn_core.asn -> 'a option Asn_core.element
val required : ?label:string -> 'a Asn_core.asn -> 'a Asn_core.element
val product2 : (('a * 'b) Asn_core.sequence -> 'c) -> 'a Asn_core.element -> 'b Asn_core.element -> 'c
val product3 : (('a * ('b * 'c)) Asn_core.sequence -> ('d * ('e * 'f)) Asn_core.asn) -> 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> ('d * 'e * 'f) Asn_core.asn
val product4 : (('a * ('b * ('c * 'd))) Asn_core.sequence -> ('e * ('f * ('g * 'h))) Asn_core.asn) -> 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> 'd Asn_core.element -> ('e * 'f * 'g * 'h) Asn_core.asn
val product5 : (('a * ('b * ('c * ('d * 'e)))) Asn_core.sequence -> ('f * ('g * ('h * ('i * 'j)))) Asn_core.asn) -> 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> 'd Asn_core.element -> 'e Asn_core.element -> ('f * 'g * 'h * 'i * 'j) Asn_core.asn
val product6 : (('a * ('b * ('c * ('d * ('e * 'f))))) Asn_core.sequence -> ('g * ('h * ('i * ('j * ('k * 'l))))) Asn_core.asn) -> 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> 'd Asn_core.element -> 'e Asn_core.element -> 'f Asn_core.element -> ('g * 'h * 'i * 'j * 'k * 'l) Asn_core.asn
val sequence : 'a Asn_core.sequence -> 'a Asn_core.asn
val sequence2 : 'a Asn_core.element -> 'b Asn_core.element -> ('a * 'b) Asn_core.asn
val sequence3 : 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> ('a * 'b * 'c) Asn_core.asn
val sequence4 : 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> 'd Asn_core.element -> ('a * 'b * 'c * 'd) Asn_core.asn
val sequence5 : 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> 'd Asn_core.element -> 'e Asn_core.element -> ('a * 'b * 'c * 'd * 'e) Asn_core.asn
val sequence6 : 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> 'd Asn_core.element -> 'e Asn_core.element -> 'f Asn_core.element -> ('a * 'b * 'c * 'd * 'e * 'f) Asn_core.asn
val sequence_of : 'a Asn_core.asn -> 'a list Asn_core.asn
val set : 'a Asn_core.sequence -> 'a Asn_core.asn
val set2 : 'a Asn_core.element -> 'b Asn_core.element -> ('a * 'b) Asn_core.asn
val set3 : 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> ('a * 'b * 'c) Asn_core.asn
val set4 : 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> 'd Asn_core.element -> ('a * 'b * 'c * 'd) Asn_core.asn
val set5 : 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> 'd Asn_core.element -> 'e Asn_core.element -> ('a * 'b * 'c * 'd * 'e) Asn_core.asn
val set6 : 'a Asn_core.element -> 'b Asn_core.element -> 'c Asn_core.element -> 'd Asn_core.element -> 'e Asn_core.element -> 'f Asn_core.element -> ('a * 'b * 'c * 'd * 'e * 'f) Asn_core.asn
val set_of : 'a Asn_core.asn -> 'a list Asn_core.asn
val choice : 'a Asn_core.asn -> 'b Asn_core.asn -> ('a, 'b) Asn_core.sum Asn_core.asn
val choice2 : 'a Asn_core.asn -> 'b Asn_core.asn -> [ `C1 of 'a | `C2 of 'b ] Asn_core.asn
val choice3 : 'a Asn_core.asn -> 'b Asn_core.asn -> 'c Asn_core.asn -> [ `C1 of 'a | `C2 of 'b | `C3 of 'c ] Asn_core.asn
val choice4 : 'a Asn_core.asn -> 'b Asn_core.asn -> 'c Asn_core.asn -> 'd Asn_core.asn -> [ `C1 of 'a | `C2 of 'b | `C3 of 'c | `C4 of 'd ] Asn_core.asn
val choice5 : 'a Asn_core.asn -> 'b Asn_core.asn -> 'c Asn_core.asn -> 'd Asn_core.asn -> 'e Asn_core.asn -> [ `C1 of 'a | `C2 of 'b | `C3 of 'c | `C4 of 'd | `C5 of 'e ] Asn_core.asn
val choice6 : 'a Asn_core.asn -> 'b Asn_core.asn -> 'c Asn_core.asn -> 'd Asn_core.asn -> 'e Asn_core.asn -> 'f Asn_core.asn -> [ `C1 of 'a | `C2 of 'b | `C3 of 'c | `C4 of 'd | `C5 of 'e | `C6 of 'f ] Asn_core.asn
OCaml

Innovation. Community. Security.