struct

IPAddress::Prefix32

Inherits IPAddress::Prefix < Comparable < Comparable < Struct < Value < Object

Constants

IN4MASK = 4294967295_i64.to_u32

32 bit mask for IPv4

Constructors

new(prefix : Int32 = 32)

Creates a new prefix object for 32 bits IPv4 addresses.

prefix = IPAddress::Prefix32.new 24 # => 24
Source

Class methods

parse_netmask(netmask : String) : Prefix

Creates a new prefix by parsing a netmask in dotted decimal form.

prefix = IPAddress::Prefix32.parse_netmask "255.255.255.0" # => 24
Source

Instance methods

[](index) : Int32

Shortcut for the octecs in the dotted decimal representation.

prefix = IPAddress::Prefix32.new 24
prefix[2] # => 255

See also #octets

Source
bits

Transforms the prefix into a string of bits representing the netmask.

prefix = IPAddress::Prefix32.new 24
prefix.bits # => "11111111111111111111111100000000"
Source
host_prefix

Returns the length of the host portion of a netmask.

prefix = IPAddress::Prefix32.new 24
prefix.host_prefix # => 8
Source
hostmask

Returns the wildcard mask, i.e. a mask of bits that indicates which parts of an IP address are available for examination.

A wildcard mask can be thought of as an inverted subnet mask. For example, a subnet mask of 255.255.255.0 inverts to a wildcard mask of 0.0.0.255.

prefix = IPAddress::Prefix32.new 24
prefix.hostmask # => "0.0.0.255"
Source
octets

An array of octets of the IPv4 dotted decimal format.

prefix = IPAddress::Prefix32.new 24
prefix.octets # => [255, 255, 255, 0]

See also #to_ip

Source
to_ip

Gives the prefix in IPv4 dotted decimal format, i.e. the canonical netmask we're all used to.

prefix = IPAddress::Prefix32.new 24
prefix.to_ip # => "255.255.255.0"
Source
to_u32

Unsigned 32 bits decimal number representing the prefix.

prefix = IPAddress::Prefix32.new 24
prefix.to_u32 # => 4294967040
Source