mirror of
https://github.com/reactos/reactos.git
synced 2024-06-30 01:42:30 +00:00
Added WinSock 2 Helper DLL for TCP/IP (Stubs only)
svn path=/trunk/; revision=1361
This commit is contained in:
parent
b0a3240f8e
commit
2a734dfd02
6
reactos/drivers/net/wshtcpip/.cvsignore
Normal file
6
reactos/drivers/net/wshtcpip/.cvsignore
Normal file
|
@ -0,0 +1,6 @@
|
|||
wshtcpip.a
|
||||
wshtcpip.dll
|
||||
wshtcpip.coff
|
||||
base.tmp
|
||||
junk.tmp
|
||||
temp.exp
|
71
reactos/drivers/net/wshtcpip/debug.h
Normal file
71
reactos/drivers/net/wshtcpip/debug.h
Normal file
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS WinSock 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 Get_DbgPrint(quote...) L##quote
|
||||
|
||||
#define WSH_DbgPrint(_t_, _x_) \
|
||||
if (((DebugTraceLevel & NORMAL_MASK) >= _t_) || \
|
||||
((DebugTraceLevel & _t_) > NORMAL_MASK)) { \
|
||||
WCHAR _buffer[256]; \
|
||||
swprintf(_buffer, L"(%s:%d)(%s) ", __FILE__, __LINE__, __FUNCTION__); \
|
||||
OutputDebugStringW(_buffer); \
|
||||
swprintf(_buffer, Get_DbgPrint _x_); \
|
||||
OutputDebugStringW(_buffer); \
|
||||
}
|
||||
|
||||
#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__)); KeBugCheck(0); }
|
||||
#endif /* NASSERT */
|
||||
|
||||
#define ASSERT_IRQL(x) ASSERT(KeGetCurrentIrql() <= (x))
|
||||
|
||||
#else /* DBG */
|
||||
|
||||
#define WSH_DbgPrint(_t_, _x_)
|
||||
|
||||
#define ASSERT_IRQL(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 \
|
||||
do { WSH_DbgPrint(MIN_TRACE, ("(%s:%d)\n", __FILE__, __LINE__)); } while(0);
|
||||
|
||||
#endif /* __DEBUG_H */
|
||||
|
||||
/* EOF */
|
90
reactos/drivers/net/wshtcpip/makefile
Normal file
90
reactos/drivers/net/wshtcpip/makefile
Normal file
|
@ -0,0 +1,90 @@
|
|||
# Makefile for ReactOS WinSock Helper DLL for TCP/IP
|
||||
|
||||
PATH_TO_TOP = ../../..
|
||||
|
||||
BASE_CFLAGS = -I./ -I../../../include -DUNICODE
|
||||
|
||||
TARGETNAME=wshtcpip
|
||||
|
||||
MAIN_OBJECTS = $(TARGETNAME).o
|
||||
|
||||
RESOURCE_OBJECT = $(TARGETNAME).coff
|
||||
|
||||
OBJECTS = $(MAIN_OBJECTS) $(RESOURCE_OBJECT)
|
||||
|
||||
LIBS = ../../../lib/ntdll/ntdll.a \
|
||||
../../../lib/kernel32/kernel32.a \
|
||||
../../../lib/ws2_32/ws2_32.a
|
||||
|
||||
ifeq ($(DOSCLI),yes)
|
||||
CLEAN_FILES = $(TARGETNAME).o $(TARGETNAME).a junk.tmp base.tmp temp.exp \
|
||||
$(TARGETNAME).dll $(TARGETNAME).sym $(TARGETNAME).coff
|
||||
else
|
||||
CLEAN_FILES = $(TARGETNAME).o $(TARGETNAME).a junk.tmp base.tmp temp.exp \
|
||||
$(TARGETNAME).dll $(TARGETNAME).sym $(TARGETNAME).coff
|
||||
endif
|
||||
|
||||
all: $(TARGETNAME).dll
|
||||
|
||||
$(TARGETNAME).coff: $(TARGETNAME).rc ../../../include/reactos/resource.h
|
||||
|
||||
$(TARGETNAME).dll: $(LIBS) $(OBJECTS) $(TARGETNAME).def
|
||||
$(DLLTOOL) \
|
||||
--dllname $(TARGETNAME).dll \
|
||||
--def $(TARGETNAME).def \
|
||||
--kill-at \
|
||||
--output-lib $(TARGETNAME).a
|
||||
$(CC) \
|
||||
$(TARGETNAME).o \
|
||||
$(LIBS) \
|
||||
-specs=$(TARGETNAME)_specs \
|
||||
-mdll \
|
||||
-o junk.tmp \
|
||||
-Wl,--base-file,base.tmp
|
||||
- $(RM) junk.tmp
|
||||
$(DLLTOOL) \
|
||||
--dllname $(TARGETNAME).dll \
|
||||
--base-file base.tmp \
|
||||
--output-exp temp.exp \
|
||||
--def $(TARGETNAME).edf
|
||||
- $(RM) base.tmp
|
||||
$(CC) \
|
||||
$(OBJECTS) $(LIBS) \
|
||||
-specs=$(TARGETNAME)_specs \
|
||||
-mdll \
|
||||
-o $(TARGETNAME).dll \
|
||||
-Wl,--image-base,0x10000 \
|
||||
-Wl,--file-alignment,0x1000 \
|
||||
-Wl,--section-alignment,0x1000 \
|
||||
-Wl,temp.exp
|
||||
- $(RM) temp.exp
|
||||
$(NM) --numeric-sort $(TARGETNAME).dll > $(TARGETNAME).sym
|
||||
|
||||
|
||||
clean: $(CLEAN_FILES:%=%_clean)
|
||||
|
||||
$(CLEAN_FILES:%=%_clean): %_clean:
|
||||
- $(RM) $*
|
||||
|
||||
.PHONY: clean $(CLEAN_FILES:%=%_clean)
|
||||
|
||||
install: $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll
|
||||
|
||||
$(FLOPPY_DIR)/dlls/$(TARGETNAME).dll: $(TARGETNAME).dll
|
||||
ifeq ($(DOSCLI),yes)
|
||||
$(CP) $(TARGETNAME).dll $(FLOPPY_DIR)\dlls\$(TARGETNAME).dll
|
||||
else
|
||||
$(CP) $(TARGETNAME).dll $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll
|
||||
endif
|
||||
|
||||
dist: $(DIST_DIR)/dlls/$(TARGETNAME).dll
|
||||
|
||||
$(DIST_DIR)/dlls/$(TARGETNAME).dll: $(TARGETNAME).dll
|
||||
ifeq ($(DOSCLI),yes)
|
||||
$(CP) $(TARGETNAME).dll ..\..\$(DIST_DIR)\dlls\$(TARGETNAME).dll
|
||||
else
|
||||
$(CP) $(TARGETNAME).dll ../../$(DIST_DIR)/dlls/$(TARGETNAME).dll
|
||||
endif
|
||||
|
||||
include ../../../rules.mak
|
||||
|
382
reactos/drivers/net/wshtcpip/wshtcpip.c
Normal file
382
reactos/drivers/net/wshtcpip/wshtcpip.c
Normal file
|
@ -0,0 +1,382 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS WinSock Helper DLL for TCP/IP
|
||||
* FILE: wshtcpip.c
|
||||
* PURPOSE: DLL entry
|
||||
* PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
* REVISIONS:
|
||||
* CSH 01/09-2000 Created
|
||||
*/
|
||||
#include <wshtcpip.h>
|
||||
|
||||
#ifdef DBG
|
||||
|
||||
/* See debug.h for debug/trace constants */
|
||||
DWORD DebugTraceLevel = MIN_TRACE;
|
||||
|
||||
#endif /* DBG */
|
||||
|
||||
/* To make the linker happy */
|
||||
VOID STDCALL KeBugCheck (ULONG BugCheckCode) {}
|
||||
|
||||
|
||||
BOOL
|
||||
EXPORT
|
||||
DllMain(PVOID hInstDll,
|
||||
ULONG dwReason,
|
||||
PVOID Reserved)
|
||||
{
|
||||
OutputDebugString(_T("Hello from wshtcpip.dll\n"));
|
||||
WSH_DbgPrint(MIN_TRACE, ("DllMain of wshtcpip.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
|
||||
EXPORT
|
||||
WSHAddressToString(
|
||||
IN LPSOCKADDR Address,
|
||||
IN INT AddressLength,
|
||||
IN LPWSAPROTOCOL_INFOW ProtocolInfo OPTIONAL,
|
||||
OUT LPWSTR AddressString,
|
||||
IN OUT LPDWORD AddressStringLength)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
WSHEnumProtocols(
|
||||
IN LPINT lpiProtocols OPTIONAL,
|
||||
IN LPWSTR lpTransportKeyName,
|
||||
IN OUT LPVOID lpProtocolBuffer,
|
||||
IN OUT LPDWORD lpdwBufferLength)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
WSHGetBroadcastSockaddr(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
OUT PSOCKADDR Sockaddr,
|
||||
OUT PINT SockaddrLength)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
WSHGetProviderGuid(
|
||||
IN LPWSTR ProviderName,
|
||||
OUT LPGUID ProviderGuid)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
WSHGetSockaddrType(
|
||||
IN PSOCKADDR Sockaddr,
|
||||
IN DWORD SockaddrLength,
|
||||
OUT PSOCKADDR_INFO SockaddrInfo)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
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
|
||||
EXPORT
|
||||
WSHGetWildcardSockaddr(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
OUT PSOCKADDR Sockaddr,
|
||||
OUT PINT SockaddrLength)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
DWORD
|
||||
EXPORT
|
||||
WSHGetWinsockMapping(
|
||||
OUT PWINSOCK_MAPPING Mapping,
|
||||
IN DWORD MappingLength)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
WSHGetWSAProtocolInfo(
|
||||
IN LPWSTR ProviderName,
|
||||
OUT LPWSAPROTOCOL_INFOW *ProtocolInfo,
|
||||
OUT LPDWORD ProtocolInfoEntries)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
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
|
||||
EXPORT
|
||||
WSHJoinLeaf(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN PVOID LeafHelperDllSocketContext,
|
||||
IN SOCKET LeafSocketHandle,
|
||||
IN PSOCKADDR Sockaddr,
|
||||
IN DWORD SockaddrLength,
|
||||
IN LPWSABUF CallerData,
|
||||
IN LPWSABUF CalleeData,
|
||||
IN LPQOS SocketQOS,
|
||||
IN LPQOS GroupQOS,
|
||||
IN DWORD Flags)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
WSHNotify(
|
||||
IN PVOID HelperDllSocketContext,
|
||||
IN SOCKET SocketHandle,
|
||||
IN HANDLE TdiAddressObjectHandle,
|
||||
IN HANDLE TdiConnectionObjectHandle,
|
||||
IN DWORD NotifyEvent)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
WSHOpenSocket(
|
||||
IN OUT PINT AddressFamily,
|
||||
IN OUT PINT SocketType,
|
||||
IN OUT PINT Protocol,
|
||||
OUT PUNICODE_STRING TransportDeviceName,
|
||||
OUT PVOID HelperDllSocketContext,
|
||||
OUT PDWORD NotificationEvents)
|
||||
/*
|
||||
* FUNCTION: Opens a socket
|
||||
*/
|
||||
{
|
||||
return WSHOpenSocket2(AddressFamily,
|
||||
SocketType,
|
||||
Protocol,
|
||||
0,
|
||||
0,
|
||||
TransportDeviceName,
|
||||
HelperDllSocketContext,
|
||||
NotificationEvents);
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
WSHOpenSocket2(
|
||||
OUT PINT AddressFamily,
|
||||
IN OUT PINT SocketType,
|
||||
IN OUT PINT Protocol,
|
||||
IN GROUP Group,
|
||||
IN DWORD Flags,
|
||||
OUT PUNICODE_STRING TransportDeviceName,
|
||||
OUT PVOID *HelperDllSocketContext,
|
||||
OUT PDWORD NotificationEvents)
|
||||
/*
|
||||
* FUNCTION: Opens a socket
|
||||
* ARGUMENTS:
|
||||
* AddressFamily = Address of buffer with address family (updated)
|
||||
* SocketType = Address of buffer with type of socket (updated)
|
||||
* Protocol = Address of buffer with protocol number (updated)
|
||||
* Group = Socket group
|
||||
* Flags = Socket flags
|
||||
* TransportDeviceName = Address of buffer to place name of transport device
|
||||
* HelperDllSocketContext = Address of buffer to place socket context pointer
|
||||
* NotificationEvents = Address of buffer to place flags for event notification
|
||||
* RETURNS:
|
||||
* Status of operation
|
||||
* NOTES:
|
||||
* Mapping tripple is returned in an canonicalized form
|
||||
*/
|
||||
{
|
||||
PSOCKET_CONTEXT Context;
|
||||
UNICODE_STRING String;
|
||||
NTSTATUS Status;
|
||||
|
||||
/* FIXME: Raw IP only. Support UDP and TCP */
|
||||
ASSERT(*SocketType == SOCK_RAW);
|
||||
|
||||
if (*Protocol < 0 || *Protocol > 255)
|
||||
return WSAEINVAL;
|
||||
|
||||
RtlInitUnicodeString(&String, DD_RAW_IP_DEVICE_NAME);
|
||||
|
||||
RtlInitUnicodeString(TransportDeviceName, NULL);
|
||||
|
||||
TransportDeviceName->MaximumLength = String.Length + /* Transport device name */
|
||||
(4 * sizeof(WCHAR) + /* Separator and protocol */
|
||||
sizeof(UNICODE_NULL)); /* Terminating null */
|
||||
|
||||
TransportDeviceName->Buffer = HeapAlloc(
|
||||
GetProcessHeap(),
|
||||
0,
|
||||
TransportDeviceName->MaximumLength);
|
||||
|
||||
if (!TransportDeviceName->Buffer)
|
||||
return WSAENOBUFS;
|
||||
|
||||
/* Append the transport device name */
|
||||
Status = RtlAppendUnicodeStringToString(TransportDeviceName, &String);
|
||||
|
||||
/* Append a separator */
|
||||
TransportDeviceName->Buffer[TransportDeviceName->Length / sizeof(WCHAR)] = OBJ_NAME_PATH_SEPARATOR;
|
||||
TransportDeviceName->Length += sizeof(WCHAR);
|
||||
TransportDeviceName->Buffer[TransportDeviceName->Length / sizeof(WCHAR)] = UNICODE_NULL;
|
||||
|
||||
/* Append the protocol number */
|
||||
String.Buffer = TransportDeviceName->Buffer + (TransportDeviceName->Length / sizeof(WCHAR));
|
||||
String.Length = 0;
|
||||
String.MaximumLength = TransportDeviceName->MaximumLength - TransportDeviceName->Length;
|
||||
|
||||
Status = RtlIntegerToUnicodeString((ULONG)*Protocol, 10, &String);
|
||||
|
||||
TransportDeviceName->Length += String.Length;
|
||||
|
||||
/* Setup a socket context area */
|
||||
|
||||
Context = HeapAlloc(GetProcessHeap(), 0, sizeof(SOCKET_CONTEXT));
|
||||
if (!Context) {
|
||||
RtlFreeUnicodeString(TransportDeviceName);
|
||||
return WSAENOBUFS;
|
||||
}
|
||||
|
||||
Context->AddressFamily = *AddressFamily;
|
||||
Context->SocketType = *SocketType;
|
||||
Context->Protocol = *Protocol;
|
||||
Context->Flags = Flags;
|
||||
|
||||
*HelperDllSocketContext = Context;
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
INT
|
||||
EXPORT
|
||||
WSHStringToAddress(
|
||||
IN LPWSTR AddressString,
|
||||
IN DWORD AddressFamily,
|
||||
IN LPWSAPROTOCOL_INFOW ProtocolInfo OPTIONAL,
|
||||
OUT LPSOCKADDR Address,
|
||||
IN OUT LPDWORD AddressStringLength)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
23
reactos/drivers/net/wshtcpip/wshtcpip.def
Normal file
23
reactos/drivers/net/wshtcpip/wshtcpip.def
Normal file
|
@ -0,0 +1,23 @@
|
|||
; WSHTCPIP.DLL - Windows Sockets Helper DLL for TCP/IP
|
||||
|
||||
LIBRARY wshtcpip.dll
|
||||
|
||||
EXPORTS
|
||||
WSHAddressToString@20
|
||||
WSHEnumProtocols@16
|
||||
WSHGetBroadcastSockaddr@12
|
||||
WSHGetProviderGuid@8
|
||||
WSHGetSockaddrType@12
|
||||
WSHGetSocketInformation@32
|
||||
WSHGetWildcardSockaddr@12
|
||||
WSHGetWinsockMapping@8
|
||||
WSHGetWSAProtocolInfo@12
|
||||
WSHIoctl@52
|
||||
WSHJoinLeaf@52
|
||||
WSHNotify@20
|
||||
WSHOpenSocket@24
|
||||
WSHOpenSocket2@32
|
||||
WSHSetSocketInformation@32
|
||||
WSHStringToAddress@20
|
||||
|
||||
; EOF
|
23
reactos/drivers/net/wshtcpip/wshtcpip.edf
Normal file
23
reactos/drivers/net/wshtcpip/wshtcpip.edf
Normal file
|
@ -0,0 +1,23 @@
|
|||
; WSHTCPIP.DLL - Windows Sockets Helper DLL for TCP/IP
|
||||
|
||||
LIBRARY wshtcpip.dll
|
||||
|
||||
EXPORTS
|
||||
WSHAddressToString=WSHAddressToString@20
|
||||
WSHEnumProtocols=WSHEnumProtocols@16
|
||||
WSHGetBroadcastSockaddr=WSHGetBroadcastSockaddr@12
|
||||
WSHGetProviderGuid=WSHGetProviderGuid@8
|
||||
WSHGetSockaddrType=WSHGetSockaddrType@12
|
||||
WSHGetSocketInformation=WSHGetSocketInformation@32
|
||||
WSHGetWildcardSockaddr=WSHGetWildcardSockaddr@12
|
||||
WSHGetWinsockMapping=WSHGetWinsockMapping@8
|
||||
WSHGetWSAProtocolInfo=WSHGetWSAProtocolInfo@12
|
||||
WSHIoctl=WSHIoctl@52
|
||||
WSHJoinLeaf=WSHJoinLeaf@52
|
||||
WSHNotify=WSHNotify@20
|
||||
WSHOpenSocket=WSHOpenSocket@24
|
||||
WSHOpenSocket2=WSHOpenSocket2@32
|
||||
WSHSetSocketInformation=WSHSetSocketInformation@32
|
||||
WSHStringToAddress=WSHStringToAddress@20
|
||||
|
||||
; EOF
|
33
reactos/drivers/net/wshtcpip/wshtcpip.h
Normal file
33
reactos/drivers/net/wshtcpip/wshtcpip.h
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS WinSock Helper DLL for TCP/IP
|
||||
* FILE: include/wshtcpip.h
|
||||
* PURPOSE: WinSock Helper DLL for TCP/IP header
|
||||
*/
|
||||
#ifndef __WSHTCPIP_H
|
||||
#define __WSHTCPIP_H
|
||||
|
||||
#include <wsahelp.h>
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <debug.h>
|
||||
|
||||
#define EXPORT STDCALL
|
||||
|
||||
#define OBJ_NAME_PATH_SEPARATOR ((WCHAR)L'\\')
|
||||
|
||||
#define DD_TCP_DEVICE_NAME L"\\Device\\Tcp"
|
||||
#define DD_UDP_DEVICE_NAME L"\\Device\\Udp"
|
||||
#define DD_RAW_IP_DEVICE_NAME L"\\Device\\RawIp"
|
||||
|
||||
|
||||
typedef struct _SOCKET_CONTEXT {
|
||||
INT AddressFamily;
|
||||
INT SocketType;
|
||||
INT Protocol;
|
||||
DWORD Flags;
|
||||
} SOCKET_CONTEXT, *PSOCKET_CONTEXT;
|
||||
|
||||
#endif /* __WSHTCPIP_H */
|
||||
|
||||
/* EOF */
|
39
reactos/drivers/net/wshtcpip/wshtcpip.rc
Normal file
39
reactos/drivers/net/wshtcpip/wshtcpip.rc
Normal file
|
@ -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 API\0"
|
||||
VALUE "FileVersion", RES_STR_FILE_VERSION
|
||||
VALUE "InternalName", "ws2_32\0"
|
||||
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
|
||||
VALUE "OriginalFilename", "ws2_32.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
|
||||
|
||||
|
78
reactos/drivers/net/wshtcpip/wshtcpip_specs
Normal file
78
reactos/drivers/net/wshtcpip/wshtcpip_specs
Normal file
|
@ -0,0 +1,78 @@
|
|||
*asm:
|
||||
|
||||
|
||||
*asm_final:
|
||||
|
||||
|
||||
*cpp:
|
||||
-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE}
|
||||
|
||||
*cc1:
|
||||
%(cc1_spec)
|
||||
|
||||
*cc1plus:
|
||||
|
||||
|
||||
*endfile:
|
||||
|
||||
|
||||
*link:
|
||||
%{mwindows:--subsystem windows} %{mdll:--dll -e _DllMain@12}
|
||||
|
||||
*lib:
|
||||
|
||||
|
||||
*libgcc:
|
||||
-lgcc
|
||||
|
||||
*startfile:
|
||||
|
||||
|
||||
*switches_need_spaces:
|
||||
|
||||
|
||||
*signed_char:
|
||||
%{funsigned-char:-D__CHAR_UNSIGNED__}
|
||||
|
||||
*predefines:
|
||||
-Di386 -D_WIN32 -DWIN32 -D__WIN32__ -D__MINGW32__ -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__)) -D_stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -Asystem(winnt) -Acpu(i386) -Amachine(i386)
|
||||
|
||||
*cross_compile:
|
||||
1
|
||||
|
||||
*version:
|
||||
egcs-2.91.57
|
||||
|
||||
*multilib:
|
||||
. ;
|
||||
|
||||
*multilib_defaults:
|
||||
|
||||
|
||||
*multilib_extra:
|
||||
|
||||
|
||||
*multilib_matches:
|
||||
|
||||
|
||||
*linker:
|
||||
collect2
|
||||
|
||||
*cpp_486:
|
||||
%{!ansi:-Di486} -D__i486 -D__i486__
|
||||
|
||||
*cpp_586:
|
||||
%{!ansi:-Di586 -Dpentium} -D__i586 -D__i586__ -D__pentium -D__pentium__
|
||||
|
||||
*cpp_686:
|
||||
%{!ansi:-Di686 -Dpentiumpro} -D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__
|
||||
|
||||
*cpp_cpu_default:
|
||||
%(cpp_586)
|
||||
|
||||
*cpp_cpu:
|
||||
-Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__ %{mcpu=i486:%(cpp_486)} %{m486:%(cpp_486)} %{mpentium:%(cpp_586)} %{mcpu=pentium:%(cpp_586)} %{mpentiumpro:%(cpp_686)} %{mcpu=pentiumpro:%(cpp_686)} %{!mcpu*:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}
|
||||
|
||||
*cc1_cpu:
|
||||
%{!mcpu*: %{m386:-mcpu=i386 -march=i386} %{mno-486:-mcpu=i386 -march=i386} %{m486:-mcpu=i486 -march=i486} %{mno-386:-mcpu=i486 -march=i486} %{mno-pentium:-mcpu=i486 -march=i486} %{mpentium:-mcpu=pentium} %{mno-pentiumpro:-mcpu=pentium} %{mpentiumpro:-mcpu=pentiumpro}}
|
||||
|
Loading…
Reference in a new issue