Commit b9cfd6ed authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

ws2_32: Move namespace provider stubs to protocol.c.

parent ec6940cd
...@@ -2112,3 +2112,340 @@ int WINAPI WSANtohs( SOCKET s, WS_u_short netshort, WS_u_short *hostshort ) ...@@ -2112,3 +2112,340 @@ int WINAPI WSANtohs( SOCKET s, WS_u_short netshort, WS_u_short *hostshort )
*hostshort = ntohs( netshort ); *hostshort = ntohs( netshort );
return 0; return 0;
} }
/***********************************************************************
* WSAInstallServiceClassA (ws2_32.@)
*/
int WINAPI WSAInstallServiceClassA( WSASERVICECLASSINFOA *info )
{
FIXME( "Request to install service %s\n", debugstr_a(info->lpszServiceClassName) );
SetLastError( WSAEACCES );
return -1;
}
/***********************************************************************
* WSAInstallServiceClassW (ws2_32.@)
*/
int WINAPI WSAInstallServiceClassW( WSASERVICECLASSINFOW *info )
{
FIXME( "Request to install service %s\n", debugstr_w(info->lpszServiceClassName) );
SetLastError( WSAEACCES );
return -1;
}
/***********************************************************************
* WSARemoveServiceClass (ws2_32.@)
*/
int WINAPI WSARemoveServiceClass( GUID *info )
{
FIXME( "Request to remove service %s\n", debugstr_guid(info) );
SetLastError( WSATYPE_NOT_FOUND );
return -1;
}
/***********************************************************************
* WSAGetServiceClassInfoA (ws2_32.@)
*/
int WINAPI WSAGetServiceClassInfoA( GUID *provider, GUID *service, DWORD *len,
WSASERVICECLASSINFOA *info )
{
FIXME( "(%s %s %p %p) Stub!\n", debugstr_guid(provider), debugstr_guid(service), len, info );
SetLastError( WSA_NOT_ENOUGH_MEMORY );
return -1;
}
/***********************************************************************
* WSAGetServiceClassInfoW (ws2_32.@)
*/
int WINAPI WSAGetServiceClassInfoW( GUID *provider, GUID *service, DWORD *len,
WSASERVICECLASSINFOW *info )
{
FIXME( "(%s %s %p %p) Stub!\n", debugstr_guid(provider), debugstr_guid(service), len, info );
SetLastError( WSA_NOT_ENOUGH_MEMORY );
return -1;
}
/***********************************************************************
* WSAGetServiceClassNameByClassIdA (ws2_32.@)
*/
int WINAPI WSAGetServiceClassNameByClassIdA( GUID *class, char *service, DWORD *len )
{
FIXME( "(%s %p %p) Stub!\n", debugstr_guid(class), service, len );
SetLastError( WSA_NOT_ENOUGH_MEMORY );
return -1;
}
/***********************************************************************
* WSAGetServiceClassNameByClassIdW (ws2_32.@)
*/
int WINAPI WSAGetServiceClassNameByClassIdW( GUID *class, WCHAR *service, DWORD *len )
{
FIXME( "(%s %p %p) Stub!\n", debugstr_guid(class), service, len );
SetLastError( WSA_NOT_ENOUGH_MEMORY );
return -1;
}
/***********************************************************************
* WSALookupServiceBeginA (ws2_32.@)
*/
int WINAPI WSALookupServiceBeginA( WSAQUERYSETA *query, DWORD flags, HANDLE *lookup )
{
FIXME( "(%p 0x%08x %p) Stub!\n", query, flags, lookup );
SetLastError( WSA_NOT_ENOUGH_MEMORY );
return -1;
}
/***********************************************************************
* WSALookupServiceBeginW (ws2_32.@)
*/
int WINAPI WSALookupServiceBeginW( WSAQUERYSETW *query, DWORD flags, HANDLE *lookup )
{
FIXME( "(%p 0x%08x %p) Stub!\n", query, flags, lookup );
SetLastError( WSA_NOT_ENOUGH_MEMORY );
return -1;
}
/***********************************************************************
* WSALookupServiceEnd (ws2_32.@)
*/
int WINAPI WSALookupServiceEnd( HANDLE lookup )
{
FIXME("(%p) Stub!\n", lookup );
return 0;
}
/***********************************************************************
* WSALookupServiceNextA (ws2_32.@)
*/
int WINAPI WSALookupServiceNextA( HANDLE lookup, DWORD flags, DWORD *len, WSAQUERYSETA *results )
{
FIXME( "(%p 0x%08x %p %p) Stub!\n", lookup, flags, len, results );
SetLastError( WSA_E_NO_MORE );
return -1;
}
/***********************************************************************
* WSALookupServiceNextW (ws2_32.@)
*/
int WINAPI WSALookupServiceNextW( HANDLE lookup, DWORD flags, DWORD *len, WSAQUERYSETW *results )
{
FIXME( "(%p 0x%08x %p %p) Stub!\n", lookup, flags, len, results );
SetLastError( WSA_E_NO_MORE );
return -1;
}
/***********************************************************************
* WSASetServiceA (ws2_32.@)
*/
int WINAPI WSASetServiceA( WSAQUERYSETA *query, WSAESETSERVICEOP operation, DWORD flags )
{
FIXME( "(%p 0x%08x 0x%08x) Stub!\n", query, operation, flags );
return 0;
}
/***********************************************************************
* WSASetServiceW (ws2_32.@)
*/
int WINAPI WSASetServiceW( WSAQUERYSETW *query, WSAESETSERVICEOP operation, DWORD flags )
{
FIXME( "(%p 0x%08x 0x%08x) Stub!\n", query, operation, flags );
return 0;
}
/***********************************************************************
* WSAEnumNameSpaceProvidersA (ws2_32.@)
*/
int WINAPI WSAEnumNameSpaceProvidersA( DWORD *len, WSANAMESPACE_INFOA *buffer )
{
FIXME( "(%p %p) Stub!\n", len, buffer );
return 0;
}
/***********************************************************************
* WSAEnumNameSpaceProvidersW (ws2_32.@)
*/
int WINAPI WSAEnumNameSpaceProvidersW( DWORD *len, WSANAMESPACE_INFOW *buffer )
{
FIXME( "(%p %p) Stub!\n", len, buffer );
return 0;
}
/***********************************************************************
* WSAProviderConfigChange (ws2_32.@)
*/
int WINAPI WSAProviderConfigChange( HANDLE *handle, OVERLAPPED *overlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE completion )
{
FIXME( "(%p %p %p) Stub!\n", handle, overlapped, completion );
return -1;
}
/***********************************************************************
* WSANSPIoctl (ws2_32.@)
*/
int WINAPI WSANSPIoctl( HANDLE lookup, DWORD code, void *in_buffer,
DWORD in_size, void *out_buffer, DWORD out_size,
DWORD *ret_size, WSACOMPLETION *completion )
{
FIXME( "(%p, 0x%08x, %p, 0x%08x, %p, 0x%08x, %p, %p) Stub!\n", lookup, code,
in_buffer, in_size, out_buffer, out_size, ret_size, completion );
SetLastError( WSA_NOT_ENOUGH_MEMORY );
return -1;
}
/***********************************************************************
* WSCEnableNSProvider (ws2_32.@)
*/
int WINAPI WSCEnableNSProvider( GUID *provider, BOOL enable )
{
FIXME( "(%s 0x%08x) Stub!\n", debugstr_guid(provider), enable );
return 0;
}
/***********************************************************************
* WSCGetProviderInfo (ws2_32.@)
*/
int WINAPI WSCGetProviderInfo( GUID *provider, WSC_PROVIDER_INFO_TYPE info_type,
BYTE *info, size_t *len, DWORD flags, int *errcode )
{
FIXME( "(%s 0x%08x %p %p 0x%08x %p) Stub!\n",
debugstr_guid(provider), info_type, info, len, flags, errcode );
if (!errcode)
return -1;
if (!provider)
{
*errcode = WSAEFAULT;
return -1;
}
*errcode = WSANO_RECOVERY;
return -1;
}
/***********************************************************************
* WSCGetProviderPath (ws2_32.@)
*/
int WINAPI WSCGetProviderPath( GUID *provider, WCHAR *path, int *len, int *errcode )
{
FIXME( "(%s %p %p %p) Stub!\n", debugstr_guid(provider), path, len, errcode );
if (!provider || !len)
{
if (errcode)
*errcode = WSAEFAULT;
return -1;
}
if (*len <= 0)
{
if (errcode)
*errcode = WSAEINVAL;
return -1;
}
return 0;
}
/***********************************************************************
* WSCInstallNameSpace (ws2_32.@)
*/
int WINAPI WSCInstallNameSpace( WCHAR *identifier, WCHAR *path, DWORD namespace,
DWORD version, GUID *provider )
{
FIXME( "(%s %s 0x%08x 0x%08x %s) Stub!\n", debugstr_w(identifier), debugstr_w(path),
namespace, version, debugstr_guid(provider) );
return 0;
}
/***********************************************************************
* WSCUnInstallNameSpace (ws2_32.@)
*/
int WINAPI WSCUnInstallNameSpace( GUID *provider )
{
FIXME( "(%s) Stub!\n", debugstr_guid(provider) );
return NO_ERROR;
}
/***********************************************************************
* WSCWriteProviderOrder (ws2_32.@)
*/
int WINAPI WSCWriteProviderOrder( DWORD *entry, DWORD number )
{
FIXME( "(%p 0x%08x) Stub!\n", entry, number );
return 0;
}
/***********************************************************************
* WSCInstallProvider (ws2_32.@)
*/
int WINAPI WSCInstallProvider( GUID *provider, const WCHAR *path,
WSAPROTOCOL_INFOW *protocol_info, DWORD count, int *err )
{
FIXME( "(%s, %s, %p, %d, %p): stub !\n", debugstr_guid(provider),
debugstr_w(path), protocol_info, count, err );
*err = 0;
return 0;
}
/***********************************************************************
* WSCDeinstallProvider (ws2_32.@)
*/
int WINAPI WSCDeinstallProvider( GUID *provider, int *err )
{
FIXME( "(%s, %p): stub !\n", debugstr_guid(provider), err );
*err = 0;
return 0;
}
/***********************************************************************
* WSCSetApplicationCategory (ws2_32.@)
*/
int WINAPI WSCSetApplicationCategory( const WCHAR *path, DWORD len, const WCHAR *extra, DWORD extralen,
DWORD lspcat, DWORD *prev_lspcat, int *err )
{
FIXME( "(%s %d %s %d %d %p) Stub!\n", debugstr_w(path), len, debugstr_w(extra),
extralen, lspcat, prev_lspcat );
return 0;
}
/***********************************************************************
* WSCEnumProtocols (ws2_32.@)
*/
int WINAPI WSCEnumProtocols( int *protocols, WSAPROTOCOL_INFOW *info, DWORD *len, int *err )
{
int ret = WSAEnumProtocolsW( protocols, info, len );
if (ret == SOCKET_ERROR) *err = WSAENOBUFS;
return ret;
}
...@@ -6199,33 +6199,6 @@ INT WINAPI WSARecvFrom( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, ...@@ -6199,33 +6199,6 @@ INT WINAPI WSARecvFrom( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount,
lpOverlapped, lpCompletionRoutine, NULL ); lpOverlapped, lpCompletionRoutine, NULL );
} }
/***********************************************************************
* WSCInstallProvider (WS2_32.88)
*/
INT WINAPI WSCInstallProvider( const LPGUID lpProviderId,
LPCWSTR lpszProviderDllPath,
const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
DWORD dwNumberOfEntries,
LPINT lpErrno )
{
FIXME("(%s, %s, %p, %d, %p): stub !\n", debugstr_guid(lpProviderId),
debugstr_w(lpszProviderDllPath), lpProtocolInfoList,
dwNumberOfEntries, lpErrno);
*lpErrno = 0;
return 0;
}
/***********************************************************************
* WSCDeinstallProvider (WS2_32.83)
*/
INT WINAPI WSCDeinstallProvider(LPGUID lpProviderId, LPINT lpErrno)
{
FIXME("(%s, %p): stub !\n", debugstr_guid(lpProviderId), lpErrno);
*lpErrno = 0;
return 0;
}
/*********************************************************************** /***********************************************************************
* WSAAccept (WS2_32.26) * WSAAccept (WS2_32.26)
...@@ -6316,53 +6289,6 @@ int WINAPI WSADuplicateSocketW( SOCKET s, DWORD dwProcessId, LPWSAPROTOCOL_INFOW ...@@ -6316,53 +6289,6 @@ int WINAPI WSADuplicateSocketW( SOCKET s, DWORD dwProcessId, LPWSAPROTOCOL_INFOW
return WS_DuplicateSocket(TRUE, s, dwProcessId, lpProtocolInfo); return WS_DuplicateSocket(TRUE, s, dwProcessId, lpProtocolInfo);
} }
/***********************************************************************
* WSAInstallServiceClassA (WS2_32.48)
*/
int WINAPI WSAInstallServiceClassA(LPWSASERVICECLASSINFOA info)
{
FIXME("Request to install service %s\n",debugstr_a(info->lpszServiceClassName));
SetLastError(WSAEACCES);
return SOCKET_ERROR;
}
/***********************************************************************
* WSAInstallServiceClassW (WS2_32.49)
*/
int WINAPI WSAInstallServiceClassW(LPWSASERVICECLASSINFOW info)
{
FIXME("Request to install service %s\n",debugstr_w(info->lpszServiceClassName));
SetLastError(WSAEACCES);
return SOCKET_ERROR;
}
/***********************************************************************
* WSARemoveServiceClass (WS2_32.70)
*/
int WINAPI WSARemoveServiceClass(LPGUID info)
{
FIXME("Request to remove service %s\n", debugstr_guid(info));
SetLastError(WSATYPE_NOT_FOUND);
return SOCKET_ERROR;
}
/***********************************************************************
* WSAEnumNameSpaceProvidersA (WS2_32.34)
*/
INT WINAPI WSAEnumNameSpaceProvidersA( LPDWORD len, LPWSANAMESPACE_INFOA buffer )
{
FIXME( "(%p %p) Stub!\n", len, buffer );
return 0;
}
/***********************************************************************
* WSAEnumNameSpaceProvidersW (WS2_32.35)
*/
INT WINAPI WSAEnumNameSpaceProvidersW( LPDWORD len, LPWSANAMESPACE_INFOW buffer )
{
FIXME( "(%p %p) Stub!\n", len, buffer );
return 0;
}
/*********************************************************************** /***********************************************************************
* WSAGetQOSByName (WS2_32.41) * WSAGetQOSByName (WS2_32.41)
...@@ -6373,115 +6299,6 @@ BOOL WINAPI WSAGetQOSByName( SOCKET s, LPWSABUF lpQOSName, LPQOS lpQOS ) ...@@ -6373,115 +6299,6 @@ BOOL WINAPI WSAGetQOSByName( SOCKET s, LPWSABUF lpQOSName, LPQOS lpQOS )
return FALSE; return FALSE;
} }
/***********************************************************************
* WSAGetServiceClassInfoA (WS2_32.42)
*/
INT WINAPI WSAGetServiceClassInfoA( LPGUID provider, LPGUID service, LPDWORD len,
LPWSASERVICECLASSINFOA info )
{
FIXME( "(%s %s %p %p) Stub!\n", debugstr_guid(provider), debugstr_guid(service),
len, info );
SetLastError(WSA_NOT_ENOUGH_MEMORY);
return SOCKET_ERROR;
}
/***********************************************************************
* WSAGetServiceClassInfoW (WS2_32.43)
*/
INT WINAPI WSAGetServiceClassInfoW( LPGUID provider, LPGUID service, LPDWORD len,
LPWSASERVICECLASSINFOW info )
{
FIXME( "(%s %s %p %p) Stub!\n", debugstr_guid(provider), debugstr_guid(service),
len, info );
SetLastError(WSA_NOT_ENOUGH_MEMORY);
return SOCKET_ERROR;
}
/***********************************************************************
* WSAGetServiceClassNameByClassIdA (WS2_32.44)
*/
INT WINAPI WSAGetServiceClassNameByClassIdA( LPGUID class, LPSTR service, LPDWORD len )
{
FIXME( "(%s %p %p) Stub!\n", debugstr_guid(class), service, len );
SetLastError(WSA_NOT_ENOUGH_MEMORY);
return SOCKET_ERROR;
}
/***********************************************************************
* WSAGetServiceClassNameByClassIdW (WS2_32.45)
*/
INT WINAPI WSAGetServiceClassNameByClassIdW( LPGUID class, LPWSTR service, LPDWORD len )
{
FIXME( "(%s %p %p) Stub!\n", debugstr_guid(class), service, len );
SetLastError(WSA_NOT_ENOUGH_MEMORY);
return SOCKET_ERROR;
}
/***********************************************************************
* WSALookupServiceBeginA (WS2_32.59)
*/
INT WINAPI WSALookupServiceBeginA( LPWSAQUERYSETA lpqsRestrictions,
DWORD dwControlFlags,
LPHANDLE lphLookup)
{
FIXME("(%p 0x%08x %p) Stub!\n", lpqsRestrictions, dwControlFlags,
lphLookup);
SetLastError(WSA_NOT_ENOUGH_MEMORY);
return SOCKET_ERROR;
}
/***********************************************************************
* WSALookupServiceBeginW (WS2_32.60)
*/
INT WINAPI WSALookupServiceBeginW( LPWSAQUERYSETW lpqsRestrictions,
DWORD dwControlFlags,
LPHANDLE lphLookup)
{
FIXME("(%p 0x%08x %p) Stub!\n", lpqsRestrictions, dwControlFlags,
lphLookup);
SetLastError(WSA_NOT_ENOUGH_MEMORY);
return SOCKET_ERROR;
}
/***********************************************************************
* WSALookupServiceEnd (WS2_32.61)
*/
INT WINAPI WSALookupServiceEnd( HANDLE lookup )
{
FIXME("(%p) Stub!\n", lookup );
return 0;
}
/***********************************************************************
* WSALookupServiceNextA (WS2_32.62)
*/
INT WINAPI WSALookupServiceNextA( HANDLE lookup, DWORD flags, LPDWORD len, LPWSAQUERYSETA results )
{
FIXME( "(%p 0x%08x %p %p) Stub!\n", lookup, flags, len, results );
SetLastError(WSA_E_NO_MORE);
return SOCKET_ERROR;
}
/***********************************************************************
* WSALookupServiceNextW (WS2_32.63)
*/
INT WINAPI WSALookupServiceNextW( HANDLE lookup, DWORD flags, LPDWORD len, LPWSAQUERYSETW results )
{
FIXME( "(%p 0x%08x %p %p) Stub!\n", lookup, flags, len, results );
SetLastError(WSA_E_NO_MORE);
return SOCKET_ERROR;
}
/***********************************************************************
* WSAProviderConfigChange (WS2_32.66)
*/
INT WINAPI WSAProviderConfigChange( LPHANDLE handle, LPWSAOVERLAPPED overlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE completion )
{
FIXME( "(%p %p %p) Stub!\n", handle, overlapped, completion );
return SOCKET_ERROR;
}
/*********************************************************************** /***********************************************************************
* WSARecvDisconnect (WS2_32.68) * WSARecvDisconnect (WS2_32.68)
...@@ -6493,130 +6310,6 @@ INT WINAPI WSARecvDisconnect( SOCKET s, LPWSABUF disconnectdata ) ...@@ -6493,130 +6310,6 @@ INT WINAPI WSARecvDisconnect( SOCKET s, LPWSABUF disconnectdata )
return WS_shutdown( s, SD_RECEIVE ); return WS_shutdown( s, SD_RECEIVE );
} }
/***********************************************************************
* WSASetServiceA (WS2_32.76)
*/
INT WINAPI WSASetServiceA( LPWSAQUERYSETA query, WSAESETSERVICEOP operation, DWORD flags )
{
FIXME( "(%p 0x%08x 0x%08x) Stub!\n", query, operation, flags );
return 0;
}
/***********************************************************************
* WSASetServiceW (WS2_32.77)
*/
INT WINAPI WSASetServiceW( LPWSAQUERYSETW query, WSAESETSERVICEOP operation, DWORD flags )
{
FIXME( "(%p 0x%08x 0x%08x) Stub!\n", query, operation, flags );
return 0;
}
/***********************************************************************
* WSCEnableNSProvider (WS2_32.84)
*/
INT WINAPI WSCEnableNSProvider( LPGUID provider, BOOL enable )
{
FIXME( "(%s 0x%08x) Stub!\n", debugstr_guid(provider), enable );
return 0;
}
/***********************************************************************
* WSCGetProviderInfo
*/
INT WINAPI WSCGetProviderInfo( LPGUID provider, WSC_PROVIDER_INFO_TYPE info_type,
PBYTE info, size_t* len, DWORD flags, LPINT errcode )
{
FIXME( "(%s 0x%08x %p %p 0x%08x %p) Stub!\n",
debugstr_guid(provider), info_type, info, len, flags, errcode );
if (!errcode)
return SOCKET_ERROR;
if (!provider) {
*errcode = WSAEFAULT;
return SOCKET_ERROR;
}
*errcode = WSANO_RECOVERY;
return SOCKET_ERROR;
}
/***********************************************************************
* WSCGetProviderPath (WS2_32.86)
*/
INT WINAPI WSCGetProviderPath( LPGUID provider, LPWSTR path, LPINT len, LPINT errcode )
{
FIXME( "(%s %p %p %p) Stub!\n", debugstr_guid(provider), path, len, errcode );
if (!provider || !len)
{
if (errcode)
*errcode = WSAEFAULT;
return SOCKET_ERROR;
}
if (*len <= 0)
{
if (errcode)
*errcode = WSAEINVAL;
return SOCKET_ERROR;
}
return 0;
}
/***********************************************************************
* WSCInstallNameSpace (WS2_32.87)
*/
INT WINAPI WSCInstallNameSpace( LPWSTR identifier, LPWSTR path, DWORD namespace,
DWORD version, LPGUID provider )
{
FIXME( "(%s %s 0x%08x 0x%08x %s) Stub!\n", debugstr_w(identifier), debugstr_w(path),
namespace, version, debugstr_guid(provider) );
return 0;
}
/***********************************************************************
* WSCUnInstallNameSpace (WS2_32.89)
*/
INT WINAPI WSCUnInstallNameSpace( LPGUID lpProviderId )
{
FIXME("(%s) Stub!\n", debugstr_guid(lpProviderId));
return NO_ERROR;
}
/***********************************************************************
* WSCWriteProviderOrder (WS2_32.91)
*/
INT WINAPI WSCWriteProviderOrder( LPDWORD entry, DWORD number )
{
FIXME("(%p 0x%08x) Stub!\n", entry, number);
return 0;
}
/***********************************************************************
* WSCSetApplicationCategory (WS2_32.@)
*/
INT WINAPI WSCSetApplicationCategory( LPCWSTR path, DWORD len, LPCWSTR extra, DWORD extralen,
DWORD lspcat, DWORD *prev_lspcat, LPINT err )
{
FIXME("(%s %d %s %d %d %p) Stub!\n", debugstr_w(path), len, debugstr_w(extra),
extralen, lspcat, prev_lspcat);
return 0;
}
/***********************************************************************
* WSANSPIoctl (WS2_32.91)
*/
INT WINAPI WSANSPIoctl( HANDLE hLookup, DWORD dwControlCode, LPVOID lpvInBuffer,
DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer,
LPDWORD lpcbBytesReturned, LPWSACOMPLETION lpCompletion )
{
FIXME("(%p, 0x%08x, %p, 0x%08x, %p, 0x%08x, %p, %p) Stub!\n", hLookup, dwControlCode,
lpvInBuffer, cbInBuffer, lpvOutBuffer, cbOutBuffer, lpcbBytesReturned, lpCompletion);
SetLastError(WSA_NOT_ENOUGH_MEMORY);
return SOCKET_ERROR;
}
static BOOL protocol_matches_filter( const int *filter, int protocol ) static BOOL protocol_matches_filter( const int *filter, int protocol )
{ {
...@@ -6730,29 +6423,3 @@ int WINAPI WSAEnumProtocolsW( int *filter, WSAPROTOCOL_INFOW *protocols, DWORD * ...@@ -6730,29 +6423,3 @@ int WINAPI WSAEnumProtocolsW( int *filter, WSAPROTOCOL_INFOW *protocols, DWORD *
} }
return count; return count;
} }
/*****************************************************************************
* WSCEnumProtocols [WS2_32.@]
*
* PARAMS
* protocols [I] Null-terminated array of iProtocol values.
* buffer [O] Buffer of WSAPROTOCOL_INFOW structures.
* len [I/O] Size of buffer on input/output.
* errno [O] Error code.
*
* RETURNS
* Success: number of protocols to be reported on.
* Failure: SOCKET_ERROR. error is in errno.
*
* BUGS
* Doesn't supply info on layered protocols.
*
*/
INT WINAPI WSCEnumProtocols( LPINT protocols, LPWSAPROTOCOL_INFOW buffer, LPDWORD len, LPINT err )
{
INT ret = WSAEnumProtocolsW( protocols, buffer, len );
if (ret == SOCKET_ERROR) *err = WSAENOBUFS;
return ret;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment