Headers diff for ws2_32.dll between 6.1.7601.17514-Windows_7.0 and 6.3.9600.17415-Windows_8.1 versions



 sporder.h (6.1.7601.17514-Windows_7.0)   sporder.h (6.3.9600.17415-Windows_8.1) 
skipping to change at line 25 skipping to change at line 25
Revision History: Revision History:
--*/ --*/
#ifndef __SPORDER_H__ #ifndef __SPORDER_H__
#define __SPORDER_H__ #define __SPORDER_H__
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
int int
WSPAPI WSPAPI
WSCWriteProviderOrder ( WSCWriteProviderOrder (
IN LPDWORD lpwdCatalogEntryId, IN LPDWORD lpwdCatalogEntryId,
IN DWORD dwNumberOfEntries IN DWORD dwNumberOfEntries
skipping to change at line 84 skipping to change at line 88
IN LPGUID lpProviderId, IN LPGUID lpProviderId,
IN DWORD dwNumberOfEntries IN DWORD dwNumberOfEntries
); );
#endif //_WIN64 #endif //_WIN64
#endif //_WIN32_WINNT >= 0x0501 #endif //_WIN32_WINNT >= 0x0501
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // __SPORDER_H__ #endif // __SPORDER_H__
 End of changes. 2 change blocks. 
0 lines changed or deleted 7 lines changed or added


 winsock2.h (6.1.7601.17514-Windows_7.0)   winsock2.h (6.3.9600.17415-Windows_8.1) 
//$TAG BIZDEV
// $IPCategory:
// $DealPointID: 118736
// $AgreementName: berkeley software distribution license
// $AgreementType: oss license
// $ExternalOrigin: regents of the university of california
//$ENDTAG
//$TAG ENGR
// $Owner: vadime
// $Module: published_inc
//
//$ENDTAG
/* Winsock2.h -- definitions to be used with the WinSock 2 DLL and /* Winsock2.h -- definitions to be used with the WinSock 2 DLL and
* WinSock 2 applications. * WinSock 2 applications.
* *
* This header file corresponds to version 2.2.x of the WinSock API * This header file corresponds to version 2.2.x of the WinSock API
* specification. * specification.
* *
* This file includes parts which are Copyright (c) 1982-1986 Regents * This file includes parts which are Copyright (c) 1982-1986 Regents
* of the University of California. All rights reserved. The * of the University of California. All rights reserved. The
* Berkeley Software License Agreement specifies the terms and * Berkeley Software License Agreement specifies the terms and
* conditions for redistribution. * conditions for redistribution.
*/ */
#ifndef _WINSOCK2API_ #ifndef _WINSOCK2API_
#define _WINSOCK2API_ #define _WINSOCK2API_
#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */ #define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */
#pragma once #pragma once
#include <winapifamily.h>
/* #if !defined(_WINSOCK_DEPRECATED_BY)
* Ensure structures are packed consistently. #if ((defined(_WINSOCK_DEPRECATED_NO_WARNINGS) || defined(BUILD_WINDOWS)) && !de
* Not necessary for WIN32, it is already packed >=4 and there are fined(_WINSOCK_DEPRECATE_WARNINGS)) || defined(MIDL_PASS)
* no structures in this header that have alignment requirement #define _WINSOCK_DEPRECATED_BY(replacement)
* higher than 4. #else
* For WIN64 we do not have compatibility requirement because it is #define _WINSOCK_DEPRECATED_BY(replacement) __declspec(deprecated("Use " ## repl
* not possible to mix 32/16 bit code with 64 bit code in the same acement ## " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprec
* process. ated API warnings"))
*/ #endif
#endif
#if (!defined(_WIN64) && !defined(WIN32)) #if !defined(_WINSOCK_DEPRECATED)
#include <pshpack4.h> #if ((defined(_WINSOCK_DEPRECATED_NO_WARNINGS) || defined(BUILD_WINDOWS)) && !de
/* WIN32 can be defined between here and the required poppack fined(_WINSOCK_DEPRECATE_WARNINGS)) || defined(MIDL_PASS)
so define this special macro to ensure poppack */ #define _WINSOCK_DEPRECATED
#define _NEED_POPPACK #else
#define _WINSOCK_DEPRECATED __declspec(deprecated("Define _WINSOCK_DEPRECATED_NO
_WARNINGS to disable deprecated API warnings"))
#endif
#endif #endif
/* /*
* Default: include function prototypes, don't include function typedefs. * Default: include function prototypes, don't include function typedefs.
*/ */
#ifndef INCL_WINSOCK_API_PROTOTYPES #ifndef INCL_WINSOCK_API_PROTOTYPES
#define INCL_WINSOCK_API_PROTOTYPES 1 #define INCL_WINSOCK_API_PROTOTYPES 1
#endif #endif
skipping to change at line 70 skipping to change at line 56
#endif #endif
/* /*
* Pull in WINDOWS.H if necessary * Pull in WINDOWS.H if necessary
*/ */
#ifndef _INC_WINDOWS #ifndef _INC_WINDOWS
#include <windows.h> #include <windows.h>
#endif /* _INC_WINDOWS */ #endif /* _INC_WINDOWS */
/* /*
* Ensure structures are packed consistently.
* Not necessary for WIN32, it is already packed >=4 and there are
* no structures in this header that have alignment requirement
* higher than 4.
* For WIN64 we do not have compatibility requirement because it is
* not possible to mix 32/16 bit code with 64 bit code in the same
* process.
*/
#if (!defined(_WIN64) && !defined(WIN32))
#include <pshpack4.h>
/* WIN32 can be defined between here and the required poppack
so define this special macro to ensure poppack */
#define _NEED_POPPACK
#endif
/*
* Define the current Winsock version. To build an earlier Winsock version * Define the current Winsock version. To build an earlier Winsock version
* application redefine this value prior to including Winsock2.h. * application redefine this value prior to including Winsock2.h.
*/ */
#if !defined(MAKEWORD) #if !defined(MAKEWORD)
#define MAKEWORD(low,high) \ #define MAKEWORD(low,high) \
((WORD)(((BYTE)(low)) | ((WORD)((BYTE)(high))) << 8)) ((WORD)(((BYTE)(low)) | ((WORD)((BYTE)(high))) << 8))
#endif #endif
#ifndef WINSOCK_VERSION #ifndef WINSOCK_VERSION
skipping to change at line 137 skipping to change at line 140
*/ */
#ifndef FD_SETSIZE #ifndef FD_SETSIZE
#define FD_SETSIZE 64 #define FD_SETSIZE 64
#endif /* FD_SETSIZE */ #endif /* FD_SETSIZE */
typedef struct fd_set { typedef struct fd_set {
u_int fd_count; /* how many are SET? */ u_int fd_count; /* how many are SET? */
SOCKET fd_array[FD_SETSIZE]; /* an array of SOCKETs */ SOCKET fd_array[FD_SETSIZE]; /* an array of SOCKETs */
} fd_set; } fd_set;
__control_entrypoint(DllExport) extern int PASCAL FAR __WSAFDIsSet(SOCKET fd, fd _set FAR *); extern int PASCAL FAR __WSAFDIsSet(SOCKET fd, fd_set FAR *);
#define FD_CLR(fd, set) do { \ #define FD_CLR(fd, set) do { \
u_int __i; \ u_int __i; \
for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count ; __i++) { \ for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count ; __i++) { \
if (((fd_set FAR *)(set))->fd_array[__i] == fd) { \ if (((fd_set FAR *)(set))->fd_array[__i] == fd) { \
while (__i < ((fd_set FAR *)(set))->fd_count-1) { \ while (__i < ((fd_set FAR *)(set))->fd_count-1) { \
((fd_set FAR *)(set))->fd_array[__i] = \ ((fd_set FAR *)(set))->fd_array[__i] = \
((fd_set FAR *)(set))->fd_array[__i+1]; \ ((fd_set FAR *)(set))->fd_array[__i+1]; \
__i++; \ __i++; \
} \ } \
((fd_set FAR *)(set))->fd_count--; \ ((fd_set FAR *)(set))->fd_count--; \
break; \ break; \
} \ } \
} \ } \
} while(0) } while(0, 0)
#define FD_SET(fd, set) do { \ #define FD_SET(fd, set) do { \
u_int __i; \ u_int __i; \
for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \ for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \
if (((fd_set FAR *)(set))->fd_array[__i] == (fd)) { \ if (((fd_set FAR *)(set))->fd_array[__i] == (fd)) { \
break; \ break; \
} \ } \
} \ } \
if (__i == ((fd_set FAR *)(set))->fd_count) { \ if (__i == ((fd_set FAR *)(set))->fd_count) { \
if (((fd_set FAR *)(set))->fd_count < FD_SETSIZE) { \ if (((fd_set FAR *)(set))->fd_count < FD_SETSIZE) { \
((fd_set FAR *)(set))->fd_array[__i] = (fd); \ ((fd_set FAR *)(set))->fd_array[__i] = (fd); \
((fd_set FAR *)(set))->fd_count++; \ ((fd_set FAR *)(set))->fd_count++; \
} \ } \
} \ } \
} while(0) } while(0, 0)
#define FD_ZERO(set) (((fd_set FAR *)(set))->fd_count=0) #define FD_ZERO(set) (((fd_set FAR *)(set))->fd_count=0)
#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR *)(set)) #define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR *)(set))
/* /*
* Structure used in select() call, taken from the BSD file sys/time.h. * Structure used in select() call, taken from the BSD file sys/time.h.
*/ */
struct timeval { struct timeval {
long tv_sec; /* seconds */ long tv_sec; /* seconds */
skipping to change at line 514 skipping to change at line 517
/* /*
* Level number for (get/set)sockopt() to apply to socket itself. * Level number for (get/set)sockopt() to apply to socket itself.
*/ */
#define SOL_SOCKET 0xffff /* options for socket level */ #define SOL_SOCKET 0xffff /* options for socket level */
/* /*
* Maximum queue length specifiable by listen. * Maximum queue length specifiable by listen.
*/ */
#define SOMAXCONN 0x7fffffff #define SOMAXCONN 0x7fffffff
#define SOMAXCONN_HINT(b) (-(b))
#define MSG_OOB 0x1 /* process out-of-band data */ #define MSG_OOB 0x1 /* process out-of-band data */
#define MSG_PEEK 0x2 /* peek at incoming message */ #define MSG_PEEK 0x2 /* peek at incoming message */
#define MSG_DONTROUTE 0x4 /* send without using routing tables */ #define MSG_DONTROUTE 0x4 /* send without using routing tables */
#if(_WIN32_WINNT >= 0x0502) #if(_WIN32_WINNT >= 0x0502)
#define MSG_WAITALL 0x8 /* do not complete until packet is compl etely filled */ #define MSG_WAITALL 0x8 /* do not complete until packet is compl etely filled */
#endif //(_WIN32_WINNT >= 0x0502) #endif //(_WIN32_WINNT >= 0x0502)
#if(_WIN32_WINNT >= 0x0603)
#define MSG_PUSH_IMMEDIATE 0x20 /* Do not delay receive request completi
on if data is available */
#endif //(_WIN32_WINNT >= 0x0603)
#define MSG_PARTIAL 0x8000 /* partial send or recv for message xpor t */ #define MSG_PARTIAL 0x8000 /* partial send or recv for message xpor t */
/* /*
* WinSock 2 extension -- new flags for WSASend(), WSASendTo(), WSARecv() and * WinSock 2 extension -- new flags for WSASend(), WSASendTo(), WSARecv() and
* WSARecvFrom() * WSARecvFrom()
*/ */
#define MSG_INTERRUPT 0x10 /* send/recv in the interrupt context */ #define MSG_INTERRUPT 0x10 /* send/recv in the interrupt context */
#define MSG_MAXIOVLEN 16 #define MSG_MAXIOVLEN 16
skipping to change at line 859 skipping to change at line 867
#define WSA_INVALID_EVENT ((WSAEVENT)NULL) #define WSA_INVALID_EVENT ((WSAEVENT)NULL)
#define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS) #define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS)
#define WSA_WAIT_FAILED ((DWORD)-1L) #define WSA_WAIT_FAILED ((DWORD)-1L)
#define WSA_WAIT_EVENT_0 ((DWORD)0) #define WSA_WAIT_EVENT_0 ((DWORD)0)
#define WSA_WAIT_TIMEOUT ((DWORD)0x102L) #define WSA_WAIT_TIMEOUT ((DWORD)0x102L)
#define WSA_INFINITE ((DWORD)-1L) #define WSA_INFINITE ((DWORD)-1L)
#endif /* WIN32 */ #endif /* WIN32 */
#define LPQOS LPVOID
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#undef LPQOS
/* /*
* Include qos.h to pull in FLOWSPEC and related definitions * Include qos.h to pull in FLOWSPEC and related definitions
*/ */
#include <qos.h> #include <qos.h>
typedef struct _QualityOfService typedef struct _QualityOfService
{ {
FLOWSPEC SendingFlowspec; /* the flow spec for data sending */ FLOWSPEC SendingFlowspec; /* the flow spec for data sending */
FLOWSPEC ReceivingFlowspec; /* the flow spec for data receiving */ FLOWSPEC ReceivingFlowspec; /* the flow spec for data receiving */
WSABUF ProviderSpecific; /* additional provider specific stuff * / WSABUF ProviderSpecific; /* additional provider specific stuff * /
} QOS, FAR * LPQOS; } QOS, FAR * LPQOS;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
/* /*
* WinSock 2 extension -- manifest constants for return values of the condition function * WinSock 2 extension -- manifest constants for return values of the condition function
*/ */
#define CF_ACCEPT 0x0000 #define CF_ACCEPT 0x0000
#define CF_REJECT 0x0001 #define CF_REJECT 0x0001
#define CF_DEFER 0x0002 #define CF_DEFER 0x0002
/* /*
* WinSock 2 extension -- manifest constants for shutdown() * WinSock 2 extension -- manifest constants for shutdown()
skipping to change at line 925 skipping to change at line 941
typedef struct _WSAPROTOCOLCHAIN { typedef struct _WSAPROTOCOLCHAIN {
int ChainLen; /* the length of the chain, */ int ChainLen; /* the length of the chain, */
/* length = 0 means layered pr otocol, */ /* length = 0 means layered pr otocol, */
/* length = 1 means base proto col, */ /* length = 1 means base proto col, */
/* length > 1 means protocol c hain */ /* length > 1 means protocol c hain */
DWORD ChainEntries[MAX_PROTOCOL_CHAIN]; /* a list of dwCatalogEntryIds */ DWORD ChainEntries[MAX_PROTOCOL_CHAIN]; /* a list of dwCatalogEntryIds */
} WSAPROTOCOLCHAIN, FAR * LPWSAPROTOCOLCHAIN; } WSAPROTOCOLCHAIN, FAR * LPWSAPROTOCOLCHAIN;
#define WSAPROTOCOL_LEN 255 #define WSAPROTOCOL_LEN 255
typedef struct _WSAPROTOCOL_INFOA { #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _WINSOCK_DEPRECATED_BY("WSAPROTOCOL_INFOW") _WSAPROTOCOL_INFOA {
DWORD dwServiceFlags1; DWORD dwServiceFlags1;
DWORD dwServiceFlags2; DWORD dwServiceFlags2;
DWORD dwServiceFlags3; DWORD dwServiceFlags3;
DWORD dwServiceFlags4; DWORD dwServiceFlags4;
DWORD dwProviderFlags; DWORD dwProviderFlags;
GUID ProviderId; GUID ProviderId;
DWORD dwCatalogEntryId; DWORD dwCatalogEntryId;
WSAPROTOCOLCHAIN ProtocolChain; WSAPROTOCOLCHAIN ProtocolChain;
int iVersion; int iVersion;
int iAddressFamily; int iAddressFamily;
skipping to change at line 947 skipping to change at line 965
int iMinSockAddr; int iMinSockAddr;
int iSocketType; int iSocketType;
int iProtocol; int iProtocol;
int iProtocolMaxOffset; int iProtocolMaxOffset;
int iNetworkByteOrder; int iNetworkByteOrder;
int iSecurityScheme; int iSecurityScheme;
DWORD dwMessageSize; DWORD dwMessageSize;
DWORD dwProviderReserved; DWORD dwProviderReserved;
CHAR szProtocol[WSAPROTOCOL_LEN+1]; CHAR szProtocol[WSAPROTOCOL_LEN+1];
} WSAPROTOCOL_INFOA, FAR * LPWSAPROTOCOL_INFOA; } WSAPROTOCOL_INFOA, FAR * LPWSAPROTOCOL_INFOA;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef struct _WSAPROTOCOL_INFOW { typedef struct _WSAPROTOCOL_INFOW {
DWORD dwServiceFlags1; DWORD dwServiceFlags1;
DWORD dwServiceFlags2; DWORD dwServiceFlags2;
DWORD dwServiceFlags3; DWORD dwServiceFlags3;
DWORD dwServiceFlags4; DWORD dwServiceFlags4;
DWORD dwProviderFlags; DWORD dwProviderFlags;
GUID ProviderId; GUID ProviderId;
DWORD dwCatalogEntryId; DWORD dwCatalogEntryId;
WSAPROTOCOLCHAIN ProtocolChain; WSAPROTOCOLCHAIN ProtocolChain;
int iVersion; int iVersion;
skipping to change at line 973 skipping to change at line 994
int iNetworkByteOrder; int iNetworkByteOrder;
int iSecurityScheme; int iSecurityScheme;
DWORD dwMessageSize; DWORD dwMessageSize;
DWORD dwProviderReserved; DWORD dwProviderReserved;
WCHAR szProtocol[WSAPROTOCOL_LEN+1]; WCHAR szProtocol[WSAPROTOCOL_LEN+1];
} WSAPROTOCOL_INFOW, FAR * LPWSAPROTOCOL_INFOW; } WSAPROTOCOL_INFOW, FAR * LPWSAPROTOCOL_INFOW;
#ifdef UNICODE #ifdef UNICODE
typedef WSAPROTOCOL_INFOW WSAPROTOCOL_INFO; typedef WSAPROTOCOL_INFOW WSAPROTOCOL_INFO;
typedef LPWSAPROTOCOL_INFOW LPWSAPROTOCOL_INFO; typedef LPWSAPROTOCOL_INFOW LPWSAPROTOCOL_INFO;
#else #else
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef WSAPROTOCOL_INFOA WSAPROTOCOL_INFO; typedef WSAPROTOCOL_INFOA WSAPROTOCOL_INFO;
typedef LPWSAPROTOCOL_INFOA LPWSAPROTOCOL_INFO; typedef LPWSAPROTOCOL_INFOA LPWSAPROTOCOL_INFO;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* UNICODE */ #endif /* UNICODE */
/* Flag bit definitions for dwProviderFlags */ /* Flag bit definitions for dwProviderFlags */
#define PFL_MULTIPLE_PROTO_ENTRIES 0x00000001 #define PFL_MULTIPLE_PROTO_ENTRIES 0x00000001
#define PFL_RECOMMENDED_PROTO_ENTRY 0x00000002 #define PFL_RECOMMENDED_PROTO_ENTRY 0x00000002
#define PFL_HIDDEN 0x00000004 #define PFL_HIDDEN 0x00000004
#define PFL_MATCHES_PROTOCOL_ZERO 0x00000008 #define PFL_MATCHES_PROTOCOL_ZERO 0x00000008
#define PFL_NETWORKDIRECT_PROVIDER 0x00000010 #define PFL_NETWORKDIRECT_PROVIDER 0x00000010
/* Flag bit definitions for dwServiceFlags1 */ /* Flag bit definitions for dwServiceFlags1 */
skipping to change at line 1027 skipping to change at line 1052
/* /*
* WinSock 2 extension -- manifest constants for WSASocket() * WinSock 2 extension -- manifest constants for WSASocket()
*/ */
#define WSA_FLAG_OVERLAPPED 0x01 #define WSA_FLAG_OVERLAPPED 0x01
#define WSA_FLAG_MULTIPOINT_C_ROOT 0x02 #define WSA_FLAG_MULTIPOINT_C_ROOT 0x02
#define WSA_FLAG_MULTIPOINT_C_LEAF 0x04 #define WSA_FLAG_MULTIPOINT_C_LEAF 0x04
#define WSA_FLAG_MULTIPOINT_D_ROOT 0x08 #define WSA_FLAG_MULTIPOINT_D_ROOT 0x08
#define WSA_FLAG_MULTIPOINT_D_LEAF 0x10 #define WSA_FLAG_MULTIPOINT_D_LEAF 0x10
#define WSA_FLAG_ACCESS_SYSTEM_SECURITY 0x40 #define WSA_FLAG_ACCESS_SYSTEM_SECURITY 0x40
#define WSA_FLAG_NO_HANDLE_INHERIT 0x80
#define WSA_FLAG_REGISTERED_IO 0x100
/* /*
* WinSock 2 extensions -- data types for the condition function in * WinSock 2 extensions -- data types for the condition function in
* WSAAccept() and overlapped I/O completion routine. * WSAAccept() and overlapped I/O completion routine.
*/ */
typedef typedef
int int
(CALLBACK * LPCONDITIONPROC)( (CALLBACK * LPCONDITIONPROC)(
IN LPWSABUF lpCallerId, IN LPWSABUF lpCallerId,
skipping to change at line 1115 skipping to change at line 1142
#ifndef _tagBLOB_DEFINED #ifndef _tagBLOB_DEFINED
#define _tagBLOB_DEFINED #define _tagBLOB_DEFINED
#define _BLOB_DEFINED #define _BLOB_DEFINED
#define _LPBLOB_DEFINED #define _LPBLOB_DEFINED
typedef struct _BLOB { typedef struct _BLOB {
ULONG cbSize ; ULONG cbSize ;
#ifdef MIDL_PASS #ifdef MIDL_PASS
[size_is(cbSize)] BYTE *pBlobData; [size_is(cbSize)] BYTE *pBlobData;
#else /* MIDL_PASS */ #else /* MIDL_PASS */
__field_bcount(cbSize) BYTE *pBlobData ; _Field_size_bytes_(cbSize) BYTE *pBlobData ;
#endif /* MIDL_PASS */ #endif /* MIDL_PASS */
} BLOB, *LPBLOB ; } BLOB, *LPBLOB ;
#endif #endif
/* /*
* Service Install Flags * Service Install Flags
*/ */
#define SERVICE_MULTIPLE (0x00000001) #define SERVICE_MULTIPLE (0x00000001)
skipping to change at line 1292 skipping to change at line 1319
COMP_EQUAL = 0, COMP_EQUAL = 0,
COMP_NOTLESS COMP_NOTLESS
} WSAECOMPARATOR, *PWSAECOMPARATOR, *LPWSAECOMPARATOR; } WSAECOMPARATOR, *PWSAECOMPARATOR, *LPWSAECOMPARATOR;
typedef struct _WSAVersion typedef struct _WSAVersion
{ {
DWORD dwVersion; DWORD dwVersion;
WSAECOMPARATOR ecHow; WSAECOMPARATOR ecHow;
}WSAVERSION, *PWSAVERSION, *LPWSAVERSION; }WSAVERSION, *PWSAVERSION, *LPWSAVERSION;
typedef struct _WSAQuerySetA #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _WINSOCK_DEPRECATED_BY("WSAQUERYSETW") _WSAQuerySetA
{ {
DWORD dwSize; DWORD dwSize;
LPSTR lpszServiceInstanceName; LPSTR lpszServiceInstanceName;
LPGUID lpServiceClassId; LPGUID lpServiceClassId;
LPWSAVERSION lpVersion; LPWSAVERSION lpVersion;
LPSTR lpszComment; LPSTR lpszComment;
DWORD dwNameSpace; DWORD dwNameSpace;
LPGUID lpNSProviderId; LPGUID lpNSProviderId;
LPSTR lpszContext; LPSTR lpszContext;
DWORD dwNumberOfProtocols; DWORD dwNumberOfProtocols;
__field_ecount(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols; _Field_size_(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols;
LPSTR lpszQueryString; LPSTR lpszQueryString;
DWORD dwNumberOfCsAddrs; DWORD dwNumberOfCsAddrs;
__field_ecount(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer; _Field_size_(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer;
DWORD dwOutputFlags; DWORD dwOutputFlags;
LPBLOB lpBlob; LPBLOB lpBlob;
} WSAQUERYSETA, *PWSAQUERYSETA, *LPWSAQUERYSETA; } WSAQUERYSETA, *PWSAQUERYSETA, *LPWSAQUERYSETA;
typedef __struct_bcount(dwSize) struct _WSAQuerySetW #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef _Struct_size_bytes_(dwSize) struct _WSAQuerySetW
{ {
DWORD dwSize; _Field_range_(>=,sizeof(struct _WSAQuerySetW)) DWORD dwSize;
LPWSTR lpszServiceInstanceName; LPWSTR lpszServiceInstanceName;
LPGUID lpServiceClassId; LPGUID lpServiceClassId;
LPWSAVERSION lpVersion; LPWSAVERSION lpVersion;
LPWSTR lpszComment; LPWSTR lpszComment;
DWORD dwNameSpace; DWORD dwNameSpace;
LPGUID lpNSProviderId; LPGUID lpNSProviderId;
LPWSTR lpszContext; LPWSTR lpszContext;
DWORD dwNumberOfProtocols; DWORD dwNumberOfProtocols;
__field_ecount(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols; _Field_size_(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols;
LPWSTR lpszQueryString; LPWSTR lpszQueryString;
DWORD dwNumberOfCsAddrs; DWORD dwNumberOfCsAddrs;
__field_ecount(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer; _Field_size_(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer;
DWORD dwOutputFlags; DWORD dwOutputFlags;
LPBLOB lpBlob; LPBLOB lpBlob;
} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW; } WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;
typedef struct _WSAQuerySet2A #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _WINSOCK_DEPRECATED_BY("WSAQUERYSET2W") _WSAQuerySet2A
{ {
DWORD dwSize; DWORD dwSize;
LPSTR lpszServiceInstanceName; LPSTR lpszServiceInstanceName;
LPWSAVERSION lpVersion; LPWSAVERSION lpVersion;
LPSTR lpszComment; LPSTR lpszComment;
DWORD dwNameSpace; DWORD dwNameSpace;
LPGUID lpNSProviderId; LPGUID lpNSProviderId;
LPSTR lpszContext; LPSTR lpszContext;
DWORD dwNumberOfProtocols; DWORD dwNumberOfProtocols;
LPAFPROTOCOLS lpafpProtocols; LPAFPROTOCOLS lpafpProtocols;
skipping to change at line 1356 skipping to change at line 1391
typedef struct _WSAQuerySet2W typedef struct _WSAQuerySet2W
{ {
DWORD dwSize; DWORD dwSize;
LPWSTR lpszServiceInstanceName; LPWSTR lpszServiceInstanceName;
LPWSAVERSION lpVersion; LPWSAVERSION lpVersion;
LPWSTR lpszComment; LPWSTR lpszComment;
DWORD dwNameSpace; DWORD dwNameSpace;
LPGUID lpNSProviderId; LPGUID lpNSProviderId;
LPWSTR lpszContext; LPWSTR lpszContext;
DWORD dwNumberOfProtocols; DWORD dwNumberOfProtocols;
__field_ecount(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols; _Field_size_(dwNumberOfProtocols) LPAFPROTOCOLS lpafpProtocols;
LPWSTR lpszQueryString; LPWSTR lpszQueryString;
DWORD dwNumberOfCsAddrs; DWORD dwNumberOfCsAddrs;
__field_ecount(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer; _Field_size_(dwNumberOfCsAddrs) LPCSADDR_INFO lpcsaBuffer;
DWORD dwOutputFlags; DWORD dwOutputFlags;
LPBLOB lpBlob; LPBLOB lpBlob;
} WSAQUERYSET2W, *PWSAQUERYSET2W, *LPWSAQUERYSET2W; } WSAQUERYSET2W, *PWSAQUERYSET2W, *LPWSAQUERYSET2W;
#ifdef UNICODE #ifdef UNICODE
typedef WSAQUERYSETW WSAQUERYSET; typedef WSAQUERYSETW WSAQUERYSET;
typedef PWSAQUERYSETW PWSAQUERYSET; typedef PWSAQUERYSETW PWSAQUERYSET;
typedef LPWSAQUERYSETW LPWSAQUERYSET; typedef LPWSAQUERYSETW LPWSAQUERYSET;
typedef WSAQUERYSET2W WSAQUERYSET2; typedef WSAQUERYSET2W WSAQUERYSET2;
typedef PWSAQUERYSET2W PWSAQUERYSET2; typedef PWSAQUERYSET2W PWSAQUERYSET2;
typedef LPWSAQUERYSET2W LPWSAQUERYSET2; typedef LPWSAQUERYSET2W LPWSAQUERYSET2;
#else #else
typedef WSAQUERYSETA WSAQUERYSET; typedef WSAQUERYSETA WSAQUERYSET;
typedef PWSAQUERYSETA PWSAQUERYSET; typedef PWSAQUERYSETA PWSAQUERYSET;
typedef LPWSAQUERYSETA LPWSAQUERYSET; typedef LPWSAQUERYSETA LPWSAQUERYSET;
typedef WSAQUERYSET2A WSAQUERYSET2; typedef WSAQUERYSET2A WSAQUERYSET2;
typedef PWSAQUERYSET2A PWSAQUERYSET2; typedef PWSAQUERYSET2A PWSAQUERYSET2;
typedef LPWSAQUERYSET2A LPWSAQUERYSET2; typedef LPWSAQUERYSET2A LPWSAQUERYSET2;
#endif /* UNICODE */ #endif /* UNICODE */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#define LUP_DEEP 0x0001 #define LUP_DEEP 0x0001
#define LUP_CONTAINERS 0x0002 #define LUP_CONTAINERS 0x0002
#define LUP_NOCONTAINERS 0x0004 #define LUP_NOCONTAINERS 0x0004
#define LUP_NEAREST 0x0008 #define LUP_NEAREST 0x0008
#define LUP_RETURN_NAME 0x0010 #define LUP_RETURN_NAME 0x0010
#define LUP_RETURN_TYPE 0x0020 #define LUP_RETURN_TYPE 0x0020
#define LUP_RETURN_VERSION 0x0040 #define LUP_RETURN_VERSION 0x0040
#define LUP_RETURN_COMMENT 0x0080 #define LUP_RETURN_COMMENT 0x0080
#define LUP_RETURN_ADDR 0x0100 #define LUP_RETURN_ADDR 0x0100
#define LUP_RETURN_BLOB 0x0200 #define LUP_RETURN_BLOB 0x0200
skipping to change at line 1405 skipping to change at line 1443
#define LUP_FLUSHCACHE 0x1000 #define LUP_FLUSHCACHE 0x1000
#define LUP_FLUSHPREVIOUS 0x2000 #define LUP_FLUSHPREVIOUS 0x2000
#define LUP_NON_AUTHORITATIVE 0x4000 #define LUP_NON_AUTHORITATIVE 0x4000
#define LUP_SECURE 0x8000 #define LUP_SECURE 0x8000
#define LUP_RETURN_PREFERRED_NAMES 0x10000 #define LUP_RETURN_PREFERRED_NAMES 0x10000
#define LUP_ADDRCONFIG 0x00100000 #define LUP_ADDRCONFIG 0x00100000
#define LUP_DUAL_ADDR 0x00200000 #define LUP_DUAL_ADDR 0x00200000
#define LUP_FILESERVER 0x00400000 #define LUP_FILESERVER 0x00400000
#define LUP_DISABLE_IDN_ENCODING 0x00800000
#define LUP_API_ANSI 0x01000000
/* /*
* Return flags * Return flags
*/ */
#define RESULT_IS_ALIAS 0x0001 #define RESULT_IS_ALIAS 0x0001
#if(_WIN32_WINNT >= 0x0501) #if(_WIN32_WINNT >= 0x0501)
#define RESULT_IS_ADDED 0x0010 #define RESULT_IS_ADDED 0x0010
#define RESULT_IS_CHANGED 0x0020 #define RESULT_IS_CHANGED 0x0020
#define RESULT_IS_DELETED 0x0040 #define RESULT_IS_DELETED 0x0040
skipping to change at line 1432 skipping to change at line 1472
{ {
RNRSERVICE_REGISTER=0, RNRSERVICE_REGISTER=0,
RNRSERVICE_DEREGISTER, RNRSERVICE_DEREGISTER,
RNRSERVICE_DELETE RNRSERVICE_DELETE
} WSAESETSERVICEOP, *PWSAESETSERVICEOP, *LPWSAESETSERVICEOP; } WSAESETSERVICEOP, *PWSAESETSERVICEOP, *LPWSAESETSERVICEOP;
/* /*
* Service Installation/Removal Data Types. * Service Installation/Removal Data Types.
*/ */
typedef struct _WSANSClassInfoA #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _WINSOCK_DEPRECATED_BY("WSANSCLASSINFOW") _WSANSClassInfoA
{ {
LPSTR lpszName; LPSTR lpszName;
DWORD dwNameSpace; DWORD dwNameSpace;
DWORD dwValueType; DWORD dwValueType;
DWORD dwValueSize; DWORD dwValueSize;
LPVOID lpValue; LPVOID lpValue;
}WSANSCLASSINFOA, *PWSANSCLASSINFOA, *LPWSANSCLASSINFOA; }WSANSCLASSINFOA, *PWSANSCLASSINFOA, *LPWSANSCLASSINFOA;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef struct _WSANSClassInfoW typedef struct _WSANSClassInfoW
{ {
LPWSTR lpszName; LPWSTR lpszName;
DWORD dwNameSpace; DWORD dwNameSpace;
DWORD dwValueType; DWORD dwValueType;
DWORD dwValueSize; DWORD dwValueSize;
LPVOID lpValue; LPVOID lpValue;
}WSANSCLASSINFOW, *PWSANSCLASSINFOW, *LPWSANSCLASSINFOW; }WSANSCLASSINFOW, *PWSANSCLASSINFOW, *LPWSANSCLASSINFOW;
#ifdef UNICODE #ifdef UNICODE
typedef WSANSCLASSINFOW WSANSCLASSINFO; typedef WSANSCLASSINFOW WSANSCLASSINFO;
typedef PWSANSCLASSINFOW PWSANSCLASSINFO; typedef PWSANSCLASSINFOW PWSANSCLASSINFO;
typedef LPWSANSCLASSINFOW LPWSANSCLASSINFO; typedef LPWSANSCLASSINFOW LPWSANSCLASSINFO;
#else #else
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef WSANSCLASSINFOA WSANSCLASSINFO; typedef WSANSCLASSINFOA WSANSCLASSINFO;
typedef PWSANSCLASSINFOA PWSANSCLASSINFO; typedef PWSANSCLASSINFOA PWSANSCLASSINFO;
typedef LPWSANSCLASSINFOA LPWSANSCLASSINFO; typedef LPWSANSCLASSINFOA LPWSANSCLASSINFO;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* UNICODE */ #endif /* UNICODE */
typedef struct _WSAServiceClassInfoA #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _WINSOCK_DEPRECATED_BY("WSASERVICECLASSINFOW") _WSAServiceClassIn
foA
{ {
LPGUID lpServiceClassId; LPGUID lpServiceClassId;
LPSTR lpszServiceClassName; LPSTR lpszServiceClassName;
DWORD dwCount; DWORD dwCount;
LPWSANSCLASSINFOA lpClassInfos; LPWSANSCLASSINFOA lpClassInfos;
}WSASERVICECLASSINFOA, *PWSASERVICECLASSINFOA, *LPWSASERVICECLASSINFOA; }WSASERVICECLASSINFOA, *PWSASERVICECLASSINFOA, *LPWSASERVICECLASSINFOA;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef struct _WSAServiceClassInfoW typedef struct _WSAServiceClassInfoW
{ {
LPGUID lpServiceClassId; LPGUID lpServiceClassId;
LPWSTR lpszServiceClassName; LPWSTR lpszServiceClassName;
DWORD dwCount; DWORD dwCount;
LPWSANSCLASSINFOW lpClassInfos; LPWSANSCLASSINFOW lpClassInfos;
}WSASERVICECLASSINFOW, *PWSASERVICECLASSINFOW, *LPWSASERVICECLASSINFOW; }WSASERVICECLASSINFOW, *PWSASERVICECLASSINFOW, *LPWSASERVICECLASSINFOW;
#ifdef UNICODE #ifdef UNICODE
typedef WSASERVICECLASSINFOW WSASERVICECLASSINFO; typedef WSASERVICECLASSINFOW WSASERVICECLASSINFO;
typedef PWSASERVICECLASSINFOW PWSASERVICECLASSINFO; typedef PWSASERVICECLASSINFOW PWSASERVICECLASSINFO;
typedef LPWSASERVICECLASSINFOW LPWSASERVICECLASSINFO; typedef LPWSASERVICECLASSINFOW LPWSASERVICECLASSINFO;
#else #else
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef WSASERVICECLASSINFOA WSASERVICECLASSINFO; typedef WSASERVICECLASSINFOA WSASERVICECLASSINFO;
typedef PWSASERVICECLASSINFOA PWSASERVICECLASSINFO; typedef PWSASERVICECLASSINFOA PWSASERVICECLASSINFO;
typedef LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFO; typedef LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFO;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* UNICODE */ #endif /* UNICODE */
typedef struct _WSANAMESPACE_INFOA { #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _WINSOCK_DEPRECATED_BY("WSANAMESPACE_INFOW") _WSANAMESPACE_INFOA
{
GUID NSProviderId; GUID NSProviderId;
DWORD dwNameSpace; DWORD dwNameSpace;
BOOL fActive; BOOL fActive;
DWORD dwVersion; DWORD dwVersion;
LPSTR lpszIdentifier; LPSTR lpszIdentifier;
} WSANAMESPACE_INFOA, *PWSANAMESPACE_INFOA, *LPWSANAMESPACE_INFOA; } WSANAMESPACE_INFOA, *PWSANAMESPACE_INFOA, *LPWSANAMESPACE_INFOA;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef struct _WSANAMESPACE_INFOW { typedef struct _WSANAMESPACE_INFOW {
GUID NSProviderId; GUID NSProviderId;
DWORD dwNameSpace; DWORD dwNameSpace;
BOOL fActive; BOOL fActive;
DWORD dwVersion; DWORD dwVersion;
LPWSTR lpszIdentifier; LPWSTR lpszIdentifier;
} WSANAMESPACE_INFOW, *PWSANAMESPACE_INFOW, *LPWSANAMESPACE_INFOW; } WSANAMESPACE_INFOW, *PWSANAMESPACE_INFOW, *LPWSANAMESPACE_INFOW;
typedef struct _WSANAMESPACE_INFOEXA { #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _WINSOCK_DEPRECATED_BY("WSANAMESPACE_INFOEXW") _WSANAMESPACE_INFO
EXA {
GUID NSProviderId; GUID NSProviderId;
DWORD dwNameSpace; DWORD dwNameSpace;
BOOL fActive; BOOL fActive;
DWORD dwVersion; DWORD dwVersion;
LPSTR lpszIdentifier; LPSTR lpszIdentifier;
BLOB ProviderSpecific; BLOB ProviderSpecific;
} WSANAMESPACE_INFOEXA, *PWSANAMESPACE_INFOEXA, *LPWSANAMESPACE_INFOEXA; } WSANAMESPACE_INFOEXA, *PWSANAMESPACE_INFOEXA, *LPWSANAMESPACE_INFOEXA;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef struct _WSANAMESPACE_INFOEXW { typedef struct _WSANAMESPACE_INFOEXW {
GUID NSProviderId; GUID NSProviderId;
DWORD dwNameSpace; DWORD dwNameSpace;
BOOL fActive; BOOL fActive;
DWORD dwVersion; DWORD dwVersion;
LPWSTR lpszIdentifier; LPWSTR lpszIdentifier;
BLOB ProviderSpecific; BLOB ProviderSpecific;
} WSANAMESPACE_INFOEXW, *PWSANAMESPACE_INFOEXW, *LPWSANAMESPACE_INFOEXW; } WSANAMESPACE_INFOEXW, *PWSANAMESPACE_INFOEXW, *LPWSANAMESPACE_INFOEXW;
#ifdef UNICODE #ifdef UNICODE
typedef WSANAMESPACE_INFOW WSANAMESPACE_INFO; typedef WSANAMESPACE_INFOW WSANAMESPACE_INFO;
typedef PWSANAMESPACE_INFOW PWSANAMESPACE_INFO; typedef PWSANAMESPACE_INFOW PWSANAMESPACE_INFO;
typedef LPWSANAMESPACE_INFOW LPWSANAMESPACE_INFO; typedef LPWSANAMESPACE_INFOW LPWSANAMESPACE_INFO;
typedef WSANAMESPACE_INFOEXW WSANAMESPACE_INFOEX; typedef WSANAMESPACE_INFOEXW WSANAMESPACE_INFOEX;
typedef PWSANAMESPACE_INFOEXW PWSANAMESPACE_INFOEX; typedef PWSANAMESPACE_INFOEXW PWSANAMESPACE_INFOEX;
typedef LPWSANAMESPACE_INFOEXW LPWSANAMESPACE_INFOEX; typedef LPWSANAMESPACE_INFOEXW LPWSANAMESPACE_INFOEX;
#else #else
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef WSANAMESPACE_INFOA WSANAMESPACE_INFO; typedef WSANAMESPACE_INFOA WSANAMESPACE_INFO;
typedef PWSANAMESPACE_INFOA PWSANAMESPACE_INFO; typedef PWSANAMESPACE_INFOA PWSANAMESPACE_INFO;
typedef LPWSANAMESPACE_INFOA LPWSANAMESPACE_INFO; typedef LPWSANAMESPACE_INFOA LPWSANAMESPACE_INFO;
typedef WSANAMESPACE_INFOEXA WSANAMESPACE_INFOEX; typedef WSANAMESPACE_INFOEXA WSANAMESPACE_INFOEX;
typedef PWSANAMESPACE_INFOEXA PWSANAMESPACE_INFOEX; typedef PWSANAMESPACE_INFOEXA PWSANAMESPACE_INFOEX;
typedef LPWSANAMESPACE_INFOEXA LPWSANAMESPACE_INFOEX; typedef LPWSANAMESPACE_INFOEXA LPWSANAMESPACE_INFOEX;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* UNICODE */ #endif /* UNICODE */
#if(_WIN32_WINNT >= 0x0600) #if(_WIN32_WINNT >= 0x0600)
/* Event flag definitions for WSAPoll(). */ /* Event flag definitions for WSAPoll(). */
#define POLLRDNORM 0x0100 #define POLLRDNORM 0x0100
#define POLLRDBAND 0x0200 #define POLLRDBAND 0x0200
#define POLLIN (POLLRDNORM | POLLRDBAND) #define POLLIN (POLLRDNORM | POLLRDBAND)
#define POLLPRI 0x0400 #define POLLPRI 0x0400
skipping to change at line 1563 skipping to change at line 1634
SHORT revents; SHORT revents;
} WSAPOLLFD, *PWSAPOLLFD, FAR *LPWSAPOLLFD; } WSAPOLLFD, *PWSAPOLLFD, FAR *LPWSAPOLLFD;
#endif // (_WIN32_WINNT >= 0x0600) #endif // (_WIN32_WINNT >= 0x0600)
/* Socket function prototypes */ /* Socket function prototypes */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
__checkReturn _Must_inspect_result_
SOCKET SOCKET
WSAAPI WSAAPI
accept( accept(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_opt(*addrlen) struct sockaddr FAR * addr, _Out_writes_bytes_opt_(*addrlen) struct sockaddr FAR * addr,
__inout_opt int FAR * addrlen _Inout_opt_ int FAR * addrlen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
__checkReturn _Must_inspect_result_
SOCKET SOCKET
(WSAAPI * LPFN_ACCEPT)( (WSAAPI * LPFN_ACCEPT)(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_opt(*addrlen) struct sockaddr FAR * addr, _Out_writes_bytes_opt_(*addrlen) struct sockaddr FAR * addr,
__inout_opt int FAR * addrlen _Inout_opt_ int FAR * addrlen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
bind( bind(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen _In_ int namelen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_BIND)( (WSAAPI * LPFN_BIND)(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen _In_ int namelen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
closesocket( closesocket(
__in SOCKET s _In_ SOCKET s
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_CLOSESOCKET)( (WSAAPI * LPFN_CLOSESOCKET)(
__in SOCKET s _In_ SOCKET s
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
connect( connect(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen _In_ int namelen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_CONNECT)( (WSAAPI * LPFN_CONNECT)(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen _In_ int namelen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
ioctlsocket( ioctlsocket(
__in SOCKET s, _In_ SOCKET s,
__in long cmd, _In_ long cmd,
__inout u_long FAR * argp _Inout_ u_long FAR * argp
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_IOCTLSOCKET)( (WSAAPI * LPFN_IOCTLSOCKET)(
__in SOCKET s, _In_ SOCKET s,
__in long cmd, _In_ long cmd,
__inout u_long FAR * argp _Inout_ u_long FAR * argp
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
getpeername( getpeername(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part(*namelen,*namelen) struct sockaddr FAR * name, _Out_writes_bytes_to_(*namelen,*namelen) struct sockaddr FAR * name,
__inout int FAR * namelen _Inout_ int FAR * namelen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_GETPEERNAME)( (WSAAPI * LPFN_GETPEERNAME)(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part(*namelen,*namelen) struct sockaddr FAR * name, _Out_writes_bytes_to_(*namelen,*namelen) struct sockaddr FAR * name,
__inout int FAR * namelen _Inout_ int FAR * namelen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
getsockname( getsockname(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part(*namelen,*namelen) struct sockaddr FAR * name, _Out_writes_bytes_to_(*namelen,*namelen) struct sockaddr FAR * name,
__inout int FAR * namelen _Inout_ int FAR * namelen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_GETSOCKNAME)( (WSAAPI * LPFN_GETSOCKNAME)(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part(*namelen,*namelen) struct sockaddr FAR * name, _Out_writes_bytes_to_(*namelen,*namelen) struct sockaddr FAR * name,
__inout int FAR * namelen _Inout_ int FAR * namelen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
getsockopt( getsockopt(
__in SOCKET s, _In_ SOCKET s,
__in int level, _In_ int level,
__in int optname, _In_ int optname,
__out_bcount(*optlen) char FAR * optval, _Out_writes_bytes_(*optlen) char FAR * optval,
__inout int FAR * optlen _Inout_ int FAR * optlen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_GETSOCKOPT)( (WSAAPI * LPFN_GETSOCKOPT)(
__in SOCKET s, _In_ SOCKET s,
__in int level, _In_ int level,
__in int optname, _In_ int optname,
__out_bcount(*optlen) char FAR * optval, _Out_writes_bytes_(*optlen) char FAR * optval,
__inout int FAR * optlen _Inout_ int FAR * optlen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
u_long u_long
WSAAPI WSAAPI
htonl( htonl(
__in u_long hostlong _In_ u_long hostlong
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
u_long u_long
(WSAAPI * LPFN_HTONL)( (WSAAPI * LPFN_HTONL)(
__in u_long hostlong _In_ u_long hostlong
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
u_short u_short
WSAAPI WSAAPI
htons( htons(
__in u_short hostshort _In_ u_short hostshort
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
u_short u_short
(WSAAPI * LPFN_HTONS)( (WSAAPI * LPFN_HTONS)(
__in u_short hostshort _In_ u_short hostshort
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) _WINSOCK_DEPRECATED_BY("inet_pton() or InetPton()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
unsigned long unsigned long
WSAAPI WSAAPI
inet_addr( inet_addr(
__in IN const char FAR * cp _In_z_ const char FAR * cp
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
unsigned long unsigned long
(WSAAPI * LPFN_INET_ADDR)( (WSAAPI * LPFN_INET_ADDR)(
__in const char FAR * cp _In_ const char FAR * cp
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
_WINSOCK_DEPRECATED_BY("inet_ntop() or InetNtop()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
char FAR * char FAR *
WSAAPI WSAAPI
inet_ntoa( inet_ntoa(
__in struct in_addr in _In_ struct in_addr in
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
char FAR * char FAR *
(WSAAPI * LPFN_INET_NTOA)( (WSAAPI * LPFN_INET_NTOA)(
__in struct in_addr in _In_ struct in_addr in
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if !defined(NO_EXTRA_HTON_FUNCTIONS) && !defined(__midl) && (defined(INCL_EXTRA
_HTON_FUNCTIONS) || NTDDI_VERSION>=NTDDI_WIN8)
/*
* Byte order conversion functions for 64-bit integers and 32 + 64 bit
* floating-point numbers. IEEE big-endian format is used for the
* network floating point format.
*/
#define _WS2_32_WINSOCK_SWAP_LONG(l) \
( ( ((l) >> 24) & 0x000000FFL ) | \
( ((l) >> 8) & 0x0000FF00L ) | \
( ((l) << 8) & 0x00FF0000L ) | \
( ((l) << 24) & 0xFF000000L ) )
#define _WS2_32_WINSOCK_SWAP_LONGLONG(l) \
( ( ((l) >> 56) & 0x00000000000000FFLL ) | \
( ((l) >> 40) & 0x000000000000FF00LL ) | \
( ((l) >> 24) & 0x0000000000FF0000LL ) | \
( ((l) >> 8) & 0x00000000FF000000LL ) | \
( ((l) << 8) & 0x000000FF00000000LL ) | \
( ((l) << 24) & 0x0000FF0000000000LL ) | \
( ((l) << 40) & 0x00FF000000000000LL ) | \
( ((l) << 56) & 0xFF00000000000000LL ) )
#ifndef htonll
__inline unsigned __int64 htonll ( unsigned __int64 Value )
{
const unsigned __int64 Retval = _WS2_32_WINSOCK_SWAP_LONGLONG (Value);
return Retval;
}
#endif /* htonll */
#ifndef ntohll
__inline unsigned __int64 ntohll ( unsigned __int64 Value )
{
const unsigned __int64 Retval = _WS2_32_WINSOCK_SWAP_LONGLONG (Value);
return Retval;
}
#endif /* ntohll */
#ifndef htonf
__inline unsigned __int32 htonf ( float Value )
{
unsigned __int32 Tempval;
unsigned __int32 Retval;
Tempval = *(unsigned __int32*)(&Value);
Retval = _WS2_32_WINSOCK_SWAP_LONG (Tempval);
return Retval;
}
#endif /* htonf */
#ifndef ntohf
__inline float ntohf ( unsigned __int32 Value )
{
const unsigned __int32 Tempval = _WS2_32_WINSOCK_SWAP_LONG (Value);
float Retval;
*((unsigned __int32*)&Retval) = Tempval;
return Retval;
}
#endif /* ntohf */
#ifndef htond
__inline unsigned __int64 htond ( double Value )
{
unsigned __int64 Tempval;
unsigned __int64 Retval;
Tempval = *(unsigned __int64*)(&Value);
Retval = _WS2_32_WINSOCK_SWAP_LONGLONG (Tempval);
return Retval;
}
#endif /* htond */
#ifndef ntohd
__inline double ntohd ( unsigned __int64 Value )
{
const unsigned __int64 Tempval = _WS2_32_WINSOCK_SWAP_LONGLONG (Value);
double Retval;
*((unsigned __int64*)&Retval) = Tempval;
return Retval;
}
#endif /* ntohd */
#endif /* NO_EXTRA_HTON_FUNCTIONS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
listen( listen(
__in SOCKET s, _In_ SOCKET s,
__in int backlog _In_ int backlog
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_LISTEN)( (WSAAPI * LPFN_LISTEN)(
__in SOCKET s, _In_ SOCKET s,
__in int backlog _In_ int backlog
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
u_long u_long
WSAAPI WSAAPI
ntohl( ntohl(
__in u_long netlong _In_ u_long netlong
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
u_long u_long
(WSAAPI * LPFN_NTOHL)( (WSAAPI * LPFN_NTOHL)(
__in u_long netlong _In_ u_long netlong
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
u_short u_short
WSAAPI WSAAPI
ntohs( ntohs(
__in u_short netshort _In_ u_short netshort
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
u_short u_short
(WSAAPI * LPFN_NTOHS)( (WSAAPI * LPFN_NTOHS)(
__in u_short netshort _In_ u_short netshort
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
recv( recv(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part(len, return) __out_data_source(NETWORK) char FAR * buf, _Out_writes_bytes_to_(len, return) __out_data_source(NETWORK) char FAR * buf
__in int len, ,
__in int flags _In_ int len,
_In_ int flags
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_RECV)( (WSAAPI * LPFN_RECV)(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part(len, return) char FAR * buf, _Out_writes_bytes_to_(len, return) char FAR * buf,
__in int len, _In_ int len,
__in int flags _In_ int flags
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
recvfrom( recvfrom(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part(len, return) __out_data_source(NETWORK) char FAR * buf, _Out_writes_bytes_to_(len, return) __out_data_source(NETWORK) char FAR * buf
__in int len, ,
__in int flags, _In_ int len,
__out_bcount_part_opt(*fromlen, *fromlen) struct sockaddr FAR * from, _In_ int flags,
__inout_opt int FAR * fromlen _Out_writes_bytes_to_opt_(*fromlen, *fromlen) struct sockaddr FAR * from,
_Inout_opt_ int FAR * fromlen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_RECVFROM)( (WSAAPI * LPFN_RECVFROM)(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part(len, return) char FAR * buf, _Out_writes_bytes_to_(len, return) char FAR * buf,
__in int len, _In_ int len,
__in int flags, _In_ int flags,
__out_bcount_part_opt(*fromlen, *fromlen) struct sockaddr FAR * from, _Out_writes_bytes_to_opt_(*fromlen, *fromlen) struct sockaddr FAR * from,
__inout_opt int FAR * fromlen _Inout_opt_ int FAR * fromlen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
select( select(
__in int nfds, _In_ int nfds,
__inout_opt fd_set FAR * readfds, _Inout_opt_ fd_set FAR * readfds,
__inout_opt fd_set FAR * writefds, _Inout_opt_ fd_set FAR * writefds,
__inout_opt fd_set FAR * exceptfds, _Inout_opt_ fd_set FAR * exceptfds,
__in_opt const struct timeval FAR * timeout _In_opt_ const struct timeval FAR * timeout
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_SELECT)( (WSAAPI * LPFN_SELECT)(
__in int nfds, _In_ int nfds,
__inout_opt fd_set FAR * readfds, _Inout_opt_ fd_set FAR * readfds,
__inout_opt fd_set FAR * writefds, _Inout_opt_ fd_set FAR * writefds,
__inout_opt fd_set FAR *exceptfds, _Inout_opt_ fd_set FAR *exceptfds,
__in_opt const struct timeval FAR * timeout _In_opt_ const struct timeval FAR * timeout
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
send( send(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(len) const char FAR * buf, _In_reads_bytes_(len) const char FAR * buf,
__in int len, _In_ int len,
__in int flags _In_ int flags
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_SEND)( (WSAAPI * LPFN_SEND)(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(len) const char FAR * buf, _In_reads_bytes_(len) const char FAR * buf,
__in int len, _In_ int len,
__in int flags _In_ int flags
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
sendto( sendto(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(len) const char FAR * buf, _In_reads_bytes_(len) const char FAR * buf,
__in int len, _In_ int len,
__in int flags, _In_ int flags,
__in_bcount(tolen) const struct sockaddr FAR * to, _In_reads_bytes_(tolen) const struct sockaddr FAR * to,
__in int tolen _In_ int tolen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_SENDTO)( (WSAAPI * LPFN_SENDTO)(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(len) const char FAR * buf, _In_reads_bytes_(len) const char FAR * buf,
__in int len, _In_ int len,
__in int flags, _In_ int flags,
__in_bcount(tolen) const struct sockaddr FAR * to, _In_reads_bytes_(tolen) const struct sockaddr FAR * to,
__in int tolen _In_ int tolen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
setsockopt( setsockopt(
__in SOCKET s, _In_ SOCKET s,
__in int level, _In_ int level,
__in int optname, _In_ int optname,
__in_bcount_opt(optlen) const char FAR * optval, _In_reads_bytes_opt_(optlen) const char FAR * optval,
__in int optlen _In_ int optlen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_SETSOCKOPT)( (WSAAPI * LPFN_SETSOCKOPT)(
__in SOCKET s, _In_ SOCKET s,
__in int level, _In_ int level,
__in int optname, _In_ int optname,
__in_bcount(optlen) const char FAR * optval, _In_reads_bytes_(optlen) const char FAR * optval,
__in int optlen _In_ int optlen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
shutdown( shutdown(
__in SOCKET s, _In_ SOCKET s,
__in int how _In_ int how
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_SHUTDOWN)( (WSAAPI * LPFN_SHUTDOWN)(
__in SOCKET s, _In_ SOCKET s,
__in int how _In_ int how
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
__checkReturn _Must_inspect_result_
SOCKET SOCKET
WSAAPI WSAAPI
socket( socket(
__in int af, _In_ int af,
__in int type, _In_ int type,
__in int protocol _In_ int protocol
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
__checkReturn _Must_inspect_result_
SOCKET SOCKET
(WSAAPI * LPFN_SOCKET)( (WSAAPI * LPFN_SOCKET)(
__in int af, _In_ int af,
__in int type, _In_ int type,
__in int protocol _In_ int protocol
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
/* Database function prototypes */ /* Database function prototypes */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
_WINSOCK_DEPRECATED_BY("getnameinfo() or GetNameInfoW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
struct hostent FAR * struct hostent FAR *
WSAAPI WSAAPI
gethostbyaddr( gethostbyaddr(
__in_bcount(len) const char FAR * addr, _In_reads_bytes_(len) const char FAR * addr,
__in int len, _In_ int len,
__in int type _In_ int type
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
struct hostent FAR * struct hostent FAR *
(WSAAPI * LPFN_GETHOSTBYADDR)( (WSAAPI * LPFN_GETHOSTBYADDR)(
__in_bcount(len) const char FAR * addr, _In_reads_bytes_(len) const char FAR * addr,
__in int len, _In_ int len,
__in int type _In_ int type
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) _WINSOCK_DEPRECATED_BY("getaddrinfo() or GetAddrInfoW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
struct hostent FAR * struct hostent FAR *
WSAAPI WSAAPI
gethostbyname( gethostbyname(
__in const char FAR * name _In_z_ const char FAR * name
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
struct hostent FAR * struct hostent FAR *
(WSAAPI * LPFN_GETHOSTBYNAME)( (WSAAPI * LPFN_GETHOSTBYNAME)(
__in const char FAR * name _In_ const char FAR * name
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
gethostname( gethostname(
__out_bcount(namelen) char FAR * name, _Out_writes_bytes_(namelen) char FAR * name,
__in int namelen _In_ int namelen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_GETHOSTNAME)( (WSAAPI * LPFN_GETHOSTNAME)(
__out_bcount(namelen) char FAR * name, _Out_writes_bytes_(namelen) char FAR * name,
__in int namelen _In_ int namelen
);
#endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE
int
WSAAPI
GetHostNameW(
_Out_writes_(namelen) PWSTR name,
_In_ int namelen
);
#endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS
typedef
int
(WSAAPI * LPFN_GETHOSTNAMEW)(
_Out_writes_(namelen) PWSTR name,
_In_ int namelen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
struct servent FAR * struct servent FAR *
WSAAPI WSAAPI
getservbyport( getservbyport(
__in int port, _In_ int port,
__in_z const char FAR * proto _In_opt_z_ const char FAR * proto
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
struct servent FAR * struct servent FAR *
(WSAAPI * LPFN_GETSERVBYPORT)( (WSAAPI * LPFN_GETSERVBYPORT)(
__in int port, _In_ int port,
__in_z const char FAR * proto _In_opt_z_ const char FAR * proto
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
struct servent FAR * struct servent FAR *
WSAAPI WSAAPI
getservbyname( getservbyname(
__in_z const char FAR * name, _In_z_ const char FAR * name,
__in_z const char FAR * proto _In_opt_z_ const char FAR * proto
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
struct servent FAR * struct servent FAR *
(WSAAPI * LPFN_GETSERVBYNAME)( (WSAAPI * LPFN_GETSERVBYNAME)(
__in_z const char FAR * name, _In_z_ const char FAR * name,
__in_z const char FAR * proto _In_opt_z_ const char FAR * proto
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
struct protoent FAR * struct protoent FAR *
WSAAPI WSAAPI
getprotobynumber( getprotobynumber(
__in int number _In_ int number
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
struct protoent FAR * struct protoent FAR *
(WSAAPI * LPFN_GETPROTOBYNUMBER)( (WSAAPI * LPFN_GETPROTOBYNUMBER)(
__in int number _In_ int number
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
struct protoent FAR * struct protoent FAR *
WSAAPI WSAAPI
getprotobyname( getprotobyname(
__in_z const char FAR * name _In_z_ const char FAR * name
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
struct protoent FAR * struct protoent FAR *
(WSAAPI * LPFN_GETPROTOBYNAME)( (WSAAPI * LPFN_GETPROTOBYNAME)(
__in_z const char FAR * name _In_z_ const char FAR * name
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
/* Microsoft Windows Extension function prototypes */ /* Microsoft Windows Extension function prototypes */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
__checkReturn _Must_inspect_result_
int int
WSAAPI WSAAPI
WSAStartup( WSAStartup(
__in WORD wVersionRequested, _In_ WORD wVersionRequested,
__out LPWSADATA lpWSAData _Out_ LPWSADATA lpWSAData
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
__checkReturn _Must_inspect_result_
int int
(WSAAPI * LPFN_WSASTARTUP)( (WSAAPI * LPFN_WSASTARTUP)(
__in WORD wVersionRequested, _In_ WORD wVersionRequested,
__out LPWSADATA lpWSAData _Out_ LPWSADATA lpWSAData
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSACleanup( WSACleanup(
void void
); );
skipping to change at line 2227 skipping to change at line 2397
(WSAAPI * LPFN_WSACLEANUP)( (WSAAPI * LPFN_WSACLEANUP)(
void void
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
void void
WSAAPI WSAAPI
WSASetLastError( WSASetLastError(
__in int iError _In_ int iError
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
void void
(WSAAPI * LPFN_WSASETLASTERROR)( (WSAAPI * LPFN_WSASETLASTERROR)(
int iError int iError
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
skipping to change at line 2256 skipping to change at line 2426
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSAGETLASTERROR)( (WSAAPI * LPFN_WSAGETLASTERROR)(
void void
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
_WINSOCK_DEPRECATED_BY("Winsock 2")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
BOOL BOOL
WSAAPI WSAAPI
WSAIsBlocking( WSAIsBlocking(
void void
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
BOOL BOOL
(WSAAPI * LPFN_WSAISBLOCKING)( (WSAAPI * LPFN_WSAISBLOCKING)(
void void
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
_WINSOCK_DEPRECATED_BY("Winsock 2")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAUnhookBlockingHook( WSAUnhookBlockingHook(
void void
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSAUNHOOKBLOCKINGHOOK)( (WSAAPI * LPFN_WSAUNHOOKBLOCKINGHOOK)(
void void
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
_WINSOCK_DEPRECATED_BY("Winsock 2")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
FARPROC FARPROC
WSAAPI WSAAPI
WSASetBlockingHook( WSASetBlockingHook(
__in FARPROC lpBlockFunc _In_ FARPROC lpBlockFunc
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
FARPROC FARPROC
(WSAAPI * LPFN_WSASETBLOCKINGHOOK)( (WSAAPI * LPFN_WSASETBLOCKINGHOOK)(
__in FARPROC lpBlockFunc _In_ FARPROC lpBlockFunc
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
_WINSOCK_DEPRECATED_BY("Winsock 2")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSACancelBlockingCall( WSACancelBlockingCall(
void void
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSACANCELBLOCKINGCALL)( (WSAAPI * LPFN_WSACANCELBLOCKINGCALL)(
void void
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE _WINSOCK_DEPRECATED_BY("getservbyname()")
WINSOCK_API_LINKAGE
HANDLE HANDLE
WSAAPI WSAAPI
WSAAsyncGetServByName( WSAAsyncGetServByName(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in const char FAR * name, _In_z_ const char FAR * name,
__in const char FAR * proto, _In_z_ const char FAR * proto,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
HANDLE HANDLE
(WSAAPI * LPFN_WSAASYNCGETSERVBYNAME)( (WSAAPI * LPFN_WSAASYNCGETSERVBYNAME)(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in const char FAR * name, _In_z_ const char FAR * name,
__in const char FAR * proto, _In_z_ const char FAR * proto,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE _WINSOCK_DEPRECATED_BY("getservbyport()")
WINSOCK_API_LINKAGE
HANDLE HANDLE
WSAAPI WSAAPI
WSAAsyncGetServByPort( WSAAsyncGetServByPort(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in int port, _In_ int port,
__in const char FAR * proto, _In_ const char FAR * proto,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
HANDLE HANDLE
(WSAAPI * LPFN_WSAASYNCGETSERVBYPORT)( (WSAAPI * LPFN_WSAASYNCGETSERVBYPORT)(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in int port, _In_ int port,
__in const char FAR * proto, _In_ const char FAR * proto,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE _WINSOCK_DEPRECATED_BY("getprotobyname()")
WINSOCK_API_LINKAGE
HANDLE HANDLE
WSAAPI WSAAPI
WSAAsyncGetProtoByName( WSAAsyncGetProtoByName(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in const char FAR * name, _In_z_ const char FAR * name,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
HANDLE HANDLE
(WSAAPI * LPFN_WSAASYNCGETPROTOBYNAME)( (WSAAPI * LPFN_WSAASYNCGETPROTOBYNAME)(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in const char FAR * name, _In_z_ const char FAR * name,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE _WINSOCK_DEPRECATED_BY("getprotobynumber()")
WINSOCK_API_LINKAGE
HANDLE HANDLE
WSAAPI WSAAPI
WSAAsyncGetProtoByNumber( WSAAsyncGetProtoByNumber(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in int number, _In_ int number,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
HANDLE HANDLE
(WSAAPI * LPFN_WSAASYNCGETPROTOBYNUMBER)( (WSAAPI * LPFN_WSAASYNCGETPROTOBYNUMBER)(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in int number, _In_ int number,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE _WINSOCK_DEPRECATED_BY("GetAddrInfoExW()")
WINSOCK_API_LINKAGE
HANDLE HANDLE
WSAAPI WSAAPI
WSAAsyncGetHostByName( WSAAsyncGetHostByName(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in const char FAR * name, _In_z_ const char FAR * name,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
HANDLE HANDLE
(WSAAPI * LPFN_WSAASYNCGETHOSTBYNAME)( (WSAAPI * LPFN_WSAASYNCGETHOSTBYNAME)(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in const char FAR * name, _In_z_ const char FAR * name,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE _WINSOCK_DEPRECATED_BY("getnameinfo() or GetNameInfoW()")
WINSOCK_API_LINKAGE
HANDLE HANDLE
WSAAPI WSAAPI
WSAAsyncGetHostByAddr( WSAAsyncGetHostByAddr(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in_bcount(len) const char FAR * addr, _In_reads_bytes_(len) const char FAR * addr,
__in int len, _In_ int len,
__in int type, _In_ int type,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
HANDLE HANDLE
(WSAAPI * LPFN_WSAASYNCGETHOSTBYADDR)( (WSAAPI * LPFN_WSAASYNCGETHOSTBYADDR)(
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in_bcount(len) const char FAR * addr, _In_reads_bytes_(len) const char FAR * addr,
__in int len, _In_ int len,
__in int type, _In_ int type,
__out_bcount(buflen) char FAR * buf, _Out_writes_bytes_(buflen) char FAR * buf,
__in int buflen _In_ int buflen
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE _WINSOCK_DEPRECATED
WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSACancelAsyncRequest( WSACancelAsyncRequest(
__in HANDLE hAsyncTaskHandle _In_ HANDLE hAsyncTaskHandle
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSACANCELASYNCREQUEST)( (WSAAPI * LPFN_WSACANCELASYNCREQUEST)(
__in HANDLE hAsyncTaskHandle _In_ HANDLE hAsyncTaskHandle
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) _WINSOCK_DEPRECATED_BY("WSAEventSelect()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAAsyncSelect( WSAAsyncSelect(
__in SOCKET s, _In_ SOCKET s,
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in long lEvent _In_ long lEvent
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSAASYNCSELECT)( (WSAAPI * LPFN_WSAASYNCSELECT)(
__in SOCKET s, _In_ SOCKET s,
__in HWND hWnd, _In_ HWND hWnd,
__in u_int wMsg, _In_ u_int wMsg,
__in long lEvent _In_ long lEvent
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
/* WinSock 2 API new function prototypes */ /* WinSock 2 API new function prototypes */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
__checkReturn _Must_inspect_result_
SOCKET SOCKET
WSAAPI WSAAPI
WSAAccept( WSAAccept(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part_opt(*addrlen,*addrlen) struct sockaddr FAR * addr, _Out_writes_bytes_to_opt_(*addrlen,*addrlen) struct sockaddr FAR * addr,
__inout_opt LPINT addrlen, _Inout_opt_ LPINT addrlen,
__in_opt LPCONDITIONPROC lpfnCondition, _In_opt_ LPCONDITIONPROC lpfnCondition,
__in_opt DWORD_PTR dwCallbackData _In_opt_ DWORD_PTR dwCallbackData
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
__checkReturn _Must_inspect_result_
SOCKET SOCKET
(WSAAPI * LPFN_WSAACCEPT)( (WSAAPI * LPFN_WSAACCEPT)(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part_opt(*addrlen,*addrlen) struct sockaddr FAR * addr, _Out_writes_bytes_to_opt_(*addrlen,*addrlen) struct sockaddr FAR * addr,
__inout_opt LPINT addrlen, _Inout_opt_ LPINT addrlen,
__in_opt LPCONDITIONPROC lpfnCondition, _In_opt_ LPCONDITIONPROC lpfnCondition,
__in_opt DWORD_PTR dwCallbackData _In_opt_ DWORD_PTR dwCallbackData
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
BOOL BOOL
WSAAPI WSAAPI
WSACloseEvent( WSACloseEvent(
__in WSAEVENT hEvent _In_ WSAEVENT hEvent
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
BOOL BOOL
(WSAAPI * LPFN_WSACLOSEEVENT)( (WSAAPI * LPFN_WSACLOSEEVENT)(
__in WSAEVENT hEvent _In_ WSAEVENT hEvent
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAConnect( WSAConnect(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen, _In_ int namelen,
__in_opt LPWSABUF lpCallerData, _In_opt_ LPWSABUF lpCallerData,
__out_opt LPWSABUF lpCalleeData, _Out_opt_ LPWSABUF lpCalleeData,
__in_opt LPQOS lpSQOS, _In_opt_ LPQOS lpSQOS,
__in_opt LPQOS lpGQOS _In_opt_ LPQOS lpGQOS
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
#ifdef UNICODE #ifdef UNICODE
#define WSAConnectByName WSAConnectByNameW #define WSAConnectByName WSAConnectByNameW
#else #else
#define WSAConnectByName WSAConnectByNameA #define WSAConnectByName WSAConnectByNameA
#endif #endif
__control_entrypoint(DllExport)
__data_entrypoint(Network)
BOOL BOOL
PASCAL PASCAL
WSAConnectByNameW( WSAConnectByNameW(
__in SOCKET s, _In_ SOCKET s,
__in_z LPWSTR nodename, _In_ LPWSTR nodename,
__in_z LPWSTR servicename, _In_ LPWSTR servicename,
__inout LPDWORD LocalAddressLength, _Inout_opt_ LPDWORD LocalAddressLength,
__out_bcount_part(*LocalAddressLength,*LocalAddressLength) LPSOCKADDR LocalA _Out_writes_bytes_to_opt_(*LocalAddressLength,*LocalAddressLength) LPSOCKADD
ddress, R LocalAddress,
__inout LPDWORD RemoteAddressLength, _Inout_opt_ LPDWORD RemoteAddressLength,
__out_bcount_part(*RemoteAddressLength,*RemoteAddressLength) LPSOCKADDR Remo _Out_writes_bytes_to_opt_(*RemoteAddressLength,*RemoteAddressLength) LPSOCKA
teAddress, DDR RemoteAddress,
__in const struct timeval * timeout, _In_opt_ const struct timeval * timeout,
__in_opt LPWSAOVERLAPPED Reserved); _Reserved_ LPWSAOVERLAPPED Reserved);
__control_entrypoint(DllExport) #pragma region Desktop Family
__data_entrypoint(Network) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSAConnectByNameW()")
BOOL BOOL
PASCAL PASCAL
WSAConnectByNameA( WSAConnectByNameA(
__in SOCKET s, _In_ SOCKET s,
__in_z LPCSTR nodename, _In_ LPCSTR nodename,
__in_z LPCSTR servicename, _In_ LPCSTR servicename,
__inout LPDWORD LocalAddressLength, _Inout_opt_ LPDWORD LocalAddressLength,
__out_bcount_part(*LocalAddressLength,*LocalAddressLength) LPSOCKADDR LocalA _Out_writes_bytes_to_opt_(*LocalAddressLength,*LocalAddressLength) LPSOCKADD
ddress, R LocalAddress,
__inout LPDWORD RemoteAddressLength, _Inout_opt_ LPDWORD RemoteAddressLength,
__out_bcount_part(*RemoteAddressLength,*RemoteAddressLength) LPSOCKADDR Remo _Out_writes_bytes_to_opt_(*RemoteAddressLength,*RemoteAddressLength) LPSOCKA
teAddress, DDR RemoteAddress,
__in const struct timeval * timeout, _In_opt_ const struct timeval * timeout,
__in_opt LPWSAOVERLAPPED Reserved); _Reserved_ LPWSAOVERLAPPED Reserved);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
__control_entrypoint(DllExport)
__data_entrypoint(Network)
BOOL BOOL
PASCAL PASCAL
WSAConnectByList( WSAConnectByList(
__in SOCKET s, _In_ SOCKET s,
__in PSOCKET_ADDRESS_LIST SocketAddress, _In_ PSOCKET_ADDRESS_LIST SocketAddress,
__inout LPDWORD LocalAddressLength, _Inout_opt_ LPDWORD LocalAddressLength,
__out_bcount_part(*LocalAddressLength,*LocalAddressLength) LPSOCKADDR LocalA _Out_writes_bytes_to_opt_(*LocalAddressLength,*LocalAddressLength) LPSOCKADD
ddress, R LocalAddress,
__inout LPDWORD RemoteAddressLength, _Inout_opt_ LPDWORD RemoteAddressLength,
__out_bcount_part(*RemoteAddressLength,*RemoteAddressLength) LPSOCKADDR Remo _Out_writes_bytes_to_opt_(*RemoteAddressLength,*RemoteAddressLength) LPSOCKA
teAddress, DDR RemoteAddress,
__in const struct timeval * timeout, _In_opt_ const struct timeval * timeout,
__in_opt LPWSAOVERLAPPED Reserved); _Reserved_ LPWSAOVERLAPPED Reserved);
#endif #endif
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSACONNECT)( (WSAAPI * LPFN_WSACONNECT)(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen, _In_ int namelen,
__in_opt LPWSABUF lpCallerData, _In_opt_ LPWSABUF lpCallerData,
__out_opt LPWSABUF lpCalleeData, _Out_opt_ LPWSABUF lpCalleeData,
__in_opt LPQOS lpSQOS, _In_opt_ LPQOS lpSQOS,
__in_opt LPQOS lpGQOS _In_opt_ LPQOS lpGQOS
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
WSAEVENT WSAEVENT
WSAAPI WSAAPI
WSACreateEvent( WSACreateEvent(
void void
); );
skipping to change at line 2669 skipping to change at line 2855
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
WSAEVENT WSAEVENT
(WSAAPI * LPFN_WSACREATEEVENT)( (WSAAPI * LPFN_WSACREATEEVENT)(
void void
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSADuplicateSocketW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSADuplicateSocketA( WSADuplicateSocketA(
__in SOCKET s, _In_ SOCKET s,
__in DWORD dwProcessId, _In_ DWORD dwProcessId,
__out LPWSAPROTOCOL_INFOA lpProtocolInfo _Out_ LPWSAPROTOCOL_INFOA lpProtocolInfo
); );
__control_entrypoint(DllExport) #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSADuplicateSocketW( WSADuplicateSocketW(
__in SOCKET s, _In_ SOCKET s,
__in DWORD dwProcessId, _In_ DWORD dwProcessId,
__out LPWSAPROTOCOL_INFOW lpProtocolInfo _Out_ LPWSAPROTOCOL_INFOW lpProtocolInfo
); );
#ifdef UNICODE #ifdef UNICODE
#define WSADuplicateSocket WSADuplicateSocketW #define WSADuplicateSocket WSADuplicateSocketW
#else #else
#define WSADuplicateSocket WSADuplicateSocketA #define WSADuplicateSocket WSADuplicateSocketA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
int int
(WSAAPI * LPFN_WSADUPLICATESOCKETA)( (WSAAPI * LPFN_WSADUPLICATESOCKETA)(
__in SOCKET s, _In_ SOCKET s,
__in DWORD dwProcessId, _In_ DWORD dwProcessId,
__out LPWSAPROTOCOL_INFOA lpProtocolInfo _Out_ LPWSAPROTOCOL_INFOA lpProtocolInfo
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
int int
(WSAAPI * LPFN_WSADUPLICATESOCKETW)( (WSAAPI * LPFN_WSADUPLICATESOCKETW)(
__in SOCKET s, _In_ SOCKET s,
__in DWORD dwProcessId, _In_ DWORD dwProcessId,
__out LPWSAPROTOCOL_INFOW lpProtocolInfo _Out_ LPWSAPROTOCOL_INFOW lpProtocolInfo
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETW #define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETW
#else #else
#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETA #define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAEnumNetworkEvents( WSAEnumNetworkEvents(
__in SOCKET s, _In_ SOCKET s,
__in WSAEVENT hEventObject, _In_ WSAEVENT hEventObject,
__out LPWSANETWORKEVENTS lpNetworkEvents _Out_ LPWSANETWORKEVENTS lpNetworkEvents
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSAENUMNETWORKEVENTS)( (WSAAPI * LPFN_WSAENUMNETWORKEVENTS)(
__in SOCKET s, _In_ SOCKET s,
__in WSAEVENT hEventObject, _In_ WSAEVENT hEventObject,
__out LPWSANETWORKEVENTS lpNetworkEvents _Out_ LPWSANETWORKEVENTS lpNetworkEvents
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSAEnumProtocolsW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAEnumProtocolsA( WSAEnumProtocolsA(
__in_opt LPINT lpiProtocols, _In_opt_ LPINT lpiProtocols,
__out_bcount_part_opt(*lpdwBufferLength,*lpdwBufferLength) LPWSAPROTOCOL_INF _Out_writes_bytes_to_opt_(*lpdwBufferLength,*lpdwBufferLength) LPWSAPROTOCOL
OA lpProtocolBuffer, _INFOA lpProtocolBuffer,
__inout LPDWORD lpdwBufferLength _Inout_ LPDWORD lpdwBufferLength
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAEnumProtocolsW( WSAEnumProtocolsW(
__in_opt LPINT lpiProtocols, _In_opt_ LPINT lpiProtocols,
__out_bcount_part_opt(*lpdwBufferLength,*lpdwBufferLength) LPWSAPROTOCOL_INF _Out_writes_bytes_to_opt_(*lpdwBufferLength,*lpdwBufferLength) LPWSAPROTOCOL
OW lpProtocolBuffer, _INFOW lpProtocolBuffer,
__inout LPDWORD lpdwBufferLength _Inout_ LPDWORD lpdwBufferLength
); );
#ifdef UNICODE #ifdef UNICODE
#define WSAEnumProtocols WSAEnumProtocolsW #define WSAEnumProtocols WSAEnumProtocolsW
#else #else
#define WSAEnumProtocols WSAEnumProtocolsA #define WSAEnumProtocols WSAEnumProtocolsA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
int int
(WSAAPI * LPFN_WSAENUMPROTOCOLSA)( (WSAAPI * LPFN_WSAENUMPROTOCOLSA)(
__in_opt LPINT lpiProtocols, _In_opt_ LPINT lpiProtocols,
__out_bcount_part_opt(*lpdwBufferLength,*lpdwBufferLength) LPWSAPROTOCOL_INF _Out_writes_bytes_to_opt_(*lpdwBufferLength,*lpdwBufferLength) LPWSAPROTOCOL
OA lpProtocolBuffer, _INFOA lpProtocolBuffer,
__inout LPDWORD lpdwBufferLength _Inout_ LPDWORD lpdwBufferLength
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
int int
(WSAAPI * LPFN_WSAENUMPROTOCOLSW)( (WSAAPI * LPFN_WSAENUMPROTOCOLSW)(
__in_opt LPINT lpiProtocols, _In_opt_ LPINT lpiProtocols,
__out_bcount_part_opt(*lpdwBufferLength,*lpdwBufferLength) LPWSAPROTOCOL_INF _Out_writes_bytes_to_opt_(*lpdwBufferLength,*lpdwBufferLength) LPWSAPROTOCOL
OW lpProtocolBuffer, _INFOW lpProtocolBuffer,
__inout LPDWORD lpdwBufferLength _Inout_ LPDWORD lpdwBufferLength
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSW #define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSW
#else #else
#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSA #define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAEventSelect( WSAEventSelect(
__in SOCKET s, _In_ SOCKET s,
__in WSAEVENT hEventObject, _In_opt_ WSAEVENT hEventObject,
__in long lNetworkEvents _In_ long lNetworkEvents
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSAEVENTSELECT)( (WSAAPI * LPFN_WSAEVENTSELECT)(
__in SOCKET s, _In_ SOCKET s,
__in WSAEVENT hEventObject, _In_opt_ WSAEVENT hEventObject,
__in long lNetworkEvents _In_ long lNetworkEvents
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
BOOL BOOL
WSAAPI WSAAPI
WSAGetOverlappedResult( WSAGetOverlappedResult(
__in SOCKET s, _In_ SOCKET s,
__in LPWSAOVERLAPPED lpOverlapped, _In_ LPWSAOVERLAPPED lpOverlapped,
__out LPDWORD lpcbTransfer, _Out_ LPDWORD lpcbTransfer,
__in BOOL fWait, _In_ BOOL fWait,
__out LPDWORD lpdwFlags _Out_ LPDWORD lpdwFlags
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
BOOL BOOL
(WSAAPI * LPFN_WSAGETOVERLAPPEDRESULT)( (WSAAPI * LPFN_WSAGETOVERLAPPEDRESULT)(
__in SOCKET s, _In_ SOCKET s,
__in LPWSAOVERLAPPED lpOverlapped, _In_ LPWSAOVERLAPPED lpOverlapped,
__out LPDWORD lpcbTransfer, _Out_ LPDWORD lpcbTransfer,
__in BOOL fWait, _In_ BOOL fWait,
__out LPDWORD lpdwFlags _Out_ LPDWORD lpdwFlags
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) _WINSOCK_DEPRECATED
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
BOOL BOOL
WSAAPI WSAAPI
WSAGetQOSByName( WSAGetQOSByName(
__in SOCKET s, _In_ SOCKET s,
__in LPWSABUF lpQOSName, _In_ LPWSABUF lpQOSName,
__out LPQOS lpQOS _Out_ LPQOS lpQOS
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
BOOL BOOL
(WSAAPI * LPFN_WSAGETQOSBYNAME)( (WSAAPI * LPFN_WSAGETQOSBYNAME)(
__in SOCKET s, _In_ SOCKET s,
__in LPWSABUF lpQOSName, _In_ LPWSABUF lpQOSName,
__out LPQOS lpQOS _Out_ LPQOS lpQOS
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAHtonl( WSAHtonl(
__in IN SOCKET s, _In_ IN SOCKET s,
__in IN u_long hostlong, _In_ IN u_long hostlong,
__out OUT u_long FAR * lpnetlong _Out_ OUT u_long FAR * lpnetlong
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSAHTONL)( (WSAAPI * LPFN_WSAHTONL)(
__in SOCKET s, _In_ SOCKET s,
__in u_long hostlong, _In_ u_long hostlong,
__out u_long FAR * lpnetlong _Out_ u_long FAR * lpnetlong
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAHtons( WSAHtons(
__in IN SOCKET s, _In_ IN SOCKET s,
__in IN u_short hostshort, _In_ IN u_short hostshort,
__out OUT u_short FAR * lpnetshort _Out_ OUT u_short FAR * lpnetshort
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSAHTONS)( (WSAAPI * LPFN_WSAHTONS)(
__in SOCKET s, _In_ SOCKET s,
__in u_short hostshort, _In_ u_short hostshort,
__out u_short FAR * lpnetshort _Out_ u_short FAR * lpnetshort
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAIoctl( WSAIoctl(
__in SOCKET s, _In_ SOCKET s,
__in DWORD dwIoControlCode, _In_ DWORD dwIoControlCode,
__in_bcount_opt(cbInBuffer) LPVOID lpvInBuffer, _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer,
__in DWORD cbInBuffer, _In_ DWORD cbInBuffer,
__out_bcount_part_opt(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer, _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuff
__in DWORD cbOutBuffer, er,
__out LPDWORD lpcbBytesReturned, _In_ DWORD cbOutBuffer,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Out_ LPDWORD lpcbBytesReturned,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
_In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSAIOCTL)( (WSAAPI * LPFN_WSAIOCTL)(
__in SOCKET s, _In_ SOCKET s,
__in DWORD dwIoControlCode, _In_ DWORD dwIoControlCode,
__in_bcount_opt(cbInBuffer) LPVOID lpvInBuffer, _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer,
__in DWORD cbInBuffer, _In_ DWORD cbInBuffer,
__out_bcount_part_opt(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer, _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuff
__in DWORD cbOutBuffer, er,
__out LPDWORD lpcbBytesReturned, _In_ DWORD cbOutBuffer,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Out_ LPDWORD lpcbBytesReturned,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
_In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
SOCKET SOCKET
WSAAPI WSAAPI
WSAJoinLeaf( WSAJoinLeaf(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen, _In_ int namelen,
__in_opt LPWSABUF lpCallerData, _In_opt_ LPWSABUF lpCallerData,
__out_opt LPWSABUF lpCalleeData, _Out_opt_ LPWSABUF lpCalleeData,
__in_opt LPQOS lpSQOS, _In_opt_ LPQOS lpSQOS,
__in_opt LPQOS lpGQOS, _In_opt_ LPQOS lpGQOS,
__in DWORD dwFlags _In_ DWORD dwFlags
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
SOCKET SOCKET
(WSAAPI * LPFN_WSAJOINLEAF)( (WSAAPI * LPFN_WSAJOINLEAF)(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen, _In_ int namelen,
__in_opt LPWSABUF lpCallerData, _In_opt_ LPWSABUF lpCallerData,
__out_opt LPWSABUF lpCalleeData, _Out_opt_ LPWSABUF lpCalleeData,
__in_opt LPQOS lpSQOS, _In_opt_ LPQOS lpSQOS,
__in_opt LPQOS lpGQOS, _In_opt_ LPQOS lpGQOS,
__in DWORD dwFlags _In_ DWORD dwFlags
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSANtohl( WSANtohl(
__in SOCKET s, _In_ SOCKET s,
__in u_long netlong, _In_ u_long netlong,
__out u_long FAR * lphostlong _Out_ u_long FAR * lphostlong
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSANTOHL)( (WSAAPI * LPFN_WSANTOHL)(
__in SOCKET s, _In_ SOCKET s,
__in u_long netlong, _In_ u_long netlong,
__out u_long FAR * lphostlong _Out_ u_long FAR * lphostlong
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSANtohs( WSANtohs(
__in SOCKET s, _In_ SOCKET s,
__in u_short netshort, _In_ u_short netshort,
__out u_short FAR * lphostshort _Out_ u_short FAR * lphostshort
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSANTOHS)( (WSAAPI * LPFN_WSANTOHS)(
__in SOCKET s, _In_ SOCKET s,
__in u_short netshort, _In_ u_short netshort,
__out u_short FAR * lphostshort _Out_ u_short FAR * lphostshort
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSARecv( WSARecv(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) __out_data_source(NETWORK) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) __out_data_source(NETWORK) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesRecvd, _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
__inout LPDWORD lpFlags, _Inout_ LPDWORD lpFlags,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSARECV)( (WSAAPI * LPFN_WSARECV)(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesRecvd, _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
__inout LPDWORD lpFlags, _Inout_ LPDWORD lpFlags,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
_WINSOCK_DEPRECATED_BY("WSARecv()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSARecvDisconnect( WSARecvDisconnect(
__in SOCKET s, _In_ SOCKET s,
__in_opt __out_data_source(NETWORK) LPWSABUF lpInboundDisconnectData _In_opt_ __out_data_source(NETWORK) LPWSABUF lpInboundDisconnectData
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSARECVDISCONNECT)( (WSAAPI * LPFN_WSARECVDISCONNECT)(
__in SOCKET s, _In_ SOCKET s,
__out_data_source(NETWORK) LPWSABUF lpInboundDisconnectData __out_data_source(NETWORK) LPWSABUF lpInboundDisconnectData
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSARecvFrom( WSARecvFrom(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) __out_data_source(NETWORK) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) __out_data_source(NETWORK) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesRecvd, _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
__inout LPDWORD lpFlags, _Inout_ LPDWORD lpFlags,
__out_bcount_part_opt(*lpFromlen,*lpFromlen) struct sockaddr FAR * lpFrom, _Out_writes_bytes_to_opt_(*lpFromlen,*lpFromlen) struct sockaddr FAR * lpFro
__inout_opt LPINT lpFromlen, m,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPINT lpFromlen,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
_In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSARECVFROM)( (WSAAPI * LPFN_WSARECVFROM)(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesRecvd, _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
__inout LPDWORD lpFlags, _Inout_ LPDWORD lpFlags,
__out_bcount_part_opt(*lpFromlen,*lpFromLen) struct sockaddr FAR * lpFrom, _Out_writes_bytes_to_opt_(*lpFromlen,*lpFromLen) struct sockaddr FAR * lpFro
__inout_opt LPINT lpFromlen, m,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPINT lpFromlen,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
_In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
BOOL BOOL
WSAAPI WSAAPI
WSAResetEvent( WSAResetEvent(
__in WSAEVENT hEvent _In_ WSAEVENT hEvent
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
BOOL BOOL
(WSAAPI * LPFN_WSARESETEVENT)( (WSAAPI * LPFN_WSARESETEVENT)(
__in WSAEVENT hEvent _In_ WSAEVENT hEvent
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSASend( WSASend(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesSent, _Out_opt_ LPDWORD lpNumberOfBytesSent,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSASEND)( (WSAAPI * LPFN_WSASEND)(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesSent, _Out_opt_ LPDWORD lpNumberOfBytesSent,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if(_WIN32_WINNT >= 0x0600) #if(_WIN32_WINNT >= 0x0600)
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSASendMsg( WSASendMsg(
__in SOCKET Handle, _In_ SOCKET Handle,
__in LPWSAMSG lpMsg, _In_ LPWSAMSG lpMsg,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__out_opt LPDWORD lpNumberOfBytesSent, _Out_opt_ LPDWORD lpNumberOfBytesSent,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#endif // (_WIN32_WINNT >= 0x0600) #endif // (_WIN32_WINNT >= 0x0600)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) _WINSOCK_DEPRECATED_BY("WSASend()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSASendDisconnect( WSASendDisconnect(
__in SOCKET s, _In_ SOCKET s,
__in_opt LPWSABUF lpOutboundDisconnectData _In_opt_ LPWSABUF lpOutboundDisconnectData
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSASENDDISCONNECT)( (WSAAPI * LPFN_WSASENDDISCONNECT)(
__in SOCKET s, _In_ SOCKET s,
__in_opt LPWSABUF lpOutboundDisconnectData _In_opt_ LPWSABUF lpOutboundDisconnectData
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSASendTo( WSASendTo(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesSent, _Out_opt_ LPDWORD lpNumberOfBytesSent,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in_bcount_opt(iTolen) const struct sockaddr FAR * lpTo, _In_reads_bytes_opt_(iTolen) const struct sockaddr FAR * lpTo,
__in int iTolen, _In_ int iTolen,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_WSASENDTO)( (WSAAPI * LPFN_WSASENDTO)(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesSent, _Out_opt_ LPDWORD lpNumberOfBytesSent,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in_bcount_opt(iTolen) const struct sockaddr FAR * lpTo, _In_reads_bytes_opt_(iTolen) const struct sockaddr FAR * lpTo,
__in int iTolen, _In_ int iTolen,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
BOOL BOOL
WSAAPI WSAAPI
WSASetEvent( WSASetEvent(
__in WSAEVENT hEvent _In_ WSAEVENT hEvent
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
BOOL BOOL
(WSAAPI * LPFN_WSASETEVENT)( (WSAAPI * LPFN_WSASETEVENT)(
__in WSAEVENT hEvent _In_ WSAEVENT hEvent
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSASocketW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
__checkReturn _Must_inspect_result_
SOCKET SOCKET
WSAAPI WSAAPI
WSASocketA( WSASocketA(
__in int af, _In_ int af,
__in int type, _In_ int type,
__in int protocol, _In_ int protocol,
__in_opt LPWSAPROTOCOL_INFOA lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
__in GROUP g, _In_ GROUP g,
__in DWORD dwFlags _In_ DWORD dwFlags
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
__checkReturn _Must_inspect_result_
SOCKET SOCKET
WSAAPI WSAAPI
WSASocketW( WSASocketW(
__in int af, _In_ int af,
__in int type, _In_ int type,
__in int protocol, _In_ int protocol,
__in_opt LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__in GROUP g, _In_ GROUP g,
__in DWORD dwFlags _In_ DWORD dwFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define WSASocket WSASocketW #define WSASocket WSASocketW
#else #else
#define WSASocket WSASocketA #define WSASocket WSASocketA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
__checkReturn _Must_inspect_result_
SOCKET SOCKET
(WSAAPI * LPFN_WSASOCKETA)( (WSAAPI * LPFN_WSASOCKETA)(
__in int af, _In_ int af,
__in int type, _In_ int type,
__in int protocol, _In_ int protocol,
__in_opt LPWSAPROTOCOL_INFOA lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
__in GROUP g, _In_ GROUP g,
__in DWORD dwFlags _In_ DWORD dwFlags
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
__checkReturn _Must_inspect_result_
SOCKET SOCKET
(WSAAPI * LPFN_WSASOCKETW)( (WSAAPI * LPFN_WSASOCKETW)(
__in int af, _In_ int af,
__in int type, _In_ int type,
__in int protocol, _In_ int protocol,
__in_opt LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__in GROUP g, _In_ GROUP g,
__in DWORD dwFlags _In_ DWORD dwFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSASOCKET LPFN_WSASOCKETW #define LPFN_WSASOCKET LPFN_WSASOCKETW
#else #else
#define LPFN_WSASOCKET LPFN_WSASOCKETA #define LPFN_WSASOCKET LPFN_WSASOCKETA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
DWORD DWORD
WSAAPI WSAAPI
WSAWaitForMultipleEvents( WSAWaitForMultipleEvents(
__in DWORD cEvents, _In_ DWORD cEvents,
__in_ecount(cEvents) const WSAEVENT FAR * lphEvents, _In_reads_(cEvents) const WSAEVENT FAR * lphEvents,
__in BOOL fWaitAll, _In_ BOOL fWaitAll,
__in DWORD dwTimeout, _In_ DWORD dwTimeout,
__in BOOL fAlertable _In_ BOOL fAlertable
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
DWORD DWORD
(WSAAPI * LPFN_WSAWAITFORMULTIPLEEVENTS)( (WSAAPI * LPFN_WSAWAITFORMULTIPLEEVENTS)(
__in DWORD cEvents, _In_ DWORD cEvents,
__in_ecount(cEvents) const WSAEVENT FAR * lphEvents, _In_reads_(cEvents) const WSAEVENT FAR * lphEvents,
__in BOOL fWaitAll, _In_ BOOL fWaitAll,
__in DWORD dwTimeout, _In_ DWORD dwTimeout,
__in BOOL fAlertable _In_ BOOL fAlertable
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSAAddressToStringW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAAddressToStringA( WSAAddressToStringA(
__in_bcount(dwAddressLength) LPSOCKADDR lpsaAddress, _In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress,
__in DWORD dwAddressLength, _In_ DWORD dwAddressLength,
__in_opt LPWSAPROTOCOL_INFOA lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
__out_ecount_part(*lpdwAddressStringLength,*lpdwAddressStringLength) LPSTR l _Out_writes_to_(*lpdwAddressStringLength,*lpdwAddressStringLength) LPSTR lps
pszAddressString, zAddressString,
__inout LPDWORD lpdwAddressStringLength _Inout_ LPDWORD lpdwAddressStringLength
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAAddressToStringW( WSAAddressToStringW(
__in_bcount(dwAddressLength) LPSOCKADDR lpsaAddress, _In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress,
__in DWORD dwAddressLength, _In_ DWORD dwAddressLength,
__in_opt LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__out_ecount_part(*lpdwAddressStringLength,*lpdwAddressStringLength) LPWSTR _Out_writes_to_(*lpdwAddressStringLength,*lpdwAddressStringLength) LPWSTR lp
lpszAddressString, szAddressString,
__inout LPDWORD lpdwAddressStringLength _Inout_ LPDWORD lpdwAddressStringLength
); );
#ifdef UNICODE #ifdef UNICODE
#define WSAAddressToString WSAAddressToStringW #define WSAAddressToString WSAAddressToStringW
#else #else
#define WSAAddressToString WSAAddressToStringA #define WSAAddressToString WSAAddressToStringA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI * LPFN_WSAADDRESSTOSTRINGA)( (WSAAPI * LPFN_WSAADDRESSTOSTRINGA)(
__in_bcount(dwAddressLength) LPSOCKADDR lpsaAddress, _In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress,
__in DWORD dwAddressLength, _In_ DWORD dwAddressLength,
__in_opt LPWSAPROTOCOL_INFOA lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
__out_ecount_part(*lpdwAddressStringLength,*lpdwAddressStringLength) LPSTR l _Out_writes_to_(*lpdwAddressStringLength,*lpdwAddressStringLength) LPSTR lps
pszAddressString, zAddressString,
__inout LPDWORD lpdwAddressStringLength _Inout_ LPDWORD lpdwAddressStringLength
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI * LPFN_WSAADDRESSTOSTRINGW)( (WSAAPI * LPFN_WSAADDRESSTOSTRINGW)(
__in_bcount(dwAddressLength) LPSOCKADDR lpsaAddress, _In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress,
__in DWORD dwAddressLength, _In_ DWORD dwAddressLength,
__in_opt LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__out_ecount_part(*lpdwAddressStringLength,*lpdwAddressStringLength) LPWSTR _Out_writes_to_(*lpdwAddressStringLength,*lpdwAddressStringLength) LPWSTR lp
lpszAddressString, szAddressString,
__inout LPDWORD lpdwAddressStringLength _Inout_ LPDWORD lpdwAddressStringLength
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGW #define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGW
#else #else
#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGA #define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSAStringToAddressW()")
WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAStringToAddressA( WSAStringToAddressA(
__in LPSTR AddressString, _In_ LPSTR AddressString,
__in INT AddressFamily, _In_ INT AddressFamily,
__in_opt LPWSAPROTOCOL_INFOA lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
__out_bcount_part(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddress, _Out_writes_bytes_to_(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddres
__inout LPINT lpAddressLength s,
_Inout_ LPINT lpAddressLength
); );
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAStringToAddressW( WSAStringToAddressW(
__in LPWSTR AddressString, _In_ LPWSTR AddressString,
__in INT AddressFamily, _In_ INT AddressFamily,
__in_opt LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__out_bcount_part(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddress, _Out_writes_bytes_to_(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddres
__inout LPINT lpAddressLength s,
_Inout_ LPINT lpAddressLength
); );
#ifdef UNICODE #ifdef UNICODE
#define WSAStringToAddress WSAStringToAddressW #define WSAStringToAddress WSAStringToAddressW
#else #else
#define WSAStringToAddress WSAStringToAddressA #define WSAStringToAddress WSAStringToAddressA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI * LPFN_WSASTRINGTOADDRESSA)( (WSAAPI * LPFN_WSASTRINGTOADDRESSA)(
__in LPSTR AddressString, _In_ LPSTR AddressString,
__in INT AddressFamily, _In_ INT AddressFamily,
__in_opt LPWSAPROTOCOL_INFOA lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOA lpProtocolInfo,
__out_bcount_part(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddress, _Out_writes_bytes_to_(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddres
__inout LPINT lpAddressLength s,
_Inout_ LPINT lpAddressLength
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI * LPFN_WSASTRINGTOADDRESSW)( (WSAAPI * LPFN_WSASTRINGTOADDRESSW)(
__in LPWSTR AddressString, _In_ LPWSTR AddressString,
__in INT AddressFamily, _In_ INT AddressFamily,
__in_opt LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__out_bcount_part(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddress, _Out_writes_bytes_to_(*lpAddressLength,*lpAddressLength) LPSOCKADDR lpAddres
__inout LPINT lpAddressLength s,
_Inout_ LPINT lpAddressLength
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSW #define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSW
#else #else
#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSA #define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
/* Registration and Name Resolution API functions */ /* Registration and Name Resolution API functions */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSALookupServiceBeginW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSALookupServiceBeginA( WSALookupServiceBeginA(
__in LPWSAQUERYSETA lpqsRestrictions, _In_ LPWSAQUERYSETA lpqsRestrictions,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__out LPHANDLE lphLookup _Out_ LPHANDLE lphLookup
); );
__control_entrypoint(DllExport) #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSALookupServiceBeginW( WSALookupServiceBeginW(
__in LPWSAQUERYSETW lpqsRestrictions, _In_ LPWSAQUERYSETW lpqsRestrictions,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__out LPHANDLE lphLookup _Out_ LPHANDLE lphLookup
); );
#ifdef UNICODE #ifdef UNICODE
#define WSALookupServiceBegin WSALookupServiceBeginW #define WSALookupServiceBegin WSALookupServiceBeginW
#else #else
#define WSALookupServiceBegin WSALookupServiceBeginA #define WSALookupServiceBegin WSALookupServiceBeginA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI * LPFN_WSALOOKUPSERVICEBEGINA)( (WSAAPI * LPFN_WSALOOKUPSERVICEBEGINA)(
__in LPWSAQUERYSETA lpqsRestrictions, _In_ LPWSAQUERYSETA lpqsRestrictions,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__out LPHANDLE lphLookup _Out_ LPHANDLE lphLookup
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI * LPFN_WSALOOKUPSERVICEBEGINW)( (WSAAPI * LPFN_WSALOOKUPSERVICEBEGINW)(
__in LPWSAQUERYSETW lpqsRestrictions, _In_ LPWSAQUERYSETW lpqsRestrictions,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__out LPHANDLE lphLookup _Out_ LPHANDLE lphLookup
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINW #define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINW
#else #else
#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINA #define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSALookupServiceNextW()")
WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSALookupServiceNextA( WSALookupServiceNextA(
__in HANDLE hLookup, _In_ HANDLE hLookup,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSAQUERYSETA lpqsRe _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSAQUERYSETA lp
sults qsResults
); );
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSALookupServiceNextW( WSALookupServiceNextW(
__in HANDLE hLookup, _In_ HANDLE hLookup,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part_opt(*lpdwBufferLength,*lpdwBufferLength) LPWSAQUERYSETW lp _Out_writes_bytes_to_opt_(*lpdwBufferLength,*lpdwBufferLength) LPWSAQUERYSET
qsResults W lpqsResults
); );
#ifdef UNICODE #ifdef UNICODE
#define WSALookupServiceNext WSALookupServiceNextW #define WSALookupServiceNext WSALookupServiceNextW
#else #else
#define WSALookupServiceNext WSALookupServiceNextA #define WSALookupServiceNext WSALookupServiceNextA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI * LPFN_WSALOOKUPSERVICENEXTA)( (WSAAPI * LPFN_WSALOOKUPSERVICENEXTA)(
__in HANDLE hLookup, _In_ HANDLE hLookup,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSAQUERYSETA lpqs _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSAQUERYSETA
Results lpqsResults
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI * LPFN_WSALOOKUPSERVICENEXTW)( (WSAAPI * LPFN_WSALOOKUPSERVICENEXTW)(
__in HANDLE hLookup, _In_ HANDLE hLookup,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part_opt(*lpdwBufferLength,*lpdwBufferLength) LPWSAQUERYSETW _Out_writes_bytes_to_opt_(*lpdwBufferLength,*lpdwBufferLength) LPWSAQUERYSET
lpqsResults W lpqsResults
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTW #define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTW
#else #else
#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTA #define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if(_WIN32_WINNT >= 0x0501) #if(_WIN32_WINNT >= 0x0501)
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSANSPIoctl( WSANSPIoctl(
__in HANDLE hLookup, _In_ HANDLE hLookup,
__in DWORD dwControlCode, _In_ DWORD dwControlCode,
__in_bcount_opt(cbInBuffer) LPVOID lpvInBuffer, _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer,
__in DWORD cbInBuffer, _In_ DWORD cbInBuffer,
__out_bcount_part_opt(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer, _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuff
__in DWORD cbOutBuffer, er,
__out LPDWORD lpcbBytesReturned, _In_ DWORD cbOutBuffer,
__in_opt LPWSACOMPLETION lpCompletion _Out_ LPDWORD lpcbBytesReturned,
_In_opt_ LPWSACOMPLETION lpCompletion
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
INT INT
(WSAAPI * LPFN_WSANSPIOCTL)( (WSAAPI * LPFN_WSANSPIOCTL)(
IN HANDLE hLookup, IN HANDLE hLookup,
IN DWORD dwControlCode, IN DWORD dwControlCode,
__in_bcount_opt(cbInBuffer) LPVOID lpvInBuffer, _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer,
IN DWORD cbInBuffer, IN DWORD cbInBuffer,
__out_bcount_part_opt(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer, _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuff er,
IN DWORD cbOutBuffer, IN DWORD cbOutBuffer,
__out LPDWORD lpcbBytesReturned, _Out_ LPDWORD lpcbBytesReturned,
__in_opt LPWSACOMPLETION lpCompletion _In_opt_ LPWSACOMPLETION lpCompletion
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#endif //(_WIN32_WINNT >= 0x0501) #endif //(_WIN32_WINNT >= 0x0501)
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSALookupServiceEnd( WSALookupServiceEnd(
__in HANDLE hLookup _In_ HANDLE hLookup
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
INT INT
(WSAAPI * LPFN_WSALOOKUPSERVICEEND)( (WSAAPI * LPFN_WSALOOKUPSERVICEEND)(
__in HANDLE hLookup _In_ HANDLE hLookup
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) _WINSOCK_DEPRECATED_BY("WSAInstallServiceClassW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAInstallServiceClassA( WSAInstallServiceClassA(
__in LPWSASERVICECLASSINFOA lpServiceClassInfo _In_ LPWSASERVICECLASSINFOA lpServiceClassInfo
); );
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAInstallServiceClassW( WSAInstallServiceClassW(
__in LPWSASERVICECLASSINFOW lpServiceClassInfo _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo
); );
#ifdef UNICODE #ifdef UNICODE
#define WSAInstallServiceClass WSAInstallServiceClassW #define WSAInstallServiceClass WSAInstallServiceClassW
#else #else
#define WSAInstallServiceClass WSAInstallServiceClassA #define WSAInstallServiceClass WSAInstallServiceClassA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
INT INT
(WSAAPI * LPFN_WSAINSTALLSERVICECLASSA)( (WSAAPI * LPFN_WSAINSTALLSERVICECLASSA)(
__in LPWSASERVICECLASSINFOA lpServiceClassInfo _In_ LPWSASERVICECLASSINFOA lpServiceClassInfo
); );
typedef typedef
INT INT
(WSAAPI * LPFN_WSAINSTALLSERVICECLASSW)( (WSAAPI * LPFN_WSAINSTALLSERVICECLASSW)(
__in LPWSASERVICECLASSINFOW lpServiceClassInfo _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSW #define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSW
#else #else
#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSA #define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSARemoveServiceClass( WSARemoveServiceClass(
__in LPGUID lpServiceClassId _In_ LPGUID lpServiceClassId
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
INT INT
(WSAAPI * LPFN_WSAREMOVESERVICECLASS)( (WSAAPI * LPFN_WSAREMOVESERVICECLASS)(
__in LPGUID lpServiceClassId _In_ LPGUID lpServiceClassId
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSAGetServiceClassInfoW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAGetServiceClassInfoA( WSAGetServiceClassInfoA(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPGUID lpServiceClassId, _In_ LPGUID lpServiceClassId,
__inout LPDWORD lpdwBufSize, _Inout_ LPDWORD lpdwBufSize,
__out_bcount_part(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOA lpServic _Out_writes_bytes_to_(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOA lpSe
eClassInfo rviceClassInfo
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAGetServiceClassInfoW( WSAGetServiceClassInfoW(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPGUID lpServiceClassId, _In_ LPGUID lpServiceClassId,
__inout LPDWORD lpdwBufSize, _Inout_ LPDWORD lpdwBufSize,
__out_bcount_part(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOW lpServic _Out_writes_bytes_to_(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOW lpSe
eClassInfo rviceClassInfo
); );
#ifdef UNICODE #ifdef UNICODE
#define WSAGetServiceClassInfo WSAGetServiceClassInfoW #define WSAGetServiceClassInfo WSAGetServiceClassInfoW
#else #else
#define WSAGetServiceClassInfo WSAGetServiceClassInfoA #define WSAGetServiceClassInfo WSAGetServiceClassInfoA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI * LPFN_WSAGETSERVICECLASSINFOA)( (WSAAPI * LPFN_WSAGETSERVICECLASSINFOA)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPGUID lpServiceClassId, _In_ LPGUID lpServiceClassId,
__inout LPDWORD lpdwBufSize, _Inout_ LPDWORD lpdwBufSize,
__out_bcount_part(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOA lpServic _Out_writes_bytes_to_(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOA lpSe
eClassInfo rviceClassInfo
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI * LPFN_WSAGETSERVICECLASSINFOW)( (WSAAPI * LPFN_WSAGETSERVICECLASSINFOW)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPGUID lpServiceClassId, _In_ LPGUID lpServiceClassId,
__inout LPDWORD lpdwBufSize, _Inout_ LPDWORD lpdwBufSize,
__out_bcount_part(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOW lpServic _Out_writes_bytes_to_(*lpdwBufSize,*lpdwBufSize) LPWSASERVICECLASSINFOW lpSe
eClassInfo rviceClassInfo
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOW #define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOW
#else #else
#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOA #define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSAEnumNameSpaceProvidersW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAEnumNameSpaceProvidersA( WSAEnumNameSpaceProvidersA(
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_INFOA _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_IN
lpnspBuffer FOA lpnspBuffer
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAEnumNameSpaceProvidersW( WSAEnumNameSpaceProvidersW(
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_INFOW _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_IN
lpnspBuffer FOW lpnspBuffer
); );
#ifdef UNICODE #ifdef UNICODE
#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersW #define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
#else #else
#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersA #define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersA
#endif /* !UNICODE */ #endif /* !UNICODE */
#if(_WIN32_WINNT >= 0x0600 ) #if(_WIN32_WINNT >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSAEnumNameSpaceProvidersW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAEnumNameSpaceProvidersExA( WSAEnumNameSpaceProvidersExA(
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_INFOEX _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_IN
A lpnspBuffer FOEXA lpnspBuffer
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAEnumNameSpaceProvidersExW( WSAEnumNameSpaceProvidersExW(
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_INFOEX _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_IN
W lpnspBuffer FOEXW lpnspBuffer
); );
#ifdef UNICODE #ifdef UNICODE
#define WSAEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW #define WSAEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW
#else #else
#define WSAEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExA #define WSAEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif //(_WIN32_WINNT >= 0x0600 ) #endif //(_WIN32_WINNT >= 0x0600 )
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI * LPFN_WSAENUMNAMESPACEPROVIDERSA)( (WSAAPI * LPFN_WSAENUMNAMESPACEPROVIDERSA)(
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_INFOA _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_IN
lpnspBuffer FOA lpnspBuffer
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI * LPFN_WSAENUMNAMESPACEPROVIDERSW)( (WSAAPI * LPFN_WSAENUMNAMESPACEPROVIDERSW)(
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_INFOW _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_IN
lpnspBuffer FOW lpnspBuffer
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW #define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
#else #else
#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSA #define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSA
#endif /* !UNICODE */ #endif /* !UNICODE */
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI * LPFN_WSAENUMNAMESPACEPROVIDERSEXA)( (WSAAPI * LPFN_WSAENUMNAMESPACEPROVIDERSEXA)(
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_INFOEX _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_IN
A lpnspBuffer FOEXA lpnspBuffer
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI * LPFN_WSAENUMNAMESPACEPROVIDERSEXW)( (WSAAPI * LPFN_WSAENUMNAMESPACEPROVIDERSEXW)(
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_INFOEX _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSANAMESPACE_IN
W lpnspBuffer FOEXW lpnspBuffer
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSAENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW #define LPFN_WSAENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW
#else #else
#define LPFN_WSAENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXA #define LPFN_WSAENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif //(_WIN32_WINNT >= 0x600) #endif //(_WIN32_WINNT >= 0x600)
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSAGetServiceClassNameByClassIdW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
__success(return == 0) INT _Success_(return == 0) INT
WSAAPI WSAAPI
WSAGetServiceClassNameByClassIdA( WSAGetServiceClassNameByClassIdA(
__in LPGUID lpServiceClassId, _In_ LPGUID lpServiceClassId,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPSTR lpszServiceClas _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPSTR lpszService
sName, ClassName,
__inout LPDWORD lpdwBufferLength _Inout_ LPDWORD lpdwBufferLength
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
__success(return == 0) INT _Success_(return == 0) INT
WSAAPI WSAAPI
WSAGetServiceClassNameByClassIdW( WSAGetServiceClassNameByClassIdW(
__in LPGUID lpServiceClassId, _In_ LPGUID lpServiceClassId,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSTR lpszServiceCla _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSTR lpszServic
ssName, eClassName,
__inout LPDWORD lpdwBufferLength _Inout_ LPDWORD lpdwBufferLength
); );
#ifdef UNICODE #ifdef UNICODE
#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdW #define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdW
#else #else
#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdA #define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI * LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA)( (WSAAPI * LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA)(
__in LPGUID lpServiceClassId, _In_ LPGUID lpServiceClassId,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPSTR lpszServiceClas _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPSTR lpszService
sName, ClassName,
__inout LPDWORD lpdwBufferLength _Inout_ LPDWORD lpdwBufferLength
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI * LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW)( (WSAAPI * LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW)(
__in LPGUID lpServiceClassId, _In_ LPGUID lpServiceClassId,
__out_bcount_part(*lpdwBufferLength,*lpdwBufferLength) LPWSTR lpszServiceCla _Out_writes_bytes_to_(*lpdwBufferLength,*lpdwBufferLength) LPWSTR lpszServic
ssName, eClassName,
__inout LPDWORD lpdwBufferLength _Inout_ LPDWORD lpdwBufferLength
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASS IDW #define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASS IDW
#else #else
#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASS IDA #define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASS IDA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport) #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("WSASetServiceW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSASetServiceA( WSASetServiceA(
__in LPWSAQUERYSETA lpqsRegInfo, _In_ LPWSAQUERYSETA lpqsRegInfo,
__in WSAESETSERVICEOP essoperation, _In_ WSAESETSERVICEOP essoperation,
__in DWORD dwControlFlags _In_ DWORD dwControlFlags
); );
__control_entrypoint(DllExport) #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSASetServiceW( WSASetServiceW(
__in LPWSAQUERYSETW lpqsRegInfo, _In_ LPWSAQUERYSETW lpqsRegInfo,
__in WSAESETSERVICEOP essoperation, _In_ WSAESETSERVICEOP essoperation,
__in DWORD dwControlFlags _In_ DWORD dwControlFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define WSASetService WSASetServiceW #define WSASetService WSASetServiceW
#else #else
#define WSASetService WSASetServiceA #define WSASetService WSASetServiceA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI * LPFN_WSASETSERVICEA)( (WSAAPI * LPFN_WSASETSERVICEA)(
__in LPWSAQUERYSETA lpqsRegInfo, _In_ LPWSAQUERYSETA lpqsRegInfo,
__in WSAESETSERVICEOP essoperation, _In_ WSAESETSERVICEOP essoperation,
__in DWORD dwControlFlags _In_ DWORD dwControlFlags
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI * LPFN_WSASETSERVICEW)( (WSAAPI * LPFN_WSASETSERVICEW)(
__in LPWSAQUERYSETW lpqsRegInfo, _In_ LPWSAQUERYSETW lpqsRegInfo,
__in WSAESETSERVICEOP essoperation, _In_ WSAESETSERVICEOP essoperation,
__in DWORD dwControlFlags _In_ DWORD dwControlFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_WSASETSERVICE LPFN_WSASETSERVICEW #define LPFN_WSASETSERVICE LPFN_WSASETSERVICEW
#else #else
#define LPFN_WSASETSERVICE LPFN_WSASETSERVICEA #define LPFN_WSASETSERVICE LPFN_WSASETSERVICEA
#endif /* !UNICODE */ #endif /* !UNICODE */
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAProviderConfigChange( WSAProviderConfigChange(
__deref_inout_opt LPHANDLE lpNotificationHandle, _Inout_ LPHANDLE lpNotificationHandle,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
INT INT
(WSAAPI * LPFN_WSAPROVIDERCONFIGCHANGE)( (WSAAPI * LPFN_WSAPROVIDERCONFIGCHANGE)(
__deref_inout_opt LPHANDLE lpNotificationHandle, _Inout_ LPHANDLE lpNotificationHandle,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* INCL_WINSOCK_API_TYPEDEFS */ #endif /* INCL_WINSOCK_API_TYPEDEFS */
#if(_WIN32_WINNT >= 0x0600) #if(_WIN32_WINNT >= 0x0600)
#if INCL_WINSOCK_API_PROTOTYPES #if INCL_WINSOCK_API_PROTOTYPES
__control_entrypoint(DllExport)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
int int
WSAAPI WSAAPI
WSAPoll( WSAPoll(
__inout LPWSAPOLLFD fdArray, _Inout_ LPWSAPOLLFD fdArray,
__in ULONG fds, _In_ ULONG fds,
__in INT timeout _In_ INT timeout
); );
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
#endif // (_WIN32_WINNT >= 0x0600) #endif // (_WIN32_WINNT >= 0x0600)
/* Microsoft Windows Extended data types */ /* Microsoft Windows Extended data types */
typedef struct sockaddr_in FAR *LPSOCKADDR_IN; typedef struct sockaddr_in FAR *LPSOCKADDR_IN;
typedef struct linger LINGER; typedef struct linger LINGER;
typedef struct linger *PLINGER; typedef struct linger *PLINGER;
typedef struct linger FAR *LPLINGER; typedef struct linger FAR *LPLINGER;
 End of changes. 354 change blocks. 
819 lines changed or deleted 1172 lines changed or added


 ws2spi.h (6.1.7601.17514-Windows_7.0)   ws2spi.h (6.3.9600.17415-Windows_8.1) 
//$TAG BIZDEV
// $IPCategory:
// $DealPointID: 118736
// $AgreementName: berkeley software distribution license
// $AgreementType: oss license
// $ExternalOrigin: regents of the university of california
//$ENDTAG
//$TAG ENGR
// $Owner: vadime
// $Module: published_inc
//
//$ENDTAG
/* WS2SPI.H -- definitions to be used with the WinSock service provider. /* WS2SPI.H -- definitions to be used with the WinSock service provider.
* *
* Copyright (c) Microsoft Corporation. All rights reserved. * Copyright (c) Microsoft Corporation. All rights reserved.
* *
* This header file corresponds to version 2.2.x of the WinSock SPI * This header file corresponds to version 2.2.x of the WinSock SPI
* specification. * specification.
* *
* This file includes parts which are Copyright (c) 1982-1986 Regents * This file includes parts which are Copyright (c) 1982-1986 Regents
* of the University of California. All rights reserved. The * of the University of California. All rights reserved. The
* Berkeley Software License Agreement specifies the terms and * Berkeley Software License Agreement specifies the terms and
* conditions for redistribution. * conditions for redistribution.
*/ */
#ifndef _WINSOCK2SPI_ #ifndef _WINSOCK2SPI_
#define _WINSOCK2SPI_ #define _WINSOCK2SPI_
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
/* /*
* Pull in WINSOCK2.H if necessary * Pull in WINSOCK2.H if necessary
*/ */
#ifndef _WINSOCK2API_ #ifndef _WINSOCK2API_
#include <winsock2.h> #include <winsock2.h>
#endif /* _WINSOCK2API_ */ #endif /* _WINSOCK2API_ */
/* /*
skipping to change at line 106 skipping to change at line 97
VOID VOID
(CALLBACK FAR * LPWSAUSERAPC)( (CALLBACK FAR * LPWSAUSERAPC)(
DWORD_PTR dwContext DWORD_PTR dwContext
); );
/* /*
* Pointers to the individual entries in a service provider's proc table. * Pointers to the individual entries in a service provider's proc table.
*/ */
typedef typedef
__checkReturn _Must_inspect_result_
SOCKET SOCKET
(WSPAPI * LPWSPACCEPT)( (WSPAPI * LPWSPACCEPT)(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part_opt(*addrlen, *addrlen) struct sockaddr FAR * addr, _Out_writes_bytes_to_opt_(*addrlen, *addrlen) struct sockaddr FAR * addr,
__inout_opt LPINT addrlen, _Inout_opt_ LPINT addrlen,
__in_opt LPCONDITIONPROC lpfnCondition, _In_opt_ LPCONDITIONPROC lpfnCondition,
__in_opt DWORD_PTR dwCallbackData, _In_opt_ DWORD_PTR dwCallbackData,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
INT INT
(WSPAPI * LPWSPADDRESSTOSTRING)( (WSPAPI * LPWSPADDRESSTOSTRING)(
__in_bcount(dwAddressLength) LPSOCKADDR lpsaAddress, _In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress,
__in DWORD dwAddressLength, _In_ DWORD dwAddressLength,
__in_opt LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__out_ecount_part(*lpdwAddressStringLength, *lpdwAddressStringLength) LPWSTR _Out_writes_to_(*lpdwAddressStringLength, *lpdwAddressStringLength) LPWSTR l
lpszAddressString, pszAddressString,
__inout LPDWORD lpdwAddressStringLength, _Inout_ LPDWORD lpdwAddressStringLength,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPASYNCSELECT)( (WSPAPI * LPWSPASYNCSELECT)(
__in SOCKET s, _In_ SOCKET s,
__in HWND hWnd, _In_ HWND hWnd,
__in unsigned int wMsg, _In_ unsigned int wMsg,
__in long lEvent, _In_ long lEvent,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPBIND)( (WSPAPI * LPWSPBIND)(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen, _In_ int namelen,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPCANCELBLOCKINGCALL)( (WSPAPI * LPWSPCANCELBLOCKINGCALL)(
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPCLEANUP)( (WSPAPI * LPWSPCLEANUP)(
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPCLOSESOCKET)( (WSPAPI * LPWSPCLOSESOCKET)(
__in SOCKET s, _In_ SOCKET s,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPCONNECT)( (WSPAPI * LPWSPCONNECT)(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen, _In_ int namelen,
__in_opt LPWSABUF lpCallerData, _In_opt_ LPWSABUF lpCallerData,
__out_opt LPWSABUF lpCalleeData, _Out_opt_ LPWSABUF lpCalleeData,
__in_opt LPQOS lpSQOS, _In_opt_ LPQOS lpSQOS,
__in_opt LPQOS lpGQOS, _In_opt_ LPQOS lpGQOS,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPDUPLICATESOCKET)( (WSPAPI * LPWSPDUPLICATESOCKET)(
__in SOCKET s, _In_ SOCKET s,
__in DWORD dwProcessId, _In_ DWORD dwProcessId,
__out LPWSAPROTOCOL_INFOW lpProtocolInfo, _Out_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPENUMNETWORKEVENTS)( (WSPAPI * LPWSPENUMNETWORKEVENTS)(
__in SOCKET s, _In_ SOCKET s,
__in WSAEVENT hEventObject, _In_ WSAEVENT hEventObject,
__out LPWSANETWORKEVENTS lpNetworkEvents, _Out_ LPWSANETWORKEVENTS lpNetworkEvents,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPEVENTSELECT)( (WSPAPI * LPWSPEVENTSELECT)(
__in SOCKET s, _In_ SOCKET s,
__in WSAEVENT hEventObject, _In_opt_ WSAEVENT hEventObject,
__in long lNetworkEvents, _In_ long lNetworkEvents,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
BOOL BOOL
(WSPAPI * LPWSPGETOVERLAPPEDRESULT)( (WSPAPI * LPWSPGETOVERLAPPEDRESULT)(
__in SOCKET s, _In_ SOCKET s,
__in LPWSAOVERLAPPED lpOverlapped, _In_ LPWSAOVERLAPPED lpOverlapped,
__out LPDWORD lpcbTransfer, _Out_ LPDWORD lpcbTransfer,
__in BOOL fWait, _In_ BOOL fWait,
__out LPDWORD lpdwFlags, _Out_ LPDWORD lpdwFlags,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPGETPEERNAME)( (WSPAPI * LPWSPGETPEERNAME)(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part(*namelen, *namelen) struct sockaddr FAR * name, _Out_writes_bytes_to_(*namelen, *namelen) struct sockaddr FAR * name,
__inout LPINT namelen, _Inout_ LPINT namelen,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPGETSOCKNAME)( (WSPAPI * LPWSPGETSOCKNAME)(
__in SOCKET s, _In_ SOCKET s,
__out_bcount_part(*namelen, *namelen) struct sockaddr FAR * name, _Out_writes_bytes_to_(*namelen, *namelen) struct sockaddr FAR * name,
__inout LPINT namelen, _Inout_ LPINT namelen,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPGETSOCKOPT)( (WSPAPI * LPWSPGETSOCKOPT)(
__in SOCKET s, _In_ SOCKET s,
__in int level, _In_ int level,
__in int optname, _In_ int optname,
__out_bcount(*optlen) char FAR * optval, _Out_writes_bytes_(*optlen) char FAR * optval,
__inout LPINT optlen, _Inout_ LPINT optlen,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
BOOL BOOL
(WSPAPI * LPWSPGETQOSBYNAME)( (WSPAPI * LPWSPGETQOSBYNAME)(
__in SOCKET s, _In_ SOCKET s,
__in LPWSABUF lpQOSName, _In_ LPWSABUF lpQOSName,
__out LPQOS lpQOS, _Out_ LPQOS lpQOS,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPIOCTL)( (WSPAPI * LPWSPIOCTL)(
__in SOCKET s, _In_ SOCKET s,
__in DWORD dwIoControlCode, _In_ DWORD dwIoControlCode,
__in_bcount_opt(cbInBuffer) LPVOID lpvInBuffer, _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer,
__in DWORD cbInBuffer, _In_ DWORD cbInBuffer,
__out_bcount_part_opt(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer, _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuff
__in DWORD cbOutBuffer, er,
__out LPDWORD lpcbBytesReturned, _In_ DWORD cbOutBuffer,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Out_ LPDWORD lpcbBytesReturned,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSATHREADID lpThreadId, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
__out LPINT lpErrno _In_opt_ LPWSATHREADID lpThreadId,
_Out_ LPINT lpErrno
); );
typedef typedef
SOCKET SOCKET
(WSPAPI * LPWSPJOINLEAF)( (WSPAPI * LPWSPJOINLEAF)(
__in SOCKET s, _In_ SOCKET s,
__in_bcount(namelen) const struct sockaddr FAR * name, _In_reads_bytes_(namelen) const struct sockaddr FAR * name,
__in int namelen, _In_ int namelen,
__in_opt LPWSABUF lpCallerData, _In_opt_ LPWSABUF lpCallerData,
__out_opt LPWSABUF lpCalleeData, _Out_opt_ LPWSABUF lpCalleeData,
__in_opt LPQOS lpSQOS, _In_opt_ LPQOS lpSQOS,
__in_opt LPQOS lpGQOS, _In_opt_ LPQOS lpGQOS,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPLISTEN)( (WSPAPI * LPWSPLISTEN)(
__in SOCKET s, _In_ SOCKET s,
__in int backlog, _In_ int backlog,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPRECV)( (WSPAPI * LPWSPRECV)(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesRecvd, _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
__inout LPDWORD lpFlags, _Inout_ LPDWORD lpFlags,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
__in_opt LPWSATHREADID lpThreadId, _In_opt_ LPWSATHREADID lpThreadId,
__in LPINT lpErrno _In_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPRECVDISCONNECT)( (WSPAPI * LPWSPRECVDISCONNECT)(
__in SOCKET s, _In_ SOCKET s,
__in_opt LPWSABUF lpInboundDisconnectData, _In_opt_ LPWSABUF lpInboundDisconnectData,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPRECVFROM)( (WSPAPI * LPWSPRECVFROM)(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesRecvd, _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
__inout LPDWORD lpFlags, _Inout_ LPDWORD lpFlags,
__out_bcount_part_opt(*lpFromLen, *lpFromLen) struct sockaddr FAR * lpFrom, _Out_writes_bytes_to_opt_(*lpFromlen, *lpFromlen) struct sockaddr FAR * lpFr
__inout_opt LPINT lpFromlen, om,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPINT lpFromlen,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSATHREADID lpThreadId, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
__out LPINT lpErrno _In_opt_ LPWSATHREADID lpThreadId,
_Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPSELECT)( (WSPAPI * LPWSPSELECT)(
__in int nfds, _In_ int nfds,
__inout_opt fd_set FAR * readfds, _Inout_opt_ fd_set FAR * readfds,
__inout_opt fd_set FAR * writefds, _Inout_opt_ fd_set FAR * writefds,
__inout_opt fd_set FAR * exceptfds, _Inout_opt_ fd_set FAR * exceptfds,
__in_opt const struct timeval FAR * timeout, _In_opt_ const struct timeval FAR * timeout,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPSEND)( (WSPAPI * LPWSPSEND)(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesSent, _Out_opt_ LPDWORD lpNumberOfBytesSent,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
__in_opt LPWSATHREADID lpThreadId, _In_opt_ LPWSATHREADID lpThreadId,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPSENDDISCONNECT)( (WSPAPI * LPWSPSENDDISCONNECT)(
__in SOCKET s, _In_ SOCKET s,
__in_opt LPWSABUF lpOutboundDisconnectData, _In_opt_ LPWSABUF lpOutboundDisconnectData,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPSENDTO)( (WSPAPI * LPWSPSENDTO)(
__in SOCKET s, _In_ SOCKET s,
__in_ecount(dwBufferCount) LPWSABUF lpBuffers, _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
__in DWORD dwBufferCount, _In_ DWORD dwBufferCount,
__out_opt LPDWORD lpNumberOfBytesSent, _Out_opt_ LPDWORD lpNumberOfBytesSent,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in_bcount_opt(iToLen) const struct sockaddr FAR * lpTo, _In_reads_bytes_opt_(iTolen) const struct sockaddr FAR * lpTo,
__in int iTolen, _In_ int iTolen,
__inout_opt LPWSAOVERLAPPED lpOverlapped, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
__in_opt LPWSATHREADID lpThreadId, _In_opt_ LPWSATHREADID lpThreadId,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPSETSOCKOPT)( (WSPAPI * LPWSPSETSOCKOPT)(
__in SOCKET s, _In_ SOCKET s,
__in int level, _In_ int level,
__in int optname, _In_ int optname,
__in_bcount_opt(optlen) const char FAR * optval, _In_reads_bytes_opt_(optlen) const char FAR * optval,
__in int optlen, _In_ int optlen,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSPSHUTDOWN)( (WSPAPI * LPWSPSHUTDOWN)(
__in SOCKET s, _In_ SOCKET s,
__in int how, _In_ int how,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
__checkReturn _Must_inspect_result_
SOCKET SOCKET
(WSPAPI * LPWSPSOCKET)( (WSPAPI * LPWSPSOCKET)(
__in int af, _In_ int af,
__in int type, _In_ int type,
__in int protocol, _In_ int protocol,
__in_opt LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__in GROUP g, _In_ GROUP g,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
INT INT
(WSPAPI * LPWSPSTRINGTOADDRESS)( (WSPAPI * LPWSPSTRINGTOADDRESS)(
__in LPWSTR AddressString, _In_ LPWSTR AddressString,
__in INT AddressFamily, _In_ INT AddressFamily,
__in_opt LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__out_bcount_part(*lpAddressLength, *lpAddressLength) LPSOCKADDR lpAddress, _Out_writes_bytes_to_(*lpAddressLength, *lpAddressLength) LPSOCKADDR lpAddre
__inout LPINT lpAddressLength, ss,
__out LPINT lpErrno _Inout_ LPINT lpAddressLength,
_Out_ LPINT lpErrno
); );
/* /*
* A service provider proc table. This structure is returned by value * A service provider proc table. This structure is returned by value
* from the service provider's WSPStartup() entrypoint. * from the service provider's WSPStartup() entrypoint.
*/ */
typedef struct _WSPPROC_TABLE { typedef struct _WSPPROC_TABLE {
LPWSPACCEPT lpWSPAccept; LPWSPACCEPT lpWSPAccept;
skipping to change at line 470 skipping to change at line 461
} WSPPROC_TABLE, FAR * LPWSPPROC_TABLE; } WSPPROC_TABLE, FAR * LPWSPPROC_TABLE;
/* /*
* Pointers to the individual entries in the upcall table. * Pointers to the individual entries in the upcall table.
*/ */
typedef typedef
BOOL BOOL
(WSPAPI * LPWPUCLOSEEVENT)( (WSPAPI * LPWPUCLOSEEVENT)(
__in WSAEVENT hEvent, _In_ WSAEVENT hEvent,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWPUCLOSESOCKETHANDLE)( (WSPAPI * LPWPUCLOSESOCKETHANDLE)(
__in SOCKET s, _In_ SOCKET s,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
WSAEVENT WSAEVENT
(WSPAPI * LPWPUCREATEEVENT)( (WSPAPI * LPWPUCREATEEVENT)(
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
__checkReturn _Must_inspect_result_
SOCKET SOCKET
(WSPAPI * LPWPUCREATESOCKETHANDLE)( (WSPAPI * LPWPUCREATESOCKETHANDLE)(
__in DWORD dwCatalogEntryId, _In_ DWORD dwCatalogEntryId,
__in DWORD_PTR dwContext, _In_ DWORD_PTR dwContext,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWPUFDISSET)( (WSPAPI * LPWPUFDISSET)(
__in SOCKET s, _In_ SOCKET s,
__in fd_set FAR * fdset _In_ fd_set FAR * fdset
); );
typedef typedef
int int
(WSPAPI * LPWPUGETPROVIDERPATH)( (WSPAPI * LPWPUGETPROVIDERPATH)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__out_ecount(*lpProviderDllPathLen) WCHAR FAR * lpszProviderDllPath, _Out_writes_(*lpProviderDllPathLen) WCHAR FAR * lpszProviderDllPath,
__inout LPINT lpProviderDllPathLen, _Inout_ LPINT lpProviderDllPathLen,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
SOCKET SOCKET
(WSPAPI * LPWPUMODIFYIFSHANDLE)( (WSPAPI * LPWPUMODIFYIFSHANDLE)(
__in DWORD dwCatalogEntryId, _In_ DWORD dwCatalogEntryId,
__in SOCKET ProposedHandle, _In_ SOCKET ProposedHandle,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
BOOL BOOL
(WSPAPI * LPWPUPOSTMESSAGE)( (WSPAPI * LPWPUPOSTMESSAGE)(
__in HWND hWnd, _In_ HWND hWnd,
__in UINT Msg, _In_ UINT Msg,
__in WPARAM wParam, _In_ WPARAM wParam,
__in LPARAM lParam _In_ LPARAM lParam
); );
typedef typedef
int int
(WSPAPI * LPWPUQUERYBLOCKINGCALLBACK)( (WSPAPI * LPWPUQUERYBLOCKINGCALLBACK)(
__in DWORD dwCatalogEntryId, _In_ DWORD dwCatalogEntryId,
__out LPBLOCKINGCALLBACK FAR * lplpfnCallback, _Out_ LPBLOCKINGCALLBACK FAR * lplpfnCallback,
__out PDWORD_PTR lpdwContext, _Out_ PDWORD_PTR lpdwContext,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWPUQUERYSOCKETHANDLECONTEXT)( (WSPAPI * LPWPUQUERYSOCKETHANDLECONTEXT)(
__in SOCKET s, _In_ SOCKET s,
__out PDWORD_PTR lpContext, _Out_ PDWORD_PTR lpContext,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWPUQUEUEAPC)( (WSPAPI * LPWPUQUEUEAPC)(
__in LPWSATHREADID lpThreadId, _In_ LPWSATHREADID lpThreadId,
__in LPWSAUSERAPC lpfnUserApc, _In_ LPWSAUSERAPC lpfnUserApc,
__in DWORD_PTR dwContext, _In_ DWORD_PTR dwContext,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
BOOL BOOL
(WSPAPI * LPWPURESETEVENT)( (WSPAPI * LPWPURESETEVENT)(
__in WSAEVENT hEvent, _In_ WSAEVENT hEvent,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
BOOL BOOL
(WSPAPI * LPWPUSETEVENT)( (WSPAPI * LPWPUSETEVENT)(
__in WSAEVENT hEvent, _In_ WSAEVENT hEvent,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWPUOPENCURRENTTHREAD)( (WSPAPI * LPWPUOPENCURRENTTHREAD)(
__out LPWSATHREADID lpThreadId, _Out_ LPWSATHREADID lpThreadId,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWPUCLOSETHREAD)( (WSPAPI * LPWPUCLOSETHREAD)(
__in LPWSATHREADID lpThreadId, _In_ LPWSATHREADID lpThreadId,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
// Available only directly from ws2_32.dll // Available only directly from ws2_32.dll
typedef typedef
int int
(WSPAPI * LPWPUCOMPLETEOVERLAPPEDREQUEST) ( (WSPAPI * LPWPUCOMPLETEOVERLAPPEDREQUEST) (
__in SOCKET s, _In_ SOCKET s,
__inout LPWSAOVERLAPPED lpOverlapped, _Inout_ LPWSAOVERLAPPED lpOverlapped,
__in DWORD dwError, _In_ DWORD dwError,
__in DWORD cbTransferred, _In_ DWORD cbTransferred,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
/* /*
* The upcall table. This structure is passed by value to the service * The upcall table. This structure is passed by value to the service
* provider's WSPStartup() entrypoint. * provider's WSPStartup() entrypoint.
*/ */
typedef struct _WSPUPCALLTABLE { typedef struct _WSPUPCALLTABLE {
LPWPUCLOSEEVENT lpWPUCloseEvent; LPWPUCLOSEEVENT lpWPUCloseEvent;
skipping to change at line 623 skipping to change at line 614
LPWPUSETEVENT lpWPUSetEvent; LPWPUSETEVENT lpWPUSetEvent;
LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread; LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
LPWPUCLOSETHREAD lpWPUCloseThread; LPWPUCLOSETHREAD lpWPUCloseThread;
} WSPUPCALLTABLE, FAR * LPWSPUPCALLTABLE; } WSPUPCALLTABLE, FAR * LPWSPUPCALLTABLE;
/* /*
* WinSock 2 SPI socket function prototypes * WinSock 2 SPI socket function prototypes
*/ */
__control_entrypoint(DllExport) _Must_inspect_result_
__checkReturn
int int
WSPAPI WSPAPI
WSPStartup( WSPStartup(
__in WORD wVersionRequested, _In_ WORD wVersionRequested,
__in LPWSPDATA lpWSPData, _In_ LPWSPDATA lpWSPData,
__in LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__in WSPUPCALLTABLE UpcallTable, _In_ WSPUPCALLTABLE UpcallTable,
__out LPWSPPROC_TABLE lpProcTable _Out_ LPWSPPROC_TABLE lpProcTable
); );
typedef typedef
__checkReturn _Must_inspect_result_
int int
(WSPAPI * LPWSPSTARTUP)( (WSPAPI * LPWSPSTARTUP)(
__in WORD wVersionRequested, _In_ WORD wVersionRequested,
__in LPWSPDATA lpWSPData, _In_ LPWSPDATA lpWSPData,
__in LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
__in WSPUPCALLTABLE UpcallTable, _In_ WSPUPCALLTABLE UpcallTable,
__out LPWSPPROC_TABLE lpProcTable _Out_ LPWSPPROC_TABLE lpProcTable
); );
/* /*
* Installation and configuration entrypoints. * Installation and configuration entrypoints.
*/ */
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCEnumProtocols( WSCEnumProtocols(
__in_opt LPINT lpiProtocols, _In_opt_ LPINT lpiProtocols,
__out_bcount_part_opt(*lpdwBufferLength, *lpdwBufferLength) LPWSAPROTOCOL_IN _Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferLength) LPWSAPROTOCO
FOW lpProtocolBuffer, L_INFOW lpProtocolBuffer,
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSCENUMPROTOCOLS)( (WSPAPI * LPWSCENUMPROTOCOLS)(
__in_opt LPINT lpiProtocols, _In_opt_ LPINT lpiProtocols,
__out_bcount_part_opt(*lpdwBufferLength, *lpdwBufferlength) LPWSAPROTOCOL_IN _Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferlength) LPWSAPROTOCO
FOW lpProtocolBuffer, L_INFOW lpProtocolBuffer,
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501)) #if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501))
/* /*
* 64-bit architectures capable of running 32-bit code have * 64-bit architectures capable of running 32-bit code have
* separate 64-bit and 32-bit catalogs. API with '32' prefix * separate 64-bit and 32-bit catalogs. API with '32' prefix
* allow 32 bit catalog manipulations by 64 bit process. * allow 32 bit catalog manipulations by 64 bit process.
*/ */
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCEnumProtocols32( WSCEnumProtocols32(
__in_opt LPINT lpiProtocols, _In_opt_ LPINT lpiProtocols,
__out_bcount(*lpdwBufferLength) LPWSAPROTOCOL_INFOW lpProtocolBuffer, _Out_writes_bytes_(*lpdwBufferLength) LPWSAPROTOCOL_INFOW lpProtocolBuffer,
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#endif //(defined(_WIN64) && _WIN32_WINNT >= 0x0501) #endif //(defined(_WIN64) && _WIN32_WINNT >= 0x0501)
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCDeinstallProvider( WSCDeinstallProvider(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSCDEINSTALLPROVIDER)( (WSPAPI * LPWSCDEINSTALLPROVIDER)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501)) #if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501))
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCDeinstallProvider32( WSCDeinstallProvider32(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#endif //(defined(_WIN64) && _WIN32_WINNT >= 0x0501) #endif //(defined(_WIN64) && _WIN32_WINNT >= 0x0501)
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCInstallProvider( WSCInstallProvider(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in_z const WCHAR FAR * lpszProviderDllPath, _In_z_ const WCHAR FAR * lpszProviderDllPath,
__in_ecount(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList, _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
__in DWORD dwNumberOfEntries, _In_ DWORD dwNumberOfEntries,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSCINSTALLPROVIDER)( (WSPAPI * LPWSCINSTALLPROVIDER)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in_z const WCHAR FAR * lpszProviderDllPath, _In_z_ const WCHAR FAR * lpszProviderDllPath,
__in_ecount(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList, _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
__in DWORD dwNumberOfEntries, _In_ DWORD dwNumberOfEntries,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501)) #if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501))
/* /*
* This API manipulates 64-bit and 32-bit catalogs simulteneously. * This API manipulates 64-bit and 32-bit catalogs simulteneously.
* It is needed to guarantee the same catalog IDs for provider catalog * It is needed to guarantee the same catalog IDs for provider catalog
* entries in both 64-bit and 32-bit catalogs. * entries in both 64-bit and 32-bit catalogs.
*/ */
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCInstallProvider64_32( WSCInstallProvider64_32(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in_z const WCHAR FAR * lpszProviderDllPath, _In_z_ const WCHAR FAR * lpszProviderDllPath,
__in_ecount(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList, _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
__in DWORD dwNumberOfEntries, _In_ DWORD dwNumberOfEntries,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#endif //(defined(_WIN64) && (_WIN32_WINNT >= 0x0501)) #endif //(defined(_WIN64) && (_WIN32_WINNT >= 0x0501))
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCGetProviderPath( WSCGetProviderPath(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__out_ecount_part(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR * _Out_writes_to_(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR * lp
lpszProviderDllPath, szProviderDllPath,
__inout LPINT lpProviderDllPathLen, _Inout_ LPINT lpProviderDllPathLen,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSCGETPROVIDERPATH)( (WSPAPI * LPWSCGETPROVIDERPATH)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__out_ecount_part(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR * _Out_writes_to_(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR * lp
lpszProviderDllPath, szProviderDllPath,
__inout LPINT lpProviderDllPathLen, _Inout_ LPINT lpProviderDllPathLen,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#if(_WIN32_WINNT >= 0x0501) #if(_WIN32_WINNT >= 0x0501)
#if defined(_WIN64) #if defined(_WIN64)
__control_entrypoint(DllExport) _Success_(return == 0)
int int
WSPAPI WSPAPI
WSCGetProviderPath32( WSCGetProviderPath32(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__out_ecount_part(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR * _Out_writes_to_(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR * lp
lpszProviderDllPath, szProviderDllPath,
__inout LPINT lpProviderDllPathLen, _Inout_ LPINT lpProviderDllPathLen,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#endif #endif
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCUpdateProvider( WSCUpdateProvider(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in_z const WCHAR FAR * lpszProviderDllPath, _In_z_ const WCHAR FAR * lpszProviderDllPath,
__in_ecount(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList, _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
__in DWORD dwNumberOfEntries, _In_ DWORD dwNumberOfEntries,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
typedef typedef
int int
(WSPAPI * LPWSCUPDATEPROVIDER)( (WSPAPI * LPWSCUPDATEPROVIDER)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in_z const WCHAR FAR * lpszProviderDllPath, _In_z_ const WCHAR FAR * lpszProviderDllPath,
__in_ecount(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList, _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
__in DWORD dwNumberOfEntries, _In_ DWORD dwNumberOfEntries,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#if defined(_WIN64) #if defined(_WIN64)
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCUpdateProvider32( WSCUpdateProvider32(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in_z const WCHAR FAR * lpszProviderDllPath, _In_z_ const WCHAR FAR * lpszProviderDllPath,
__in_ecount(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList, _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
__in DWORD dwNumberOfEntries, _In_ DWORD dwNumberOfEntries,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#endif #endif
#endif //(_WIN32_WINNT >= 0x0501) #endif //(_WIN32_WINNT >= 0x0501)
#if (_WIN32_WINNT < 0x0600) #if (_WIN32_WINNT < 0x0600)
int int
WSPAPI WSPAPI
WSCInstallQOSTemplate ( WSCInstallQOSTemplate (
__in const LPGUID Guid, _In_ const LPGUID Guid,
__in LPWSABUF QosName, _In_ LPWSABUF QosName,
__in LPQOS Qos _In_ LPQOS Qos
); );
typedef typedef
int int
(WSPAPI * LPWSCINSTALLQOSTEMPLATE)( (WSPAPI * LPWSCINSTALLQOSTEMPLATE)(
__in const LPGUID Guid, _In_ const LPGUID Guid,
__in LPWSABUF QosName, _In_ LPWSABUF QosName,
__in LPQOS Qos _In_ LPQOS Qos
); );
int int
WSPAPI WSPAPI
WSCRemoveQOSTemplate ( WSCRemoveQOSTemplate (
__in const LPGUID Guid, _In_ const LPGUID Guid,
__in LPWSABUF QosName _In_ LPWSABUF QosName
); );
typedef typedef
int int
(WSPAPI * LPWSCREMOVEQOSTEMPLATE)( (WSPAPI * LPWSCREMOVEQOSTEMPLATE)(
__in const LPGUID Guid, _In_ const LPGUID Guid,
__in LPWSABUF QosName _In_ LPWSABUF QosName
); );
#endif //(_WIN32_WINNT < 0x0600) #endif //(_WIN32_WINNT < 0x0600)
#if(_WIN32_WINNT >= 0x0600) #if(_WIN32_WINNT >= 0x0600)
// //
// LSP Categorization // LSP Categorization
// //
skipping to change at line 888 skipping to change at line 869
typedef struct _WSC_PROVIDER_AUDIT_INFO { typedef struct _WSC_PROVIDER_AUDIT_INFO {
DWORD RecordSize; // Size of this audit record, in bytes (includes thi s field) DWORD RecordSize; // Size of this audit record, in bytes (includes thi s field)
PVOID Reserved; // Reserved PVOID Reserved; // Reserved
// Install Time (GMT) // Install Time (GMT)
// User SID of account performing install // User SID of account performing install
// Length (in characters) of Full Path // Length (in characters) of Full Path
// Full Path of EXE performing install // Full Path of EXE performing install
} WSC_PROVIDER_AUDIT_INFO; } WSC_PROVIDER_AUDIT_INFO;
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCSetProviderInfo( WSCSetProviderInfo(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in WSC_PROVIDER_INFO_TYPE InfoType, _In_ WSC_PROVIDER_INFO_TYPE InfoType,
__in_bcount(InfoSize) PBYTE Info, _In_reads_bytes_(InfoSize) PBYTE Info,
__in size_t InfoSize, _In_ size_t InfoSize,
__in DWORD Flags, _In_ DWORD Flags,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCGetProviderInfo( WSCGetProviderInfo(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in WSC_PROVIDER_INFO_TYPE InfoType, _In_ WSC_PROVIDER_INFO_TYPE InfoType,
__out_bcount_part(*InfoSize, *InfoSize) PBYTE Info, _Out_writes_bytes_to_(*InfoSize, *InfoSize) PBYTE Info,
__inout size_t *InfoSize, _Inout_ size_t *InfoSize,
__in DWORD Flags, _In_ DWORD Flags,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#if defined(_WIN64) #if defined(_WIN64)
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCSetProviderInfo32( WSCSetProviderInfo32(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in WSC_PROVIDER_INFO_TYPE InfoType, _In_ WSC_PROVIDER_INFO_TYPE InfoType,
__in_bcount(InfoSize) PBYTE Info, _In_reads_bytes_(InfoSize) PBYTE Info,
__in size_t InfoSize, _In_ size_t InfoSize,
__in DWORD Flags, _In_ DWORD Flags,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCGetProviderInfo32( WSCGetProviderInfo32(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in WSC_PROVIDER_INFO_TYPE InfoType, _In_ WSC_PROVIDER_INFO_TYPE InfoType,
__out_bcount_part(*InfoSize, *InfoSize) PBYTE Info, _Out_writes_bytes_to_(*InfoSize, *InfoSize) PBYTE Info,
__inout size_t *InfoSize, _Inout_ size_t *InfoSize,
__in DWORD Flags, _In_ DWORD Flags,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#endif // (_WIN64) #endif // (_WIN64)
// //
// App Permitted LSP Categorization APIs // App Permitted LSP Categorization APIs
// //
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCSetApplicationCategory( WSCSetApplicationCategory(
__in_ecount(PathLength) LPCWSTR Path, _In_reads_(PathLength) LPCWSTR Path,
__in DWORD PathLength, _In_ DWORD PathLength,
__in_ecount_opt(ExtraLength) LPCWSTR Extra, _In_reads_opt_(ExtraLength) LPCWSTR Extra,
__in DWORD ExtraLength, _In_ DWORD ExtraLength,
__in DWORD PermittedLspCategories, _In_ DWORD PermittedLspCategories,
__out_opt DWORD * pPrevPermLspCat, _Out_opt_ DWORD * pPrevPermLspCat,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
__control_entrypoint(DllExport)
int int
WSPAPI WSPAPI
WSCGetApplicationCategory( WSCGetApplicationCategory(
__in_ecount(PathLength) LPCWSTR Path, _In_reads_(PathLength) LPCWSTR Path,
__in DWORD PathLength, _In_ DWORD PathLength,
__in_ecount_opt(ExtraLength) LPCWSTR Extra, _In_reads_opt_(ExtraLength) LPCWSTR Extra,
__in DWORD ExtraLength, _In_ DWORD ExtraLength,
__out DWORD * pPermittedLspCategories, _Out_ DWORD * pPermittedLspCategories,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#endif //(_WIN32_WINNT >= 0x0600) #endif //(_WIN32_WINNT >= 0x0600)
/* /*
* The following upcall function prototypes are only used by WinSock 2 DLL and * The following upcall function prototypes are only used by WinSock 2 DLL and
* should not be used by any service providers. * should not be used by any service providers.
*/ */
BOOL BOOL
WSPAPI WSPAPI
WPUCloseEvent( WPUCloseEvent(
__in WSAEVENT hEvent, _In_ WSAEVENT hEvent,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
int int
WSPAPI WSPAPI
WPUCloseSocketHandle( WPUCloseSocketHandle(
__in SOCKET s, _In_ SOCKET s,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
WSAEVENT WSAEVENT
WSPAPI WSPAPI
WPUCreateEvent( WPUCreateEvent(
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
SOCKET SOCKET
WSPAPI WSPAPI
WPUCreateSocketHandle( WPUCreateSocketHandle(
__in DWORD dwCatalogEntryId, _In_ DWORD dwCatalogEntryId,
__in DWORD_PTR dwContext, _In_ DWORD_PTR dwContext,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
__control_entrypoint(DispatchTable)
int int
WSPAPI WSPAPI
WPUFDIsSet( WPUFDIsSet(
__in SOCKET s, _In_ SOCKET s,
__in fd_set FAR * fdset _In_ fd_set FAR * fdset
); );
int int
WSPAPI WSPAPI
WPUGetProviderPath( WPUGetProviderPath(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__out_ecount(*lpProviderDllPathLen) WCHAR FAR * lpszProviderDllPath, _Out_writes_(*lpProviderDllPathLen) WCHAR FAR * lpszProviderDllPath,
__inout LPINT lpProviderDllPathLen, _Inout_ LPINT lpProviderDllPathLen,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
SOCKET SOCKET
WSPAPI WSPAPI
WPUModifyIFSHandle( WPUModifyIFSHandle(
__in DWORD dwCatalogEntryId, _In_ DWORD dwCatalogEntryId,
__in SOCKET ProposedHandle, _In_ SOCKET ProposedHandle,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
__control_entrypoint(DispatchTable)
BOOL BOOL
WSPAPI WSPAPI
WPUPostMessage( WPUPostMessage(
__in HWND hWnd, _In_ HWND hWnd,
__in UINT Msg, _In_ UINT Msg,
__in WPARAM wParam, _In_ WPARAM wParam,
__in LPARAM lParam _In_ LPARAM lParam
); );
int int
WSPAPI WSPAPI
WPUQueryBlockingCallback( WPUQueryBlockingCallback(
__in DWORD dwCatalogEntryId, _In_ DWORD dwCatalogEntryId,
__out LPBLOCKINGCALLBACK FAR * lplpfnCallback, _Out_ LPBLOCKINGCALLBACK FAR * lplpfnCallback,
__out PDWORD_PTR lpdwContext, _Out_ PDWORD_PTR lpdwContext,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
int int
WSPAPI WSPAPI
WPUQuerySocketHandleContext( WPUQuerySocketHandleContext(
__in SOCKET s, _In_ SOCKET s,
__out PDWORD_PTR lpContext, _Out_ PDWORD_PTR lpContext,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
__control_entrypoint(DispatchTable)
int int
WSPAPI WSPAPI
WPUQueueApc( WPUQueueApc(
__in LPWSATHREADID lpThreadId, _In_ LPWSATHREADID lpThreadId,
__in LPWSAUSERAPC lpfnUserApc, _In_ LPWSAUSERAPC lpfnUserApc,
__in DWORD_PTR dwContext, _In_ DWORD_PTR dwContext,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
BOOL BOOL
WSPAPI WSPAPI
WPUResetEvent( WPUResetEvent(
__in WSAEVENT hEvent, _In_ WSAEVENT hEvent,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
BOOL BOOL
WSPAPI WSPAPI
WPUSetEvent( WPUSetEvent(
__in WSAEVENT hEvent, _In_ WSAEVENT hEvent,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
__control_entrypoint(DispatchTable)
int int
WSPAPI WSPAPI
WPUCompleteOverlappedRequest ( WPUCompleteOverlappedRequest (
__in SOCKET s, _In_ SOCKET s,
__inout LPWSAOVERLAPPED lpOverlapped, _Inout_ LPWSAOVERLAPPED lpOverlapped,
__in DWORD dwError, _In_ DWORD dwError,
__in DWORD cbTransferred, _In_ DWORD cbTransferred,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#if(_WIN32_WINNT >= 0x0501) #if(_WIN32_WINNT >= 0x0501)
__control_entrypoint(DispatchTable)
int int
WSPAPI WSPAPI
WPUOpenCurrentThread( WPUOpenCurrentThread(
__out LPWSATHREADID lpThreadId, _Out_ LPWSATHREADID lpThreadId,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
__control_entrypoint(DispatchTable)
int int
WSPAPI WSPAPI
WPUCloseThread( WPUCloseThread(
__in LPWSATHREADID lpThreadId, _In_ LPWSATHREADID lpThreadId,
__out LPINT lpErrno _Out_ LPINT lpErrno
); );
#endif //(_WIN32_WINNT >= 0x0501) #endif //(_WIN32_WINNT >= 0x0501)
/* /*
* Installing and uninstalling name space providers. * Installing and uninstalling name space providers.
*/ */
#if(_WIN32_WINNT >= 0x0501) #if(_WIN32_WINNT >= 0x0501)
/* /*
* SPI and API for enumerating name space providers are * SPI and API for enumerating name space providers are
* currently equivalent since there is no concept of a hidden * currently equivalent since there is no concept of a hidden
* name space provider * name space provider
*/ */
#define WSCEnumNameSpaceProviders WSAEnumNameSpaceProvidersW #define WSCEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
#define LPFN_WSCENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW #define LPFN_WSCENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
#if defined(_WIN64) #if defined(_WIN64)
INT INT
WSAAPI WSAAPI
WSCEnumNameSpaceProviders32( WSCEnumNameSpaceProviders32(
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount(*lpdwBufferLength) LPWSANAMESPACE_INFOW lpnspBuffer _Out_writes_bytes_(*lpdwBufferLength) LPWSANAMESPACE_INFOW lpnspBuffer
); );
#endif #endif
#endif //(_WIN32_WINNT >= 0x0501) #endif //(_WIN32_WINNT >= 0x0501)
#if(_WIN32_WINNT >= 0x0600) #if(_WIN32_WINNT >= 0x0600)
#define WSCEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW #define WSCEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW
#define LPFN_WSCENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW #define LPFN_WSCENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW
#if defined(_WIN64) #if defined(_WIN64)
INT INT
WSAAPI WSAAPI
WSCEnumNameSpaceProvidersEx32( WSCEnumNameSpaceProvidersEx32(
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount(*lpdwBufferLength) LPWSANAMESPACE_INFOEXW lpnspBuffer _Out_writes_bytes_(*lpdwBufferLength) LPWSANAMESPACE_INFOEXW lpnspBuffer
); );
#endif //(_WIN64) #endif //(_WIN64)
#endif //(_WIN32_WINNT >= 0x0600) #endif //(_WIN32_WINNT >= 0x0600)
INT INT
WSPAPI WSPAPI
WSCInstallNameSpace ( WSCInstallNameSpace (
__in LPWSTR lpszIdentifier, _In_ LPWSTR lpszIdentifier,
__in LPWSTR lpszPathName, _In_ LPWSTR lpszPathName,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in DWORD dwVersion, _In_ DWORD dwVersion,
__in LPGUID lpProviderId _In_ LPGUID lpProviderId
); );
typedef typedef
INT INT
(WSPAPI * LPWSCINSTALLNAMESPACE)( (WSPAPI * LPWSCINSTALLNAMESPACE)(
__in LPWSTR lpszIdentifier, _In_ LPWSTR lpszIdentifier,
__in LPWSTR lpszPathName, _In_ LPWSTR lpszPathName,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in DWORD dwVersion, _In_ DWORD dwVersion,
__in LPGUID lpProviderId _In_ LPGUID lpProviderId
); );
#if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501)) #if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501))
INT INT
WSPAPI WSPAPI
WSCInstallNameSpace32 ( WSCInstallNameSpace32 (
__in LPWSTR lpszIdentifier, _In_ LPWSTR lpszIdentifier,
__in LPWSTR lpszPathName, _In_ LPWSTR lpszPathName,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in DWORD dwVersion, _In_ DWORD dwVersion,
__in LPGUID lpProviderId _In_ LPGUID lpProviderId
); );
#endif //(defined(_WIN64) && (_WIN32_WINNT >= 0x0501)) #endif //(defined(_WIN64) && (_WIN32_WINNT >= 0x0501))
INT INT
WSPAPI WSPAPI
WSCUnInstallNameSpace ( WSCUnInstallNameSpace (
__in LPGUID lpProviderId _In_ LPGUID lpProviderId
); );
typedef typedef
INT INT
(WSPAPI * LPWSCUNINSTALLNAMESPACE)( (WSPAPI * LPWSCUNINSTALLNAMESPACE)(
__in LPGUID lpProviderId _In_ LPGUID lpProviderId
); );
#if (_WIN32_WINNT >= 0x0600 ) #if (_WIN32_WINNT >= 0x0600 )
INT INT
WSPAPI WSPAPI
WSCInstallNameSpaceEx( WSCInstallNameSpaceEx(
__in LPWSTR lpszIdentifier, _In_ LPWSTR lpszIdentifier,
__in LPWSTR lpszPathName, _In_ LPWSTR lpszPathName,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in DWORD dwVersion, _In_ DWORD dwVersion,
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPBLOB lpProviderSpecific _In_ LPBLOB lpProviderSpecific
); );
#endif //(defined(_WIN32_WINNT >= 0x0600) #endif //(defined(_WIN32_WINNT >= 0x0600)
#if(defined(_WIN64) && (_WIN32_WINNT >= 0x0600)) #if(defined(_WIN64) && (_WIN32_WINNT >= 0x0600))
INT INT
WSPAPI WSPAPI
WSCInstallNameSpaceEx32( WSCInstallNameSpaceEx32(
__in LPWSTR lpszIdentifier, _In_ LPWSTR lpszIdentifier,
__in LPWSTR lpszPathName, _In_ LPWSTR lpszPathName,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in DWORD dwVersion, _In_ DWORD dwVersion,
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPBLOB lpProviderSpecific _In_ LPBLOB lpProviderSpecific
); );
#endif //(defined(_WIN64) && (_WIN32_WINNT >= 0x0600)) #endif //(defined(_WIN64) && (_WIN32_WINNT >= 0x0600))
#if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501)) #if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501))
INT INT
WSPAPI WSPAPI
WSCUnInstallNameSpace32 ( WSCUnInstallNameSpace32 (
__in LPGUID lpProviderId _In_ LPGUID lpProviderId
); );
#endif //(defined(_WIN64) && (_WIN32_WINNT >= 0x0501)) #endif //(defined(_WIN64) && (_WIN32_WINNT >= 0x0501))
INT INT
WSPAPI WSPAPI
WSCEnableNSProvider ( WSCEnableNSProvider (
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in BOOL fEnable _In_ BOOL fEnable
); );
typedef typedef
INT INT
(WSPAPI * LPWSCENABLENSPROVIDER)( (WSPAPI * LPWSCENABLENSPROVIDER)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in BOOL fEnable _In_ BOOL fEnable
); );
#if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501)) #if(defined(_WIN64) && (_WIN32_WINNT >= 0x0501))
INT INT
WSPAPI WSPAPI
WSCEnableNSProvider32 ( WSCEnableNSProvider32 (
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in BOOL fEnable _In_ BOOL fEnable
); );
#endif //(defined(_WIN64) && (_WIN32_WINNT >= 0x0501)) #endif //(defined(_WIN64) && (_WIN32_WINNT >= 0x0501))
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#if defined(_WIN64) #if defined(_WIN64)
int WSPAPI WSCInstallProviderAndChains64_32( int WSPAPI WSCInstallProviderAndChains64_32(
#else #else
int WSPAPI WSCInstallProviderAndChains( int WSPAPI WSCInstallProviderAndChains(
#endif #endif
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in const LPWSTR lpszProviderDllPath, _In_ const LPWSTR lpszProviderDllPath,
#if defined(_WIN64) #if defined(_WIN64)
__in const LPWSTR lpszProviderDllPath32, _In_ const LPWSTR lpszProviderDllPath32,
#endif #endif
__in const LPWSTR lpszLspName, _In_ const LPWSTR lpszLspName,
__in DWORD dwServiceFlags, _In_ DWORD dwServiceFlags,
__inout_ecount(dwNumberOfEntries) LPWSAPROTOCOL_INFOW lpProtocolInfoList, _Inout_updates_(dwNumberOfEntries) LPWSAPROTOCOL_INFOW lpProtocolInfoList,
__in DWORD dwNumberOfEntries, _In_ DWORD dwNumberOfEntries,
__out_opt LPDWORD lpdwCatalogEntryId, _Out_opt_ LPDWORD lpdwCatalogEntryId,
__out LPINT lpErrno); _Out_ LPINT lpErrno);
#endif //(_WIN32_WINNT >= 0x0600) #endif //(_WIN32_WINNT >= 0x0600)
/* /*
* Pointers to the individual entries in the namespace proc table. * Pointers to the individual entries in the namespace proc table.
*/ */
typedef typedef
INT INT
(WSAAPI * LPNSPCLEANUP)( (WSAAPI * LPNSPCLEANUP)(
__in LPGUID lpProviderId _In_ LPGUID lpProviderId
); );
typedef typedef
INT INT
(WSAAPI * LPNSPLOOKUPSERVICEBEGIN)( (WSAAPI * LPNSPLOOKUPSERVICEBEGIN)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPWSAQUERYSETW lpqsRestrictions, _In_ LPWSAQUERYSETW lpqsRestrictions,
__in LPWSASERVICECLASSINFOW lpServiceClassInfo, _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__out LPHANDLE lphLookup _Out_ LPHANDLE lphLookup
); );
typedef typedef
INT INT
(WSAAPI * LPNSPLOOKUPSERVICENEXT)( (WSAAPI * LPNSPLOOKUPSERVICENEXT)(
__in HANDLE hLookup, _In_ HANDLE hLookup,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__inout LPDWORD lpdwBufferLength, _Inout_ LPDWORD lpdwBufferLength,
__out_bcount_part(*lpdwBufferLength, *lpdwBufferlength) LPWSAQUERYSETW lpqsR _Out_writes_bytes_to_(*lpdwBufferLength, *lpdwBufferLength) LPWSAQUERYSETW l
esults pqsResults
); );
#if(_WIN32_WINNT >= 0x0501) #if(_WIN32_WINNT >= 0x0501)
typedef typedef
INT INT
(WSAAPI * LPNSPIOCTL)( (WSAAPI * LPNSPIOCTL)(
__in HANDLE hLookup, _In_ HANDLE hLookup,
__in DWORD dwControlCode, _In_ DWORD dwControlCode,
__in_bcount(cbInBuffer) LPVOID lpvInBuffer, _In_reads_bytes_(cbInBuffer) LPVOID lpvInBuffer,
__in DWORD cbInBuffer, _In_ DWORD cbInBuffer,
__out_bcount_part(cbOutBuffer, *lpcbBytesreturned) LPVOID lpvOutBuf _Out_writes_bytes_to_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOu
fer, tBuffer,
__in DWORD cbOutBuffer, _In_ DWORD cbOutBuffer,
__out LPDWORD lpcbBytesReturned, _Out_ LPDWORD lpcbBytesReturned,
__in_opt LPWSACOMPLETION lpCompletion, _In_opt_ LPWSACOMPLETION lpCompletion,
__in LPWSATHREADID lpThreadId _In_ LPWSATHREADID lpThreadId
); );
#endif //(_WIN32_WINNT >= 0x0501) #endif //(_WIN32_WINNT >= 0x0501)
typedef typedef
INT INT
(WSAAPI * LPNSPLOOKUPSERVICEEND)( (WSAAPI * LPNSPLOOKUPSERVICEEND)(
__in HANDLE hLookup _In_ HANDLE hLookup
); );
typedef typedef
INT INT
(WSAAPI * LPNSPSETSERVICE)( (WSAAPI * LPNSPSETSERVICE)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPWSASERVICECLASSINFOW lpServiceClassInfo, _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo,
__in LPWSAQUERYSETW lpqsRegInfo, _In_ LPWSAQUERYSETW lpqsRegInfo,
__in WSAESETSERVICEOP essOperation, _In_ WSAESETSERVICEOP essOperation,
__in DWORD dwControlFlags _In_ DWORD dwControlFlags
); );
typedef typedef
INT INT
(WSAAPI * LPNSPINSTALLSERVICECLASS)( (WSAAPI * LPNSPINSTALLSERVICECLASS)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPWSASERVICECLASSINFOW lpServiceClassInfo _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo
); );
typedef typedef
INT INT
(WSAAPI * LPNSPREMOVESERVICECLASS)( (WSAAPI * LPNSPREMOVESERVICECLASS)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPGUID lpServiceClassId _In_ LPGUID lpServiceClassId
); );
typedef typedef
INT INT
(WSAAPI * LPNSPGETSERVICECLASSINFO)( (WSAAPI * LPNSPGETSERVICECLASSINFO)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPDWORD lpdwBufSize, _In_ LPDWORD lpdwBufSize,
__in LPWSASERVICECLASSINFOW lpServiceClassInfo _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo
); );
/* /*
* The name space service provider procedure table. * The name space service provider procedure table.
*/ */
typedef struct _NSP_ROUTINE { typedef struct _NSP_ROUTINE {
/* Structure version information: */ /* Structure version information: */
DWORD cbSize; DWORD cbSize;
skipping to change at line 1387 skipping to change at line 1356
// to match the size of FIELD_OFFSET(NSP_ROUTINE, NSPIoctl). // to match the size of FIELD_OFFSET(NSP_ROUTINE, NSPIoctl).
LPNSPIOCTL NSPIoctl; LPNSPIOCTL NSPIoctl;
#endif //(_WIN32_WINNT >= 0x0501) #endif //(_WIN32_WINNT >= 0x0501)
} NSP_ROUTINE, FAR * LPNSP_ROUTINE; } NSP_ROUTINE, FAR * LPNSP_ROUTINE;
/* /*
* Startup procedures. * Startup procedures.
*/ */
__checkReturn _Must_inspect_result_
INT INT
WSAAPI WSAAPI
NSPStartup( NSPStartup(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__inout LPNSP_ROUTINE lpnspRoutines _Inout_ LPNSP_ROUTINE lpnspRoutines
); );
typedef typedef
__checkReturn _Must_inspect_result_
INT INT
(WSAAPI * LPNSPSTARTUP)( (WSAAPI * LPNSPSTARTUP)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__inout LPNSP_ROUTINE lpnspRoutines _Inout_ LPNSP_ROUTINE lpnspRoutines
); );
typedef typedef
__checkReturn _Must_inspect_result_
INT INT
(WSAAPI * LPNSPV2STARTUP)( (WSAAPI * LPNSPV2STARTUP)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__deref_out LPVOID * ppvClientSessionArg _Outptr_ LPVOID * ppvClientSessionArg
); );
typedef typedef
INT INT
(WSAAPI * LPNSPV2CLEANUP)( (WSAAPI * LPNSPV2CLEANUP)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPVOID pvClientSessionArg _In_ LPVOID pvClientSessionArg
); );
typedef typedef
INT INT
(WSAAPI * LPNSPV2LOOKUPSERVICEBEGIN)( (WSAAPI * LPNSPV2LOOKUPSERVICEBEGIN)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPWSAQUERYSET2W lpqsRestrictions, _In_ LPWSAQUERYSET2W lpqsRestrictions,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__in LPVOID lpvClientSessionArg, _In_ LPVOID lpvClientSessionArg,
__out LPHANDLE lphLookup _Out_ LPHANDLE lphLookup
); );
typedef typedef
VOID VOID
(WSAAPI * LPNSPV2LOOKUPSERVICENEXTEX)( (WSAAPI * LPNSPV2LOOKUPSERVICENEXTEX)(
__in HANDLE hAsyncCall, _In_ HANDLE hAsyncCall,
__in HANDLE hLookup, _In_ HANDLE hLookup,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__in LPDWORD lpdwBufferLength, _In_ LPDWORD lpdwBufferLength,
__out LPWSAQUERYSET2W lpqsResults _Out_ LPWSAQUERYSET2W lpqsResults
); );
typedef typedef
INT INT
(WSAAPI * LPNSPV2LOOKUPSERVICEEND)( (WSAAPI * LPNSPV2LOOKUPSERVICEEND)(
__in HANDLE hLookup _In_ HANDLE hLookup
); );
typedef typedef
VOID VOID
(WSAAPI * LPNSPV2SETSERVICEEX)( (WSAAPI * LPNSPV2SETSERVICEEX)(
__in HANDLE hAsyncCall, _In_ HANDLE hAsyncCall,
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPWSAQUERYSET2W lpqsRegInfo, _In_ LPWSAQUERYSET2W lpqsRegInfo,
__in WSAESETSERVICEOP essOperation, _In_ WSAESETSERVICEOP essOperation,
__in DWORD dwControlFlags, _In_ DWORD dwControlFlags,
__in LPVOID lpvClientSessionArg _In_ LPVOID lpvClientSessionArg
); );
typedef typedef
VOID VOID
(WSAAPI * LPNSPV2CLIENTSESSIONRUNDOWN)( (WSAAPI * LPNSPV2CLIENTSESSIONRUNDOWN)(
__in LPGUID lpProviderId, _In_ LPGUID lpProviderId,
__in LPVOID pvClientSessionArg _In_ LPVOID pvClientSessionArg
); );
typedef struct _NSPV2_ROUTINE { typedef struct _NSPV2_ROUTINE {
DWORD cbSize; DWORD cbSize;
DWORD dwMajorVersion; DWORD dwMajorVersion;
DWORD dwMinorVersion; DWORD dwMinorVersion;
LPNSPV2STARTUP NSPv2Startup; LPNSPV2STARTUP NSPv2Startup;
LPNSPV2CLEANUP NSPv2Cleanup; LPNSPV2CLEANUP NSPv2Cleanup;
LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin; LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin;
LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx; LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx;
LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd; LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd;
LPNSPV2SETSERVICEEX NSPv2SetServiceEx; LPNSPV2SETSERVICEEX NSPv2SetServiceEx;
LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown; LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown;
} NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPNSPV2_ROUTINE; } NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPNSPV2_ROUTINE;
typedef const NSPV2_ROUTINE * PCNSPV2_ROUTINE, * LPCNSPV2_ROUTINE; typedef const NSPV2_ROUTINE * PCNSPV2_ROUTINE, * LPCNSPV2_ROUTINE;
#if(_WIN32_WINNT >= 0x0600) #if(_WIN32_WINNT >= 0x0600)
INT WSAAPI WSAAdvertiseProvider( INT WSAAPI WSAAdvertiseProvider(
__in const GUID * puuidProviderId, _In_ const GUID * puuidProviderId,
__in const LPCNSPV2_ROUTINE pNSPv2Routine); _In_ const LPCNSPV2_ROUTINE pNSPv2Routine);
INT WSAAPI WSAUnadvertiseProvider( INT WSAAPI WSAUnadvertiseProvider(
__in const GUID * puuidProviderId); _In_ const GUID * puuidProviderId);
INT WSAAPI WSAProviderCompleteAsyncCall( INT WSAAPI WSAProviderCompleteAsyncCall(
__in HANDLE hAsyncCall, _In_ HANDLE hAsyncCall,
__in INT iRetCode); _In_ INT iRetCode);
#endif //(_WIN32_WINNT >= 0x0600) #endif //(_WIN32_WINNT >= 0x0600)
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#if !defined(_WIN64) #if !defined(_WIN64)
#include <poppack.h> #include <poppack.h>
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* _WINSOCK2SPI_ */ #endif /* _WINSOCK2SPI_ */
 End of changes. 159 change blocks. 
538 lines changed or deleted 513 lines changed or added


 ws2tcpip.h (6.1.7601.17514-Windows_7.0)   ws2tcpip.h (6.3.9600.17415-Windows_8.1) 
skipping to change at line 25 skipping to change at line 25
** Rev 0.3 Nov 13, 1995 ** Rev 0.3 Nov 13, 1995
** Rev 0.4 Dec 15, 1996 ** Rev 0.4 Dec 15, 1996
*/ */
#ifndef _WS2TCPIP_H_ #ifndef _WS2TCPIP_H_
#define _WS2TCPIP_H_ #define _WS2TCPIP_H_
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#include <winapifamily.h>
#if !defined(_WINSOCK_DEPRECATED_BY)
#if ((defined(_WINSOCK_DEPRECATED_NO_WARNINGS) || defined(BUILD_WINDOWS)) && !de
fined(_WINSOCK_DEPRECATE_WARNINGS)) || defined(MIDL_PASS)
#define _WINSOCK_DEPRECATED_BY(replacement)
#else
#define _WINSOCK_DEPRECATED_BY(replacement) __declspec(deprecated("Use " ## repl
acement ## " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprec
ated API warnings"))
#endif
#endif
#include <winsock2.h> #include <winsock2.h>
#include <ws2ipdef.h> #include <ws2ipdef.h>
#include <limits.h> #include <limits.h>
/* Option to use with [gs]etsockopt at the IPPROTO_UDP level */ /* Option to use with [gs]etsockopt at the IPPROTO_UDP level */
#define UDP_NOCHECKSUM 1 #define UDP_NOCHECKSUM 1
#define UDP_CHECKSUM_COVERAGE 20 /* Set/get UDP-Lite checksum coverage */ #define UDP_CHECKSUM_COVERAGE 20 /* Set/get UDP-Lite checksum coverage */
skipping to change at line 83 skipping to change at line 92
// RFC standard definition for getaddrinfo() // RFC standard definition for getaddrinfo()
typedef ADDRINFOA ADDRINFO, FAR * LPADDRINFO; typedef ADDRINFOA ADDRINFO, FAR * LPADDRINFO;
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#ifdef UNICODE #ifdef UNICODE
typedef ADDRINFOEXW ADDRINFOEX, *PADDRINFOEX; typedef ADDRINFOEXW ADDRINFOEX, *PADDRINFOEX;
#else #else
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef ADDRINFOEXA ADDRINFOEX, *PADDRINFOEX; typedef ADDRINFOEXA ADDRINFOEX, *PADDRINFOEX;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif #endif
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
getaddrinfo( getaddrinfo(
__in_opt PCSTR pNodeName, _In_opt_ PCSTR pNodeName,
__in_opt PCSTR pServiceName, _In_opt_ PCSTR pServiceName,
__in_opt const ADDRINFOA * pHints, _In_opt_ const ADDRINFOA * pHints,
__deref_out PADDRINFOA * ppResult _Outptr_ PADDRINFOA * ppResult
); );
#if (NTDDI_VERSION >= NTDDI_WINXPSP2) || (_WIN32_WINNT >= 0x0502) #if (NTDDI_VERSION >= NTDDI_WINXPSP2) || (_WIN32_WINNT >= 0x0502)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
GetAddrInfoW( GetAddrInfoW(
__in_opt PCWSTR pNodeName, _In_opt_ PCWSTR pNodeName,
__in_opt PCWSTR pServiceName, _In_opt_ PCWSTR pServiceName,
__in_opt const ADDRINFOW * pHints, _In_opt_ const ADDRINFOW * pHints,
__deref_out PADDRINFOW * ppResult _Outptr_ PADDRINFOW * ppResult
); );
#define GetAddrInfoA getaddrinfo #define GetAddrInfoA getaddrinfo
#ifdef UNICODE #ifdef UNICODE
#define GetAddrInfo GetAddrInfoW #define GetAddrInfo GetAddrInfoW
#else #else
#define GetAddrInfo GetAddrInfoA #define GetAddrInfo GetAddrInfoA
#endif #endif
#endif #endif
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
INT INT
(WSAAPI * LPFN_GETADDRINFO)( (WSAAPI * LPFN_GETADDRINFO)(
__in_opt PCSTR pNodeName, _In_opt_ PCSTR pNodeName,
__in_opt PCSTR pServiceName, _In_opt_ PCSTR pServiceName,
__in_opt const ADDRINFOA * pHints, _In_opt_ const ADDRINFOA * pHints,
__deref_out PADDRINFOA * ppResult _Outptr_ PADDRINFOA * ppResult
); );
typedef typedef
INT INT
(WSAAPI * LPFN_GETADDRINFOW)( (WSAAPI * LPFN_GETADDRINFOW)(
__in_opt PCWSTR pNodeName, _In_opt_ PCWSTR pNodeName,
__in_opt PCWSTR pServiceName, _In_opt_ PCWSTR pServiceName,
__in_opt const ADDRINFOW * pHints, _In_opt_ const ADDRINFOW * pHints,
__deref_out PADDRINFOW * ppResult _Outptr_ PADDRINFOW * ppResult
); );
#define LPFN_GETADDRINFOA LPFN_GETADDRINFO #define LPFN_GETADDRINFOA LPFN_GETADDRINFO
#ifdef UNICODE #ifdef UNICODE
#define LPFN_GETADDRINFOT LPFN_GETADDRINFOW #define LPFN_GETADDRINFOT LPFN_GETADDRINFOW
#else #else
#define LPFN_GETADDRINFOT LPFN_GETADDRINFOA #define LPFN_GETADDRINFOT LPFN_GETADDRINFOA
#endif #endif
#endif #endif
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
typedef typedef
void void
(CALLBACK * LPLOOKUPSERVICE_COMPLETION_ROUTINE)( (CALLBACK * LPLOOKUPSERVICE_COMPLETION_ROUTINE)(
__in DWORD dwError, _In_ DWORD dwError,
__in DWORD dwBytes, _In_ DWORD dwBytes,
__in LPWSAOVERLAPPED lpOverlapped _In_ LPWSAOVERLAPPED lpOverlapped
); );
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("GetAddrInfoExW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
GetAddrInfoExA( GetAddrInfoExA(
__in_opt PCSTR pName, _In_opt_ PCSTR pName,
__in_opt PCSTR pServiceName, _In_opt_ PCSTR pServiceName,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in_opt LPGUID lpNspId, _In_opt_ LPGUID lpNspId,
__in_opt const ADDRINFOEXA *hints, _In_opt_ const ADDRINFOEXA *hints,
__deref_out PADDRINFOEXA * ppResult, _Outptr_ PADDRINFOEXA * ppResult,
__in_opt struct timeval *timeout, _In_opt_ struct timeval *timeout,
__in_opt LPOVERLAPPED lpOverlapped, _In_opt_ LPOVERLAPPED lpOverlapped,
__in_opt LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
__out_opt LPHANDLE lpNameHandle _Out_opt_ LPHANDLE lpNameHandle
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
GetAddrInfoExW( GetAddrInfoExW(
__in_opt PCWSTR pName, _In_opt_ PCWSTR pName,
__in_opt PCWSTR pServiceName, _In_opt_ PCWSTR pServiceName,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in_opt LPGUID lpNspId, _In_opt_ LPGUID lpNspId,
__in_opt const ADDRINFOEXW *hints, _In_opt_ const ADDRINFOEXW *hints,
__deref_out PADDRINFOEXW * ppResult, _Outptr_ PADDRINFOEXW * ppResult,
__in_opt struct timeval *timeout, _In_opt_ struct timeval *timeout,
__in_opt LPOVERLAPPED lpOverlapped, _In_opt_ LPOVERLAPPED lpOverlapped,
__in_opt LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
__out_opt LPHANDLE lpHandle _Out_opt_ LPHANDLE lpHandle
);
WINSOCK_API_LINKAGE
INT
WSAAPI
GetAddrInfoExCancel(
_In_ LPHANDLE lpHandle
);
WINSOCK_API_LINKAGE
INT
WSAAPI
GetAddrInfoExOverlappedResult(
_In_ LPOVERLAPPED lpOverlapped
); );
#ifdef UNICODE #ifdef UNICODE
#define GetAddrInfoEx GetAddrInfoExW #define GetAddrInfoEx GetAddrInfoExW
#else #else
#define GetAddrInfoEx GetAddrInfoExA #define GetAddrInfoEx GetAddrInfoExA
#endif #endif
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI *LPFN_GETADDRINFOEXA)( (WSAAPI *LPFN_GETADDRINFOEXA)(
__in PCSTR pName, _In_ PCSTR pName,
__in_opt PCSTR pServiceName, _In_opt_ PCSTR pServiceName,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in_opt LPGUID lpNspId, _In_opt_ LPGUID lpNspId,
__in_opt const ADDRINFOEXA *hints, _In_opt_ const ADDRINFOEXA *hints,
__deref_out PADDRINFOEXA *ppResult, _Outptr_ PADDRINFOEXA *ppResult,
__in_opt struct timeval *timeout, _In_opt_ struct timeval *timeout,
__in_opt LPOVERLAPPED lpOverlapped, _In_opt_ LPOVERLAPPED lpOverlapped,
__in_opt LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
__out_opt LPHANDLE lpNameHandle _Out_opt_ LPHANDLE lpNameHandle
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI *LPFN_GETADDRINFOEXW)( (WSAAPI *LPFN_GETADDRINFOEXW)(
__in PCWSTR pName, _In_ PCWSTR pName,
__in_opt PCWSTR pServiceName, _In_opt_ PCWSTR pServiceName,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in_opt LPGUID lpNspId, _In_opt_ LPGUID lpNspId,
__in_opt const ADDRINFOEXW *hints, _In_opt_ const ADDRINFOEXW *hints,
__deref_out PADDRINFOEXW *ppResult, _Outptr_ PADDRINFOEXW *ppResult,
__in_opt struct timeval *timeout, _In_opt_ struct timeval *timeout,
__in_opt LPOVERLAPPED lpOverlapped, _In_opt_ LPOVERLAPPED lpOverlapped,
__in_opt LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
__out_opt LPHANDLE lpHandle _Out_opt_ LPHANDLE lpHandle
);
typedef
INT
(WSAAPI *LPFN_GETADDRINFOEXCANCEL)(
_In_ LPHANDLE lpHandle
);
typedef
INT
(WSAAPI *LPFN_GETADDRINFOEXOVERLAPPEDRESULT)(
_In_ LPOVERLAPPED lpOverlapped
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_GETADDRINFOEX LPFN_GETADDRINFOEXW #define LPFN_GETADDRINFOEX LPFN_GETADDRINFOEXW
#else #else
#define LPFN_GETADDRINFOEX LPFN_GETADDRINFOEXA #define LPFN_GETADDRINFOEX LPFN_GETADDRINFOEXA
#endif #endif
#endif #endif
#endif #endif
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("SetAddrInfoExW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
SetAddrInfoExA( SetAddrInfoExA(
__in PCSTR pName, _In_ PCSTR pName,
__in_opt PCSTR pServiceName, _In_opt_ PCSTR pServiceName,
__in_opt SOCKET_ADDRESS *pAddresses, _In_opt_ SOCKET_ADDRESS *pAddresses,
__in DWORD dwAddressCount, _In_ DWORD dwAddressCount,
__in_opt LPBLOB lpBlob, _In_opt_ LPBLOB lpBlob,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in_opt LPGUID lpNspId, _In_opt_ LPGUID lpNspId,
__in_opt struct timeval *timeout, _In_opt_ struct timeval *timeout,
__in_opt LPOVERLAPPED lpOverlapped, _In_opt_ LPOVERLAPPED lpOverlapped,
__in_opt LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
__out_opt LPHANDLE lpNameHandle _Out_opt_ LPHANDLE lpNameHandle
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
SetAddrInfoExW( SetAddrInfoExW(
__in PCWSTR pName, _In_ PCWSTR pName,
__in_opt PCWSTR pServiceName, _In_opt_ PCWSTR pServiceName,
__in_opt SOCKET_ADDRESS *pAddresses, _In_opt_ SOCKET_ADDRESS *pAddresses,
__in DWORD dwAddressCount, _In_ DWORD dwAddressCount,
__in_opt LPBLOB lpBlob, _In_opt_ LPBLOB lpBlob,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in_opt LPGUID lpNspId, _In_opt_ LPGUID lpNspId,
__in_opt struct timeval *timeout, _In_opt_ struct timeval *timeout,
__in_opt LPOVERLAPPED lpOverlapped, _In_opt_ LPOVERLAPPED lpOverlapped,
__in_opt LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
__out_opt LPHANDLE lpNameHandle _Out_opt_ LPHANDLE lpNameHandle
); );
#ifdef UNICODE #ifdef UNICODE
#define SetAddrInfoEx SetAddrInfoExW #define SetAddrInfoEx SetAddrInfoExW
#else #else
#define SetAddrInfoEx SetAddrInfoExA #define SetAddrInfoEx SetAddrInfoExA
#endif #endif
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
INT INT
(WSAAPI *LPFN_SETADDRINFOEXA)( (WSAAPI *LPFN_SETADDRINFOEXA)(
__in PCSTR pName, _In_ PCSTR pName,
__in_opt PCSTR pServiceName, _In_opt_ PCSTR pServiceName,
__in_opt SOCKET_ADDRESS *pAddresses, _In_opt_ SOCKET_ADDRESS *pAddresses,
__in DWORD dwAddressCount, _In_ DWORD dwAddressCount,
__in_opt LPBLOB lpBlob, _In_opt_ LPBLOB lpBlob,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in_opt LPGUID lpNspId, _In_opt_ LPGUID lpNspId,
__in_opt struct timeval *timeout, _In_opt_ struct timeval *timeout,
__in_opt LPOVERLAPPED lpOverlapped, _In_opt_ LPOVERLAPPED lpOverlapped,
__in_opt LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
__out_opt LPHANDLE lpNameHandle _Out_opt_ LPHANDLE lpNameHandle
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
INT INT
(WSAAPI *LPFN_SETADDRINFOEXW)( (WSAAPI *LPFN_SETADDRINFOEXW)(
__in PCWSTR pName, _In_ PCWSTR pName,
__in_opt PCWSTR pServiceName, _In_opt_ PCWSTR pServiceName,
__in_opt SOCKET_ADDRESS *pAddresses, _In_opt_ SOCKET_ADDRESS *pAddresses,
__in DWORD dwAddressCount, _In_ DWORD dwAddressCount,
__in_opt LPBLOB lpBlob, _In_opt_ LPBLOB lpBlob,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in DWORD dwNameSpace, _In_ DWORD dwNameSpace,
__in_opt LPGUID lpNspId, _In_opt_ LPGUID lpNspId,
__in_opt struct timeval *timeout, _In_opt_ struct timeval *timeout,
__in_opt LPOVERLAPPED lpOverlapped, _In_opt_ LPOVERLAPPED lpOverlapped,
__in_opt LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine,
__out_opt LPHANDLE lpNameHandle _Out_opt_ LPHANDLE lpNameHandle
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_SETADDRINFOEX LPFN_SETADDRINFOEXW #define LPFN_SETADDRINFOEX LPFN_SETADDRINFOEXW
#else #else
#define LPFN_SETADDRINFOEX LPFN_SETADDRINFOEXA #define LPFN_SETADDRINFOEX LPFN_SETADDRINFOEXA
#endif #endif
#endif #endif
#endif #endif
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
VOID VOID
WSAAPI WSAAPI
freeaddrinfo( freeaddrinfo(
__in_opt PADDRINFOA pAddrInfo _In_opt_ PADDRINFOA pAddrInfo
); );
#if (NTDDI_VERSION >= NTDDI_WINXPSP2) || (_WIN32_WINNT >= 0x0502) #if (NTDDI_VERSION >= NTDDI_WINXPSP2) || (_WIN32_WINNT >= 0x0502)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
VOID VOID
WSAAPI WSAAPI
FreeAddrInfoW( FreeAddrInfoW(
__in_opt PADDRINFOW pAddrInfo _In_opt_ PADDRINFOW pAddrInfo
); );
#define FreeAddrInfoA freeaddrinfo #define FreeAddrInfoA freeaddrinfo
#ifdef UNICODE #ifdef UNICODE
#define FreeAddrInfo FreeAddrInfoW #define FreeAddrInfo FreeAddrInfoW
#else #else
#define FreeAddrInfo FreeAddrInfoA #define FreeAddrInfo FreeAddrInfoA
#endif #endif
#endif #endif
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
VOID VOID
(WSAAPI * LPFN_FREEADDRINFO)( (WSAAPI * LPFN_FREEADDRINFO)(
__in_opt PADDRINFOA pAddrInfo _In_opt_ PADDRINFOA pAddrInfo
); );
typedef typedef
VOID VOID
(WSAAPI * LPFN_FREEADDRINFOW)( (WSAAPI * LPFN_FREEADDRINFOW)(
__in_opt PADDRINFOW pAddrInfo _In_opt_ PADDRINFOW pAddrInfo
); );
#define LPFN_FREEADDRINFOA LPFN_FREEADDRINFO #define LPFN_FREEADDRINFOA LPFN_FREEADDRINFO
#ifdef UNICODE #ifdef UNICODE
#define LPFN_FREEADDRINFOT LPFN_FREEADDRINFOW #define LPFN_FREEADDRINFOT LPFN_FREEADDRINFOW
#else #else
#define LPFN_FREEADDRINFOT LPFN_FREEADDRINFOA #define LPFN_FREEADDRINFOT LPFN_FREEADDRINFOA
#endif #endif
#endif #endif
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
_WINSOCK_DEPRECATED_BY("FreeAddrInfoExW()")
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
void void
WSAAPI WSAAPI
FreeAddrInfoEx( FreeAddrInfoEx(
__in_opt PADDRINFOEXA pAddrInfoEx _In_opt_ PADDRINFOEXA pAddrInfoEx
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
void void
WSAAPI WSAAPI
FreeAddrInfoExW( FreeAddrInfoExW(
__in_opt PADDRINFOEXW pAddrInfoEx _In_opt_ PADDRINFOEXW pAddrInfoEx
); );
#define FreeAddrInfoExA FreeAddrInfoEx #define FreeAddrInfoExA FreeAddrInfoEx
#ifdef UNICODE #ifdef UNICODE
#define FreeAddrInfoEx FreeAddrInfoExW #define FreeAddrInfoEx FreeAddrInfoExW
#endif #endif
#ifdef INCL_WINSOCK_API_TYPEDEFS #ifdef INCL_WINSOCK_API_TYPEDEFS
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
void void
(WSAAPI *LPFN_FREEADDRINFOEXA)( (WSAAPI *LPFN_FREEADDRINFOEXA)(
__in PADDRINFOEXA pAddrInfoEx _In_ PADDRINFOEXA pAddrInfoEx
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
typedef typedef
void void
(WSAAPI *LPFN_FREEADDRINFOEXW)( (WSAAPI *LPFN_FREEADDRINFOEXW)(
__in PADDRINFOEXW pAddrInfoEx _In_ PADDRINFOEXW pAddrInfoEx
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_FREEADDRINFOEX LPFN_FREEADDRINFOEXW #define LPFN_FREEADDRINFOEX LPFN_FREEADDRINFOEXW
#else #else
#define LPFN_FREEADDRINFOEX LPFN_FREEADDRINFOEXA #define LPFN_FREEADDRINFOEX LPFN_FREEADDRINFOEXA
#endif #endif
#endif #endif
#endif #endif
typedef int socklen_t; typedef int socklen_t;
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
getnameinfo( getnameinfo(
__in_bcount(SockaddrLength) const SOCKADDR * pSockaddr, _In_reads_bytes_(SockaddrLength) const SOCKADDR * pSockaddr,
__in socklen_t SockaddrLength, _In_ socklen_t SockaddrLength,
__out_ecount_opt(NodeBufferSize) PCHAR pNodeBuffer, _Out_writes_opt_(NodeBufferSize) PCHAR pNodeBuffer,
__in DWORD NodeBufferSize, _In_ DWORD NodeBufferSize,
__out_ecount_opt(ServiceBufferSize) PCHAR pServiceBuffer, _Out_writes_opt_(ServiceBufferSize) PCHAR pServiceBuffer,
__in DWORD ServiceBufferSize, _In_ DWORD ServiceBufferSize,
__in INT Flags _In_ INT Flags
); );
#if (NTDDI_VERSION >= NTDDI_WINXPSP2) || (_WIN32_WINNT >= 0x0502) #if (NTDDI_VERSION >= NTDDI_WINXPSP2) || (_WIN32_WINNT >= 0x0502)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
GetNameInfoW( GetNameInfoW(
__in_bcount(SockaddrLength) const SOCKADDR * pSockaddr, _In_reads_bytes_(SockaddrLength) const SOCKADDR * pSockaddr,
__in socklen_t SockaddrLength, _In_ socklen_t SockaddrLength,
__out_ecount_opt(NodeBufferSize) PWCHAR pNodeBuffer, _Out_writes_opt_(NodeBufferSize) PWCHAR pNodeBuffer,
__in DWORD NodeBufferSize, _In_ DWORD NodeBufferSize,
__out_ecount_opt(ServiceBufferSize) PWCHAR pServiceBuffer, _Out_writes_opt_(ServiceBufferSize) PWCHAR pServiceBuffer,
__in DWORD ServiceBufferSize, _In_ DWORD ServiceBufferSize,
__in INT Flags _In_ INT Flags
); );
#define GetNameInfoA getnameinfo #define GetNameInfoA getnameinfo
#ifdef UNICODE #ifdef UNICODE
#define GetNameInfo GetNameInfoW #define GetNameInfo GetNameInfoW
#else #else
#define GetNameInfo GetNameInfoA #define GetNameInfo GetNameInfoA
#endif #endif
#endif #endif
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
int int
(WSAAPI * LPFN_GETNAMEINFO)( (WSAAPI * LPFN_GETNAMEINFO)(
__in_bcount(SockaddrLength) const SOCKADDR * pSockaddr, _In_reads_bytes_(SockaddrLength) const SOCKADDR * pSockaddr,
__in socklen_t SockaddrLength, _In_ socklen_t SockaddrLength,
__out_ecount_opt(NodeBufferSize) PCHAR pNodeBuffer, _Out_writes_opt_(NodeBufferSize) PCHAR pNodeBuffer,
__in DWORD NodeBufferSize, _In_ DWORD NodeBufferSize,
__out_ecount_opt(ServiceBufferSize) PCHAR pServiceBuffer, _Out_writes_opt_(ServiceBufferSize) PCHAR pServiceBuffer,
__in DWORD ServiceBufferSize, _In_ DWORD ServiceBufferSize,
__in INT Flags _In_ INT Flags
); );
typedef typedef
INT INT
(WSAAPI * LPFN_GETNAMEINFOW)( (WSAAPI * LPFN_GETNAMEINFOW)(
__in_bcount(SockaddrLength) const SOCKADDR * pSockaddr, _In_reads_bytes_(SockaddrLength) const SOCKADDR * pSockaddr,
__in socklen_t SockaddrLength, _In_ socklen_t SockaddrLength,
__out_ecount_opt(NodeBufferSize) PWCHAR pNodeBuffer, _Out_writes_opt_(NodeBufferSize) PWCHAR pNodeBuffer,
__in DWORD NodeBufferSize, _In_ DWORD NodeBufferSize,
__out_ecount_opt(ServiceBufferSize) PWCHAR pServiceBuffer, _Out_writes_opt_(ServiceBufferSize) PWCHAR pServiceBuffer,
__in DWORD ServiceBufferSize, _In_ DWORD ServiceBufferSize,
__in INT Flags _In_ INT Flags
); );
#define LPFN_GETNAMEINFOA LPFN_GETNAMEINFO #define LPFN_GETNAMEINFOA LPFN_GETNAMEINFO
#ifdef UNICODE #ifdef UNICODE
#define LPFN_GETNAMEINFOT LPFN_GETNAMEINFOW #define LPFN_GETNAMEINFOT LPFN_GETNAMEINFOW
#else #else
#define LPFN_GETNAMEINFOT LPFN_GETNAMEINFOA #define LPFN_GETNAMEINFOT LPFN_GETNAMEINFOA
#endif #endif
#endif #endif
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
inet_pton( inet_pton(
__in INT Family, _In_ INT Family,
__in PCSTR pszAddrString, _In_ PCSTR pszAddrString,
__out_bcount(sizeof(IN6_ADDR)) PVOID pAddrBuf _Out_writes_bytes_(sizeof(IN6_ADDR)) PVOID pAddrBuf
); );
INT INT
WSAAPI WSAAPI
InetPtonW( InetPtonW(
__in INT Family, _In_ INT Family,
__in PCWSTR pszAddrString, _In_ PCWSTR pszAddrString,
__out_bcount(sizeof(IN6_ADDR)) PVOID pAddrBuf _Out_writes_bytes_(sizeof(IN6_ADDR)) PVOID pAddrBuf
); );
PCSTR PCSTR
WSAAPI WSAAPI
inet_ntop( inet_ntop(
__in INT Family, _In_ INT Family,
__in PVOID pAddr, _In_ PVOID pAddr,
__out_ecount(StringBufSize) PSTR pStringBuf, _Out_writes_(StringBufSize) PSTR pStringBuf,
__in size_t StringBufSize _In_ size_t StringBufSize
); );
PCWSTR PCWSTR
WSAAPI WSAAPI
InetNtopW( InetNtopW(
__in INT Family, _In_ INT Family,
__in PVOID pAddr, _In_ PVOID pAddr,
__out_ecount(StringBufSize) PWSTR pStringBuf, _Out_writes_(StringBufSize) PWSTR pStringBuf,
__in size_t StringBufSize _In_ size_t StringBufSize
); );
#define InetPtonA inet_pton #define InetPtonA inet_pton
#define InetNtopA inet_ntop #define InetNtopA inet_ntop
#ifdef UNICODE #ifdef UNICODE
#define InetPton InetPtonW #define InetPton InetPtonW
#define InetNtop InetNtopW #define InetNtop InetNtopW
#else #else
#define InetPton InetPtonA #define InetPton InetPtonA
#define InetNtop InetNtopA #define InetNtop InetNtopA
#endif #endif
#if INCL_WINSOCK_API_TYPEDEFS #if INCL_WINSOCK_API_TYPEDEFS
typedef typedef
INT INT
(WSAAPI * LPFN_INET_PTONA)( (WSAAPI * LPFN_INET_PTONA)(
__in INT Family, _In_ INT Family,
__in PCSTR pszAddrString, _In_ PCSTR pszAddrString,
__out_bcount(sizeof(IN6_ADDR)) PVOID pAddrBuf _Out_writes_bytes_(sizeof(IN6_ADDR)) PVOID pAddrBuf
); );
typedef typedef
INT INT
(WSAAPI * LPFN_INET_PTONW)( (WSAAPI * LPFN_INET_PTONW)(
__in INT Family, _In_ INT Family,
__in PCWSTR pszAddrString, _In_ PCWSTR pszAddrString,
__out_bcount(sizeof(IN6_ADDR)) PVOID pAddrBuf _Out_writes_bytes_(sizeof(IN6_ADDR)) PVOID pAddrBuf
); );
typedef typedef
PCSTR PCSTR
(WSAAPI * LPFN_INET_NTOPA)( (WSAAPI * LPFN_INET_NTOPA)(
__in INT Family, _In_ INT Family,
__in PVOID pAddr, _In_ PVOID pAddr,
__out_ecount(StringBufSize) PSTR pStringBuf, _Out_writes_(StringBufSize) PSTR pStringBuf,
__in size_t StringBufSize _In_ size_t StringBufSize
); );
typedef typedef
PCWSTR PCWSTR
(WSAAPI * LPFN_INET_NTOPW)( (WSAAPI * LPFN_INET_NTOPW)(
__in INT Family, _In_ INT Family,
__in PVOID pAddr, _In_ PVOID pAddr,
__out_ecount(StringBufSize) PWSTR pStringBuf, _Out_writes_(StringBufSize) PWSTR pStringBuf,
__in size_t StringBufSize _In_ size_t StringBufSize
); );
#ifdef UNICODE #ifdef UNICODE
#define LPFN_INET_PTON LPFN_INET_PTONW #define LPFN_INET_PTON LPFN_INET_PTONW
#define LPFN_INET_NTOP LPFN_INET_NTOPW #define LPFN_INET_NTOP LPFN_INET_NTOPW
#else #else
#define LPFN_INET_PTON LPFN_INET_PTONA #define LPFN_INET_PTON LPFN_INET_PTONA
#define LPFN_INET_NTOP LPFN_INET_NTOPA #define LPFN_INET_NTOP LPFN_INET_NTOPA
#endif #endif
skipping to change at line 598 skipping to change at line 662
// WARNING: The gai_strerror inline functions below use static buffers, // WARNING: The gai_strerror inline functions below use static buffers,
// and hence are not thread-safe. We'll use buffers long enough to hold // and hence are not thread-safe. We'll use buffers long enough to hold
// 1k characters. Any system error messages longer than this will be // 1k characters. Any system error messages longer than this will be
// returned as empty strings. However 1k should work for the error codes // returned as empty strings. However 1k should work for the error codes
// used by getaddrinfo(). // used by getaddrinfo().
#define GAI_STRERROR_BUFFER_SIZE 1024 #define GAI_STRERROR_BUFFER_SIZE 1024
WS2TCPIP_INLINE WS2TCPIP_INLINE
char * char *
gai_strerrorA( gai_strerrorA(
__in int ecode) _In_ int ecode)
{ {
DWORD dwMsgLen; DWORD dwMsgLen;
static char buff[GAI_STRERROR_BUFFER_SIZE + 1]; static char buff[GAI_STRERROR_BUFFER_SIZE + 1];
dwMsgLen = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM dwMsgLen = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM
|FORMAT_MESSAGE_IGNORE_INSERTS |FORMAT_MESSAGE_IGNORE_INSERTS
|FORMAT_MESSAGE_MAX_WIDTH_MASK, |FORMAT_MESSAGE_MAX_WIDTH_MASK,
NULL, NULL,
ecode, ecode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPSTR)buff, (LPSTR)buff,
GAI_STRERROR_BUFFER_SIZE, GAI_STRERROR_BUFFER_SIZE,
NULL); NULL);
return buff; return buff;
} }
WS2TCPIP_INLINE WS2TCPIP_INLINE
WCHAR * WCHAR *
gai_strerrorW( gai_strerrorW(
__in int ecode _In_ int ecode
) )
{ {
DWORD dwMsgLen; DWORD dwMsgLen;
static WCHAR buff[GAI_STRERROR_BUFFER_SIZE + 1]; static WCHAR buff[GAI_STRERROR_BUFFER_SIZE + 1];
dwMsgLen = FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM dwMsgLen = FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM
|FORMAT_MESSAGE_IGNORE_INSERTS |FORMAT_MESSAGE_IGNORE_INSERTS
|FORMAT_MESSAGE_MAX_WIDTH_MASK, |FORMAT_MESSAGE_MAX_WIDTH_MASK,
NULL, NULL,
ecode, ecode,
skipping to change at line 644 skipping to change at line 708
return buff; return buff;
} }
#endif /* INCL_WINSOCK_API_PROTOTYPES */ #endif /* INCL_WINSOCK_API_PROTOTYPES */
/* Multicast source filter APIs from RFC 3678. */ /* Multicast source filter APIs from RFC 3678. */
WS2TCPIP_INLINE WS2TCPIP_INLINE
int int
setipv4sourcefilter( setipv4sourcefilter(
__in SOCKET Socket, _In_ SOCKET Socket,
__in IN_ADDR Interface, _In_ IN_ADDR Interface,
__in IN_ADDR Group, _In_ IN_ADDR Group,
__in MULTICAST_MODE_TYPE FilterMode, _In_ MULTICAST_MODE_TYPE FilterMode,
__in ULONG SourceCount, _In_ ULONG SourceCount,
__in CONST IN_ADDR *SourceList _In_reads_(SourceCount) CONST IN_ADDR *SourceList
) )
{ {
int Error; int Error;
DWORD Size, Returned; DWORD Size, Returned;
PIP_MSFILTER Filter; PIP_MSFILTER Filter;
if (SourceCount > if (SourceCount >
(((ULONG) (ULONG_MAX - sizeof(*Filter))) / sizeof(*SourceList))) { (((ULONG) (ULONG_MAX - sizeof(*Filter))) / sizeof(*SourceList))) {
WSASetLastError(WSAENOBUFS); WSASetLastError(WSAENOBUFS);
return SOCKET_ERROR; return SOCKET_ERROR;
skipping to change at line 686 skipping to change at line 750
} }
Error = WSAIoctl(Socket, SIOCSIPMSFILTER, Filter, Size, NULL, 0, Error = WSAIoctl(Socket, SIOCSIPMSFILTER, Filter, Size, NULL, 0,
&Returned, NULL, NULL); &Returned, NULL, NULL);
HeapFree(GetProcessHeap(), 0, Filter); HeapFree(GetProcessHeap(), 0, Filter);
return Error; return Error;
} }
_Success_(return == 0)
WS2TCPIP_INLINE WS2TCPIP_INLINE
int int
getipv4sourcefilter( getipv4sourcefilter(
__in SOCKET Socket, _In_ SOCKET Socket,
__in IN_ADDR Interface, _In_ IN_ADDR Interface,
__in IN_ADDR Group, _In_ IN_ADDR Group,
__out MULTICAST_MODE_TYPE *FilterMode, _Out_ MULTICAST_MODE_TYPE *FilterMode,
__inout ULONG *SourceCount, _Inout_ ULONG *SourceCount,
__out IN_ADDR *SourceList _Out_writes_(*SourceCount) IN_ADDR *SourceList
) )
{ {
int Error; int Error;
DWORD Size, Returned; DWORD Size, Returned;
PIP_MSFILTER Filter; PIP_MSFILTER Filter;
if (*SourceCount > if (*SourceCount >
(((ULONG) (ULONG_MAX - sizeof(*Filter))) / sizeof(*SourceList))) { (((ULONG) (ULONG_MAX - sizeof(*Filter))) / sizeof(*SourceList))) {
WSASetLastError(WSAENOBUFS); WSASetLastError(WSAENOBUFS);
return SOCKET_ERROR; return SOCKET_ERROR;
skipping to change at line 739 skipping to change at line 804
HeapFree(GetProcessHeap(), 0, Filter); HeapFree(GetProcessHeap(), 0, Filter);
return Error; return Error;
} }
#if (NTDDI_VERSION >= NTDDI_WINXP) #if (NTDDI_VERSION >= NTDDI_WINXP)
WS2TCPIP_INLINE WS2TCPIP_INLINE
int int
setsourcefilter( setsourcefilter(
__in SOCKET Socket, _In_ SOCKET Socket,
__in ULONG Interface, _In_ ULONG Interface,
__in CONST SOCKADDR *Group, _In_ CONST SOCKADDR *Group,
__in int GroupLength, _In_ int GroupLength,
__in MULTICAST_MODE_TYPE FilterMode, _In_ MULTICAST_MODE_TYPE FilterMode,
__in ULONG SourceCount, _In_ ULONG SourceCount,
__in CONST SOCKADDR_STORAGE *SourceList _In_reads_(SourceCount) CONST SOCKADDR_STORAGE *SourceList
) )
{ {
int Error; int Error;
DWORD Size, Returned; DWORD Size, Returned;
PGROUP_FILTER Filter; PGROUP_FILTER Filter;
if (SourceCount >= if (SourceCount >=
(((ULONG) (ULONG_MAX - sizeof(*Filter))) / sizeof(*SourceList))) { (((ULONG) (ULONG_MAX - sizeof(*Filter))) / sizeof(*SourceList))) {
WSASetLastError(WSAENOBUFS); WSASetLastError(WSAENOBUFS);
return SOCKET_ERROR; return SOCKET_ERROR;
skipping to change at line 783 skipping to change at line 848
} }
Error = WSAIoctl(Socket, SIOCSMSFILTER, Filter, Size, NULL, 0, Error = WSAIoctl(Socket, SIOCSMSFILTER, Filter, Size, NULL, 0,
&Returned, NULL, NULL); &Returned, NULL, NULL);
HeapFree(GetProcessHeap(), 0, Filter); HeapFree(GetProcessHeap(), 0, Filter);
return Error; return Error;
} }
_Success_(return == 0)
WS2TCPIP_INLINE WS2TCPIP_INLINE
int int
getsourcefilter( getsourcefilter(
__in SOCKET Socket, _In_ SOCKET Socket,
__in ULONG Interface, _In_ ULONG Interface,
__in CONST SOCKADDR *Group, _In_ CONST SOCKADDR *Group,
__in int GroupLength, _In_ int GroupLength,
__out MULTICAST_MODE_TYPE *FilterMode, _Out_ MULTICAST_MODE_TYPE *FilterMode,
__inout ULONG *SourceCount, _Inout_ ULONG *SourceCount,
__out SOCKADDR_STORAGE *SourceList _Out_writes_(*SourceCount) SOCKADDR_STORAGE *SourceList
) )
{ {
int Error; int Error;
DWORD Size, Returned; DWORD Size, Returned;
PGROUP_FILTER Filter; PGROUP_FILTER Filter;
if (*SourceCount > if (*SourceCount >
(((ULONG) (ULONG_MAX - sizeof(*Filter))) / sizeof(*SourceList))) { (((ULONG) (ULONG_MAX - sizeof(*Filter))) / sizeof(*SourceList))) {
WSASetLastError(WSAENOBUFS); WSASetLastError(WSAENOBUFS);
return SOCKET_ERROR; return SOCKET_ERROR;
skipping to change at line 845 skipping to change at line 911
#ifdef IDEAL_SEND_BACKLOG_IOCTLS #ifdef IDEAL_SEND_BACKLOG_IOCTLS
// //
// Wrapper functions for the ideal send backlog query and change notification // Wrapper functions for the ideal send backlog query and change notification
// ioctls // ioctls
// //
WS2TCPIP_INLINE WS2TCPIP_INLINE
int int
idealsendbacklogquery( idealsendbacklogquery(
__in SOCKET s, _In_ SOCKET s,
__out ULONG *pISB _Out_ ULONG *pISB
) )
{ {
DWORD bytes; DWORD bytes;
return WSAIoctl(s, SIO_IDEAL_SEND_BACKLOG_QUERY, return WSAIoctl(s, SIO_IDEAL_SEND_BACKLOG_QUERY,
NULL, 0, pISB, sizeof(*pISB), &bytes, NULL, NULL); NULL, 0, pISB, sizeof(*pISB), &bytes, NULL, NULL);
} }
WS2TCPIP_INLINE WS2TCPIP_INLINE
int int
idealsendbacklognotify( idealsendbacklognotify(
__in SOCKET s, _In_ SOCKET s,
__in_opt LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED lpOverlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
) )
{ {
DWORD bytes; DWORD bytes;
return WSAIoctl(s, SIO_IDEAL_SEND_BACKLOG_CHANGE, return WSAIoctl(s, SIO_IDEAL_SEND_BACKLOG_CHANGE,
NULL, 0, NULL, 0, &bytes, NULL, 0, NULL, 0, &bytes,
lpOverlapped, lpCompletionRoutine); lpOverlapped, lpCompletionRoutine);
} }
#endif #endif
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#ifdef _SECURE_SOCKET_TYPES_DEFINED_ #ifdef _SECURE_SOCKET_TYPES_DEFINED_
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// Secure socket API definitions // Secure socket API definitions
// //
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSASetSocketSecurity ( WSASetSocketSecurity (
__in SOCKET Socket, _In_ SOCKET Socket,
__in_bcount_opt(SecuritySettingsLen) const SOCKET_SECURITY_SETTINGS* Security _In_reads_bytes_opt_(SecuritySettingsLen) const SOCKET_SECURITY_SETTINGS* Sec
Settings, uritySettings,
__in ULONG SecuritySettingsLen, _In_ ULONG SecuritySettingsLen,
__in_opt LPWSAOVERLAPPED Overlapped, _In_opt_ LPWSAOVERLAPPED Overlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
); );
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAQuerySocketSecurity ( WSAQuerySocketSecurity (
__in SOCKET Socket, _In_ SOCKET Socket,
__in_bcount_opt(SecurityQueryTemplateLen) const SOCKET_SECURITY_QUERY_TEMPLAT _In_reads_bytes_opt_(SecurityQueryTemplateLen) const SOCKET_SECURITY_QUERY_TE
E* SecurityQueryTemplate, MPLATE* SecurityQueryTemplate,
__in ULONG SecurityQueryTemplateLen, _In_ ULONG SecurityQueryTemplateLen,
__out_bcount_part_opt(*SecurityQueryInfoLen, *SecurityQueryInfoLen) SOCKET_SE _Out_writes_bytes_to_opt_(*SecurityQueryInfoLen, *SecurityQueryInfoLen) SOCKE
CURITY_QUERY_INFO* SecurityQueryInfo, T_SECURITY_QUERY_INFO* SecurityQueryInfo,
__inout ULONG* SecurityQueryInfoLen, _Inout_ ULONG* SecurityQueryInfoLen,
__in_opt LPWSAOVERLAPPED Overlapped, _In_opt_ LPWSAOVERLAPPED Overlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
); );
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSASetSocketPeerTargetName ( WSASetSocketPeerTargetName (
__in SOCKET Socket, _In_ SOCKET Socket,
__in_bcount(PeerTargetNameLen) const SOCKET_PEER_TARGET_NAME* PeerTargetName, _In_reads_bytes_(PeerTargetNameLen) const SOCKET_PEER_TARGET_NAME* PeerTarget
__in ULONG PeerTargetNameLen, Name,
__in_opt LPWSAOVERLAPPED Overlapped, _In_ ULONG PeerTargetNameLen,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine _In_opt_ LPWSAOVERLAPPED Overlapped,
_In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
); );
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSADeleteSocketPeerTargetName ( WSADeleteSocketPeerTargetName (
__in SOCKET Socket, _In_ SOCKET Socket,
__in_bcount(PeerAddrLen) const struct sockaddr* PeerAddr, _In_reads_bytes_(PeerAddrLen) const struct sockaddr* PeerAddr,
__in ULONG PeerAddrLen, _In_ ULONG PeerAddrLen,
__in_opt LPWSAOVERLAPPED Overlapped, _In_opt_ LPWSAOVERLAPPED Overlapped,
__in_opt LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
); );
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSAImpersonateSocketPeer ( WSAImpersonateSocketPeer (
__in SOCKET Socket, _In_ SOCKET Socket,
__in_bcount_opt(PeerAddrLen) const struct sockaddr* PeerAddr, _In_reads_bytes_opt_(PeerAddrLen) const struct sockaddr* PeerAddr,
__in ULONG PeerAddrLen _In_ ULONG PeerAddrLen
); );
WINSOCK_API_LINKAGE WINSOCK_API_LINKAGE
INT INT
WSAAPI WSAAPI
WSARevertImpersonation (); WSARevertImpersonation ();
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif //_SECURE_SOCKET_TYPES_DEFINED_ #endif //_SECURE_SOCKET_TYPES_DEFINED_
#endif //(_WIN32_WINNT >= 0x0600) #endif //(_WIN32_WINNT >= 0x0600)
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// Unless the build environment is explicitly targeting only // Unless the build environment is explicitly targeting only
// platforms that include built-in getaddrinfo() support, include // platforms that include built-in getaddrinfo() support, include
// the backwards-compatibility version of the relevant APIs. // the backwards-compatibility version of the relevant APIs.
// //
#if !defined(_WIN32_WINNT) || (_WIN32_WINNT <= 0x0500) #if !defined(_WIN32_WINNT) || (_WIN32_WINNT <= 0x0500)
#include <wspiapi.h> #include <wspiapi.h>
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* _WS2TCPIP_H_ */ #endif /* _WS2TCPIP_H_ */
 End of changes. 67 change blocks. 
234 lines changed or deleted 312 lines changed or added

This html diff was produced by rfcdiff 1.41.