Module Dns_client_unix

Unix helper module for Dns_client. For more information see the Dns_client.Make functor.

It initializes the RNG (using Mirage_crypto_rng_unix.initialize ()).

module Transport : Dns_client.S with type io_addr = Unix.inet_addr * int and type stack = unit and type +'a io = 'a

A flow module based on blocking I/O on top of the Unix socket API.

include sig ... end
val create : ?⁠size:int -> ?⁠nameserver:Transport.ns_addr -> ?⁠timeout:int64 -> Transport.stack -> t
val nameserver : t -> Transport.ns_addr
val getaddrinfo : t -> ?⁠nameserver:Transport.ns_addr -> 'response Dns.Rr_map.key -> 'a Domain_name.t -> ('response[> `Msg of string ]) Stdlib.result Transport.io
val gethostbyname : t -> ?⁠nameserver:Transport.ns_addr -> [ `host ] Domain_name.t -> (Ipaddr.V4.t[> `Msg of string ]) Stdlib.result Transport.io
val gethostbyname6 : t -> ?⁠nameserver:Transport.ns_addr -> [ `host ] Domain_name.t -> (Ipaddr.V6.t[> `Msg of string ]) Stdlib.result Transport.io
val get_resource_record : t -> ?⁠nameserver:Transport.ns_addr -> 'response Dns.Rr_map.key -> 'a Domain_name.t -> ('response[> `Msg of string | `No_data of [ `raw ] Domain_name.t * Dns.Soa.t | `No_domain of [ `raw ] Domain_name.t * Dns.Soa.t ]) Stdlib.result Transport.io