Up
module
Asn
:
sig
#
module
OID :
module type of
Asn_oid
#
module
Time :
module type of
Asn_time
#
exception
Parse_error
of
string
#
exception
Ambiguous_grammar
#
val
parse_error : string
->
'a
#
type
'a t
#
type
'a sequence
#
type
'a element
#
type
tag_class = [
| `Universal
| `Application
| `Private
]
#
val
fix : ('a
t
->
'a
t
)
->
'a
t
#
val
map : ?random:(unit
->
'b)
->
('a
->
'b)
->
('b
->
'a)
->
'a
t
->
'b
t
#
val
implicit : ?cls:
tag_class
->
int
->
'a
t
->
'a
t
#
val
explicit : ?cls:
tag_class
->
int
->
'a
t
->
'a
t
#
val
single : 'a
element
->
'a
sequence
#
val
(@) : 'a
element
->
'b
sequence
->
('a * 'b)
sequence
#
val
(-@) : 'a
element
->
'b
element
->
('a * 'b)
sequence
#
val
optional : ?label:string
->
'a
t
->
'a option
element
#
val
required : ?label:string
->
'a
t
->
'a
element
#
val
sequence : 'a
sequence
->
'a
t
#
val
sequence2 : 'a
element
->
'b
element
->
('a * 'b)
t
#
val
sequence3 : 'a
element
->
'b
element
->
'c
element
->
('a * 'b * 'c)
t
#
val
sequence4 : 'a
element
->
'b
element
->
'c
element
->
'd
element
->
('a * 'b * 'c * 'd)
t
#
val
sequence5 : 'a
element
->
'b
element
->
'c
element
->
'd
element
->
'e
element
->
('a * 'b * 'c * 'd * 'e)
t
#
val
sequence6 : 'a
element
->
'b
element
->
'c
element
->
'd
element
->
'e
element
->
'f
element
->
('a * 'b * 'c * 'd * 'e * 'f)
t
#
val
sequence_of : 'a
t
->
'a list
t
#
val
set : 'a
sequence
->
'a
t
#
val
set2 : 'a
element
->
'b
element
->
('a * 'b)
t
#
val
set3 : 'a
element
->
'b
element
->
'c
element
->
('a * 'b * 'c)
t
#
val
set4 : 'a
element
->
'b
element
->
'c
element
->
'd
element
->
('a * 'b * 'c * 'd)
t
#
val
set5 : 'a
element
->
'b
element
->
'c
element
->
'd
element
->
'e
element
->
('a * 'b * 'c * 'd * 'e)
t
#
val
set6 : 'a
element
->
'b
element
->
'c
element
->
'd
element
->
'e
element
->
'f
element
->
('a * 'b * 'c * 'd * 'e * 'f)
t
#
val
set_of : 'a
t
->
'a list
t
#
val
choice2 : 'a
t
->
'b
t
->
[
| `C1
of
'a
| `C2
of
'b
]
t
#
val
choice3 : 'a
t
->
'b
t
->
'c
t
->
[
| `C1
of
'a
| `C2
of
'b
| `C3
of
'c
]
t
#
val
choice4 : 'a
t
->
'b
t
->
'c
t
->
'd
t
->
[
| `C1
of
'a
| `C2
of
'b
| `C3
of
'c
| `C4
of
'd
]
t
#
val
choice5 : 'a
t
->
'b
t
->
'c
t
->
'd
t
->
'e
t
->
[
| `C1
of
'a
| `C2
of
'b
| `C3
of
'c
| `C4
of
'd
| `C5
of
'e
]
t
#
val
choice6 : 'a
t
->
'b
t
->
'c
t
->
'd
t
->
'e
t
->
'f
t
->
[
| `C1
of
'a
| `C2
of
'b
| `C3
of
'c
| `C4
of
'd
| `C5
of
'e
| `C6
of
'f
]
t
#
val
bool : bool
t
#
val
integer :
Z
.
t
t
#
val
bit_string : bool array
t
#
val
octet_string :
Cstruct
.
t
t
#
val
null : unit
t
#
val
oid :
OID
.
t
t
#
val
utc_time :
Time
.
t
t
#
val
generalized_time :
Time
.
t
t
#
val
utf8_string : string
t
#
val
numeric_string : string
t
#
val
printable_string : string
t
#
val
teletex_string : string
t
#
val
videotex_string : string
t
#
val
ia5_string : string
t
#
val
graphic_string : string
t
#
val
visible_string : string
t
#
val
general_string : string
t
#
val
universal_string : string
t
#
val
bmp_string : string
t
#
val
int : int
t
#
val
bit_string_cs :
Cstruct
.
t
t
#
val
bit_string_flags : (int * 'a) list
->
'a list
t
#
type
encoding
#
val
ber :
encoding
#
val
der :
encoding
#
type
'a codec
#
val
codec :
encoding
->
'a
t
->
'a
codec
#
val
encode : 'a
codec
->
'a
->
Cstruct
.
t
#
val
encode_into : 'a
codec
->
'a
->
int * (
Cstruct
.
t
->
unit)
#
val
decode_exn : 'a
codec
->
Cstruct
.
t
->
'a *
Cstruct
.
t
#
val
decode : 'a
codec
->
Cstruct
.
t
->
('a *
Cstruct
.
t
) option
#
val
random : 'a
t
->
'a
end