anchor.diff:  if_names() ->
       prim_net:if_names().
   -else.
  --dialyzer({nowarn_function, if_names/0}).
   if_names() ->
       erlang:error(notsup).
   -endif.
  
positive.code: getifaddrs(Filter, Namespace)
    when is_function(Filter, 1) andalso is_list(Namespace) ->
      do_getifaddrs(Filter, fun() -> getifaddrs(Namespace) end).
  
  do_getifaddrs(Filter, GetIfAddrs) ->
      case GetIfAddrs() of
  
negative.code:       SockAddr :: socket:sockaddr(),
        Info     :: name_info(),
        Reason   :: term().
  
  -dialyzer({no_return, getnameinfo/1}).
  
  getnameinfo(SockAddr) ->
      getnameinfo(SockAddr, undefined).
  