Created new module for wshirda.dll
authorRobert Dickenson <robd@reactos.org>
Wed, 19 Jun 2002 06:26:11 +0000 (06:26 +0000)
committerRobert Dickenson <robd@reactos.org>
Wed, 19 Jun 2002 06:26:11 +0000 (06:26 +0000)
svn path=/trunk/; revision=3122

reactos/lib/wshirda/debug.h [new file with mode: 0644]
reactos/lib/wshirda/makefile [new file with mode: 0644]
reactos/lib/wshirda/wshirda.c [new file with mode: 0644]
reactos/lib/wshirda/wshirda.def [new file with mode: 0644]
reactos/lib/wshirda/wshirda.edf [new file with mode: 0644]
reactos/lib/wshirda/wshirda.h [new file with mode: 0644]
reactos/lib/wshirda/wshirda.rc [new file with mode: 0644]

diff --git a/reactos/lib/wshirda/debug.h b/reactos/lib/wshirda/debug.h
new file mode 100644 (file)
index 0000000..13a623f
--- /dev/null
@@ -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 (file)
index 0000000..76a240c
--- /dev/null
@@ -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 (file)
index 0000000..4976055
--- /dev/null
@@ -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 (file)
index 0000000..184d64c
--- /dev/null
@@ -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 (file)
index 0000000..a3d8825
--- /dev/null
@@ -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 (file)
index 0000000..ffc4dfc
--- /dev/null
@@ -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 <wsahelp.h>
+#include <windows.h>
+#include <ddk/ntddk.h>
+#include <debug.h>
+
+#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 (file)
index 0000000..9b18a99
--- /dev/null
@@ -0,0 +1,39 @@
+#include <defines.h>
+#include <reactos/resource.h>
+
+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
+
+