anchor.diff:      [];
   api_to_recv_tcp6(_Config) when is_list(_Config) ->
       %% tc_begin(api_to_recv_tcp6),
  -    %% InitState = #{domain => inet6},
  -    %% ok = api_to_recv_tcp(InitState),
  -    %% tc_end().
  +    %% Res = case socket:supports(ipv6) of
  +    %%     true ->
  +    %% Recv = fun(Sock) -> socket:recv(Sock, 0, 5000) end,
  +    %%         InitState = #{domain => inet6, recv => Recv},
  +    %%         ok = api_to_receive_tcp(InitState);
  +    %%     false ->
  +    %%         {skip, ipv6_not_supported}
  +    %% end,
  +    %% tc_end(),
  +    %% Res.
       not_yet_implemented().
   
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  -api_to_recv_tcp(InitState) ->
  +api_to_receive_tcp(InitState) ->
       process_flag(trap_exit, true),
   
       ServerSeq = 
  
positive.code:     [];
  api_to_recvmsg_tcp6(_Config) when is_list(_Config) ->
      %% tc_begin(api_to_recvmsg_tcp6),
      %% ok = api_to_recvmsg_tcp(inet6),
      %% tc_end().
      not_yet_implemented().
  
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  api_to_recvmsg_tcp(Domain) ->
      process_flag(trap_exit, true),
      p("server -> open"),
      LSock     = sock_open(Domain, stream, tcp),
      LocalAddr = which_local_addr(Domain),
      LocalSA   = #{family => Domain, addr => LocalAddr}, 
      p("server -> bind"),
      ServerLPort     = sock_bind(LSock, LocalSA),
      p("server(~w) -> listen", [ServerLPort]),
      sock_listen(LSock),
      ClientName = f("~s:client", [get_tc_name()]),
      Client = spawn_link(fun() ->
                                  put(sname, ClientName),
                                  p("open"),
                                  CSock      = sock_open(Domain, stream, tcp),
                                  p("bind"),
                                  ClientPort = sock_bind(CSock, LocalSA),
                                  p("[~w] connect to ~w", 
                                    [ClientPort, ServerLPort]),
                                  sock_connect(CSock, LocalSA#{port => ServerLPort}),
                                  p("await termination command"),
                                  receive
                                      die ->
                                          p("terminating"),
                                          exit(normal)
                                  end
                          end),
      p("server -> accept on ~w", [ServerLPort]),
      Sock      = sock_accept(LSock),
      p("server -> recv"),
      %% The zero (0) represents "give me everything you have"
      case socket:recvmsg(Sock, 5000) of
          {error, timeout} ->
              p("server -> expected timeout"),
              ok;
          {ok, _Data} ->
              ?FAIL(unexpected_success);
          {error, Reason} ->
              ?FAIL({recv, Reason})
      end,
      Client ! die,
      receive
          {'EXIT', Client, _} ->
              ok
      end,
      ok.
  
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
negative.code: 
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  %% f(F, A) ->
  %%     lists:flatten(io_lib:format(F, A)).
  
  p(F) ->
      p(F, []).
  