include: Add declaration of sockaddr_storage to ws2def.h.
Move other declarations that belong in ws2def.h from winsock2.h.
This commit is contained in:
parent
47ae95ccce
commit
cb4265074f
|
@ -473,6 +473,7 @@ SRCDIR_INCLUDES = \
|
|||
wmistr.h \
|
||||
wnaspi32.h \
|
||||
wownt32.h \
|
||||
ws2def.h \
|
||||
ws2ipdef.h \
|
||||
ws2spi.h \
|
||||
ws2tcpip.h \
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include <winsock.h>
|
||||
#undef __WINE_WINSOCK2__
|
||||
|
||||
#include <ws2def.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -421,28 +422,6 @@ typedef struct _BLOB {
|
|||
} BLOB, *LPBLOB;
|
||||
#endif
|
||||
|
||||
#ifndef __CSADDR_DEFINED__
|
||||
#define __CSADDR_DEFINED__
|
||||
|
||||
typedef struct _SOCKET_ADDRESS {
|
||||
LPSOCKADDR lpSockaddr;
|
||||
INT iSockaddrLength;
|
||||
} SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
|
||||
|
||||
typedef struct _CSADDR_INFO {
|
||||
SOCKET_ADDRESS LocalAddr;
|
||||
SOCKET_ADDRESS RemoteAddr;
|
||||
INT iSocketType;
|
||||
INT iProtocol;
|
||||
} CSADDR_INFO, *PCSADDR_INFO, *LPCSADDR_INFO;
|
||||
#endif
|
||||
|
||||
/*socket address list */
|
||||
typedef struct _SOCKET_ADDRESS_LIST {
|
||||
INT iAddressCount;
|
||||
SOCKET_ADDRESS Address[1];
|
||||
} SOCKET_ADDRESS_LIST, *LPSOCKET_ADDRESS_LIST;
|
||||
|
||||
/* addressfamily protocol pairs */
|
||||
typedef struct _AFPROTOCOLS {
|
||||
INT iAddressFamily;
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
* Copyright (C) 2009 Robert Shearman
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef _WS2DEF_
|
||||
#define _WS2DEF_
|
||||
|
||||
/* FIXME: #include <inaddr.h> */
|
||||
|
||||
#ifdef USE_WS_PREFIX
|
||||
#define WS(x) WS_##x
|
||||
#else
|
||||
#define WS(x) x
|
||||
#endif
|
||||
|
||||
#ifndef __CSADDR_DEFINED__
|
||||
#define __CSADDR_DEFINED__
|
||||
|
||||
typedef struct _SOCKET_ADDRESS {
|
||||
LPSOCKADDR lpSockaddr;
|
||||
INT iSockaddrLength;
|
||||
} SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
|
||||
|
||||
typedef struct _CSADDR_INFO {
|
||||
SOCKET_ADDRESS LocalAddr;
|
||||
SOCKET_ADDRESS RemoteAddr;
|
||||
INT iSocketType;
|
||||
INT iProtocol;
|
||||
} CSADDR_INFO, *PCSADDR_INFO, *LPCSADDR_INFO;
|
||||
#endif
|
||||
|
||||
#ifdef USE_WS_PREFIX
|
||||
#define WS__SS_MAXSIZE 128
|
||||
#define WS__SS_ALIGNSIZE (sizeof(__int64))
|
||||
#define WS__SS_PAD1SIZE (WS__SS_ALIGNSIZE - sizeof(short))
|
||||
#define WS__SS_PAD2SIZE (WS__SS_MAXSIZE - 2 * WS__SS_ALIGNSIZE)
|
||||
#else
|
||||
#define _SS_MAXSIZE 128
|
||||
#define _SS_ALIGNSIZE (sizeof(__int64))
|
||||
#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(short))
|
||||
#define _SS_PAD2SIZE (_SS_MAXSIZE - 2 * _SS_ALIGNSIZE)
|
||||
#endif
|
||||
|
||||
typedef struct WS(sockaddr_storage) {
|
||||
short ss_family;
|
||||
char __ss_pad1[WS(_SS_PAD1SIZE)];
|
||||
__int64 __ss_align;
|
||||
char __ss_pad2[WS(_SS_PAD2SIZE)];
|
||||
} SOCKADDR_STORAGE, *PSOCKADDR_STORAGE, *LPSOCKADDR_STORAGE;
|
||||
|
||||
/*socket address list */
|
||||
typedef struct _SOCKET_ADDRESS_LIST {
|
||||
INT iAddressCount;
|
||||
SOCKET_ADDRESS Address[1];
|
||||
} SOCKET_ADDRESS_LIST, *LPSOCKET_ADDRESS_LIST;
|
||||
|
||||
#endif /* _WS2DEF_ */
|
Loading…
Reference in New Issue