[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-dev] WIN32_WINNT in or/or.h



"Nick Mathewson" <nickm@xxxxxxxxxxxx> wrote:

On Mon, Jun 20, 2011 at 6:32 PM, Gisle Vanem <gvanem@xxxxxxxxxxxx>juswrote:
I think that the values for 'WIN32_WINNT' and '_WIN32_WINNT'
should be protected against redefinement.
Reason: In order for MingW to prototype getaddrinfo() and freeaddrinfo()
correctly (in <ws2tcpip.h>), '_WIN32_WINNT' *must* be defined as 0x0501
or higher. or/or.h blindly defines them as 0x0400. So, building with
-DHAVE_GETADDRINFO needs _WIN32_WINNT to be set to 0x0501.

I'm confused about the situation here.  Does "-DHAVE_GETADDRINFO" mean
that you're overriding the value in orconfig.h from the command line,

Yes.

and presumably setting your own _WIN32_WINNT value there too?

Yes, the "MingW way" to use and prototype some of these enhanced function is to set _WIN32_WINNT with the proper value (0x0501 in this case. On cmd-line etc).
The trouble is specifically that <or/or.h> overrides that with value 0x0400.

Here are some lines from MingW's <ws2tcpip.h>

#if (_WIN32_WINNT >= 0x0501)
void WSAAPI freeaddrinfo (struct addrinfo*);
int WSAAPI getaddrinfo (const char*,const char*,const struct addrinfo*,
                       struct addrinfo**);
int WSAAPI getnameinfo(const struct sockaddr*,socklen_t,char*,DWORD,
                      char*,DWORD,int);
#else
/* FIXME: Need WS protocol-independent API helpers.  */
#endif

----------------------

--gv

_______________________________________________
tor-dev mailing list
tor-dev@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev