diff --git a/reactos/lib/wsock32/.cvsignore b/reactos/lib/wsock32/.cvsignore new file mode 100644 index 00000000000..3ea01eed471 --- /dev/null +++ b/reactos/lib/wsock32/.cvsignore @@ -0,0 +1,8 @@ +wsock32.a +wsock32.dll +wsock32.nostrip.dll +wsock32.coff +wsock32.sym +base.tmp +junk.tmp +temp.exp diff --git a/reactos/lib/wsock32/Makefile b/reactos/lib/wsock32/Makefile new file mode 100644 index 00000000000..0ad2f3a1bfa --- /dev/null +++ b/reactos/lib/wsock32/Makefile @@ -0,0 +1,36 @@ +# $Id: Makefile,v 1.1 2003/04/03 22:44:19 gvg Exp $ + +PATH_TO_TOP = ../.. + +TARGET_TYPE = dynlink + +TARGET_NAME = wsock32 + +TARGET_BASE = 0x75050000 + +TARGET_CFLAGS = \ + -I./include \ + -Wall \ + -Werror \ + -fno-builtin \ + -DUNICODE \ + -DLE \ + -DDBG + +TARGET_LFLAGS = -nostartfiles -nostdlib + +TARGET_SDKLIBS = kernel32.a + +TARGET_OBJECTS = stubs.o + +TARGET_CLEAN = $(DEP_FILES) + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk + +# Automatic dependency tracking +DEP_OBJECTS := $(TARGET_OBJECTS) +include $(PATH_TO_TOP)/tools/depend.mk + +# EOF diff --git a/reactos/lib/wsock32/stubs.c b/reactos/lib/wsock32/stubs.c new file mode 100644 index 00000000000..81809372448 --- /dev/null +++ b/reactos/lib/wsock32/stubs.c @@ -0,0 +1,834 @@ +/* $Id: stubs.c,v 1.1 2003/04/03 22:44:19 gvg Exp $ + * + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS WinSock DLL + * FILE: stubs.c + * PURPOSE: Stub functions + * PROGRAMMERS: Ge van Geldorp (ge@gse.nl) + * REVISIONS: + */ + +#include +#include + +BOOL +STDCALL +AcceptEx(SOCKET ListenSocket, + SOCKET AcceptSocket, + PVOID OutputBuffer, + DWORD ReceiveDataLength, + DWORD LocalAddressLength, + DWORD RemoteAddressLength, + LPDWORD BytesReceived, + LPOVERLAPPED Overlapped) +{ + OutputDebugString(L"w32sock AcceptEx stub called\n"); + + return FALSE; +} + +INT +STDCALL +EnumProtocolsA(LPINT ProtocolCount, + LPVOID ProtocolBuffer, + LPDWORD BufferLength) +{ + OutputDebugString(L"w32sock EnumProtocolsA stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +EnumProtocolsW(LPINT ProtocolCount, + LPVOID ProtocolBuffer, + LPDWORD BufferLength) +{ + OutputDebugString(L"w32sock EnumProtocolsW stub called\n"); + + return SOCKET_ERROR; +} + +VOID +STDCALL +GetAcceptExSockaddrs(PVOID OutputBuffer, + DWORD ReceiveDataLength, + DWORD LocalAddressLength, + DWORD RemoteAddressLength, + LPSOCKADDR* LocalSockaddr, + LPINT LocalSockaddrLength, + LPSOCKADDR* RemoteSockaddr, + LPINT RemoteSockaddrLength) +{ + OutputDebugString(L"w32sock GetAcceptExSockaddrs stub called\n"); +} + +INT +STDCALL +GetAddressByNameA(DWORD NameSpace, + LPGUID ServiceType, + LPSTR ServiceName, + LPINT Protocols, + DWORD Resolution, + LPVOID /* really LPSERVICE_ASYNC_INFO */ ServiceAsyncInfo, + LPVOID CsaddrBuffer, + LPDWORD BufferLength, + LPSTR AliasBuffer, + LPDWORD AliasBufferLength) +{ + OutputDebugString(L"w32sock GetAddressByNameA stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +GetAddressByNameW(DWORD NameSpace, + LPGUID ServiceType, + LPWSTR ServiceName, + LPINT Protocols, + DWORD Resolution, + LPVOID /* really LPSERVICE_ASYNC_INFO */ ServiceAsyncInfo, + LPVOID CsaddrBuffer, + LPDWORD BufferLength, + LPWSTR AliasBuffer, + LPDWORD AliasBufferLength) +{ + OutputDebugString(L"w32sock GetAddressByNameW stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +GetNameByTypeA(LPGUID ServiceType, + LPSTR ServiceName, + DWORD NameLength) +{ + OutputDebugString(L"w32sock GetNameByTypeA stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +GetNameByTypeW(LPGUID ServiceType, + LPWSTR ServiceName, + DWORD NameLength) +{ + OutputDebugString(L"w32sock GetNameByTypeW stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +GetServiceA(DWORD NameSpace, + LPGUID Guid, + LPSTR ServiceName, + DWORD Properties, + LPVOID Buffer, + LPDWORD BufferSize, + LPVOID /* Really LPSERVICE_ASYNC_INFO */ ServiceAsyncInfo) +{ + OutputDebugString(L"w32sock GetServiceA stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +GetServiceW(DWORD NameSpace, + LPGUID Guid, + LPWSTR ServiceName, + DWORD Properties, + LPVOID Buffer, + LPDWORD BufferSize, + LPVOID /* Really LPSERVICE_ASYNC_INFO */ ServiceAsyncInfo) +{ + OutputDebugString(L"w32sock GetServiceW stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +GetTypeByNameA(LPSTR ServiceName, + LPGUID ServiceType) +{ + OutputDebugString(L"w32sock GetTypeByNameA stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +GetTypeByNameW(LPWSTR ServiceName, + LPGUID ServiceType) +{ + OutputDebugString(L"w32sock GetTypeByNameW stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +SetServiceA(DWORD NameSpace, + DWORD Operation, + DWORD Flags, + LPVOID /* Really LPSERVICE_INFO */ ServiceInfo, + LPVOID /* Really LPSERVICE_ASYNC_INFOA */ ServiceAsyncInfo, + LPDWORD dwStatusFlags) +{ + OutputDebugString(L"w32sock SetServiceA stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +SetServiceW(DWORD NameSpace, + DWORD Operation, + DWORD Flags, + LPVOID /* Really LPSERVICE_INFO */ ServiceInfo, + LPVOID /* Really LPSERVICE_ASYNC_INFOW */ ServiceAsyncInfo, + LPDWORD dwStatusFlags) +{ + OutputDebugString(L"w32sock SetServiceW stub called\n"); + + return SOCKET_ERROR; +} + +BOOL +STDCALL +TransmitFile(SOCKET Socket, + HANDLE File, + DWORD NumberOfBytesToWrite, + DWORD NumberOfBytesPerSend, + LPOVERLAPPED Overlapped, + LPVOID /* really LPTRANSMIT_FILE_BUFFERS */ TransmitBuffers, + DWORD Flags) +{ + OutputDebugString(L"w32sock TransmitFile stub called\n"); + + return FALSE; +} + +HANDLE +STDCALL +WSAAsyncGetHostByAddr(HWND Wnd, + unsigned int Msg, + const char *Addr, + int Len, + int Type, + char *Buf, + int BufLen) +{ + OutputDebugString(L"w32sock WSAAsyncGetHostByAddr stub called\n"); + + return NULL; +} + +HANDLE +STDCALL +WSAAsyncGetHostByName(HWND Wnd, + unsigned int Msg, + const char *Name, + char *Buf, + int BufLen) +{ + OutputDebugString(L"w32sock WSAAsyncGetHostByName stub called\n"); + + return NULL; +} + +HANDLE +STDCALL +WSAAsyncGetProtoByName(HWND Wnd, + unsigned int Msg, + const char *Name, + char *Buf, + int Buflen) +{ + OutputDebugString(L"w32sock WSAAsyncGetProtoByName stub called\n"); + + return NULL; +} + +HANDLE +STDCALL +WSAAsyncGetProtoByNumber(HWND Wnd, + unsigned int Msg, + int Number, + char *Buf, + int BufLen) +{ + OutputDebugString(L"w32sock WSAAsyncGetProtoByNumber stub called\n"); + + return NULL; +} + +HANDLE +STDCALL +WSAAsyncGetServByName(HWND Wnd, + unsigned int Msg, + const char *Name, + const char *Proto, + char *Buf, + int BufLen) +{ + OutputDebugString(L"w32sock WSAAsyncGetServByName stub called\n"); + + return NULL; +} + +HANDLE +STDCALL +WSAAsyncGetServByPort(HWND Wnd, + unsigned int Msg, + int Port, + const char *Proto, + char *Buf, + int BufLen) +{ + OutputDebugString(L"w32sock WSAAsyncGetServByPort stub called\n"); + + return NULL; +} + +INT +STDCALL +WSAAsyncSelect(SOCKET Sock, + HWND Wnd, + UINT Msg, + LONG Event) +{ + OutputDebugString(L"w32sock WSAAsyncSelect stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +WSACancelAsyncRequest(HANDLE AsyncTaskHandle) +{ + OutputDebugString(L"w32sock WSACancelAsyncRequest stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +WSACancelBlockingCall() +{ + OutputDebugString(L"w32sock WSACancelBlockingCall stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +WSACleanup() +{ + OutputDebugString(L"w32sock WSACleanup stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +WSAGetLastError(void) +{ + OutputDebugString(L"w32sock WSAGetLastError stub called\n"); + + return WSANOTINITIALISED; +} + +BOOL +STDCALL +WSAIsBlocking(VOID) +{ + OutputDebugString(L"w32sock WSAIsBlocking stub called\n"); + + return FALSE; +} + +int +STDCALL +WSARecvEx(SOCKET Sock, + char *Buf, + int Len, + int *Flags) +{ + OutputDebugString(L"w32sock WSARecvEx stub called\n"); + + return SOCKET_ERROR; +} + +FARPROC +STDCALL +WSASetBlockingHook(FARPROC BlockFunc) +{ + OutputDebugString(L"w32sock WSASetBlockingHook stub called\n"); + + return NULL; +} + +void +STDCALL WSASetLastError(int Error) +{ + OutputDebugString(L"w32sock WSASetLastError stub called\n"); +} + +int +STDCALL +WSAStartup(WORD VersionRequested, + LPWSADATA WSAData) +{ + OutputDebugString(L"w32sock WSAStartup stub called\n"); + + return WSASYSNOTREADY; +} + +int +STDCALL +WSAUnhookBlockingHook(void) +{ + OutputDebugString(L"w32sock WSAUnhookBlockingHook stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +WSApSetPostRoutine(LPVOID /* really LPWPUPOSTMESSAGE */ PostRoutine) +{ + OutputDebugString(L"w32sock WSApSetPostRoutine stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +__WSAFDIsSet(SOCKET Sock, + fd_set *Set) +{ + OutputDebugString(L"w32sock __WSAFDIsSet stub called\n"); + + return 0; +} + +SOCKET +STDCALL +accept(SOCKET Sock, + struct sockaddr *Addr, + int *AddrLen) +{ + OutputDebugString(L"w32sock accept stub called\n"); + + return INVALID_SOCKET; +} + +INT +STDCALL +bind(SOCKET Sock, + CONST LPSOCKADDR Name, + INT NameLen) +{ + OutputDebugString(L"w32sock bind stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +closesocket(SOCKET Sock) +{ + OutputDebugString(L"w32sock closesocket stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +connect(SOCKET Sock, + CONST LPSOCKADDR Name, + INT NameLen) +{ + OutputDebugString(L"w32sock connect stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +dn_expand(unsigned char *MessagePtr, + unsigned char *EndofMesOrig, + unsigned char *CompDomNam, + unsigned char *ExpandDomNam, + int Length) +{ + OutputDebugString(L"w32sock dn_expand stub called\n"); + + return SOCKET_ERROR; +} + +LPHOSTENT +STDCALL +gethostbyaddr(CONST CHAR *Addr, + INT Len, + INT Type) +{ + OutputDebugString(L"w32sock gethostbyaddr stub called\n"); + + return NULL; +} + +struct hostent * +STDCALL +gethostbyname(const char *Name) +{ + OutputDebugString(L"w32sock gethostbyname stub called\n"); + + return NULL; +} + +int +STDCALL +gethostname(char *Name, + int NameLen) +{ + OutputDebugString(L"w32sock gethostname stub called\n"); + + return SOCKET_ERROR; +} + +struct netent * +STDCALL +getnetbyname(char *Name) +{ + OutputDebugString(L"w32sock getnetbyname stub called\n"); + + return NULL; +} + +int +STDCALL +getpeername(SOCKET Sock, + struct sockaddr *Name, + int *NameLen) +{ + OutputDebugString(L"w32sock getpeername stub called\n"); + + return SOCKET_ERROR; +} + +LPPROTOENT +STDCALL +getprotobyname(CONST CHAR *Name) +{ + OutputDebugString(L"w32sock getprotobyname stub called\n"); + + return NULL; +} + +LPPROTOENT +STDCALL +getprotobynumber(INT Number) +{ + OutputDebugString(L"w32sock getprotobynumber stub called\n"); + + return NULL; +} + +struct servent * +STDCALL +getservbyname(const char *Name, + const char *Proto) +{ + OutputDebugString(L"w32sock getservbyname stub called\n"); + + return NULL; +} + +struct servent * +STDCALL +getservbyport(int Port, + const char *Proto) +{ + OutputDebugString(L"w32sock getservbyport stub called\n"); + + return NULL; +} + +int +STDCALL +getsockname(SOCKET Sock, + struct sockaddr *Name, + int *NameLen) +{ + OutputDebugString(L"w32sock getsockname stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +getsockopt(SOCKET Sock, + int Level, + int OptName, + char *OptVal, + int *OptLen) +{ + OutputDebugString(L"w32sock getsockopt stub called\n"); + + return SOCKET_ERROR; +} + +ULONG +STDCALL +htonl(ULONG HostLong) +{ + return (((HostLong << 24) & 0xff000000) | + ((HostLong << 8) & 0x00ff0000) | + ((HostLong >> 8) & 0x0000ff00) | + ((HostLong >> 24) & 0x000000ff)); +} + +USHORT +STDCALL +htons(USHORT HostShort) +{ + return (((HostShort << 8) & 0xff00) | + ((HostShort >> 8) & 0x00ff)); +} + +ULONG +STDCALL +inet_addr(CONST CHAR *cp) +{ + OutputDebugString(L"w32sock inet_addr stub called\n"); + + return INADDR_NONE; +} + +unsigned long +STDCALL +inet_network(const char *cp) +{ + OutputDebugString(L"w32sock inet_network stub called\n"); + + return INADDR_NONE; +} + +char * +STDCALL +inet_ntoa(struct in_addr in) +{ + OutputDebugString(L"w32sock inet_ntoa stub called\n"); + + return NULL; +} + +INT +STDCALL +ioctlsocket(SOCKET Sock, + LONG Cmd, + ULONG *Argp) +{ + OutputDebugString(L"w32sock ioctlsocket stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +listen(SOCKET Sock, + int BackLog) +{ + OutputDebugString(L"w32sock listen stub called\n"); + + return SOCKET_ERROR; +} + + +ULONG +STDCALL +ntohl(ULONG NetLong) +{ + return (((NetLong << 24) & 0xff000000) | + ((NetLong << 8) & 0x00ff0000) | + ((NetLong >> 8) & 0x0000ff00) | + ((NetLong >> 24) & 0x000000ff)); +} + +USHORT +STDCALL +ntohs(USHORT NetShort) +{ + return (((NetShort << 8) & 0xff00) | + ((NetShort >> 8) & 0x00ff)); +} + +SOCKET +STDCALL +rcmd(char **AHost, + USHORT InPort, + char *LocUser, + char *RemUser, + char *Cmd, + int *Fd2p) +{ + OutputDebugString(L"w32sock rcmd stub called\n"); + + return INVALID_SOCKET; +} + +int +STDCALL +recv(SOCKET Sock, + char *Buf, + int Len, + int Flags) +{ + OutputDebugString(L"w32sock recv stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +recvfrom(SOCKET Sock, + char *Buf, + int Len, + int Flags, + struct sockaddr *From, + int *FromLen) +{ + OutputDebugString(L"w32sock recvfrom stub called\n"); + + return SOCKET_ERROR; +} + +SOCKET +STDCALL +rexec(char **AHost, + int InPort, + char *User, + char *Passwd, + char *Cmd, + int *Fd2p) +{ + OutputDebugString(L"w32sock rexec stub called\n"); + + return INVALID_SOCKET; +} + + +SOCKET +STDCALL +rresvport(int *port) +{ + OutputDebugString(L"w32sock rresvport stub called\n"); + + return INVALID_SOCKET; +} + +void +STDCALL +s_perror(const char *str) +{ + OutputDebugString(L"w32sock s_perror stub called\n"); +} + +INT +STDCALL +select(INT NumFds, + LPFD_SET ReadFds, + LPFD_SET WriteFds, + LPFD_SET ExceptFds, + CONST LPTIMEVAL TimeOut) +{ + OutputDebugString(L"w32sock select stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +send(SOCKET Sock, + const char *Buf, + int Len, + int Flags) +{ + OutputDebugString(L"w32sock send stub called\n"); + + return SOCKET_ERROR; +} + +INT +STDCALL +sendto(SOCKET Sock, + CONST CHAR *Buf, + INT Len, + INT Flags, + CONST LPSOCKADDR To, + INT ToLen) +{ + OutputDebugString(L"w32sock sendto stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +sethostname(char *Name, int NameLen) +{ + OutputDebugString(L"w32sock sethostname stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +setsockopt(SOCKET Sock, + int Level, + int OptName, + const char *OptVal, + int OptLen) +{ + OutputDebugString(L"w32sock setsockopt stub called\n"); + + return SOCKET_ERROR; +} + +int +STDCALL +shutdown(SOCKET Sock, + int How) +{ + OutputDebugString(L"w32sock shutdown stub called\n"); + + return SOCKET_ERROR; +} + +SOCKET +STDCALL +socket(int AF, + int Type, + int Protocol) +{ + OutputDebugString(L"w32sock socket stub called\n"); + + return INVALID_SOCKET; +} + +BOOL +STDCALL +DllMain(HINSTANCE InstDLL, + DWORD Reason, + LPVOID Reserved) +{ + return TRUE; +} + diff --git a/reactos/lib/wsock32/wsock32.def b/reactos/lib/wsock32/wsock32.def new file mode 100644 index 00000000000..6dadfdbe60f --- /dev/null +++ b/reactos/lib/wsock32/wsock32.def @@ -0,0 +1,54 @@ +; $Id: wsock32.def,v 1.1 2003/04/03 22:44:19 gvg Exp $ +; +; WSOCK32.DLL - Windows Sockets 2 DLL + +LIBRARY wsock32.dll + +EXPORTS +WSAAsyncGetHostByAddr@28 +WSAAsyncGetHostByName@20 +WSAAsyncGetProtoByName@20 +WSAAsyncGetProtoByNumber@20 +WSAAsyncGetServByName@24 +WSAAsyncGetServByPort@24 +WSAAsyncSelect@16 +WSACancelAsyncRequest@4 +WSACancelBlockingCall@0 +WSACleanup@0 +WSAGetLastError@0 +WSAIsBlocking@0 +WSASetBlockingHook@4 +WSASetLastError@4 +WSAStartup@8 +WSAUnhookBlockingHook@0 +__WSAFDIsSet@8 +accept@12 +bind@12 +closesocket@4 +connect@12 +gethostbyaddr@12 +gethostbyname@4 +gethostname@8 +getpeername@12 +getprotobyname@4 +getprotobynumber@4 +getservbyname@8 +getservbyport@8 +getsockname@12 +getsockopt@20 +htonl@4 +htons@4 +inet_addr@4 +inet_ntoa@4 +ioctlsocket@12 +listen@8 +ntohl@4 +ntohs@4 +recv@16 +recvfrom@24 +select@20 +send@16 +sendto@24 +setsockopt@20 +shutdown@8 +socket@12 diff --git a/reactos/lib/wsock32/wsock32.edf b/reactos/lib/wsock32/wsock32.edf new file mode 100644 index 00000000000..058d8a0ff27 --- /dev/null +++ b/reactos/lib/wsock32/wsock32.edf @@ -0,0 +1,56 @@ +; $Id: wsock32.edf,v 1.1 2003/04/03 22:44:19 gvg Exp $ +; +; WSOCK32.DLL - Windows Sockets 2 DLL + +LIBRARY wsock32.dll + +EXPORTS +WSAAsyncGetHostByAddr=WSAAsyncGetHostByAddr@28 +WSAAsyncGetHostByName=WSAAsyncGetHostByName@20 +WSAAsyncGetProtoByName=WSAAsyncGetProtoByName@20 +WSAAsyncGetProtoByNumber=WSAAsyncGetProtoByNumber@20 +WSAAsyncGetServByName=WSAAsyncGetServByName@24 +WSAAsyncGetServByPort=WSAAsyncGetServByPort@24 +WSAAsyncSelect=WSAAsyncSelect@16 +WSACancelAsyncRequest=WSACancelAsyncRequest@4 +WSACancelBlockingCall=WSACancelBlockingCall@0 +WSACleanup=WSACleanup@0 +WSAGetLastError=WSAGetLastError@0 +WSAIsBlocking=WSAIsBlocking@0 +WSASetBlockingHook=WSASetBlockingHook@4 +WSASetLastError=WSASetLastError@4 +WSAStartup=WSAStartup@8 +WSAUnhookBlockingHook=WSAUnhookBlockingHook@0 +__WSAFDIsSet=__WSAFDIsSet@8 +accept=accept@12 +bind=bind@12 +closesocket=closesocket@4 +connect=connect@12 +gethostbyaddr=gethostbyaddr@12 +gethostbyname=gethostbyname@4 +gethostname=gethostname@8 +getpeername=getpeername@12 +getprotobyname=getprotobyname@4 +getprotobynumber=getprotobynumber@4 +getservbyname=getservbyname@8 +getservbyport=getservbyport@8 +getsockname=getsockname@12 +getsockopt=getsockopt@20 +htonl=htonl@4 +htons=htons@4 +inet_addr=inet_addr@4 +inet_ntoa=inet_ntoa@4 +ioctlsocket=ioctlsocket@12 +listen=listen@8 +ntohl=ntohl@4 +ntohs=ntohs@4 +recv=recv@16 +recvfrom=recvfrom@24 +select=select@20 +send=send@16 +sendto=sendto@24 +setsockopt=setsockopt@20 +shutdown=shutdown@8 +socket=socket@12 + +; EOF diff --git a/reactos/lib/wsock32/wsock32.rc b/reactos/lib/wsock32/wsock32.rc new file mode 100644 index 00000000000..65c4f090816 --- /dev/null +++ b/reactos/lib/wsock32/wsock32.rc @@ -0,0 +1,41 @@ +/* $Id: wsock32.rc,v 1.1 2003/04/03 22:44:19 gvg Exp $ */ + +#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 DLL\0" + VALUE "FileVersion", RES_STR_FILE_VERSION + VALUE "InternalName", "wsock32\0" + VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT + VALUE "OriginalFilename", "wsock32.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 + +