Current section
Files
Jump to
Current section
Files
src/gip.erl
-module(gip).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([parse/1, is_ip/1, is_v4/1, is_v6/1, stringify/1, self/0]).
-export_type([ip/0]).
-type ip() :: {v4, {integer(), integer(), integer(), integer()}} |
{v6,
{integer(),
integer(),
integer(),
integer(),
integer(),
integer(),
integer(),
integer(),
integer(),
integer(),
integer(),
integer(),
integer(),
integer(),
integer(),
integer()}}.
-spec parse(binary()) -> {ok, ip()} | {error, binary()}.
parse(Ip) ->
gip_ffi:parse(Ip).
-spec is_ip(binary()) -> boolean().
is_ip(Ip) ->
gip_ffi:is_ip(Ip).
-spec is_v4(binary()) -> boolean().
is_v4(Ip) ->
gip_ffi:is_v4(Ip).
-spec is_v6(binary()) -> boolean().
is_v6(Ip) ->
gip_ffi:is_v6(Ip).
-spec stringify(ip()) -> {ok, binary()} | {error, binary()}.
stringify(Ip) ->
gip_ffi:stringify(Ip).
-spec self() -> {ok, ip()} | {error, binary()}.
self() ->
gip_ffi:self().