ReactOS  0.4.13-dev-259-g5ca9c9c
ws2spi.h
Go to the documentation of this file.
1 /*
2  * ws2spi.h
3  *
4  * Winsock 2 Service Provider interface.
5  *
6  *
7  * THIS SOFTWARE IS NOT COPYRIGHTED
8  *
9  * This source code is offered for use in the public domain. You may
10  * use, modify or distribute it freely.
11  *
12  * This code is distributed in the hope that it will be useful but
13  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
14  * DISCLAIMED. This includes but is not limited to warranties of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  *
17  */
18 
19 #pragma once
20 
21 #define _WS2SPI_H
22 
23 #ifndef _WINSOCK2API_
24 #include <winsock2.h>
25 #endif
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 #if !defined(_WIN64)
32 #include <pshpack4.h>
33 #endif
34 
35 #define WSPDESCRIPTION_LEN 255
36 
37 #define WSS_OPERATION_IN_PROGRESS 0x00000103L
38 
39 #define WSPAPI WSAAPI
40 
41 typedef struct _WSATHREADID {
45 
46 typedef struct WSPData {
51 
52 typedef BOOL
53 (CALLBACK FAR *LPBLOCKINGCALLBACK)(
54  DWORD_PTR dwContext);
55 
56 typedef
58 SOCKET
60  _In_ SOCKET s,
61  _Out_writes_bytes_to_opt_(*addrlen, *addrlen) struct sockaddr FAR *addr,
62  _Inout_opt_ LPINT addrlen,
63  _In_opt_ LPCONDITIONPROC lpfnCondition,
64  _In_opt_ DWORD_PTR dwCallbackData,
65  _Out_ LPINT lpErrno);
66 
67 typedef VOID
68 (CALLBACK FAR *LPWSAUSERAPC)(
69  DWORD_PTR dwContext);
70 
71 typedef INT
73  _In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress,
74  _In_ DWORD dwAddressLength,
75  _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
76  _Out_writes_to_(*lpdwAddressStringLength, *lpdwAddressStringLength) LPWSTR lpszAddressString,
77  _Inout_ LPDWORD lpdwAddressStringLength,
78  _Out_ LPINT lpErrno);
79 
80 typedef int
82  _In_ SOCKET s,
83  _In_ HWND hWnd,
84  _In_ unsigned int wMsg,
85  _In_ long lEvent,
86  _Out_ LPINT lpErrno);
87 
88 typedef int
90  _In_ SOCKET s,
91  _In_reads_bytes_(namelen) const struct sockaddr FAR *name,
92  _In_ int namelen,
93  _Out_ LPINT lpErrno);
94 
95 typedef int
97  _Out_ LPINT lpErrno);
98 
99 typedef int
101  _Out_ LPINT lpErrno);
102 
103 typedef int
105  _In_ SOCKET s,
106  _Out_ LPINT lpErrno);
107 
108 typedef int
110  _In_ SOCKET s,
111  _In_reads_bytes_(namelen) const struct sockaddr FAR *name,
112  _In_ int namelen,
113  _In_opt_ LPWSABUF lpCallerData,
114  _Out_opt_ LPWSABUF lpCalleeData,
115  _In_opt_ LPQOS lpSQOS,
116  _In_opt_ LPQOS lpGQOS,
117  _Out_ LPINT lpErrno);
118 
119 typedef int
121  _In_ SOCKET s,
122  _In_ DWORD dwProcessId,
123  _Out_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
124  _Out_ LPINT lpErrno);
125 
126 typedef int
128  _In_ SOCKET s,
129  _In_ WSAEVENT hEventObject,
130  _Out_ LPWSANETWORKEVENTS lpNetworkEvents,
131  _Out_ LPINT lpErrno);
132 
133 typedef int
135  _In_ SOCKET s,
136  _In_opt_ WSAEVENT hEventObject,
137  _In_ long lNetworkEvents,
138  _Out_ LPINT lpErrno);
139 
140 typedef BOOL
142  _In_ SOCKET s,
144  _Out_ LPDWORD lpcbTransfer,
145  _In_ BOOL fWait,
146  _Out_ LPDWORD lpdwFlags,
147  _Out_ LPINT lpErrno);
148 
149 typedef int
151  _In_ SOCKET s,
154  _Out_ LPINT lpErrno);
155 
156 typedef int
158  _In_ SOCKET s,
161  _Out_ LPINT lpErrno);
162 
163 typedef int
165  _In_ SOCKET s,
166  _In_ int level,
167  _In_ int optname,
168  _Out_writes_bytes_(*optlen) char FAR *optval,
169  _Inout_ LPINT optlen,
170  _Out_ LPINT lpErrno);
171 
172 typedef BOOL
174  _In_ SOCKET s,
175  _In_ LPWSABUF lpQOSName,
176  _Out_ LPQOS lpQOS,
177  _Out_ LPINT lpErrno);
178 
179 typedef int
181  _In_ SOCKET s,
183  _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer,
184  _In_ DWORD cbInBuffer,
185  _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer,
186  _In_ DWORD cbOutBuffer,
187  _Out_ LPDWORD lpcbBytesReturned,
189  _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
190  _In_opt_ LPWSATHREADID lpThreadId,
191  _Out_ LPINT lpErrno);
192 
193 typedef SOCKET
195  _In_ SOCKET s,
196  _In_reads_bytes_(namelen) const struct sockaddr FAR *name,
197  _In_ int namelen,
198  _In_opt_ LPWSABUF lpCallerData,
199  _Out_opt_ LPWSABUF lpCalleeData,
200  _In_opt_ LPQOS lpSQOS,
201  _In_opt_ LPQOS lpGQOS,
203  _Out_ LPINT lpErrno);
204 
205 typedef int
207  _In_ SOCKET s,
208  _In_ int backlog,
209  _Out_ LPINT lpErrno);
210 
211 typedef int
213  _In_ SOCKET s,
214  _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
215  _In_ DWORD dwBufferCount,
216  _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
217  _Inout_ LPDWORD lpFlags,
219  _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
220  _In_opt_ LPWSATHREADID lpThreadId,
221  _In_ LPINT lpErrno);
222 
223 typedef int
225  _In_ SOCKET s,
226  _In_opt_ LPWSABUF lpInboundDisconnectData,
227  _Out_ LPINT lpErrno);
228 
229 typedef int
231  _In_ SOCKET s,
232  _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
233  _In_ DWORD dwBufferCount,
234  _Out_opt_ LPDWORD lpNumberOfBytesRecvd,
235  _Inout_ LPDWORD lpFlags,
236  _Out_writes_bytes_to_opt_(*lpFromlen, *lpFromlen) struct sockaddr FAR *lpFrom,
237  _Inout_opt_ LPINT lpFromlen,
239  _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
240  _In_opt_ LPWSATHREADID lpThreadId,
241  _Out_ LPINT lpErrno);
242 
243 typedef int
245  _In_ int nfds,
246  _Inout_opt_ fd_set FAR *readfds,
247  _Inout_opt_ fd_set FAR *writefds,
248  _Inout_opt_ fd_set FAR *exceptfds,
249  _In_opt_ const struct timeval FAR *timeout,
250  _Out_ LPINT lpErrno);
251 
252 typedef int
254  _In_ SOCKET s,
255  _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
256  _In_ DWORD dwBufferCount,
257  _Out_opt_ LPDWORD lpNumberOfBytesSent,
260  _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
261  _In_opt_ LPWSATHREADID lpThreadId,
262  _Out_ LPINT lpErrno);
263 
264 typedef int
266  _In_ SOCKET s,
267  _In_opt_ LPWSABUF lpOutboundDisconnectData,
268  _Out_ LPINT lpErrno);
269 
270 typedef int
272  _In_ SOCKET s,
273  _In_reads_(dwBufferCount) LPWSABUF lpBuffers,
274  _In_ DWORD dwBufferCount,
275  _Out_opt_ LPDWORD lpNumberOfBytesSent,
277  _In_reads_bytes_opt_(iTolen) const struct sockaddr FAR *lpTo,
278  _In_ int iTolen,
280  _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
281  _In_opt_ LPWSATHREADID lpThreadId,
282  _Out_ LPINT lpErrno);
283 
284 typedef int
286  _In_ SOCKET s,
287  _In_ int level,
288  _In_ int optname,
289  _In_reads_bytes_opt_(optlen) const char FAR *optval,
290  _In_ int optlen,
291  _Out_ LPINT lpErrno);
292 
293 typedef int
295  _In_ SOCKET s,
296  _In_ int how,
297  _Out_ LPINT lpErrno);
298 
299 typedef
301 SOCKET
303  _In_ int af,
304  _In_ int type,
305  _In_ int protocol,
306  _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
307  _In_ GROUP g,
309  _Out_ LPINT lpErrno);
310 
311 typedef INT
313  _In_ LPWSTR AddressString,
315  _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
316  _Out_writes_bytes_to_(*lpAddressLength, *lpAddressLength) LPSOCKADDR lpAddress,
317  _Inout_ LPINT lpAddressLength,
318  _Out_ LPINT lpErrno);
319 
320 typedef BOOL
323  _Out_ LPINT lpErrno);
324 
325 typedef int
327  _In_ SOCKET s,
328  _Out_ LPINT lpErrno);
329 
330 typedef WSAEVENT
332  _Out_ LPINT lpErrno);
333 
334 typedef
336 SOCKET
338  _In_ DWORD dwCatalogEntryId,
339  _In_ DWORD_PTR dwContext,
340  _Out_ LPINT lpErrno);
341 
342 typedef int
344  _In_ SOCKET s,
345  _In_ fd_set FAR *fdset);
346 
347 typedef int
349  _In_ LPGUID lpProviderId,
350  _Out_writes_(*lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath,
351  _Inout_ LPINT lpProviderDllPathLen,
352  _Out_ LPINT lpErrno);
353 
354 typedef SOCKET
356  _In_ DWORD dwCatalogEntryId,
357  _In_ SOCKET ProposedHandle,
358  _Out_ LPINT lpErrno);
359 
360 typedef BOOL
362  _In_ HWND hWnd,
363  _In_ UINT Msg,
365  _In_ LPARAM lParam);
366 
367 typedef int
369  _In_ DWORD dwCatalogEntryId,
370  _Out_ LPBLOCKINGCALLBACK FAR *lplpfnCallback,
371  _Out_ PDWORD_PTR lpdwContext,
372  _Out_ LPINT lpErrno);
373 
374 typedef int
376  _In_ SOCKET s,
377  _Out_ PDWORD_PTR lpContext,
378  _Out_ LPINT lpErrno);
379 
380 typedef int
382  _In_ LPWSATHREADID lpThreadId,
383  _In_ LPWSAUSERAPC lpfnUserApc,
384  _In_ DWORD_PTR dwContext,
385  _Out_ LPINT lpErrno);
386 
387 typedef BOOL
390  _Out_ LPINT lpErrno);
391 
392 typedef BOOL
395  _Out_ LPINT lpErrno);
396 
397 typedef int
399  _Out_ LPWSATHREADID lpThreadId,
400  _Out_ LPINT lpErrno);
401 
402 typedef int
404  _In_ LPWSATHREADID lpThreadId,
405  _Out_ LPINT lpErrno);
406 
407 typedef int
409  _In_ SOCKET s,
411  _In_ DWORD dwError,
412  _In_ DWORD cbTransferred,
413  _Out_ LPINT lpErrno);
414 
415 typedef int
417  _In_opt_ LPINT lpiProtocols,
418  _Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferlength) LPWSAPROTOCOL_INFOW lpProtocolBuffer,
420  _Out_ LPINT lpErrno);
421 
422 typedef int
424  _In_ LPGUID lpProviderId,
425  _Out_ LPINT lpErrno);
426 
427 typedef int
429  _In_ LPGUID lpProviderId,
430  _In_z_ const WCHAR FAR *lpszProviderDllPath,
431  _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
432  _In_ DWORD dwNumberOfEntries,
433  _Out_ LPINT lpErrno);
434 
435 typedef int
437  _In_ LPGUID lpProviderId,
438  _Out_writes_to_(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath,
439  _Inout_ LPINT lpProviderDllPathLen,
440  _Out_ LPINT lpErrno);
441 
442 typedef INT
444  _In_ LPWSTR lpszIdentifier,
445  _In_ LPWSTR lpszPathName,
446  _In_ DWORD dwNameSpace,
447  _In_ DWORD dwVersion,
448  _In_ LPGUID lpProviderId);
449 
450 typedef INT
452  _In_ LPGUID lpProviderId);
453 
454 typedef INT
456  _In_ LPGUID lpProviderId,
457  _In_ BOOL fEnable);
458 
459 /* Service provider procedure table */
460 typedef struct _WSPPROC_TABLE {
492 
493 typedef INT
495  _In_ LPGUID lpProviderId);
496 
497 typedef INT
499  _In_ LPGUID lpProviderId,
500  _In_ LPWSAQUERYSETW lpqsRestrictions,
501  _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo,
502  _In_ DWORD dwControlFlags,
503  _Out_ LPHANDLE lphLookup);
504 
505 typedef INT
507  _In_ HANDLE hLookup,
508  _In_ DWORD dwControlFlags,
511 
512 #if(_WIN32_WINNT >= 0x0501)
513 typedef INT
514 (WSAAPI *LPNSPIOCTL)(
515  _In_ HANDLE hLookup,
516  _In_ DWORD dwControlCode,
517  _In_reads_bytes_(cbInBuffer) LPVOID lpvInBuffer,
518  _In_ DWORD cbInBuffer,
519  _Out_writes_bytes_to_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer,
520  _In_ DWORD cbOutBuffer,
521  _Out_ LPDWORD lpcbBytesReturned,
522  _In_opt_ LPWSACOMPLETION lpCompletion,
523  _In_ LPWSATHREADID lpThreadId);
524 #endif
525 
526 typedef INT
528  _In_ HANDLE hLookup);
529 
530 typedef INT
532  _In_ LPGUID lpProviderId,
533  _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo,
534  _In_ LPWSAQUERYSETW lpqsRegInfo,
535  _In_ WSAESETSERVICEOP essOperation,
536  _In_ DWORD dwControlFlags);
537 
538 typedef INT
540  _In_ LPGUID lpProviderId,
541  _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo);
542 
543 typedef INT
545  _In_ LPGUID lpProviderId,
546  _In_ LPGUID lpServiceClassId);
547 
548 typedef INT
550  _In_ LPGUID lpProviderId,
551  _In_ LPDWORD lpdwBufSize,
552  _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo);
553 
554 typedef
556 INT
558  _In_ LPGUID lpProviderId,
559  _Outptr_ LPVOID *ppvClientSessionArg);
560 
561 typedef INT
563  _In_ LPGUID lpProviderId,
564  _In_ LPVOID pvClientSessionArg);
565 
566 typedef INT
568  _In_ LPGUID lpProviderId,
569  _In_ LPWSAQUERYSET2W lpqsRestrictions,
570  _In_ DWORD dwControlFlags,
571  _In_ LPVOID lpvClientSessionArg,
572  _Out_ LPHANDLE lphLookup);
573 
574 typedef VOID
576  _In_ HANDLE hAsyncCall,
577  _In_ HANDLE hLookup,
578  _In_ DWORD dwControlFlags,
580  _Out_ LPWSAQUERYSET2W lpqsResults);
581 
582 typedef INT
584  _In_ HANDLE hLookup);
585 
586 typedef VOID
588  _In_ HANDLE hAsyncCall,
589  _In_ LPGUID lpProviderId,
590  _In_ LPWSAQUERYSET2W lpqsRegInfo,
591  _In_ WSAESETSERVICEOP essOperation,
592  _In_ DWORD dwControlFlags,
593  _In_ LPVOID lpvClientSessionArg);
594 
595 typedef VOID
597  _In_ LPGUID lpProviderId,
598  _In_ LPVOID pvClientSessionArg);
599 
600 /* Service Provider upcall table */
601 typedef struct _WSPUPCALLTABLE {
618 
619 typedef
621 int
623  _In_ WORD wVersionRequested,
624  _In_ LPWSPDATA lpWSPData,
625  _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
626  _In_ WSPUPCALLTABLE UpcallTable,
627  _Out_ LPWSPPROC_TABLE lpProcTable);
628 
629 #if (_WIN32_WINNT >= 0x0600)
630 
631 #define LSP_SYSTEM 0x80000000
632 #define LSP_INSPECTOR 0x00000001
633 #define LSP_REDIRECTOR 0x00000002
634 #define LSP_PROXY 0x00000004
635 #define LSP_FIREWALL 0x00000008
636 #define LSP_INBOUND_MODIFY 0x00000010
637 #define LSP_OUTBOUND_MODIFY 0x00000020
638 #define LSP_CRYPTO_COMPRESS 0x00000040
639 #define LSP_LOCAL_CACHE 0x00000080
640 
641 typedef enum _WSC_PROVIDER_INFO_TYPE {
642  ProviderInfoLspCategories,
643  ProviderInfoAudit
644 } WSC_PROVIDER_INFO_TYPE ;
645 
646 typedef struct _WSC_PROVIDER_AUDIT_INFO {
647  DWORD RecordSize;
648  PVOID Reserved;
649 } WSC_PROVIDER_AUDIT_INFO;
650 
651 #endif /* (_WIN32_WINNT >= 0x0600) */
652 
653 typedef struct _NSP_ROUTINE {
665  LPNSPIOCTL NSPIoctl;
667 
668 typedef
670 INT
672  _In_ LPGUID lpProviderId,
673  _Inout_ LPNSP_ROUTINE lpnspRoutines);
674 
675 typedef struct _NSPV2_ROUTINE {
688 
690 int
691 WSPAPI
692 WSPStartup(
693  _In_ WORD wVersionRequested,
694  _In_ LPWSPDATA lpWSPData,
695  _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo,
696  _In_ WSPUPCALLTABLE UpcallTable,
697  _Out_ LPWSPPROC_TABLE lpProcTable);
698 
699 int
700 WSPAPI
702  _In_opt_ LPINT lpiProtocols,
705  _Out_ LPINT lpErrno);
706 
707 #if (_WIN32_WINNT >= 0x0501)
708 
709 int
710 WSPAPI
712  _Out_ LPWSATHREADID lpThreadId,
713  _Out_ LPINT lpErrno);
714 
715 int
716 WSPAPI
718  _In_ LPWSATHREADID lpThreadId,
719  _Out_ LPINT lpErrno);
720 
721 #define WSCEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
722 #define LPFN_WSCENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
723 
724 int
725 WSPAPI
727  _In_ LPGUID lpProviderId,
728  _In_z_ const WCHAR FAR *lpszProviderDllPath,
729  _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
730  _In_ DWORD dwNumberOfEntries,
731  _Out_ LPINT lpErrno);
732 
733 typedef int
734 (WSPAPI *LPWSCUPDATEPROVIDER)(
735  _In_ LPGUID lpProviderId,
736  _In_z_ const WCHAR FAR *lpszProviderDllPath,
737  _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
738  _In_ DWORD dwNumberOfEntries,
739  _Out_ LPINT lpErrno);
740 
741 #if defined(_WIN64)
742 
743 int
744 WSPAPI
745 WSCEnumProtocols32(
746  _In_opt_ LPINT lpiProtocols,
749  _Out_ LPINT lpErrno);
750 
751 int
752 WSPAPI
753 WSCDeinstallProvider32(
754  _In_ LPGUID lpProviderId,
755  _Out_ LPINT lpErrno);
756 
757 int
758 WSPAPI
759 WSCInstallProvider64_32(
760  _In_ LPGUID lpProviderId,
761  _In_z_ const WCHAR FAR *lpszProviderDllPath,
762  _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
763  _In_ DWORD dwNumberOfEntries,
764  _Out_ LPINT lpErrno);
765 
766 _Success_(return == 0)
767 int
768 WSPAPI
769 WSCGetProviderPath32(
770  _In_ LPGUID lpProviderId,
771  _Out_writes_to_(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath,
772  _Inout_ LPINT lpProviderDllPathLen,
773  _Out_ LPINT lpErrno);
774 
775 int
776 WSPAPI
777 WSCUpdateProvider32(
778  _In_ LPGUID lpProviderId,
779  _In_z_ const WCHAR FAR *lpszProviderDllPath,
780  _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
781  _In_ DWORD dwNumberOfEntries,
782  _Out_ LPINT lpErrno);
783 
784 INT
785 WSAAPI
786 WSCEnumNameSpaceProviders32(
789 
790 INT
791 WSPAPI
792 WSCInstallNameSpace32(
793  _In_ LPWSTR lpszIdentifier,
794  _In_ LPWSTR lpszPathName,
795  _In_ DWORD dwNameSpace,
796  _In_ DWORD dwVersion,
797  _In_ LPGUID lpProviderId);
798 
799 INT
800 WSPAPI
801 WSCUnInstallNameSpace32(
802  _In_ LPGUID lpProviderId);
803 
804 INT
805 WSPAPI
806 WSCEnableNSProvider32(
807  _In_ LPGUID lpProviderId,
808  _In_ BOOL fEnable);
809 
810 #endif /* defined(_WIN64) */
811 
812 #endif /* defined(_WIN32_WINNT >= 0x0501) */
813 
814 int
815 WSPAPI
817  _In_ LPGUID lpProviderId,
818  _Out_ LPINT lpErrno);
819 
820 int
821 WSPAPI
823  _In_ LPGUID lpProviderId,
824  _In_z_ const WCHAR FAR *lpszProviderDllPath,
825  _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
826  _In_ DWORD dwNumberOfEntries,
827  _Out_ LPINT lpErrno);
828 
829 int
830 WSPAPI
832  _In_ LPGUID lpProviderId,
833  _Out_writes_to_(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath,
834  _Inout_ LPINT lpProviderDllPathLen,
835  _Out_ LPINT lpErrno);
836 
837 #if (_WIN32_WINNT < 0x0600)
838 
839 int
840 WSPAPI
842  _In_ const LPGUID Guid,
843  _In_ LPWSABUF QosName,
844  _In_ LPQOS Qos);
845 
846 typedef int
848  _In_ const LPGUID Guid,
849  _In_ LPWSABUF QosName,
850  _In_ LPQOS Qos);
851 
852 int
853 WSPAPI
855  _In_ const LPGUID Guid,
856  _In_ LPWSABUF QosName);
857 
858 typedef int
860  _In_ const LPGUID Guid,
861  _In_ LPWSABUF QosName);
862 
863 #endif /* (_WIN32_WINNT < 0x0600) */
864 
865 #if(_WIN32_WINNT >= 0x0600)
866 
867 int
868 WSPAPI
869 WSCSetProviderInfo(
870  _In_ LPGUID lpProviderId,
871  _In_ WSC_PROVIDER_INFO_TYPE InfoType,
872  _In_reads_bytes_(InfoSize) PBYTE Info,
873  _In_ size_t InfoSize,
874  _In_ DWORD Flags,
875  _Out_ LPINT lpErrno);
876 
877 int
878 WSPAPI
879 WSCGetProviderInfo(
880  _In_ LPGUID lpProviderId,
881  _In_ WSC_PROVIDER_INFO_TYPE InfoType,
882  _Out_writes_bytes_to_(*InfoSize, *InfoSize) PBYTE Info,
883  _Inout_ size_t *InfoSize,
884  _In_ DWORD Flags,
885  _Out_ LPINT lpErrno);
886 
887 int
888 WSPAPI
889 WSCSetApplicationCategory(
892  _In_reads_opt_(ExtraLength) LPCWSTR Extra,
893  _In_ DWORD ExtraLength,
894  _In_ DWORD PermittedLspCategories,
895  _Out_opt_ DWORD *pPrevPermLspCat,
896  _Out_ LPINT lpErrno);
897 
898 int
899 WSPAPI
900 WSCGetApplicationCategory(
903  _In_reads_opt_(ExtraLength) LPCWSTR Extra,
904  _In_ DWORD ExtraLength,
905  _Out_ DWORD *pPermittedLspCategories,
906  _Out_ LPINT lpErrno);
907 
908 #define WSCEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW
909 #define LPFN_WSCENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW
910 
911 INT
912 WSPAPI
913 WSCInstallNameSpaceEx(
914  _In_ LPWSTR lpszIdentifier,
915  _In_ LPWSTR lpszPathName,
916  _In_ DWORD dwNameSpace,
917  _In_ DWORD dwVersion,
918  _In_ LPGUID lpProviderId,
919  _In_ LPBLOB lpProviderSpecific);
920 
921 INT
922 WSAAPI
923 WSAAdvertiseProvider(
924  _In_ const GUID *puuidProviderId,
925  _In_ const LPCNSPV2_ROUTINE pNSPv2Routine);
926 
927 INT
928 WSAAPI
929 WSAUnadvertiseProvider(
930  _In_ const GUID *puuidProviderId);
931 
932 INT
933 WSAAPI
934 WSAProviderCompleteAsyncCall(
935  _In_ HANDLE hAsyncCall,
936  _In_ INT iRetCode);
937 
938 #if defined(_WIN64)
939 
940 int
941 WSPAPI
942 WSCSetProviderInfo32(
943  _In_ LPGUID lpProviderId,
944  _In_ WSC_PROVIDER_INFO_TYPE InfoType,
945  _In_reads_bytes_(InfoSize) PBYTE Info,
946  _In_ size_t InfoSize,
947  _In_ DWORD Flags,
948  _Out_ LPINT lpErrno);
949 
950 int
951 WSPAPI
952 WSCGetProviderInfo32(
953  _In_ LPGUID lpProviderId,
954  _In_ WSC_PROVIDER_INFO_TYPE InfoType,
955  _Out_writes_bytes_to_(*InfoSize, *InfoSize) PBYTE Info,
956  _Inout_ size_t *InfoSize,
957  _In_ DWORD Flags,
958  _Out_ LPINT lpErrno);
959 
960 INT
961 WSAAPI
962 WSCEnumNameSpaceProvidersEx32(
965 
966 INT
967 WSPAPI
968 WSCInstallNameSpaceEx32(
969  _In_ LPWSTR lpszIdentifier,
970  _In_ LPWSTR lpszPathName,
971  _In_ DWORD dwNameSpace,
972  _In_ DWORD dwVersion,
973  _In_ LPGUID lpProviderId,
974  _In_ LPBLOB lpProviderSpecific);
975 
976 #endif /* (_WIN64) */
977 
978 #if defined(_WIN64)
979 int
980 WSPAPI
981 WSCInstallProviderAndChains64_32(
982 #else
983 int
984 WSPAPI
985 WSCInstallProviderAndChains(
986 #endif
987  _In_ LPGUID lpProviderId,
988  _In_ const LPWSTR lpszProviderDllPath,
989 #if defined(_WIN64)
990  _In_ const LPWSTR lpszProviderDllPath32,
991 #endif
992  _In_ const LPWSTR lpszLspName,
993  _In_ DWORD dwServiceFlags,
994  _Inout_updates_(dwNumberOfEntries) LPWSAPROTOCOL_INFOW lpProtocolInfoList,
995  _In_ DWORD dwNumberOfEntries,
996  _Out_opt_ LPDWORD lpdwCatalogEntryId,
997  _Out_ LPINT lpErrno);
998 
999 #endif /* (_WIN32_WINNT >= 0x0600) */
1000 
1001 BOOL
1002 WSPAPI
1005  _Out_ LPINT lpErrno);
1006 
1007 int
1008 WSPAPI
1010  _In_ SOCKET s,
1011  _Out_ LPINT lpErrno);
1012 
1013 WSAEVENT
1014 WSPAPI
1016  _Out_ LPINT lpErrno);
1017 
1018 SOCKET
1019 WSPAPI
1021  _In_ DWORD dwCatalogEntryId,
1022  _In_ DWORD_PTR dwContext,
1023  _Out_ LPINT lpErrno);
1024 
1025 int
1026 WSPAPI
1027 WPUFDIsSet(
1028  _In_ SOCKET s,
1029  _In_ fd_set FAR *fdset);
1030 
1031 int
1032 WSPAPI
1034  _In_ LPGUID lpProviderId,
1035  _Out_writes_(*lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath,
1036  _Inout_ LPINT lpProviderDllPathLen,
1037  _Out_ LPINT lpErrno);
1038 
1039 SOCKET
1040 WSPAPI
1042  _In_ DWORD dwCatalogEntryId,
1043  _In_ SOCKET ProposedHandle,
1044  _Out_ LPINT lpErrno);
1045 
1046 BOOL
1047 WSPAPI
1049  _In_ HWND hWnd,
1050  _In_ UINT Msg,
1051  _In_ WPARAM wParam,
1052  _In_ LPARAM lParam);
1053 
1054 int
1055 WSPAPI
1057  _In_ DWORD dwCatalogEntryId,
1058  _Out_ LPBLOCKINGCALLBACK FAR *lplpfnCallback,
1059  _Out_ PDWORD_PTR lpdwContext,
1060  _Out_ LPINT lpErrno);
1061 
1062 int
1063 WSPAPI
1065  _In_ SOCKET s,
1066  _Out_ PDWORD_PTR lpContext,
1067  _Out_ LPINT lpErrno);
1068 
1069 int
1070 WSPAPI
1071 WPUQueueApc(
1072  _In_ LPWSATHREADID lpThreadId,
1073  _In_ LPWSAUSERAPC lpfnUserApc,
1074  _In_ DWORD_PTR dwContext,
1075  _Out_ LPINT lpErrno);
1076 
1077 BOOL
1078 WSPAPI
1081  _Out_ LPINT lpErrno);
1082 
1083 BOOL
1084 WSPAPI
1085 WPUSetEvent(
1087  _Out_ LPINT lpErrno);
1088 
1089 int
1090 WSPAPI
1092  _In_ SOCKET s,
1094  _In_ DWORD dwError,
1095  _In_ DWORD cbTransferred,
1096  _Out_ LPINT lpErrno);
1097 
1098 INT
1099 WSPAPI
1101  _In_ LPWSTR lpszIdentifier,
1102  _In_ LPWSTR lpszPathName,
1103  _In_ DWORD dwNameSpace,
1104  _In_ DWORD dwVersion,
1105  _In_ LPGUID lpProviderId);
1106 
1107 INT
1108 WSPAPI
1110  _In_ LPGUID lpProviderId);
1111 
1112 INT
1113 WSPAPI
1115  _In_ LPGUID lpProviderId,
1116  _In_ BOOL fEnable);
1117 
1119 INT
1120 WSAAPI
1121 NSPStartup(
1122  _In_ LPGUID lpProviderId,
1123  _Inout_ LPNSP_ROUTINE lpnspRoutines);
1124 
1125 #if !defined(_WIN64)
1126 #include <poppack.h>
1127 #endif
1128 
1129 #ifdef __cplusplus
1130 }
1131 #endif
int(WSPAPI * LPWSPGETSOCKNAME)(_In_ SOCKET s, _Out_writes_bytes_to_(*namelen, *namelen) struct sockaddr FAR *name, _Inout_ LPINT namelen, _Out_ LPINT lpErrno)
Definition: ws2spi.h:157
LPWSPRECVFROM lpWSPRecvFrom
Definition: ws2spi.h:482
Definition: winsock.h:66
struct _NSPV2_ROUTINE * LPNSPV2_ROUTINE
LPNSPIOCTL NSPIoctl
Definition: ws2spi.h:665
#define WSPDESCRIPTION_LEN
Definition: ws2spi.h:35
LPNSPV2SETSERVICEEX NSPv2SetServiceEx
Definition: ws2spi.h:684
INT(WSAAPI * LPNSPCLEANUP)(_In_ LPGUID lpProviderId)
Definition: ws2spi.h:494
INT(WSAAPI * LPNSPLOOKUPSERVICEEND)(_In_ HANDLE hLookup)
Definition: ws2spi.h:527
BOOL(WSPAPI * LPWSPGETOVERLAPPEDRESULT)(_In_ SOCKET s, _In_ LPWSAOVERLAPPED lpOverlapped, _Out_ LPDWORD lpcbTransfer, _In_ BOOL fWait, _Out_ LPDWORD lpdwFlags, _Out_ LPINT lpErrno)
Definition: ws2spi.h:141
INT(WSAAPI * LPNSPLOOKUPSERVICENEXT)(_In_ HANDLE hLookup, _In_ DWORD dwControlFlags, _Inout_ LPDWORD lpdwBufferLength, _Out_writes_bytes_to_(*lpdwBufferLength, *lpdwBufferLength) LPWSAQUERYSETW lpqsResults)
Definition: ws2spi.h:506
GLint level
Definition: gl.h:1546
LPWPUFDISSET lpWPUFDIsSet
Definition: ws2spi.h:606
int(CALLBACK * LPCONDITIONPROC)(IN LPWSABUF lpCallerId, IN LPWSABUF lpCallerData, IN OUT LPQOS lpSQOS, IN OUT LPQOS lpGQOS, IN LPWSABUF lpCalleeId, IN LPWSABUF lpCalleeData, OUT GROUP FAR *g, IN DWORD_PTR dwCallbackData)
Definition: winsock2.h:711
WORD wVersion
Definition: ws2spi.h:47
#define _Must_inspect_result_
Definition: no_sal2.h:314
IN PCO_ADDRESS_FAMILY AddressFamily
Definition: ndis.h:1906
const NSPV2_ROUTINE * PCNSPV2_ROUTINE
Definition: ws2spi.h:687
BOOL(WSPAPI * LPWSPGETQOSBYNAME)(_In_ SOCKET s, _In_ LPWSABUF lpQOSName, _Out_ LPQOS lpQOS, _Out_ LPINT lpErrno)
Definition: ws2spi.h:173
INT WSPAPI WSCEnableNSProvider(_In_ LPGUID lpProviderId, _In_ BOOL fEnable)
int(WSPAPI * LPWSCDEINSTALLPROVIDER)(_In_ LPGUID lpProviderId, _Out_ LPINT lpErrno)
Definition: ws2spi.h:423
#define _Out_writes_bytes_to_(size, count)
Definition: no_sal2.h:374
SOCKET WSPAPI WPUCreateSocketHandle(_In_ DWORD dwCatalogEntryId, _In_ DWORD_PTR dwContext, _Out_ LPINT lpErrno)
LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext
Definition: ws2spi.h:659
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
LPWSPSETSOCKOPT lpWSPSetSockOpt
Definition: ws2spi.h:487
INT WSPAPI WSCUpdateProvider(LPGUID lpProviderId, const WCHAR FAR *lpszProviderDllPath, const LPWSAPROTOCOL_INFOW lpProtocolInfoList, DWORD dwNumberOfEntries, LPINT lpErrno)
Definition: nspinstl.c:64
int(WSPAPI * LPWSPCLEANUP)(_Out_ LPINT lpErrno)
Definition: ws2spi.h:100
INT(WSAAPI * LPNSPV2LOOKUPSERVICEEND)(_In_ HANDLE hLookup)
Definition: ws2spi.h:583
#define _Out_writes_bytes_to_opt_(size, count)
Definition: no_sal2.h:375
int(WSPAPI * LPWSPRECV)(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesRecvd, _Inout_ LPDWORD lpFlags, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSATHREADID lpThreadId, _In_ LPINT lpErrno)
Definition: ws2spi.h:212
struct _WSPUPCALLTABLE WSPUPCALLTABLE
struct _WSPPROC_TABLE WSPPROC_TABLE
LPWSPASYNCSELECT lpWSPAsyncSelect
Definition: ws2spi.h:463
DWORD dwMajorVersion
Definition: ws2spi.h:677
struct _WSATHREADID WSATHREADID
int(WSPAPI * LPWSPCONNECT)(_In_ SOCKET s, _In_reads_bytes_(namelen) const struct sockaddr FAR *name, _In_ int namelen, _In_opt_ LPWSABUF lpCallerData, _Out_opt_ LPWSABUF lpCalleeData, _In_opt_ LPQOS lpSQOS, _In_opt_ LPQOS lpGQOS, _Out_ LPINT lpErrno)
Definition: ws2spi.h:109
LPWPUCLOSEEVENT lpWPUCloseEvent
Definition: ws2spi.h:602
int WSPAPI WPUQueueApc(_In_ LPWSATHREADID lpThreadId, _In_ LPWSAUSERAPC lpfnUserApc, _In_ DWORD_PTR dwContext, _Out_ LPINT lpErrno)
#define _In_reads_(size)
Definition: no_sal2.h:228
#define _In_reads_bytes_opt_(size)
Definition: no_sal2.h:230
#define WSAEVENT
Definition: winsock2.h:585
const NSPV2_ROUTINE * LPCNSPV2_ROUTINE
Definition: ws2spi.h:687
int(WSPAPI * LPWSPSELECT)(_In_ int nfds, _Inout_opt_ fd_set FAR *readfds, _Inout_opt_ fd_set FAR *writefds, _Inout_opt_ fd_set FAR *exceptfds, _In_opt_ const struct timeval FAR *timeout, _Out_ LPINT lpErrno)
Definition: ws2spi.h:244
LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd
Definition: ws2spi.h:660
int(WSPAPI * LPWSPBIND)(_In_ SOCKET s, _In_reads_bytes_(namelen) const struct sockaddr FAR *name, _In_ int namelen, _Out_ LPINT lpErrno)
Definition: ws2spi.h:89
LPWSPLISTEN lpWSPListen
Definition: ws2spi.h:479
INT(WSAAPI * LPNSPV2CLEANUP)(_In_ LPGUID lpProviderId, _In_ LPVOID pvClientSessionArg)
Definition: ws2spi.h:562
#define INT
Definition: polytest.cpp:20
INT WSPAPI WSCInstallNameSpace(_In_ LPWSTR lpszIdentifier, _In_ LPWSTR lpszPathName, _In_ DWORD dwNameSpace, _In_ DWORD dwVersion, _In_ LPGUID lpProviderId)
#define CALLBACK
Definition: compat.h:27
HWND hWnd
Definition: settings.c:17
#define _Outptr_
Definition: no_sal2.h:396
int(WSPAPI * LPWPUCLOSETHREAD)(_In_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
Definition: ws2spi.h:403
LPWSPJOINLEAF lpWSPJoinLeaf
Definition: ws2spi.h:478
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
static LPWSAQUERYSETW
Definition: sock.c:91
DWORD_PTR Reserved
Definition: ws2spi.h:43
BOOL(WSPAPI * LPWPUCLOSEEVENT)(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
Definition: ws2spi.h:321
_Must_inspect_result_ SOCKET(WSPAPI * LPWPUCREATESOCKETHANDLE)(_In_ DWORD dwCatalogEntryId, _In_ DWORD_PTR dwContext, _Out_ LPINT lpErrno)
Definition: ws2spi.h:337
typedef BOOL(CALLBACK FAR *LPBLOCKINGCALLBACK)(DWORD_PTR dwContext)
LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle
Definition: ws2spi.h:605
LPWSPDUPLICATESOCKET lpWSPDuplicateSocket
Definition: ws2spi.h:469
struct @1567 Msg[]
struct _NSP_ROUTINE * LPNSP_ROUTINE
UINT_PTR WPARAM
Definition: windef.h:207
int(WSPAPI * LPWSPGETPEERNAME)(_In_ SOCKET s, _Out_writes_bytes_to_(*namelen, *namelen) struct sockaddr FAR *name, _Inout_ LPINT namelen, _Out_ LPINT lpErrno)
Definition: ws2spi.h:150
struct WSPData WSPDATA
Definition: nspapi.h:57
int(WSPAPI * LPWSCENUMPROTOCOLS)(_In_opt_ LPINT lpiProtocols, _Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferlength) LPWSAPROTOCOL_INFOW lpProtocolBuffer, _Inout_ LPDWORD lpdwBufferLength, _Out_ LPINT lpErrno)
Definition: ws2spi.h:416
LPNSPSETSERVICE NSPSetService
Definition: ws2spi.h:661
WORD wHighVersion
Definition: ws2spi.h:48
int WSPAPI WSCEnumProtocols(_In_opt_ LPINT lpiProtocols, _Out_writes_bytes_to_opt_(*lpdwBufferLength, *lpdwBufferLength) LPWSAPROTOCOL_INFOW lpProtocolBuffer, _Inout_ LPDWORD lpdwBufferLength, _Out_ LPINT lpErrno)
static USHORT PathLength
int(WSPAPI * LPWPUGETPROVIDERPATH)(_In_ LPGUID lpProviderId, _Out_writes_(*lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath, _Inout_ LPINT lpProviderDllPathLen, _Out_ LPINT lpErrno)
Definition: ws2spi.h:348
GLint namelen
Definition: glext.h:7232
#define _Out_writes_to_(size, count)
Definition: no_sal2.h:378
struct _NSP_ROUTINE * PNSP_ROUTINE
BOOL(WSPAPI * LPWPUSETEVENT)(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
Definition: ws2spi.h:393
int32_t INT
Definition: typedefs.h:56
GLbitfield GLuint64 timeout
Definition: glext.h:7164
WPARAM wParam
Definition: combotst.c:138
VOID(WSAAPI * LPNSPV2CLIENTSESSIONRUNDOWN)(_In_ LPGUID lpProviderId, _In_ LPVOID pvClientSessionArg)
Definition: ws2spi.h:596
int WSPAPI WPUQuerySocketHandleContext(_In_ SOCKET s, _Out_ PDWORD_PTR lpContext, _Out_ LPINT lpErrno)
int(WSPAPI * LPWSPSEND)(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesSent, _In_ DWORD dwFlags, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
Definition: ws2spi.h:253
struct TraceInfo Info
LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle
Definition: ws2spi.h:608
#define _In_opt_
Definition: no_sal2.h:213
SOCKET WSPAPI WPUModifyIFSHandle(_In_ DWORD dwCatalogEntryId, _In_ SOCKET ProposedHandle, _Out_ LPINT lpErrno)
int(WSPAPI * LPWPUFDISSET)(_In_ SOCKET s, _In_ fd_set FAR *fdset)
Definition: ws2spi.h:343
LPWSPSELECT lpWSPSelect
Definition: ws2spi.h:483
static HANDLE hEvent
Definition: comm.c:54
#define _Out_writes_(size)
Definition: no_sal2.h:367
DWORD dwMinorVersion
Definition: ws2spi.h:678
int(WSPAPI * LPWSPSENDTO)(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesSent, _In_ DWORD dwFlags, _In_reads_bytes_opt_(iTolen) const struct sockaddr FAR *lpTo, _In_ int iTolen, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
Definition: ws2spi.h:271
LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread
Definition: ws2spi.h:615
int(WSPAPI * LPWSCREMOVEQOSTEMPLATE)(_In_ const LPGUID Guid, _In_ LPWSABUF QosName)
Definition: ws2spi.h:859
LPWSPRECV lpWSPRecv
Definition: ws2spi.h:480
LPWSPCONNECT lpWSPConnect
Definition: ws2spi.h:468
LPWSPEVENTSELECT lpWSPEventSelect
Definition: ws2spi.h:471
LPNSPV2STARTUP NSPv2Startup
Definition: ws2spi.h:679
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
LPWSPIOCTL lpWSPIoctl
Definition: ws2spi.h:477
LPWSPSHUTDOWN lpWSPShutdown
Definition: ws2spi.h:488
unsigned int BOOL
Definition: ntddk_ex.h:94
INT WSPAPI WSCUnInstallNameSpace(_In_ LPGUID lpProviderId)
LPWSPCLOSESOCKET lpWSPCloseSocket
Definition: ws2spi.h:467
#define FAR
Definition: guiddef.h:36
int(WSPAPI * LPWPUOPENCURRENTTHREAD)(_Out_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
Definition: ws2spi.h:398
int WSPAPI WPUGetProviderPath(_In_ LPGUID lpProviderId, _Out_writes_(*lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath, _Inout_ LPINT lpProviderDllPathLen, _Out_ LPINT lpErrno)
BOOL WSPAPI WPUResetEvent(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
Definition: ws2spi.h:46
static GUID * Guid
Definition: apphelp.c:93
int(WSPAPI * LPWSPSENDDISCONNECT)(_In_ SOCKET s, _In_opt_ LPWSABUF lpOutboundDisconnectData, _Out_ LPINT lpErrno)
Definition: ws2spi.h:265
#define _Out_writes_bytes_(size)
Definition: no_sal2.h:370
#define _Out_
Definition: no_sal2.h:323
LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext
Definition: ws2spi.h:611
LONG_PTR LPARAM
Definition: windef.h:208
LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown
Definition: ws2spi.h:685
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
DWORD cbSize
Definition: ws2spi.h:654
int(WSPAPI * LPWSPGETSOCKOPT)(_In_ SOCKET s, _In_ int level, _In_ int optname, _Out_writes_bytes_(*optlen) char FAR *optval, _Inout_ LPINT optlen, _Out_ LPINT lpErrno)
Definition: ws2spi.h:164
LPWSPCLEANUP lpWSPCleanup
Definition: ws2spi.h:466
int(WSPAPI * LPWPUCLOSESOCKETHANDLE)(_In_ SOCKET s, _Out_ LPINT lpErrno)
Definition: ws2spi.h:326
int WSPAPI WSCRemoveQOSTemplate(_In_ const LPGUID Guid, _In_ LPWSABUF QosName)
LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle
Definition: ws2spi.h:603
LPWPUCREATEEVENT lpWPUCreateEvent
Definition: ws2spi.h:604
int(WSPAPI * LPWSPDUPLICATESOCKET)(_In_ SOCKET s, _In_ DWORD dwProcessId, _Out_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _Out_ LPINT lpErrno)
Definition: ws2spi.h:120
int(WSPAPI * LPWSCGETPROVIDERPATH)(_In_ LPGUID lpProviderId, _Out_writes_to_(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath, _Inout_ LPINT lpProviderDllPathLen, _Out_ LPINT lpErrno)
Definition: ws2spi.h:436
#define _Out_opt_
Definition: no_sal2.h:339
GLboolean GLboolean g
Definition: glext.h:6204
int WSPAPI WPUCompleteOverlappedRequest(_In_ SOCKET s, _Inout_ LPWSAOVERLAPPED lpOverlapped, _In_ DWORD dwError, _In_ DWORD cbTransferred, _Out_ LPINT lpErrno)
__wchar_t WCHAR
Definition: xmlstorage.h:180
int(WSPAPI * LPWSPIOCTL)(_In_ SOCKET s, _In_ DWORD dwIoControlCode, _In_reads_bytes_opt_(cbInBuffer) LPVOID lpvInBuffer, _In_ DWORD cbInBuffer, _Out_writes_bytes_to_opt_(cbOutBuffer, *lpcbBytesReturned) LPVOID lpvOutBuffer, _In_ DWORD cbOutBuffer, _Out_ LPDWORD lpcbBytesReturned, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
Definition: ws2spi.h:180
LPWPUGETPROVIDERPATH lpWPUGetProviderPath
Definition: ws2spi.h:607
#define _Success_(expr)
Definition: no_sal2.h:635
int(WSPAPI * LPWSPEVENTSELECT)(_In_ SOCKET s, _In_opt_ WSAEVENT hEventObject, _In_ long lNetworkEvents, _Out_ LPINT lpErrno)
Definition: ws2spi.h:134
enum _WSAESETSERVICEOP WSAESETSERVICEOP
struct _NSPV2_ROUTINE NSPV2_ROUTINE
WSAEVENT(WSPAPI * LPWPUCREATEEVENT)(_Out_ LPINT lpErrno)
Definition: ws2spi.h:331
LPNSPREMOVESERVICECLASS NSPRemoveServiceClass
Definition: ws2spi.h:663
unsigned int GROUP
Definition: winsock2.h:640
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
int WSPAPI WSCInstallProvider(_In_ LPGUID lpProviderId, _In_z_ const WCHAR FAR *lpszProviderDllPath, _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList, _In_ DWORD dwNumberOfEntries, _Out_ LPINT lpErrno)
INT(WSAAPI * LPNSPGETSERVICECLASSINFO)(_In_ LPGUID lpProviderId, _In_ LPDWORD lpdwBufSize, _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo)
Definition: ws2spi.h:549
INT WSPAPI WPUOpenCurrentThread(OUT LPWSATHREADID lpThreadId, OUT LPINT lpErrno)
Definition: sputil.c:73
ULONG_PTR * PDWORD_PTR
Definition: basetsd.h:184
#define _Inout_
Definition: no_sal2.h:244
DWORD dwMajorVersion
Definition: ws2spi.h:655
INT(WSPAPI * LPWSCENABLENSPROVIDER)(_In_ LPGUID lpProviderId, _In_ BOOL fEnable)
Definition: ws2spi.h:455
int(WSPAPI * LPWSPSETSOCKOPT)(_In_ SOCKET s, _In_ int level, _In_ int optname, _In_reads_bytes_opt_(optlen) const char FAR *optval, _In_ int optlen, _Out_ LPINT lpErrno)
Definition: ws2spi.h:285
struct _WSPUPCALLTABLE * LPWSPUPCALLTABLE
BOOL WSPAPI WPUSetEvent(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
LPWPUQUEUEAPC lpWPUQueueApc
Definition: ws2spi.h:612
INT(WSPAPI * LPWSPSTRINGTOADDRESS)(_In_ LPWSTR AddressString, _In_ INT AddressFamily, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _Out_writes_bytes_to_(*lpAddressLength, *lpAddressLength) LPSOCKADDR lpAddress, _Inout_ LPINT lpAddressLength, _Out_ LPINT lpErrno)
Definition: ws2spi.h:312
INT(WSPAPI * LPWSCINSTALLNAMESPACE)(_In_ LPWSTR lpszIdentifier, _In_ LPWSTR lpszPathName, _In_ DWORD dwNameSpace, _In_ DWORD dwVersion, _In_ LPGUID lpProviderId)
Definition: ws2spi.h:443
VOID(WSAAPI * LPNSPV2SETSERVICEEX)(_In_ HANDLE hAsyncCall, _In_ LPGUID lpProviderId, _In_ LPWSAQUERYSET2W lpqsRegInfo, _In_ WSAESETSERVICEOP essOperation, _In_ DWORD dwControlFlags, _In_ LPVOID lpvClientSessionArg)
Definition: ws2spi.h:587
SOCKET(WSPAPI * LPWSPJOINLEAF)(_In_ SOCKET s, _In_reads_bytes_(namelen) const struct sockaddr FAR *name, _In_ int namelen, _In_opt_ LPWSABUF lpCallerData, _Out_opt_ LPWSABUF lpCalleeData, _In_opt_ LPQOS lpSQOS, _In_opt_ LPQOS lpGQOS, _In_ DWORD dwFlags, _Out_ LPINT lpErrno)
Definition: ws2spi.h:194
LPWPUSETEVENT lpWPUSetEvent
Definition: ws2spi.h:614
LPWSPSTRINGTOADDRESS lpWSPStringToAddress
Definition: ws2spi.h:490
struct _NSPV2_ROUTINE * PNSPV2_ROUTINE
GLenum const GLvoid * addr
Definition: glext.h:9621
int(WSPAPI * LPWSPLISTEN)(_In_ SOCKET s, _In_ int backlog, _Out_ LPINT lpErrno)
Definition: ws2spi.h:206
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
HANDLE lEvent
Definition: tftpd.cpp:56
GLdouble s
Definition: gl.h:2039
int(WSPAPI * LPWSCINSTALLQOSTEMPLATE)(_In_ const LPGUID Guid, _In_ LPWSABUF QosName, _In_ LPQOS Qos)
Definition: ws2spi.h:847
int WSPAPI WSCInstallQOSTemplate(_In_ const LPGUID Guid, _In_ LPWSABUF QosName, _In_ LPQOS Qos)
LPWSPGETSOCKOPT lpWSPGetSockOpt
Definition: ws2spi.h:475
LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult
Definition: ws2spi.h:472
int(WSPAPI * LPWSPRECVFROM)(_In_ SOCKET s, _In_reads_(dwBufferCount) LPWSABUF lpBuffers, _In_ DWORD dwBufferCount, _Out_opt_ LPDWORD lpNumberOfBytesRecvd, _Inout_ LPDWORD lpFlags, _Out_writes_bytes_to_opt_(*lpFromlen, *lpFromlen) struct sockaddr FAR *lpFrom, _Inout_opt_ LPINT lpFromlen, _Inout_opt_ LPWSAOVERLAPPED lpOverlapped, _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, _In_opt_ LPWSATHREADID lpThreadId, _Out_ LPINT lpErrno)
Definition: ws2spi.h:230
int WSPAPI WSCGetProviderPath(_In_ LPGUID lpProviderId, _Out_writes_to_(*lpProviderDllPathLen, *lpProviderDllPathLen) WCHAR FAR *lpszProviderDllPath, _Inout_ LPINT lpProviderDllPathLen, _Out_ LPINT lpErrno)
uint32_t DWORD_PTR
Definition: typedefs.h:63
LPWSPADDRESSTOSTRING lpWSPAddressToString
Definition: ws2spi.h:462
LPWSPSENDTO lpWSPSendTo
Definition: ws2spi.h:486
int WSPAPI WPUQueryBlockingCallback(_In_ DWORD dwCatalogEntryId, _Out_ LPBLOCKINGCALLBACK FAR *lplpfnCallback, _Out_ PDWORD_PTR lpdwContext, _Out_ LPINT lpErrno)
#define _In_reads_bytes_(size)
Definition: no_sal2.h:229
_Must_inspect_result_ INT(WSAAPI * LPNSPV2STARTUP)(_In_ LPGUID lpProviderId, _Outptr_ LPVOID *ppvClientSessionArg)
Definition: ws2spi.h:557
BOOL(WSPAPI * LPWPURESETEVENT)(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
Definition: ws2spi.h:388
int(WSPAPI * LPWPUCOMPLETEOVERLAPPEDREQUEST)(_In_ SOCKET s, _Inout_ LPWSAOVERLAPPED lpOverlapped, _In_ DWORD dwError, _In_ DWORD cbTransferred, _Out_ LPINT lpErrno)
Definition: ws2spi.h:408
LPWPURESETEVENT lpWPUResetEvent
Definition: ws2spi.h:613
LPNSPINSTALLSERVICECLASS NSPInstallServiceClass
Definition: ws2spi.h:662
int(WSPAPI * LPWSPSHUTDOWN)(_In_ SOCKET s, _In_ int how, _Out_ LPINT lpErrno)
Definition: ws2spi.h:294
INT(WSAAPI * LPNSPLOOKUPSERVICEBEGIN)(_In_ LPGUID lpProviderId, _In_ LPWSAQUERYSETW lpqsRestrictions, _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo, _In_ DWORD dwControlFlags, _Out_ LPHANDLE lphLookup)
Definition: ws2spi.h:498
#define _In_
Definition: no_sal2.h:204
_Must_inspect_result_ SOCKET(WSPAPI * LPWSPACCEPT)(_In_ SOCKET s, _Out_writes_bytes_to_opt_(*addrlen, *addrlen) struct sockaddr FAR *addr, _Inout_opt_ LPINT addrlen, _In_opt_ LPCONDITIONPROC lpfnCondition, _In_opt_ DWORD_PTR dwCallbackData, _Out_ LPINT lpErrno)
Definition: ws2spi.h:59
LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall
Definition: ws2spi.h:465
int(WSPAPI * LPWSPASYNCSELECT)(_In_ SOCKET s, _In_ HWND hWnd, _In_ unsigned int wMsg, _In_ long lEvent, _Out_ LPINT lpErrno)
Definition: ws2spi.h:81
int(WSPAPI * LPWSPCLOSESOCKET)(_In_ SOCKET s, _Out_ LPINT lpErrno)
Definition: ws2spi.h:104
_Must_inspect_result_ INT(WSAAPI * LPNSPSTARTUP)(_In_ LPGUID lpProviderId, _Inout_ LPNSP_ROUTINE lpnspRoutines)
Definition: ws2spi.h:671
struct _NSP_ROUTINE NSP_ROUTINE
PRTL_UNICODE_STRING_BUFFER Path
struct WSPData * LPWSPDATA
_Must_inspect_result_ INT WSAAPI NSPStartup(_In_ LPGUID lpProviderId, _Inout_ LPNSP_ROUTINE lpnspRoutines)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED lpOverlapped
Definition: mswsock.h:90
struct _WSPPROC_TABLE * LPWSPPROC_TABLE
LPWSPACCEPT lpWSPAccept
Definition: ws2spi.h:461
typedef VOID(CALLBACK FAR *LPWSAUSERAPC)(DWORD_PTR dwContext)
INT WSPAPI WPUCloseThread(IN LPWSATHREADID lpThreadId, OUT LPINT lpErrno)
Definition: sputil.c:50
#define _In_z_
Definition: no_sal2.h:239
BOOL WSPAPI WPUPostMessage(_In_ HWND hWnd, _In_ UINT Msg, _In_ WPARAM wParam, _In_ LPARAM lParam)
INT(WSAAPI * LPNSPINSTALLSERVICECLASS)(_In_ LPGUID lpProviderId, _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo)
Definition: ws2spi.h:539
#define WSAAPI
Definition: winsock2.h:584
LPWSPBIND lpWSPBind
Definition: ws2spi.h:464
int WSPAPI WSCDeinstallProvider(_In_ LPGUID lpProviderId, _Out_ LPINT lpErrno)
LPWSPGETSOCKNAME lpWSPGetSockName
Definition: ws2spi.h:474
int(WSPAPI * LPWPUQUERYSOCKETHANDLECONTEXT)(_In_ SOCKET s, _Out_ PDWORD_PTR lpContext, _Out_ LPINT lpErrno)
Definition: ws2spi.h:375
LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx
Definition: ws2spi.h:682
LPNSPCLEANUP NSPCleanup
Definition: ws2spi.h:657
_Must_inspect_result_ int(WSPAPI * LPWSPSTARTUP)(_In_ WORD wVersionRequested, _In_ LPWSPDATA lpWSPData, _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ WSPUPCALLTABLE UpcallTable, _Out_ LPWSPPROC_TABLE lpProcTable)
Definition: ws2spi.h:622
INT(WSAAPI * LPNSPREMOVESERVICECLASS)(_In_ LPGUID lpProviderId, _In_ LPGUID lpServiceClassId)
Definition: ws2spi.h:544
int(WSPAPI * LPWSPENUMNETWORKEVENTS)(_In_ SOCKET s, _In_ WSAEVENT hEventObject, _Out_ LPWSANETWORKEVENTS lpNetworkEvents, _Out_ LPINT lpErrno)
Definition: ws2spi.h:127
unsigned int UINT
Definition: ndis.h:50
INT(WSAAPI * LPNSPV2LOOKUPSERVICEBEGIN)(_In_ LPGUID lpProviderId, _In_ LPWSAQUERYSET2W lpqsRestrictions, _In_ DWORD dwControlFlags, _In_ LPVOID lpvClientSessionArg, _Out_ LPHANDLE lphLookup)
Definition: ws2spi.h:567
DWORD dwMinorVersion
Definition: ws2spi.h:656
LPWPUCLOSETHREAD lpWPUCloseThread
Definition: ws2spi.h:616
_In_ ULONG _In_ ULONG _Inout_updates_(8 *8) ULONG *pul)
Definition: winddi.h:3522
LPWSPSENDDISCONNECT lpWSPSendDisconnect
Definition: ws2spi.h:485
LPWSPRECVDISCONNECT lpWSPRecvDisconnect
Definition: ws2spi.h:481
LPWSPSOCKET lpWSPSocket
Definition: ws2spi.h:489
BOOL WSPAPI WPUCloseEvent(_In_ WSAEVENT hEvent, _Out_ LPINT lpErrno)
BOOL(WSPAPI * LPWPUPOSTMESSAGE)(_In_ HWND hWnd, _In_ UINT Msg, _In_ WPARAM wParam, _In_ LPARAM lParam)
Definition: ws2spi.h:361
#define _In_reads_opt_(size)
Definition: no_sal2.h:231
struct _WSATHREADID * LPWSATHREADID
LPWSPGETPEERNAME lpWSPGetPeerName
Definition: ws2spi.h:473
void(CALLBACK * LPWSAOVERLAPPED_COMPLETION_ROUTINE)(IN DWORD dwError, IN DWORD cbTransferred, IN LPWSAOVERLAPPED lpOverlapped, IN DWORD dwFlags)
Definition: winsock2.h:722
uint32_t * LPDWORD
Definition: typedefs.h:57
LPWSPGETQOSBYNAME lpWSPGetQOSByName
Definition: ws2spi.h:476
#define const
Definition: zconf.h:230
LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents
Definition: ws2spi.h:470
WSAEVENT WSPAPI WPUCreateEvent(_Out_ LPINT lpErrno)
_Must_inspect_result_ int WSPAPI WSPStartup(_In_ WORD wVersionRequested, _In_ LPWSPDATA lpWSPData, _In_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ WSPUPCALLTABLE UpcallTable, _Out_ LPWSPPROC_TABLE lpProcTable)
Definition: dllmain.c:2985
LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo
Definition: ws2spi.h:664
LPNSPV2CLEANUP NSPv2Cleanup
Definition: ws2spi.h:680
UINT_PTR SOCKET
Definition: winsock.h:47
LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin
Definition: ws2spi.h:658
_In_ _In_opt_ _Out_writes_bytes_to_opt_ lpdwBufferLength _Inout_ LPDWORD lpdwBufferLength
Definition: winhttp.h:675
INT(WSPAPI * LPWSCUNINSTALLNAMESPACE)(_In_ LPGUID lpProviderId)
Definition: ws2spi.h:451
WCHAR szDescription[WSPDESCRIPTION_LEN+1]
Definition: ws2spi.h:49
DWORD cbSize
Definition: ws2spi.h:676
WCHAR * LPWSTR
Definition: xmlstorage.h:184
VOID(WSAAPI * LPNSPV2LOOKUPSERVICENEXTEX)(_In_ HANDLE hAsyncCall, _In_ HANDLE hLookup, _In_ DWORD dwControlFlags, _In_ LPDWORD lpdwBufferLength, _Out_ LPWSAQUERYSET2W lpqsResults)
Definition: ws2spi.h:575
int(WSPAPI * LPWPUQUEUEAPC)(_In_ LPWSATHREADID lpThreadId, _In_ LPWSAUSERAPC lpfnUserApc, _In_ DWORD_PTR dwContext, _Out_ LPINT lpErrno)
Definition: ws2spi.h:381
LPWPUPOSTMESSAGE lpWPUPostMessage
Definition: ws2spi.h:609
int WSPAPI WPUCloseSocketHandle(_In_ SOCKET s, _Out_ LPINT lpErrno)
LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin
Definition: ws2spi.h:681
HANDLE ThreadHandle
Definition: ws2spi.h:42
BYTE * PBYTE
Definition: pedump.c:66
SOCKET(WSPAPI * LPWPUMODIFYIFSHANDLE)(_In_ DWORD dwCatalogEntryId, _In_ SOCKET ProposedHandle, _Out_ LPINT lpErrno)
Definition: ws2spi.h:355
LPARAM lParam
Definition: combotst.c:139
int(WSPAPI * LPWSPRECVDISCONNECT)(_In_ SOCKET s, _In_opt_ LPWSABUF lpInboundDisconnectData, _Out_ LPINT lpErrno)
Definition: ws2spi.h:224
LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd
Definition: ws2spi.h:683
LPWSPSEND lpWSPSend
Definition: ws2spi.h:484
LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback
Definition: ws2spi.h:610
_Must_inspect_result_ SOCKET(WSPAPI * LPWSPSOCKET)(_In_ int af, _In_ int type, _In_ int protocol, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _In_ GROUP g, _In_ DWORD dwFlags, _Out_ LPINT lpErrno)
Definition: ws2spi.h:302
int(WSPAPI * LPWSPCANCELBLOCKINGCALL)(_Out_ LPINT lpErrno)
Definition: ws2spi.h:96
int(WSPAPI * LPWSCINSTALLPROVIDER)(_In_ LPGUID lpProviderId, _In_z_ const WCHAR FAR *lpszProviderDllPath, _In_reads_(dwNumberOfEntries) const LPWSAPROTOCOL_INFOW lpProtocolInfoList, _In_ DWORD dwNumberOfEntries, _Out_ LPINT lpErrno)
Definition: ws2spi.h:428
INT(WSPAPI * LPWSPADDRESSTOSTRING)(_In_reads_bytes_(dwAddressLength) LPSOCKADDR lpsaAddress, _In_ DWORD dwAddressLength, _In_opt_ LPWSAPROTOCOL_INFOW lpProtocolInfo, _Out_writes_to_(*lpdwAddressStringLength, *lpdwAddressStringLength) LPWSTR lpszAddressString, _Inout_ LPDWORD lpdwAddressStringLength, _Out_ LPINT lpErrno)
Definition: ws2spi.h:72
#define _Inout_opt_
Definition: no_sal2.h:258
INT(WSAAPI * LPNSPSETSERVICE)(_In_ LPGUID lpProviderId, _In_ LPWSASERVICECLASSINFOW lpServiceClassInfo, _In_ LPWSAQUERYSETW lpqsRegInfo, _In_ WSAESETSERVICEOP essOperation, _In_ DWORD dwControlFlags)
Definition: ws2spi.h:531
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
int WSPAPI WPUFDIsSet(_In_ SOCKET s, _In_ fd_set FAR *fdset)
int * LPINT
Definition: windef.h:178
#define WSPAPI
Definition: ws2spi.h:39
int(WSPAPI * LPWPUQUERYBLOCKINGCALLBACK)(_In_ DWORD dwCatalogEntryId, _Out_ LPBLOCKINGCALLBACK FAR *lplpfnCallback, _Out_ PDWORD_PTR lpdwContext, _Out_ LPINT lpErrno)
Definition: ws2spi.h:368
_In_ DWORD dwIoControlCode
Definition: winddi.h:1700
GLuint const GLchar * name
Definition: glext.h:6031