A representation of CIDR netmasks (e.g. "192.168.0.0/24") and functions to match if a
given address is inside the range or not. Only IPv4 addresses are supported. Values
are always normalized so the base address is the lowest IP address in the range, so
for example to_string (of_string "192.168.1.101/24") = "192.168.1.0/24".
A representation of CIDR netmasks (e.g. "192.168.0.0/24") and functions to match if a
given address is inside the range or not. Only IPv4 addresses are supported. Values
are always normalized so the base address is the lowest IP address in the range, so
for example to_string (of_string "192.168.1.101/24") = "192.168.1.0/24".
include sig ... endval bin_t : t Bin_prot.Type_class.tval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : (int ‑> t) Bin_prot.Read.readerval bin_reader_t : t Bin_prot.Type_class.readerval bin_size_t : t Bin_prot.Size.sizerval bin_write_t : t Bin_prot.Write.writerval bin_writer_t : t Bin_prot.Type_class.writerval bin_shape_t : Bin_prot.Shape.tval t_of_sexp : Sexplib.Sexp.t ‑> tval sexp_of_t : t ‑> Sexplib.Sexp.tof_string Generates a Cidr.t based on a string like "10.0.0.0/8". Addresses are
not expanded, i.e. "10/8" is invalid.
include Core__.Import.Identifiable.S with type t := tinclude sig ... endval t_of_sexp : Sexplib.Sexp.t ‑> tval sexp_of_t : t ‑> Sexplib.Sexp.tval bin_t : t Bin_prot.Type_class.tval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : (Core_kernel__.Import.int ‑> t) Bin_prot.Read.readerval bin_reader_t : t Bin_prot.Type_class.readerval bin_size_t : t Bin_prot.Size.sizerval bin_write_t : t Bin_prot.Write.writerval bin_writer_t : t Bin_prot.Type_class.writerval bin_shape_t : Bin_prot.Shape.tinclude Core_kernel__.Import.Stringable.S with type t := tval of_string : string ‑> tval to_string : t ‑> stringinclude Core_kernel.Comparable.S_binable with type t := tinclude Core_kernel__.Comparable_intf.S_commoninclude Base.Comparable_intf.Sinclude Base.Comparable_intf.Polymorphic_compareascending is identical to compare. descending x y = ascending y x. These are
intended to be mnemonic when used like List.sort ~cmp:ascending and List.sort
~cmp:descending, since they cause the list to be sorted in ascending or descending
order, respectively.
clamp_exn t ~min ~max returns t', the closest value to t such that
between t' ~low:min ~high:max is true.
Raises if not (min <= max).
val clamp : t ‑> min:t ‑> max:t ‑> t Base.Or_error.tinclude Base.Comparator.S with type t := tval comparator : (t, comparator_witness) Base.Comparator.comparatorinclude Base.Comparable_intf.Validate with type t := tval validate_lbound : min:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_ubound : max:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_bound : min:t Base.Maybe_bound.t ‑> max:t Base.Maybe_bound.t ‑> t Base.Validate.checkmodule Replace_polymorphic_compare : Core_kernel__.Comparable_intf.Polymorphic_compare with type t := tinclude Core_kernel__.Comparable_intf.Map_and_set_binable with type t := t with type comparator_witness := comparator_witnessinclude Core_kernel.Comparator.S with type t := tval comparator : (t, comparator_witness) Core_kernel.Comparator.comparatormodule Map : Core_kernel__.Core_map.S_binable with type Key.t = t with type Key.comparator_witness = comparator_witnessmodule Set : Core_kernel__.Core_set.S_binable with type Elt.t = t with type Elt.comparator_witness = comparator_witnessinclude Core_kernel.Hashable.S_binable with type t := tval hash : t ‑> Core_kernel__.Import.intval hashable : t Core_kernel.Hashable.Hashtbl.Hashable.tmodule Table : Core_kernel.Hashable.Hashtbl.S_binable with type key = tmodule Hash_set : Core_kernel.Hash_set.S_binable with type elt = tmodule Hash_queue : Core_kernel.Hash_queue.S with type Key.t = tinclude Core_kernel__.Import.Pretty_printer.S with type t := tval pp : Caml.Format.formatter ‑> t ‑> unitval create : base_address:Core__.Core_unix.Inet_addr.t ‑> bits:int ‑> tval base_address : t ‑> Core__.Core_unix.Inet_addr.tAccessors.
base_address 192.168.0.0/24 = 192.168.0.0bits 192.168.0.0/24 = 24.val bits : t ‑> intval all_matching_addresses : t ‑> Core__.Core_unix.Inet_addr.t Core__.Import.Sequence.tGenerate a sequence of all addresses in the block.
val multicast : tIPv4 multicast address can be represented by the CIDR prefix 224.0.0.0/4, (i.e. addresses from 224.0.0.0 to 239.255.255.255, inclusive)
val does_match : t ‑> Core__.Core_unix.Inet_addr.t ‑> boolIs the given address inside the given Cidr.t? Note that the broadcast and network
addresses are considered valid so does_match 10.0.0.0/8 10.0.0.0 is true.
val netmask_of_bits : t ‑> Core__.Core_unix.Inet_addr.tReturn the netmask corresponding to the number of network bits in the CIDR. For example, the netmask for a CIDR with 24 network bits (e.g. 1.2.3.0/24) is 255.255.255.0.
is_subset t1 ~of:t2 is true iff the set of IP addresses specified by t1 is a
subset of those specified by t2.
If is_subset t1 ~of_:t2, then does_match t1 x implies does_match t2 x.
If does_match t1 x and does_match t2 x, then either is_subset t1 ~of_:t2 or
is_subset t2 ~of_:t1 (or both).
module Stable = Core__.Core_unix.Cidr.Stable