Module Dns_resolver_unix

type t = {
client : (module Dns.Protocol.CLIENT);
servers : (Ipaddr.t * int) list;
search_domains : string list;
}
type config = [
| `Resolv_conf of string
| `Static of (Ipaddr.t * int) list * string list
]

Defines the location of the stub resolvers to use for client resolution.

val create : ?client:(module Dns.Protocol.CLIENT) -> ?config:config -> unit -> t Lwt.t

Create a resolver instance that either uses the system /etc/resolv.conf, or a statically specified preference

val gethostbyname : t -> ?q_class:Dns.Packet.q_class -> ?q_type:Dns.Packet.q_type -> string -> Ipaddr.t list Lwt.t

Lookup a Name.t.

val gethostbyaddr : t -> ?q_class:Dns.Packet.q_class -> ?q_type:Dns.Packet.q_type -> Ipaddr.V4.t -> string list Lwt.t

Reverse lookup an IPv4 address.

val resolve : t -> ?dnssec:bool -> Dns.Packet.q_class -> Dns.Packet.q_type -> Dns.Name.t -> Dns.Packet.t Lwt.t

Resolve a fully specified query, q_class, q_type and Name.t.