Ipaddr.V6A collection of functions for IPv6 addresses.
val make : int -> int -> int -> int -> int -> int -> int -> int -> tConverts the low bytes of eight int values into an abstract V6.t.
val of_string : string -> (t, [> `Msg of string ]) Stdlib.resultof_string ipv6_string is the address represented by the human-readable IPv6 address ipv6_string. Returns a human-readable error string if parsing failed.
val of_string_exn : string -> tof_string_exn ipv6_string is the address represented by the human-readable IPv6 address ipv6_string. Raises Parse_error if ipv6_string is invalid or truncated.
val with_port_of_string : 
  default:int ->
  string ->
  (t * int, [> `Msg of string ]) Stdlib.resultwith_port_of_string ~default ipv6_string is the address represented by ipv6_string with a possibly :<port> (otherwise, we take the default value). Due to the ':' separator, the user should expand ipv6_string to let us to consider the last :<port> as a port. In other words:
::1:8080 returns the IPv6 ::1:8080 with the default port0:0:0:0:0:0:0:1:8080 returns ::1 with the port 8080.val of_string_raw : string -> int Stdlib.ref -> tSame as of_string_exn but takes as an extra argument the offset into the string for reading. off will be mutated to an unspecified value during the function call. Raises Parse_error if it is an invalid or truncated IP address.
val to_string : t -> stringto_string ipv6 is the string representation of ipv6, i.e. XXX:XX:X::XXX:XX.
val to_buffer : Stdlib.Buffer.t -> t -> unitto_buffer buf ipv6 writes the string representation of ipv6 into the buffer buf.
val pp : Stdlib.Format.formatter -> t -> unitpp f ipv6 outputs a human-readable representation of ipv6 to the formatter f.
val of_octets : ?off:int -> string -> (t, [> `Msg of string ]) Stdlib.resultof_octets ?off s is the IPv6 address t represented by the octets s starting from offset off within the string. Returns a human-readable error string if s is not at least off+16 bytes long. off defaults to 0.
val of_octets_exn : ?off:int -> string -> tof_octets_exn ?off ipv6_octets is the IPv6 address represented by ipv6_octets, starting from offset off. Raises Parse_error if ipv6_octets is not at least off+16 bytes long. off defaults to 0.
val write_octets_exn : ?off:int -> t -> bytes -> unitwrite_octets_exn ?off ipv6 b writes 16 bytes that encode ipv6 into b starting from offset off within b. b must be at least off+16 bytes long or a Parse_error exception will be raised.
val write_octets : 
  ?off:int ->
  t ->
  bytes ->
  (unit, [> `Msg of string ]) Stdlib.resultwrite_octets ?off ipv6 b writes 16 bytes that encode ipv6 into b starting from offset off within b. b must be at least off+16 bytes long or an error is returned.
val to_octets : t -> stringto_octets ipv6 returns the 16 bytes representing the ipv6 octets.
val of_int64 : (int64 * int64) -> tof_int64 (ho, lo) is the IPv6 address represented by two int64.
val to_int64 : t -> int64 * int64to_int64 ipv6 is the 128-bit packed encoding of ipv6.
val of_int32 : (int32 * int32 * int32 * int32) -> tof_int32 (a, b, c, d) is the IPv6 address represented by four int32.
val to_int32 : t -> int32 * int32 * int32 * int32to_int32 ipv6 is the 128-bit packed encoding of ipv6.
val of_int16 : (int * int * int * int * int * int * int * int) -> tof_int16 (a, b, c, d, e, f, g, h) is the IPv6 address represented by eight 16-bit int.
val to_int16 : t -> int * int * int * int * int * int * int * intto_int16 ipv6 is the 128-bit packed encoding of ipv6.
multicast_to_mac ipv6 is the MAC address corresponding to the multicast address ipv6. Described by RFC 2464.
val to_domain_name : t -> [ `host ] Domain_name.tto_domain_name ipv6 is the domain name label list for reverse lookups of ipv6. This includes the .ip6.arpa suffix.
val of_domain_name : 'a Domain_name.t -> t optionof_domain_name name is Some t if the name has an .ip6.arpa suffix, and an IPv6 address prefixed.
succ ipv6 is ip address next to ipv6. Returns a human-readable error string if it's already the highest address.
pred ipv6 is ip address before ipv6. Returns a human-readable error string if it's already the lowest address.
val unspecified : tunspecified is ::.
val localhost : tlocalhost is ::1.
val interface_nodes : tinterface_nodes is ff01::01.
val link_nodes : tlink_nodes is ff02::01.
val interface_routers : tinterface_routers is ff01::02.
val link_routers : tlink_routers is ff02::02.
val site_routers : tsite_routers is ff05::02.
module Prefix : sig ... endA module for manipulating IPv6 network prefixes (CIDR).
link_address_of_mac mac is the link-local address for an Ethernet interface derived by the IEEE MAC -> EUI-64 map with the Universal/Local bit complemented for IPv6.
val is_global : t -> boolis_global ipv6 is a predicate indicating whether ipv6 globally addresses a node.
val is_multicast : t -> boolis_multicast ipv6 is a predicate indicating whether ipv6 is a multicast address.
val is_private : t -> boolis_private ipv6 is a predicate indicating whether ipv6 privately addresses a node.