mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 19:52:56 +00:00
added some sugar
svn path=/trunk/; revision=6463
This commit is contained in:
parent
2b75113a2b
commit
454e9ef133
1 changed files with 292 additions and 29 deletions
|
@ -8,9 +8,12 @@
|
||||||
* CSH 01/09-2000 Created
|
* CSH 01/09-2000 Created
|
||||||
*/
|
*/
|
||||||
#include <ws2_32.h>
|
#include <ws2_32.h>
|
||||||
|
#include <catalog.h>
|
||||||
|
#include <handle.h>
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
INT
|
INT
|
||||||
EXPORT
|
EXPORT
|
||||||
|
@ -19,14 +22,41 @@ getpeername(
|
||||||
OUT LPSOCKADDR name,
|
OUT LPSOCKADDR name,
|
||||||
IN OUT INT FAR* namelen)
|
IN OUT INT FAR* namelen)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED
|
int Error;
|
||||||
|
INT Errno;
|
||||||
|
PCATALOG_ENTRY Provider;
|
||||||
|
|
||||||
return 0;
|
if (!WSAINITIALIZED)
|
||||||
|
{
|
||||||
|
WSASetLastError(WSANOTINITIALISED);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ReferenceProviderByHandle((HANDLE)s, &Provider))
|
||||||
|
{
|
||||||
|
WSASetLastError(WSAENOTSOCK);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
Error = Provider->ProcTable.lpWSPGetPeerName(s,
|
||||||
|
name,
|
||||||
|
namelen,
|
||||||
|
&Errno);
|
||||||
|
|
||||||
|
DereferenceProviderByPointer(Provider);
|
||||||
|
|
||||||
|
if (Error == SOCKET_ERROR)
|
||||||
|
{
|
||||||
|
WSASetLastError(Errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
INT
|
INT
|
||||||
EXPORT
|
EXPORT
|
||||||
|
@ -35,14 +65,40 @@ getsockname(
|
||||||
OUT LPSOCKADDR name,
|
OUT LPSOCKADDR name,
|
||||||
IN OUT INT FAR* namelen)
|
IN OUT INT FAR* namelen)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED
|
int Error;
|
||||||
|
INT Errno;
|
||||||
|
PCATALOG_ENTRY Provider;
|
||||||
|
|
||||||
return 0;
|
if (!WSAINITIALIZED)
|
||||||
|
{
|
||||||
|
WSASetLastError(WSANOTINITIALISED);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ReferenceProviderByHandle((HANDLE)s, &Provider))
|
||||||
|
{
|
||||||
|
WSASetLastError(WSAENOTSOCK);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
Error = Provider->ProcTable.lpWSPGetSockName(s,
|
||||||
|
name,
|
||||||
|
namelen,
|
||||||
|
&Errno);
|
||||||
|
|
||||||
|
DereferenceProviderByPointer(Provider);
|
||||||
|
|
||||||
|
if (Error == SOCKET_ERROR)
|
||||||
|
{
|
||||||
|
WSASetLastError(Errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
INT
|
INT
|
||||||
EXPORT
|
EXPORT
|
||||||
|
@ -53,9 +109,37 @@ getsockopt(
|
||||||
OUT CHAR FAR* optval,
|
OUT CHAR FAR* optval,
|
||||||
IN OUT INT FAR* optlen)
|
IN OUT INT FAR* optlen)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED
|
PCATALOG_ENTRY Provider;
|
||||||
|
INT Errno;
|
||||||
|
int Error;
|
||||||
|
|
||||||
return 0;
|
if (!WSAINITIALIZED)
|
||||||
|
{
|
||||||
|
WSASetLastError(WSANOTINITIALISED);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ReferenceProviderByHandle((HANDLE)s, &Provider))
|
||||||
|
{
|
||||||
|
WSASetLastError(WSAENOTSOCK);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
Error = Provider->ProcTable.lpWSPGetSockOpt(s,
|
||||||
|
level,
|
||||||
|
optname,
|
||||||
|
optval,
|
||||||
|
optlen,
|
||||||
|
&Errno);
|
||||||
|
|
||||||
|
DereferenceProviderByPointer(Provider);
|
||||||
|
|
||||||
|
if (Error == SOCKET_ERROR)
|
||||||
|
{
|
||||||
|
WSASetLastError(Errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -76,7 +160,7 @@ ioctlsocket(
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
INT
|
INT
|
||||||
EXPORT
|
EXPORT
|
||||||
|
@ -87,14 +171,42 @@ setsockopt(
|
||||||
IN CONST CHAR FAR* optval,
|
IN CONST CHAR FAR* optval,
|
||||||
IN INT optlen)
|
IN INT optlen)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED
|
PCATALOG_ENTRY Provider;
|
||||||
|
INT Errno;
|
||||||
|
int Error;
|
||||||
|
|
||||||
return 0;
|
if (!WSAINITIALIZED)
|
||||||
|
{
|
||||||
|
WSASetLastError(WSANOTINITIALISED);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ReferenceProviderByHandle((HANDLE)s, &Provider))
|
||||||
|
{
|
||||||
|
WSASetLastError(WSAENOTSOCK);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
Error = Provider->ProcTable.lpWSPSetSockOpt(s,
|
||||||
|
level,
|
||||||
|
optname,
|
||||||
|
optval,
|
||||||
|
optlen,
|
||||||
|
&Errno);
|
||||||
|
|
||||||
|
DereferenceProviderByPointer(Provider);
|
||||||
|
|
||||||
|
if (Error == SOCKET_ERROR)
|
||||||
|
{
|
||||||
|
WSASetLastError(Errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
INT
|
INT
|
||||||
EXPORT
|
EXPORT
|
||||||
|
@ -102,14 +214,39 @@ shutdown(
|
||||||
IN SOCKET s,
|
IN SOCKET s,
|
||||||
IN INT how)
|
IN INT how)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED
|
PCATALOG_ENTRY Provider;
|
||||||
|
INT Errno;
|
||||||
|
int Error;
|
||||||
|
|
||||||
return 0;
|
if (!WSAINITIALIZED)
|
||||||
|
{
|
||||||
|
WSASetLastError(WSANOTINITIALISED);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ReferenceProviderByHandle((HANDLE)s, &Provider))
|
||||||
|
{
|
||||||
|
WSASetLastError(WSAENOTSOCK);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
Error = Provider->ProcTable.lpWSPShutdown(s,
|
||||||
|
how,
|
||||||
|
&Errno);
|
||||||
|
|
||||||
|
DereferenceProviderByPointer(Provider);
|
||||||
|
|
||||||
|
if (Error == SOCKET_ERROR)
|
||||||
|
{
|
||||||
|
WSASetLastError(Errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
INT
|
INT
|
||||||
EXPORT
|
EXPORT
|
||||||
|
@ -119,9 +256,36 @@ WSAAsyncSelect(
|
||||||
IN UINT wMsg,
|
IN UINT wMsg,
|
||||||
IN LONG lEvent)
|
IN LONG lEvent)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED
|
PCATALOG_ENTRY Provider;
|
||||||
|
INT Errno;
|
||||||
|
int Error;
|
||||||
|
|
||||||
return 0;
|
if (!WSAINITIALIZED)
|
||||||
|
{
|
||||||
|
WSASetLastError(WSANOTINITIALISED);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ReferenceProviderByHandle((HANDLE)s, &Provider))
|
||||||
|
{
|
||||||
|
WSASetLastError(WSAENOTSOCK);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
Error = Provider->ProcTable.lpWSPAsyncSelect(s,
|
||||||
|
hWnd,
|
||||||
|
wMsg,
|
||||||
|
lEvent,
|
||||||
|
&Errno);
|
||||||
|
|
||||||
|
DereferenceProviderByPointer(Provider);
|
||||||
|
|
||||||
|
if (Error == SOCKET_ERROR)
|
||||||
|
{
|
||||||
|
WSASetLastError(Errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -132,6 +296,35 @@ INT
|
||||||
EXPORT
|
EXPORT
|
||||||
WSACancelBlockingCall(VOID)
|
WSACancelBlockingCall(VOID)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
|
INT Errno;
|
||||||
|
int Error;
|
||||||
|
PCATALOG_ENTRY Provider;
|
||||||
|
|
||||||
|
if (!WSAINITIALIZED)
|
||||||
|
{
|
||||||
|
WSASetLastError(WSANOTINITIALISED);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ReferenceProviderByHandle((HANDLE)s, &Provider))
|
||||||
|
{
|
||||||
|
WSASetLastError(WSAENOTSOCK);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
Error = Provider->ProcTable.lpWSPCancelBlockingCall(&Errno);
|
||||||
|
|
||||||
|
DereferenceProviderByPointer(Provider);
|
||||||
|
|
||||||
|
if (Error == SOCKET_ERROR)
|
||||||
|
{
|
||||||
|
WSASetLastError(Errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
#endif
|
||||||
|
|
||||||
UNIMPLEMENTED
|
UNIMPLEMENTED
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -148,14 +341,31 @@ WSADuplicateSocketA(
|
||||||
IN DWORD dwProcessId,
|
IN DWORD dwProcessId,
|
||||||
OUT LPWSAPROTOCOL_INFOA lpProtocolInfo)
|
OUT LPWSAPROTOCOL_INFOA lpProtocolInfo)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
|
WSAPROTOCOL_INFOA ProtocolInfoU;
|
||||||
|
|
||||||
|
Error = WSADuplicateSocketW(s,
|
||||||
|
dwProcessId,
|
||||||
|
&ProtocolInfoU);
|
||||||
|
|
||||||
|
if (Error == NO_ERROR)
|
||||||
|
{
|
||||||
|
UnicodeToAnsi(lpProtocolInfo, ProtocolInfoU, sizeof(
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
#endif
|
||||||
|
|
||||||
UNIMPLEMENTED
|
UNIMPLEMENTED
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
INT
|
INT
|
||||||
EXPORT
|
EXPORT
|
||||||
|
@ -164,9 +374,34 @@ WSADuplicateSocketW(
|
||||||
IN DWORD dwProcessId,
|
IN DWORD dwProcessId,
|
||||||
OUT LPWSAPROTOCOL_INFOW lpProtocolInfo)
|
OUT LPWSAPROTOCOL_INFOW lpProtocolInfo)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED
|
INT Errno;
|
||||||
|
int Error;
|
||||||
|
PCATALOG_ENTRY Provider;
|
||||||
|
|
||||||
return 0;
|
if (!WSAINITIALIZED)
|
||||||
|
{
|
||||||
|
WSASetLastError(WSANOTINITIALISED);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ReferenceProviderByHandle((HANDLE)s, &Provider))
|
||||||
|
{
|
||||||
|
WSASetLastError(WSAENOTSOCK);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
Error = Provider->ProcTable.lpWSPDuplicateSocket(s,
|
||||||
|
dwProcessId,
|
||||||
|
lpProtocolInfo,
|
||||||
|
&Error);
|
||||||
|
DereferenceProviderByPointer(Provider);
|
||||||
|
|
||||||
|
if (Error == SOCKET_ERROR)
|
||||||
|
{
|
||||||
|
WSASetLastError(Errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -203,7 +438,7 @@ WSAEnumProtocolsW(
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
BOOL
|
BOOL
|
||||||
EXPORT
|
EXPORT
|
||||||
|
@ -214,9 +449,37 @@ WSAGetOverlappedResult(
|
||||||
IN BOOL fWait,
|
IN BOOL fWait,
|
||||||
OUT LPDWORD lpdwFlags)
|
OUT LPDWORD lpdwFlags)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED
|
INT Errno;
|
||||||
|
int Error;
|
||||||
|
BOOL Success;
|
||||||
|
PCATALOG_ENTRY Provider;
|
||||||
|
|
||||||
return 0;
|
if (!WSAINITIALIZED)
|
||||||
|
{
|
||||||
|
WSASetLastError(WSANOTINITIALISED);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ReferenceProviderByHandle((HANDLE)s, &Provider))
|
||||||
|
{
|
||||||
|
WSASetLastError(WSAENOTSOCK);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
Success = Provider->ProcTable.lpWSPGetOverlappedResult(s,
|
||||||
|
lpOverlapped,
|
||||||
|
lpcbTransfer,
|
||||||
|
fWait,
|
||||||
|
lpdwFlags,
|
||||||
|
&Error);
|
||||||
|
DereferenceProviderByPointer(Provider);
|
||||||
|
|
||||||
|
if (Success == FALSE)
|
||||||
|
{
|
||||||
|
WSASetLastError(Errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue