123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _WINSOCK2SPI_
- #define _WINSOCK2SPI_
- #ifndef _WIN64
- #include <pshpack4.h>
- #endif
- #include <winsock2.h>
- #define WSPDESCRIPTION_LEN 255
- #define WSS_OPERATION_IN_PROGRESS __MSABI_LONG(0x00000103)
- typedef struct WSPData {
- WORD wVersion;
- WORD wHighVersion;
- WCHAR szDescription[WSPDESCRIPTION_LEN+1];
- } WSPDATA,*LPWSPDATA;
- typedef struct _WSATHREADID {
- HANDLE ThreadHandle;
- DWORD_PTR Reserved;
- } WSATHREADID,*LPWSATHREADID;
- #define WSPAPI WSAAPI
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef WINBOOL (CALLBACK *LPBLOCKINGCALLBACK)(DWORD_PTR dwContext);
- typedef VOID (CALLBACK *LPWSAUSERAPC)(DWORD_PTR dwContext);
- typedef SOCKET (WSPAPI *LPWSPACCEPT)(SOCKET s,struct sockaddr *addr,LPINT addrlen,LPCONDITIONPROC lpfnCondition,DWORD_PTR dwCallbackData,LPINT lpErrno);
- typedef INT (WSPAPI *LPWSPADDRESSTOSTRING)(LPSOCKADDR lpsaAddress,DWORD dwAddressLength,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPWSTR lpszAddressString,LPDWORD lpdwAddressStringLength,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPASYNCSELECT)(SOCKET s,HWND hWnd,unsigned int wMsg,__LONG32 lEvent,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPBIND)(SOCKET s,const struct sockaddr *name,int namelen,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPCANCELBLOCKINGCALL)(LPINT lpErrno);
- typedef int (WSPAPI *LPWSPCLEANUP)(LPINT lpErrno);
- typedef int (WSPAPI *LPWSPCLOSESOCKET)(SOCKET s,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPCONNECT)(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPDUPLICATESOCKET)(SOCKET s,DWORD dwProcessId,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPENUMNETWORKEVENTS)(SOCKET s,WSAEVENT hEventObject,LPWSANETWORKEVENTS lpNetworkEvents,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPEVENTSELECT)(SOCKET s,WSAEVENT hEventObject,__LONG32 lNetworkEvents,LPINT lpErrno);
- typedef WINBOOL (WSPAPI *LPWSPGETOVERLAPPEDRESULT)(SOCKET s,LPWSAOVERLAPPED lpOverlapped,LPDWORD lpcbTransfer,WINBOOL fWait,LPDWORD lpdwFlags,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPGETPEERNAME)(SOCKET s,struct sockaddr *name,LPINT namelen,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPGETSOCKNAME)(SOCKET s,struct sockaddr *name,LPINT namelen,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPGETSOCKOPT)(SOCKET s,int level,int optname,char *optval,LPINT optlen,LPINT lpErrno);
- typedef WINBOOL (WSPAPI *LPWSPGETQOSBYNAME)(SOCKET s,LPWSABUF lpQOSName,LPQOS lpQOS,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPIOCTL)(SOCKET s,DWORD dwIoControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
- typedef SOCKET (WSPAPI *LPWSPJOINLEAF)(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,DWORD dwFlags,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPLISTEN)(SOCKET s,int backlog,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPRECV)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPRECVDISCONNECT)(SOCKET s,LPWSABUF lpInboundDisconnectData,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPRECVFROM)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,struct sockaddr *lpFrom,LPINT lpFromlen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPSELECT)(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const TIMEVAL *timeout,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPSEND)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPSENDDISCONNECT)(SOCKET s,LPWSABUF lpOutboundDisconnectData,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPSENDTO)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,const struct sockaddr *lpTo,int iTolen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPSETSOCKOPT)(SOCKET s,int level,int optname,const char *optval,int optlen,LPINT lpErrno);
- typedef int (WSPAPI *LPWSPSHUTDOWN)(SOCKET s,int how,LPINT lpErrno);
- typedef SOCKET (WSPAPI *LPWSPSOCKET)(int af,int type,int protocol,LPWSAPROTOCOL_INFOW lpProtocolInfo,GROUP g,DWORD dwFlags,LPINT lpErrno);
- typedef INT (WSPAPI *LPWSPSTRINGTOADDRESS)(LPWSTR AddressString,INT AddressFamily,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPSOCKADDR lpAddress,LPINT lpAddressLength,LPINT lpErrno);
- typedef struct _WSPPROC_TABLE {
- LPWSPACCEPT lpWSPAccept;
- LPWSPADDRESSTOSTRING lpWSPAddressToString;
- LPWSPASYNCSELECT lpWSPAsyncSelect;
- LPWSPBIND lpWSPBind;
- LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall;
- LPWSPCLEANUP lpWSPCleanup;
- LPWSPCLOSESOCKET lpWSPCloseSocket;
- LPWSPCONNECT lpWSPConnect;
- LPWSPDUPLICATESOCKET lpWSPDuplicateSocket;
- LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents;
- LPWSPEVENTSELECT lpWSPEventSelect;
- LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult;
- LPWSPGETPEERNAME lpWSPGetPeerName;
- LPWSPGETSOCKNAME lpWSPGetSockName;
- LPWSPGETSOCKOPT lpWSPGetSockOpt;
- LPWSPGETQOSBYNAME lpWSPGetQOSByName;
- LPWSPIOCTL lpWSPIoctl;
- LPWSPJOINLEAF lpWSPJoinLeaf;
- LPWSPLISTEN lpWSPListen;
- LPWSPRECV lpWSPRecv;
- LPWSPRECVDISCONNECT lpWSPRecvDisconnect;
- LPWSPRECVFROM lpWSPRecvFrom;
- LPWSPSELECT lpWSPSelect;
- LPWSPSEND lpWSPSend;
- LPWSPSENDDISCONNECT lpWSPSendDisconnect;
- LPWSPSENDTO lpWSPSendTo;
- LPWSPSETSOCKOPT lpWSPSetSockOpt;
- LPWSPSHUTDOWN lpWSPShutdown;
- LPWSPSOCKET lpWSPSocket;
- LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
- } WSPPROC_TABLE,*LPWSPPROC_TABLE;
- typedef WINBOOL (WSPAPI *LPWPUCLOSEEVENT)(WSAEVENT hEvent,LPINT lpErrno);
- typedef int (WSPAPI *LPWPUCLOSESOCKETHANDLE)(SOCKET s,LPINT lpErrno);
- typedef WSAEVENT (WSPAPI *LPWPUCREATEEVENT)(LPINT lpErrno);
- typedef SOCKET (WSPAPI *LPWPUCREATESOCKETHANDLE)(DWORD dwCatalogEntryId,DWORD_PTR dwContext,LPINT lpErrno);
- typedef int (WSPAPI *LPWPUFDISSET)(SOCKET s,fd_set *fdset);
- typedef int (WSPAPI *LPWPUGETPROVIDERPATH)(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno);
- typedef SOCKET (WSPAPI *LPWPUMODIFYIFSHANDLE)(DWORD dwCatalogEntryId,SOCKET ProposedHandle,LPINT lpErrno);
- typedef WINBOOL (WSPAPI *LPWPUPOSTMESSAGE)(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
- typedef int (WSPAPI *LPWPUQUERYBLOCKINGCALLBACK)(DWORD dwCatalogEntryId,LPBLOCKINGCALLBACK *lplpfnCallback,PDWORD_PTR lpdwContext,LPINT lpErrno);
- typedef int (WSPAPI *LPWPUQUERYSOCKETHANDLECONTEXT)(SOCKET s,PDWORD_PTR lpContext,LPINT lpErrno);
- typedef int (WSPAPI *LPWPUQUEUEAPC)(LPWSATHREADID lpThreadId,LPWSAUSERAPC lpfnUserApc,DWORD_PTR dwContext,LPINT lpErrno);
- typedef WINBOOL (WSPAPI *LPWPURESETEVENT)(WSAEVENT hEvent,LPINT lpErrno);
- typedef WINBOOL (WSPAPI *LPWPUSETEVENT)(WSAEVENT hEvent,LPINT lpErrno);
- typedef int (WSPAPI *LPWPUOPENCURRENTTHREAD)(LPWSATHREADID lpThreadId,LPINT lpErrno);
- typedef int (WSPAPI *LPWPUCLOSETHREAD)(LPWSATHREADID lpThreadId,LPINT lpErrno);
- typedef int (WSPAPI *LPWPUCOMPLETEOVERLAPPEDREQUEST)(SOCKET s,LPWSAOVERLAPPED lpOverlapped,DWORD dwError,DWORD cbTransferred,LPINT lpErrno);
- typedef struct _WSPUPCALLTABLE {
- LPWPUCLOSEEVENT lpWPUCloseEvent;
- LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
- LPWPUCREATEEVENT lpWPUCreateEvent;
- LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
- LPWPUFDISSET lpWPUFDIsSet;
- LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
- LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
- LPWPUPOSTMESSAGE lpWPUPostMessage;
- LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
- LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
- LPWPUQUEUEAPC lpWPUQueueApc;
- LPWPURESETEVENT lpWPUResetEvent;
- LPWPUSETEVENT lpWPUSetEvent;
- LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
- LPWPUCLOSETHREAD lpWPUCloseThread;
- } WSPUPCALLTABLE,*LPWSPUPCALLTABLE;
- typedef int (WSPAPI *LPWSPSTARTUP)(WORD wVersionRequested,LPWSPDATA lpWSPData,LPWSAPROTOCOL_INFOW lpProtocolInfo,WSPUPCALLTABLE UpcallTable,LPWSPPROC_TABLE lpProcTable);
- typedef int (WSPAPI *LPWSCENUMPROTOCOLS)(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno);
- typedef int (WSPAPI *LPWSCDEINSTALLPROVIDER)(LPGUID lpProviderId,LPINT lpErrno);
- typedef int (WSPAPI *LPWSCINSTALLPROVIDER)(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
- typedef int (WSPAPI *LPWSCGETPROVIDERPATH)(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno);
- typedef int (WSPAPI *LPWSCUPDATEPROVIDER)(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
- typedef int (WSPAPI *LPWSCINSTALLQOSTEMPLATE)(const LPGUID Guid,LPWSABUF QosName,LPQOS Qos);
- typedef int (WSPAPI *LPWSCREMOVEQOSTEMPLATE)(const LPGUID Guid,LPWSABUF QosName);
- int WSPAPI WSPStartup(WORD wVersionRequested,LPWSPDATA lpWSPData,LPWSAPROTOCOL_INFOW lpProtocolInfo,WSPUPCALLTABLE UpcallTable,LPWSPPROC_TABLE lpProcTable);
- int WSPAPI WSCEnumProtocols(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno);
- int WSPAPI WSCDeinstallProvider(LPGUID lpProviderId,LPINT lpErrno);
- int WSPAPI WSCInstallProvider(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
- int WSPAPI WSCGetProviderPath(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno);
- int WSPAPI WSCUpdateProvider(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
- int WSPAPI WSCInstallQOSTemplate (const LPGUID Guid,LPWSABUF QosName,LPQOS Qos);
- int WSPAPI WSCRemoveQOSTemplate (const LPGUID Guid,LPWSABUF QosName);
- #ifdef _WIN64
- int WSPAPI WSCEnumProtocols32(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno);
- int WSPAPI WSCDeinstallProvider32(LPGUID lpProviderId,LPINT lpErrno);
- int WSPAPI WSCInstallProvider64_32(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
- int WSPAPI WSCGetProviderPath32(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno);
- int WSPAPI WSCUpdateProvider32(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
- #endif
- WINBOOL WSPAPI WPUCloseEvent(WSAEVENT hEvent,LPINT lpErrno);
- int WSPAPI WPUCloseSocketHandle(SOCKET s,LPINT lpErrno);
- WSAEVENT WSPAPI WPUCreateEvent(LPINT lpErrno);
- SOCKET WSPAPI WPUCreateSocketHandle(DWORD dwCatalogEntryId,DWORD_PTR dwContext,LPINT lpErrno);
- int WSPAPI WPUFDIsSet(SOCKET s,fd_set *fdset);
- int WSPAPI WPUGetProviderPath(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno);
- SOCKET WSPAPI WPUModifyIFSHandle(DWORD dwCatalogEntryId,SOCKET ProposedHandle,LPINT lpErrno);
- WINBOOL WSPAPI WPUPostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
- int WSPAPI WPUQueryBlockingCallback(DWORD dwCatalogEntryId,LPBLOCKINGCALLBACK *lplpfnCallback,PDWORD_PTR lpdwContext,LPINT lpErrno);
- int WSPAPI WPUQuerySocketHandleContext(SOCKET s,PDWORD_PTR lpContext,LPINT lpErrno);
- int WSPAPI WPUQueueApc(LPWSATHREADID lpThreadId,LPWSAUSERAPC lpfnUserApc,DWORD_PTR dwContext,LPINT lpErrno);
- WINBOOL WSPAPI WPUResetEvent(WSAEVENT hEvent,LPINT lpErrno);
- WINBOOL WSPAPI WPUSetEvent(WSAEVENT hEvent,LPINT lpErrno);
- int WSPAPI WPUCompleteOverlappedRequest (SOCKET s,LPWSAOVERLAPPED lpOverlapped,DWORD dwError,DWORD cbTransferred,LPINT lpErrno);
- int WSPAPI WPUOpenCurrentThread(LPWSATHREADID lpThreadId,LPINT lpErrno);
- int WSPAPI WPUCloseThread(LPWSATHREADID lpThreadId,LPINT lpErrno);
- #define WSCEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
- #define LPFN_WSCENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
- #ifdef _WIN64
- INT WSAAPI WSCEnumNameSpaceProviders32(LPDWORD lpdwBufferLength,LPWSANAMESPACE_INFOW lpnspBuffer);
- #endif
- typedef INT (WSPAPI *LPWSCINSTALLNAMESPACE)(LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId);
- typedef INT (WSPAPI *LPWSCUNINSTALLNAMESPACE)(LPGUID lpProviderId);
- typedef INT (WSPAPI *LPWSCENABLENSPROVIDER)(LPGUID lpProviderId,WINBOOL fEnable);
- INT WSPAPI WSCInstallNameSpace (LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId);
- INT WSPAPI WSCUnInstallNameSpace (LPGUID lpProviderId);
- INT WSPAPI WSCEnableNSProvider (LPGUID lpProviderId,WINBOOL fEnable);
- #ifdef _WIN64
- INT WSPAPI WSCInstallNameSpace32 (LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId);
- INT WSPAPI WSCUnInstallNameSpace32 (LPGUID lpProviderId);
- INT WSPAPI WSCEnableNSProvider32 (LPGUID lpProviderId,WINBOOL fEnable);
- #endif
- typedef INT (WSAAPI *LPNSPCLEANUP)(LPGUID lpProviderId);
- typedef INT (WSAAPI *LPNSPLOOKUPSERVICEBEGIN)(LPGUID lpProviderId,LPWSAQUERYSETW lpqsRestrictions,LPWSASERVICECLASSINFOW lpServiceClassInfo,DWORD dwControlFlags,LPHANDLE lphLookup);
- typedef INT (WSAAPI *LPNSPLOOKUPSERVICENEXT)(HANDLE hLookup,DWORD dwControlFlags,LPDWORD lpdwBufferLength,LPWSAQUERYSETW lpqsResults);
- typedef INT (WSAAPI *LPNSPIOCTL)(HANDLE hLookup,DWORD dwControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSACOMPLETION lpCompletion,LPWSATHREADID lpThreadId);
- typedef INT (WSAAPI *LPNSPLOOKUPSERVICEEND)(HANDLE hLookup);
- typedef INT (WSAAPI *LPNSPSETSERVICE)(LPGUID lpProviderId,LPWSASERVICECLASSINFOW lpServiceClassInfo,LPWSAQUERYSETW lpqsRegInfo,WSAESETSERVICEOP essOperation,DWORD dwControlFlags);
- typedef INT (WSAAPI *LPNSPINSTALLSERVICECLASS)(LPGUID lpProviderId,LPWSASERVICECLASSINFOW lpServiceClassInfo);
- typedef INT (WSAAPI *LPNSPREMOVESERVICECLASS)(LPGUID lpProviderId,LPGUID lpServiceClassId);
- typedef INT (WSAAPI *LPNSPGETSERVICECLASSINFO)(LPGUID lpProviderId,LPDWORD lpdwBufSize,LPWSASERVICECLASSINFOW lpServiceClassInfo);
- typedef struct _NSP_ROUTINE {
- DWORD cbSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
- LPNSPCLEANUP NSPCleanup;
- LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
- LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
- LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
- LPNSPSETSERVICE NSPSetService;
- LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
- LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
- LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
- LPNSPIOCTL NSPIoctl;
- } NSP_ROUTINE,*LPNSP_ROUTINE;
- typedef INT (WSAAPI *LPNSPSTARTUP)(LPGUID lpProviderId,LPNSP_ROUTINE lpnspRoutines);
- INT WSAAPI NSPStartup(LPGUID lpProviderId,LPNSP_ROUTINE lpnspRoutines);
- #if (_WIN32_WINNT >= 0x0600)
- typedef int (WSAAPI *LPNSPV2CLEANUP)(
- LPGUID lpProviderId,
- LPVOID pvClientSessionArg
- );
- typedef int (WSAAPI *LPNSPV2CLIENTSESSIONRUNDOWN)(
- LPGUID lpProviderId,
- LPVOID pvClientSessionArg
- );
- typedef int (WSAAPI *LPNSPV2LOOKUPSERVICEBEGIN)(
- LPGUID lpProviderId,
- LPWSAQUERYSET2W lpqsRestrictions,
- DWORD dwControlFlags,
- LPVOID lpvClientSessionArg,
- LPHANDLE lphLookup
- );
- typedef int (WSAAPI *LPNSPV2LOOKUPSERVICEEND)(
- HANDLE hLookup
- );
- typedef int (WSAAPI *LPNSPV2LOOKUPSERVICENEXTEX)(
- HANDLE hAsyncCall,
- HANDLE hLookup,
- DWORD dwControlFlags,
- LPDWORD lpdwBufferLength,
- LPWSAQUERYSET2W lpqsResults
- );
- typedef int (WSAAPI *LPNSPV2SETSERVICEEX)(
- HANDLE hAsyncCall,
- LPGUID lpProviderId,
- LPWSAQUERYSET2W lpqsRegInfo,
- WSAESETSERVICEOP essOperation,
- DWORD dwControlFlags,
- LPVOID lpvClientSessionArg
- );
- typedef int (WSAAPI *LPNSPV2STARTUP)(
- LPGUID lpProviderId,
- LPVOID *ppvClientSessionArg
- );
- typedef struct _NSPV2_ROUTINE {
- DWORD cbSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
- LPNSPV2STARTUP NSPv2Startup;
- LPNSPV2CLEANUP NSPv2Cleanup;
- LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin;
- LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx;
- LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd;
- LPNSPV2SETSERVICEEX NSPv2SetServiceEx;
- LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown;
- } NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPCNSPV2_ROUTINE;
- #define LSP_SYSTEM 0x80000000
- #define LSP_INSPECTOR 0x00000001
- #define LSP_REDIRECTOR 0x00000002
- #define LSP_PROXY 0x00000004
- #define LSP_FIREWALL 0x00000008
- #define LSP_INBOUND_MODIFY 0x00000010
- #define LSP_OUTBOUND_MODIFY 0x00000020
- #define LSP_CRYPTO_COMPRESS 0x00000040
- #define LSP_LOCAL_CACHE 0x00000080
- typedef enum _WSC_PROVIDER_INFO_TYPE {
- ProviderInfoLspCategories = 0,
- ProviderInfoAudit
- } WSC_PROVIDER_INFO_TYPE;
- typedef struct _WSC_PROVIDER_AUDIT_INFO {
- DWORD RecordSize;
- PVOID Reserved;
- } WSC_PROVIDER_AUDIT_INFO, *PWSC_PROVIDER_AUDIT_INFO;
- INT WSAAPI WSAAdvertiseProvider(
- const GUID *puuidProviderId,
- const LPCNSPV2_ROUTINE *pNSPv2Routine
- );
- INT WSPAPI WSAProviderCompleteAsyncCall(
- HANDLE hAsyncCall,
- INT iRetCode
- );
- INT WSPAPI WSAUnadvertiseProvider(
- const GUID *puuidProviderId
- );
- int WSPAPI WSCGetApplicationCategory(
- LPCWSTR Path,
- DWORD PathLength,
- LPCWSTR Extra,
- DWORD ExtraLength,
- DWORD *pPermittedLspCategories,
- LPINT lpErrno
- );
- int WSPAPI WSCGetProviderInfo(
- LPGUID lpProviderId,
- WSC_PROVIDER_INFO_TYPE InfoType,
- PBYTE Info,
- size_t *InfoSize,
- DWORD Flags,
- LPINT lpErrno
- );
- #ifndef _WIN64
- int WSPAPI WSCInstallProviderAndChains(
- const LPGUID lpProviderId,
- const LPWSTR lpszProviderDllPath,
- const LPWSTR lpszLspName,
- DWORD dwServiceFlags,
- const LPWSAPROTOCOL_INFO lpProtocolInfoList,
- DWORD dwNumberOfEntries,
- LPDWORD lpdwCatalogEntryId,
- LPINT lpErrno
- );
- #endif /* !_WIN64 */
- int WSPAPI WSCSetApplicationCategory(
- LPCWSTR Path,
- DWORD PathLength,
- LPCWSTR Extra,
- DWORD ExtraLength,
- DWORD PermittedLspCategories,
- DWORD *pPrevPermLspCat,
- LPINT lpErrno
- );
- int WSPAPI WSCSetProviderInfo(
- LPGUID lpProviderId,
- WSC_PROVIDER_INFO_TYPE InfoType,
- PBYTE Info,
- size_t InfoSize,
- DWORD Flags,
- LPINT lpErrno
- );
- int WSAAPI WSCInstallNameSpaceEx(
- LPWSTR lpszIdentifier,
- LPWSTR lpszPathName,
- DWORD dwNameSpace,
- DWORD dwVersion,
- LPGUID lpProviderId,
- LPBLOB lpProviderInfo
- );
- #define WSCEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW
- #define LPFN_WSCENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW
- #ifdef _WIN64
- INT WSPAPI WSCEnumNameSpaceProvidersEx32(
- LPDWORD lpdwBufferLength,
- LPWSANAMESPACE_INFOEXW lpnspBuffer
- );
- int WSPAPI WSCGetProviderInfo32(
- LPGUID lpProviderId,
- WSC_PROVIDER_INFO_TYPE InfoType,
- PBYTE Info,
- size_t *InfoSize,
- DWORD Flags,
- LPINT lpErrno
- );
- int WSAAPI WSCInstallNameSpaceEx32(
- LPWSTR lpszIdentifier,
- LPWSTR lpszPathName,
- DWORD dwNameSpace,
- DWORD dwVersion,
- LPGUID lpProviderId,
- LPBLOB lpProviderInfo
- );
- int WSPAPI WSCInstallProviderAndChains64_32(
- const LPGUID lpProviderId,
- const LPWSTR lpszProviderDllPath,
- const LPWSTR lpszProviderDllPath32,
- const LPWSTR lpszLspName,
- DWORD dwServiceFlags,
- const LPWSAPROTOCOL_INFO lpProtocolInfoList,
- DWORD dwNumberOfEntries,
- LPDWORD lpdwCatalogEntryId,
- LPINT lpErrno
- );
- int WSPAPI WSCSetProviderInfo32(
- LPGUID lpProviderId,
- WSC_PROVIDER_INFO_TYPE InfoType,
- PBYTE Info,
- size_t InfoSize,
- DWORD Flags,
- LPINT lpErrno
- );
- #endif /* _WIN64*/
- #endif /*(_WIN32_WINNT >= 0x0600)*/
- #ifdef __cplusplus
- }
- #endif
- #if !defined(_WIN64)
- #include <poppack.h>
- #endif
- #endif
|