ip_v4 tcp%, udp% = byte[4];
ip_v6 tcp%, udp% = byte[16];

tcp_point_v4 = tcp_point <ip_v4, ushort>;
tcp_point_v6 = tcp_point <ip_v6, ushort>;
udp_point_v4 = udp_point <ip_v4, ushort>;
udp_point_v6 = udp_point <ip_v6, ushort>;

host = 
{
  T_* type_stamp; 
  char name[STR_MAXNAME];
};

host_v4 # host, tcp_point_v4, udp_point_v4 =
{
  host, tcp_point_v4, udp_point_v4 _;
};

host_v6 # host, tcp_point_v6, udp_point_v6 =
{
  host, tcp_point_v6, udp_point_v6 _;
};
