mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 17:34:57 +00:00
Work on ioctlsocket and WSAIoctl.
svn path=/trunk/; revision=7869
This commit is contained in:
parent
3360515771
commit
5f474aea89
2 changed files with 59 additions and 38 deletions
|
@ -463,6 +463,20 @@ accept(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
INT
|
||||||
|
EXPORT
|
||||||
|
ioctlsocket(
|
||||||
|
IN SOCKET s,
|
||||||
|
IN LONG cmd,
|
||||||
|
IN OUT ULONG FAR* argp)
|
||||||
|
{
|
||||||
|
return WSAIoctl(s, cmd, argp, sizeof(ULONG), argp, sizeof(ULONG), argp, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
@ -562,6 +576,51 @@ WSAConnect(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
INT
|
||||||
|
EXPORT
|
||||||
|
WSAIoctl(
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
PCATALOG_ENTRY Provider;
|
||||||
|
INT Status;
|
||||||
|
INT Errno;
|
||||||
|
|
||||||
|
if (!WSAINITIALIZED) {
|
||||||
|
WSASetLastError(WSANOTINITIALISED);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) {
|
||||||
|
WSASetLastError(WSAENOTSOCK);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
Status = Provider->ProcTable.lpWSPIoctl(
|
||||||
|
s, dwIoControlCode, lpvInBuffer, cbInBuffer, lpvOutBuffer,
|
||||||
|
cbOutBuffer, lpcbBytesReturned, lpOverlapped, lpCompletionRoutine,
|
||||||
|
NULL /* lpThreadId */, &Errno);
|
||||||
|
|
||||||
|
DereferenceProviderByPointer(Provider);
|
||||||
|
|
||||||
|
if (Status == SOCKET_ERROR) {
|
||||||
|
WSASetLastError(Errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
STDCALL
|
STDCALL
|
||||||
DllMain(HANDLE hInstDll,
|
DllMain(HANDLE hInstDll,
|
||||||
|
|
|
@ -143,22 +143,6 @@ getsockopt(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @unimplemented
|
|
||||||
*/
|
|
||||||
INT
|
|
||||||
EXPORT
|
|
||||||
ioctlsocket(
|
|
||||||
IN SOCKET s,
|
|
||||||
IN LONG cmd,
|
|
||||||
IN OUT ULONG FAR* argp)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
@ -531,28 +515,6 @@ WSAHtons(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @unimplemented
|
|
||||||
*/
|
|
||||||
INT
|
|
||||||
EXPORT
|
|
||||||
WSAIoctl(
|
|
||||||
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)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @unimplemented
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue