NetAddr.netaddr_2

You're seeing just the function netaddr_2, go back to NetAddr module for more information.

Specs

netaddr_2(<<_::8, _::_*8>>) ::
  {:ok,
   NetAddr.Generic.t()
   | NetAddr.IPv4.t()
   | NetAddr.IPv6.t()
   | NetAddr.MAC_48.t()}
  | {:error, :einval}

Identical to netaddr/1, but returns {:ok, value} on success instead of just value.

Examples

iex> NetAddr.netaddr_2(<<1, 2, 3, 4, 5, 6>>)
{:ok, %NetAddr.MAC_48{address: <<1, 2, 3, 4, 5, 6>>, length: 48}}

iex> NetAddr.netaddr_2(<<1, 2, 3, 4, 5>>)
{:ok, %NetAddr.Generic{address: <<1, 2, 3, 4, 5>>, length: 40}}
Link to this function

netaddr_2(address, address_length)

View Source

Specs

netaddr_2(<<_::8, _::_*8>>, pos_integer()) ::
  {:ok,
   NetAddr.Generic.t()
   | NetAddr.IPv4.t()
   | NetAddr.IPv6.t()
   | NetAddr.MAC_48.t()}
  | {:error, :einval}

Identical to netaddr/2, but returns {:ok, value} on success instead of just value.

Examples

iex> NetAddr.netaddr_2(<<1,2,3,4>>, 16)
{:ok, %NetAddr.IPv4{address: <<1,2,3,4>>, length: 16}}

iex> NetAddr.netaddr_2(<<1,2,3,4>>, 33)
{:error, :einval}
Link to this function

netaddr_2(address, address_length, size_in_bytes)

View Source

Specs

netaddr_2(binary(), non_neg_integer(), pos_integer()) ::
  {:ok, NetAddr.Generic.t()}

Identical to netaddr/3, but returns {:ok, value} on success instead of just value.

Examples

iex> NetAddr.netaddr_2(<<1, 2, 3, 4, 5, 6>>, 48, 6)
{:ok, %NetAddr.Generic{address: <<1, 2, 3, 4, 5, 6>>, length: 48}}

iex> NetAddr.netaddr_2(<<1, 2, 3, 4, 5>>, 48, 6)
{:ok, %NetAddr.Generic{address: <<0, 1, 2, 3, 4, 5>>, length: 48}}