https://bugs.winehq.org/show_bug.cgi?id=52250
--- Comment #10 from Alexandre Julliard julliard@winehq.org --- Linking to WS_* functions is not supported, the WS_ prefix is only for when you need the definitions (e.g. to map them to the Unix ones and call the Unix functions). The function prototypes could probably be simply disabled when using WS_.
I'd say the goals are, in priority order:
1. Properly support winsock.h and ws2_32 in MSVCRT mode.
2. Allow using winsock.h with WS_ prefix in Wine's Unix libs to get the winsock definitions.
3. Not get in the way for Winelib apps that don't need sockets, or that will simply use Unix sockets.
4. Allow using winsock.h and ws2_32 in Winelib apps if building them against Unix sockets is hard for some reason. It's OK if you have to jump through some hoops to enable that case.