Added "!defined(_WS2DEF_)" since Watcom doesn't have a per type guard for the typedefs 'CSADDR_INFO' (that MingW has) or 'SOCKET_ADDRESS' (that MSVC has). But we can use the header-guard for <ws2def.h> instead.
Provide winsock iphlpapi alternative definitions to prevent compilation failures when using a variety of winsock header implementations.