Module Dns.Pdu

module Pdu: sig .. end

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 : question list;
   answer_rrs : rr list;
   authority_rrs : rr list;
   additional_rrs : rr list;
}
val make_query : string -> t
val random : unit -> 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 -> 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 : t -> Bitstring.bitstring