Up

module Dnscurve

: sig
#
exception Protocol_error of string
#
type channel = {
# client_n
: Sodium.Box.Bigbytes.storage;
# client_pk
: Sodium.public Sodium.Box.key;
# key
: Sodium.channel Sodium.Box.key;
}
#
val get_key : string list -> Sodium.public Sodium.Box.key option
#
val encode_streamlined_query : ?alloc:(unit -> Dns.Buf.t) -> ?keyring:keyring -> Sodium.Box.keypair -> Sodium.public Sodium.Box.key -> Dns.Buf.t -> channel * Sodium.Box.Bigbytes.storage
#
val decode_streamlined_query : ?keyring:keyring -> Sodium.secret Sodium.Box.key -> Sodium.Box.Bigbytes.storage -> channel * Dns.Buf.t
#
val encode_streamlined_response : ?alloc:(unit -> Dns.Buf.t) -> channel -> Dns.Buf.t -> Sodium.Box.Bigbytes.storage
#
val decode_streamlined_response : channel -> Sodium.Box.Bigbytes.storage -> Dns.Buf.t
#
val encode_txt_query : ?keyring:keyring -> id:int -> Sodium.Box.keypair -> Sodium.public Sodium.Box.key -> string list -> Dns.Buf.t -> channel * Dns.Packet.t
#
val decode_txt_query : ?keyring:keyring -> Sodium.secret Sodium.Box.key -> Dns.Packet.t -> channel * Dns.Buf.t
#
val encode_txt_response : channel -> Dns.Packet.t -> Dns.Buf.t -> Dns.Packet.t
#
val decode_txt_response : channel -> Dns.Packet.t -> Dns.Buf.t
end