From 546f463b794b5bd66aec7afd085deb10dc94ea75 Mon Sep 17 00:00:00 2001 From: Ged Murphy Date: Mon, 14 Aug 2006 17:26:36 +0000 Subject: [PATCH] [AUDIT] ws2_32 - All exported functions are fully documented on MSDN - All internal functions are clearly written with no signs of reversing - Reformat all code to ReactOS standard svn path=/trunk/; revision=23580 --- reactos/dll/win32/ws2_32/include/catalog.h | 3 +- reactos/dll/win32/ws2_32/include/handle.h | 6 +- reactos/dll/win32/ws2_32/include/ws2_32.h | 11 +- reactos/dll/win32/ws2_32/misc/bsd.c | 20 +- reactos/dll/win32/ws2_32/misc/catalog.c | 524 ++++---- reactos/dll/win32/ws2_32/misc/dllmain.c | 962 ++++++++------- reactos/dll/win32/ws2_32/misc/event.c | 246 ++-- reactos/dll/win32/ws2_32/misc/handle.c | 314 ++--- reactos/dll/win32/ws2_32/misc/ns.c | 1287 +++++++++++--------- reactos/dll/win32/ws2_32/misc/sndrcv.c | 441 ++++--- reactos/dll/win32/ws2_32/misc/stubs.c | 840 ++++++------- reactos/dll/win32/ws2_32/misc/upcall.c | 120 +- 12 files changed, 2527 insertions(+), 2247 deletions(-) diff --git a/reactos/dll/win32/ws2_32/include/catalog.h b/reactos/dll/win32/ws2_32/include/catalog.h index 2876a265d4f..f36513e3a86 100644 --- a/reactos/dll/win32/ws2_32/include/catalog.h +++ b/reactos/dll/win32/ws2_32/include/catalog.h @@ -7,7 +7,8 @@ #ifndef __CATALOG_H #define __CATALOG_H -typedef struct _CATALOG_ENTRY { +typedef struct _CATALOG_ENTRY +{ LIST_ENTRY ListEntry; ULONG ReferenceCount; CRITICAL_SECTION Lock; diff --git a/reactos/dll/win32/ws2_32/include/handle.h b/reactos/dll/win32/ws2_32/include/handle.h index 0e16fb05428..95fb03a9b3b 100644 --- a/reactos/dll/win32/ws2_32/include/handle.h +++ b/reactos/dll/win32/ws2_32/include/handle.h @@ -9,14 +9,16 @@ #include -typedef struct _PROVIDER_HANDLE { +typedef struct _PROVIDER_HANDLE +{ HANDLE Handle; PCATALOG_ENTRY Provider; } PROVIDER_HANDLE, *PPROVIDER_HANDLE; #define HANDLE_BLOCK_ENTRIES ((1024-sizeof(LIST_ENTRY))/sizeof(PROVIDER_HANDLE)) -typedef struct _PROVIDER_HANDLE_BLOCK { +typedef struct _PROVIDER_HANDLE_BLOCK +{ LIST_ENTRY Entry; PROVIDER_HANDLE Handles[HANDLE_BLOCK_ENTRIES]; } PROVIDER_HANDLE_BLOCK, *PPROVIDER_HANDLE_BLOCK; diff --git a/reactos/dll/win32/ws2_32/include/ws2_32.h b/reactos/dll/win32/ws2_32/include/ws2_32.h index 2b66f02668d..c7f8c96d885 100644 --- a/reactos/dll/win32/ws2_32/include/ws2_32.h +++ b/reactos/dll/win32/ws2_32/include/ws2_32.h @@ -34,24 +34,27 @@ extern WSPUPCALLTABLE UpcallTable; #define WS2_INTERNAL_MAX_ALIAS 16 -typedef struct _WINSOCK_GETSERVBYNAME_CACHE { +typedef struct _WINSOCK_GETSERVBYNAME_CACHE +{ UINT Size; SERVENT ServerEntry; PCHAR Aliases[WS2_INTERNAL_MAX_ALIAS]; CHAR Data[1]; } WINSOCK_GETSERVBYNAME_CACHE, *PWINSOCK_GETSERVBYNAME_CACHE; -typedef struct _WINSOCK_GETSERVBYPORT_CACHE { +typedef struct _WINSOCK_GETSERVBYPORT_CACHE +{ UINT Size; SERVENT ServerEntry; PCHAR Aliases[WS2_INTERNAL_MAX_ALIAS]; CHAR Data[1]; } WINSOCK_GETSERVBYPORT_CACHE, *PWINSOCK_GETSERVBYPORT_CACHE; -typedef struct _WINSOCK_THREAD_BLOCK { +typedef struct _WINSOCK_THREAD_BLOCK +{ INT LastErrorValue; /* Error value from last function that failed */ CHAR Intoa[16]; /* Buffer for inet_ntoa() */ - PWINSOCK_GETSERVBYNAME_CACHE + PWINSOCK_GETSERVBYNAME_CACHE Getservbyname; /* Buffer used by getservbyname */ PWINSOCK_GETSERVBYPORT_CACHE Getservbyport; /* Buffer used by getservbyname */ diff --git a/reactos/dll/win32/ws2_32/misc/bsd.c b/reactos/dll/win32/ws2_32/misc/bsd.c index d87cb20391b..2e39c24b5e9 100644 --- a/reactos/dll/win32/ws2_32/misc/bsd.c +++ b/reactos/dll/win32/ws2_32/misc/bsd.c @@ -14,10 +14,9 @@ */ ULONG EXPORT -htonl( - IN ULONG hostlong) +htonl(IN ULONG hostlong) { - return DH2N(hostlong); + return DH2N(hostlong); } @@ -26,10 +25,9 @@ htonl( */ USHORT EXPORT -htons( - IN USHORT hostshort) +htons(IN USHORT hostshort) { - return WH2N(hostshort); + return WH2N(hostshort); } @@ -38,10 +36,9 @@ htons( */ ULONG EXPORT -ntohl( - IN ULONG netlong) +ntohl(IN ULONG netlong) { - return DN2H(netlong); + return DN2H(netlong); } @@ -50,10 +47,9 @@ ntohl( */ USHORT EXPORT -ntohs( - IN USHORT netshort) +ntohs(IN USHORT netshort) { - return WN2H(netshort); + return WN2H(netshort); } /* EOF */ diff --git a/reactos/dll/win32/ws2_32/misc/catalog.c b/reactos/dll/win32/ws2_32/misc/catalog.c index b8d59f9419f..3bda990f748 100644 --- a/reactos/dll/win32/ws2_32/misc/catalog.c +++ b/reactos/dll/win32/ws2_32/misc/catalog.c @@ -14,8 +14,8 @@ LIST_ENTRY CatalogListHead; CRITICAL_SECTION CatalogLock; -VOID ReferenceProviderByPointer( - PCATALOG_ENTRY Provider) +VOID +ReferenceProviderByPointer(PCATALOG_ENTRY Provider) { WS_DbgPrint(MAX_TRACE, ("Provider (0x%X).\n", Provider)); @@ -27,15 +27,16 @@ VOID ReferenceProviderByPointer( } -VOID DereferenceProviderByPointer( - PCATALOG_ENTRY Provider) +VOID +DereferenceProviderByPointer(PCATALOG_ENTRY Provider) { WS_DbgPrint(MAX_TRACE, ("Provider (0x%X).\n", Provider)); #ifdef DBG - if (Provider->ReferenceCount <= 0) { + if (Provider->ReferenceCount <= 0) + { WS_DbgPrint(MIN_TRACE, ("Provider at 0x%X has invalid reference count (%ld).\n", - Provider, Provider->ReferenceCount)); + Provider, Provider->ReferenceCount)); } #endif @@ -43,295 +44,312 @@ VOID DereferenceProviderByPointer( Provider->ReferenceCount--; //LeaveCriticalSection(&Provider->Lock); - if (Provider->ReferenceCount == 0) { + if (Provider->ReferenceCount == 0) + { WS_DbgPrint(MAX_TRACE, ("Provider at 0x%X has reference count 0 (unloading).\n", - Provider)); + Provider)); DestroyCatalogEntry(Provider); } } -PCATALOG_ENTRY CreateCatalogEntry( - LPWSTR LibraryName) +PCATALOG_ENTRY +CreateCatalogEntry(LPWSTR LibraryName) { - PCATALOG_ENTRY Provider; + PCATALOG_ENTRY Provider; - WS_DbgPrint(MAX_TRACE, ("LibraryName (%S).\n", LibraryName)); + WS_DbgPrint(MAX_TRACE, ("LibraryName (%S).\n", LibraryName)); - Provider = HeapAlloc(GlobalHeap, 0, sizeof(CATALOG_ENTRY)); - if (!Provider) { - return NULL; - } + Provider = HeapAlloc(GlobalHeap, 0, sizeof(CATALOG_ENTRY)); + if (!Provider) + return NULL; - ZeroMemory(Provider, sizeof(CATALOG_ENTRY)); + ZeroMemory(Provider, sizeof(CATALOG_ENTRY)); - if (!RtlCreateUnicodeString(&Provider->LibraryName, LibraryName)) { - RtlFreeHeap(GlobalHeap, 0, Provider); - return NULL; - } - - Provider->ReferenceCount = 1; - - InitializeCriticalSection(&Provider->Lock); - Provider->hModule = NULL; - - Provider->Mapping = NULL; - - //EnterCriticalSection(&CatalogLock); - - InsertTailList(&CatalogListHead, &Provider->ListEntry); - - //LeaveCriticalSection(&CatalogLock); - - return Provider; -} - - -INT DestroyCatalogEntry( - PCATALOG_ENTRY Provider) -{ - INT Status; - - WS_DbgPrint(MAX_TRACE, ("Provider (0x%X).\n", Provider)); - - //EnterCriticalSection(&CatalogLock); - RemoveEntryList(&Provider->ListEntry); - //LeaveCriticalSection(&CatalogLock); - - HeapFree(GlobalHeap, 0, Provider->Mapping); - - if (NULL != Provider->hModule) { - Status = UnloadProvider(Provider); - } else { - Status = NO_ERROR; - } - - //DeleteCriticalSection(&Provider->Lock); - - HeapFree(GlobalHeap, 0, Provider); - - return Status; -} - - -PCATALOG_ENTRY LocateProvider( - LPWSAPROTOCOL_INFOW lpProtocolInfo) -{ - PLIST_ENTRY CurrentEntry; - PCATALOG_ENTRY Provider; - UINT i; - - WS_DbgPrint(MAX_TRACE, ("lpProtocolInfo (0x%X).\n", lpProtocolInfo)); - - //EnterCriticalSection(&CatalogLock); - - CurrentEntry = CatalogListHead.Flink; - while (CurrentEntry != &CatalogListHead) { - Provider = CONTAINING_RECORD(CurrentEntry, - CATALOG_ENTRY, - ListEntry); - - for (i = 0; i < Provider->Mapping->Rows; i++) { - if ((lpProtocolInfo->iAddressFamily == (INT) Provider->Mapping->Mapping[i].AddressFamily) && - (lpProtocolInfo->iSocketType == (INT) Provider->Mapping->Mapping[i].SocketType) && - ((lpProtocolInfo->iProtocol == (INT) Provider->Mapping->Mapping[i].Protocol) || - (lpProtocolInfo->iSocketType == SOCK_RAW))) { - //LeaveCriticalSection(&CatalogLock); - WS_DbgPrint(MID_TRACE, ("Returning provider at (0x%X).\n", Provider)); - return Provider; - } + if (!RtlCreateUnicodeString(&Provider->LibraryName, LibraryName)) + { + RtlFreeHeap(GlobalHeap, 0, Provider); + return NULL; } - CurrentEntry = CurrentEntry->Flink; - } - - //LeaveCriticalSection(&CatalogLock); - - return NULL; -} - - -PCATALOG_ENTRY LocateProviderById( - DWORD CatalogEntryId) -{ - PLIST_ENTRY CurrentEntry; - PCATALOG_ENTRY Provider; - - WS_DbgPrint(MAX_TRACE, ("CatalogEntryId (%d).\n", CatalogEntryId)); - - //EnterCriticalSection(&CatalogLock); - CurrentEntry = CatalogListHead.Flink; - while (CurrentEntry != &CatalogListHead) { - Provider = CONTAINING_RECORD(CurrentEntry, - CATALOG_ENTRY, - ListEntry); - - if (Provider->ProtocolInfo.dwCatalogEntryId == CatalogEntryId) { - //LeaveCriticalSection(&CatalogLock); - WS_DbgPrint(MID_TRACE, ("Returning provider at (0x%X) Name (%wZ).\n", - Provider, &Provider->LibraryName)); - return Provider; - } - - CurrentEntry = CurrentEntry->Flink; - } - //LeaveCriticalSection(&CatalogLock); - - WS_DbgPrint(MID_TRACE, ("Provider was not found.\n")); - - return NULL; -} - - -INT LoadProvider( - PCATALOG_ENTRY Provider, - LPWSAPROTOCOL_INFOW lpProtocolInfo) -{ - INT Status; - - WS_DbgPrint(MID_TRACE, ("Loading provider at (0x%X) Name (%wZ).\n", - Provider, &Provider->LibraryName)); - - if (NULL == Provider->hModule) - { - /* DLL is not loaded so load it now - * UNICODE_STRING objects are not null-terminated, but LoadLibraryW - * expects a null-terminated string - */ - Provider->LibraryName.Buffer[Provider->LibraryName.Length / sizeof(WCHAR)] = L'\0'; - Provider->hModule = LoadLibraryW(Provider->LibraryName.Buffer); - if (NULL != Provider->hModule) { - Provider->WSPStartup = (LPWSPSTARTUP)GetProcAddress( - Provider->hModule, - "WSPStartup"); - if (Provider->WSPStartup) { - WS_DbgPrint(MAX_TRACE, ("Calling WSPStartup at (0x%X).\n", - Provider->WSPStartup)); - Status = Provider->WSPStartup( - MAKEWORD(2, 2), - &Provider->WSPData, - lpProtocolInfo, - UpcallTable, - &Provider->ProcTable); - - /* FIXME: Validate the procedure table */ - } else - Status = ERROR_BAD_PROVIDER; - } else - Status = ERROR_DLL_NOT_FOUND; - } else - Status = NO_ERROR; - - WS_DbgPrint(MID_TRACE, ("Status (%d).\n", Status)); - - return Status; -} - - -INT UnloadProvider( - PCATALOG_ENTRY Provider) -{ - INT Status = NO_ERROR; - - WS_DbgPrint(MAX_TRACE, ("Unloading provider at (0x%X)\n", Provider)); - - if (NULL != Provider->hModule) { - WS_DbgPrint(MAX_TRACE, ("Calling WSPCleanup at (0x%X).\n", - Provider->ProcTable.lpWSPCleanup)); - Provider->ProcTable.lpWSPCleanup(&Status); - - WS_DbgPrint(MAX_TRACE, ("Calling FreeLibrary(0x%X).\n", Provider->hModule)); - if (!FreeLibrary(Provider->hModule)) { - WS_DbgPrint(MIN_TRACE, ("Could not free library at (0x%X).\n", Provider->hModule)); - Status = GetLastError(); - } + Provider->ReferenceCount = 1; + InitializeCriticalSection(&Provider->Lock); Provider->hModule = NULL; - } - WS_DbgPrint(MAX_TRACE, ("Status (%d).\n", Status)); + Provider->Mapping = NULL; - return Status; + //EnterCriticalSection(&CatalogLock); + + InsertTailList(&CatalogListHead, &Provider->ListEntry); + + //LeaveCriticalSection(&CatalogLock); + + return Provider; } -VOID CreateCatalog(VOID) +INT +DestroyCatalogEntry(PCATALOG_ENTRY Provider) { - PCATALOG_ENTRY Provider; + INT Status; - InitializeCriticalSection(&CatalogLock); + WS_DbgPrint(MAX_TRACE, ("Provider (0x%X).\n", Provider)); - InitializeListHead(&CatalogListHead); + //EnterCriticalSection(&CatalogLock); + RemoveEntryList(&Provider->ListEntry); + //LeaveCriticalSection(&CatalogLock); + + HeapFree(GlobalHeap, 0, Provider->Mapping); + + if (NULL != Provider->hModule) + { + Status = UnloadProvider(Provider); + } + else + { + Status = NO_ERROR; + } + + //DeleteCriticalSection(&Provider->Lock); + + HeapFree(GlobalHeap, 0, Provider); + + return Status; +} + + +PCATALOG_ENTRY +LocateProvider(LPWSAPROTOCOL_INFOW lpProtocolInfo) +{ + PLIST_ENTRY CurrentEntry; + PCATALOG_ENTRY Provider; + UINT i; + + WS_DbgPrint(MAX_TRACE, ("lpProtocolInfo (0x%X).\n", lpProtocolInfo)); + + //EnterCriticalSection(&CatalogLock); + + CurrentEntry = CatalogListHead.Flink; + while (CurrentEntry != &CatalogListHead) + { + Provider = CONTAINING_RECORD(CurrentEntry, + CATALOG_ENTRY, + ListEntry); + + for (i = 0; i < Provider->Mapping->Rows; i++) + { + if ((lpProtocolInfo->iAddressFamily == (INT) Provider->Mapping->Mapping[i].AddressFamily) && + (lpProtocolInfo->iSocketType == (INT) Provider->Mapping->Mapping[i].SocketType) && + ((lpProtocolInfo->iProtocol == (INT) Provider->Mapping->Mapping[i].Protocol) || + (lpProtocolInfo->iSocketType == SOCK_RAW))) + { + //LeaveCriticalSection(&CatalogLock); + WS_DbgPrint(MID_TRACE, ("Returning provider at (0x%X).\n", Provider)); + return Provider; + } + } + + CurrentEntry = CurrentEntry->Flink; + } + + //LeaveCriticalSection(&CatalogLock); + + return NULL; +} + + +PCATALOG_ENTRY +LocateProviderById(DWORD CatalogEntryId) +{ + PLIST_ENTRY CurrentEntry; + PCATALOG_ENTRY Provider; + + WS_DbgPrint(MAX_TRACE, ("CatalogEntryId (%d).\n", CatalogEntryId)); + + //EnterCriticalSection(&CatalogLock); + CurrentEntry = CatalogListHead.Flink; + while (CurrentEntry != &CatalogListHead) + { + Provider = CONTAINING_RECORD(CurrentEntry, + CATALOG_ENTRY, + ListEntry); + + if (Provider->ProtocolInfo.dwCatalogEntryId == CatalogEntryId) + { + //LeaveCriticalSection(&CatalogLock); + WS_DbgPrint(MID_TRACE, ("Returning provider at (0x%X) Name (%wZ).\n", + Provider, &Provider->LibraryName)); + return Provider; + } + + CurrentEntry = CurrentEntry->Flink; + } + //LeaveCriticalSection(&CatalogLock); + + WS_DbgPrint(MID_TRACE, ("Provider was not found.\n")); + + return NULL; +} + + +INT +LoadProvider(PCATALOG_ENTRY Provider, + LPWSAPROTOCOL_INFOW lpProtocolInfo) +{ + INT Status; + + WS_DbgPrint(MID_TRACE, ("Loading provider at (0x%X) Name (%wZ).\n", + Provider, &Provider->LibraryName)); + + if (NULL == Provider->hModule) + { + /* DLL is not loaded so load it now + * UNICODE_STRING objects are not null-terminated, but LoadLibraryW + * expects a null-terminated string + */ + Provider->LibraryName.Buffer[Provider->LibraryName.Length / sizeof(WCHAR)] = L'\0'; + Provider->hModule = LoadLibraryW(Provider->LibraryName.Buffer); + if (NULL != Provider->hModule) + { + Provider->WSPStartup = (LPWSPSTARTUP)GetProcAddress(Provider->hModule, + "WSPStartup"); + if (Provider->WSPStartup) + { + WS_DbgPrint(MAX_TRACE, ("Calling WSPStartup at (0x%X).\n", + Provider->WSPStartup)); + Status = Provider->WSPStartup(MAKEWORD(2, 2), + &Provider->WSPData, + lpProtocolInfo, + UpcallTable, + &Provider->ProcTable); + + /* FIXME: Validate the procedure table */ + } + else + Status = ERROR_BAD_PROVIDER; + } + else + Status = ERROR_DLL_NOT_FOUND; + } + else + Status = NO_ERROR; + + WS_DbgPrint(MID_TRACE, ("Status (%d).\n", Status)); + + return Status; +} + + +INT +UnloadProvider(PCATALOG_ENTRY Provider) +{ + INT Status = NO_ERROR; + + WS_DbgPrint(MAX_TRACE, ("Unloading provider at (0x%X)\n", Provider)); + + if (NULL != Provider->hModule) + { + WS_DbgPrint(MAX_TRACE, ("Calling WSPCleanup at (0x%X).\n", + Provider->ProcTable.lpWSPCleanup)); + Provider->ProcTable.lpWSPCleanup(&Status); + + WS_DbgPrint(MAX_TRACE, ("Calling FreeLibrary(0x%X).\n", Provider->hModule)); + if (!FreeLibrary(Provider->hModule)) + { + WS_DbgPrint(MIN_TRACE, ("Could not free library at (0x%X).\n", Provider->hModule)); + Status = GetLastError(); + } + + Provider->hModule = NULL; + } + + WS_DbgPrint(MAX_TRACE, ("Status (%d).\n", Status)); + + return Status; +} + + +VOID +CreateCatalog(VOID) +{ + PCATALOG_ENTRY Provider; + + InitializeCriticalSection(&CatalogLock); + + InitializeListHead(&CatalogListHead); + + /* FIXME: Read service provider catalog from registry + + Catalog info is saved somewhere under + HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2 + */ - /* FIXME: Read service provider catalog from registry - - Catalog info is saved somewhere under - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2 - */ - #if 1 Provider = CreateCatalogEntry(L"msafd.dll"); - if (!Provider) { - WS_DbgPrint(MIN_TRACE, ("Could not create catalog entry.\n")); - return; - } - - /* Assume one Service Provider with id 1 */ - Provider->ProtocolInfo.dwCatalogEntryId = 1; + if (!Provider) + { + WS_DbgPrint(MIN_TRACE, ("Could not create catalog entry.\n")); + return; + } - Provider->Mapping = HeapAlloc(GlobalHeap, - 0, - 6 * sizeof(WINSOCK_MAPPING) + 3 * sizeof(DWORD)); - if (!Provider->Mapping) - return; + /* Assume one Service Provider with id 1 */ + Provider->ProtocolInfo.dwCatalogEntryId = 1; - Provider->Mapping->Rows = 6; - Provider->Mapping->Columns = 3; + Provider->Mapping = HeapAlloc(GlobalHeap, + 0, + 6 * sizeof(WINSOCK_MAPPING) + 3 * sizeof(DWORD)); + if (!Provider->Mapping) + return; - Provider->Mapping->Mapping[0].AddressFamily = AF_INET; - Provider->Mapping->Mapping[0].SocketType = SOCK_STREAM; - Provider->Mapping->Mapping[0].Protocol = 0; + Provider->Mapping->Rows = 6; + Provider->Mapping->Columns = 3; - Provider->Mapping->Mapping[1].AddressFamily = AF_INET; - Provider->Mapping->Mapping[1].SocketType = SOCK_STREAM; - Provider->Mapping->Mapping[1].Protocol = IPPROTO_TCP; + Provider->Mapping->Mapping[0].AddressFamily = AF_INET; + Provider->Mapping->Mapping[0].SocketType = SOCK_STREAM; + Provider->Mapping->Mapping[0].Protocol = 0; - Provider->Mapping->Mapping[2].AddressFamily = AF_INET; - Provider->Mapping->Mapping[2].SocketType = SOCK_DGRAM; - Provider->Mapping->Mapping[2].Protocol = 0; + Provider->Mapping->Mapping[1].AddressFamily = AF_INET; + Provider->Mapping->Mapping[1].SocketType = SOCK_STREAM; + Provider->Mapping->Mapping[1].Protocol = IPPROTO_TCP; - Provider->Mapping->Mapping[3].AddressFamily = AF_INET; - Provider->Mapping->Mapping[3].SocketType = SOCK_DGRAM; - Provider->Mapping->Mapping[3].Protocol = IPPROTO_UDP; + Provider->Mapping->Mapping[2].AddressFamily = AF_INET; + Provider->Mapping->Mapping[2].SocketType = SOCK_DGRAM; + Provider->Mapping->Mapping[2].Protocol = 0; - Provider->Mapping->Mapping[4].AddressFamily = AF_INET; - Provider->Mapping->Mapping[4].SocketType = SOCK_RAW; - Provider->Mapping->Mapping[4].Protocol = IPPROTO_ICMP; + Provider->Mapping->Mapping[3].AddressFamily = AF_INET; + Provider->Mapping->Mapping[3].SocketType = SOCK_DGRAM; + Provider->Mapping->Mapping[3].Protocol = IPPROTO_UDP; - Provider->Mapping->Mapping[5].AddressFamily = AF_INET; - Provider->Mapping->Mapping[5].SocketType = SOCK_RAW; - Provider->Mapping->Mapping[5].Protocol = 0; + Provider->Mapping->Mapping[4].AddressFamily = AF_INET; + Provider->Mapping->Mapping[4].SocketType = SOCK_RAW; + Provider->Mapping->Mapping[4].Protocol = IPPROTO_ICMP; + + Provider->Mapping->Mapping[5].AddressFamily = AF_INET; + Provider->Mapping->Mapping[5].SocketType = SOCK_RAW; + Provider->Mapping->Mapping[5].Protocol = 0; #endif } VOID DestroyCatalog(VOID) { - PLIST_ENTRY CurrentEntry; - PLIST_ENTRY NextEntry; - PCATALOG_ENTRY Provider; + PLIST_ENTRY CurrentEntry; + PLIST_ENTRY NextEntry; + PCATALOG_ENTRY Provider; - CurrentEntry = CatalogListHead.Flink; - while (CurrentEntry != &CatalogListHead) { - NextEntry = CurrentEntry->Flink; - Provider = CONTAINING_RECORD(CurrentEntry, - CATALOG_ENTRY, - ListEntry); - DestroyCatalogEntry(Provider); - CurrentEntry = NextEntry; - } - //DeleteCriticalSection(&CatalogLock); + CurrentEntry = CatalogListHead.Flink; + while (CurrentEntry != &CatalogListHead) + { + NextEntry = CurrentEntry->Flink; + Provider = CONTAINING_RECORD(CurrentEntry, + CATALOG_ENTRY, + ListEntry); + DestroyCatalogEntry(Provider); + CurrentEntry = NextEntry; + } + //DeleteCriticalSection(&CatalogLock); } /* EOF */ diff --git a/reactos/dll/win32/ws2_32/misc/dllmain.c b/reactos/dll/win32/ws2_32/misc/dllmain.c index bdf0e4d1891..106218d8253 100644 --- a/reactos/dll/win32/ws2_32/misc/dllmain.c +++ b/reactos/dll/win32/ws2_32/misc/dllmain.c @@ -7,6 +7,7 @@ * REVISIONS: * CSH 01/09-2000 Created */ + #include #include #include @@ -24,11 +25,11 @@ DWORD DebugTraceLevel = 0; #endif /* DBG */ /* To make the linker happy */ -VOID STDCALL KeBugCheck (ULONG BugCheckCode) {} +VOID STDCALL KeBugCheck (ULONG BugCheckCode) {} HANDLE GlobalHeap; -BOOL WsaInitialized = FALSE; /* TRUE if WSAStartup() has been successfully called */ +BOOL WsaInitialized = FALSE; /* TRUE if WSAStartup() has been successfully called */ WSPUPCALLTABLE UpcallTable; @@ -39,15 +40,17 @@ INT EXPORT WSAGetLastError(VOID) { - -PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData; + PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData; - if (p) { - return p->LastErrorValue; - } else { - /* FIXME: What error code should we use here? Can this even happen? */ - return ERROR_BAD_ENVIRONMENT; - } + if (p) + { + return p->LastErrorValue; + } + else + { + /* FIXME: What error code should we use here? Can this even happen? */ + return ERROR_BAD_ENVIRONMENT; + } } @@ -56,13 +59,12 @@ PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData; */ VOID EXPORT -WSASetLastError( - IN INT iError) +WSASetLastError(IN INT iError) { - PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData; + PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData; - if (p) - p->LastErrorValue = iError; + if (p) + p->LastErrorValue = iError; } @@ -71,23 +73,22 @@ WSASetLastError( */ INT EXPORT -WSAStartup( - IN WORD wVersionRequested, - OUT LPWSADATA lpWSAData) +WSAStartup(IN WORD wVersionRequested, + OUT LPWSADATA lpWSAData) { - WS_DbgPrint(MAX_TRACE, ("WSAStartup of ws2_32.dll\n")); + WS_DbgPrint(MAX_TRACE, ("WSAStartup of ws2_32.dll\n")); - lpWSAData->wVersion = wVersionRequested; - lpWSAData->wHighVersion = 2; - lstrcpyA(lpWSAData->szDescription, "WinSock 2.0"); - lstrcpyA(lpWSAData->szSystemStatus, "Running"); - lpWSAData->iMaxSockets = 0; - lpWSAData->iMaxUdpDg = 0; - lpWSAData->lpVendorInfo = NULL; + lpWSAData->wVersion = wVersionRequested; + lpWSAData->wHighVersion = 2; + lstrcpyA(lpWSAData->szDescription, "WinSock 2.0"); + lstrcpyA(lpWSAData->szSystemStatus, "Running"); + lpWSAData->iMaxSockets = 0; + lpWSAData->iMaxUdpDg = 0; + lpWSAData->lpVendorInfo = NULL; - WSASETINITIALIZED; + WSASETINITIALIZED; - return NO_ERROR; + return NO_ERROR; } @@ -98,14 +99,15 @@ INT EXPORT WSACleanup(VOID) { - WS_DbgPrint(MAX_TRACE, ("WSACleanup of ws2_32.dll\n")); + WS_DbgPrint(MAX_TRACE, ("WSACleanup of ws2_32.dll\n")); - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return WSANOTINITIALISED; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return WSANOTINITIALISED; + } - return NO_ERROR; + return NO_ERROR; } @@ -114,12 +116,16 @@ WSACleanup(VOID) */ SOCKET EXPORT -socket( - IN INT af, - IN INT type, - IN INT protocol) +socket(IN INT af, + IN INT type, + IN INT protocol) { - return WSASocketA(af, type, protocol, NULL, 0, 0); + return WSASocketA(af, + type, + protocol, + NULL, + 0, + 0); } @@ -128,44 +134,45 @@ socket( */ SOCKET EXPORT -WSASocketA( - IN INT af, - IN INT type, - IN INT protocol, - IN LPWSAPROTOCOL_INFOA lpProtocolInfo, - IN GROUP g, - IN DWORD dwFlags) +WSASocketA(IN INT af, + IN INT type, + IN INT protocol, + IN LPWSAPROTOCOL_INFOA lpProtocolInfo, + IN GROUP g, + IN DWORD dwFlags) /* * FUNCTION: Creates a new socket */ { - WSAPROTOCOL_INFOW ProtocolInfoW; - LPWSAPROTOCOL_INFOW p; - UNICODE_STRING StringU; - ANSI_STRING StringA; + WSAPROTOCOL_INFOW ProtocolInfoW; + LPWSAPROTOCOL_INFOW p; + UNICODE_STRING StringU; + ANSI_STRING StringA; - WS_DbgPrint(MAX_TRACE, ("af (%d) type (%d) protocol (%d).\n", + WS_DbgPrint(MAX_TRACE, ("af (%d) type (%d) protocol (%d).\n", af, type, protocol)); - if (lpProtocolInfo) { - memcpy(&ProtocolInfoW, - lpProtocolInfo, - sizeof(WSAPROTOCOL_INFOA) - - sizeof(CHAR) * (WSAPROTOCOL_LEN + 1)); - RtlInitAnsiString(&StringA, (LPSTR)lpProtocolInfo->szProtocol); - RtlInitUnicodeString(&StringU, (LPWSTR)&ProtocolInfoW.szProtocol); - RtlAnsiStringToUnicodeString(&StringU, &StringA, FALSE); - p = &ProtocolInfoW; - } else { - p = NULL; - } + if (lpProtocolInfo) + { + memcpy(&ProtocolInfoW, + lpProtocolInfo, + sizeof(WSAPROTOCOL_INFOA) - sizeof(CHAR) * (WSAPROTOCOL_LEN + 1)); + RtlInitAnsiString(&StringA, (LPSTR)lpProtocolInfo->szProtocol); + RtlInitUnicodeString(&StringU, (LPWSTR)&ProtocolInfoW.szProtocol); + RtlAnsiStringToUnicodeString(&StringU, &StringA, FALSE); + p = &ProtocolInfoW; + } + else + { + p = NULL; + } - return WSASocketW(af, - type, - protocol, - p, - g, - dwFlags); + return WSASocketW(af, + type, + protocol, + p, + g, + dwFlags); } @@ -174,13 +181,12 @@ WSASocketA( */ SOCKET EXPORT -WSASocketW( - IN INT af, - IN INT type, - IN INT protocol, - IN LPWSAPROTOCOL_INFOW lpProtocolInfo, - IN GROUP g, - IN DWORD dwFlags) +WSASocketW(IN INT af, + IN INT type, + IN INT protocol, + IN LPWSAPROTOCOL_INFOW lpProtocolInfo, + IN GROUP g, + IN DWORD dwFlags) /* * FUNCTION: Creates a new socket descriptor * ARGUMENTS: @@ -194,72 +200,76 @@ WSASocketW( * Created socket descriptor, or INVALID_SOCKET if it could not be created */ { - INT Status; - SOCKET Socket; - PCATALOG_ENTRY Provider; - WSAPROTOCOL_INFOW ProtocolInfo; + INT Status; + SOCKET Socket; + PCATALOG_ENTRY Provider; + WSAPROTOCOL_INFOW ProtocolInfo; - WS_DbgPrint(MAX_TRACE, ("af (%d) type (%d) protocol (%d).\n", - af, type, protocol)); + WS_DbgPrint(MAX_TRACE, ("af (%d) type (%d) protocol (%d).\n", + af, type, protocol)); - if (!WSAINITIALIZED) { - WS_DbgPrint(MAX_TRACE, ("af (%d) type (%d) protocol (%d) = WSANOTINITIALISED.\n", - af, type, protocol)); - WSASetLastError(WSANOTINITIALISED); - return INVALID_SOCKET; - } + if (!WSAINITIALIZED) + { + WS_DbgPrint(MAX_TRACE, ("af (%d) type (%d) protocol (%d) = WSANOTINITIALISED.\n", + af, type, protocol)); + WSASetLastError(WSANOTINITIALISED); + return INVALID_SOCKET; + } - if (!lpProtocolInfo) { - lpProtocolInfo = &ProtocolInfo; - ZeroMemory(&ProtocolInfo, sizeof(WSAPROTOCOL_INFOW)); + if (!lpProtocolInfo) + { + lpProtocolInfo = &ProtocolInfo; + ZeroMemory(&ProtocolInfo, sizeof(WSAPROTOCOL_INFOW)); - ProtocolInfo.iAddressFamily = af; - ProtocolInfo.iSocketType = type; - ProtocolInfo.iProtocol = protocol; - } + ProtocolInfo.iAddressFamily = af; + ProtocolInfo.iSocketType = type; + ProtocolInfo.iProtocol = protocol; + } - Provider = LocateProvider(lpProtocolInfo); - if (!Provider) { - WS_DbgPrint(MAX_TRACE, ("af (%d) type (%d) protocol (%d) = WSAEAFNOSUPPORT.\n", - af, type, protocol)); - WSASetLastError(WSAEAFNOSUPPORT); - return INVALID_SOCKET; - } + Provider = LocateProvider(lpProtocolInfo); + if (!Provider) + { + WS_DbgPrint(MAX_TRACE, ("af (%d) type (%d) protocol (%d) = WSAEAFNOSUPPORT.\n", + af, type, protocol)); + WSASetLastError(WSAEAFNOSUPPORT); + return INVALID_SOCKET; + } - Status = LoadProvider(Provider, lpProtocolInfo); - if (Status != NO_ERROR) { - WS_DbgPrint(MAX_TRACE, ("af (%d) type (%d) protocol (%d) = %d.\n", - af, type, protocol, Status)); - WSASetLastError(Status); - return INVALID_SOCKET; - } + Status = LoadProvider(Provider, lpProtocolInfo); + if (Status != NO_ERROR) + { + WS_DbgPrint(MAX_TRACE, ("af (%d) type (%d) protocol (%d) = %d.\n", + af, type, protocol, Status)); + WSASetLastError(Status); + return INVALID_SOCKET; + } - WS_DbgPrint(MAX_TRACE, ("Calling WSPSocket at (0x%X).\n", - Provider->ProcTable.lpWSPSocket)); + WS_DbgPrint(MAX_TRACE, ("Calling WSPSocket at (0x%X).\n", + Provider->ProcTable.lpWSPSocket)); - assert(Provider->ProcTable.lpWSPSocket); + assert(Provider->ProcTable.lpWSPSocket); - WS_DbgPrint(MAX_TRACE,("About to call provider socket fn\n")); + WS_DbgPrint(MAX_TRACE,("About to call provider socket fn\n")); - Socket = Provider->ProcTable.lpWSPSocket( - af, - type, - protocol, - lpProtocolInfo, - g, - dwFlags, - &Status); + Socket = Provider->ProcTable.lpWSPSocket(af, + type, + protocol, + lpProtocolInfo, + g, + dwFlags, + &Status); - WS_DbgPrint(MAX_TRACE,("Socket: %x, Status: %x\n", Socket, Status)); + WS_DbgPrint(MAX_TRACE,("Socket: %x, Status: %x\n", Socket, Status)); - if (Status != NO_ERROR) { - WSASetLastError(Status); - return INVALID_SOCKET; - } - - WS_DbgPrint(MAX_TRACE,("Status: %x\n", Status)); + if (Status != NO_ERROR) + { + WSASetLastError(Status); + return INVALID_SOCKET; + } - return Socket; + WS_DbgPrint(MAX_TRACE,("Status: %x\n", Status)); + + return Socket; } @@ -268,8 +278,7 @@ WSASocketW( */ INT EXPORT -closesocket( - IN SOCKET s) +closesocket(IN SOCKET s) /* * FUNCTION: Closes a socket descriptor * ARGUMENTS: @@ -278,40 +287,42 @@ closesocket( * 0, or SOCKET_ERROR if an error ocurred */ { - PCATALOG_ENTRY Provider; - INT Status; - INT Errno; + PCATALOG_ENTRY Provider; + INT Status; + INT Errno; - WS_DbgPrint(MAX_TRACE, ("s (0x%X).\n", s)); + WS_DbgPrint(MAX_TRACE, ("s (0x%X).\n", s)); - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return SOCKET_ERROR; + } - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } - CloseProviderHandle((HANDLE)s); + CloseProviderHandle((HANDLE)s); - WS_DbgPrint(MAX_TRACE,("DereferenceProviderByHandle\n")); + WS_DbgPrint(MAX_TRACE,("DereferenceProviderByHandle\n")); - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - WS_DbgPrint(MAX_TRACE,("DereferenceProviderByHandle Done\n")); + WS_DbgPrint(MAX_TRACE,("DereferenceProviderByHandle Done\n")); - Status = Provider->ProcTable.lpWSPCloseSocket(s, &Errno); + Status = Provider->ProcTable.lpWSPCloseSocket(s, &Errno); - WS_DbgPrint(MAX_TRACE,("Provider Close Done\n")); + WS_DbgPrint(MAX_TRACE,("Provider Close Done\n")); - if (Status == SOCKET_ERROR) - WSASetLastError(Errno); + if (Status == SOCKET_ERROR) + WSASetLastError(Errno); - WS_DbgPrint(MAX_TRACE,("Returning success\n")); + WS_DbgPrint(MAX_TRACE,("Returning success\n")); - return 0; + return 0; } @@ -320,12 +331,11 @@ closesocket( */ INT EXPORT -select( - IN INT nfds, - IN OUT LPFD_SET readfds, - IN OUT LPFD_SET writefds, - IN OUT LPFD_SET exceptfds, - IN CONST struct timeval *timeout) +select(IN INT nfds, + IN OUT LPFD_SET readfds, + IN OUT LPFD_SET writefds, + IN OUT LPFD_SET exceptfds, + IN CONST struct timeval *timeout) /* * FUNCTION: Returns status of one or more sockets * ARGUMENTS: @@ -339,73 +349,97 @@ select( * Number of ready socket descriptors, or SOCKET_ERROR if an error ocurred */ { - PCATALOG_ENTRY Provider = NULL; - INT Count; - INT Errno; + PCATALOG_ENTRY Provider = NULL; + INT Count; + INT Errno; - WS_DbgPrint(MAX_TRACE, ("readfds (0x%X) writefds (0x%X) exceptfds (0x%X).\n", - readfds, writefds, exceptfds)); + WS_DbgPrint(MAX_TRACE, ("readfds (0x%X) writefds (0x%X) exceptfds (0x%X).\n", + readfds, writefds, exceptfds)); - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - WS_DbgPrint(MID_TRACE,("Not initialized\n")); - return SOCKET_ERROR; - } - - /* FIXME: Sockets in FD_SETs should be sorted by their provider */ - - /* FIXME: For now, assume only one service provider */ - if ((readfds != NULL) && (readfds->fd_count > 0)) { - if (!ReferenceProviderByHandle((HANDLE)readfds->fd_array[0], &Provider)) { - WSASetLastError(WSAENOTSOCK); - WS_DbgPrint(MID_TRACE,("No provider (read)\n")); - return SOCKET_ERROR; + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + WS_DbgPrint(MID_TRACE,("Not initialized\n")); + return SOCKET_ERROR; } - } else if ((writefds != NULL) && (writefds->fd_count > 0)) { - if (!ReferenceProviderByHandle((HANDLE)writefds->fd_array[0], &Provider)) { - WSASetLastError(WSAENOTSOCK); - WS_DbgPrint(MID_TRACE,("No provider (write)\n")); - return SOCKET_ERROR; + + /* FIXME: Sockets in FD_SETs should be sorted by their provider */ + + /* FIXME: For now, assume only one service provider */ + if ((readfds != NULL) && (readfds->fd_count > 0)) + { + if (!ReferenceProviderByHandle((HANDLE)readfds->fd_array[0], + &Provider)) + { + WSASetLastError(WSAENOTSOCK); + WS_DbgPrint(MID_TRACE,("No provider (read)\n")); + return SOCKET_ERROR; + } } - } else if ((exceptfds != NULL) && (exceptfds->fd_count > 0)) { - if (!ReferenceProviderByHandle((HANDLE)exceptfds->fd_array[0], &Provider)) { - WSASetLastError(WSAENOTSOCK); - WS_DbgPrint(MID_TRACE,("No provider (err)\n")); - return SOCKET_ERROR; + else if ((writefds != NULL) && (writefds->fd_count > 0)) + { + if (!ReferenceProviderByHandle((HANDLE)writefds->fd_array[0], + &Provider)) + { + WSASetLastError(WSAENOTSOCK); + WS_DbgPrint(MID_TRACE,("No provider (write)\n")); + return SOCKET_ERROR; + } } + else if ((exceptfds != NULL) && (exceptfds->fd_count > 0)) + { + if (!ReferenceProviderByHandle((HANDLE)exceptfds->fd_array[0], &Provider)) + { + WSASetLastError(WSAENOTSOCK); + WS_DbgPrint(MID_TRACE,("No provider (err)\n")); + return SOCKET_ERROR; + } #if 0 /* XXX empty select is not an error */ - } else { - WSASetLastError(WSAEINVAL); - return SOCKET_ERROR; + } + else + { + WSASetLastError(WSAEINVAL); + return SOCKET_ERROR; #endif - } + } - if( !Provider ) { - if( timeout ) { - WS_DbgPrint(MID_TRACE,("Select: used as timer\n")); - Sleep( timeout->tv_sec * 1000 + (timeout->tv_usec / 1000) ); - } - return 0; - } else if (Provider->ProcTable.lpWSPSelect) { - WS_DbgPrint(MID_TRACE,("Calling WSPSelect:%x\n", Provider->ProcTable.lpWSPSelect)); - Count = Provider->ProcTable.lpWSPSelect( - nfds, readfds, writefds, exceptfds, (LPTIMEVAL)timeout, &Errno); - - WS_DbgPrint(MAX_TRACE, ("[%x] Select: Count %d Errno %x\n", - Provider, Count, Errno)); - - DereferenceProviderByPointer(Provider); - - if (Errno != NO_ERROR) { - WSASetLastError(Errno); - return SOCKET_ERROR; - } - } else { - WSASetLastError(WSAEINVAL); - return SOCKET_ERROR; - } + if ( !Provider ) + { + if ( timeout ) + { + WS_DbgPrint(MID_TRACE,("Select: used as timer\n")); + Sleep( timeout->tv_sec * 1000 + (timeout->tv_usec / 1000) ); + } + return 0; + } + else if (Provider->ProcTable.lpWSPSelect) + { + WS_DbgPrint(MID_TRACE,("Calling WSPSelect:%x\n", Provider->ProcTable.lpWSPSelect)); + Count = Provider->ProcTable.lpWSPSelect(nfds, + readfds, + writefds, + exceptfds, + (LPTIMEVAL)timeout, + &Errno); - return Count; + WS_DbgPrint(MAX_TRACE, ("[%x] Select: Count %d Errno %x\n", + Provider, Count, Errno)); + + DereferenceProviderByPointer(Provider); + + if (Errno != NO_ERROR) + { + WSASetLastError(Errno); + return SOCKET_ERROR; + } + } + else + { + WSASetLastError(WSAEINVAL); + return SOCKET_ERROR; + } + + return Count; } @@ -414,38 +448,43 @@ select( */ INT EXPORT -bind( - IN SOCKET s, - IN CONST struct sockaddr *name, - IN INT namelen) +bind(IN SOCKET s, + IN CONST struct sockaddr *name, + IN INT namelen) { - PCATALOG_ENTRY Provider; - INT Status; - INT Errno; + PCATALOG_ENTRY Provider; + INT Status; + INT Errno; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return SOCKET_ERROR; + } - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, + &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } #if (__W32API_MAJOR_VERSION < 2 || __W32API_MINOR_VERSION < 5) - Status = Provider->ProcTable.lpWSPBind( - s, (CONST LPSOCKADDR) name, namelen, &Errno); + Status = Provider->ProcTable.lpWSPBind(s, + (CONST LPSOCKADDR)name, + namelen, + &Errno); #else - Status = Provider->ProcTable.lpWSPBind( - s, name, namelen, &Errno); + Status = Provider->ProcTable.lpWSPBind(s, + name, + namelen, + &Errno); #endif /* __W32API_MAJOR_VERSION < 2 || __W32API_MINOR_VERSION < 5 */ - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Status == SOCKET_ERROR) { - WSASetLastError(Errno); - } + if (Status == SOCKET_ERROR) + WSASetLastError(Errno); return Status; } @@ -456,34 +495,36 @@ bind( */ INT EXPORT -listen( - IN SOCKET s, - IN INT backlog) +listen(IN SOCKET s, + IN INT backlog) { - PCATALOG_ENTRY Provider; - INT Status; - INT Errno; + PCATALOG_ENTRY Provider; + INT Status; + INT Errno; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return SOCKET_ERROR; + } - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, + &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } - Status = Provider->ProcTable.lpWSPListen( - s, backlog, &Errno); + Status = Provider->ProcTable.lpWSPListen(s, + backlog, + &Errno); - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Status == SOCKET_ERROR) { - WSASetLastError(Errno); - } + if (Status == SOCKET_ERROR) + WSASetLastError(Errno); - return Status; + return Status; } @@ -492,12 +533,15 @@ listen( */ SOCKET EXPORT -accept( - IN SOCKET s, - OUT LPSOCKADDR addr, - OUT INT FAR* addrlen) +accept(IN SOCKET s, + OUT LPSOCKADDR addr, + OUT INT FAR* addrlen) { - return WSAAccept(s, addr, addrlen, NULL, 0); + return WSAAccept(s, + addr, + addrlen, + NULL, + 0); } @@ -506,12 +550,19 @@ accept( */ INT EXPORT -ioctlsocket( - IN SOCKET s, - IN LONG cmd, - IN OUT ULONG FAR* argp) +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); + return WSAIoctl(s, + cmd, + argp, + sizeof(ULONG), + argp, + sizeof(ULONG), + argp, + 0, + 0); } @@ -520,53 +571,58 @@ ioctlsocket( */ SOCKET EXPORT -WSAAccept( - IN SOCKET s, - OUT LPSOCKADDR addr, - IN OUT LPINT addrlen, - IN LPCONDITIONPROC lpfnCondition, - IN DWORD dwCallbackData) +WSAAccept(IN SOCKET s, + OUT LPSOCKADDR addr, + IN OUT LPINT addrlen, + IN LPCONDITIONPROC lpfnCondition, + IN DWORD dwCallbackData) { - PCATALOG_ENTRY Provider; - SOCKET Socket; - INT Errno; + PCATALOG_ENTRY Provider; + SOCKET Socket; + INT Errno; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return SOCKET_ERROR; + } - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } - WS_DbgPrint(MAX_TRACE,("Calling provider accept\n")); + WS_DbgPrint(MAX_TRACE,("Calling provider accept\n")); - Socket = Provider->ProcTable.lpWSPAccept( - s, addr, addrlen, lpfnCondition, dwCallbackData, &Errno); + Socket = Provider->ProcTable.lpWSPAccept(s, + addr, + addrlen, + lpfnCondition, + dwCallbackData, + &Errno); - WS_DbgPrint(MAX_TRACE,("Calling provider accept -> Socket %x, Errno %x\n", - Socket, Errno)); + WS_DbgPrint(MAX_TRACE,("Calling provider accept -> Socket %x, Errno %x\n", + Socket, Errno)); - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Socket == INVALID_SOCKET) { - WSASetLastError(Errno); - } + if (Socket == INVALID_SOCKET) + WSASetLastError(Errno); - if( addr ) { + if ( addr ) + { #ifdef DBG - LPSOCKADDR_IN sa = (LPSOCKADDR_IN)addr; - WS_DbgPrint(MAX_TRACE,("Returned address: %d %s:%d (len %d)\n", - sa->sin_family, - inet_ntoa(sa->sin_addr), - ntohs(sa->sin_port), - *addrlen)); + LPSOCKADDR_IN sa = (LPSOCKADDR_IN)addr; + WS_DbgPrint(MAX_TRACE,("Returned address: %d %s:%d (len %d)\n", + sa->sin_family, + inet_ntoa(sa->sin_addr), + ntohs(sa->sin_port), + *addrlen)); #endif - } + } - return Socket; + return Socket; } @@ -575,12 +631,17 @@ WSAAccept( */ INT EXPORT -connect( - IN SOCKET s, - IN CONST struct sockaddr *name, - IN INT namelen) +connect(IN SOCKET s, + IN CONST struct sockaddr *name, + IN INT namelen) { - return WSAConnect(s, name, namelen, NULL, NULL, NULL, NULL); + return WSAConnect(s, + name, + namelen, + NULL, + NULL, + NULL, + NULL); } @@ -589,44 +650,56 @@ connect( */ INT EXPORT -WSAConnect( - IN SOCKET s, - IN CONST struct sockaddr *name, - IN INT namelen, - IN LPWSABUF lpCallerData, - OUT LPWSABUF lpCalleeData, - IN LPQOS lpSQOS, - IN LPQOS lpGQOS) +WSAConnect(IN SOCKET s, + IN CONST struct sockaddr *name, + IN INT namelen, + IN LPWSABUF lpCallerData, + OUT LPWSABUF lpCalleeData, + IN LPQOS lpSQOS, + IN LPQOS lpGQOS) { - PCATALOG_ENTRY Provider; - INT Status; - INT Errno; + PCATALOG_ENTRY Provider; + INT Status; + INT Errno; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return SOCKET_ERROR; + } - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } #if (__W32API_MAJOR_VERSION < 2 || __W32API_MINOR_VERSION < 5) - Status = Provider->ProcTable.lpWSPConnect( - s, (CONST LPSOCKADDR) name, namelen, lpCallerData, lpCalleeData, lpSQOS, lpGQOS, &Errno); + Status = Provider->ProcTable.lpWSPConnect(s, + (CONST LPSOCKADDR)name, + namelen, + lpCallerData, + lpCalleeData, + lpSQOS, + lpGQOS, + &Errno); #else - Status = Provider->ProcTable.lpWSPConnect( - s, name, namelen, lpCallerData, lpCalleeData, lpSQOS, lpGQOS, &Errno); + Status = Provider->ProcTable.lpWSPConnect(s, + name, + namelen, + lpCallerData, + lpCalleeData, + lpSQOS, + lpGQOS, + &Errno); #endif - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Status == SOCKET_ERROR) { - WSASetLastError(Errno); - } + if (Status == SOCKET_ERROR) + WSASetLastError(Errno); - return Status; + return Status; } @@ -635,43 +708,50 @@ WSAConnect( */ 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) +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; + PCATALOG_ENTRY Provider; + INT Status; + INT Errno; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return SOCKET_ERROR; + } - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - 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); + Status = Provider->ProcTable.lpWSPIoctl(s, + dwIoControlCode, + lpvInBuffer, + cbInBuffer, + lpvOutBuffer, + cbOutBuffer, + lpcbBytesReturned, + lpOverlapped, + lpCompletionRoutine, + NULL /* lpThreadId */, + &Errno); - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Status == SOCKET_ERROR) { - WSASetLastError(Errno); - } + if (Status == SOCKET_ERROR) + WSASetLastError(Errno); - return Status; + return Status; } /* @@ -683,20 +763,20 @@ __WSAFDIsSet(SOCKET s, LPFD_SET set) { unsigned int i; - for( i = 0; i < set->fd_count; i++ ) - if( set->fd_array[i] == s ) return TRUE; + for ( i = 0; i < set->fd_count; i++ ) + if ( set->fd_array[i] == s ) return TRUE; return FALSE; } -void free_winsock_thread_block(PWINSOCK_THREAD_BLOCK p) { - if(p) { - if(p->Hostent) { free_hostent(p->Hostent); p->Hostent = 0; } - if(p->Getservbyname){} - if(p->Getservbyport) {} - - - } +void free_winsock_thread_block(PWINSOCK_THREAD_BLOCK p) +{ + if (p) + { + if (p->Hostent) { free_hostent(p->Hostent); p->Hostent = 0; } + if (p->Getservbyname){} + if (p->Getservbyport) {} + } } BOOL @@ -705,75 +785,83 @@ DllMain(HANDLE hInstDll, ULONG dwReason, LPVOID lpReserved) { - PWINSOCK_THREAD_BLOCK p; + PWINSOCK_THREAD_BLOCK p; - WS_DbgPrint(MAX_TRACE, ("DllMain of ws2_32.dll.\n")); + WS_DbgPrint(MAX_TRACE, ("DllMain of ws2_32.dll.\n")); - switch (dwReason) { - case DLL_PROCESS_ATTACH: - GlobalHeap = GetProcessHeap(); + switch (dwReason) + { + case DLL_PROCESS_ATTACH: + { + GlobalHeap = GetProcessHeap(); - CreateCatalog(); + CreateCatalog(); - InitProviderHandleTable(); + InitProviderHandleTable(); - UpcallTable.lpWPUCloseEvent = WPUCloseEvent; - UpcallTable.lpWPUCloseSocketHandle = WPUCloseSocketHandle; - UpcallTable.lpWPUCreateEvent = WPUCreateEvent; - UpcallTable.lpWPUCreateSocketHandle = WPUCreateSocketHandle; - UpcallTable.lpWPUFDIsSet = WPUFDIsSet; - UpcallTable.lpWPUGetProviderPath = WPUGetProviderPath; - UpcallTable.lpWPUModifyIFSHandle = WPUModifyIFSHandle; - UpcallTable.lpWPUPostMessage = PostMessageW; - UpcallTable.lpWPUQueryBlockingCallback = WPUQueryBlockingCallback; - UpcallTable.lpWPUQuerySocketHandleContext = WPUQuerySocketHandleContext; - UpcallTable.lpWPUQueueApc = WPUQueueApc; - UpcallTable.lpWPUResetEvent = WPUResetEvent; - UpcallTable.lpWPUSetEvent = WPUSetEvent; - UpcallTable.lpWPUOpenCurrentThread = WPUOpenCurrentThread; - UpcallTable.lpWPUCloseThread = WPUCloseThread; + UpcallTable.lpWPUCloseEvent = WPUCloseEvent; + UpcallTable.lpWPUCloseSocketHandle = WPUCloseSocketHandle; + UpcallTable.lpWPUCreateEvent = WPUCreateEvent; + UpcallTable.lpWPUCreateSocketHandle = WPUCreateSocketHandle; + UpcallTable.lpWPUFDIsSet = WPUFDIsSet; + UpcallTable.lpWPUGetProviderPath = WPUGetProviderPath; + UpcallTable.lpWPUModifyIFSHandle = WPUModifyIFSHandle; + UpcallTable.lpWPUPostMessage = PostMessageW; + UpcallTable.lpWPUQueryBlockingCallback = WPUQueryBlockingCallback; + UpcallTable.lpWPUQuerySocketHandleContext = WPUQuerySocketHandleContext; + UpcallTable.lpWPUQueueApc = WPUQueueApc; + UpcallTable.lpWPUResetEvent = WPUResetEvent; + UpcallTable.lpWPUSetEvent = WPUSetEvent; + UpcallTable.lpWPUOpenCurrentThread = WPUOpenCurrentThread; + UpcallTable.lpWPUCloseThread = WPUCloseThread; - /* Fall through to thread attachment handler */ + /* Fall through to thread attachment handler */ + } + case DLL_THREAD_ATTACH: + { + p = HeapAlloc(GlobalHeap, 0, sizeof(WINSOCK_THREAD_BLOCK)); - case DLL_THREAD_ATTACH: - p = HeapAlloc(GlobalHeap, 0, sizeof(WINSOCK_THREAD_BLOCK)); + WS_DbgPrint(MAX_TRACE, ("Thread block at 0x%X.\n", p)); - WS_DbgPrint(MAX_TRACE, ("Thread block at 0x%X.\n", p)); - - if (!p) { - return FALSE; + if (!p) { + return FALSE; + } + + p->Hostent = NULL; + p->LastErrorValue = NO_ERROR; + p->Getservbyname = NULL; + p->Getservbyport = NULL; + + NtCurrentTeb()->WinSockData = p; + } + break; + + case DLL_PROCESS_DETACH: + { + p = NtCurrentTeb()->WinSockData; + + if (p) + HeapFree(GlobalHeap, 0, p); + + DestroyCatalog(); + + FreeProviderHandleTable(); + } + break; + + case DLL_THREAD_DETACH: + { + p = NtCurrentTeb()->WinSockData; + + if (p) + HeapFree(GlobalHeap, 0, p); + } + break; } - p->Hostent = NULL; - p->LastErrorValue = NO_ERROR; - p->Getservbyname = NULL; - p->Getservbyport = NULL; + WS_DbgPrint(MAX_TRACE, ("DllMain of ws2_32.dll. Leaving.\n")); - NtCurrentTeb()->WinSockData = p; - break; - - case DLL_PROCESS_DETACH: - p = NtCurrentTeb()->WinSockData; - - if (p) - HeapFree(GlobalHeap, 0, p); - - DestroyCatalog(); - - FreeProviderHandleTable(); - break; - - case DLL_THREAD_DETACH: - p = NtCurrentTeb()->WinSockData; - - if (p) - HeapFree(GlobalHeap, 0, p); - break; - } - - WS_DbgPrint(MAX_TRACE, ("DllMain of ws2_32.dll. Leaving.\n")); - - return TRUE; + return TRUE; } /* EOF */ diff --git a/reactos/dll/win32/ws2_32/misc/event.c b/reactos/dll/win32/ws2_32/misc/event.c index 288b3a71ca7..dcc541682d1 100644 --- a/reactos/dll/win32/ws2_32/misc/event.c +++ b/reactos/dll/win32/ws2_32/misc/event.c @@ -16,22 +16,22 @@ */ BOOL EXPORT -WSACloseEvent( - IN WSAEVENT hEvent) +WSACloseEvent(IN WSAEVENT hEvent) { - BOOL Success; + BOOL Success; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return FALSE; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return FALSE; + } - Success = CloseHandle((HANDLE)hEvent); + Success = CloseHandle((HANDLE)hEvent); - if (!Success) - WSASetLastError(WSA_INVALID_HANDLE); + if (!Success) + WSASetLastError(WSA_INVALID_HANDLE); - return Success; + return Success; } @@ -42,19 +42,20 @@ WSAEVENT EXPORT WSACreateEvent(VOID) { - HANDLE Event; + HANDLE Event; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return FALSE; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return FALSE; + } - Event = CreateEventW(NULL, TRUE, FALSE, NULL); + Event = CreateEventW(NULL, TRUE, FALSE, NULL); - if (Event == INVALID_HANDLE_VALUE) - WSASetLastError(WSA_INVALID_HANDLE); + if (Event == INVALID_HANDLE_VALUE) + WSASetLastError(WSA_INVALID_HANDLE); - return (WSAEVENT)Event; + return (WSAEVENT)Event; } @@ -63,22 +64,22 @@ WSACreateEvent(VOID) */ BOOL EXPORT -WSAResetEvent( - IN WSAEVENT hEvent) +WSAResetEvent(IN WSAEVENT hEvent) { - BOOL Success; + BOOL Success; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return FALSE; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return FALSE; + } - Success = ResetEvent((HANDLE)hEvent); + Success = ResetEvent((HANDLE)hEvent); - if (!Success) - WSASetLastError(WSA_INVALID_HANDLE); + if (!Success) + WSASetLastError(WSA_INVALID_HANDLE); - return Success; + return Success; } @@ -87,22 +88,22 @@ WSAResetEvent( */ BOOL EXPORT -WSASetEvent( - IN WSAEVENT hEvent) +WSASetEvent(IN WSAEVENT hEvent) { - BOOL Success; + BOOL Success; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return FALSE; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return FALSE; + } - Success = SetEvent((HANDLE)hEvent); + Success = SetEvent((HANDLE)hEvent); - if (!Success) - WSASetLastError(WSA_INVALID_HANDLE); + if (!Success) + WSASetLastError(WSA_INVALID_HANDLE); - return Success; + return Success; } @@ -111,35 +112,40 @@ WSASetEvent( */ DWORD EXPORT -WSAWaitForMultipleEvents( - IN DWORD cEvents, - IN CONST WSAEVENT FAR* lphEvents, - IN BOOL fWaitAll, - IN DWORD dwTimeout, - IN BOOL fAlertable) +WSAWaitForMultipleEvents(IN DWORD cEvents, + IN CONST WSAEVENT FAR* lphEvents, + IN BOOL fWaitAll, + IN DWORD dwTimeout, + IN BOOL fAlertable) { - DWORD Status; + DWORD Status; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return FALSE; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return FALSE; + } - Status = WaitForMultipleObjectsEx(cEvents, lphEvents, fWaitAll, dwTimeout, fAlertable); - if (Status == WAIT_FAILED) { - Status = GetLastError(); + Status = WaitForMultipleObjectsEx(cEvents, + lphEvents, + fWaitAll, + dwTimeout, + fAlertable); + if (Status == WAIT_FAILED) + { + Status = GetLastError(); - if (Status == ERROR_NOT_ENOUGH_MEMORY) - WSASetLastError(WSA_NOT_ENOUGH_MEMORY); - else if (Status == ERROR_INVALID_HANDLE) - WSASetLastError(WSA_INVALID_HANDLE); - else - WSASetLastError(WSA_INVALID_PARAMETER); + if (Status == ERROR_NOT_ENOUGH_MEMORY) + WSASetLastError(WSA_NOT_ENOUGH_MEMORY); + else if (Status == ERROR_INVALID_HANDLE) + WSASetLastError(WSA_INVALID_HANDLE); + else + WSASetLastError(WSA_INVALID_PARAMETER); - return WSA_WAIT_FAILED; - } + return WSA_WAIT_FAILED; + } - return Status; + return Status; } @@ -148,45 +154,52 @@ WSAWaitForMultipleEvents( */ INT EXPORT -WSAEnumNetworkEvents( - IN SOCKET s, - IN WSAEVENT hEventObject, - OUT LPWSANETWORKEVENTS lpNetworkEvents) +WSAEnumNetworkEvents(IN SOCKET s, + IN WSAEVENT hEventObject, + OUT LPWSANETWORKEVENTS lpNetworkEvents) { - PCATALOG_ENTRY Provider; - INT Status; - INT Errno; + PCATALOG_ENTRY Provider; + INT Status; + INT Errno; - WS_DbgPrint(MID_TRACE,("Called (Socket %x, hEventObject %x, " - "lpNetworkEvents %x)\n", - s, hEventObject, lpNetworkEvents)); + WS_DbgPrint(MID_TRACE,("Called (Socket %x, hEventObject %x, " + "lpNetworkEvents %x)\n", + s, + hEventObject, + lpNetworkEvents)); - if (!lpNetworkEvents) { - WSASetLastError(WSAEINVAL); - return SOCKET_ERROR; - } + if (!lpNetworkEvents) + { + WSASetLastError(WSAEINVAL); + return SOCKET_ERROR; + } - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return SOCKET_ERROR; + } - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, + &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } - Status = Provider->ProcTable.lpWSPEnumNetworkEvents( - s, hEventObject, lpNetworkEvents, &Errno); + Status = Provider->ProcTable.lpWSPEnumNetworkEvents(s, + hEventObject, + lpNetworkEvents, + &Errno); - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Status == SOCKET_ERROR) - WSASetLastError(Errno); + if (Status == SOCKET_ERROR) + WSASetLastError(Errno); - WS_DbgPrint(MID_TRACE,("Leaving %x\n", Status)); + WS_DbgPrint(MID_TRACE,("Leaving %x\n", Status)); - return Status; + return Status; } @@ -195,34 +208,37 @@ WSAEnumNetworkEvents( */ INT EXPORT -WSAEventSelect( - IN SOCKET s, - IN WSAEVENT hEventObject, - IN LONG lNetworkEvents) +WSAEventSelect(IN SOCKET s, + IN WSAEVENT hEventObject, + IN LONG lNetworkEvents) { - PCATALOG_ENTRY Provider; - INT Status; - INT Errno; + PCATALOG_ENTRY Provider; + INT Status; + INT Errno; - if (!WSAINITIALIZED) { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return SOCKET_ERROR; + } - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } - Status = Provider->ProcTable.lpWSPEventSelect( - s, hEventObject, lNetworkEvents, &Errno); + Status = Provider->ProcTable.lpWSPEventSelect(s, + hEventObject, + lNetworkEvents, + &Errno); - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Status == SOCKET_ERROR) - WSASetLastError(Errno); + if (Status == SOCKET_ERROR) + WSASetLastError(Errno); - return Status; + return Status; } /* EOF */ diff --git a/reactos/dll/win32/ws2_32/misc/handle.c b/reactos/dll/win32/ws2_32/misc/handle.c index 4590574083b..7433c63f4b4 100644 --- a/reactos/dll/win32/ws2_32/misc/handle.c +++ b/reactos/dll/win32/ws2_32/misc/handle.c @@ -15,9 +15,8 @@ PPROVIDER_HANDLE_BLOCK ProviderHandleTable; CRITICAL_SECTION ProviderHandleTableLock; PPROVIDER_HANDLE -GetProviderByHandle( - PPROVIDER_HANDLE_BLOCK HandleTable, - HANDLE Handle) +GetProviderByHandle(PPROVIDER_HANDLE_BLOCK HandleTable, + HANDLE Handle) /* * FUNCTION: Get the data structure for a handle * ARGUMENTS: @@ -28,80 +27,84 @@ GetProviderByHandle( * NULL on failure */ { - PPROVIDER_HANDLE_BLOCK Current; - PLIST_ENTRY CurrentEntry; - ULONG i; - - WS_DbgPrint(MAX_TRACE, ("HandleTable (0x%X) Handle (0x%X).\n", HandleTable, Handle)); + PPROVIDER_HANDLE_BLOCK Current; + PLIST_ENTRY CurrentEntry; + ULONG i; - CurrentEntry = HandleTable->Entry.Flink; - - while (CurrentEntry != &HandleTable->Entry) { - Current = CONTAINING_RECORD(CurrentEntry, PROVIDER_HANDLE_BLOCK, Entry); + WS_DbgPrint(MAX_TRACE, ("HandleTable (0x%X) Handle (0x%X).\n", HandleTable, Handle)); - for (i = 0; i < HANDLE_BLOCK_ENTRIES; i++) { - if ((Current->Handles[i].Provider != NULL) && - (Current->Handles[i].Handle == Handle)) { - return &Current->Handles[i]; - } + CurrentEntry = HandleTable->Entry.Flink; + + while (CurrentEntry != &HandleTable->Entry) + { + Current = CONTAINING_RECORD(CurrentEntry, PROVIDER_HANDLE_BLOCK, Entry); + + for (i = 0; i < HANDLE_BLOCK_ENTRIES; i++) + { + if ((Current->Handles[i].Provider != NULL) && + (Current->Handles[i].Handle == Handle)) + { + return &Current->Handles[i]; + } + } + CurrentEntry = CurrentEntry->Flink; } - CurrentEntry = CurrentEntry->Flink; - } - return NULL; + return NULL; } VOID -CloseAllHandles( - PPROVIDER_HANDLE_BLOCK HandleTable) +CloseAllHandles(PPROVIDER_HANDLE_BLOCK HandleTable) { - PPROVIDER_HANDLE_BLOCK Current; - PLIST_ENTRY CurrentEntry; - PCATALOG_ENTRY Provider; - ULONG i; - - WS_DbgPrint(MAX_TRACE, ("HandleTable (0x%X).\n", HandleTable)); + PPROVIDER_HANDLE_BLOCK Current; + PLIST_ENTRY CurrentEntry; + PCATALOG_ENTRY Provider; + ULONG i; - CurrentEntry = HandleTable->Entry.Flink; + WS_DbgPrint(MAX_TRACE, ("HandleTable (0x%X).\n", HandleTable)); - while (CurrentEntry != &HandleTable->Entry) { - Current = CONTAINING_RECORD(CurrentEntry, PROVIDER_HANDLE_BLOCK, Entry); + CurrentEntry = HandleTable->Entry.Flink; - for (i = 0; i < HANDLE_BLOCK_ENTRIES; i++) { - Provider = Current->Handles[i].Provider; - if (Provider != NULL) { - DereferenceProviderByPointer(Provider); - Current->Handles[i].Handle = (HANDLE)0; - Current->Handles[i].Provider = NULL; - } - } - CurrentEntry = CurrentEntry->Flink; - } + while (CurrentEntry != &HandleTable->Entry) + { + Current = CONTAINING_RECORD(CurrentEntry, PROVIDER_HANDLE_BLOCK, Entry); + + for (i = 0; i < HANDLE_BLOCK_ENTRIES; i++) + { + Provider = Current->Handles[i].Provider; + if (Provider != NULL) + { + DereferenceProviderByPointer(Provider); + Current->Handles[i].Handle = (HANDLE)0; + Current->Handles[i].Provider = NULL; + } + } + CurrentEntry = CurrentEntry->Flink; + } } VOID -DeleteHandleTable( - PPROVIDER_HANDLE_BLOCK HandleTable) +DeleteHandleTable(PPROVIDER_HANDLE_BLOCK HandleTable) { - PPROVIDER_HANDLE_BLOCK Current; - PLIST_ENTRY CurrentEntry; + PPROVIDER_HANDLE_BLOCK Current; + PLIST_ENTRY CurrentEntry; - CloseAllHandles(HandleTable); - - CurrentEntry = RemoveHeadList(&HandleTable->Entry); - - while (CurrentEntry != &HandleTable->Entry) { - Current = CONTAINING_RECORD( - CurrentEntry, - PROVIDER_HANDLE_BLOCK, - Entry); + CloseAllHandles(HandleTable); - HeapFree(GlobalHeap, 0, Current); + CurrentEntry = RemoveHeadList(&HandleTable->Entry); - CurrentEntry = RemoveHeadList(&HandleTable->Entry); - } + while (CurrentEntry != &HandleTable->Entry) + { + Current = CONTAINING_RECORD(CurrentEntry, + PROVIDER_HANDLE_BLOCK, + Entry); + + HeapFree(GlobalHeap, 0, Current); + + CurrentEntry = RemoveHeadList(&HandleTable->Entry); + } } @@ -109,97 +112,103 @@ PCATALOG_ENTRY DeleteProviderHandle(PPROVIDER_HANDLE_BLOCK HandleTable, HANDLE Handle) { - PPROVIDER_HANDLE Entry; - PCATALOG_ENTRY Provider; + PPROVIDER_HANDLE Entry; + PCATALOG_ENTRY Provider; - WS_DbgPrint(MAX_TRACE, ("HandleTable (0x%X) Handle (0x%X).\n", HandleTable, Handle)); + WS_DbgPrint(MAX_TRACE, ("HandleTable (0x%X) Handle (0x%X).\n", HandleTable, Handle)); - Entry = GetProviderByHandle(HandleTable, Handle); - if (!Entry) - return NULL; + Entry = GetProviderByHandle(HandleTable, Handle); + if (!Entry) + return NULL; - Provider = Entry->Provider; - Entry->Handle = (HANDLE)0; - Entry->Provider = NULL; + Provider = Entry->Provider; + Entry->Handle = (HANDLE)0; + Entry->Provider = NULL; - return Provider; + return Provider; } HANDLE -CreateProviderHandleTable( - PPROVIDER_HANDLE_BLOCK HandleTable, - HANDLE Handle, - PCATALOG_ENTRY Provider) +CreateProviderHandleTable(PPROVIDER_HANDLE_BLOCK HandleTable, + HANDLE Handle, + PCATALOG_ENTRY Provider) { - PPROVIDER_HANDLE_BLOCK NewBlock; - PLIST_ENTRY CurrentEntry; - ULONG i; + PPROVIDER_HANDLE_BLOCK NewBlock; + PLIST_ENTRY CurrentEntry; + ULONG i; - WS_DbgPrint(MAX_TRACE, ("HandleTable (0x%X) Handle (0x%X) Provider (0x%X).\n", + WS_DbgPrint(MAX_TRACE, ("HandleTable (0x%X) Handle (0x%X) Provider (0x%X).\n", HandleTable, Handle, Provider)); - /* Scan through the currently allocated handle blocks looking for a free slot */ - CurrentEntry = HandleTable->Entry.Flink; - while (CurrentEntry != &HandleTable->Entry) { - PPROVIDER_HANDLE_BLOCK Block = CONTAINING_RECORD( - CurrentEntry, PROVIDER_HANDLE_BLOCK, Entry); + /* Scan through the currently allocated handle blocks looking for a free slot */ + CurrentEntry = HandleTable->Entry.Flink; + while (CurrentEntry != &HandleTable->Entry) + { + PPROVIDER_HANDLE_BLOCK Block = CONTAINING_RECORD(CurrentEntry, + PROVIDER_HANDLE_BLOCK, + Entry); - for (i = 0; i < HANDLE_BLOCK_ENTRIES; i++) { - WS_DbgPrint(MAX_TRACE, ("Considering slot %ld containing 0x%X.\n", - i, Block->Handles[i].Provider)); - if (Block->Handles[i].Provider == NULL) { - Block->Handles[i].Handle = Handle; - Block->Handles[i].Provider = Provider; - return Handle; - } - } - CurrentEntry = CurrentEntry->Flink; - } + for (i = 0; i < HANDLE_BLOCK_ENTRIES; i++) + { + WS_DbgPrint(MAX_TRACE, ("Considering slot %ld containing 0x%X.\n", + i, + Block->Handles[i].Provider)); + if (Block->Handles[i].Provider == NULL) + { + Block->Handles[i].Handle = Handle; + Block->Handles[i].Provider = Provider; + return Handle; + } + } + CurrentEntry = CurrentEntry->Flink; + } - /* Add a new handle block to the end of the list */ - NewBlock = (PPROVIDER_HANDLE_BLOCK)HeapAlloc( - GlobalHeap, 0, sizeof(PROVIDER_HANDLE_BLOCK)); + /* Add a new handle block to the end of the list */ + NewBlock = (PPROVIDER_HANDLE_BLOCK)HeapAlloc(GlobalHeap, + 0, + sizeof(PROVIDER_HANDLE_BLOCK)); - WS_DbgPrint(MID_TRACE,("using table entry %x\n", NewBlock)); + WS_DbgPrint(MID_TRACE,("using table entry %x\n", NewBlock)); - if (!NewBlock) - return (HANDLE)0; + if (!NewBlock) + return (HANDLE)0; - ZeroMemory(NewBlock, sizeof(PROVIDER_HANDLE_BLOCK)); - InsertTailList(&HandleTable->Entry, &NewBlock->Entry); + ZeroMemory(NewBlock, sizeof(PROVIDER_HANDLE_BLOCK)); + InsertTailList(&HandleTable->Entry, + &NewBlock->Entry); - NewBlock->Handles[0].Handle = Handle; - NewBlock->Handles[0].Provider = Provider; + NewBlock->Handles[0].Handle = Handle; + NewBlock->Handles[0].Provider = Provider; - return Handle; + return Handle; } HANDLE -CreateProviderHandle( - HANDLE Handle, - PCATALOG_ENTRY Provider) +CreateProviderHandle(HANDLE Handle, + PCATALOG_ENTRY Provider) { - HANDLE h; + HANDLE h; - EnterCriticalSection(&ProviderHandleTableLock); + EnterCriticalSection(&ProviderHandleTableLock); - h = CreateProviderHandleTable(ProviderHandleTable, Handle, Provider); + h = CreateProviderHandleTable(ProviderHandleTable, + Handle, + Provider); - LeaveCriticalSection(&ProviderHandleTableLock); + LeaveCriticalSection(&ProviderHandleTableLock); - if (h != NULL) - ReferenceProviderByPointer(Provider); + if (h != NULL) + ReferenceProviderByPointer(Provider); - return h; + return h; } - + BOOL -ReferenceProviderByHandle( - HANDLE Handle, - PCATALOG_ENTRY* Provider) +ReferenceProviderByHandle(HANDLE Handle, + PCATALOG_ENTRY* Provider) /* * FUNCTION: Increments the reference count for a provider and returns a pointer to it * ARGUMENTS: @@ -209,75 +218,80 @@ ReferenceProviderByHandle( * TRUE if handle was valid, FALSE if not */ { - PPROVIDER_HANDLE ProviderHandle; + PPROVIDER_HANDLE ProviderHandle; - WS_DbgPrint(MID_TRACE, ("Handle (0x%X) Provider (0x%X).\n", Handle, Provider)); + WS_DbgPrint(MID_TRACE, ("Handle (0x%X) Provider (0x%X).\n", Handle, Provider)); - EnterCriticalSection(&ProviderHandleTableLock); + EnterCriticalSection(&ProviderHandleTableLock); - ProviderHandle = GetProviderByHandle(ProviderHandleTable, Handle); + ProviderHandle = GetProviderByHandle(ProviderHandleTable, + Handle); - WS_DbgPrint(MID_TRACE, ("ProviderHanddle is %x\n", ProviderHandle)); + WS_DbgPrint(MID_TRACE, ("ProviderHanddle is %x\n", ProviderHandle)); - LeaveCriticalSection(&ProviderHandleTableLock); + LeaveCriticalSection(&ProviderHandleTableLock); - if (ProviderHandle) { - ReferenceProviderByPointer(ProviderHandle->Provider); - *Provider = ProviderHandle->Provider; - } + if (ProviderHandle) + { + ReferenceProviderByPointer(ProviderHandle->Provider); + *Provider = ProviderHandle->Provider; + } - return (ProviderHandle != NULL); + return (ProviderHandle != NULL); } BOOL -CloseProviderHandle( - HANDLE Handle) +CloseProviderHandle(HANDLE Handle) { - PCATALOG_ENTRY Provider; - - WS_DbgPrint(MAX_TRACE, ("Handle (0x%X).\n", Handle)); + PCATALOG_ENTRY Provider; - EnterCriticalSection(&ProviderHandleTableLock); + WS_DbgPrint(MAX_TRACE, ("Handle (0x%X).\n", Handle)); - Provider = DeleteProviderHandle(ProviderHandleTable, Handle); - if (!Provider) - return FALSE; + EnterCriticalSection(&ProviderHandleTableLock); - LeaveCriticalSection(&ProviderHandleTableLock); + Provider = DeleteProviderHandle(ProviderHandleTable, + Handle); + if (!Provider) + return FALSE; - DereferenceProviderByPointer(Provider); + LeaveCriticalSection(&ProviderHandleTableLock); - return TRUE; + DereferenceProviderByPointer(Provider); + + return TRUE; } BOOL InitProviderHandleTable(VOID) { - ProviderHandleTable = (PPROVIDER_HANDLE_BLOCK) - HeapAlloc(GlobalHeap, 0, sizeof(PROVIDER_HANDLE_BLOCK)); - if (!ProviderHandleTable) - return FALSE; + ProviderHandleTable = + (PPROVIDER_HANDLE_BLOCK)HeapAlloc(GlobalHeap, + 0, + sizeof(PROVIDER_HANDLE_BLOCK)); + if (!ProviderHandleTable) + return FALSE; - WS_DbgPrint(MID_TRACE,("Called\n")); + WS_DbgPrint(MID_TRACE,("Called\n")); - ZeroMemory(ProviderHandleTable, sizeof(PROVIDER_HANDLE_BLOCK)); + ZeroMemory(ProviderHandleTable, + sizeof(PROVIDER_HANDLE_BLOCK)); - InitializeListHead(&ProviderHandleTable->Entry); + InitializeListHead(&ProviderHandleTable->Entry); - InitializeCriticalSection(&ProviderHandleTableLock); + InitializeCriticalSection(&ProviderHandleTableLock); - return TRUE; + return TRUE; } VOID FreeProviderHandleTable(VOID) { - DeleteHandleTable(ProviderHandleTable); + DeleteHandleTable(ProviderHandleTable); - DeleteCriticalSection(&ProviderHandleTableLock); + DeleteCriticalSection(&ProviderHandleTableLock); } /* EOF */ diff --git a/reactos/dll/win32/ws2_32/misc/ns.c b/reactos/dll/win32/ws2_32/misc/ns.c index 85c84bd6e4b..9e166e65ef8 100644 --- a/reactos/dll/win32/ws2_32/misc/ns.c +++ b/reactos/dll/win32/ws2_32/misc/ns.c @@ -27,12 +27,11 @@ */ INT EXPORT -WSAAddressToStringA( - IN LPSOCKADDR lpsaAddress, - IN DWORD dwAddressLength, - IN LPWSAPROTOCOL_INFOA lpProtocolInfo, - OUT LPSTR lpszAddressString, - IN OUT LPDWORD lpdwAddressStringLength) +WSAAddressToStringA(IN LPSOCKADDR lpsaAddress, + IN DWORD dwAddressLength, + IN LPWSAPROTOCOL_INFOA lpProtocolInfo, + OUT LPSTR lpszAddressString, + IN OUT LPDWORD lpdwAddressStringLength) { UNIMPLEMENTED @@ -45,12 +44,11 @@ WSAAddressToStringA( */ INT EXPORT -WSAAddressToStringW( - IN LPSOCKADDR lpsaAddress, - IN DWORD dwAddressLength, - IN LPWSAPROTOCOL_INFOW lpProtocolInfo, - OUT LPWSTR lpszAddressString, - IN OUT LPDWORD lpdwAddressStringLength) +WSAAddressToStringW(IN LPSOCKADDR lpsaAddress, + IN DWORD dwAddressLength, + IN LPWSAPROTOCOL_INFOW lpProtocolInfo, + OUT LPWSTR lpszAddressString, + IN OUT LPDWORD lpdwAddressStringLength) { UNIMPLEMENTED @@ -63,9 +61,8 @@ WSAAddressToStringW( */ INT EXPORT -WSAEnumNameSpaceProvidersA( - IN OUT LPDWORD lpdwBufferLength, - OUT LPWSANAMESPACE_INFOA lpnspBuffer) +WSAEnumNameSpaceProvidersA(IN OUT LPDWORD lpdwBufferLength, + OUT LPWSANAMESPACE_INFOA lpnspBuffer) { UNIMPLEMENTED @@ -78,9 +75,8 @@ WSAEnumNameSpaceProvidersA( */ INT EXPORT -WSAEnumNameSpaceProvidersW( - IN OUT LPDWORD lpdwBufferLength, - OUT LPWSANAMESPACE_INFOW lpnspBuffer) +WSAEnumNameSpaceProvidersW(IN OUT LPDWORD lpdwBufferLength, + OUT LPWSANAMESPACE_INFOW lpnspBuffer) { UNIMPLEMENTED @@ -93,11 +89,10 @@ WSAEnumNameSpaceProvidersW( */ INT EXPORT -WSAGetServiceClassInfoA( - IN LPGUID lpProviderId, - IN LPGUID lpServiceClassId, - IN OUT LPDWORD lpdwBufferLength, - OUT LPWSASERVICECLASSINFOA lpServiceClassInfo) +WSAGetServiceClassInfoA(IN LPGUID lpProviderId, + IN LPGUID lpServiceClassId, + IN OUT LPDWORD lpdwBufferLength, + OUT LPWSASERVICECLASSINFOA lpServiceClassInfo) { UNIMPLEMENTED @@ -110,11 +105,10 @@ WSAGetServiceClassInfoA( */ INT EXPORT -WSAGetServiceClassInfoW( - IN LPGUID lpProviderId, - IN LPGUID lpServiceClassId, - IN OUT LPDWORD lpdwBufferLength, - OUT LPWSASERVICECLASSINFOW lpServiceClassInfo) +WSAGetServiceClassInfoW(IN LPGUID lpProviderId, + IN LPGUID lpServiceClassId, + IN OUT LPDWORD lpdwBufferLength, + OUT LPWSASERVICECLASSINFOW lpServiceClassInfo) { UNIMPLEMENTED @@ -127,10 +121,9 @@ WSAGetServiceClassInfoW( */ INT EXPORT -WSAGetServiceClassNameByClassIdA( - IN LPGUID lpServiceClassId, - OUT LPSTR lpszServiceClassName, - IN OUT LPDWORD lpdwBufferLength) +WSAGetServiceClassNameByClassIdA(IN LPGUID lpServiceClassId, + OUT LPSTR lpszServiceClassName, + IN OUT LPDWORD lpdwBufferLength) { UNIMPLEMENTED @@ -143,10 +136,9 @@ WSAGetServiceClassNameByClassIdA( */ INT EXPORT -WSAGetServiceClassNameByClassIdW( - IN LPGUID lpServiceClassId, - OUT LPWSTR lpszServiceClassName, - IN OUT LPDWORD lpdwBufferLength) +WSAGetServiceClassNameByClassIdW(IN LPGUID lpServiceClassId, + OUT LPWSTR lpszServiceClassName, + IN OUT LPDWORD lpdwBufferLength) { UNIMPLEMENTED @@ -159,8 +151,7 @@ WSAGetServiceClassNameByClassIdW( */ INT EXPORT -WSAInstallServiceClassA( - IN LPWSASERVICECLASSINFOA lpServiceClassInfo) +WSAInstallServiceClassA(IN LPWSASERVICECLASSINFOA lpServiceClassInfo) { UNIMPLEMENTED @@ -173,8 +164,7 @@ WSAInstallServiceClassA( */ INT EXPORT -WSAInstallServiceClassW( - IN LPWSASERVICECLASSINFOW lpServiceClassInfo) +WSAInstallServiceClassW(IN LPWSASERVICECLASSINFOW lpServiceClassInfo) { UNIMPLEMENTED @@ -187,10 +177,9 @@ WSAInstallServiceClassW( */ INT EXPORT -WSALookupServiceBeginA( - IN LPWSAQUERYSETA lpqsRestrictions, - IN DWORD dwControlFlags, - OUT LPHANDLE lphLookup) +WSALookupServiceBeginA(IN LPWSAQUERYSETA lpqsRestrictions, + IN DWORD dwControlFlags, + OUT LPHANDLE lphLookup) { UNIMPLEMENTED @@ -203,10 +192,9 @@ WSALookupServiceBeginA( */ INT EXPORT -WSALookupServiceBeginW( - IN LPWSAQUERYSETW lpqsRestrictions, - IN DWORD dwControlFlags, - OUT LPHANDLE lphLookup) +WSALookupServiceBeginW(IN LPWSAQUERYSETW lpqsRestrictions, + IN DWORD dwControlFlags, + OUT LPHANDLE lphLookup) { UNIMPLEMENTED @@ -219,8 +207,7 @@ WSALookupServiceBeginW( */ INT EXPORT -WSALookupServiceEnd( - IN HANDLE hLookup) +WSALookupServiceEnd(IN HANDLE hLookup) { UNIMPLEMENTED @@ -233,11 +220,10 @@ WSALookupServiceEnd( */ INT EXPORT -WSALookupServiceNextA( - IN HANDLE hLookup, - IN DWORD dwControlFlags, - IN OUT LPDWORD lpdwBufferLength, - OUT LPWSAQUERYSETA lpqsResults) +WSALookupServiceNextA(IN HANDLE hLookup, + IN DWORD dwControlFlags, + IN OUT LPDWORD lpdwBufferLength, + OUT LPWSAQUERYSETA lpqsResults) { UNIMPLEMENTED @@ -250,11 +236,10 @@ WSALookupServiceNextA( */ INT EXPORT -WSALookupServiceNextW( - IN HANDLE hLookup, - IN DWORD dwControlFlags, - IN OUT LPDWORD lpdwBufferLength, - OUT LPWSAQUERYSETW lpqsResults) +WSALookupServiceNextW(IN HANDLE hLookup, + IN DWORD dwControlFlags, + IN OUT LPDWORD lpdwBufferLength, + OUT LPWSAQUERYSETW lpqsResults) { UNIMPLEMENTED @@ -267,8 +252,7 @@ WSALookupServiceNextW( */ INT EXPORT -WSARemoveServiceClass( - IN LPGUID lpServiceClassId) +WSARemoveServiceClass(IN LPGUID lpServiceClassId) { UNIMPLEMENTED @@ -281,10 +265,9 @@ WSARemoveServiceClass( */ INT EXPORT -WSASetServiceA( - IN LPWSAQUERYSETA lpqsRegInfo, - IN WSAESETSERVICEOP essOperation, - IN DWORD dwControlFlags) +WSASetServiceA(IN LPWSAQUERYSETA lpqsRegInfo, + IN WSAESETSERVICEOP essOperation, + IN DWORD dwControlFlags) { UNIMPLEMENTED @@ -297,10 +280,9 @@ WSASetServiceA( */ INT EXPORT -WSASetServiceW( - IN LPWSAQUERYSETW lpqsRegInfo, - IN WSAESETSERVICEOP essOperation, - IN DWORD dwControlFlags) +WSASetServiceW(IN LPWSAQUERYSETW lpqsRegInfo, + IN WSAESETSERVICEOP essOperation, + IN DWORD dwControlFlags) { UNIMPLEMENTED @@ -313,171 +295,237 @@ WSASetServiceW( */ INT EXPORT -WSAStringToAddressA( - IN LPSTR AddressString, - IN INT AddressFamily, - IN LPWSAPROTOCOL_INFOA lpProtocolInfo, - OUT LPSOCKADDR lpAddress, - IN OUT LPINT lpAddressLength) +WSAStringToAddressA(IN LPSTR AddressString, + IN INT AddressFamily, + IN LPWSAPROTOCOL_INFOA lpProtocolInfo, + OUT LPSOCKADDR lpAddress, + IN OUT LPINT lpAddressLength) { INT ret, len; - LPWSTR szTemp; - LPWSAPROTOCOL_INFOW lpProtoInfoW = NULL; + LPWSTR szTemp; + LPWSAPROTOCOL_INFOW lpProtoInfoW = NULL; + + len = MultiByteToWideChar(CP_ACP, + 0, + AddressString, + -1, + NULL, + 0); + + szTemp = HeapAlloc(GetProcessHeap(), + 0, + len * sizeof(WCHAR)); + + MultiByteToWideChar(CP_ACP, + 0, + AddressString, + -1, + szTemp, + len); - len = MultiByteToWideChar( CP_ACP, 0, AddressString, -1, NULL, 0 ); - szTemp = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); - MultiByteToWideChar( CP_ACP, 0, AddressString, -1, szTemp, len ); - if (lpProtocolInfo) - { - len = WSAPROTOCOL_LEN+1; - lpProtoInfoW = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); - - memcpy( lpProtoInfoW, lpProtocolInfo, sizeof(LPWSAPROTOCOL_INFOA)); + { + len = WSAPROTOCOL_LEN+1; + lpProtoInfoW = HeapAlloc(GetProcessHeap(), + 0, + len * sizeof(WCHAR) ); - MultiByteToWideChar( CP_ACP, 0, lpProtocolInfo->szProtocol, -1, lpProtoInfoW->szProtocol, len ); - } - - ret = WSAStringToAddressW(szTemp, AddressFamily, lpProtoInfoW, lpAddress, lpAddressLength); + memcpy(lpProtoInfoW, + lpProtocolInfo, + sizeof(LPWSAPROTOCOL_INFOA)); - HeapFree( GetProcessHeap(), 0, szTemp ); + MultiByteToWideChar(CP_ACP, + 0, + lpProtocolInfo->szProtocol, + -1, + lpProtoInfoW->szProtocol, + len); + } - if (lpProtocolInfo) - HeapFree( GetProcessHeap(), 0, lpProtoInfoW ); - - WSASetLastError(ret); - return ret; + ret = WSAStringToAddressW(szTemp, + AddressFamily, + lpProtoInfoW, + lpAddress, + lpAddressLength); + + HeapFree(GetProcessHeap(), + 0, + szTemp ); + + if (lpProtocolInfo) + HeapFree(GetProcessHeap(), + 0, + lpProtoInfoW); + + WSASetLastError(ret); + return ret; } /* - * @implement + * @implement */ INT EXPORT -WSAStringToAddressW( - IN LPWSTR AddressString, - IN INT AddressFamily, - IN LPWSAPROTOCOL_INFOW lpProtocolInfo, - OUT LPSOCKADDR lpAddress, - IN OUT LPINT lpAddressLength) +WSAStringToAddressW(IN LPWSTR AddressString, + IN INT AddressFamily, + IN LPWSAPROTOCOL_INFOW lpProtocolInfo, + OUT LPSOCKADDR lpAddress, + IN OUT LPINT lpAddressLength) { - int pos=0; - int res=0; - LONG inetaddr = 0; + int pos=0; + int res=0; + LONG inetaddr = 0; LPWSTR *bp=NULL; - SOCKADDR_IN *sockaddr = (SOCKADDR_IN *) lpAddress; + SOCKADDR_IN *sockaddr = (SOCKADDR_IN *) lpAddress; + + if (!lpAddressLength || !lpAddress) + return SOCKET_ERROR; + + if (AddressString==NULL) + return WSAEINVAL; - if (!lpAddressLength || !lpAddress) - return SOCKET_ERROR; - - if (AddressString==NULL) - return WSAEINVAL; - /* Set right adress family */ - if (lpProtocolInfo!=NULL) - sockaddr->sin_family = lpProtocolInfo->iAddressFamily; + if (lpProtocolInfo!=NULL) + sockaddr->sin_family = lpProtocolInfo->iAddressFamily; - else sockaddr->sin_family = AddressFamily; - - /* Report size */ - if (AddressFamily == AF_INET) - { - if (*lpAddressLength < (INT)sizeof(SOCKADDR_IN)) - { - *lpAddressLength = sizeof(SOCKADDR_IN); - res = WSAEFAULT; - } - else - { - if (!lpAddress) - res = WSAEINVAL; - else - { - // translate now ip string to ip + else sockaddr->sin_family = AddressFamily; - /* rest sockaddr.sin_addr.s_addr - for we need to be sure it is zero when we come to while */ - memset(lpAddress,0,sizeof(SOCKADDR_IN)); + /* Report size */ + if (AddressFamily == AF_INET) + { + if (*lpAddressLength < (INT)sizeof(SOCKADDR_IN)) + { + *lpAddressLength = sizeof(SOCKADDR_IN); + res = WSAEFAULT; + } + else + { + if (!lpAddress) + res = WSAEINVAL; + else + { + // translate now ip string to ip - /* Set right adress family */ - sockaddr->sin_family = AF_INET; + /* rest sockaddr.sin_addr.s_addr + for we need to be sure it is zero when we come to while */ + memset(lpAddress,0,sizeof(SOCKADDR_IN)); - /* Get port number */ - pos = wcscspn(AddressString,L":") + 1; - if (pos < (int)wcslen(AddressString)) - sockaddr->sin_port = wcstol(&AddressString[pos],bp,10); + /* Set right adress family */ + sockaddr->sin_family = AF_INET; - else - sockaddr->sin_port = 0; - - /* Get ip number */ - pos=0; - inetaddr=0; + /* Get port number */ + pos = wcscspn(AddressString,L":") + 1; - while (pos < (int)wcslen(AddressString)) - { - inetaddr = (inetaddr<<8) + ((UCHAR)wcstol(&AddressString[pos],bp,10)); - pos += wcscspn( &AddressString[pos],L".") +1 ; - } + if (pos < (int)wcslen(AddressString)) + sockaddr->sin_port = wcstol(&AddressString[pos], + bp, + 10); - res = 0; - sockaddr->sin_addr.s_addr = inetaddr; - } + else + sockaddr->sin_port = 0; - } - } + /* Get ip number */ + pos=0; + inetaddr=0; + + while (pos < (int)wcslen(AddressString)) + { + inetaddr = (inetaddr<<8) + ((UCHAR)wcstol(&AddressString[pos], + bp, + 10)); + pos += wcscspn( &AddressString[pos],L".") +1 ; + } + + res = 0; + sockaddr->sin_addr.s_addr = inetaddr; + } + + } + } WSASetLastError(res); - if (!res) return 0; - return SOCKET_ERROR; + if (!res) return 0; + return SOCKET_ERROR; } -void check_hostent(struct hostent **he) { - struct hostent *new_he; - WS_DbgPrint(MID_TRACE,("*he: %x\n",*he)); - if(!*he) { - new_he = HeapAlloc(GlobalHeap, 0, sizeof(struct hostent) + MAX_HOSTNAME_LEN + 1); - new_he->h_name = (PCHAR)(new_he + 1); - new_he->h_aliases = 0; - new_he->h_addrtype = 0; // AF_INET - new_he->h_length = 0; // sizeof(in_addr) - new_he->h_addr_list = HeapAlloc(GlobalHeap, 0, sizeof(char *) * 2); - RtlZeroMemory(new_he->h_addr_list, sizeof(char *) * 2); - *he = new_he; - } +void check_hostent(struct hostent **he) +{ + struct hostent *new_he; + + WS_DbgPrint(MID_TRACE,("*he: %x\n",*he)); + + if(!*he) + { + new_he = HeapAlloc(GlobalHeap, + 0, + sizeof(struct hostent) + MAX_HOSTNAME_LEN + 1); + + new_he->h_name = (PCHAR)(new_he + 1); + new_he->h_aliases = 0; + new_he->h_addrtype = 0; // AF_INET + new_he->h_length = 0; // sizeof(in_addr) + new_he->h_addr_list = HeapAlloc(GlobalHeap, + 0, + sizeof(char *) * 2); + + RtlZeroMemory(new_he->h_addr_list, + sizeof(char *) * 2); + *he = new_he; + } } -void populate_hostent(struct hostent *he, char* name, DNS_A_DATA addr) { - ASSERT(he); - //he = HeapAlloc(GlobalHeap, 0, sizeof(struct hostent)); - //he->h_name = HeapAlloc(GlobalHeap, 0, MAX_HOSTNAME_LEN+1); - strncpy(he->h_name, name, MAX_HOSTNAME_LEN); - he->h_aliases = 0; - he->h_addrtype = AF_INET; - he->h_length = sizeof(IN_ADDR); //sizeof(struct in_addr); - if( he->h_addr_list[0] ) HeapFree( GlobalHeap, 0, he->h_addr_list[0] ); - he->h_addr_list[0] = HeapAlloc(GlobalHeap, 0, MAX_HOSTNAME_LEN+1); - WS_DbgPrint(MID_TRACE,("he->h_addr_list[0] %x\n", he->h_addr_list[0])); - RtlCopyMemory(he->h_addr_list[0], (char*)&addr.IpAddress, - sizeof(addr.IpAddress)); - he->h_addr_list[1] = 0; +void populate_hostent(struct hostent *he, char* name, DNS_A_DATA addr) +{ + ASSERT(he); + + //he = HeapAlloc(GlobalHeap, 0, sizeof(struct hostent)); + //he->h_name = HeapAlloc(GlobalHeap, 0, MAX_HOSTNAME_LEN+1); + + strncpy(he->h_name, + name, + MAX_HOSTNAME_LEN); + + he->h_aliases = 0; + he->h_addrtype = AF_INET; + he->h_length = sizeof(IN_ADDR); //sizeof(struct in_addr); + + if( he->h_addr_list[0] ) + { + HeapFree(GlobalHeap, + 0, + he->h_addr_list[0]); + } + + he->h_addr_list[0] = HeapAlloc(GlobalHeap, + 0, + MAX_HOSTNAME_LEN + 1); + + WS_DbgPrint(MID_TRACE,("he->h_addr_list[0] %x\n", he->h_addr_list[0])); + + RtlCopyMemory(he->h_addr_list[0], + (char*)&addr.IpAddress, + sizeof(addr.IpAddress)); + + he->h_addr_list[1] = 0; } #define HFREE(x) if(x) { HeapFree(GlobalHeap, 0, (x)); x=0; } -void free_hostent(struct hostent *he) { - if(he) { - HFREE(he->h_name); - char *next = he->h_aliases[0]; - while(next) { HFREE(next); next++; } - next = he->h_addr_list[0]; - while(next) { HFREE(next); next++; } - HFREE(he->h_addr_list); - HFREE(he); - } +void free_hostent(struct hostent *he) +{ + if(he) + { + HFREE(he->h_name); + char *next = he->h_aliases[0]; + while(next) { HFREE(next); next++; } + next = he->h_addr_list[0]; + while(next) { HFREE(next); next++; } + HFREE(he->h_addr_list); + HFREE(he); + } } /* WinSock 1.1 compatible name resolution APIs */ @@ -487,10 +535,9 @@ void free_hostent(struct hostent *he) { */ LPHOSTENT EXPORT -gethostbyaddr( - IN CONST CHAR FAR* addr, - IN INT len, - IN INT type) +gethostbyaddr(IN CONST CHAR FAR* addr, + IN INT len, + IN INT type) { UNIMPLEMENTED @@ -498,7 +545,7 @@ gethostbyaddr( } /* - Assumes rfc 1123 - adam * + Assumes rfc 1123 - adam * addr[1] = 0; addr[0] = inet_addr(name); strcpy( hostname, name ); @@ -532,7 +579,7 @@ servent -- w32api/include/winsock2.h PWINSOCK_THREAD_BLOCK -- ws2_32.h dllmain.c -- threadlocal memory allocation / deallocation lib/dnsapi - + */ /* lib/adns/src/adns.h XXX */ @@ -558,125 +605,146 @@ struct servent { struct hostent defined in w32api/include/winsock2.h */ -void free_servent(struct servent* s) { - HFREE(s->s_name); - char* next = s->s_aliases[0]; - while(next) { HFREE(next); next++; } - s->s_port = 0; - HFREE(s->s_proto); - HFREE(s); +void free_servent(struct servent* s) +{ + HFREE(s->s_name); + char* next = s->s_aliases[0]; + while(next) { HFREE(next); next++; } + s->s_port = 0; + HFREE(s->s_proto); + HFREE(s); } - + LPHOSTENT EXPORT -gethostbyname( - IN CONST CHAR FAR* name) +gethostbyname(IN CONST CHAR FAR* name) { - enum addr_type{ GH_INVALID, GH_IPV6, GH_IPV4, GH_RFC1123_DNS }; - typedef enum addr_type addr_type; - addr_type addr; - int ret = 0; - char* found = 0; - DNS_STATUS dns_status = {0}; - /* include/WinDNS.h -- look up DNS_RECORD on MSDN */ - PDNS_RECORD dp = 0; + enum addr_type + { + GH_INVALID, + GH_IPV6, + GH_IPV4, + GH_RFC1123_DNS + }; + typedef enum addr_type addr_type; + addr_type addr; + int ret = 0; + char* found = 0; + DNS_STATUS dns_status = {0}; + /* include/WinDNS.h -- look up DNS_RECORD on MSDN */ + PDNS_RECORD dp = 0; - addr = GH_INVALID; + addr = GH_INVALID; - PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData; + PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData; - if( !p ) { - WSASetLastError( WSANOTINITIALISED ); - return NULL; - } + if( !p ) + { + WSASetLastError( WSANOTINITIALISED ); + return NULL; + } - check_hostent(&p->Hostent); /*XXX alloc_hostent*/ + check_hostent(&p->Hostent); /*XXX alloc_hostent*/ - /* Hostname NULL - behave like gethostname */ - if(name == NULL) { - ret = gethostname(p->Hostent->h_name, MAX_HOSTNAME_LEN); - return p->Hostent; - } + /* Hostname NULL - behave like gethostname */ + if(name == NULL) + { + ret = gethostname(p->Hostent->h_name, MAX_HOSTNAME_LEN); + return p->Hostent; + } - if(ret) { - WSASetLastError( WSAHOST_NOT_FOUND ); //WSANO_DATA ?? - return NULL; - } + if(ret) + { + WSASetLastError( WSAHOST_NOT_FOUND ); //WSANO_DATA ?? + return NULL; + } - /* Is it an IPv6 address? */ - found = strstr(name, ":"); - if( found != NULL ) { - addr = GH_IPV6; - goto act; - } + /* Is it an IPv6 address? */ + found = strstr(name, ":"); + if( found != NULL ) + { + addr = GH_IPV6; + goto act; + } - /* Is it an IPv4 address? */ - if (!isalpha(name[0])) { - addr = GH_IPV4; - goto act; - } + /* Is it an IPv4 address? */ + if (!isalpha(name[0])) + { + addr = GH_IPV4; + goto act; + } - addr = GH_RFC1123_DNS; + addr = GH_RFC1123_DNS; /* Broken out in case we want to get fancy later */ act: - switch(addr){ - case GH_IPV6: - WSASetLastError(STATUS_NOT_IMPLEMENTED); - return NULL; - break; + switch(addr) + { + case GH_IPV6: + WSASetLastError(STATUS_NOT_IMPLEMENTED); + return NULL; + break; - case GH_INVALID: - WSASetLastError(WSAEFAULT); - return NULL; - break; + case GH_INVALID: + WSASetLastError(WSAEFAULT); + return NULL; + break; - /* Note: If passed an IP address, MSDN says that gethostbyname() - treats it as an unknown host. - This is different from the unix implementation. Use inet_addr() - */ - case GH_IPV4: - case GH_RFC1123_DNS: - /* DNS_TYPE_A: include/WinDNS.h */ - /* DnsQuery -- lib/dnsapi/dnsapi/query.c */ - dns_status = DnsQuery_A ( name, DNS_TYPE_A, DNS_QUERY_STANDARD, - 0, /* extra dns servers */ &dp, 0 ); + /* Note: If passed an IP address, MSDN says that gethostbyname() + treats it as an unknown host. + This is different from the unix implementation. Use inet_addr() + */ + case GH_IPV4: + case GH_RFC1123_DNS: + /* DNS_TYPE_A: include/WinDNS.h */ + /* DnsQuery -- lib/dnsapi/dnsapi/query.c */ + dns_status = DnsQuery_A(name, + DNS_TYPE_A, + DNS_QUERY_STANDARD, + 0, + /* extra dns servers */ &dp, + 0); - if(dns_status == 0) { - //ASSERT(dp->wType == DNS_TYPE_A); - //ASSERT(dp->wDataLength == sizeof(DNS_A_DATA)); - PDNS_RECORD curr; - for(curr=dp; - curr != NULL && curr->wType != DNS_TYPE_A; - curr = curr->pNext ) { - WS_DbgPrint(MID_TRACE,("wType: %i\n", curr->wType)); - /*empty */ - } + if(dns_status == 0) + { + //ASSERT(dp->wType == DNS_TYPE_A); + //ASSERT(dp->wDataLength == sizeof(DNS_A_DATA)); + PDNS_RECORD curr; + for(curr=dp; + curr != NULL && curr->wType != DNS_TYPE_A; + curr = curr->pNext ) + { + WS_DbgPrint(MID_TRACE,("wType: %i\n", curr->wType)); + /*empty */ + } - if(curr) { - WS_DbgPrint(MID_TRACE,("populating hostent\n")); - WS_DbgPrint(MID_TRACE,("pName is (%s)\n", curr->pName)); - populate_hostent(p->Hostent, (PCHAR)curr->pName, curr->Data.A); - DnsRecordListFree(dp, DnsFreeRecordList); - return p->Hostent; - } else { - DnsRecordListFree(dp, DnsFreeRecordList); - } - } + if(curr) + { + WS_DbgPrint(MID_TRACE,("populating hostent\n")); + WS_DbgPrint(MID_TRACE,("pName is (%s)\n", curr->pName)); + populate_hostent(p->Hostent, (PCHAR)curr->pName, curr->Data.A); + DnsRecordListFree(dp, DnsFreeRecordList); + return p->Hostent; + } + else + { + DnsRecordListFree(dp, DnsFreeRecordList); + } + } - WS_DbgPrint(MID_TRACE,("Called DnsQuery, but host not found. Err: %i\n", - dns_status)); - WSASetLastError(WSAHOST_NOT_FOUND); - return NULL; - - break; + WS_DbgPrint(MID_TRACE,("Called DnsQuery, but host not found. Err: %i\n", + dns_status)); + WSASetLastError(WSAHOST_NOT_FOUND); + return NULL; - default: - WSASetLastError(WSANO_RECOVERY); - return NULL; - break; + break; + + default: + WSASetLastError(WSANO_RECOVERY); + return NULL; + break; } WSASetLastError(WSANO_RECOVERY); @@ -688,20 +756,24 @@ gethostbyname( */ INT EXPORT -gethostname( - OUT CHAR FAR* name, - IN INT namelen) +gethostname(OUT CHAR FAR* name, + IN INT namelen) { - DWORD size = namelen; - - int ret = GetComputerNameExA(ComputerNameDnsHostname, name, &size); - if(ret == 0) { - WSASetLastError(WSAEFAULT); - return SOCKET_ERROR; - } else { - name[namelen-1] = '\0'; - return 0; - } + DWORD size = namelen; + + int ret = GetComputerNameExA(ComputerNameDnsHostname, + name, + &size); + if(ret == 0) + { + WSASetLastError(WSAEFAULT); + return SOCKET_ERROR; + } + else + { + name[namelen-1] = '\0'; + return 0; + } } @@ -717,19 +789,22 @@ gethostname( */ LPPROTOENT EXPORT -getprotobyname( - IN CONST CHAR FAR* name) +getprotobyname(IN CONST CHAR FAR* name) { static CHAR *udp_aliases = 0; static PROTOENT udp = { "udp", &udp_aliases, 17 }; static CHAR *tcp_aliases = 0; static PROTOENT tcp = { "tcp", &tcp_aliases, 6 }; - if( !_stricmp( name, "udp" ) ) { - return &udp; - } else if( !_stricmp( name, "tcp" ) ) { - return &tcp; + + if(!_stricmp(name, "udp")) + { + return &udp; } - + else if (!_stricmp( name, "tcp")) + { + return &tcp; + } + return 0; } @@ -738,8 +813,7 @@ getprotobyname( */ LPPROTOENT EXPORT -getprotobynumber( - IN INT number) +getprotobynumber(IN INT number) { UNIMPLEMENTED @@ -751,14 +825,16 @@ getprotobynumber( #define SKIPANDMARKSTR(ptr,act) \ {while(*ptr && !isspace(*ptr)) ptr++; \ if(!*ptr) {act;} else { *ptr = 0; ptr++; }} - -static BOOL DecodeServEntFromString( IN PCHAR ServiceString, - OUT PCHAR *ServiceName, - OUT PCHAR *PortNumberStr, - OUT PCHAR *ProtocolStr, - IN PCHAR *Aliases, - IN DWORD MaxAlias ) { + +static BOOL +DecodeServEntFromString(IN PCHAR ServiceString, + OUT PCHAR *ServiceName, + OUT PCHAR *PortNumberStr, + OUT PCHAR *ProtocolStr, + IN PCHAR *Aliases, + IN DWORD MaxAlias) +{ UINT NAliases = 0; WS_DbgPrint(MAX_TRACE, ("Parsing service ent [%s]\n", ServiceString)); @@ -770,16 +846,19 @@ static BOOL DecodeServEntFromString( IN PCHAR ServiceString, *PortNumberStr = ServiceString; SKIPANDMARKSTR(ServiceString, ;); - while( *ServiceString && NAliases < MaxAlias - 1 ) { - SKIPWS(ServiceString, break); - if( *ServiceString ) { - SKIPANDMARKSTR(ServiceString, ;); - if( strlen(ServiceString) ) { - WS_DbgPrint(MAX_TRACE, ("Alias: %s\n", ServiceString)); - *Aliases++ = ServiceString; - NAliases++; - } - } + while( *ServiceString && NAliases < MaxAlias - 1 ) + { + SKIPWS(ServiceString, break); + if( *ServiceString ) + { + SKIPANDMARKSTR(ServiceString, ;); + if( strlen(ServiceString) ) + { + WS_DbgPrint(MAX_TRACE, ("Alias: %s\n", ServiceString)); + *Aliases++ = ServiceString; + NAliases++; + } + } } *Aliases = NULL; @@ -788,8 +867,8 @@ static BOOL DecodeServEntFromString( IN PCHAR ServiceString, **ProtocolStr = 0; (*ProtocolStr)++; WS_DbgPrint(MAX_TRACE, ("Parsing done: %s %s %s %d\n", - *ServiceName, *ProtocolStr, *PortNumberStr, - NAliases)); + *ServiceName, *ProtocolStr, *PortNumberStr, + NAliases)); return TRUE; } @@ -801,57 +880,60 @@ static BOOL DecodeServEntFromString( IN PCHAR ServiceString, */ LPSERVENT EXPORT -getservbyname( - - IN CONST CHAR FAR* name, - IN CONST CHAR FAR* proto) +getservbyname(IN CONST CHAR FAR* name, + IN CONST CHAR FAR* proto) { BOOL Found = FALSE; HANDLE ServicesFile; CHAR ServiceDBData[BUFSIZ] = { 0 }; PCHAR SystemDirectory = ServiceDBData; /* Reuse this stack space */ PCHAR ServicesFileLocation = "\\drivers\\etc\\services"; - PCHAR ThisLine = 0, NextLine = 0, ServiceName = 0, PortNumberStr = 0, - ProtocolStr = 0, Comment = 0; + PCHAR ThisLine = 0, NextLine = 0, ServiceName = 0, PortNumberStr = 0, + ProtocolStr = 0, Comment = 0; PCHAR Aliases[WS2_INTERNAL_MAX_ALIAS] = { 0 }; - UINT i,SizeNeeded = 0, - SystemDirSize = sizeof(ServiceDBData) - 1; + UINT i,SizeNeeded = 0, + SystemDirSize = sizeof(ServiceDBData) - 1; DWORD ReadSize = 0, ValidData = 0; PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData; - - if( !p ) { - WSASetLastError( WSANOTINITIALISED ); - return NULL; + + if( !p ) + { + WSASetLastError( WSANOTINITIALISED ); + return NULL; } - if( !name ) { - WSASetLastError( WSANO_RECOVERY ); - return NULL; - } - - if( !GetSystemDirectoryA( SystemDirectory, SystemDirSize ) ) { - WSASetLastError( WSANO_RECOVERY ); - WS_DbgPrint(MIN_TRACE, ("Could not get windows system directory.\n")); - return NULL; /* Can't get system directory */ - } - - strncat( SystemDirectory, ServicesFileLocation, SystemDirSize ); - - ServicesFile = CreateFileA( SystemDirectory, - GENERIC_READ, - FILE_SHARE_READ, - NULL, - OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL | - FILE_FLAG_SEQUENTIAL_SCAN, - NULL ); - - if( ServicesFile == INVALID_HANDLE_VALUE ) { - WSASetLastError( WSANO_RECOVERY ); - return NULL; + if( !name ) + { + WSASetLastError( WSANO_RECOVERY ); + return NULL; } - /* Scan the services file ... + if( !GetSystemDirectoryA( SystemDirectory, SystemDirSize ) ) + { + WSASetLastError( WSANO_RECOVERY ); + WS_DbgPrint(MIN_TRACE, ("Could not get windows system directory.\n")); + return NULL; /* Can't get system directory */ + } + + strncat(SystemDirectory, + ServicesFileLocation, + SystemDirSize ); + + ServicesFile = CreateFileA(SystemDirectory, + GENERIC_READ, + FILE_SHARE_READ, + NULL, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, + NULL ); + + if( ServicesFile == INVALID_HANDLE_VALUE ) + { + WSASetLastError( WSANO_RECOVERY ); + return NULL; + } + + /* Scan the services file ... * * We will read up to BUFSIZ bytes per pass, until the buffer does not * contain a full line, then we will try to read more. @@ -860,95 +942,113 @@ getservbyname( */ /* Initial Read */ - while( !Found && - ReadFile( ServicesFile, ServiceDBData + ValidData, - sizeof( ServiceDBData ) - ValidData, - &ReadSize, NULL ) ) { - ValidData += ReadSize; - ReadSize = 0; - NextLine = ThisLine = ServiceDBData; + while(!Found && + ReadFile(ServicesFile, + ServiceDBData + ValidData, + sizeof( ServiceDBData ) - ValidData, + &ReadSize, + NULL)) + { + ValidData += ReadSize; + ReadSize = 0; + NextLine = ThisLine = ServiceDBData; - /* Find the beginning of the next line */ - while( NextLine < ServiceDBData + ValidData && - *NextLine != '\r' && *NextLine != '\n' ) NextLine++; - - /* Zero and skip, so we can treat what we have as a string */ - if( NextLine >= ServiceDBData + ValidData ) - break; + /* Find the beginning of the next line */ + while(NextLine < ServiceDBData + ValidData && + *NextLine != '\r' && *NextLine != '\n' ) + { + NextLine++; + } - *NextLine = 0; NextLine++; + /* Zero and skip, so we can treat what we have as a string */ + if( NextLine >= ServiceDBData + ValidData ) + break; - Comment = strchr( ThisLine, '#' ); - if( Comment ) *Comment = 0; /* Terminate at comment start */ + *NextLine = 0; NextLine++; - if( DecodeServEntFromString( ThisLine, - &ServiceName, - &PortNumberStr, - &ProtocolStr, - Aliases, - WS2_INTERNAL_MAX_ALIAS ) && - !strcmp( ServiceName, name ) && - (proto ? !strcmp( ProtocolStr, proto ) : TRUE) ) { + Comment = strchr( ThisLine, '#' ); + if( Comment ) *Comment = 0; /* Terminate at comment start */ - WS_DbgPrint(MAX_TRACE,("Found the service entry.\n")); - Found = TRUE; - SizeNeeded = sizeof(WINSOCK_GETSERVBYNAME_CACHE) + - (NextLine - ThisLine); - break; - } + if(DecodeServEntFromString(ThisLine, + &ServiceName, + &PortNumberStr, + &ProtocolStr, + Aliases, + WS2_INTERNAL_MAX_ALIAS) && + !strcmp( ServiceName, name ) && + (proto ? !strcmp( ProtocolStr, proto ) : TRUE) ) + { - /* Get rid of everything we read so far */ - while( NextLine <= ServiceDBData + ValidData && - isspace( *NextLine ) ) NextLine++; + WS_DbgPrint(MAX_TRACE,("Found the service entry.\n")); + Found = TRUE; + SizeNeeded = sizeof(WINSOCK_GETSERVBYNAME_CACHE) + + (NextLine - ThisLine); + break; + } - WS_DbgPrint(MAX_TRACE,("About to move %d chars\n", - ServiceDBData + ValidData - NextLine)); + /* Get rid of everything we read so far */ + while( NextLine <= ServiceDBData + ValidData && + isspace( *NextLine ) ) + { + NextLine++; + } - memmove( ServiceDBData, NextLine, - ServiceDBData + ValidData - NextLine ); - ValidData -= NextLine - ServiceDBData; - WS_DbgPrint(MAX_TRACE,("Valid bytes: %d\n", ValidData)); + WS_DbgPrint(MAX_TRACE,("About to move %d chars\n", + ServiceDBData + ValidData - NextLine)); + + memmove(ServiceDBData, + NextLine, + ServiceDBData + ValidData - NextLine ); + ValidData -= NextLine - ServiceDBData; + WS_DbgPrint(MAX_TRACE,("Valid bytes: %d\n", ValidData)); } /* This we'll do no matter what */ CloseHandle( ServicesFile ); - - if( !Found ) { - WS_DbgPrint(MAX_TRACE,("Not found\n")); - WSASetLastError( WSANO_DATA ); - return NULL; + + if( !Found ) + { + WS_DbgPrint(MAX_TRACE,("Not found\n")); + WSASetLastError( WSANO_DATA ); + return NULL; } - - if( !p->Getservbyname || p->Getservbyname->Size < SizeNeeded ) { - /* Free previous getservbyname buffer, allocate bigger */ - if( p->Getservbyname ) - HeapFree(GlobalHeap, 0, p->Getservbyname); - p->Getservbyname = HeapAlloc(GlobalHeap, 0, SizeNeeded); - if( !p->Getservbyname ) { - WS_DbgPrint(MIN_TRACE,("Couldn't allocate %d bytes\n", - SizeNeeded)); - WSASetLastError( WSATRY_AGAIN ); - return NULL; - } - p->Getservbyname->Size = SizeNeeded; + + if( !p->Getservbyname || p->Getservbyname->Size < SizeNeeded ) + { + /* Free previous getservbyname buffer, allocate bigger */ + if( p->Getservbyname ) + HeapFree(GlobalHeap, 0, p->Getservbyname); + p->Getservbyname = HeapAlloc(GlobalHeap, 0, SizeNeeded); + if( !p->Getservbyname ) + { + WS_DbgPrint(MIN_TRACE,("Couldn't allocate %d bytes\n", + SizeNeeded)); + WSASetLastError( WSATRY_AGAIN ); + return NULL; + } + p->Getservbyname->Size = SizeNeeded; } /* Copy the data */ - memmove( p->Getservbyname->Data, - ThisLine, - NextLine - ThisLine ); + memmove(p->Getservbyname->Data, + ThisLine, + NextLine - ThisLine ); ADJ_PTR(ServiceName,ThisLine,p->Getservbyname->Data); ADJ_PTR(ProtocolStr,ThisLine,p->Getservbyname->Data); - WS_DbgPrint(MAX_TRACE, - ("ServiceName: %s, Protocol: %s\n", ServiceName, ProtocolStr)); - - for( i = 0; Aliases[i]; i++ ) { - ADJ_PTR(Aliases[i],ThisLine,p->Getservbyname->Data); - WS_DbgPrint(MAX_TRACE,("Aliase %d: %s\n", i, Aliases[i])); + WS_DbgPrint(MAX_TRACE, ("ServiceName: %s, Protocol: %s\n", + ServiceName, + ProtocolStr)); + + for( i = 0; Aliases[i]; i++ ) + { + ADJ_PTR(Aliases[i],ThisLine,p->Getservbyname->Data); + WS_DbgPrint(MAX_TRACE,("Aliase %d: %s\n", i, Aliases[i])); } - memcpy(p->Getservbyname,Aliases,sizeof(Aliases)); + memcpy(p->Getservbyname, + Aliases, + sizeof(Aliases)); /* Create the struct proper */ p->Getservbyname->ServerEntry.s_name = ServiceName; @@ -965,56 +1065,60 @@ getservbyname( */ LPSERVENT EXPORT -getservbyport( - IN INT port, - IN CONST CHAR FAR* proto) +getservbyport(IN INT port, + IN CONST CHAR FAR* proto) { BOOL Found = FALSE; HANDLE ServicesFile; CHAR ServiceDBData[BUFSIZ] = { 0 }; PCHAR SystemDirectory = ServiceDBData; /* Reuse this stack space */ PCHAR ServicesFileLocation = "\\drivers\\etc\\services"; - PCHAR ThisLine = 0, NextLine = 0, ServiceName = 0, PortNumberStr = 0, - ProtocolStr = 0, Comment = 0; + PCHAR ThisLine = 0, NextLine = 0, ServiceName = 0, PortNumberStr = 0, + ProtocolStr = 0, Comment = 0; PCHAR Aliases[WS2_INTERNAL_MAX_ALIAS] = { 0 }; - UINT i,SizeNeeded = 0, - SystemDirSize = sizeof(ServiceDBData) - 1; + UINT i,SizeNeeded = 0, + SystemDirSize = sizeof(ServiceDBData) - 1; DWORD ReadSize = 0, ValidData = 0; PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData; - - if( !p ) { - WSASetLastError( WSANOTINITIALISED ); - return NULL; + + if( !p ) + { + WSASetLastError( WSANOTINITIALISED ); + return NULL; } - if ( !port ) { + if ( !port ) + { WSASetLastError( WSANO_RECOVERY ); return NULL; } - - if( !GetSystemDirectoryA( SystemDirectory, SystemDirSize ) ) { - WSASetLastError( WSANO_RECOVERY ); - WS_DbgPrint(MIN_TRACE, ("Could not get windows system directory.\n")); - return NULL; /* Can't get system directory */ - } - - strncat( SystemDirectory, ServicesFileLocation, SystemDirSize ); - ServicesFile = CreateFileA( SystemDirectory, - GENERIC_READ, - FILE_SHARE_READ, - NULL, - OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL | - FILE_FLAG_SEQUENTIAL_SCAN, - NULL ); - - if( ServicesFile == INVALID_HANDLE_VALUE ) { - WSASetLastError( WSANO_RECOVERY ); - return NULL; + if( !GetSystemDirectoryA( SystemDirectory, SystemDirSize ) ) + { + WSASetLastError( WSANO_RECOVERY ); + WS_DbgPrint(MIN_TRACE, ("Could not get windows system directory.\n")); + return NULL; /* Can't get system directory */ } - /* Scan the services file ... + strncat(SystemDirectory, + ServicesFileLocation, + SystemDirSize ); + + ServicesFile = CreateFileA(SystemDirectory, + GENERIC_READ, + FILE_SHARE_READ, + NULL, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, + NULL ); + + if( ServicesFile == INVALID_HANDLE_VALUE ) + { + WSASetLastError( WSANO_RECOVERY ); + return NULL; + } + + /* Scan the services file ... * * We will read up to BUFSIZ bytes per pass, until the buffer does not * contain a full line, then we will try to read more. @@ -1023,92 +1127,105 @@ getservbyport( */ /* Initial Read */ - while( !Found && - ReadFile( ServicesFile, ServiceDBData + ValidData, - sizeof( ServiceDBData ) - ValidData, - &ReadSize, NULL ) ) { - ValidData += ReadSize; - ReadSize = 0; - NextLine = ThisLine = ServiceDBData; + while(!Found && + ReadFile(ServicesFile, + ServiceDBData + ValidData, + sizeof( ServiceDBData ) - ValidData, + &ReadSize, NULL ) ) + { + ValidData += ReadSize; + ReadSize = 0; + NextLine = ThisLine = ServiceDBData; - /* Find the beginning of the next line */ - while( NextLine < ServiceDBData + ValidData && - *NextLine != '\r' && *NextLine != '\n' ) NextLine++; - - /* Zero and skip, so we can treat what we have as a string */ - if( NextLine >= ServiceDBData + ValidData ) - break; + /* Find the beginning of the next line */ + while( NextLine < ServiceDBData + ValidData && + *NextLine != '\r' && *NextLine != '\n' ) NextLine++; - *NextLine = 0; NextLine++; + /* Zero and skip, so we can treat what we have as a string */ + if( NextLine >= ServiceDBData + ValidData ) + break; - Comment = strchr( ThisLine, '#' ); - if( Comment ) *Comment = 0; /* Terminate at comment start */ + *NextLine = 0; NextLine++; - if( DecodeServEntFromString( ThisLine, - &ServiceName, - &PortNumberStr, - &ProtocolStr, - Aliases, - WS2_INTERNAL_MAX_ALIAS ) && - (htons(atoi( PortNumberStr )) == port ) && - (proto ? !strcmp( ProtocolStr, proto ) : TRUE) ) { + Comment = strchr( ThisLine, '#' ); + if( Comment ) *Comment = 0; /* Terminate at comment start */ + + if(DecodeServEntFromString(ThisLine, + &ServiceName, + &PortNumberStr, + &ProtocolStr, + Aliases, + WS2_INTERNAL_MAX_ALIAS ) && + (htons(atoi( PortNumberStr )) == port ) && + (proto ? !strcmp( ProtocolStr, proto ) : TRUE) ) + { WS_DbgPrint(MAX_TRACE,("Found the port entry.\n")); - Found = TRUE; - SizeNeeded = sizeof(WINSOCK_GETSERVBYPORT_CACHE) + - (NextLine - ThisLine); - break; - } + Found = TRUE; + SizeNeeded = sizeof(WINSOCK_GETSERVBYPORT_CACHE) + + (NextLine - ThisLine); + break; + } - /* Get rid of everything we read so far */ - while( NextLine <= ServiceDBData + ValidData && - isspace( *NextLine ) ) NextLine++; + /* Get rid of everything we read so far */ + while( NextLine <= ServiceDBData + ValidData && + isspace( *NextLine ) ) + { + NextLine++; + } - WS_DbgPrint(MAX_TRACE,("About to move %d chars\n", - ServiceDBData + ValidData - NextLine)); + WS_DbgPrint(MAX_TRACE,("About to move %d chars\n", + ServiceDBData + ValidData - NextLine)); - memmove( ServiceDBData, NextLine, - ServiceDBData + ValidData - NextLine ); - ValidData -= NextLine - ServiceDBData; - WS_DbgPrint(MAX_TRACE,("Valid bytes: %d\n", ValidData)); + memmove(ServiceDBData, + NextLine, + ServiceDBData + ValidData - NextLine ); + ValidData -= NextLine - ServiceDBData; + WS_DbgPrint(MAX_TRACE,("Valid bytes: %d\n", ValidData)); } /* This we'll do no matter what */ CloseHandle( ServicesFile ); - - if( !Found ) { - WS_DbgPrint(MAX_TRACE,("Not found\n")); - WSASetLastError( WSANO_DATA ); - return NULL; + + if( !Found ) + { + WS_DbgPrint(MAX_TRACE,("Not found\n")); + WSASetLastError( WSANO_DATA ); + return NULL; } - - if( !p->Getservbyport || p->Getservbyport->Size < SizeNeeded ) { - /* Free previous getservbyport buffer, allocate bigger */ - if( p->Getservbyport ) - HeapFree(GlobalHeap, 0, p->Getservbyport); - p->Getservbyport = HeapAlloc(GlobalHeap, 0, SizeNeeded); - if( !p->Getservbyport ) { - WS_DbgPrint(MIN_TRACE,("Couldn't allocate %d bytes\n", - SizeNeeded)); - WSASetLastError( WSATRY_AGAIN ); - return NULL; - } + + if( !p->Getservbyport || p->Getservbyport->Size < SizeNeeded ) + { + /* Free previous getservbyport buffer, allocate bigger */ + if( p->Getservbyport ) + HeapFree(GlobalHeap, 0, p->Getservbyport); + p->Getservbyport = HeapAlloc(GlobalHeap, + 0, + SizeNeeded); + if( !p->Getservbyport ) + { + WS_DbgPrint(MIN_TRACE,("Couldn't allocate %d bytes\n", + SizeNeeded)); + WSASetLastError( WSATRY_AGAIN ); + return NULL; + } p->Getservbyport->Size = SizeNeeded; } /* Copy the data */ - memmove( p->Getservbyport->Data, - ThisLine, - NextLine - ThisLine ); + memmove(p->Getservbyport->Data, + ThisLine, + NextLine - ThisLine ); ADJ_PTR(PortNumberStr,ThisLine,p->Getservbyport->Data); ADJ_PTR(ProtocolStr,ThisLine,p->Getservbyport->Data); - WS_DbgPrint(MAX_TRACE, - ("Port Number: %s, Protocol: %s\n", PortNumberStr, ProtocolStr)); - - for( i = 0; Aliases[i]; i++ ) { - ADJ_PTR(Aliases[i],ThisLine,p->Getservbyport->Data); - WS_DbgPrint(MAX_TRACE,("Aliases %d: %s\n", i, Aliases[i])); + WS_DbgPrint(MAX_TRACE, ("Port Number: %s, Protocol: %s\n", + PortNumberStr, ProtocolStr)); + + for( i = 0; Aliases[i]; i++ ) + { + ADJ_PTR(Aliases[i],ThisLine,p->Getservbyport->Data); + WS_DbgPrint(MAX_TRACE,("Aliases %d: %s\n", i, Aliases[i])); } memcpy(p->Getservbyport,Aliases,sizeof(Aliases)); @@ -1131,8 +1248,7 @@ getservbyport( */ ULONG EXPORT -inet_addr( - IN CONST CHAR FAR* cp) +inet_addr(IN CONST CHAR FAR* cp) /* * FUNCTION: Converts a string containing an IPv4 address to an unsigned long * ARGUMENTS: @@ -1153,7 +1269,8 @@ inet_addr( if (strcmp(p, " ") == 0) return 0; - for (i = 0; i <= 3; i++) { + for (i = 0; i <= 3; i++) + { u += (strtoul(p, &p, 0) << (i * 8)); if (strlen(p) == 0) @@ -1174,8 +1291,7 @@ inet_addr( */ CHAR FAR* EXPORT -inet_ntoa( - IN IN_ADDR in) +inet_ntoa(IN IN_ADDR in) { CHAR b[10]; PCHAR p; @@ -1192,6 +1308,7 @@ inet_ntoa( _itoa((in.S_un.S_addr >> 24) & 0xFF, b, 10); strcat(p, "."); strcat(p, b); + return (CHAR FAR*)p; } @@ -1201,14 +1318,13 @@ inet_ntoa( */ HANDLE EXPORT -WSAAsyncGetHostByAddr( - IN HWND hWnd, - IN UINT wMsg, - IN CONST CHAR FAR* addr, - IN INT len, - IN INT type, - OUT CHAR FAR* buf, - IN INT buflen) +WSAAsyncGetHostByAddr(IN HWND hWnd, + IN UINT wMsg, + IN CONST CHAR FAR* addr, + IN INT len, + IN INT type, + OUT CHAR FAR* buf, + IN INT buflen) { UNIMPLEMENTED @@ -1221,12 +1337,11 @@ WSAAsyncGetHostByAddr( */ HANDLE EXPORT -WSAAsyncGetHostByName( - IN HWND hWnd, - IN UINT wMsg, - IN CONST CHAR FAR* name, - OUT CHAR FAR* buf, - IN INT buflen) +WSAAsyncGetHostByName(IN HWND hWnd, + IN UINT wMsg, + IN CONST CHAR FAR* name, + OUT CHAR FAR* buf, + IN INT buflen) { UNIMPLEMENTED @@ -1239,12 +1354,11 @@ WSAAsyncGetHostByName( */ HANDLE EXPORT -WSAAsyncGetProtoByName( - IN HWND hWnd, - IN UINT wMsg, - IN CONST CHAR FAR* name, - OUT CHAR FAR* buf, - IN INT buflen) +WSAAsyncGetProtoByName(IN HWND hWnd, + IN UINT wMsg, + IN CONST CHAR FAR* name, + OUT CHAR FAR* buf, + IN INT buflen) { UNIMPLEMENTED @@ -1257,12 +1371,11 @@ WSAAsyncGetProtoByName( */ HANDLE EXPORT -WSAAsyncGetProtoByNumber( - IN HWND hWnd, - IN UINT wMsg, - IN INT number, - OUT CHAR FAR* buf, - IN INT buflen) +WSAAsyncGetProtoByNumber(IN HWND hWnd, + IN UINT wMsg, + IN INT number, + OUT CHAR FAR* buf, + IN INT buflen) { UNIMPLEMENTED @@ -1274,13 +1387,12 @@ WSAAsyncGetProtoByNumber( */ HANDLE EXPORT -WSAAsyncGetServByName( - IN HWND hWnd, - IN UINT wMsg, - IN CONST CHAR FAR* name, - IN CONST CHAR FAR* proto, - OUT CHAR FAR* buf, - IN INT buflen) +WSAAsyncGetServByName(IN HWND hWnd, + IN UINT wMsg, + IN CONST CHAR FAR* name, + IN CONST CHAR FAR* proto, + OUT CHAR FAR* buf, + IN INT buflen) { UNIMPLEMENTED @@ -1293,13 +1405,12 @@ WSAAsyncGetServByName( */ HANDLE EXPORT -WSAAsyncGetServByPort( - IN HWND hWnd, - IN UINT wMsg, - IN INT port, - IN CONST CHAR FAR* proto, - OUT CHAR FAR* buf, - IN INT buflen) +WSAAsyncGetServByPort(IN HWND hWnd, + IN UINT wMsg, + IN INT port, + IN CONST CHAR FAR* proto, + OUT CHAR FAR* buf, + IN INT buflen) { UNIMPLEMENTED diff --git a/reactos/dll/win32/ws2_32/misc/sndrcv.c b/reactos/dll/win32/ws2_32/misc/sndrcv.c index d6918c4f6da..ec3384b7f55 100644 --- a/reactos/dll/win32/ws2_32/misc/sndrcv.c +++ b/reactos/dll/win32/ws2_32/misc/sndrcv.c @@ -20,25 +20,36 @@ */ INT EXPORT -recv( - IN SOCKET s, - OUT CHAR FAR* buf, - IN INT len, - IN INT flags) +recv(IN SOCKET s, + OUT CHAR FAR* buf, + IN INT len, + IN INT flags) { - DWORD Error; - DWORD BytesReceived; - WSABUF WSABuf; + DWORD Error; + DWORD BytesReceived; + WSABUF WSABuf; - WS_DbgPrint(MAX_TRACE, ("s (0x%X) buf (0x%X) len (0x%X) flags (0x%X).\n", - s, buf, len, flags)); + WS_DbgPrint(MAX_TRACE, ("s (0x%X) buf (0x%X) len (0x%X) flags (0x%X).\n", + s, + buf, + len, + flags)); - WSABuf.len = len; - WSABuf.buf = (CHAR FAR*)buf; + WSABuf.len = len; + WSABuf.buf = (CHAR FAR*)buf; - Error = WSARecv(s, &WSABuf, 1, &BytesReceived, (LPDWORD)&flags, NULL, NULL); + Error = WSARecv(s, + &WSABuf, + 1, + &BytesReceived, + (LPDWORD)&flags, + NULL, + NULL); - if( Error ) return -1; else return BytesReceived; + if( Error ) + return -1; + else + return BytesReceived; } @@ -47,27 +58,40 @@ recv( */ INT EXPORT -recvfrom( - IN SOCKET s, - OUT CHAR FAR* buf, - IN INT len, - IN INT flags, - OUT LPSOCKADDR from, - IN OUT INT FAR* fromlen) +recvfrom(IN SOCKET s, + OUT CHAR FAR* buf, + IN INT len, + IN INT flags, + OUT LPSOCKADDR from, + IN OUT INT FAR* fromlen) { - DWORD Error; - DWORD BytesReceived; - WSABUF WSABuf; + DWORD Error; + DWORD BytesReceived; + WSABUF WSABuf; - WS_DbgPrint(MAX_TRACE, ("s (0x%X) buf (0x%X) len (0x%X) flags (0x%X).\n", - s, buf, len, flags)); + WS_DbgPrint(MAX_TRACE, ("s (0x%X) buf (0x%X) len (0x%X) flags (0x%X).\n", + s, + buf, + len, + flags)); - WSABuf.len = len; - WSABuf.buf = (CHAR FAR*)buf; + WSABuf.len = len; + WSABuf.buf = (CHAR FAR*)buf; - Error = WSARecvFrom(s, &WSABuf, 1, &BytesReceived, (LPDWORD)&flags, from, fromlen, NULL, NULL); + Error = WSARecvFrom(s, + &WSABuf, + 1, + &BytesReceived, + (LPDWORD)&flags, + from, + fromlen, + NULL, + NULL); - if( Error ) return -1; else return BytesReceived; + if( Error ) + return -1; + else + return BytesReceived; } @@ -76,31 +100,42 @@ recvfrom( */ INT EXPORT -send( - IN SOCKET s, - IN CONST CHAR FAR* buf, - IN INT len, - IN INT flags) +send(IN SOCKET s, + IN CONST CHAR FAR* buf, + IN INT len, + IN INT flags) { - DWORD BytesSent; - DWORD Error; - WSABUF WSABuf; + DWORD BytesSent; + DWORD Error; + WSABUF WSABuf; - WS_DbgPrint(MAX_TRACE, ("s (0x%X) buf (0x%X) len (0x%X) flags (0x%X).\n", - s, buf, len, flags)); + WS_DbgPrint(MAX_TRACE, ("s (0x%X) buf (0x%X) len (0x%X) flags (0x%X).\n", + s, + buf, + len, + flags)); - WSABuf.len = len; - WSABuf.buf = (CHAR FAR*)buf; + WSABuf.len = len; + WSABuf.buf = (CHAR FAR*)buf; - Error = WSASend(s, &WSABuf, 1, &BytesSent, flags, NULL, NULL); + Error = WSASend(s, + &WSABuf, + 1, + &BytesSent, + flags, + NULL, + NULL); - if( Error ) { - WS_DbgPrint(MAX_TRACE,("Reporting error %d\n", Error)); - return -1; - } else { - WS_DbgPrint(MAX_TRACE,("Read %d bytes\n", BytesSent)); - return BytesSent; - } + if( Error ) + { + WS_DbgPrint(MAX_TRACE,("Reporting error %d\n", Error)); + return -1; + } + else + { + WS_DbgPrint(MAX_TRACE,("Read %d bytes\n", BytesSent)); + return BytesSent; + } } @@ -109,27 +144,40 @@ send( */ INT EXPORT -sendto( - IN SOCKET s, - IN CONST CHAR FAR* buf, - IN INT len, - IN INT flags, - IN CONST struct sockaddr *to, - IN INT tolen) +sendto(IN SOCKET s, + IN CONST CHAR FAR* buf, + IN INT len, + IN INT flags, + IN CONST struct sockaddr *to, + IN INT tolen) { - DWORD Error; - DWORD BytesSent; - WSABUF WSABuf; + DWORD Error; + DWORD BytesSent; + WSABUF WSABuf; - WS_DbgPrint(MAX_TRACE, ("s (0x%X) buf (0x%X) len (0x%X) flags (0x%X).\n", - s, buf, len, flags)); + WS_DbgPrint(MAX_TRACE, ("s (0x%X) buf (0x%X) len (0x%X) flags (0x%X).\n", + s, + buf, + len, + flags)); - WSABuf.len = len; - WSABuf.buf = (CHAR FAR*)buf; + WSABuf.len = len; + WSABuf.buf = (CHAR FAR*)buf; - Error = WSASendTo(s, &WSABuf, 1, &BytesSent, flags, to, tolen, NULL, NULL); + Error = WSASendTo(s, + &WSABuf, + 1, + &BytesSent, + flags, + to, + tolen, + NULL, + NULL); - if( Error ) return -1; else return BytesSent; + if( Error ) + return -1; + else + return BytesSent; } @@ -138,38 +186,45 @@ sendto( */ INT EXPORT -WSARecv( - 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) +WSARecv(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) { - PCATALOG_ENTRY Provider; - INT Errno; - INT Code; + PCATALOG_ENTRY Provider; + INT Errno; + INT Code; - WS_DbgPrint(MAX_TRACE, ("Called.\n")); + WS_DbgPrint(MAX_TRACE, ("Called.\n")); - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, + &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } - assert(Provider->ProcTable.lpWSPRecv); + assert(Provider->ProcTable.lpWSPRecv); - Code = Provider->ProcTable.lpWSPRecv(s, lpBuffers, dwBufferCount, - lpNumberOfBytesRecvd, lpFlags, lpOverlapped, - lpCompletionRoutine, NULL /* lpThreadId */, &Errno); + Code = Provider->ProcTable.lpWSPRecv(s, + lpBuffers, + dwBufferCount, + lpNumberOfBytesRecvd, + lpFlags, + lpOverlapped, + lpCompletionRoutine, + NULL /* lpThreadId */, + &Errno); - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Code == SOCKET_ERROR) - WSASetLastError(Errno); + if (Code == SOCKET_ERROR) + WSASetLastError(Errno); - return Code; + return Code; } @@ -178,13 +233,12 @@ WSARecv( */ INT EXPORT -WSARecvDisconnect( - IN SOCKET s, - OUT LPWSABUF lpInboundDisconnectData) +WSARecvDisconnect(IN SOCKET s, + OUT LPWSABUF lpInboundDisconnectData) { - UNIMPLEMENTED + UNIMPLEMENTED - return 0; + return 0; } @@ -193,40 +247,48 @@ WSARecvDisconnect( */ INT EXPORT -WSARecvFrom( - 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) +WSARecvFrom(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) { - PCATALOG_ENTRY Provider; - INT Errno; - INT Code; + PCATALOG_ENTRY Provider; + INT Errno; + INT Code; - WS_DbgPrint(MAX_TRACE, ("Called.\n")); + WS_DbgPrint(MAX_TRACE, ("Called.\n")); - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } - assert(Provider->ProcTable.lpWSPRecvFrom); + assert(Provider->ProcTable.lpWSPRecvFrom); - Code = Provider->ProcTable.lpWSPRecvFrom(s, lpBuffers, dwBufferCount, - lpNumberOfBytesRecvd, lpFlags, lpFrom, lpFromlen, lpOverlapped, - lpCompletionRoutine, NULL /* lpThreadId */, &Errno); + Code = Provider->ProcTable.lpWSPRecvFrom(s, + lpBuffers, + dwBufferCount, + lpNumberOfBytesRecvd, + lpFlags, + lpFrom, + lpFromlen, + lpOverlapped, + lpCompletionRoutine, + NULL /* lpThreadId */, + &Errno); - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Code == SOCKET_ERROR) - WSASetLastError(Errno); + if (Code == SOCKET_ERROR) + WSASetLastError(Errno); - return Code; + return Code; } @@ -235,38 +297,44 @@ WSARecvFrom( */ INT EXPORT -WSASend( - IN SOCKET s, - IN LPWSABUF lpBuffers, - IN DWORD dwBufferCount, - OUT LPDWORD lpNumberOfBytesSent, - IN DWORD dwFlags, - IN LPWSAOVERLAPPED lpOverlapped, - IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) +WSASend(IN SOCKET s, + IN LPWSABUF lpBuffers, + IN DWORD dwBufferCount, + OUT LPDWORD lpNumberOfBytesSent, + IN DWORD dwFlags, + IN LPWSAOVERLAPPED lpOverlapped, + IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) { - PCATALOG_ENTRY Provider; - INT Errno; - INT Code; + PCATALOG_ENTRY Provider; + INT Errno; + INT Code; - WS_DbgPrint(MAX_TRACE, ("Called.\n")); + WS_DbgPrint(MAX_TRACE, ("Called.\n")); - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } - assert(Provider->ProcTable.lpWSPSend); + assert(Provider->ProcTable.lpWSPSend); - Code = Provider->ProcTable.lpWSPSend(s, lpBuffers, dwBufferCount, - lpNumberOfBytesSent, dwFlags, lpOverlapped, - lpCompletionRoutine, NULL /* lpThreadId */, &Errno); + Code = Provider->ProcTable.lpWSPSend(s, + lpBuffers, + dwBufferCount, + lpNumberOfBytesSent, + dwFlags, + lpOverlapped, + lpCompletionRoutine, + NULL /* lpThreadId */, + &Errno); - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Code == SOCKET_ERROR) - WSASetLastError(Errno); + if (Code == SOCKET_ERROR) + WSASetLastError(Errno); - return Code; + return Code; } @@ -275,13 +343,12 @@ WSASend( */ INT EXPORT -WSASendDisconnect( - IN SOCKET s, - IN LPWSABUF lpOutboundDisconnectData) +WSASendDisconnect(IN SOCKET s, + IN LPWSABUF lpOutboundDisconnectData) { - UNIMPLEMENTED + UNIMPLEMENTED - return 0; + return 0; } @@ -290,46 +357,62 @@ WSASendDisconnect( */ INT EXPORT -WSASendTo( - IN SOCKET s, - IN LPWSABUF lpBuffers, - IN DWORD dwBufferCount, - OUT LPDWORD lpNumberOfBytesSent, - IN DWORD dwFlags, - IN CONST struct sockaddr *lpTo, - IN INT iToLen, - IN LPWSAOVERLAPPED lpOverlapped, - IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) +WSASendTo(IN SOCKET s, + IN LPWSABUF lpBuffers, + IN DWORD dwBufferCount, + OUT LPDWORD lpNumberOfBytesSent, + IN DWORD dwFlags, + IN CONST struct sockaddr *lpTo, + IN INT iToLen, + IN LPWSAOVERLAPPED lpOverlapped, + IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) { - PCATALOG_ENTRY Provider; - INT Errno; - INT Code; + PCATALOG_ENTRY Provider; + INT Errno; + INT Code; - WS_DbgPrint(MAX_TRACE, ("Called.\n")); + WS_DbgPrint(MAX_TRACE, ("Called.\n")); - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } + if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } - assert(Provider->ProcTable.lpWSPSendTo); + assert(Provider->ProcTable.lpWSPSendTo); #if (__W32API_MAJOR_VERSION < 2 || __W32API_MINOR_VERSION < 5) - Code = Provider->ProcTable.lpWSPSendTo(s, lpBuffers, dwBufferCount, - lpNumberOfBytesSent, dwFlags, (CONST LPSOCKADDR) lpTo, iToLen, lpOverlapped, - lpCompletionRoutine, NULL /* lpThreadId */, &Errno); + Code = Provider->ProcTable.lpWSPSendTo(s, + lpBuffers, + dwBufferCount, + lpNumberOfBytesSent, + dwFlags, + (CONST LPSOCKADDR)lpTo, + iToLen, + lpOverlapped, + lpCompletionRoutine, + NULL /* lpThreadId */, + &Errno); #else - Code = Provider->ProcTable.lpWSPSendTo(s, lpBuffers, dwBufferCount, - lpNumberOfBytesSent, dwFlags, lpTo, iToLen, lpOverlapped, - lpCompletionRoutine, NULL /* lpThreadId */, &Errno); + Code = Provider->ProcTable.lpWSPSendTo(s, + lpBuffers, + dwBufferCount, + lpNumberOfBytesSent, + dwFlags, + lpTo, + iToLen, + lpOverlapped, + lpCompletionRoutine, + NULL /* lpThreadId */, + &Errno); #endif /* __W32API_MAJOR_VERSION < 2 || __W32API_MINOR_VERSION < 5 */ - DereferenceProviderByPointer(Provider); + DereferenceProviderByPointer(Provider); - if (Code == SOCKET_ERROR) - WSASetLastError(Errno); + if (Code == SOCKET_ERROR) + WSASetLastError(Errno); - return Code; + return Code; } /* EOF */ diff --git a/reactos/dll/win32/ws2_32/misc/stubs.c b/reactos/dll/win32/ws2_32/misc/stubs.c index 01737b64970..f035f57299c 100644 --- a/reactos/dll/win32/ws2_32/misc/stubs.c +++ b/reactos/dll/win32/ws2_32/misc/stubs.c @@ -17,40 +17,39 @@ */ INT EXPORT -getpeername( - IN SOCKET s, - OUT LPSOCKADDR name, - IN OUT INT FAR* namelen) +getpeername(IN SOCKET s, + OUT LPSOCKADDR name, + IN OUT INT FAR* namelen) { - int Error; - INT Errno; - PCATALOG_ENTRY Provider; + int Error; + INT Errno; + PCATALOG_ENTRY Provider; - if (!WSAINITIALIZED) - { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + 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; + 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; } @@ -60,40 +59,40 @@ getpeername( */ INT EXPORT -getsockname( - IN SOCKET s, - OUT LPSOCKADDR name, - IN OUT INT FAR* namelen) +getsockname(IN SOCKET s, + OUT LPSOCKADDR name, + IN OUT INT FAR* namelen) { - int Error; - INT Errno; - PCATALOG_ENTRY Provider; + int Error; + INT Errno; + PCATALOG_ENTRY Provider; - if (!WSAINITIALIZED) - { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + 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; + 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; } @@ -102,44 +101,44 @@ getsockname( */ INT EXPORT -getsockopt( - IN SOCKET s, - IN INT level, - IN INT optname, - OUT CHAR FAR* optval, - IN OUT INT FAR* optlen) +getsockopt(IN SOCKET s, + IN INT level, + IN INT optname, + OUT CHAR FAR* optval, + IN OUT INT FAR* optlen) { - PCATALOG_ENTRY Provider; - INT Errno; - int Error; + PCATALOG_ENTRY Provider; + INT Errno; + int Error; - if (!WSAINITIALIZED) - { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + 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; + 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; } @@ -148,44 +147,82 @@ getsockopt( */ INT EXPORT __stdcall -setsockopt( - IN SOCKET s, - IN INT level, - IN INT optname, - IN CONST CHAR FAR* optval, - IN INT optlen) +setsockopt(IN SOCKET s, + IN INT level, + IN INT optname, + IN CONST CHAR FAR* optval, + IN INT optlen) { - PCATALOG_ENTRY Provider; - INT Errno; - int Error; + PCATALOG_ENTRY Provider; + INT Errno; + int Error; - if (!WSAINITIALIZED) - { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + 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, + 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; +} + + +/* + * @implemented + */ +INT +EXPORT +shutdown(IN SOCKET s, + IN INT how) +{ + PCATALOG_ENTRY Provider; + INT Errno; + int Error; + + 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; + + DereferenceProviderByPointer(Provider); + + if (Error == SOCKET_ERROR) + { + WSASetLastError(Errno); + } + + return Error; } @@ -194,82 +231,41 @@ setsockopt( */ INT EXPORT -shutdown( - IN SOCKET s, - IN INT how) +WSAAsyncSelect(IN SOCKET s, + IN HWND hWnd, + IN UINT wMsg, + IN LONG lEvent) { - PCATALOG_ENTRY Provider; - INT Errno; - int Error; + PCATALOG_ENTRY Provider; + INT Errno; + int Error; - if (!WSAINITIALIZED) - { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + 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; -} + if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } + Error = Provider->ProcTable.lpWSPAsyncSelect(s, + hWnd, + wMsg, + lEvent, + &Errno); -/* - * @implemented - */ -INT -EXPORT -WSAAsyncSelect( - IN SOCKET s, - IN HWND hWnd, - IN UINT wMsg, - IN LONG lEvent) -{ - PCATALOG_ENTRY Provider; - INT Errno; - int Error; + DereferenceProviderByPointer(Provider); - if (!WSAINITIALIZED) - { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + if (Error == SOCKET_ERROR) + { + WSASetLastError(Errno); + } - 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; + return Error; } @@ -281,37 +277,37 @@ EXPORT WSACancelBlockingCall(VOID) { #if 0 - INT Errno; - int Error; - PCATALOG_ENTRY Provider; + INT Errno; + int Error; + PCATALOG_ENTRY Provider; - if (!WSAINITIALIZED) - { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + 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; + 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 - - return 0; + UNIMPLEMENTED + + return 0; } @@ -320,30 +316,31 @@ WSACancelBlockingCall(VOID) */ INT EXPORT -WSADuplicateSocketA( - IN SOCKET s, - IN DWORD dwProcessId, - OUT LPWSAPROTOCOL_INFOA lpProtocolInfo) +WSADuplicateSocketA(IN SOCKET s, + IN DWORD dwProcessId, + OUT LPWSAPROTOCOL_INFOA lpProtocolInfo) { #if 0 - WSAPROTOCOL_INFOA ProtocolInfoU; - - Error = WSADuplicateSocketW(s, + WSAPROTOCOL_INFOA ProtocolInfoU; + + Error = WSADuplicateSocketW(s, dwProcessId, &ProtocolInfoU); - - if (Error == NO_ERROR) - { - UnicodeToAnsi(lpProtocolInfo, ProtocolInfoU, sizeof( - - } - - return Error; + + if (Error == NO_ERROR) + { + UnicodeToAnsi(lpProtocolInfo, + ProtocolInfoU, + sizeof( + + } + + return Error; #endif - - UNIMPLEMENTED - - return 0; + + UNIMPLEMENTED + + return 0; } @@ -353,39 +350,38 @@ WSADuplicateSocketA( */ INT EXPORT -WSADuplicateSocketW( - IN SOCKET s, - IN DWORD dwProcessId, - OUT LPWSAPROTOCOL_INFOW lpProtocolInfo) +WSADuplicateSocketW(IN SOCKET s, + IN DWORD dwProcessId, + OUT LPWSAPROTOCOL_INFOW lpProtocolInfo) { - INT Errno; - int Error; - PCATALOG_ENTRY Provider; + INT Errno; + int Error; + PCATALOG_ENTRY Provider; - if (!WSAINITIALIZED) - { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + if (!WSAINITIALIZED) + { + WSASetLastError(WSANOTINITIALISED); + return SOCKET_ERROR; + } - if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) - { - WSASetLastError(WSAENOTSOCK); - return SOCKET_ERROR; - } - - Error = Provider->ProcTable.lpWSPDuplicateSocket(s, - dwProcessId, - lpProtocolInfo, - &Errno); - DereferenceProviderByPointer(Provider); - - if (Error == SOCKET_ERROR) - { - WSASetLastError(Errno); - } - - return Error; + if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } + + Error = Provider->ProcTable.lpWSPDuplicateSocket(s, + dwProcessId, + lpProtocolInfo, + &Errno); + DereferenceProviderByPointer(Provider); + + if (Error == SOCKET_ERROR) + { + WSASetLastError(Errno); + } + + return Error; } @@ -394,10 +390,9 @@ WSADuplicateSocketW( */ INT EXPORT -WSAEnumProtocolsA( - IN LPINT lpiProtocols, - OUT LPWSAPROTOCOL_INFOA lpProtocolBuffer, - IN OUT LPDWORD lpdwBufferLength) +WSAEnumProtocolsA(IN LPINT lpiProtocols, + OUT LPWSAPROTOCOL_INFOA lpProtocolBuffer, + IN OUT LPDWORD lpdwBufferLength) { UNIMPLEMENTED @@ -410,10 +405,9 @@ WSAEnumProtocolsA( */ INT EXPORT -WSAEnumProtocolsW( - IN LPINT lpiProtocols, - OUT LPWSAPROTOCOL_INFOW lpProtocolBuffer, - IN OUT LPDWORD lpdwBufferLength) +WSAEnumProtocolsW(IN LPINT lpiProtocols, + OUT LPWSAPROTOCOL_INFOW lpProtocolBuffer, + IN OUT LPDWORD lpdwBufferLength) { UNIMPLEMENTED @@ -426,43 +420,42 @@ WSAEnumProtocolsW( */ BOOL EXPORT -WSAGetOverlappedResult( - IN SOCKET s, - IN LPWSAOVERLAPPED lpOverlapped, - OUT LPDWORD lpcbTransfer, - IN BOOL fWait, - OUT LPDWORD lpdwFlags) +WSAGetOverlappedResult(IN SOCKET s, + IN LPWSAOVERLAPPED lpOverlapped, + OUT LPDWORD lpcbTransfer, + IN BOOL fWait, + OUT LPDWORD lpdwFlags) { - INT Errno; - BOOL Success; - PCATALOG_ENTRY Provider; + INT Errno; + BOOL Success; + PCATALOG_ENTRY Provider; - if (!WSAINITIALIZED) - { - WSASetLastError(WSANOTINITIALISED); - return SOCKET_ERROR; - } + 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, - &Errno); - DereferenceProviderByPointer(Provider); - - if (Success == FALSE) - { - WSASetLastError(Errno); - } - - return Success; + if (!ReferenceProviderByHandle((HANDLE)s, &Provider)) + { + WSASetLastError(WSAENOTSOCK); + return SOCKET_ERROR; + } + + Success = Provider->ProcTable.lpWSPGetOverlappedResult(s, + lpOverlapped, + lpcbTransfer, + fWait, + lpdwFlags, + &Errno); + DereferenceProviderByPointer(Provider); + + if (Success == FALSE) + { + WSASetLastError(Errno); + } + + return Success; } @@ -471,10 +464,9 @@ WSAGetOverlappedResult( */ BOOL EXPORT -WSAGetQOSByName( - IN SOCKET s, - IN OUT LPWSABUF lpQOSName, - OUT LPQOS lpQOS) +WSAGetQOSByName(IN SOCKET s, + IN OUT LPWSABUF lpQOSName, + OUT LPQOS lpQOS) { UNIMPLEMENTED @@ -487,10 +479,9 @@ WSAGetQOSByName( */ INT EXPORT -WSAHtonl( - IN SOCKET s, - IN ULONG hostLONG, - OUT ULONG FAR* lpnetlong) +WSAHtonl(IN SOCKET s, + IN ULONG hostLONG, + OUT ULONG FAR* lpnetlong) { UNIMPLEMENTED @@ -503,10 +494,9 @@ WSAHtonl( */ INT EXPORT -WSAHtons( - IN SOCKET s, - IN USHORT hostshort, - OUT USHORT FAR* lpnetshort) +WSAHtons(IN SOCKET s, + IN USHORT hostshort, + OUT USHORT FAR* lpnetshort) { UNIMPLEMENTED @@ -532,15 +522,14 @@ WSAIsBlocking(VOID) */ SOCKET EXPORT -WSAJoinLeaf( - IN SOCKET s, - IN CONST struct sockaddr *name, - IN INT namelen, - IN LPWSABUF lpCallerData, - OUT LPWSABUF lpCalleeData, - IN LPQOS lpSQOS, - IN LPQOS lpGQOS, - IN DWORD dwFlags) +WSAJoinLeaf(IN SOCKET s, + IN CONST struct sockaddr *name, + IN INT namelen, + IN LPWSABUF lpCallerData, + OUT LPWSABUF lpCalleeData, + IN LPQOS lpSQOS, + IN LPQOS lpGQOS, + IN DWORD dwFlags) { UNIMPLEMENTED @@ -553,10 +542,9 @@ WSAJoinLeaf( */ INT EXPORT -WSANtohl( - IN SOCKET s, - IN ULONG netlong, - OUT ULONG FAR* lphostlong) +WSANtohl(IN SOCKET s, + IN ULONG netlong, + OUT ULONG FAR* lphostlong) { UNIMPLEMENTED @@ -569,10 +557,9 @@ WSANtohl( */ INT EXPORT -WSANtohs( - IN SOCKET s, - IN USHORT netshort, - OUT USHORT FAR* lphostshort) +WSANtohs(IN SOCKET s, + IN USHORT netshort, + OUT USHORT FAR* lphostshort) { UNIMPLEMENTED @@ -585,8 +572,7 @@ WSANtohs( */ FARPROC EXPORT -WSASetBlockingHook( - IN FARPROC lpBlockFunc) +WSASetBlockingHook(IN FARPROC lpBlockFunc) { UNIMPLEMENTED @@ -612,10 +598,9 @@ WSAUnhookBlockingHook(VOID) */ INT EXPORT -WSAProviderConfigChange( - IN OUT LPHANDLE lpNotificationHandle, - IN LPWSAOVERLAPPED lpOverlapped, - IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) +WSAProviderConfigChange(IN OUT LPHANDLE lpNotificationHandle, + IN LPWSAOVERLAPPED lpOverlapped, + IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) { UNIMPLEMENTED @@ -628,8 +613,7 @@ WSAProviderConfigChange( */ INT EXPORT -WSACancelAsyncRequest( - IN HANDLE hAsyncTaskHandle) +WSACancelAsyncRequest(IN HANDLE hAsyncTaskHandle) { UNIMPLEMENTED @@ -643,12 +627,11 @@ WSACancelAsyncRequest( */ INT EXPORT -WPUCompleteOverlappedRequest( - IN SOCKET s, - IN LPWSAOVERLAPPED lpOverlapped, - IN DWORD dwError, - IN DWORD cbTransferred, - OUT LPINT lpErrno) +WPUCompleteOverlappedRequest(IN SOCKET s, + IN LPWSAOVERLAPPED lpOverlapped, + IN DWORD dwError, + IN DWORD cbTransferred, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -661,12 +644,11 @@ WPUCompleteOverlappedRequest( */ INT EXPORT -WSPStartup( - IN WORD wVersionRequested, - OUT LPWSPDATA lpWSPData, - IN LPWSAPROTOCOL_INFOW lpProtocolInfo, - IN WSPUPCALLTABLE UpcallTable, - OUT LPWSPPROC_TABLE lpProcTable) +WSPStartup(IN WORD wVersionRequested, + OUT LPWSPDATA lpWSPData, + IN LPWSAPROTOCOL_INFOW lpProtocolInfo, + IN WSPUPCALLTABLE UpcallTable, + OUT LPWSPPROC_TABLE lpProcTable) { UNIMPLEMENTED @@ -679,9 +661,8 @@ WSPStartup( */ INT EXPORT -WSCDeinstallProvider( - IN LPGUID lpProviderId, - OUT LPINT lpErrno) +WSCDeinstallProvider(IN LPGUID lpProviderId, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -694,11 +675,10 @@ WSCDeinstallProvider( */ INT EXPORT -WSCEnumProtocols( - IN LPINT lpiProtocols, - OUT LPWSAPROTOCOL_INFOW lpProtocolBuffer, - IN OUT LPDWORD lpdwBufferLength, - OUT LPINT lpErrno) +WSCEnumProtocols(IN LPINT lpiProtocols, + OUT LPWSAPROTOCOL_INFOW lpProtocolBuffer, + IN OUT LPDWORD lpdwBufferLength, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -711,11 +691,10 @@ WSCEnumProtocols( */ INT EXPORT -WSCGetProviderPath( - IN LPGUID lpProviderId, - OUT LPWSTR lpszProviderDllPath, - IN OUT LPINT lpProviderDllPathLen, - OUT LPINT lpErrno) +WSCGetProviderPath(IN LPGUID lpProviderId, + OUT LPWSTR lpszProviderDllPath, + IN OUT LPINT lpProviderDllPathLen, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -728,12 +707,11 @@ WSCGetProviderPath( */ INT EXPORT -WSCInstallProvider( - IN CONST LPGUID lpProviderId, - IN CONST LPWSTR lpszProviderDllPath, - IN CONST LPWSAPROTOCOL_INFOW lpProtocolInfoList, - IN DWORD dwNumberOfEntries, - OUT LPINT lpErrno) +WSCInstallProvider(IN CONST LPGUID lpProviderId, + IN CONST LPWSTR lpszProviderDllPath, + IN CONST LPWSAPROTOCOL_INFOW lpProtocolInfoList, + IN DWORD dwNumberOfEntries, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -746,9 +724,8 @@ WSCInstallProvider( */ INT EXPORT -WSCEnableNSProvider( - IN LPGUID lpProviderId, - IN BOOL fEnable) +WSCEnableNSProvider(IN LPGUID lpProviderId, + IN BOOL fEnable) { UNIMPLEMENTED @@ -761,12 +738,11 @@ WSCEnableNSProvider( */ INT EXPORT -WSCInstallNameSpace( - IN LPWSTR lpszIdentifier, - IN LPWSTR lpszPathName, - IN DWORD dwNameSpace, - IN DWORD dwVersion, - IN LPGUID lpProviderId) +WSCInstallNameSpace(IN LPWSTR lpszIdentifier, + IN LPWSTR lpszPathName, + IN DWORD dwNameSpace, + IN DWORD dwVersion, + IN LPGUID lpProviderId) { UNIMPLEMENTED @@ -779,8 +755,7 @@ WSCInstallNameSpace( */ INT EXPORT -WSCUnInstallNameSpace( - IN LPGUID lpProviderId) +WSCUnInstallNameSpace(IN LPGUID lpProviderId) { UNIMPLEMENTED @@ -793,9 +768,8 @@ WSCUnInstallNameSpace( */ INT EXPORT -WSCWriteProviderOrder( - IN LPDWORD lpwdCatalogEntryId, - IN DWORD dwNumberOfEntries) +WSCWriteProviderOrder(IN LPDWORD lpwdCatalogEntryId, + IN DWORD dwNumberOfEntries) { UNIMPLEMENTED @@ -807,16 +781,14 @@ WSCWriteProviderOrder( */ INT EXPORT -WSANSPIoctl( - HANDLE hLookup, - DWORD dwControlCode, - LPVOID lpvInBuffer, - DWORD cbInBuffer, - LPVOID lpvOutBuffer, - DWORD cbOutBuffer, - LPDWORD lpcbBytesReturned, - LPWSACOMPLETION lpCompletion - ) +WSANSPIoctl(HANDLE hLookup, + DWORD dwControlCode, + LPVOID lpvInBuffer, + DWORD cbInBuffer, + LPVOID lpvOutBuffer, + DWORD cbOutBuffer, + LPDWORD lpcbBytesReturned, + LPWSACOMPLETION lpCompletion) { //UNIMPLEMENTED @@ -829,13 +801,11 @@ WSANSPIoctl( */ INT EXPORT -WSCUpdateProvider( - LPGUID lpProviderId, - const WCHAR FAR * lpszProviderDllPath, - const LPWSAPROTOCOL_INFOW lpProtocolInfoList, - DWORD dwNumberOfEntries, - LPINT lpErrno - ) +WSCUpdateProvider(LPGUID lpProviderId, + const WCHAR FAR * lpszProviderDllPath, + const LPWSAPROTOCOL_INFOW lpProtocolInfoList, + DWORD dwNumberOfEntries, + LPINT lpErrno) { UNIMPLEMENTED @@ -847,10 +817,8 @@ WSCUpdateProvider( */ INT EXPORT -WSCWriteNameSpaceOrder ( - LPGUID lpProviderId, - DWORD dwNumberOfEntries - ) +WSCWriteNameSpaceOrder(LPGUID lpProviderId, + DWORD dwNumberOfEntries) { UNIMPLEMENTED @@ -862,9 +830,7 @@ WSCWriteNameSpaceOrder ( */ VOID EXPORT -freeaddrinfo( - struct addrinfo *pAddrInfo - ) +freeaddrinfo(struct addrinfo *pAddrInfo) { UNIMPLEMENTED } @@ -874,12 +840,10 @@ freeaddrinfo( */ INT EXPORT -getaddrinfo( - const char FAR * nodename, - const char FAR * servname, - const struct addrinfo FAR * hints, - struct addrinfo FAR * FAR * res - ) +getaddrinfo(const char FAR * nodename, + const char FAR * servname, + const struct addrinfo FAR * hints, + struct addrinfo FAR * FAR * res) { UNIMPLEMENTED @@ -891,15 +855,13 @@ getaddrinfo( */ INT EXPORT -getnameinfo( - const struct sockaddr FAR * sa, - socklen_t salen, - char FAR * host, - DWORD hostlen, - char FAR * serv, - DWORD servlen, - INT flags - ) +getnameinfo(const struct sockaddr FAR * sa, + socklen_t salen, + char FAR * host, + DWORD hostlen, + char FAR * serv, + DWORD servlen, + INT flags) { UNIMPLEMENTED diff --git a/reactos/dll/win32/ws2_32/misc/upcall.c b/reactos/dll/win32/ws2_32/misc/upcall.c index b6a416c54a7..c5bee36abde 100644 --- a/reactos/dll/win32/ws2_32/misc/upcall.c +++ b/reactos/dll/win32/ws2_32/misc/upcall.c @@ -17,9 +17,8 @@ */ BOOL WSPAPI -WPUCloseEvent( - IN WSAEVENT hEvent, - OUT LPINT lpErrno) +WPUCloseEvent(IN WSAEVENT hEvent, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -32,9 +31,8 @@ WPUCloseEvent( */ INT WSPAPI -WPUCloseSocketHandle( - IN SOCKET s, - OUT LPINT lpErrno) +WPUCloseSocketHandle(IN SOCKET s, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -47,9 +45,8 @@ WPUCloseSocketHandle( */ INT WSPAPI -WPUCloseThread( - IN LPWSATHREADID lpThreadId, - OUT LPINT lpErrno) +WPUCloseThread(IN LPWSATHREADID lpThreadId, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -62,8 +59,7 @@ WPUCloseThread( */ WSAEVENT WSPAPI -WPUCreateEvent( - OUT LPINT lpErrno) +WPUCreateEvent(OUT LPINT lpErrno) { UNIMPLEMENTED @@ -76,10 +72,9 @@ WPUCreateEvent( */ SOCKET WSPAPI -WPUCreateSocketHandle( - IN DWORD dwCatalogEntryId, - IN DWORD dwContext, - OUT LPINT lpErrno) +WPUCreateSocketHandle(IN DWORD dwCatalogEntryId, + IN DWORD dwContext, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -92,9 +87,8 @@ WPUCreateSocketHandle( */ SOCKET WSPAPI -WPUFDIsSet( - IN SOCKET s, - IN LPFD_SET set) +WPUFDIsSet(IN SOCKET s, + IN LPFD_SET set) { UNIMPLEMENTED @@ -107,11 +101,10 @@ WPUFDIsSet( */ INT WSPAPI -WPUGetProviderPath( - IN LPGUID lpProviderId, - OUT LPWSTR lpszProviderDllPath, - IN OUT LPINT lpProviderDllPathLen, - OUT LPINT lpErrno) +WPUGetProviderPath(IN LPGUID lpProviderId, + OUT LPWSTR lpszProviderDllPath, + IN OUT LPINT lpProviderDllPathLen, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -124,34 +117,33 @@ WPUGetProviderPath( */ SOCKET WSPAPI -WPUModifyIFSHandle( - IN DWORD dwCatalogEntryId, - IN SOCKET ProposedHandle, - OUT LPINT lpErrno) +WPUModifyIFSHandle(IN DWORD dwCatalogEntryId, + IN SOCKET ProposedHandle, + OUT LPINT lpErrno) { - PCATALOG_ENTRY Provider; - SOCKET Socket; + PCATALOG_ENTRY Provider; + SOCKET Socket; - WS_DbgPrint(MID_TRACE, ("dwCatalogEntryId (%d) ProposedHandle (0x%X).\n", + WS_DbgPrint(MID_TRACE, ("dwCatalogEntryId (%d) ProposedHandle (0x%X).\n", dwCatalogEntryId, ProposedHandle)); - Provider = LocateProviderById(dwCatalogEntryId); - if (!Provider) { - WS_DbgPrint(MIN_TRACE, ("Provider with catalog entry id (%d) was not found.\n", - dwCatalogEntryId)); - if( lpErrno ) *lpErrno = WSAEINVAL; - WS_DbgPrint(MID_TRACE, ("Returning invalid socket\n")); - return INVALID_SOCKET; - } + Provider = LocateProviderById(dwCatalogEntryId); + if (!Provider) + { + WS_DbgPrint(MIN_TRACE, ("Provider with catalog entry id (%d) was not found.\n", + dwCatalogEntryId)); + if( lpErrno ) *lpErrno = WSAEINVAL; + WS_DbgPrint(MID_TRACE, ("Returning invalid socket\n")); + return INVALID_SOCKET; + } - Socket = (SOCKET)CreateProviderHandle( - (HANDLE)ProposedHandle, - Provider); + Socket = (SOCKET)CreateProviderHandle((HANDLE)ProposedHandle, + Provider); - if( lpErrno ) *lpErrno = NO_ERROR; + if( lpErrno ) *lpErrno = NO_ERROR; - WS_DbgPrint(MID_TRACE, ("Socket: %x\n", Socket)); - return Socket; + WS_DbgPrint(MID_TRACE, ("Socket: %x\n", Socket)); + return Socket; } @@ -160,9 +152,8 @@ WPUModifyIFSHandle( */ INT WSPAPI -WPUOpenCurrentThread( - OUT LPWSATHREADID lpThreadId, - OUT LPINT lpErrno) +WPUOpenCurrentThread(OUT LPWSATHREADID lpThreadId, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -175,11 +166,10 @@ WPUOpenCurrentThread( */ INT WSPAPI -WPUQueryBlockingCallback( - IN DWORD dwCatalogEntryId, - OUT LPBLOCKINGCALLBACK FAR* lplpfnCallback, - OUT LPDWORD lpdwContext, - OUT LPINT lpErrno) +WPUQueryBlockingCallback(IN DWORD dwCatalogEntryId, + OUT LPBLOCKINGCALLBACK FAR* lplpfnCallback, + OUT LPDWORD lpdwContext, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -192,10 +182,9 @@ WPUQueryBlockingCallback( */ INT WSPAPI -WPUQuerySocketHandleContext( - IN SOCKET s, - OUT LPDWORD lpContext, - OUT LPINT lpErrno) +WPUQuerySocketHandleContext(IN SOCKET s, + OUT LPDWORD lpContext, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -208,11 +197,10 @@ WPUQuerySocketHandleContext( */ INT WSPAPI -WPUQueueApc( - IN LPWSATHREADID lpThreadId, - IN LPWSAUSERAPC lpfnUserApc, - IN DWORD dwContext, - OUT LPINT lpErrno) +WPUQueueApc(IN LPWSATHREADID lpThreadId, + IN LPWSAUSERAPC lpfnUserApc, + IN DWORD dwContext, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -225,9 +213,8 @@ WPUQueueApc( */ BOOL WSPAPI -WPUResetEvent( - IN WSAEVENT hEvent, - OUT LPINT lpErrno) +WPUResetEvent(IN WSAEVENT hEvent, + OUT LPINT lpErrno) { UNIMPLEMENTED @@ -240,9 +227,8 @@ WPUResetEvent( */ BOOL WSPAPI -WPUSetEvent( - IN WSAEVENT hEvent, - OUT LPINT lpErrno) +WPUSetEvent(IN WSAEVENT hEvent, + OUT LPINT lpErrno) { UNIMPLEMENTED