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