sig
  type t = {
    name : string;
    aliases : string array;
    family : Unix.Protocol_family.t;
    addresses : Unix.Inet_addr.t array;
  }
  val getbyname : string -> Unix.Host.t option
  val getbyname_exn : string -> Unix.Host.t
  val getbyaddr : Unix.Inet_addr.t -> Unix.Host.t option
  val getbyaddr_exn : Unix.Inet_addr.t -> Unix.Host.t
  val have_address_in_common : Unix.Host.t -> Unix.Host.t -> bool
  val sexp_of_t : Unix.Host.t -> Sexplib.Sexp.t
end