From c2b9c68cbffb14cb21bf9ead1ff96c562c595933 Mon Sep 17 00:00:00 2001 From: Robert Dickenson Date: Wed, 19 Jun 2002 06:26:11 +0000 Subject: [PATCH] Created new module for wshirda.dll svn path=/trunk/; revision=3122 --- reactos/lib/wshirda/debug.h | 65 ++++++++++ reactos/lib/wshirda/makefile | 19 +++ reactos/lib/wshirda/wshirda.c | 206 ++++++++++++++++++++++++++++++++ reactos/lib/wshirda/wshirda.def | 19 +++ reactos/lib/wshirda/wshirda.edf | 18 +++ reactos/lib/wshirda/wshirda.h | 22 ++++ reactos/lib/wshirda/wshirda.rc | 39 ++++++ 7 files changed, 388 insertions(+) create mode 100644 reactos/lib/wshirda/debug.h create mode 100644 reactos/lib/wshirda/makefile create mode 100644 reactos/lib/wshirda/wshirda.c create mode 100644 reactos/lib/wshirda/wshirda.def create mode 100644 reactos/lib/wshirda/wshirda.edf create mode 100644 reactos/lib/wshirda/wshirda.h create mode 100644 reactos/lib/wshirda/wshirda.rc diff --git a/reactos/lib/wshirda/debug.h b/reactos/lib/wshirda/debug.h new file mode 100644 index 00000000000..13a623f8fb3 --- /dev/null +++ b/reactos/lib/wshirda/debug.h @@ -0,0 +1,65 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS WinSock 2 Helper DLL for TCP/IP + * FILE: include/debug.h + * PURPOSE: Debugging support macros + * DEFINES: DBG - Enable debug output + * NASSERT - Disable assertions + */ +#ifndef __DEBUG_H +#define __DEBUG_H + +#define NORMAL_MASK 0x000000FF +#define SPECIAL_MASK 0xFFFFFF00 +#define MIN_TRACE 0x00000001 +#define MID_TRACE 0x00000002 +#define MAX_TRACE 0x00000003 + +#define DEBUG_ULTRA 0xFFFFFFFF + +#ifdef DBG + +extern DWORD DebugTraceLevel; + +#define WSH_DbgPrint(_t_, _x_) \ + if (((DebugTraceLevel & NORMAL_MASK) >= _t_) || \ + ((DebugTraceLevel & _t_) > NORMAL_MASK)) { \ + DbgPrint("(%hS:%d)(%hS) ", __FILE__, __LINE__, __FUNCTION__); \ + DbgPrint _x_; \ + } + +#ifdef ASSERT +#undef ASSERT +#endif + +#ifdef NASSERT +#define ASSERT(x) +#else /* NASSERT */ +#define ASSERT(x) if (!(x)) { WSH_DbgPrint(MIN_TRACE, ("Assertion "#x" failed at %s:%d\n", __FILE__, __LINE__)); ExitProcess(0); } +#endif /* NASSERT */ + +#else /* DBG */ + +#define WSH_DbgPrint(_t_, _x_) + +#define ASSERT(x) + +#endif /* DBG */ + + +#define assert(x) ASSERT(x) +#define assert_irql(x) ASSERT_IRQL(x) + + +#define UNIMPLEMENTED \ + WSH_DbgPrint(MIN_TRACE, ("(%s:%d)(%s) is unimplemented, \ + please try again later.\n", __FILE__, __LINE__, __FUNCTION__)); + +#define CHECKPOINT \ + WSH_DbgPrint(MIN_TRACE, ("\n")); + +#define CP CHECKPOINT + +#endif /* __DEBUG_H */ + +/* EOF */ diff --git a/reactos/lib/wshirda/makefile b/reactos/lib/wshirda/makefile new file mode 100644 index 00000000000..76a240caa59 --- /dev/null +++ b/reactos/lib/wshirda/makefile @@ -0,0 +1,19 @@ +# $Id: makefile + +PATH_TO_TOP = ../.. + +TARGET_TYPE = dynlink + +TARGET_NAME = wshirda + +TARGET_BASE = 0x777c0000 + +TARGET_CFLAGS = -DUNICODE + +TARGET_SDKLIBS = ntdll.a kernel32.a + +TARGET_OBJECTS = $(TARGET_NAME).o + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk diff --git a/reactos/lib/wshirda/wshirda.c b/reactos/lib/wshirda/wshirda.c new file mode 100644 index 00000000000..49760550a2e --- /dev/null +++ b/reactos/lib/wshirda/wshirda.c @@ -0,0 +1,206 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Winsock 2 IRDA Helper DLL + * FILE: wshirda.c + * PURPOSE: DLL entry + * PROGRAMMERS: Robert D. Dickenson (robertdickenson@users.sourceforge.net) + * REVISIONS: + * RDD 18/06-2002 Created + */ +#include "wshirda.h" + +#ifdef DBG + +/* See debug.h for debug/trace constants */ +DWORD DebugTraceLevel = MAX_TRACE; + +#endif /* DBG */ + +/* To make the linker happy */ +VOID STDCALL KeBugCheck (ULONG BugCheckCode) {} + + +BOOL +EXPORT +DllMain(HANDLE hInstDll, + ULONG dwReason, + PVOID Reserved) +{ + WSH_DbgPrint(MIN_TRACE, ("DllMain of wshirda.dll\n")); + + switch (dwReason) { + case DLL_PROCESS_ATTACH: + /* Don't need thread attach notifications + so disable them to improve performance */ + DisableThreadLibraryCalls(hInstDll); + break; + + case DLL_THREAD_ATTACH: + break; + + case DLL_THREAD_DETACH: + break; + + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + +INT +WINAPI +WSHEnumProtocols( + IN LPINT lpiProtocols OPTIONAL, + IN LPWSTR lpTransportKeyName, + IN OUT LPVOID lpProtocolBuffer, + IN OUT LPDWORD lpdwBufferLength) +{ + UNIMPLEMENTED + + return 0; +} + +INT +WINAPI +WSHGetProviderGuid( + IN LPWSTR ProviderName, + OUT LPGUID ProviderGuid) +{ + UNIMPLEMENTED + + return 0; +} + +INT +WINAPI +WSHGetSockaddrType( + IN PSOCKADDR Sockaddr, + IN DWORD SockaddrLength, + OUT PSOCKADDR_INFO SockaddrInfo) +{ + UNIMPLEMENTED + + return 0; +} + +INT +WINAPI +WSHGetSocketInformation( + IN PVOID HelperDllSocketContext, + IN SOCKET SocketHandle, + IN HANDLE TdiAddressObjectHandle, + IN HANDLE TdiConnectionObjectHandle, + IN INT Level, + IN INT OptionName, + OUT PCHAR OptionValue, + OUT INT OptionLength) +{ + UNIMPLEMENTED + + return 0; +} + +INT +WINAPI +WSHGetWSAProtocolInfo( + IN LPWSTR ProviderName, + OUT LPWSAPROTOCOL_INFOW *ProtocolInfo, + OUT LPDWORD ProtocolInfoEntries) +{ + UNIMPLEMENTED + + return 0; +} + +INT +WINAPI +WSHGetWildcardSockaddr( + IN PVOID HelperDllSocketContext, + OUT PSOCKADDR Sockaddr, + OUT PINT SockaddrLength) +{ + UNIMPLEMENTED + + return 0; +} + +DWORD +WINAPI +WSHGetWinsockMapping( + OUT PWINSOCK_MAPPING Mapping, + IN DWORD MappingLength) +{ + UNIMPLEMENTED + + return 0; +} + +INT +WINAPI +WSHIoctl( + IN PVOID HelperDllSocketContext, + IN SOCKET SocketHandle, + IN HANDLE TdiAddressObjectHandle, + IN HANDLE TdiConnectionObjectHandle, + IN DWORD IoControlCode, + IN LPVOID InputBuffer, + IN DWORD InputBufferLength, + IN LPVOID OutputBuffer, + IN DWORD OutputBufferLength, + OUT LPDWORD NumberOfBytesReturned, + IN LPWSAOVERLAPPED Overlapped, + IN LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine, + OUT LPBOOL NeedsCompletion) +{ + UNIMPLEMENTED + + return 0; +} + +INT +WINAPI +WSHNotify( + IN PVOID HelperDllSocketContext, + IN SOCKET SocketHandle, + IN HANDLE TdiAddressObjectHandle, + IN HANDLE TdiConnectionObjectHandle, + IN DWORD NotifyEvent) +{ + UNIMPLEMENTED + + return 0; +} + +INT +WINAPI +WSHOpenSocket( + IN OUT PINT AddressFamily, + IN OUT PINT SocketType, + IN OUT PINT Protocol, + OUT PUNICODE_STRING TransportDeviceName, + OUT PVOID HelperDllSocketContext, + OUT PDWORD NotificationEvents) +{ + UNIMPLEMENTED + + return 0; +} + +INT +WINAPI +WSHSetSocketInformation( + IN PVOID HelperDllSocketContext, + IN SOCKET SocketHandle, + IN HANDLE TdiAddressObjectHandle, + IN HANDLE TdiConnectionObjectHandle, + IN INT Level, + IN INT OptionName, + IN PCHAR OptionValue, + IN INT OptionLength) +{ + UNIMPLEMENTED + + return 0; +} + +/* EOF */ diff --git a/reactos/lib/wshirda/wshirda.def b/reactos/lib/wshirda/wshirda.def new file mode 100644 index 00000000000..184d64c6730 --- /dev/null +++ b/reactos/lib/wshirda/wshirda.def @@ -0,0 +1,19 @@ +; WSHIRDA.DLL - Windows Sockets 2 IRDA Helper DLL + +LIBRARY wshirda.dll + +EXPORTS + +WSHEnumProtocols@16 +WSHGetProviderGuid@8 +WSHGetSockaddrType@12 +WSHGetSocketInformation@32 +WSHGetWSAProtocolInfo@12 +WSHGetWildcardSockaddr@12 +WSHGetWinsockMapping@8 +WSHIoctl@52 +WSHNotify@20 +WSHOpenSocket@24 +WSHSetSocketInformation@32 + +; EOF diff --git a/reactos/lib/wshirda/wshirda.edf b/reactos/lib/wshirda/wshirda.edf new file mode 100644 index 00000000000..a3d88258486 --- /dev/null +++ b/reactos/lib/wshirda/wshirda.edf @@ -0,0 +1,18 @@ +; WSHIRDA.DLL - Windows Sockets 2 IRDA Helper DLL + +LIBRARY wshirda.dll + +EXPORTS +WSHEnumProtocols=WSHEnumProtocols@16 +WSHGetProviderGuid=WSHGetProviderGuid@8 +WSHGetSockaddrType=WSHGetSockaddrType@12 +WSHGetSocketInformation=WSHGetSocketInformation@32 +WSHGetWSAProtocolInfo=WSHGetWSAProtocolInfo@12 +WSHGetWildcardSockaddr=WSHGetWildcardSockaddr@12 +WSHGetWinsockMapping=WSHGetWinsockMapping@8 +WSHIoctl=WSHIoctl@52 +WSHNotify=WSHNotify@20 +WSHOpenSocket=WSHOpenSocket@24 +WSHSetSocketInformation=WSHSetSocketInformation@32 + +; EOF diff --git a/reactos/lib/wshirda/wshirda.h b/reactos/lib/wshirda/wshirda.h new file mode 100644 index 00000000000..ffc4dfc37e1 --- /dev/null +++ b/reactos/lib/wshirda/wshirda.h @@ -0,0 +1,22 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Winsock 2 IRDA Helper DLL + * FILE: include/ws2help.h + * PURPOSE: WinSock 2 IRDA Helper DLL + */ +#ifndef __WSHIRDA_H +#define __WSHIRDA_H + +#include +#include +#include +#include + +#define EXPORT STDCALL + +#define OBJ_NAME_PATH_SEPARATOR ((WCHAR)L'\\') + + +#endif /* __WSHIRDA_H */ + +/* EOF */ diff --git a/reactos/lib/wshirda/wshirda.rc b/reactos/lib/wshirda/wshirda.rc new file mode 100644 index 00000000000..9b18a99241b --- /dev/null +++ b/reactos/lib/wshirda/wshirda.rc @@ -0,0 +1,39 @@ +#include +#include + +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +VS_VERSION_INFO VERSIONINFO + FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD + PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", RES_STR_COMPANY_NAME + VALUE "FileDescription", "Windows Sockets 2 IRDA Helper API\0" + VALUE "FileVersion", RES_STR_FILE_VERSION + VALUE "InternalName", "wshirda\0" + VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT + VALUE "OriginalFilename", "wshirda.dll\0" + VALUE "ProductName", RES_STR_PRODUCT_NAME + VALUE "ProductVersion", RES_STR_PRODUCT_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +