sig
type question = string * Dns.QType.t * int
type rr = string * Dns.QType.t * int * int32 * string
type t = {
id : int;
is_query : bool;
opcode : int;
is_auth : bool;
truncated : bool;
rec_desired : bool;
rec_avlb : bool;
status : int;
questions : Dns.Pdu.question list;
answer_rrs : Dns.Pdu.rr list;
authority_rrs : Dns.Pdu.rr list;
additional_rrs : Dns.Pdu.rr list;
}
val make_query : string -> Dns.Pdu.t
val random : unit -> Dns.Pdu.t
val unpack_name : string -> int -> (string * int) Batteries.Option.Monad.m
val read_n16 : string -> int -> int
val read_n32 : string -> int -> int32
val unpack_questions :
string ->
int ->
int -> ((string * Dns.QType.t * int) list * int) Batteries.Option.Monad.m
val unpack_rrs :
string ->
int ->
int ->
((string * Dns.QType.t * int * int32 * string) list * int)
Batteries.Option.Monad.m
val unpack : Bitstring.bitstring -> Dns.Pdu.t Batteries.Option.Monad.m
val pack_n16 : int -> string -> int -> unit
val pack_n32 : int32 -> string -> int -> unit
val pack_name : string -> int -> string -> int -> int option
val pack_question :
string * Dns.QType.t * int -> string Batteries.Option.Monad.m
val pack_questions : (string * Dns.QType.t * int) list -> string
val pack_rr :
string * Dns.QType.t * int * int32 * string ->
string Batteries.Option.Monad.m
val pack_rrs : (string * Dns.QType.t * int * int32 * string) list -> string
val pack : Dns.Pdu.t -> Bitstring.bitstring
end