Ipaddr.Prefix
type addr = t
type t = (V4.Prefix.t, V6.Prefix.t) v4v6
Type of a internet protocol subnet
val to_string : t -> string
to_string subnet
is the text string representation of subnet
.
val to_buffer : Stdlib.Buffer.t -> t -> unit
to_buffer buf subnet
writes the text string representation of subnet
into buf
.
val pp : Stdlib.Format.formatter -> t -> unit
pp f subnet
outputs a human-readable representation of subnet
to the formatter f
.
val of_string_exn : string -> t
of_string_exn cidr
is the subnet prefix represented by the CIDR string, cidr
. Raises Parse_error
if cidr
is not a valid representation of a CIDR notation routing prefix.
val of_string : string -> (t, [> `Msg of string ]) Stdlib.result
Same as of_string_exn
but returns a result type instead of raising an exception.
val of_string_raw : string -> int Stdlib.ref -> t
Same as of_string_exn
but takes as an extra argument the offset into the string for reading.
val v4_of_v6 : V6.Prefix.t -> V4.Prefix.t option
v4_of_v6 ipv6
is the IPv4 representation of the IPv6 subnet ipv6
. If ipv6
is not an IPv4-mapped subnet, None is returned.
val to_v4 : t -> V4.Prefix.t option
to_v4 subnet
is the IPv4 representation of subnet
.
val v6_of_v4 : V4.Prefix.t -> V6.Prefix.t
v6_of_v4 ipv4
is the IPv6 representation of the IPv4 subnet ipv4
.
val to_v6 : t -> V6.Prefix.t
to_v6 subnet
is the IPv6 representation of subnet
.
subset ~subnet ~network
checks whether subnet
is contained within network
.
hosts cidr
is the sequence of host addresses in this cidr
. By default, the network and broadcast addresses are omitted for IPv4. In the case of IPv6, the Subnet-Router anycast address is omitted by default. This can be changed by setting usable
to false.
val subnets :
int ->
t ->
(V4.Prefix.t Stdlib.Seq.t, V6.Prefix.t Stdlib.Seq.t) v4v6
subnets n cidr
is the sequence of subnets of cidr
with a prefix length of n
.