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