[1166] | 1 | /**
|
---|
| 2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
| 3 | * This file is part of the mingw-w64 runtime package.
|
---|
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
| 5 | */
|
---|
| 6 | #ifndef _WINSOCK2SPI_
|
---|
| 7 | #define _WINSOCK2SPI_
|
---|
| 8 |
|
---|
| 9 | #ifndef _WIN64
|
---|
| 10 | #include <pshpack4.h>
|
---|
| 11 | #endif
|
---|
| 12 |
|
---|
| 13 | #include <winsock2.h>
|
---|
| 14 |
|
---|
| 15 | #define WSPDESCRIPTION_LEN 255
|
---|
| 16 |
|
---|
| 17 | #define WSS_OPERATION_IN_PROGRESS __MSABI_LONG(0x00000103)
|
---|
| 18 |
|
---|
| 19 | typedef struct WSPData {
|
---|
| 20 | WORD wVersion;
|
---|
| 21 | WORD wHighVersion;
|
---|
| 22 | WCHAR szDescription[WSPDESCRIPTION_LEN+1];
|
---|
| 23 | } WSPDATA,*LPWSPDATA;
|
---|
| 24 |
|
---|
| 25 | typedef struct _WSATHREADID {
|
---|
| 26 | HANDLE ThreadHandle;
|
---|
| 27 | DWORD_PTR Reserved;
|
---|
| 28 | } WSATHREADID,*LPWSATHREADID;
|
---|
| 29 |
|
---|
| 30 | #define WSPAPI WSAAPI
|
---|
| 31 |
|
---|
| 32 | #ifdef __cplusplus
|
---|
| 33 | extern "C" {
|
---|
| 34 | #endif
|
---|
| 35 |
|
---|
| 36 | typedef WINBOOL (CALLBACK *LPBLOCKINGCALLBACK)(DWORD_PTR dwContext);
|
---|
| 37 | typedef VOID (CALLBACK *LPWSAUSERAPC)(DWORD_PTR dwContext);
|
---|
| 38 | typedef SOCKET (WSPAPI *LPWSPACCEPT)(SOCKET s,struct sockaddr *addr,LPINT addrlen,LPCONDITIONPROC lpfnCondition,DWORD_PTR dwCallbackData,LPINT lpErrno);
|
---|
| 39 | typedef INT (WSPAPI *LPWSPADDRESSTOSTRING)(LPSOCKADDR lpsaAddress,DWORD dwAddressLength,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPWSTR lpszAddressString,LPDWORD lpdwAddressStringLength,LPINT lpErrno);
|
---|
| 40 | typedef int (WSPAPI *LPWSPASYNCSELECT)(SOCKET s,HWND hWnd,unsigned int wMsg,__LONG32 lEvent,LPINT lpErrno);
|
---|
| 41 | typedef int (WSPAPI *LPWSPBIND)(SOCKET s,const struct sockaddr *name,int namelen,LPINT lpErrno);
|
---|
| 42 | typedef int (WSPAPI *LPWSPCANCELBLOCKINGCALL)(LPINT lpErrno);
|
---|
| 43 | typedef int (WSPAPI *LPWSPCLEANUP)(LPINT lpErrno);
|
---|
| 44 | typedef int (WSPAPI *LPWSPCLOSESOCKET)(SOCKET s,LPINT lpErrno);
|
---|
| 45 | typedef int (WSPAPI *LPWSPCONNECT)(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,LPINT lpErrno);
|
---|
| 46 | typedef int (WSPAPI *LPWSPDUPLICATESOCKET)(SOCKET s,DWORD dwProcessId,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPINT lpErrno);
|
---|
| 47 | typedef int (WSPAPI *LPWSPENUMNETWORKEVENTS)(SOCKET s,WSAEVENT hEventObject,LPWSANETWORKEVENTS lpNetworkEvents,LPINT lpErrno);
|
---|
| 48 | typedef int (WSPAPI *LPWSPEVENTSELECT)(SOCKET s,WSAEVENT hEventObject,__LONG32 lNetworkEvents,LPINT lpErrno);
|
---|
| 49 | typedef WINBOOL (WSPAPI *LPWSPGETOVERLAPPEDRESULT)(SOCKET s,LPWSAOVERLAPPED lpOverlapped,LPDWORD lpcbTransfer,WINBOOL fWait,LPDWORD lpdwFlags,LPINT lpErrno);
|
---|
| 50 | typedef int (WSPAPI *LPWSPGETPEERNAME)(SOCKET s,struct sockaddr *name,LPINT namelen,LPINT lpErrno);
|
---|
| 51 | typedef int (WSPAPI *LPWSPGETSOCKNAME)(SOCKET s,struct sockaddr *name,LPINT namelen,LPINT lpErrno);
|
---|
| 52 | typedef int (WSPAPI *LPWSPGETSOCKOPT)(SOCKET s,int level,int optname,char *optval,LPINT optlen,LPINT lpErrno);
|
---|
| 53 | typedef WINBOOL (WSPAPI *LPWSPGETQOSBYNAME)(SOCKET s,LPWSABUF lpQOSName,LPQOS lpQOS,LPINT lpErrno);
|
---|
| 54 | 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);
|
---|
| 55 | typedef SOCKET (WSPAPI *LPWSPJOINLEAF)(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,DWORD dwFlags,LPINT lpErrno);
|
---|
| 56 | typedef int (WSPAPI *LPWSPLISTEN)(SOCKET s,int backlog,LPINT lpErrno);
|
---|
| 57 | typedef int (WSPAPI *LPWSPRECV)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
|
---|
| 58 | typedef int (WSPAPI *LPWSPRECVDISCONNECT)(SOCKET s,LPWSABUF lpInboundDisconnectData,LPINT lpErrno);
|
---|
| 59 | 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);
|
---|
| 60 | typedef int (WSPAPI *LPWSPSELECT)(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const PTIMEVAL timeout,LPINT lpErrno);
|
---|
| 61 | typedef int (WSPAPI *LPWSPSEND)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno);
|
---|
| 62 | typedef int (WSPAPI *LPWSPSENDDISCONNECT)(SOCKET s,LPWSABUF lpOutboundDisconnectData,LPINT lpErrno);
|
---|
| 63 | 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);
|
---|
| 64 | typedef int (WSPAPI *LPWSPSETSOCKOPT)(SOCKET s,int level,int optname,const char *optval,int optlen,LPINT lpErrno);
|
---|
| 65 | typedef int (WSPAPI *LPWSPSHUTDOWN)(SOCKET s,int how,LPINT lpErrno);
|
---|
| 66 | typedef SOCKET (WSPAPI *LPWSPSOCKET)(int af,int type,int protocol,LPWSAPROTOCOL_INFOW lpProtocolInfo,GROUP g,DWORD dwFlags,LPINT lpErrno);
|
---|
| 67 | typedef INT (WSPAPI *LPWSPSTRINGTOADDRESS)(LPWSTR AddressString,INT AddressFamily,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPSOCKADDR lpAddress,LPINT lpAddressLength,LPINT lpErrno);
|
---|
| 68 |
|
---|
| 69 | typedef struct _WSPPROC_TABLE {
|
---|
| 70 |
|
---|
| 71 | LPWSPACCEPT lpWSPAccept;
|
---|
| 72 | LPWSPADDRESSTOSTRING lpWSPAddressToString;
|
---|
| 73 | LPWSPASYNCSELECT lpWSPAsyncSelect;
|
---|
| 74 | LPWSPBIND lpWSPBind;
|
---|
| 75 | LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall;
|
---|
| 76 | LPWSPCLEANUP lpWSPCleanup;
|
---|
| 77 | LPWSPCLOSESOCKET lpWSPCloseSocket;
|
---|
| 78 | LPWSPCONNECT lpWSPConnect;
|
---|
| 79 | LPWSPDUPLICATESOCKET lpWSPDuplicateSocket;
|
---|
| 80 | LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents;
|
---|
| 81 | LPWSPEVENTSELECT lpWSPEventSelect;
|
---|
| 82 | LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult;
|
---|
| 83 | LPWSPGETPEERNAME lpWSPGetPeerName;
|
---|
| 84 | LPWSPGETSOCKNAME lpWSPGetSockName;
|
---|
| 85 | LPWSPGETSOCKOPT lpWSPGetSockOpt;
|
---|
| 86 | LPWSPGETQOSBYNAME lpWSPGetQOSByName;
|
---|
| 87 | LPWSPIOCTL lpWSPIoctl;
|
---|
| 88 | LPWSPJOINLEAF lpWSPJoinLeaf;
|
---|
| 89 | LPWSPLISTEN lpWSPListen;
|
---|
| 90 | LPWSPRECV lpWSPRecv;
|
---|
| 91 | LPWSPRECVDISCONNECT lpWSPRecvDisconnect;
|
---|
| 92 | LPWSPRECVFROM lpWSPRecvFrom;
|
---|
| 93 | LPWSPSELECT lpWSPSelect;
|
---|
| 94 | LPWSPSEND lpWSPSend;
|
---|
| 95 | LPWSPSENDDISCONNECT lpWSPSendDisconnect;
|
---|
| 96 | LPWSPSENDTO lpWSPSendTo;
|
---|
| 97 | LPWSPSETSOCKOPT lpWSPSetSockOpt;
|
---|
| 98 | LPWSPSHUTDOWN lpWSPShutdown;
|
---|
| 99 | LPWSPSOCKET lpWSPSocket;
|
---|
| 100 | LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
|
---|
| 101 | } WSPPROC_TABLE,*LPWSPPROC_TABLE;
|
---|
| 102 |
|
---|
| 103 | typedef WINBOOL (WSPAPI *LPWPUCLOSEEVENT)(WSAEVENT hEvent,LPINT lpErrno);
|
---|
| 104 | typedef int (WSPAPI *LPWPUCLOSESOCKETHANDLE)(SOCKET s,LPINT lpErrno);
|
---|
| 105 | typedef WSAEVENT (WSPAPI *LPWPUCREATEEVENT)(LPINT lpErrno);
|
---|
| 106 | typedef SOCKET (WSPAPI *LPWPUCREATESOCKETHANDLE)(DWORD dwCatalogEntryId,DWORD_PTR dwContext,LPINT lpErrno);
|
---|
| 107 | typedef int (WSPAPI *LPWPUFDISSET)(SOCKET s,fd_set *fdset);
|
---|
| 108 | typedef int (WSPAPI *LPWPUGETPROVIDERPATH)(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno);
|
---|
| 109 | typedef SOCKET (WSPAPI *LPWPUMODIFYIFSHANDLE)(DWORD dwCatalogEntryId,SOCKET ProposedHandle,LPINT lpErrno);
|
---|
| 110 | typedef WINBOOL (WSPAPI *LPWPUPOSTMESSAGE)(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
|
---|
| 111 | typedef int (WSPAPI *LPWPUQUERYBLOCKINGCALLBACK)(DWORD dwCatalogEntryId,LPBLOCKINGCALLBACK *lplpfnCallback,PDWORD_PTR lpdwContext,LPINT lpErrno);
|
---|
| 112 | typedef int (WSPAPI *LPWPUQUERYSOCKETHANDLECONTEXT)(SOCKET s,PDWORD_PTR lpContext,LPINT lpErrno);
|
---|
| 113 | typedef int (WSPAPI *LPWPUQUEUEAPC)(LPWSATHREADID lpThreadId,LPWSAUSERAPC lpfnUserApc,DWORD_PTR dwContext,LPINT lpErrno);
|
---|
| 114 | typedef WINBOOL (WSPAPI *LPWPURESETEVENT)(WSAEVENT hEvent,LPINT lpErrno);
|
---|
| 115 | typedef WINBOOL (WSPAPI *LPWPUSETEVENT)(WSAEVENT hEvent,LPINT lpErrno);
|
---|
| 116 | typedef int (WSPAPI *LPWPUOPENCURRENTTHREAD)(LPWSATHREADID lpThreadId,LPINT lpErrno);
|
---|
| 117 | typedef int (WSPAPI *LPWPUCLOSETHREAD)(LPWSATHREADID lpThreadId,LPINT lpErrno);
|
---|
| 118 | typedef int (WSPAPI *LPWPUCOMPLETEOVERLAPPEDREQUEST)(SOCKET s,LPWSAOVERLAPPED lpOverlapped,DWORD dwError,DWORD cbTransferred,LPINT lpErrno);
|
---|
| 119 |
|
---|
| 120 | typedef struct _WSPUPCALLTABLE {
|
---|
| 121 | LPWPUCLOSEEVENT lpWPUCloseEvent;
|
---|
| 122 | LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
|
---|
| 123 | LPWPUCREATEEVENT lpWPUCreateEvent;
|
---|
| 124 | LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
|
---|
| 125 | LPWPUFDISSET lpWPUFDIsSet;
|
---|
| 126 | LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
|
---|
| 127 | LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
|
---|
| 128 | LPWPUPOSTMESSAGE lpWPUPostMessage;
|
---|
| 129 | LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
|
---|
| 130 | LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
|
---|
| 131 | LPWPUQUEUEAPC lpWPUQueueApc;
|
---|
| 132 | LPWPURESETEVENT lpWPUResetEvent;
|
---|
| 133 | LPWPUSETEVENT lpWPUSetEvent;
|
---|
| 134 | LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
|
---|
| 135 | LPWPUCLOSETHREAD lpWPUCloseThread;
|
---|
| 136 | } WSPUPCALLTABLE,*LPWSPUPCALLTABLE;
|
---|
| 137 |
|
---|
| 138 | typedef int (WSPAPI *LPWSPSTARTUP)(WORD wVersionRequested,LPWSPDATA lpWSPData,LPWSAPROTOCOL_INFOW lpProtocolInfo,WSPUPCALLTABLE UpcallTable,LPWSPPROC_TABLE lpProcTable);
|
---|
| 139 | typedef int (WSPAPI *LPWSCENUMPROTOCOLS)(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno);
|
---|
| 140 | typedef int (WSPAPI *LPWSCDEINSTALLPROVIDER)(LPGUID lpProviderId,LPINT lpErrno);
|
---|
| 141 | typedef int (WSPAPI *LPWSCINSTALLPROVIDER)(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
|
---|
| 142 | typedef int (WSPAPI *LPWSCGETPROVIDERPATH)(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno);
|
---|
| 143 | typedef int (WSPAPI *LPWSCUPDATEPROVIDER)(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
|
---|
| 144 | typedef int (WSPAPI *LPWSCINSTALLQOSTEMPLATE)(const LPGUID Guid,LPWSABUF QosName,LPQOS Qos);
|
---|
| 145 | typedef int (WSPAPI *LPWSCREMOVEQOSTEMPLATE)(const LPGUID Guid,LPWSABUF QosName);
|
---|
| 146 |
|
---|
| 147 | int WSPAPI WSPStartup(WORD wVersionRequested,LPWSPDATA lpWSPData,LPWSAPROTOCOL_INFOW lpProtocolInfo,WSPUPCALLTABLE UpcallTable,LPWSPPROC_TABLE lpProcTable);
|
---|
| 148 | int WSPAPI WSCEnumProtocols(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno);
|
---|
| 149 | int WSPAPI WSCDeinstallProvider(LPGUID lpProviderId,LPINT lpErrno);
|
---|
| 150 | int WSPAPI WSCInstallProvider(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
|
---|
| 151 | int WSPAPI WSCGetProviderPath(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno);
|
---|
| 152 | int WSPAPI WSCUpdateProvider(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
|
---|
| 153 | int WSPAPI WSCInstallQOSTemplate (const LPGUID Guid,LPWSABUF QosName,LPQOS Qos);
|
---|
| 154 | int WSPAPI WSCRemoveQOSTemplate (const LPGUID Guid,LPWSABUF QosName);
|
---|
| 155 |
|
---|
| 156 | #ifdef _WIN64
|
---|
| 157 | int WSPAPI WSCEnumProtocols32(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno);
|
---|
| 158 | int WSPAPI WSCDeinstallProvider32(LPGUID lpProviderId,LPINT lpErrno);
|
---|
| 159 | int WSPAPI WSCInstallProvider64_32(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
|
---|
| 160 | int WSPAPI WSCGetProviderPath32(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno);
|
---|
| 161 | int WSPAPI WSCUpdateProvider32(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno);
|
---|
| 162 | #endif
|
---|
| 163 |
|
---|
| 164 | WINBOOL WSPAPI WPUCloseEvent(WSAEVENT hEvent,LPINT lpErrno);
|
---|
| 165 | int WSPAPI WPUCloseSocketHandle(SOCKET s,LPINT lpErrno);
|
---|
| 166 | WSAEVENT WSPAPI WPUCreateEvent(LPINT lpErrno);
|
---|
| 167 | SOCKET WSPAPI WPUCreateSocketHandle(DWORD dwCatalogEntryId,DWORD_PTR dwContext,LPINT lpErrno);
|
---|
| 168 | int WSPAPI WPUFDIsSet(SOCKET s,fd_set *fdset);
|
---|
| 169 | int WSPAPI WPUGetProviderPath(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno);
|
---|
| 170 | SOCKET WSPAPI WPUModifyIFSHandle(DWORD dwCatalogEntryId,SOCKET ProposedHandle,LPINT lpErrno);
|
---|
| 171 | WINBOOL WSPAPI WPUPostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
|
---|
| 172 | int WSPAPI WPUQueryBlockingCallback(DWORD dwCatalogEntryId,LPBLOCKINGCALLBACK *lplpfnCallback,PDWORD_PTR lpdwContext,LPINT lpErrno);
|
---|
| 173 | int WSPAPI WPUQuerySocketHandleContext(SOCKET s,PDWORD_PTR lpContext,LPINT lpErrno);
|
---|
| 174 | int WSPAPI WPUQueueApc(LPWSATHREADID lpThreadId,LPWSAUSERAPC lpfnUserApc,DWORD_PTR dwContext,LPINT lpErrno);
|
---|
| 175 | WINBOOL WSPAPI WPUResetEvent(WSAEVENT hEvent,LPINT lpErrno);
|
---|
| 176 | WINBOOL WSPAPI WPUSetEvent(WSAEVENT hEvent,LPINT lpErrno);
|
---|
| 177 | int WSPAPI WPUCompleteOverlappedRequest (SOCKET s,LPWSAOVERLAPPED lpOverlapped,DWORD dwError,DWORD cbTransferred,LPINT lpErrno);
|
---|
| 178 | int WSPAPI WPUOpenCurrentThread(LPWSATHREADID lpThreadId,LPINT lpErrno);
|
---|
| 179 | int WSPAPI WPUCloseThread(LPWSATHREADID lpThreadId,LPINT lpErrno);
|
---|
| 180 | #define WSCEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
|
---|
| 181 | #define LPFN_WSCENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
|
---|
| 182 |
|
---|
| 183 | #ifdef _WIN64
|
---|
| 184 | INT WSAAPI WSCEnumNameSpaceProviders32(LPDWORD lpdwBufferLength,LPWSANAMESPACE_INFOW lpnspBuffer);
|
---|
| 185 | #endif
|
---|
| 186 |
|
---|
| 187 | typedef INT (WSPAPI *LPWSCINSTALLNAMESPACE)(LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId);
|
---|
| 188 | typedef INT (WSPAPI *LPWSCUNINSTALLNAMESPACE)(LPGUID lpProviderId);
|
---|
| 189 | typedef INT (WSPAPI *LPWSCENABLENSPROVIDER)(LPGUID lpProviderId,WINBOOL fEnable);
|
---|
| 190 |
|
---|
| 191 | INT WSPAPI WSCInstallNameSpace (LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId);
|
---|
| 192 | INT WSPAPI WSCUnInstallNameSpace (LPGUID lpProviderId);
|
---|
| 193 | INT WSPAPI WSCEnableNSProvider (LPGUID lpProviderId,WINBOOL fEnable);
|
---|
| 194 |
|
---|
| 195 | #ifdef _WIN64
|
---|
| 196 | INT WSPAPI WSCInstallNameSpace32 (LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId);
|
---|
| 197 | INT WSPAPI WSCUnInstallNameSpace32 (LPGUID lpProviderId);
|
---|
| 198 | INT WSPAPI WSCEnableNSProvider32 (LPGUID lpProviderId,WINBOOL fEnable);
|
---|
| 199 | #endif
|
---|
| 200 |
|
---|
| 201 | typedef INT (WSAAPI *LPNSPCLEANUP)(LPGUID lpProviderId);
|
---|
| 202 | typedef INT (WSAAPI *LPNSPLOOKUPSERVICEBEGIN)(LPGUID lpProviderId,LPWSAQUERYSETW lpqsRestrictions,LPWSASERVICECLASSINFOW lpServiceClassInfo,DWORD dwControlFlags,LPHANDLE lphLookup);
|
---|
| 203 | typedef INT (WSAAPI *LPNSPLOOKUPSERVICENEXT)(HANDLE hLookup,DWORD dwControlFlags,LPDWORD lpdwBufferLength,LPWSAQUERYSETW lpqsResults);
|
---|
| 204 | typedef INT (WSAAPI *LPNSPIOCTL)(HANDLE hLookup,DWORD dwControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSACOMPLETION lpCompletion,LPWSATHREADID lpThreadId);
|
---|
| 205 | typedef INT (WSAAPI *LPNSPLOOKUPSERVICEEND)(HANDLE hLookup);
|
---|
| 206 | typedef INT (WSAAPI *LPNSPSETSERVICE)(LPGUID lpProviderId,LPWSASERVICECLASSINFOW lpServiceClassInfo,LPWSAQUERYSETW lpqsRegInfo,WSAESETSERVICEOP essOperation,DWORD dwControlFlags);
|
---|
| 207 | typedef INT (WSAAPI *LPNSPINSTALLSERVICECLASS)(LPGUID lpProviderId,LPWSASERVICECLASSINFOW lpServiceClassInfo);
|
---|
| 208 | typedef INT (WSAAPI *LPNSPREMOVESERVICECLASS)(LPGUID lpProviderId,LPGUID lpServiceClassId);
|
---|
| 209 | typedef INT (WSAAPI *LPNSPGETSERVICECLASSINFO)(LPGUID lpProviderId,LPDWORD lpdwBufSize,LPWSASERVICECLASSINFOW lpServiceClassInfo);
|
---|
| 210 |
|
---|
| 211 | typedef struct _NSP_ROUTINE {
|
---|
| 212 | DWORD cbSize;
|
---|
| 213 | DWORD dwMajorVersion;
|
---|
| 214 | DWORD dwMinorVersion;
|
---|
| 215 | LPNSPCLEANUP NSPCleanup;
|
---|
| 216 | LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
|
---|
| 217 | LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
|
---|
| 218 | LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
|
---|
| 219 | LPNSPSETSERVICE NSPSetService;
|
---|
| 220 | LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
|
---|
| 221 | LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
|
---|
| 222 | LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
|
---|
| 223 | LPNSPIOCTL NSPIoctl;
|
---|
| 224 | } NSP_ROUTINE,*LPNSP_ROUTINE;
|
---|
| 225 |
|
---|
| 226 | typedef INT (WSAAPI *LPNSPSTARTUP)(LPGUID lpProviderId,LPNSP_ROUTINE lpnspRoutines);
|
---|
| 227 |
|
---|
| 228 | INT WSAAPI NSPStartup(LPGUID lpProviderId,LPNSP_ROUTINE lpnspRoutines);
|
---|
| 229 |
|
---|
| 230 | #if (_WIN32_WINNT >= 0x0600)
|
---|
| 231 |
|
---|
| 232 | typedef int (WSAAPI *LPNSPV2CLEANUP)(
|
---|
| 233 | LPGUID lpProviderId,
|
---|
| 234 | LPVOID pvClientSessionArg
|
---|
| 235 | );
|
---|
| 236 |
|
---|
| 237 | typedef int (WSAAPI *LPNSPV2CLIENTSESSIONRUNDOWN)(
|
---|
| 238 | LPGUID lpProviderId,
|
---|
| 239 | LPVOID pvClientSessionArg
|
---|
| 240 | );
|
---|
| 241 |
|
---|
| 242 | typedef int (WSAAPI *LPNSPV2LOOKUPSERVICEBEGIN)(
|
---|
| 243 | LPGUID lpProviderId,
|
---|
| 244 | LPWSAQUERYSET2W lpqsRestrictions,
|
---|
| 245 | DWORD dwControlFlags,
|
---|
| 246 | LPVOID lpvClientSessionArg,
|
---|
| 247 | LPHANDLE lphLookup
|
---|
| 248 | );
|
---|
| 249 |
|
---|
| 250 | typedef int (WSAAPI *LPNSPV2LOOKUPSERVICEEND)(
|
---|
| 251 | HANDLE hLookup
|
---|
| 252 | );
|
---|
| 253 |
|
---|
| 254 | typedef int (WSAAPI *LPNSPV2LOOKUPSERVICENEXTEX)(
|
---|
| 255 | HANDLE hAsyncCall,
|
---|
| 256 | HANDLE hLookup,
|
---|
| 257 | DWORD dwControlFlags,
|
---|
| 258 | LPDWORD lpdwBufferLength,
|
---|
| 259 | LPWSAQUERYSET2W lpqsResults
|
---|
| 260 | );
|
---|
| 261 |
|
---|
| 262 | typedef int (WSAAPI *LPNSPV2SETSERVICEEX)(
|
---|
| 263 | HANDLE hAsyncCall,
|
---|
| 264 | LPGUID lpProviderId,
|
---|
| 265 | LPWSAQUERYSET2W lpqsRegInfo,
|
---|
| 266 | WSAESETSERVICEOP essOperation,
|
---|
| 267 | DWORD dwControlFlags,
|
---|
| 268 | LPVOID lpvClientSessionArg
|
---|
| 269 | );
|
---|
| 270 |
|
---|
| 271 | typedef int (WSAAPI *LPNSPV2STARTUP)(
|
---|
| 272 | LPGUID lpProviderId,
|
---|
| 273 | LPVOID *ppvClientSessionArg
|
---|
| 274 | );
|
---|
| 275 |
|
---|
| 276 | typedef struct _NSPV2_ROUTINE {
|
---|
| 277 | DWORD cbSize;
|
---|
| 278 | DWORD dwMajorVersion;
|
---|
| 279 | DWORD dwMinorVersion;
|
---|
| 280 | LPNSPV2STARTUP NSPv2Startup;
|
---|
| 281 | LPNSPV2CLEANUP NSPv2Cleanup;
|
---|
| 282 | LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin;
|
---|
| 283 | LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx;
|
---|
| 284 | LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd;
|
---|
| 285 | LPNSPV2SETSERVICEEX NSPv2SetServiceEx;
|
---|
| 286 | LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown;
|
---|
| 287 | } NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPCNSPV2_ROUTINE;
|
---|
| 288 |
|
---|
| 289 | #define LSP_SYSTEM 0x80000000
|
---|
| 290 | #define LSP_INSPECTOR 0x00000001
|
---|
| 291 | #define LSP_REDIRECTOR 0x00000002
|
---|
| 292 | #define LSP_PROXY 0x00000004
|
---|
| 293 | #define LSP_FIREWALL 0x00000008
|
---|
| 294 | #define LSP_INBOUND_MODIFY 0x00000010
|
---|
| 295 | #define LSP_OUTBOUND_MODIFY 0x00000020
|
---|
| 296 | #define LSP_CRYPTO_COMPRESS 0x00000040
|
---|
| 297 | #define LSP_LOCAL_CACHE 0x00000080
|
---|
| 298 |
|
---|
| 299 | typedef enum _WSC_PROVIDER_INFO_TYPE {
|
---|
| 300 | ProviderInfoLspCategories = 0,
|
---|
| 301 | ProviderInfoAudit
|
---|
| 302 | } WSC_PROVIDER_INFO_TYPE;
|
---|
| 303 |
|
---|
| 304 | typedef struct _WSC_PROVIDER_AUDIT_INFO {
|
---|
| 305 | DWORD RecordSize;
|
---|
| 306 | PVOID Reserved;
|
---|
| 307 | } WSC_PROVIDER_AUDIT_INFO, *PWSC_PROVIDER_AUDIT_INFO;
|
---|
| 308 |
|
---|
| 309 | INT WSAAPI WSAAdvertiseProvider(
|
---|
| 310 | const GUID *puuidProviderId,
|
---|
| 311 | const LPCNSPV2_ROUTINE *pNSPv2Routine
|
---|
| 312 | );
|
---|
| 313 |
|
---|
| 314 | INT WSPAPI WSAProviderCompleteAsyncCall(
|
---|
| 315 | HANDLE hAsyncCall,
|
---|
| 316 | INT iRetCode
|
---|
| 317 | );
|
---|
| 318 |
|
---|
| 319 | INT WSPAPI WSAUnadvertiseProvider(
|
---|
| 320 | const GUID *puuidProviderId
|
---|
| 321 | );
|
---|
| 322 |
|
---|
| 323 | int WSPAPI WSCGetApplicationCategory(
|
---|
| 324 | LPCWSTR Path,
|
---|
| 325 | DWORD PathLength,
|
---|
| 326 | LPCWSTR Extra,
|
---|
| 327 | DWORD ExtraLength,
|
---|
| 328 | DWORD *pPermittedLspCategories,
|
---|
| 329 | LPINT lpErrno
|
---|
| 330 | );
|
---|
| 331 |
|
---|
| 332 | int WSPAPI WSCGetProviderInfo(
|
---|
| 333 | LPGUID lpProviderId,
|
---|
| 334 | WSC_PROVIDER_INFO_TYPE InfoType,
|
---|
| 335 | PBYTE Info,
|
---|
| 336 | size_t *InfoSize,
|
---|
| 337 | DWORD Flags,
|
---|
| 338 | LPINT lpErrno
|
---|
| 339 | );
|
---|
| 340 |
|
---|
| 341 | #ifndef _WIN64
|
---|
| 342 | int WSPAPI WSCInstallProviderAndChains(
|
---|
| 343 | const LPGUID lpProviderId,
|
---|
| 344 | const LPWSTR lpszProviderDllPath,
|
---|
| 345 | const LPWSTR lpszLspName,
|
---|
| 346 | DWORD dwServiceFlags,
|
---|
| 347 | const LPWSAPROTOCOL_INFO lpProtocolInfoList,
|
---|
| 348 | DWORD dwNumberOfEntries,
|
---|
| 349 | LPDWORD lpdwCatalogEntryId,
|
---|
| 350 | LPINT lpErrno
|
---|
| 351 | );
|
---|
| 352 | #endif /* !_WIN64 */
|
---|
| 353 |
|
---|
| 354 | int WSPAPI WSCSetApplicationCategory(
|
---|
| 355 | LPCWSTR Path,
|
---|
| 356 | DWORD PathLength,
|
---|
| 357 | LPCWSTR Extra,
|
---|
| 358 | DWORD ExtraLength,
|
---|
| 359 | DWORD PermittedLspCategories,
|
---|
| 360 | DWORD *pPrevPermLspCat,
|
---|
| 361 | LPINT lpErrno
|
---|
| 362 | );
|
---|
| 363 |
|
---|
| 364 | int WSPAPI WSCSetProviderInfo(
|
---|
| 365 | LPGUID lpProviderId,
|
---|
| 366 | WSC_PROVIDER_INFO_TYPE InfoType,
|
---|
| 367 | PBYTE Info,
|
---|
| 368 | size_t InfoSize,
|
---|
| 369 | DWORD Flags,
|
---|
| 370 | LPINT lpErrno
|
---|
| 371 | );
|
---|
| 372 |
|
---|
| 373 | int WSAAPI WSCInstallNameSpaceEx(
|
---|
| 374 | LPWSTR lpszIdentifier,
|
---|
| 375 | LPWSTR lpszPathName,
|
---|
| 376 | DWORD dwNameSpace,
|
---|
| 377 | DWORD dwVersion,
|
---|
| 378 | LPGUID lpProviderId,
|
---|
| 379 | LPBLOB lpProviderInfo
|
---|
| 380 | );
|
---|
| 381 |
|
---|
| 382 | #define WSCEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW
|
---|
| 383 | #define LPFN_WSCENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW
|
---|
| 384 |
|
---|
| 385 | #ifdef _WIN64
|
---|
| 386 | INT WSPAPI WSCEnumNameSpaceProvidersEx32(
|
---|
| 387 | LPDWORD lpdwBufferLength,
|
---|
| 388 | LPWSANAMESPACE_INFOEXW lpnspBuffer
|
---|
| 389 | );
|
---|
| 390 |
|
---|
| 391 | int WSPAPI WSCGetProviderInfo32(
|
---|
| 392 | LPGUID lpProviderId,
|
---|
| 393 | WSC_PROVIDER_INFO_TYPE InfoType,
|
---|
| 394 | PBYTE Info,
|
---|
| 395 | size_t *InfoSize,
|
---|
| 396 | DWORD Flags,
|
---|
| 397 | LPINT lpErrno
|
---|
| 398 | );
|
---|
| 399 |
|
---|
| 400 | int WSAAPI WSCInstallNameSpaceEx32(
|
---|
| 401 | LPWSTR lpszIdentifier,
|
---|
| 402 | LPWSTR lpszPathName,
|
---|
| 403 | DWORD dwNameSpace,
|
---|
| 404 | DWORD dwVersion,
|
---|
| 405 | LPGUID lpProviderId,
|
---|
| 406 | LPBLOB lpProviderInfo
|
---|
| 407 | );
|
---|
| 408 |
|
---|
| 409 | int WSPAPI WSCInstallProviderAndChains64_32(
|
---|
| 410 | const LPGUID lpProviderId,
|
---|
| 411 | const LPWSTR lpszProviderDllPath,
|
---|
| 412 | const LPWSTR lpszProviderDllPath32,
|
---|
| 413 | const LPWSTR lpszLspName,
|
---|
| 414 | DWORD dwServiceFlags,
|
---|
| 415 | const LPWSAPROTOCOL_INFO lpProtocolInfoList,
|
---|
| 416 | DWORD dwNumberOfEntries,
|
---|
| 417 | LPDWORD lpdwCatalogEntryId,
|
---|
| 418 | LPINT lpErrno
|
---|
| 419 | );
|
---|
| 420 |
|
---|
| 421 | int WSPAPI WSCSetProviderInfo32(
|
---|
| 422 | LPGUID lpProviderId,
|
---|
| 423 | WSC_PROVIDER_INFO_TYPE InfoType,
|
---|
| 424 | PBYTE Info,
|
---|
| 425 | size_t InfoSize,
|
---|
| 426 | DWORD Flags,
|
---|
| 427 | LPINT lpErrno
|
---|
| 428 | );
|
---|
| 429 |
|
---|
| 430 | #endif /* _WIN64*/
|
---|
| 431 |
|
---|
| 432 | #endif /*(_WIN32_WINNT >= 0x0600)*/
|
---|
| 433 |
|
---|
| 434 | #ifdef __cplusplus
|
---|
| 435 | }
|
---|
| 436 | #endif
|
---|
| 437 |
|
---|
| 438 | #if !defined(_WIN64)
|
---|
| 439 | #include <poppack.h>
|
---|
| 440 | #endif
|
---|
| 441 | #endif
|
---|