mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
Added WinSock 2 Headers
svn path=/trunk/; revision=1363
This commit is contained in:
parent
ab2b4e0924
commit
b7eaee833c
3 changed files with 2447 additions and 0 deletions
1532
reactos/include/winsock2.h
Normal file
1532
reactos/include/winsock2.h
Normal file
File diff suppressed because it is too large
Load diff
566
reactos/include/ws2spi.h
Normal file
566
reactos/include/ws2spi.h
Normal file
|
@ -0,0 +1,566 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Winsock 2 DLL
|
||||
* FILE: include/ws2spi.h
|
||||
* PURPOSE: Header file for the WinSock 2 DLL
|
||||
* and WinSock 2 Service Providers
|
||||
*/
|
||||
#ifndef __WS2SPI_H
|
||||
#define __WS2SPI_H
|
||||
|
||||
#include <winsock2.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#define WSPAPI WSAAPI
|
||||
|
||||
|
||||
#define WSPDESCRIPTION_LEN 255
|
||||
|
||||
typedef struct WSPData {
|
||||
WORD wVersion;
|
||||
WORD wHighVersion;
|
||||
WCHAR szDescription[WSPDESCRIPTION_LEN + 1];
|
||||
} WSPDATA, FAR * LPWSPDATA;
|
||||
|
||||
|
||||
typedef struct _WSATHREADID {
|
||||
HANDLE ThreadHandle;
|
||||
DWORD Reserved;
|
||||
} WSATHREADID, FAR* LPWSATHREADID;
|
||||
|
||||
|
||||
typedef BOOL (CALLBACK FAR* LPBLOCKINGCALLBACK)(
|
||||
DWORD dwContext);
|
||||
|
||||
typedef VOID (CALLBACK FAR* LPWSAUSERAPC)(
|
||||
DWORD dwContext);
|
||||
|
||||
|
||||
/* Prototypes for service provider procedure table */
|
||||
|
||||
typedef SOCKET (WSPAPI * LPWSPACCEPT)(
|
||||
IN SOCKET s,
|
||||
OUT LPSOCKADDR addr,
|
||||
IN OUT LPINT addrlen,
|
||||
IN LPCONDITIONPROC lpfnCondition,
|
||||
IN DWORD dwCallbackData,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPADDRESSTOSTRING)(
|
||||
IN LPSOCKADDR lpsaAddress,
|
||||
IN DWORD dwAddressLength,
|
||||
IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
|
||||
OUT LPWSTR lpszAddressString,
|
||||
IN OUT LPDWORD lpdwAddressStringLength,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPASYNCSELECT)(
|
||||
IN SOCKET s,
|
||||
IN HWND hWnd,
|
||||
IN UINT wMsg,
|
||||
IN LONG lEvent,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPBIND)(
|
||||
IN SOCKET s,
|
||||
IN CONST LPSOCKADDR name,
|
||||
IN INT namelen,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPCANCELBLOCKINGCALL)(
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPCLEANUP)(
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPCLOSESOCKET)(
|
||||
IN SOCKET s,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPCONNECT)(
|
||||
IN SOCKET s,
|
||||
IN CONST LPSOCKADDR name,
|
||||
IN INT namelen,
|
||||
IN LPWSABUF lpCallerData,
|
||||
OUT LPWSABUF lpCalleeData,
|
||||
IN LPQOS lpSQOS,
|
||||
IN LPQOS lpGQOS,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPDUPLICATESOCKET)(
|
||||
IN SOCKET s,
|
||||
IN DWORD dwProcessId,
|
||||
OUT LPWSAPROTOCOL_INFOW lpProtocolInfo,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPENUMNETWORKEVENTS)(
|
||||
IN SOCKET s,
|
||||
IN WSAEVENT hEventObject,
|
||||
OUT LPWSANETWORKEVENTS lpNetworkEvents,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPEVENTSELECT)(
|
||||
IN SOCKET s,
|
||||
IN WSAEVENT hEventObject,
|
||||
IN LONG lNetworkEvents,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef BOOL (WSPAPI * LPWSPGETOVERLAPPEDRESULT)(
|
||||
IN SOCKET s,
|
||||
IN LPWSAOVERLAPPED lpOverlapped,
|
||||
OUT LPDWORD lpcbTransfer,
|
||||
IN BOOL fWait,
|
||||
OUT LPDWORD lpdwFlags,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPGETPEERNAME)(
|
||||
IN SOCKET s,
|
||||
OUT LPSOCKADDR name,
|
||||
IN OUT LPINT namelen,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef BOOL (WSPAPI * LPWSPGETQOSBYNAME)(
|
||||
IN SOCKET s,
|
||||
IN OUT LPWSABUF lpQOSName,
|
||||
OUT LPQOS lpQOS,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPGETSOCKNAME)(
|
||||
IN SOCKET s,
|
||||
OUT LPSOCKADDR name,
|
||||
IN OUT LPINT namelen,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPGETSOCKOPT)(
|
||||
IN SOCKET s,
|
||||
IN INT level,
|
||||
IN INT optname,
|
||||
OUT CHAR FAR* optval,
|
||||
IN OUT LPINT optlen,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPIOCTL)(
|
||||
IN SOCKET s,
|
||||
IN DWORD dwIoControlCode,
|
||||
IN LPVOID lpvInBuffer,
|
||||
IN DWORD cbInBuffer,
|
||||
OUT LPVOID lpvOutBuffer,
|
||||
IN DWORD cbOutBuffer,
|
||||
OUT LPDWORD lpcbBytesReturned,
|
||||
IN LPWSAOVERLAPPED lpOverlapped,
|
||||
IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
|
||||
IN LPWSATHREADID lpThreadId,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef SOCKET (WSPAPI * LPWSPJOINLEAF)(
|
||||
IN SOCKET s,
|
||||
IN CONST LPSOCKADDR name,
|
||||
IN INT namelen,
|
||||
IN LPWSABUF lpCallerData,
|
||||
OUT LPWSABUF lpCalleeData,
|
||||
IN LPQOS lpSQOS,
|
||||
IN LPQOS lpGQOS,
|
||||
IN DWORD dwFlags,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPLISTEN)(
|
||||
IN SOCKET s,
|
||||
IN INT backlog,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPRECV)(
|
||||
IN SOCKET s,
|
||||
IN OUT LPWSABUF lpBuffers,
|
||||
IN DWORD dwBufferCount,
|
||||
OUT LPDWORD lpNumberOfBytesRecvd,
|
||||
IN OUT LPDWORD lpFlags,
|
||||
IN LPWSAOVERLAPPED lpOverlapped,
|
||||
IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
|
||||
IN LPWSATHREADID lpThreadId,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPRECVDISCONNECT)(
|
||||
IN SOCKET s,
|
||||
OUT LPWSABUF lpInboundDisconnectData,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPRECVFROM)(
|
||||
IN SOCKET s,
|
||||
IN OUT LPWSABUF lpBuffers,
|
||||
IN DWORD dwBufferCount,
|
||||
OUT LPDWORD lpNumberOfBytesRecvd,
|
||||
IN OUT LPDWORD lpFlags,
|
||||
OUT LPSOCKADDR lpFrom,
|
||||
IN OUT LPINT lpFromlen,
|
||||
IN LPWSAOVERLAPPED lpOverlapped,
|
||||
IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
|
||||
IN LPWSATHREADID lpThreadId,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPSELECT)(
|
||||
IN INT nfds,
|
||||
IN OUT LPFD_SET readfds,
|
||||
IN OUT LPFD_SET writefds,
|
||||
IN OUT LPFD_SET exceptfds,
|
||||
IN CONST LPTIMEVAL timeout,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPSEND)(
|
||||
IN SOCKET s,
|
||||
IN LPWSABUF lpBuffers,
|
||||
IN DWORD dwBufferCount,
|
||||
OUT LPDWORD lpNumberOfBytesSent,
|
||||
IN DWORD dwFlags,
|
||||
IN LPWSAOVERLAPPED lpOverlapped,
|
||||
IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
|
||||
IN LPWSATHREADID lpThreadId,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPSENDDISCONNECT)(
|
||||
IN SOCKET s,
|
||||
IN LPWSABUF lpOutboundDisconnectData,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPSENDTO)(
|
||||
IN SOCKET s,
|
||||
IN LPWSABUF lpBuffers,
|
||||
IN DWORD dwBufferCount,
|
||||
OUT LPDWORD lpNumberOfBytesSent,
|
||||
IN DWORD dwFlags,
|
||||
IN CONST LPSOCKADDR lpTo,
|
||||
IN INT iTolen,
|
||||
IN LPWSAOVERLAPPED lpOverlapped,
|
||||
IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
|
||||
IN LPWSATHREADID lpThreadId,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPSETSOCKOPT)(
|
||||
IN SOCKET s,
|
||||
IN INT level,
|
||||
IN INT optname,
|
||||
IN CONST CHAR FAR* optval,
|
||||
IN INT optlen,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPSHUTDOWN)(
|
||||
IN SOCKET s,
|
||||
IN INT how,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef SOCKET (WSPAPI * LPWSPSOCKET)(
|
||||
IN INT af,
|
||||
IN INT type,
|
||||
IN INT protocol,
|
||||
IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
|
||||
IN GROUP g,
|
||||
IN DWORD dwFlags,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWSPSTRINGTOADDRESS)(
|
||||
IN LPWSTR AddressString,
|
||||
IN INT AddressFamily,
|
||||
IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
|
||||
OUT LPSOCKADDR lpAddress,
|
||||
IN OUT LPINT lpAddressLength,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
|
||||
/* Service provider procedure table */
|
||||
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, FAR* LPWSPPROC_TABLE;
|
||||
|
||||
|
||||
/* Prototypes for service provider upcall procedure table */
|
||||
|
||||
typedef BOOL (WSPAPI * LPWPUCLOSEEVENT)(
|
||||
IN WSAEVENT hEvent,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWPUCLOSESOCKETHANDLE)(
|
||||
IN SOCKET s,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWPUCLOSETHREAD)(
|
||||
IN LPWSATHREADID lpThreadId,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef WSAEVENT (WSPAPI * LPWPUCREATEEVENT)(
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef SOCKET (WSPAPI * LPWPUCREATESOCKETHANDLE)(
|
||||
IN DWORD dwCatalogEntryId,
|
||||
IN DWORD dwContext,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef SOCKET (WSPAPI * LPWPUFDISSET)(
|
||||
IN SOCKET s,
|
||||
IN LPFD_SET set);
|
||||
|
||||
typedef INT (WSPAPI * LPWPUGETPROVIDERPATH)(
|
||||
IN LPGUID lpProviderId,
|
||||
OUT LPWSTR lpszProviderDllPath,
|
||||
IN OUT LPINT lpProviderDllPathLen,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef SOCKET (WSPAPI * LPWPUMODIFYIFSHANDLE)(
|
||||
IN DWORD dwCatalogEntryId,
|
||||
IN SOCKET ProposedHandle,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWPUOPENCURRENTTHREAD)(
|
||||
OUT LPWSATHREADID lpThreadId,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef BOOL (WSPAPI * LPWPUPOSTMESSAGE)(
|
||||
IN HWND hWnd,
|
||||
IN UINT Msg,
|
||||
IN WPARAM wParam,
|
||||
IN LPARAM lParam);
|
||||
|
||||
typedef INT (WSPAPI * LPWPUQUERYBLOCKINGCALLBACK)(
|
||||
IN DWORD dwCatalogEntryId,
|
||||
OUT LPBLOCKINGCALLBACK FAR* lplpfnCallback,
|
||||
OUT LPDWORD lpdwContext,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWPUQUERYSOCKETHANDLECONTEXT)(
|
||||
IN SOCKET s,
|
||||
OUT LPDWORD lpContext,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef INT (WSPAPI * LPWPUQUEUEAPC)(
|
||||
IN LPWSATHREADID lpThreadId,
|
||||
IN LPWSAUSERAPC lpfnUserApc,
|
||||
IN DWORD dwContext,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef BOOL (WSPAPI * LPWPURESETEVENT)(
|
||||
IN WSAEVENT hEvent,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef BOOL (WSPAPI * LPWPUSETEVENT)(
|
||||
IN WSAEVENT hEvent,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
|
||||
/* Available only directly from the DLL */
|
||||
|
||||
typedef INT (WSPAPI * LPWPUCOMPLETEOVERLAPPEDREQUEST)(
|
||||
SOCKET s,
|
||||
LPWSAOVERLAPPED lpOverlapped,
|
||||
DWORD dwError,
|
||||
DWORD cbTransferred,
|
||||
LPINT lpErrno);
|
||||
|
||||
|
||||
/* Service Provider upcall table */
|
||||
|
||||
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, FAR* LPWSPUPCALLTABLE;
|
||||
|
||||
|
||||
typedef INT (WSPAPI * LPWSPSTARTUP)(
|
||||
IN WORD wVersionRequested,
|
||||
OUT LPWSPDATA lpWSPData,
|
||||
IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
|
||||
IN WSPUPCALLTABLE UpcallTable,
|
||||
OUT LPWSPPROC_TABLE lpProcTable);
|
||||
|
||||
|
||||
/* Prototypes for service provider namespace procedure table */
|
||||
|
||||
typedef INT (WSPAPI * LPNSPCLEANUP)(
|
||||
IN LPGUID lpProviderId);
|
||||
|
||||
typedef INT (WSPAPI * LPNSPGETSERVICECLASSINFO)(
|
||||
IN LPGUID lpProviderId,
|
||||
IN OUT LPDWORD lpdwBufSize,
|
||||
IN OUT LPWSASERVICECLASSINFOW lpServiceClassInfo);
|
||||
|
||||
typedef INT (WSPAPI * LPNSPINSTALLSERVICECLASS)(
|
||||
IN LPGUID lpProviderId,
|
||||
IN LPWSASERVICECLASSINFOW lpServiceClassInfo);
|
||||
|
||||
typedef INT (WSPAPI * LPNSPLOOKUPSERVICEBEGIN)(
|
||||
IN LPGUID lpProviderId,
|
||||
IN LPWSAQUERYSETW lpqsRestrictions,
|
||||
IN LPWSASERVICECLASSINFOW lpServiceClassInfo,
|
||||
IN DWORD dwControlFlags,
|
||||
OUT LPHANDLE lphLookup);
|
||||
|
||||
typedef INT (WSPAPI * LPNSPLOOKUPSERVICEEND)(
|
||||
IN HANDLE hLookup);
|
||||
|
||||
typedef INT (WSPAPI * LPNSPLOOKUPSERVICENEXT)(
|
||||
IN HANDLE hLookup,
|
||||
IN DWORD dwControlFlags,
|
||||
IN OUT LPDWORD lpdwBufferLength,
|
||||
OUT LPWSAQUERYSET lpqsResults);
|
||||
|
||||
typedef INT (WSPAPI * LPNSPREMOVESERVICECLASS)(
|
||||
IN LPGUID lpProviderId,
|
||||
IN LPGUID lpServiceClassId);
|
||||
|
||||
typedef INT (WSPAPI * LPNSPSETSERVICE)(
|
||||
IN LPGUID lpProviderId,
|
||||
IN LPWSASERVICECLASSINFOW lpServiceClassInfo,
|
||||
IN LPWSAQUERYSETW lpqsRegInfo,
|
||||
IN WSAESETSERVICEOP essOperation,
|
||||
IN DWORD dwControlFlags);
|
||||
|
||||
|
||||
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;
|
||||
} NSP_ROUTINE, *PNSP_ROUTINE, *LPNSP_ROUTINE;
|
||||
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
NSPStartup(
|
||||
IN LPGUID lpProviderId,
|
||||
OUT LPNSP_ROUTINE lpNspRoutines);
|
||||
|
||||
|
||||
/* WinSock 2 DLL function prototypes */
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WPUCompleteOverlappedRequest(
|
||||
IN SOCKET s,
|
||||
IN LPWSAOVERLAPPED lpOverlapped,
|
||||
IN DWORD dwError,
|
||||
IN DWORD cbTransferred,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSPStartup(
|
||||
IN WORD wVersionRequested,
|
||||
OUT LPWSPDATA lpWSPData,
|
||||
IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
|
||||
IN WSPUPCALLTABLE UpcallTable,
|
||||
OUT LPWSPPROC_TABLE lpProcTable);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSCDeinstallProvider(
|
||||
IN LPGUID lpProviderId,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSCEnumProtocols(
|
||||
IN LPINT lpiProtocols,
|
||||
OUT LPWSAPROTOCOL_INFOW lpProtocolBuffer,
|
||||
IN OUT LPDWORD lpdwBufferLength,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSCGetProviderPath(
|
||||
IN LPGUID lpProviderId,
|
||||
OUT LPWSTR lpszProviderDllPath,
|
||||
IN OUT LPINT lpProviderDllPathLen,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSCInstallProvider(
|
||||
IN CONST LPGUID lpProviderId,
|
||||
IN CONST LPWSTR lpszProviderDllPath,
|
||||
IN CONST LPWSAPROTOCOL_INFOW lpProtocolInfoList,
|
||||
IN DWORD dwNumberOfEntries,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSCEnableNSProvider(
|
||||
IN LPGUID lpProviderId,
|
||||
IN BOOL fEnable);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSCInstallNameSpace(
|
||||
IN LPWSTR lpszIdentifier,
|
||||
IN LPWSTR lpszPathName,
|
||||
IN DWORD dwNameSpace,
|
||||
IN DWORD dwVersion,
|
||||
IN LPGUID lpProviderId);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSCUnInstallNameSpace(
|
||||
IN LPGUID lpProviderId);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSCWriteProviderOrder(
|
||||
IN LPDWORD lpwdCatalogEntryId,
|
||||
IN DWORD dwNumberOfEntries);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __WS2SPI_H */
|
||||
|
||||
/* EOF */
|
349
reactos/include/wsahelp.h
Normal file
349
reactos/include/wsahelp.h
Normal file
|
@ -0,0 +1,349 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Winsock 2 DLL
|
||||
* FILE: include/wsahelp.h
|
||||
* PURPOSE: Header file for the WinSock 2 DLL
|
||||
* and WinSock 2 Helper DLLs
|
||||
*/
|
||||
#ifndef __WSAHELP_H
|
||||
#define __WSAHELP_H
|
||||
|
||||
#include <winsock2.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#define WSH_NOTIFY_BIND 0x00000001
|
||||
#define WSH_NOTIFY_LISTEN 0x00000002
|
||||
#define WSH_NOTIFY_CONNECT 0x00000004
|
||||
#define WSH_NOTIFY_ACCEPT 0x00000008
|
||||
#define WSH_NOTIFY_SHUTDOWN_RECEIVE 0x00000010
|
||||
#define WSH_NOTIFY_SHUTDOWN_SEND 0x00000020
|
||||
#define WSH_NOTIFY_SHUTDOWN_ALL 0x00000040
|
||||
#define WSH_NOTIFY_CLOSE 0x00000080
|
||||
#define WSH_NOTIFY_CONNECT_ERROR 0x00000100
|
||||
|
||||
#define SOL_INTERNAL 0xFFFE
|
||||
|
||||
#define SO_CONTEXT 1
|
||||
|
||||
typedef enum _SOCKADDR_ADDRESS_INFO {
|
||||
SockaddrAddressInfoNormal,
|
||||
SockaddrAddressInfoWildcard,
|
||||
SockaddrAddressInfoBroadcast,
|
||||
SockaddrAddressInfoLoopback
|
||||
} SOCKADDR_ADDRESS_INFO, *PSOCKADDR_ADDRESS_INFO;
|
||||
|
||||
typedef enum _SOCKADDR_ENDPOINT_INFO {
|
||||
SockaddrEndpointInfoNormal,
|
||||
SockaddrEndpointInfoWildcard,
|
||||
SockaddrEndpointInfoReserved,
|
||||
} SOCKADDR_ENDPOINT_INFO, *PSOCKADDR_ENDPOINT_INFO;
|
||||
|
||||
|
||||
typedef struct _WINSOCK_MAPPING {
|
||||
DWORD Rows;
|
||||
DWORD Columns;
|
||||
struct {
|
||||
DWORD AddressFamily;
|
||||
DWORD SocketType;
|
||||
DWORD Protocol;
|
||||
} Mapping[1];
|
||||
} WINSOCK_MAPPING, *PWINSOCK_MAPPING;
|
||||
|
||||
|
||||
typedef struct _SOCKADDR_INFO {
|
||||
SOCKADDR_ADDRESS_INFO AddressInfo;
|
||||
SOCKADDR_ENDPOINT_INFO EndpointInfo;
|
||||
} SOCKADDR_INFO, *PSOCKADDR_INFO;
|
||||
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHAddressToString(
|
||||
IN LPSOCKADDR Address,
|
||||
IN INT AddressLength,
|
||||
IN LPWSAPROTOCOL_INFOW ProtocolInfo OPTIONAL,
|
||||
OUT LPWSTR AddressString,
|
||||
IN OUT LPDWORD AddressStringLength);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHEnumProtocols(
|
||||
IN LPINT lpiProtocols OPTIONAL,
|
||||
IN LPWSTR lpTransportKeyName,
|
||||
IN OUT LPVOID lpProtocolBuffer,
|
||||
IN OUT LPDWORD lpdwBufferLength);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHGetBroadcastSockaddr(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
OUT PSOCKADDR Sockaddr,
|
||||
OUT PINT SockaddrLength);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHGetProviderGuid(
|
||||
IN LPWSTR ProviderName,
|
||||
OUT LPGUID ProviderGuid);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHGetSockaddrType(
|
||||
IN PSOCKADDR Sockaddr,
|
||||
IN DWORD SockaddrLength,
|
||||
OUT PSOCKADDR_INFO SockaddrInfo);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHGetSocketInformation(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN INT Level,
|
||||
IN INT OptionName,
|
||||
OUT PCHAR OptionValue,
|
||||
OUT INT OptionLength);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHGetWildcardSockaddr(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
OUT PSOCKADDR Sockaddr,
|
||||
OUT PINT SockaddrLength);
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
WSHGetWinsockMapping(
|
||||
OUT PWINSOCK_MAPPING Mapping,
|
||||
IN DWORD MappingLength);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHGetWSAProtocolInfo(
|
||||
IN LPWSTR ProviderName,
|
||||
OUT LPWSAPROTOCOL_INFOW *ProtocolInfo,
|
||||
OUT LPDWORD ProtocolInfoEntries);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHIoctl(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN DWORD IoControlCode,
|
||||
IN LPVOID InputBuffer,
|
||||
IN DWORD InputBufferLength,
|
||||
IN LPVOID OutputBuffer,
|
||||
IN DWORD OutputBufferLength,
|
||||
OUT LPDWORD NumberOfBytesReturned,
|
||||
IN LPWSAOVERLAPPED Overlapped,
|
||||
IN LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine,
|
||||
OUT LPBOOL NeedsCompletion);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHJoinLeaf(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN PVOID LeafHelperDllSocketContext,
|
||||
IN SOCKET LeafSocketHandle,
|
||||
IN PSOCKADDR Sockaddr,
|
||||
IN DWORD SockaddrLength,
|
||||
IN LPWSABUF CallerData,
|
||||
IN LPWSABUF CalleeData,
|
||||
IN LPQOS SocketQOS,
|
||||
IN LPQOS GroupQOS,
|
||||
IN DWORD Flags);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHNotify(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN DWORD NotifyEvent);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHOpenSocket(
|
||||
IN OUT PINT AddressFamily,
|
||||
IN OUT PINT SocketType,
|
||||
IN OUT PINT Protocol,
|
||||
OUT PUNICODE_STRING TransportDeviceName,
|
||||
OUT PVOID HelperDllSocketContext,
|
||||
OUT PDWORD NotificationEvents);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHOpenSocket2(
|
||||
OUT PINT AddressFamily,
|
||||
IN OUT PINT SocketType,
|
||||
IN OUT PINT Protocol,
|
||||
IN GROUP Group,
|
||||
IN DWORD Flags,
|
||||
OUT PUNICODE_STRING TransportDeviceName,
|
||||
OUT PVOID *HelperDllSocketContext,
|
||||
OUT PDWORD NotificationEvents);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHSetSocketInformation(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN INT Level,
|
||||
IN INT OptionName,
|
||||
IN PCHAR OptionValue,
|
||||
IN INT OptionLength);
|
||||
|
||||
INT
|
||||
WINAPI
|
||||
WSHStringToAddress(
|
||||
IN LPWSTR AddressString,
|
||||
IN DWORD AddressFamily,
|
||||
IN LPWSAPROTOCOL_INFOW ProtocolInfo OPTIONAL,
|
||||
OUT LPSOCKADDR Address,
|
||||
IN OUT LPDWORD AddressStringLength);
|
||||
|
||||
|
||||
|
||||
typedef INT (WINAPI * PWSH_ADDRESS_TO_STRING)(
|
||||
IN LPSOCKADDR Address,
|
||||
IN INT AddressLength,
|
||||
IN LPWSAPROTOCOL_INFOW ProtocolInfo OPTIONAL,
|
||||
OUT LPWSTR AddressString,
|
||||
IN OUT LPDWORD AddressStringLength);
|
||||
|
||||
typedef INT (WINAPI * PWSH_ENUM_PROTOCOLS)(
|
||||
IN LPINT lpiProtocols OPTIONAL,
|
||||
IN LPWSTR lpTransportKeyName,
|
||||
IN OUT LPVOID lpProtocolBuffer,
|
||||
IN OUT LPDWORD lpdwBufferLength);
|
||||
|
||||
typedef INT (WINAPI * PWSH_GET_BROADCAST_SOCKADDR)(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
OUT PSOCKADDR Sockaddr,
|
||||
OUT PINT SockaddrLength);
|
||||
|
||||
typedef INT (WINAPI * PWSH_GET_PROVIDER_GUID)(
|
||||
IN LPWSTR ProviderName,
|
||||
OUT LPGUID ProviderGuid);
|
||||
|
||||
typedef INT (WINAPI * PWSH_GET_SOCKADDR_TYPE)(
|
||||
IN PSOCKADDR Sockaddr,
|
||||
IN DWORD SockaddrLength,
|
||||
OUT PSOCKADDR_INFO SockaddrInfo);
|
||||
|
||||
typedef INT (WINAPI * PWSH_GET_SOCKET_INFORMATION)(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN INT Level,
|
||||
IN INT OptionName,
|
||||
OUT PCHAR OptionValue,
|
||||
OUT INT OptionLength);
|
||||
|
||||
typedef INT (WINAPI * PWSH_GET_WILDCARD_SOCKEADDR)(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
OUT PSOCKADDR Sockaddr,
|
||||
OUT PINT SockaddrLength);
|
||||
|
||||
typedef DWORD (WINAPI * PWSH_GET_WINSOCK_MAPPING)(
|
||||
OUT PWINSOCK_MAPPING Mapping,
|
||||
IN DWORD MappingLength);
|
||||
|
||||
typedef INT (WINAPI * PWSH_GET_WSAPROTOCOL_INFO)(
|
||||
IN LPWSTR ProviderName,
|
||||
OUT LPWSAPROTOCOL_INFOW *ProtocolInfo,
|
||||
OUT LPDWORD ProtocolInfoEntries);
|
||||
|
||||
typedef INT (WINAPI * PWSH_IOCTL)(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN DWORD IoControlCode,
|
||||
IN LPVOID InputBuffer,
|
||||
IN DWORD InputBufferLength,
|
||||
IN LPVOID OutputBuffer,
|
||||
IN DWORD OutputBufferLength,
|
||||
OUT LPDWORD NumberOfBytesReturned,
|
||||
IN LPWSAOVERLAPPED Overlapped,
|
||||
IN LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine,
|
||||
OUT LPBOOL NeedsCompletion);
|
||||
|
||||
typedef INT (WINAPI * PWSH_JOIN_LEAF)(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN PVOID LeafHelperDllSocketContext,
|
||||
IN SOCKET LeafSocketHandle,
|
||||
IN PSOCKADDR Sockaddr,
|
||||
IN DWORD SockaddrLength,
|
||||
IN LPWSABUF CallerData,
|
||||
IN LPWSABUF CalleeData,
|
||||
IN LPQOS SocketQOS,
|
||||
IN LPQOS GroupQOS,
|
||||
IN DWORD Flags);
|
||||
|
||||
typedef INT (WINAPI * PWSH_NOTIFY)(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN DWORD NotifyEvent);
|
||||
|
||||
typedef INT (WINAPI * PWSH_OPEN_SOCKET)(
|
||||
IN OUT PINT AddressFamily,
|
||||
IN OUT PINT SocketType,
|
||||
IN OUT PINT Protocol,
|
||||
OUT PUNICODE_STRING TransportDeviceName,
|
||||
OUT PVOID HelperDllSocketContext,
|
||||
OUT PDWORD NotificationEvents);
|
||||
|
||||
typedef INT (WINAPI * PWSH_OPEN_SOCKET2)(
|
||||
OUT PINT AddressFamily,
|
||||
IN OUT PINT SocketType,
|
||||
IN OUT PINT Protocol,
|
||||
IN GROUP Group,
|
||||
IN DWORD Flags,
|
||||
OUT PUNICODE_STRING TransportDeviceName,
|
||||
OUT PVOID *HelperDllSocketContext,
|
||||
OUT PDWORD NotificationEvents);
|
||||
|
||||
typedef INT (WINAPI * PWSH_SET_SOCKET_INFORMATION)(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN INT Level,
|
||||
IN INT OptionName,
|
||||
IN PCHAR OptionValue,
|
||||
IN INT OptionLength);
|
||||
|
||||
typedef INT (WINAPI * PWSH_STRING_TO_ADDRESS)(
|
||||
IN LPWSTR AddressString,
|
||||
IN DWORD AddressFamily,
|
||||
IN LPWSAPROTOCOL_INFOW ProtocolInfo OPTIONAL,
|
||||
OUT LPSOCKADDR Address,
|
||||
IN OUT LPDWORD AddressStringLength);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __WSAHELP_H */
|
||||
|
||||
/* EOF */
|
Loading…
Reference in a new issue