IP.mask

You're seeing just the function mask, go back to IP module for more information.
Link to this function

mask(bit_length, mode \\ :v4)

View Source

Specs

mask(0..32, :v4_int) :: 0..4_294_967_295
mask(0..32, :v4_bin) :: <<_::32>>
mask(0..32, :v4) :: v4()
mask(0..32, :v6_int) :: 0..340_282_366_920_938_463_463_374_607_431_768_211_455
mask(0..32, :v6_bin) :: <<_::128>>
mask(0..32, :v6) :: v6()

generates an ip mask with specified bit_length.

Can also generate raw integer or raw binary forms.

Defaults to IPv4.

iex> IP.mask(32, :v4_int)
0xFFFF_FFFF

iex> IP.mask(32, :v4_bin)
<<255, 255, 255, 255>>

iex> IP.mask(32, :v4)
{255, 255, 255, 255}

iex> IP.mask(24, :v4)
{255, 255, 255, 0}

iex> IP.mask(0)
{0, 0, 0, 0}

iex> IP.mask(128, :v6)
{0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}

iex> IP.mask(0, :v6)
{0, 0, 0, 0, 0, 0, 0, 0}