* psdk_inc/_ip_types.h (struct __ms_timeval): Define on LP64 systems.
(TIMEVAL): Define based on struct __ms_timeval on LP64, based on
struct timeval otherwise.
(PTIMEVAL): Ditto.
(LPTIMEVAL): Ditto.
* winsock.h: Replace all `struct timeval *' usages with PTIMEVAL.
* winsock2.h: Ditto.
* ws2spi.h: Ditto.
* ws2tcpip.h: Ditto.
git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@5288 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/include/ChangeLog b/mingw-w64-headers/include/ChangeLog
index 88332de..da0de49 100644
--- a/mingw-w64-headers/include/ChangeLog
+++ b/mingw-w64-headers/include/ChangeLog
@@ -1,5 +1,17 @@
2012-07-30 Corinna Vinschen <vinschen@redhat.com>
+ * psdk_inc/_ip_types.h (struct __ms_timeval): Define on LP64 systems.
+ (TIMEVAL): Define based on struct __ms_timeval on LP64, based on
+ struct timeval otherwise.
+ (PTIMEVAL): Ditto.
+ (LPTIMEVAL): Ditto.
+ * winsock.h: Replace all `struct timeval *' usages with PTIMEVAL.
+ * winsock2.h: Ditto.
+ * ws2spi.h: Ditto.
+ * ws2tcpip.h: Ditto.
+
+2012-07-30 Corinna Vinschen <vinschen@redhat.com>
+
* af_irda.h: Temporarily redefine u_long as __ms_u_long on LP64 systems.
* in6addr.h: Ditto.
* inaddr.h: Ditto.
diff --git a/mingw-w64-headers/include/psdk_inc/_ip_types.h b/mingw-w64-headers/include/psdk_inc/_ip_types.h
index 7da85ae..5a3ba26 100644
--- a/mingw-w64-headers/include/psdk_inc/_ip_types.h
+++ b/mingw-w64-headers/include/psdk_inc/_ip_types.h
@@ -103,9 +103,19 @@
typedef struct linger *PLINGER;
typedef struct linger *LPLINGER;
+#ifdef __LP64__
+struct __ms_timeval {
+ __LONG32 tv_sec;
+ __LONG32 tv_usec;
+};
+typedef struct __ms_timeval TIMEVAL;
+typedef struct __ms_timeval *PTIMEVAL;
+typedef struct __ms_timeval *LPTIMEVAL;
+#else
typedef struct timeval TIMEVAL;
typedef struct timeval *PTIMEVAL;
typedef struct timeval *LPTIMEVAL;
+#endif
#ifdef __LP64__
#pragma pop_macro("u_long")
diff --git a/mingw-w64-headers/include/winsock.h b/mingw-w64-headers/include/winsock.h
index baf8dec..81ea00a 100644
--- a/mingw-w64-headers/include/winsock.h
+++ b/mingw-w64-headers/include/winsock.h
@@ -296,7 +296,7 @@
WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags);
WINSOCK_API_LINKAGE int WSAAPI recvfrom(SOCKET s,char *buf,int len,int flags,struct sockaddr *from,int *fromlen);
#ifndef __INSIDE_CYGWIN__
- WINSOCK_API_LINKAGE int WSAAPI select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const struct timeval *timeout);
+ WINSOCK_API_LINKAGE int WSAAPI select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const PTIMEVAL timeout);
#endif /* !__INSIDE_CYGWIN__ */
WINSOCK_API_LINKAGE int WSAAPI send(SOCKET s,const char *buf,int len,int flags);
WINSOCK_API_LINKAGE int WSAAPI sendto(SOCKET s,const char *buf,int len,int flags,const struct sockaddr *to,int tolen);
diff --git a/mingw-w64-headers/include/winsock2.h b/mingw-w64-headers/include/winsock2.h
index ed27181..4d84136 100644
--- a/mingw-w64-headers/include/winsock2.h
+++ b/mingw-w64-headers/include/winsock2.h
@@ -864,7 +864,7 @@
typedef u_short (WSAAPI *LPFN_NTOHS)(u_short netshort);
typedef int (WSAAPI *LPFN_RECV)(SOCKET s,char *buf,int len,int flags);
typedef int (WSAAPI *LPFN_RECVFROM)(SOCKET s,char *buf,int len,int flags,struct sockaddr *from,int *fromlen);
- typedef int (WSAAPI *LPFN_SELECT)(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const struct timeval *timeout);
+ typedef int (WSAAPI *LPFN_SELECT)(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const PTIMEVAL timeout);
typedef int (WSAAPI *LPFN_SEND)(SOCKET s,const char *buf,int len,int flags);
typedef int (WSAAPI *LPFN_SENDTO)(SOCKET s,const char *buf,int len,int flags,const struct sockaddr *to,int tolen);
typedef int (WSAAPI *LPFN_SETSOCKOPT)(SOCKET s,int level,int optname,const char *optval,int optlen);
@@ -983,7 +983,7 @@
WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags);
WINSOCK_API_LINKAGE int WSAAPI recvfrom(SOCKET s,char *buf,int len,int flags,struct sockaddr *from,int *fromlen);
#ifndef __INSIDE_CYGWIN__
- WINSOCK_API_LINKAGE int WSAAPI select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const struct timeval *timeout);
+ WINSOCK_API_LINKAGE int WSAAPI select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const PTIMEVAL timeout);
#endif /* !__INSIDE_CYGWIN__ */
WINSOCK_API_LINKAGE int WSAAPI send(SOCKET s,const char *buf,int len,int flags);
WINSOCK_API_LINKAGE int WSAAPI sendto(SOCKET s,const char *buf,int len,int flags,const struct sockaddr *to,int tolen);
@@ -1156,7 +1156,7 @@
LPSOCKADDR LocalAddress,
LPDWORD RemoteAddressLength,
LPSOCKADDR RemoteAddress,
- const struct timeval *timeout,
+ const PTIMEVAL timeout,
LPWSAOVERLAPPED Reserved
);
@@ -1168,7 +1168,7 @@
LPSOCKADDR LocalAddress,
LPDWORD RemoteAddressLength,
LPSOCKADDR RemoteAddress,
- const struct timeval *timeout,
+ const PTIMEVAL timeout,
LPWSAOVERLAPPED Reserved
);
@@ -1180,7 +1180,7 @@
LPSOCKADDR LocalAddress,
LPDWORD RemoteAddressLength,
LPSOCKADDR RemoteAddress,
- const struct timeval *timeout,
+ const PTIMEVAL timeout,
LPWSAOVERLAPPED Reserved
);
#define WSAConnectByName __MINGW_NAME_AW(WSAConnectByName)
diff --git a/mingw-w64-headers/include/ws2spi.h b/mingw-w64-headers/include/ws2spi.h
index 4956e7a..4742199 100644
--- a/mingw-w64-headers/include/ws2spi.h
+++ b/mingw-w64-headers/include/ws2spi.h
@@ -57,7 +57,7 @@
typedef int (WSPAPI *LPWSPRECV)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
typedef int (WSPAPI *LPWSPRECVDISCONNECT)(SOCKET s,LPWSABUF lpInboundDisconnectData,LPINT lpErrno);
typedef int (WSPAPI *LPWSPRECVFROM)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,struct sockaddr *lpFrom,LPINT lpFromlen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPSELECT)(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const struct timeval *timeout,LPINT lpErrno);
+ typedef int (WSPAPI *LPWSPSELECT)(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const PTIMEVAL timeout,LPINT lpErrno);
typedef int (WSPAPI *LPWSPSEND)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
typedef int (WSPAPI *LPWSPSENDDISCONNECT)(SOCKET s,LPWSABUF lpOutboundDisconnectData,LPINT lpErrno);
typedef int (WSPAPI *LPWSPSENDTO)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,const struct sockaddr *lpTo,int iTolen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
diff --git a/mingw-w64-headers/include/ws2tcpip.h b/mingw-w64-headers/include/ws2tcpip.h
index 19927c7..6ecdc2d 100644
--- a/mingw-w64-headers/include/ws2tcpip.h
+++ b/mingw-w64-headers/include/ws2tcpip.h
@@ -338,23 +338,23 @@
WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoExA(PCSTR pName, PCSTR pServiceName, DWORD dwNameSpace,
LPGUID lpNspId,const ADDRINFOEXA *pHints,PADDRINFOEXA *ppResult,
- struct timeval *timeout,LPOVERLAPPED lpOverlapped,
+ PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
LPHANDLE lpNameHandle);
WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoExW(PCWSTR pName,PCWSTR pServiceName,DWORD dwNameSpace,
LPGUID lpNspId,const ADDRINFOEXW *pHints,PADDRINFOEXW *ppResult,
- struct timeval *timeout,LPOVERLAPPED lpOverlapped,
+ PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
LPHANDLE lpNameHandle);
WINSOCK_API_LINKAGE int WSAAPI SetAddrInfoExA(PCSTR pName, PCSTR pServiceName, SOCKET_ADDRESS *pAddresses,
DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
- LPGUID lpNspId,struct timeval *timeout,LPOVERLAPPED lpOverlapped,
+ LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
LPHANDLE lpNameHandle);
WINSOCK_API_LINKAGE int WSAAPI SetAddrInfoExW(PCWSTR pName,PCWSTR pServiceName,SOCKET_ADDRESS *pAddresses,
DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
- LPGUID lpNspId,struct timeval *timeout,LPOVERLAPPED lpOverlapped,
+ LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
LPHANDLE lpNameHandle);
@@ -365,24 +365,24 @@
#define LPFN_GETADDRINFOEX __MINGW_NAME_AW(LPFN_GETADDRINFOEX)
typedef int (WSAAPI *LPFN_GETADDRINFOEXA)(PCSTR pName, PCSTR pServiceName, DWORD dwNameSpace,
LPGUID lpNspId,const ADDRINFOEXA *pHints,PADDRINFOEXA *ppResult,
- struct timeval *timeout,LPOVERLAPPED lpOverlapped,
+ PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
LPHANDLE lpNameHandle);
typedef int (WSAAPI *LPFN_GETADDRINFOEXW)(PCWSTR pName,PCWSTR pServiceName,DWORD dwNameSpace,
LPGUID lpNspId,const ADDRINFOEXW *pHints,PADDRINFOEXW *ppResult,
- struct timeval *timeout,LPOVERLAPPED lpOverlapped,
+ PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
LPHANDLE lpNameHandle);
#define LPFN_SETADDRINFOEX __MINGW_NAME_AW(LPFN_SETADDRINFOEX)
typedef int (WSAAPI *LPFN_SETADDRINFOEXA)(PCSTR pName, PCSTR pServiceName, SOCKET_ADDRESS *pAddresses,
DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
- LPGUID lpNspId,struct timeval *timeout,LPOVERLAPPED lpOverlapped,
+ LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
LPHANDLE lpNameHandle);
typedef int (WSAAPI *LPFN_SETADDRINFOEXW)(PCWSTR pName,PCWSTR pServiceName,SOCKET_ADDRESS *pAddresses,
DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace,
- LPGUID lpNspId,struct timeval *timeout,LPOVERLAPPED lpOverlapped,
+ LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped,
LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
LPHANDLE lpNameHandle);