anchor.diff:      prim_inet:setsockname(Socket, {IP,Port});
   setsockname(Socket, undefined) ->
       prim_inet:setsockname(Socket, undefined).
  +
  +-spec socknames(Socket) -> {ok, [{Address, Port}]} | {error, posix()} when
  +      Socket :: socket(),
  +      Address :: ip_address(),
  +      Port :: non_neg_integer().
  +
  +socknames(Socket) ->
  +    prim_inet:socknames(Socket).
  +
  +-spec socknames(Socket, Assoc) ->
  +		       {ok, [{Address, Port}]} | {error, posix()} when
  +      Socket :: socket(),
  +      Assoc :: #sctp_assoc_change{} | gen_sctp:assoc_id(),
  +      Address :: ip_address(),
  +      Port :: non_neg_integer().
  +
  +socknames(Socket, Assoc) ->
  +    prim_inet:socknames(Socket, Assoc).
  +
   
   -spec port(Socket) -> {'ok', Port} | {'error', any()} when
         Socket :: socket(),
  
positive.code: 
  %% socket
  -export([peername/1, sockname/1, port/1, send/2,
  	 setopts/2, getopts/2, 
  	 getifaddrs/0, getifaddrs/1,
  	 getif/1, getif/0, getiflist/0, getiflist/1,
  
negative.code: 	    ok
      end.
  
  
  -spec peername(Socket) ->  {ok, {Address, Port}} | {error, posix()} when
        Socket :: socket(),
        Address :: ip_address(),
  