(* * Copyright (c) 2014 Anil Madhavapeddy * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * *) (** Convert to and from [Unix] to [Ipaddr] representations {e v5.6.1 - {{:https://github.com/mirage/ocaml-ipaddr} homepage}} *) val to_inet_addr : Ipaddr.t -> Unix.inet_addr (** [to_inet_addr ip] is the {!Unix.inet_addr} equivalent of the IPv4 or IPv6 address [ip]. *) val of_inet_addr : Unix.inet_addr -> Ipaddr.t (** [of_inet_addr ip] is the {!Ipaddr.t} equivalent of the {!Unix.inet_addr} [ip]. *) module V4 : sig val to_inet_addr : Ipaddr.V4.t -> Unix.inet_addr (** [to_inet_addr ip] is the {!Unix.inet_addr} equivalent of the IPv4 address [ip]. *) val of_inet_addr_exn : Unix.inet_addr -> Ipaddr.V4.t (** [of_inet_addr_exn ip] is the {!Ipaddr.t} equivalent of the {!Unix.inet_addr} [ip] IPv4 address. Raises {!Ipaddr.Parse_error} if [ip] is not a valid representation of an IPv4 address. *) val of_inet_addr : Unix.inet_addr -> Ipaddr.V4.t option (** Same as [of_inet_addr_exn] but returns an option type instead of raising an exception. *) end module V6 : sig val to_inet_addr : Ipaddr.V6.t -> Unix.inet_addr (** [to_inet_addr ip] is the {!Unix.inet_addr} equivalent of the IPv6 address [ip]. *) val of_inet_addr_exn : Unix.inet_addr -> Ipaddr.V6.t (** [of_inet_addr_exn ip] is the {!Ipaddr.t} equivalent of the {!Unix.inet_addr} [ip] IPv6 address. Raises {!Ipaddr.Parse_error} if [ip] is not a valid representation of an IPv6 address. *) val of_inet_addr : Unix.inet_addr -> Ipaddr.V6.t option (** Same as [of_inet_addr_exn] but returns an option type instead of raising an exception. *) end