### ws2spi.h ###

LPNSP_ROUTINE=type
type.LPNSP_ROUTINE=p



LPCNSPV2_ROUTINE=type
type.LPCNSPV2_ROUTINE=p



LPWSATHREADID=type
type.LPWSATHREADID=p

LPWSPPROC_TABLE=type
type.LPWSPPROC_TABLE=p

LPWSPDATA=type
type.LPWSPDATA=p



WSC_PROVIDER_INFO_TYPE=typedef
typedef.WSC_PROVIDER_INFO_TYPE=int



NSPStartup=func
func.NSPStartup.args=2
func.NSPStartup.arg.0=LPGUID,lpProviderId
func.NSPStartup.arg.1=LPNSP_ROUTINE,lpnspRoutines
func.NSPStartup.ret=INT

WPUCloseEvent=func
func.WPUCloseEvent.args=2
func.WPUCloseEvent.arg.0=WSAEVENT,hEvent
func.WPUCloseEvent.arg.1=LPINT,lpErrno
func.WPUCloseEvent.ret=BOOL

WPUCloseSocketHandle=func
func.WPUCloseSocketHandle.args=2
func.WPUCloseSocketHandle.arg.0=SOCKET,s
func.WPUCloseSocketHandle.arg.1=LPINT,lpErrno
func.WPUCloseSocketHandle.ret=int

WPUCloseThread=func
func.WPUCloseThread.args=2
func.WPUCloseThread.arg.0=LPWSATHREADID,lpThreadId
func.WPUCloseThread.arg.1=LPINT,lpErrno
func.WPUCloseThread.ret=int

WPUCompleteOverlappedRequest=func
func.WPUCompleteOverlappedRequest.args=5
func.WPUCompleteOverlappedRequest.arg.0=SOCKET,s
func.WPUCompleteOverlappedRequest.arg.1=LPWSAOVERLAPPED,lpOverlapped
func.WPUCompleteOverlappedRequest.arg.2=DWORD,dwError
func.WPUCompleteOverlappedRequest.arg.3=DWORD,cbTransferred
func.WPUCompleteOverlappedRequest.arg.4=LPINT,lpErrno
func.WPUCompleteOverlappedRequest.ret=int

WPUCreateEvent=func
func.WPUCreateEvent.args=1
func.WPUCreateEvent.arg.0=LPINT,lpErrno
func.WPUCreateEvent.ret=WSAEVENT

WPUCreateSocketHandle=func
func.WPUCreateSocketHandle.args=3
func.WPUCreateSocketHandle.arg.0=DWORD,dwCatalogEntryId
func.WPUCreateSocketHandle.arg.1=DWORD_PTR,dwContext
func.WPUCreateSocketHandle.arg.2=LPINT,lpErrno
func.WPUCreateSocketHandle.ret=SOCKET

WPUFDIsSet=func
func.WPUFDIsSet.args=2
func.WPUFDIsSet.arg.0=SOCKET,s
func.WPUFDIsSet.arg.1=fd_set *,fdset
func.WPUFDIsSet.ret=int

WPUGetProviderPath=func
func.WPUGetProviderPath.args=4
func.WPUGetProviderPath.arg.0=LPGUID,lpProviderId
func.WPUGetProviderPath.arg.1=WCHAR *,lpszProviderDllPath
func.WPUGetProviderPath.arg.2=LPINT,lpProviderDllPathLen
func.WPUGetProviderPath.arg.3=LPINT,lpErrno
func.WPUGetProviderPath.ret=int

WPUModifyIFSHandle=func
func.WPUModifyIFSHandle.args=3
func.WPUModifyIFSHandle.arg.0=DWORD,dwCatalogEntryId
func.WPUModifyIFSHandle.arg.1=SOCKET,ProposedHandle
func.WPUModifyIFSHandle.arg.2=LPINT,lpErrno
func.WPUModifyIFSHandle.ret=SOCKET

WPUOpenCurrentThread=func
func.WPUOpenCurrentThread.args=2
func.WPUOpenCurrentThread.arg.0=LPWSATHREADID,lpThreadId
func.WPUOpenCurrentThread.arg.1=LPINT,lpErrno
func.WPUOpenCurrentThread.ret=int

WPUPostMessage=func
func.WPUPostMessage.args=4
func.WPUPostMessage.arg.0=HWND,hWnd
func.WPUPostMessage.arg.1=UINT,Msg
func.WPUPostMessage.arg.2=WPARAM,wParam
func.WPUPostMessage.arg.3=LPARAM,lParam
func.WPUPostMessage.ret=BOOL

WPUQueryBlockingCallback=func
func.WPUQueryBlockingCallback.args=4
func.WPUQueryBlockingCallback.arg.0=DWORD,dwCatalogEntryId
func.WPUQueryBlockingCallback.arg.1=LPBLOCKINGCALLBACK *,lplpfnCallback
func.WPUQueryBlockingCallback.arg.2=PDWORD_PTR,lpdwContext
func.WPUQueryBlockingCallback.arg.3=LPINT,lpErrno
func.WPUQueryBlockingCallback.ret=int

WPUQuerySocketHandleContext=func
func.WPUQuerySocketHandleContext.args=3
func.WPUQuerySocketHandleContext.arg.0=SOCKET,s
func.WPUQuerySocketHandleContext.arg.1=PDWORD_PTR,lpContext
func.WPUQuerySocketHandleContext.arg.2=LPINT,lpErrno
func.WPUQuerySocketHandleContext.ret=int

WPUQueueApc=func
func.WPUQueueApc.args=4
func.WPUQueueApc.arg.0=LPWSATHREADID,lpThreadId
func.WPUQueueApc.arg.1=LPWSAUSERAPC,lpfnUserApc
func.WPUQueueApc.arg.2=DWORD_PTR,dwContext
func.WPUQueueApc.arg.3=LPINT,lpErrno
func.WPUQueueApc.ret=int

WPUResetEvent=func
func.WPUResetEvent.args=2
func.WPUResetEvent.arg.0=WSAEVENT,hEvent
func.WPUResetEvent.arg.1=LPINT,lpErrno
func.WPUResetEvent.ret=BOOL

WPUSetEvent=func
func.WPUSetEvent.args=2
func.WPUSetEvent.arg.0=WSAEVENT,hEvent
func.WPUSetEvent.arg.1=LPINT,lpErrno
func.WPUSetEvent.ret=BOOL

WSAAdvertiseProvider=func
func.WSAAdvertiseProvider.args=2
func.WSAAdvertiseProvider.arg.0=const GUID *,puuidProviderId
func.WSAAdvertiseProvider.arg.1=const LPCNSPV2_ROUTINE,pNSPv2Routine
func.WSAAdvertiseProvider.ret=INT

WSAProviderCompleteAsyncCall=func
func.WSAProviderCompleteAsyncCall.args=2
func.WSAProviderCompleteAsyncCall.arg.0=HANDLE,hAsyncCall
func.WSAProviderCompleteAsyncCall.arg.1=INT,iRetCode
func.WSAProviderCompleteAsyncCall.ret=INT

WSAUnadvertiseProvider=func
func.WSAUnadvertiseProvider.args=1
func.WSAUnadvertiseProvider.arg.0=const GUID *,puuidProviderId
func.WSAUnadvertiseProvider.ret=INT

WSCDeinstallProvider=func
func.WSCDeinstallProvider.args=2
func.WSCDeinstallProvider.arg.0=LPGUID,lpProviderId
func.WSCDeinstallProvider.arg.1=LPINT,lpErrno
func.WSCDeinstallProvider.ret=int

WSCDeinstallProvider32=func
func.WSCDeinstallProvider32.args=2
func.WSCDeinstallProvider32.arg.0=LPGUID,lpProviderId
func.WSCDeinstallProvider32.arg.1=LPINT,lpErrno
func.WSCDeinstallProvider32.ret=int

WSCEnableNSProvider=func
func.WSCEnableNSProvider.args=2
func.WSCEnableNSProvider.arg.0=LPGUID,lpProviderId
func.WSCEnableNSProvider.arg.1=BOOL,fEnable
func.WSCEnableNSProvider.ret=INT

WSCEnableNSProvider32=func
func.WSCEnableNSProvider32.args=2
func.WSCEnableNSProvider32.arg.0=LPGUID,lpProviderId
func.WSCEnableNSProvider32.arg.1=BOOL,fEnable
func.WSCEnableNSProvider32.ret=INT

WSCEnumNameSpaceProviders32=func
func.WSCEnumNameSpaceProviders32.args=2
func.WSCEnumNameSpaceProviders32.arg.0=LPDWORD,lpdwBufferLength
func.WSCEnumNameSpaceProviders32.arg.1=LPWSANAMESPACE_INFOW,lpnspBuffer
func.WSCEnumNameSpaceProviders32.ret=INT

WSCEnumNameSpaceProvidersEx32=func
func.WSCEnumNameSpaceProvidersEx32.args=2
func.WSCEnumNameSpaceProvidersEx32.arg.0=LPDWORD,lpdwBufferLength
func.WSCEnumNameSpaceProvidersEx32.arg.1=LPWSANAMESPACE_INFOEXW,lpnspBuffer
func.WSCEnumNameSpaceProvidersEx32.ret=INT

WSCEnumProtocols=func
func.WSCEnumProtocols.args=4
func.WSCEnumProtocols.arg.0=LPINT,lpiProtocols
func.WSCEnumProtocols.arg.1=LPWSAPROTOCOL_INFOW,lpProtocolBuffer
func.WSCEnumProtocols.arg.2=LPDWORD,lpdwBufferLength
func.WSCEnumProtocols.arg.3=LPINT,lpErrno
func.WSCEnumProtocols.ret=int

WSCEnumProtocols32=func
func.WSCEnumProtocols32.args=4
func.WSCEnumProtocols32.arg.0=LPINT,lpiProtocols
func.WSCEnumProtocols32.arg.1=LPWSAPROTOCOL_INFOW,lpProtocolBuffer
func.WSCEnumProtocols32.arg.2=LPDWORD,lpdwBufferLength
func.WSCEnumProtocols32.arg.3=LPINT,lpErrno
func.WSCEnumProtocols32.ret=int

WSCGetApplicationCategory=func
func.WSCGetApplicationCategory.args=6
func.WSCGetApplicationCategory.arg.0=LPCWSTR,Path
func.WSCGetApplicationCategory.arg.1=DWORD,PathLength
func.WSCGetApplicationCategory.arg.2=LPCWSTR,Extra
func.WSCGetApplicationCategory.arg.3=DWORD,ExtraLength
func.WSCGetApplicationCategory.arg.4=DWORD *,pPermittedLspCategories
func.WSCGetApplicationCategory.arg.5=LPINT,lpErrno
func.WSCGetApplicationCategory.ret=int

WSCGetProviderInfo=func
func.WSCGetProviderInfo.args=6
func.WSCGetProviderInfo.arg.0=LPGUID,lpProviderId
func.WSCGetProviderInfo.arg.1=WSC_PROVIDER_INFO_TYPE,InfoType
func.WSCGetProviderInfo.arg.2=PBYTE,Info
func.WSCGetProviderInfo.arg.3=size_t *,InfoSize
func.WSCGetProviderInfo.arg.4=DWORD,Flags
func.WSCGetProviderInfo.arg.5=LPINT,lpErrno
func.WSCGetProviderInfo.ret=int

WSCGetProviderInfo32=func
func.WSCGetProviderInfo32.args=6
func.WSCGetProviderInfo32.arg.0=LPGUID,lpProviderId
func.WSCGetProviderInfo32.arg.1=WSC_PROVIDER_INFO_TYPE,InfoType
func.WSCGetProviderInfo32.arg.2=PBYTE,Info
func.WSCGetProviderInfo32.arg.3=size_t *,InfoSize
func.WSCGetProviderInfo32.arg.4=DWORD,Flags
func.WSCGetProviderInfo32.arg.5=LPINT,lpErrno
func.WSCGetProviderInfo32.ret=int

WSCGetProviderPath=func
func.WSCGetProviderPath.args=4
func.WSCGetProviderPath.arg.0=LPGUID,lpProviderId
func.WSCGetProviderPath.arg.1=WCHAR *,lpszProviderDllPath
func.WSCGetProviderPath.arg.2=LPINT,lpProviderDllPathLen
func.WSCGetProviderPath.arg.3=LPINT,lpErrno
func.WSCGetProviderPath.ret=int

WSCGetProviderPath32=func
func.WSCGetProviderPath32.args=4
func.WSCGetProviderPath32.arg.0=LPGUID,lpProviderId
func.WSCGetProviderPath32.arg.1=WCHAR *,lpszProviderDllPath
func.WSCGetProviderPath32.arg.2=LPINT,lpProviderDllPathLen
func.WSCGetProviderPath32.arg.3=LPINT,lpErrno
func.WSCGetProviderPath32.ret=int

WSCInstallNameSpace=func
func.WSCInstallNameSpace.args=5
func.WSCInstallNameSpace.arg.0=LPWSTR,lpszIdentifier
func.WSCInstallNameSpace.arg.1=LPWSTR,lpszPathName
func.WSCInstallNameSpace.arg.2=DWORD,dwNameSpace
func.WSCInstallNameSpace.arg.3=DWORD,dwVersion
func.WSCInstallNameSpace.arg.4=LPGUID,lpProviderId
func.WSCInstallNameSpace.ret=INT

WSCInstallNameSpace32=func
func.WSCInstallNameSpace32.args=5
func.WSCInstallNameSpace32.arg.0=LPWSTR,lpszIdentifier
func.WSCInstallNameSpace32.arg.1=LPWSTR,lpszPathName
func.WSCInstallNameSpace32.arg.2=DWORD,dwNameSpace
func.WSCInstallNameSpace32.arg.3=DWORD,dwVersion
func.WSCInstallNameSpace32.arg.4=LPGUID,lpProviderId
func.WSCInstallNameSpace32.ret=INT

WSCInstallNameSpaceEx=func
func.WSCInstallNameSpaceEx.args=6
func.WSCInstallNameSpaceEx.arg.0=LPWSTR,lpszIdentifier
func.WSCInstallNameSpaceEx.arg.1=LPWSTR,lpszPathName
func.WSCInstallNameSpaceEx.arg.2=DWORD,dwNameSpace
func.WSCInstallNameSpaceEx.arg.3=DWORD,dwVersion
func.WSCInstallNameSpaceEx.arg.4=LPGUID,lpProviderId
func.WSCInstallNameSpaceEx.arg.5=LPBLOB,lpProviderSpecific
func.WSCInstallNameSpaceEx.ret=INT

WSCInstallNameSpaceEx32=func
func.WSCInstallNameSpaceEx32.args=6
func.WSCInstallNameSpaceEx32.arg.0=LPWSTR,lpszIdentifier
func.WSCInstallNameSpaceEx32.arg.1=LPWSTR,lpszPathName
func.WSCInstallNameSpaceEx32.arg.2=DWORD,dwNameSpace
func.WSCInstallNameSpaceEx32.arg.3=DWORD,dwVersion
func.WSCInstallNameSpaceEx32.arg.4=LPGUID,lpProviderId
func.WSCInstallNameSpaceEx32.arg.5=LPBLOB,lpProviderSpecific
func.WSCInstallNameSpaceEx32.ret=INT

WSCInstallProvider=func
func.WSCInstallProvider.args=5
func.WSCInstallProvider.arg.0=LPGUID,lpProviderId
func.WSCInstallProvider.arg.1=const WCHAR *,lpszProviderDllPath
func.WSCInstallProvider.arg.2=const LPWSAPROTOCOL_INFOW,lpProtocolInfoList
func.WSCInstallProvider.arg.3=DWORD,dwNumberOfEntries
func.WSCInstallProvider.arg.4=LPINT,lpErrno
func.WSCInstallProvider.ret=int

WSCInstallProvider64_32=func
func.WSCInstallProvider64_32.args=5
func.WSCInstallProvider64_32.arg.0=LPGUID,lpProviderId
func.WSCInstallProvider64_32.arg.1=const WCHAR *,lpszProviderDllPath
func.WSCInstallProvider64_32.arg.2=const LPWSAPROTOCOL_INFOW,lpProtocolInfoList
func.WSCInstallProvider64_32.arg.3=DWORD,dwNumberOfEntries
func.WSCInstallProvider64_32.arg.4=LPINT,lpErrno
func.WSCInstallProvider64_32.ret=int

WSCInstallProviderAndChains=func
func.WSCInstallProviderAndChains.args=8
func.WSCInstallProviderAndChains.arg.0=LPGUID,lpProviderId
func.WSCInstallProviderAndChains.arg.1=const LPWSTR,lpszProviderDllPath
func.WSCInstallProviderAndChains.arg.2=const LPWSTR,lpszLspName
func.WSCInstallProviderAndChains.arg.3=DWORD,dwServiceFlags
func.WSCInstallProviderAndChains.arg.4=LPWSAPROTOCOL_INFOW,lpProtocolInfoList
func.WSCInstallProviderAndChains.arg.5=DWORD,dwNumberOfEntries
func.WSCInstallProviderAndChains.arg.6=LPDWORD,lpdwCatalogEntryId
func.WSCInstallProviderAndChains.arg.7=LPINT,lpErrno
func.WSCInstallProviderAndChains.ret=int

WSCInstallProviderAndChains64_32=func
func.WSCInstallProviderAndChains64_32.args=9
func.WSCInstallProviderAndChains64_32.arg.0=LPGUID,lpProviderId
func.WSCInstallProviderAndChains64_32.arg.1=const LPWSTR,lpszProviderDllPath
func.WSCInstallProviderAndChains64_32.arg.2=const LPWSTR,lpszProviderDllPath32
func.WSCInstallProviderAndChains64_32.arg.3=const LPWSTR,lpszLspName
func.WSCInstallProviderAndChains64_32.arg.4=DWORD,dwServiceFlags
func.WSCInstallProviderAndChains64_32.arg.5=LPWSAPROTOCOL_INFOW,lpProtocolInfoList
func.WSCInstallProviderAndChains64_32.arg.6=DWORD,dwNumberOfEntries
func.WSCInstallProviderAndChains64_32.arg.7=LPDWORD,lpdwCatalogEntryId
func.WSCInstallProviderAndChains64_32.arg.8=LPINT,lpErrno
func.WSCInstallProviderAndChains64_32.ret=int

WSCInstallQOSTemplate=func
func.WSCInstallQOSTemplate.args=3
func.WSCInstallQOSTemplate.arg.0=const LPGUID,Guid
func.WSCInstallQOSTemplate.arg.1=LPWSABUF,QosName
func.WSCInstallQOSTemplate.arg.2=LPQOS,Qos
func.WSCInstallQOSTemplate.ret=int

WSCRemoveQOSTemplate=func
func.WSCRemoveQOSTemplate.args=2
func.WSCRemoveQOSTemplate.arg.0=const LPGUID,Guid
func.WSCRemoveQOSTemplate.arg.1=LPWSABUF,QosName
func.WSCRemoveQOSTemplate.ret=int

WSCSetApplicationCategory=func
func.WSCSetApplicationCategory.args=7
func.WSCSetApplicationCategory.arg.0=LPCWSTR,Path
func.WSCSetApplicationCategory.arg.1=DWORD,PathLength
func.WSCSetApplicationCategory.arg.2=LPCWSTR,Extra
func.WSCSetApplicationCategory.arg.3=DWORD,ExtraLength
func.WSCSetApplicationCategory.arg.4=DWORD,PermittedLspCategories
func.WSCSetApplicationCategory.arg.5=DWORD *,pPrevPermLspCat
func.WSCSetApplicationCategory.arg.6=LPINT,lpErrno
func.WSCSetApplicationCategory.ret=int

WSCSetProviderInfo=func
func.WSCSetProviderInfo.args=6
func.WSCSetProviderInfo.arg.0=LPGUID,lpProviderId
func.WSCSetProviderInfo.arg.1=WSC_PROVIDER_INFO_TYPE,InfoType
func.WSCSetProviderInfo.arg.2=PBYTE,Info
func.WSCSetProviderInfo.arg.3=size_t,InfoSize
func.WSCSetProviderInfo.arg.4=DWORD,Flags
func.WSCSetProviderInfo.arg.5=LPINT,lpErrno
func.WSCSetProviderInfo.ret=int

WSCSetProviderInfo32=func
func.WSCSetProviderInfo32.args=6
func.WSCSetProviderInfo32.arg.0=LPGUID,lpProviderId
func.WSCSetProviderInfo32.arg.1=WSC_PROVIDER_INFO_TYPE,InfoType
func.WSCSetProviderInfo32.arg.2=PBYTE,Info
func.WSCSetProviderInfo32.arg.3=size_t,InfoSize
func.WSCSetProviderInfo32.arg.4=DWORD,Flags
func.WSCSetProviderInfo32.arg.5=LPINT,lpErrno
func.WSCSetProviderInfo32.ret=int

WSCUnInstallNameSpace=func
func.WSCUnInstallNameSpace.args=1
func.WSCUnInstallNameSpace.arg.0=LPGUID,lpProviderId
func.WSCUnInstallNameSpace.ret=INT

WSCUnInstallNameSpace32=func
func.WSCUnInstallNameSpace32.args=1
func.WSCUnInstallNameSpace32.arg.0=LPGUID,lpProviderId
func.WSCUnInstallNameSpace32.ret=INT

WSCUpdateProvider=func
func.WSCUpdateProvider.args=5
func.WSCUpdateProvider.arg.0=LPGUID,lpProviderId
func.WSCUpdateProvider.arg.1=const WCHAR *,lpszProviderDllPath
func.WSCUpdateProvider.arg.2=const LPWSAPROTOCOL_INFOW,lpProtocolInfoList
func.WSCUpdateProvider.arg.3=DWORD,dwNumberOfEntries
func.WSCUpdateProvider.arg.4=LPINT,lpErrno
func.WSCUpdateProvider.ret=int

WSCUpdateProvider32=func
func.WSCUpdateProvider32.args=5
func.WSCUpdateProvider32.arg.0=LPGUID,lpProviderId
func.WSCUpdateProvider32.arg.1=const WCHAR *,lpszProviderDllPath
func.WSCUpdateProvider32.arg.2=const LPWSAPROTOCOL_INFOW,lpProtocolInfoList
func.WSCUpdateProvider32.arg.3=DWORD,dwNumberOfEntries
func.WSCUpdateProvider32.arg.4=LPINT,lpErrno
func.WSCUpdateProvider32.ret=int

WSPStartup=func
func.WSPStartup.args=5
func.WSPStartup.arg.0=WORD,wVersionRequested
func.WSPStartup.arg.1=LPWSPDATA,lpWSPData
func.WSPStartup.arg.2=LPWSAPROTOCOL_INFOW,lpProtocolInfo
func.WSPStartup.arg.3=WSPUPCALLTABLE,UpcallTable
func.WSPStartup.arg.4=LPWSPPROC_TABLE,lpProcTable
func.WSPStartup.ret=int
