Library
Module
Module type
Parameter
Class
Class type
A collection of functions for IPv6 addresses.
val make : int -> int -> int -> int -> int -> int -> int -> int -> t
Converts the low bytes of eight int values into an abstract V6.t
.
val of_string_exn : string -> t
of_string_exn ipv6_string
is the address represented by ipv6_string
. Raises Parse_error
if ipv6_string
is not a valid representation of an IPv6 address.
val of_string : string -> t option
Same as of_string_exn
but returns an option type instead of raising an exception.
val of_string_raw : string -> int Pervasives.ref -> t
Same as of_string_exn
but takes as an extra argument the offset into the string for reading.
val to_string : ?v4:bool -> t -> string
to_string ipv6
is the string representation of ipv6
, i.e. XXX:XX:X::XXX:XX.
val to_buffer : ?v4:bool -> Buffer.t -> t -> unit
to_buffer buf ipv6
writes the string representation of ipv6
into the buffer buf
.
val pp_hum : Format.formatter -> t -> unit
pp_hum f ipv6
outputs a human-readable representation of ipv6
to the formatter f
.
val of_bytes_exn : string -> t
of_bytes_exn ipv6_octets
is the address represented by ipv6_octets
. Raises Parse_error
if ipv6_octets
is not a valid representation of an IPv6 address.
val of_bytes : string -> t option
Same as of_bytes_exn
but returns an option type instead of raising an exception.
val of_bytes_raw : string -> int -> t
Same as of_bytes_exn
but takes an extra paramenter, the offset into the bytes for reading.
val to_bytes : t -> string
to_bytes ipv6
is a string of length 16 encoding ipv6
.
val to_bytes_raw : t -> Bytes.t -> int -> unit
to_bytes_raw ipv6 bytes offset
writes the 16 bytes encoding of ipv6
into bytes
at offset offset
.
val of_int64 : (int64 * int64) -> t
of_int64 (ho, lo)
is the IPv6 address represented by two int64.
to_int64 ipv6
is the 128-bit packed encoding of ipv6
.
val to_int64 : t -> int64 * int64
to_int64 ipv6
is the 128-bit packed encoding of ipv6
.
val of_int32 : (int32 * int32 * int32 * int32) -> t
of_int32 (a, b, c, d)
is the IPv6 address represented by four int32.
to_int32 ipv6
is the 128-bit packed encoding of ipv6
.
val to_int32 : t -> int32 * int32 * int32 * int32
to_int32 ipv6
is the 128-bit packed encoding of ipv6
.
val of_int16 : (int * int * int * int * int * int * int * int) -> t
of_int16 (a, b, c, d, e, f, g, h)
is the IPv6 address represented by eight 16-bit int.
to_int16 ipv6
is the 128-bit packed encoding of ipv6
.
val to_int16 : t -> int * int * int * int * int * int * int * int
to_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 -> string list
to_domain_name ipv6
is the domain name label list for reverse lookups of ipv6
. This includes the .ip6.arpa.
suffix.
val unspecified : t
unspecified
is ::.
val localhost : t
localhost
is ::1.
val interface_nodes : t
interface_nodes
is ff01::01.
val link_nodes : t
link_nodes
is ff02::01.
val interface_routers : t
interface_routers
is ff01::02.
val link_routers : t
link_routers
is ff02::02.
val site_routers : t
site_routers
is ff05::02.
module Prefix : sig ... end
A module for manipulating IPv6 network prefixes.
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 -> bool
is_global ipv6
is a predicate indicating whether ipv6
globally addresses a node.
val is_multicast : t -> bool
is_multicast ipv6
is a predicate indicating whether ipv6
is a multicast address.
val is_private : t -> bool
is_private ipv6
is a predicate indicating whether ipv6
privately addresses a node.