From c607532ae429d3be56071056c2722c0217cca148 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Sun, 9 Jul 2000 11:19:35 +0000 Subject: [PATCH] Created separate libraries for dplay, shfolder, shlwapi, wow32 and wsock32 so that we have at most one Win32 dll in each .so library. --- Make.rules.in | 5 + configure | 14 +- configure.in | 7 +- dlls/Makefile.in | 49 +++- dlls/dplay/.cvsignore | 3 + dlls/dplay/Makefile.in | 11 + dlls/dplay/dplay.spec | 8 + dlls/dplayx/Makefile.in | 2 - dlls/dplayx/dplay.spec | 8 - dlls/kernel/.cvsignore | 1 - dlls/kernel/Makefile.in | 2 +- dlls/kernel/wow32.spec | 22 -- dlls/shell32/Makefile.in | 2 +- dlls/shell32/shell32_main.c | 26 -- dlls/shell32/shell32_main.h | 5 - dlls/shell32/shellord.c | 374 ------------------------ dlls/shell32/shfolder.spec | 6 - dlls/shfolder/.cvsignore | 3 + dlls/shfolder/Makefile.in | 12 + dlls/shfolder/shfolder.spec | 5 + dlls/shlwapi/.cvsignore | 3 + dlls/shlwapi/Makefile.in | 16 + dlls/shlwapi/ordinal.c | 390 +++++++++++++++++++++++++ dlls/{shell32 => shlwapi}/shlwapi.spec | 88 +++--- dlls/shlwapi/shlwapi_main.c | 31 ++ dlls/winsock/.cvsignore | 2 +- dlls/winsock/Makefile.in | 4 +- dlls/winsock/socket.c | 71 +---- dlls/winsock/ws2_32.spec | 4 +- dlls/winsock/wsock32.spec | 81 ----- dlls/wow32/.cvsignore | 3 + dlls/wow32/Makefile.in | 10 + dlls/wow32/wow32.spec | 24 ++ dlls/wsock32/.cvsignore | 3 + dlls/wsock32/Makefile.in | 13 + dlls/wsock32/socket.c | 57 ++++ dlls/wsock32/wsock32.spec | 83 ++++++ 37 files changed, 787 insertions(+), 661 deletions(-) create mode 100644 dlls/dplay/.cvsignore create mode 100644 dlls/dplay/Makefile.in create mode 100644 dlls/dplay/dplay.spec delete mode 100644 dlls/dplayx/dplay.spec delete mode 100644 dlls/kernel/wow32.spec delete mode 100644 dlls/shell32/shfolder.spec create mode 100644 dlls/shfolder/.cvsignore create mode 100644 dlls/shfolder/Makefile.in create mode 100644 dlls/shfolder/shfolder.spec create mode 100644 dlls/shlwapi/.cvsignore create mode 100644 dlls/shlwapi/Makefile.in create mode 100644 dlls/shlwapi/ordinal.c rename dlls/{shell32 => shlwapi}/shlwapi.spec (87%) create mode 100644 dlls/shlwapi/shlwapi_main.c delete mode 100644 dlls/winsock/wsock32.spec create mode 100644 dlls/wow32/.cvsignore create mode 100644 dlls/wow32/Makefile.in create mode 100644 dlls/wow32/wow32.spec create mode 100644 dlls/wsock32/.cvsignore create mode 100644 dlls/wsock32/Makefile.in create mode 100644 dlls/wsock32/socket.c create mode 100644 dlls/wsock32/wsock32.spec diff --git a/Make.rules.in b/Make.rules.in index 980ca9d7de4..b55a0b39167 100644 --- a/Make.rules.in +++ b/Make.rules.in @@ -99,6 +99,7 @@ DLLS = \ crtdll \ dciman32 \ dinput \ + dplay \ dplayx \ dsound \ gdi32 \ @@ -133,6 +134,8 @@ DLLS = \ setupapi \ setupx \ shell32 \ + shfolder \ + shlwapi \ sound \ stress \ tapi32 \ @@ -150,6 +153,8 @@ DLLS = \ winmm \ winspool.drv \ wnaspi32 \ + wow32 \ + ws2_32 \ wsock32 # Implicit rules diff --git a/configure b/configure index dcb814a27dd..237b8d5b887 100755 --- a/configure +++ b/configure @@ -6182,6 +6182,7 @@ dlls/crtdll/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/dinput/Makefile +dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dsound/Makefile dlls/gdi/Makefile @@ -6210,10 +6211,13 @@ dlls/richedit/Makefile dlls/setupapi/Makefile dlls/setupx/Makefile dlls/shell32/Makefile +dlls/shfolder/Makefile +dlls/shlwapi/Makefile dlls/sound/Makefile dlls/stress/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile +dlls/ttydrv/Makefile dlls/urlmon/Makefile dlls/user/Makefile dlls/version/Makefile @@ -6236,7 +6240,8 @@ dlls/winmm/wavemap/Makefile dlls/winmm/wineoss/Makefile dlls/winsock/Makefile dlls/winspool/Makefile -dlls/ttydrv/Makefile +dlls/wow32/Makefile +dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile documentation/wine.conf.man @@ -6416,6 +6421,7 @@ dlls/crtdll/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/dinput/Makefile +dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dsound/Makefile dlls/gdi/Makefile @@ -6444,10 +6450,13 @@ dlls/richedit/Makefile dlls/setupapi/Makefile dlls/setupx/Makefile dlls/shell32/Makefile +dlls/shfolder/Makefile +dlls/shlwapi/Makefile dlls/sound/Makefile dlls/stress/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile +dlls/ttydrv/Makefile dlls/urlmon/Makefile dlls/user/Makefile dlls/version/Makefile @@ -6470,7 +6479,8 @@ dlls/winmm/wavemap/Makefile dlls/winmm/wineoss/Makefile dlls/winsock/Makefile dlls/winspool/Makefile -dlls/ttydrv/Makefile +dlls/wow32/Makefile +dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile documentation/wine.conf.man diff --git a/configure.in b/configure.in index 65dc0866703..09aabf52d3e 100644 --- a/configure.in +++ b/configure.in @@ -981,6 +981,7 @@ dlls/crtdll/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/dinput/Makefile +dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dsound/Makefile dlls/gdi/Makefile @@ -1009,10 +1010,13 @@ dlls/richedit/Makefile dlls/setupapi/Makefile dlls/setupx/Makefile dlls/shell32/Makefile +dlls/shfolder/Makefile +dlls/shlwapi/Makefile dlls/sound/Makefile dlls/stress/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile +dlls/ttydrv/Makefile dlls/urlmon/Makefile dlls/user/Makefile dlls/version/Makefile @@ -1035,7 +1039,8 @@ dlls/winmm/wavemap/Makefile dlls/winmm/wineoss/Makefile dlls/winsock/Makefile dlls/winspool/Makefile -dlls/ttydrv/Makefile +dlls/wow32/Makefile +dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile documentation/wine.conf.man diff --git a/dlls/Makefile.in b/dlls/Makefile.in index 9c168fadbf9..11750b13211 100644 --- a/dlls/Makefile.in +++ b/dlls/Makefile.in @@ -19,6 +19,7 @@ DLLFILES = \ crtdll/libcrtdll.@LIBEXT@ \ dciman32/libdciman32.@LIBEXT@ \ dinput/libdinput.@LIBEXT@ \ + dplay/libdplay.@LIBEXT@ \ dplayx/libdplayx.@LIBEXT@ \ dsound/libdsound.@LIBEXT@ \ gdi/libgdi32.@LIBEXT@ \ @@ -45,6 +46,8 @@ DLLFILES = \ setupx/libsetupx.@LIBEXT@ \ setupapi/libsetupapi.@LIBEXT@ \ shell32/libshell32.@LIBEXT@ \ + shfolder/libshfolder.@LIBEXT@ \ + shlwapi/libshlwapi.@LIBEXT@ \ sound/libsound.@LIBEXT@ \ stress/libstress.@LIBEXT@ \ tapi32/libtapi32.@LIBEXT@ \ @@ -69,8 +72,10 @@ DLLFILES = \ winmm/midimap/libmidimap.drv.@LIBEXT@ \ winmm/wavemap/libmsacm.drv.@LIBEXT@ \ winmm/wineoss/libwineoss.drv.@LIBEXT@ \ - winsock/libwsock32.@LIBEXT@ \ - winspool/libwinspool.drv.@LIBEXT@ + winsock/libws2_32.@LIBEXT@ \ + winspool/libwinspool.drv.@LIBEXT@ \ + wow32/libwow32.@LIBEXT@ \ + wsock32/libwsock32.@LIBEXT@ # extra names for dlls containing multiple spec files EXTRADLLNAMES = \ @@ -81,7 +86,6 @@ EXTRADLLNAMES = \ ddeml \ dispdib \ display \ - dplay \ gdi \ kernel \ keyboard \ @@ -99,8 +103,6 @@ EXTRADLLNAMES = \ olesvr \ rasapi16 \ shell \ - shfolder \ - shlwapi \ storage \ system \ toolhelp \ @@ -111,8 +113,6 @@ EXTRADLLNAMES = \ win32s16 \ winaspi \ winsock \ - ws2_32 \ - wow32 \ wprocs SUBDIRS = \ @@ -123,6 +123,7 @@ SUBDIRS = \ dciman32 \ ddraw \ dinput \ + dplay \ dplayx \ dsound \ gdi \ @@ -149,6 +150,8 @@ SUBDIRS = \ richedit \ setupx \ shell32 \ + shfolder \ + shlwapi \ sound \ stress \ tapi32 \ @@ -166,6 +169,8 @@ SUBDIRS = \ winmm \ winsock \ winspool \ + wow32 \ + wsock32 \ x11drv @MAKE_RULES@ @@ -195,7 +200,10 @@ libddraw.@LIBEXT@: ddraw/libddraw.@LIBEXT@ libdinput.@LIBEXT@: dinput/libdinput.@LIBEXT@ $(RM) $@ && $(LN_S) dinput/libdinput.@LIBEXT@ $@ -libdplayx.@LIBEXT@ libdplay.@LIBEXT@: dplayx/libdplayx.@LIBEXT@ +libdplay.@LIBEXT@: dplay/libdplay.@LIBEXT@ + $(RM) $@ && $(LN_S) dplay/libdplay.@LIBEXT@ $@ + +libdplayx.@LIBEXT@: dplayx/libdplayx.@LIBEXT@ $(RM) $@ && $(LN_S) dplayx/libdplayx.@LIBEXT@ $@ libdsound.@LIBEXT@: dsound/libdsound.@LIBEXT@ @@ -213,7 +221,7 @@ libimagehlp.@LIBEXT@: imagehlp/libimagehlp.@LIBEXT@ libimm32.@LIBEXT@: imm32/libimm32.@LIBEXT@ $(RM) $@ && $(LN_S) imm32/libimm32.@LIBEXT@ $@ -libkernel32.@LIBEXT@ libwow32.@LIBEXT@ libcomm.@LIBEXT@ libkernel.@LIBEXT@ libsystem.@LIBEXT@ libtoolhelp.@LIBEXT@ libwprocs.@LIBEXT@: kernel/libkernel32.@LIBEXT@ +libkernel32.@LIBEXT@ libcomm.@LIBEXT@ libkernel.@LIBEXT@ libsystem.@LIBEXT@ libtoolhelp.@LIBEXT@ libwprocs.@LIBEXT@: kernel/libkernel32.@LIBEXT@ $(RM) $@ && $(LN_S) kernel/libkernel32.@LIBEXT@ $@ libjoystick.drv.@LIBEXT@: winmm/joystick/libjoystick.drv.@LIBEXT@ @@ -297,9 +305,15 @@ libsetupapi.@LIBEXT@: setupapi/libsetupapi.@LIBEXT@ libsetupx.@LIBEXT@: setupx/libsetupx.@LIBEXT@ $(RM) $@ && $(LN_S) setupx/libsetupx.@LIBEXT@ $@ -libshell32.@LIBEXT@ libshell.@LIBEXT@ libshlwapi.@LIBEXT@ libshfolder.@LIBEXT@: shell32/libshell32.@LIBEXT@ +libshell32.@LIBEXT@ libshell.@LIBEXT@: shell32/libshell32.@LIBEXT@ $(RM) $@ && $(LN_S) shell32/libshell32.@LIBEXT@ $@ +libshfolder.@LIBEXT@: shfolder/libshfolder.@LIBEXT@ + $(RM) $@ && $(LN_S) shfolder/libshfolder.@LIBEXT@ $@ + +libshlwapi.@LIBEXT@: shlwapi/libshlwapi.@LIBEXT@ + $(RM) $@ && $(LN_S) shlwapi/libshlwapi.@LIBEXT@ $@ + libsound.@LIBEXT@: sound/libsound.@LIBEXT@ $(RM) $@ && $(LN_S) sound/libsound.@LIBEXT@ $@ @@ -351,8 +365,14 @@ libwinspool.drv.@LIBEXT@: winspool/libwinspool.drv.@LIBEXT@ libwnaspi32.@LIBEXT@ libwinaspi.@LIBEXT@: winaspi/libwnaspi32.@LIBEXT@ $(RM) $@ && $(LN_S) winaspi/libwnaspi32.@LIBEXT@ $@ -libwsock32.@LIBEXT@ libwinsock.@LIBEXT@ libws2_32.@LIBEXT@: winsock/libwsock32.@LIBEXT@ - $(RM) $@ && $(LN_S) winsock/libwsock32.@LIBEXT@ $@ +libwow32.@LIBEXT@: wow32/libwow32.@LIBEXT@ + $(RM) $@ && $(LN_S) wow32/libwow32.@LIBEXT@ $@ + +libws2_32.@LIBEXT@ libwinsock.@LIBEXT@: winsock/libws2_32.@LIBEXT@ + $(RM) $@ && $(LN_S) winsock/libws2_32.@LIBEXT@ $@ + +libwsock32.@LIBEXT@: wsock32/libwsock32.@LIBEXT@ + $(RM) $@ && $(LN_S) wsock32/libwsock32.@LIBEXT@ $@ libx11drv.@LIBEXT@: x11drv/libx11drv.@LIBEXT@ $(RM) $@ && $(LN_S) x11drv/libx11drv.@LIBEXT@ $@ @@ -364,12 +384,15 @@ commdlg/libcomdlg32.so: libwinspool.drv.so dinput/libdinput.so: libuser32.so ddraw/libddraw.so: libx11drv.so dplayx/libdplayx.so: libole32.so +dsound/libdsound.so: libwinmm.so msvideo/libmsvfw32.so: libwinmm.so oleaut32/liboleaut32.so: libole32.so libcomctl32.so olecli/libolecli32.so: libolesvr32.so libole32.so olepro32/libolepro32.so: liboleaut32.so libole32.so opengl32/libopengl32.so: libx11drv.so libgdi32.so shell32/libshell32.so: libole32.so +shfolder/libshfolder.so: libshell32.so +shlwapi/libshlwapi.so: libshell32.so urlmon/liburlmon.so: libole32.so version/libversion.so: liblz32.so winmm/joystick/libjoystick.drv.so: libwinmm.so @@ -381,7 +404,7 @@ winmm/mciwave/libmciwave.drv.so: libwinmm.so winmm/midimap/libmidimap.drv.so: libwinmm.so winmm/wavemap/libmsacm.drv.so: libwinmm.so winmm/wineoss/libwineoss.drv.so: libwinmm.so - +wsock32/libwsock32.so: libws2_32.so $(DLLFILES): dummy @cd `dirname $@` && $(MAKE) diff --git a/dlls/dplay/.cvsignore b/dlls/dplay/.cvsignore new file mode 100644 index 00000000000..dff7196193f --- /dev/null +++ b/dlls/dplay/.cvsignore @@ -0,0 +1,3 @@ +Makefile +dplay.spec.c +libdplay.so.1.0 diff --git a/dlls/dplay/Makefile.in b/dlls/dplay/Makefile.in new file mode 100644 index 00000000000..0ae0181acce --- /dev/null +++ b/dlls/dplay/Makefile.in @@ -0,0 +1,11 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = dplay +SOVERSION = 1.0 + +@MAKE_DLL_RULES@ + +### Dependencies: + diff --git a/dlls/dplay/dplay.spec b/dlls/dplay/dplay.spec new file mode 100644 index 00000000000..b05a832b8e5 --- /dev/null +++ b/dlls/dplay/dplay.spec @@ -0,0 +1,8 @@ +# First DirectPlay dll. Replaced by dplayx.dll. +name dplay +type win32 + +import dplayx.dll + +@ forward DirectPlayCreate dplayx.DirectPlayCreate +@ forward DirectPlayEnumerate dplayx.DirectPlayEnumerate diff --git a/dlls/dplayx/Makefile.in b/dlls/dplayx/Makefile.in index da6469f46bb..393fb8780ca 100644 --- a/dlls/dplayx/Makefile.in +++ b/dlls/dplayx/Makefile.in @@ -4,7 +4,6 @@ SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = dplayx SOVERSION = 1.0 -ALTNAMES = dplay IMPORTS = ole32 C_SRCS = dplay.c \ @@ -14,7 +13,6 @@ C_SRCS = dplay.c \ dplayx_global.c \ name_server.c - @MAKE_DLL_RULES@ ### Dependencies: diff --git a/dlls/dplayx/dplay.spec b/dlls/dplayx/dplay.spec deleted file mode 100644 index fb4a4bfcf7c..00000000000 --- a/dlls/dplayx/dplay.spec +++ /dev/null @@ -1,8 +0,0 @@ -# First DirectPlay dll. Replaced by dplayx.dll. -name dplay -type win32 - -import dplayx.dll - -@ forward DirectPlayCreate DPLAYX.DirectPlayCreate -@ forward DirectPlayEnumerate DPLAYX.DirectPlayEnumerate diff --git a/dlls/kernel/.cvsignore b/dlls/kernel/.cvsignore index 8ac6011eaa6..d2cd93cdc5e 100644 --- a/dlls/kernel/.cvsignore +++ b/dlls/kernel/.cvsignore @@ -5,5 +5,4 @@ kernel32.spec.c libkernel32.so.1.0 system.spec.c toolhelp.spec.c -wow32.spec.c wprocs.spec.c diff --git a/dlls/kernel/Makefile.in b/dlls/kernel/Makefile.in index 60aa9a71c0e..1f171838363 100644 --- a/dlls/kernel/Makefile.in +++ b/dlls/kernel/Makefile.in @@ -4,7 +4,7 @@ SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = kernel32 SOVERSION = 1.0 -ALTNAMES = wow32 comm kernel system toolhelp wprocs +ALTNAMES = comm kernel system toolhelp wprocs C_SRCS = \ kernel_main.c diff --git a/dlls/kernel/wow32.spec b/dlls/kernel/wow32.spec deleted file mode 100644 index 5150cbda69b..00000000000 --- a/dlls/kernel/wow32.spec +++ /dev/null @@ -1,22 +0,0 @@ -name wow32 -type win32 - -# ordinal exports -1 stdcall WOWGetDescriptor(long long) WOWGetDescriptor - -@ stdcall WOWCallback16(long long) WOWCallback16 -@ stdcall WOWCallback16Ex(ptr long long ptr ptr) WOWCallback16Ex -@ stdcall WOWDirectedYield16(long) WOWDirectedYield16 -@ stdcall WOWGetVDMPointer(long long long) WOWGetVDMPointer -@ stdcall WOWGetVDMPointerFix(long long long) WOWGetVDMPointerFix -@ stdcall WOWGetVDMPointerUnfix(long) WOWGetVDMPointerUnfix -@ stdcall WOWGlobalAlloc16(long long) WOWGlobalAlloc16 -@ stdcall WOWGlobalAllocLock16(long long ptr) WOWGlobalAllocLock16 -@ stdcall WOWGlobalFree16(long) WOWGlobalFree16 -@ stdcall WOWGlobalLock16(long) WOWGlobalLock16 -@ stdcall WOWGlobalLockSize16(long ptr) WOWGlobalLockSize16 -@ stdcall WOWGlobalUnlock16(long) WOWGlobalUnlock16 -@ stdcall WOWGlobalUnlockFree16(long) WOWGlobalUnlockFree16 -@ stdcall WOWHandle16(long long) WOWHandle16 -@ stdcall WOWHandle32(long long) WOWHandle32 -@ stdcall WOWYield16() WOWYield16 diff --git a/dlls/shell32/Makefile.in b/dlls/shell32/Makefile.in index 448afb7e973..6a7b972c603 100644 --- a/dlls/shell32/Makefile.in +++ b/dlls/shell32/Makefile.in @@ -4,7 +4,7 @@ SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = shell32 SOVERSION = 1.0 -ALTNAMES = shell shlwapi shfolder +ALTNAMES = shell IMPORTS = ole32 C_SRCS = \ diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c index dbb3f9ad42c..8138757b7d6 100644 --- a/dlls/shell32/shell32_main.c +++ b/dlls/shell32/shell32_main.c @@ -819,36 +819,10 @@ static INT shell32_RefCount = 0; LONG shell32_ObjCount = 0; HINSTANCE shell32_hInstance = 0; -HINSTANCE shlwapi_hInstance = 0; HMODULE huser32 = 0; HIMAGELIST ShellSmallIconList = 0; HIMAGELIST ShellBigIconList = 0; -/************************************************************************* - * SHELL32 LibMain - * - * NOTES - * calling oleinitialize here breaks sone apps. - */ - -BOOL WINAPI ShlwapiLibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) -{ - TRACE("0x%x 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad); - switch (fdwReason) - { - case DLL_PROCESS_ATTACH: - shlwapi_hInstance = hinstDLL; - if(!huser32) huser32 = GetModuleHandleA("USER32.DLL"); - - if (!huser32) - { - ERR("hModule of USER32 is 0\n"); - return FALSE; - } - break; - } - return TRUE; -} /************************************************************************* * SHELL32 LibMain diff --git a/dlls/shell32/shell32_main.h b/dlls/shell32/shell32_main.h index 51698ffea65..e2c080c7162 100644 --- a/dlls/shell32/shell32_main.h +++ b/dlls/shell32/shell32_main.h @@ -27,11 +27,6 @@ extern HIMAGELIST ShellSmallIconList; extern HIMAGELIST ShellBigIconList; extern HDPA sic_hdpa; -/******************************************* -* global SHLWAPI.DLL variables -*/ -extern HINSTANCE shlwapi_hInstance; - /******************************************* * pointer to functions dynamically loaded */ diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c index ade28383c10..3a05a7f0cb7 100644 --- a/dlls/shell32/shellord.c +++ b/dlls/shell32/shellord.c @@ -968,380 +968,6 @@ HPALETTE WINAPI SHCreateShellPalette(HDC hdc) FIXME("stub\n"); return CreateHalftonePalette(hdc); } - -/* - NOTES: The most functions exported by ordinal seem to be superflous. - The reason for these functions to be there is to provide a wraper - for unicode functions to providing these functions on systems without - unicode functions eg. win95/win98. Since we have such functions we just - call these. -*/ - -/************************************************************************* - * SHLWAPI_1 [SHLWAPI] - */ -DWORD WINAPI SHLWAPI_1 ( - LPSTR lpStr, - LPVOID x) -{ - FIXME("(%p %s %p %s)\n",lpStr, debugstr_a(lpStr),x, debugstr_a(x)); - return 0; -} - -/************************************************************************* - * SHLWAPI_16 [SHLWAPI] - */ -HRESULT WINAPI SHLWAPI_16 ( - LPVOID w, - LPVOID x, - LPVOID y, - LPWSTR z) -{ - FIXME("(%p %p %p %p)stub\n",w,x,y,z); - return 0xabba1252; -} - -/************************************************************************* - * SHLWAPI_23 [SHLWAPI.23] - * - * NOTES - * converts a guid to a string - * returns strlen(str) - */ -DWORD WINAPI SHLWAPI_23 ( - REFGUID guid, /* [in] clsid */ - LPSTR str, /* [out] buffer */ - INT cmax) /* [in] size of buffer */ -{ - char xguid[40]; - - sprintf( xguid, "{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}", - guid->Data1, guid->Data2, guid->Data3, - guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3], - guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7] ); - TRACE("(%s %p 0x%08x)stub\n", xguid, str, cmax); - if (strlen(xguid)>=cmax) return 0; - strcpy(str,xguid); - return strlen(xguid) + 1; -} - -/************************************************************************* - * SHLWAPI_24 [SHLWAPI.24] - * - * NOTES - * converts a guid to a string - * returns strlen(str) - */ -DWORD WINAPI SHLWAPI_24 ( - REFGUID guid, /* [in] clsid */ - LPWSTR str, /* [out] buffer */ - INT cmax) /* [in] size of buffer */ -{ - TRACE("(%s %p 0x%08x)stub\n", debugstr_guid(guid), str, cmax); - return StringFromGUID2(guid, str, cmax); -} - -/************************************************************************* - * SHLWAPI_156 [SHLWAPI] - * - * FIXME: function guessed - */ -DWORD WINAPI SHLWAPI_156 ( - LPWSTR str1, /* "shell32.dll" */ - LPWSTR str2) /* "shell32.dll" */ -{ - FIXME("(%s %s)stub\n",debugstr_w(str1),debugstr_w(str2)); - return lstrcmpW(str1,str2); -} - -/************************************************************************* - * SHLWAPI_169 [SHLWAPI] - */ -DWORD WINAPI SHLWAPI_169 (IUnknown * lpUnknown) -{ - TRACE("(%p)\n",lpUnknown); -#if 0 - if(!lpUnknown || !*((LPDWORD)lpUnknown)) return 0; - return IUnknown_Release(lpUnknown); -#endif - return 0; -} - -/************************************************************************* - * SHLWAPI_193 [SHLWAPI] - */ -DWORD WINAPI SHLWAPI_193 () -{ - HDC hdc; - DWORD ret; - - TRACE("()\n"); - - hdc = GetDC(0); - ret = GetDeviceCaps(hdc, BITSPIXEL) * GetDeviceCaps(hdc, PLANES); - ReleaseDC(0, hdc); - return ret; -} - -/************************************************************************* - * SHLWAPI_219 [SHLWAPI] - * - * NOTES - * error codes: E_POINTER, E_NOINTERFACE - */ -HRESULT WINAPI SHLWAPI_219 ( - LPVOID w, /* returned by LocalAlloc, 0x450 bytes, iface */ - LPVOID x, - LPVOID y, - LPWSTR z) /* OUT: path */ -{ - FIXME("(%p %p %p %p)stub\n",w,x,y,z); - return 0xabba1252; -} - -/************************************************************************* - * SHLWAPI_215 [SHLWAPI] - * - * NOTES - * check me! - */ -LPWSTR WINAPI SHLWAPI_215 ( - LPSTR lpStrSrc, - LPVOID lpwStrDest, - int len) -{ - WARN("(%s %p %u)\n",lpStrSrc,lpwStrDest,len); - return NTDLL_wcsncpy(lpwStrDest, lpStrSrc, len); -} - -/************************************************************************* - * SHLWAPI_222 [SHLWAPI] - * - * NOTES - * securityattributes missing - */ -HANDLE WINAPI SHLWAPI_222 (LPCLSID guid) -{ - char lpstrName[80]; - - sprintf( lpstrName, "shell.{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}", - guid->Data1, guid->Data2, guid->Data3, - guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3], - guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7] ); - FIXME("(%s) stub\n", lpstrName); - return CreateSemaphoreA(NULL,0, 0x7fffffff, lpstrName); -} - -/************************************************************************* - * SHLWAPI_223 [SHLWAPI] - * - * NOTES - * get the count of the semaphore - */ -DWORD WINAPI SHLWAPI_223 (HANDLE handle) -{ - DWORD oldCount; - - FIXME("(0x%08x) stub\n",handle); - - ReleaseSemaphore( handle, 1, &oldCount); /* +1 */ - WaitForSingleObject( handle, 0 ); /* -1 */ - return oldCount; -} - -/************************************************************************* - * SHLWAPI_237 [SHLWAPI] - * - * NOTES - * checks if a class is registered, if not it registers it - */ -DWORD WINAPI SHLWAPI_237 (WNDCLASSW * lpWndClass) -{ - WNDCLASSW WndClass; - - TRACE("(0x%08x %s)\n",lpWndClass->hInstance, debugstr_w(lpWndClass->lpszClassName)); - - if (!GetClassInfoW(lpWndClass->hInstance, lpWndClass->lpszClassName, &WndClass)) - { - return RegisterClassW(lpWndClass); - } - return TRUE; -} - -/************************************************************************* - * SHLWAPI_241 [SHLWAPI] - * - */ -DWORD WINAPI SHLWAPI_241 () -{ - FIXME("()stub\n"); - return 0xabba1243; -} - -/************************************************************************* - * SHLWAPI_266 [SHLWAPI] - */ -DWORD WINAPI SHLWAPI_266 ( - LPVOID w, - LPVOID x, - LPVOID y, - LPVOID z) -{ - FIXME("(%p %p %p %p)stub\n",w,x,y,z); - return 0xabba1248; -} - -/************************************************************************* - * SHLWAPI_267 [SHLWAPI] - */ -HRESULT WINAPI SHLWAPI_267 ( - LPVOID w, /* same as 1th parameter of SHLWAPI_219 */ - LPVOID x, /* same as 2nd parameter of SHLWAPI_219 */ - LPVOID y, - LPVOID z) -{ - FIXME("(%p %p %p %p)stub\n",w,x,y,z); - *((LPDWORD)z) = 0xabba1200; - return 0xabba1254; -} - -/************************************************************************* - * SHLWAPI_268 [SHLWAPI] - */ -DWORD WINAPI SHLWAPI_268 ( - LPVOID w, - LPVOID x) -{ - FIXME("(%p %p)\n",w,x); - return 0xabba1251; /* 0 = failure */ -} - -/************************************************************************* - * SHLWAPI_276 [SHLWAPI] - * - */ -DWORD WINAPI SHLWAPI_276 () -{ - FIXME("()stub\n"); - return 0xabba1244; -} - -/************************************************************************* - * SHLWAPI_278 [SHLWAPI] - * - */ -DWORD WINAPI SHLWAPI_278 ( - LONG wndProc, - HWND hWndParent, - DWORD dwExStyle, - DWORD dwStyle, - HMENU hMenu, - LONG z) -{ - WNDCLASSA wndclass; - HWND hwnd; - HCURSOR hCursor; - char * clsname = "WorkerA"; - - FIXME("(0x%08lx 0x%08x 0x%08lx 0x%08lx 0x%08x 0x%08lx)stub\n", - wndProc,hWndParent,dwExStyle,dwStyle,hMenu,z); - - hCursor = LoadCursorA(0x00000000,IDC_ARROWA); - - if(!GetClassInfoA(shlwapi_hInstance, clsname, &wndclass)) - { - RtlZeroMemory(&wndclass, sizeof(WNDCLASSA)); - wndclass.lpfnWndProc = GetProcAddress(huser32, "DefWindowProcW"); - wndclass.cbWndExtra = 4; - wndclass.hInstance = shlwapi_hInstance; - wndclass.hCursor = hCursor; - wndclass.hbrBackground = COLOR_BTNSHADOW; - wndclass.lpszMenuName = NULL; - wndclass.lpszClassName = clsname; - RegisterClassA (&wndclass); - } - hwnd = CreateWindowExA(dwExStyle, clsname, 0,dwStyle,0,0,0,0,hWndParent, - hMenu,shlwapi_hInstance,0); - SetWindowLongA(hwnd, 0, z); - SetWindowLongA(hwnd, GWL_WNDPROC, wndProc); - return hwnd; -} - -/************************************************************************* - * SHLWAPI_342 [SHLWAPI] - * - */ -DWORD WINAPI SHLWAPI_342 ( - LPVOID w, - LPVOID x, - LPVOID y, - LPVOID z) -{ - FIXME("(%p %p %p %p)stub\n",w,x,y,z); - return 0xabba1249; -} - -/************************************************************************* - * SHLWAPI_346 [SHLWAPI] - */ -DWORD WINAPI SHLWAPI_346 ( - LPCWSTR src, - LPWSTR dest, - int len) -{ - FIXME("(%s %p 0x%08x)stub\n",debugstr_w(src),dest,len); - lstrcpynW(dest, src, len); - return lstrlenW(dest)+1; -} - - -/************************************************************************* - * SHLWAPI_377 [SHLWAPI] - */ -DWORD WINAPI SHLWAPI_377 (LPVOID x, LPVOID y, LPVOID z) -{ - FIXME("(%p %p %p)stub\n", x,y,z); - return 0xabba1246; -} - -/************************************************************************* - * SHLWAPI_378 [SHLWAPI] - */ -DWORD WINAPI SHLWAPI_378 ( - LPSTR x, - LPVOID y, /* 0x50000000 */ - LPVOID z) /* 4 */ -{ - FIXME("(%s %p %p)stub\n", x,y,z); - return LoadLibraryA(x); -} - -/************************************************************************* - * SHLWAPI_431 [SHLWAPI] - */ -DWORD WINAPI SHLWAPI_431 (DWORD x) -{ - FIXME("(0x%08lx)stub\n", x); - return 0xabba1247; -} - -/************************************************************************* - * SHLWAPI_437 [SHLWAPI] - * - * NOTES - * has to do something with switching the api between ascii and unicode - * observed values: 0 and 5 - * - * accesses - * HKLM\System\CurrentControlSet\Control\ProductOptions - * - */ -DWORD WINAPI SHLWAPI_437 (DWORD x) -{ - FIXME("(0x%08lx)stub\n", x); - return 0xabba1247; -} - /************************************************************************* * wnsprintfA [SHLWAPI] */ diff --git a/dlls/shell32/shfolder.spec b/dlls/shell32/shfolder.spec deleted file mode 100644 index 08a7a8f1d5d..00000000000 --- a/dlls/shell32/shfolder.spec +++ /dev/null @@ -1,6 +0,0 @@ -name shfolder -type win32 -import advapi32 - -@ stdcall SHGetFolderPathA(long long long long ptr)SHGetFolderPathA -@ stdcall SHGetFolderPathW(long long long long ptr)SHGetFolderPathW diff --git a/dlls/shfolder/.cvsignore b/dlls/shfolder/.cvsignore new file mode 100644 index 00000000000..0b9b6004ac8 --- /dev/null +++ b/dlls/shfolder/.cvsignore @@ -0,0 +1,3 @@ +Makefile +libshfolder.so.1.0 +shfolder.spec.c diff --git a/dlls/shfolder/Makefile.in b/dlls/shfolder/Makefile.in new file mode 100644 index 00000000000..52cc3f8f762 --- /dev/null +++ b/dlls/shfolder/Makefile.in @@ -0,0 +1,12 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = shfolder +SOVERSION = 1.0 +IMPORTS = shell32 + +@MAKE_DLL_RULES@ + +### Dependencies: + diff --git a/dlls/shfolder/shfolder.spec b/dlls/shfolder/shfolder.spec new file mode 100644 index 00000000000..25b3cba7c09 --- /dev/null +++ b/dlls/shfolder/shfolder.spec @@ -0,0 +1,5 @@ +name shfolder +type win32 + +@ stdcall SHGetFolderPathA(long long long long ptr) SHGetFolderPathA +@ stdcall SHGetFolderPathW(long long long long ptr) SHGetFolderPathW diff --git a/dlls/shlwapi/.cvsignore b/dlls/shlwapi/.cvsignore new file mode 100644 index 00000000000..b3d9eb561fc --- /dev/null +++ b/dlls/shlwapi/.cvsignore @@ -0,0 +1,3 @@ +Makefile +libshlwapi.so.1.0 +shlwapi.spec.c diff --git a/dlls/shlwapi/Makefile.in b/dlls/shlwapi/Makefile.in new file mode 100644 index 00000000000..817af6a6505 --- /dev/null +++ b/dlls/shlwapi/Makefile.in @@ -0,0 +1,16 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = shlwapi +SOVERSION = 1.0 +IMPORTS = shell32 + +C_SRCS = \ + ordinal.c \ + shlwapi_main.c + +@MAKE_DLL_RULES@ + +### Dependencies: + diff --git a/dlls/shlwapi/ordinal.c b/dlls/shlwapi/ordinal.c new file mode 100644 index 00000000000..0493ff2ba04 --- /dev/null +++ b/dlls/shlwapi/ordinal.c @@ -0,0 +1,390 @@ +/* + * SHLWAPI ordinal functions + * + * Copyright 1997 Marcus Meissner + * 1998 Jürgen Schmied + */ + +#include + +#include "windef.h" +#include "wine/undocshell.h" +#include "debugtools.h" + +DEFAULT_DEBUG_CHANNEL(shell); + +extern HINSTANCE shlwapi_hInstance; + +/* + NOTES: The most functions exported by ordinal seem to be superflous. + The reason for these functions to be there is to provide a wraper + for unicode functions to providing these functions on systems without + unicode functions eg. win95/win98. Since we have such functions we just + call these. +*/ + +/************************************************************************* + * SHLWAPI_1 [SHLWAPI.1] + */ +DWORD WINAPI SHLWAPI_1 ( + LPSTR lpStr, + LPVOID x) +{ + FIXME("(%p %s %p %s)\n",lpStr, debugstr_a(lpStr),x, debugstr_a(x)); + return 0; +} + +/************************************************************************* + * SHLWAPI_16 [SHLWAPI.16] + */ +HRESULT WINAPI SHLWAPI_16 ( + LPVOID w, + LPVOID x, + LPVOID y, + LPWSTR z) +{ + FIXME("(%p %p %p %p)stub\n",w,x,y,z); + return 0xabba1252; +} + +/************************************************************************* + * SHLWAPI_23 [SHLWAPI.23] + * + * NOTES + * converts a guid to a string + * returns strlen(str) + */ +DWORD WINAPI SHLWAPI_23 ( + REFGUID guid, /* [in] clsid */ + LPSTR str, /* [out] buffer */ + INT cmax) /* [in] size of buffer */ +{ + char xguid[40]; + + sprintf( xguid, "{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}", + guid->Data1, guid->Data2, guid->Data3, + guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3], + guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7] ); + TRACE("(%s %p 0x%08x)stub\n", xguid, str, cmax); + if (strlen(xguid)>=cmax) return 0; + strcpy(str,xguid); + return strlen(xguid) + 1; +} + +/************************************************************************* + * SHLWAPI_24 [SHLWAPI.24] + * + * NOTES + * converts a guid to a string + * returns strlen(str) + */ +DWORD WINAPI SHLWAPI_24 ( + REFGUID guid, /* [in] clsid */ + LPWSTR str, /* [out] buffer */ + INT cmax) /* [in] size of buffer */ +{ + TRACE("(%s %p 0x%08x)stub\n", debugstr_guid(guid), str, cmax); + return StringFromGUID2(guid, str, cmax); +} + +/************************************************************************* + * SHLWAPI_156 [SHLWAPI.156] + * + * FIXME: function guessed + */ +DWORD WINAPI SHLWAPI_156 ( + LPWSTR str1, /* "shell32.dll" */ + LPWSTR str2) /* "shell32.dll" */ +{ + FIXME("(%s %s)stub\n",debugstr_w(str1),debugstr_w(str2)); + return lstrcmpW(str1,str2); +} + +/************************************************************************* + * SHLWAPI_169 [SHLWAPI.169] + */ +DWORD WINAPI SHLWAPI_169 (IUnknown * lpUnknown) +{ + TRACE("(%p)\n",lpUnknown); +#if 0 + if(!lpUnknown || !*((LPDWORD)lpUnknown)) return 0; + return IUnknown_Release(lpUnknown); +#endif + return 0; +} + +/************************************************************************* + * SHLWAPI_193 [SHLWAPI.193] + */ +DWORD WINAPI SHLWAPI_193 () +{ + HDC hdc; + DWORD ret; + + TRACE("()\n"); + + hdc = GetDC(0); + ret = GetDeviceCaps(hdc, BITSPIXEL) * GetDeviceCaps(hdc, PLANES); + ReleaseDC(0, hdc); + return ret; +} + +/************************************************************************* + * SHLWAPI_215 [SHLWAPI.215] + * + * NOTES + * check me! + */ +LPWSTR WINAPI SHLWAPI_215 ( + LPSTR lpStrSrc, + LPVOID lpwStrDest, + int len) +{ + WARN("(%s %p %u)\n",lpStrSrc,lpwStrDest,len); + return NTDLL_wcsncpy(lpwStrDest, lpStrSrc, len); +} + +/************************************************************************* + * SHLWAPI_219 [SHLWAPI.219] + * + * NOTES + * error codes: E_POINTER, E_NOINTERFACE + */ +HRESULT WINAPI SHLWAPI_219 ( + LPVOID w, /* returned by LocalAlloc, 0x450 bytes, iface */ + LPVOID x, + LPVOID y, + LPWSTR z) /* OUT: path */ +{ + FIXME("(%p %p %p %p)stub\n",w,x,y,z); + return 0xabba1252; +} + +/************************************************************************* + * SHLWAPI_222 [SHLWAPI.222] + * + * NOTES + * securityattributes missing + */ +HANDLE WINAPI SHLWAPI_222 (LPCLSID guid) +{ + char lpstrName[80]; + + sprintf( lpstrName, "shell.{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}", + guid->Data1, guid->Data2, guid->Data3, + guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3], + guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7] ); + FIXME("(%s) stub\n", lpstrName); + return CreateSemaphoreA(NULL,0, 0x7fffffff, lpstrName); +} + +/************************************************************************* + * SHLWAPI_223 [SHLWAPI.223] + * + * NOTES + * get the count of the semaphore + */ +DWORD WINAPI SHLWAPI_223 (HANDLE handle) +{ + DWORD oldCount; + + FIXME("(0x%08x) stub\n",handle); + + ReleaseSemaphore( handle, 1, &oldCount); /* +1 */ + WaitForSingleObject( handle, 0 ); /* -1 */ + return oldCount; +} + +/************************************************************************* + * SHLWAPI_237 [SHLWAPI.237] + * + * NOTES + * checks if a class is registered, if not it registers it + */ +DWORD WINAPI SHLWAPI_237 (WNDCLASSW * lpWndClass) +{ + WNDCLASSW WndClass; + + TRACE("(0x%08x %s)\n",lpWndClass->hInstance, debugstr_w(lpWndClass->lpszClassName)); + + if (!GetClassInfoW(lpWndClass->hInstance, lpWndClass->lpszClassName, &WndClass)) + { + return RegisterClassW(lpWndClass); + } + return TRUE; +} + +/************************************************************************* + * SHLWAPI_241 [SHLWAPI.241] + * + */ +DWORD WINAPI SHLWAPI_241 () +{ + FIXME("()stub\n"); + return 0xabba1243; +} + +/************************************************************************* + * SHLWAPI_266 [SHLWAPI.266] + */ +DWORD WINAPI SHLWAPI_266 ( + LPVOID w, + LPVOID x, + LPVOID y, + LPVOID z) +{ + FIXME("(%p %p %p %p)stub\n",w,x,y,z); + return 0xabba1248; +} + +/************************************************************************* + * SHLWAPI_267 [SHLWAPI.267] + */ +HRESULT WINAPI SHLWAPI_267 ( + LPVOID w, /* same as 1th parameter of SHLWAPI_219 */ + LPVOID x, /* same as 2nd parameter of SHLWAPI_219 */ + LPVOID y, + LPVOID z) +{ + FIXME("(%p %p %p %p)stub\n",w,x,y,z); + *((LPDWORD)z) = 0xabba1200; + return 0xabba1254; +} + +/************************************************************************* + * SHLWAPI_268 [SHLWAPI.268] + */ +DWORD WINAPI SHLWAPI_268 ( + LPVOID w, + LPVOID x) +{ + FIXME("(%p %p)\n",w,x); + return 0xabba1251; /* 0 = failure */ +} + +/************************************************************************* + * SHLWAPI_276 [SHLWAPI.276] + * + */ +DWORD WINAPI SHLWAPI_276 () +{ + FIXME("()stub\n"); + return 0xabba1244; +} + +/************************************************************************* + * SHLWAPI_278 [SHLWAPI.278] + * + */ +DWORD WINAPI SHLWAPI_278 ( + LONG wndProc, + HWND hWndParent, + DWORD dwExStyle, + DWORD dwStyle, + HMENU hMenu, + LONG z) +{ + WNDCLASSA wndclass; + HWND hwnd; + HCURSOR hCursor; + char * clsname = "WorkerA"; + + FIXME("(0x%08lx 0x%08x 0x%08lx 0x%08lx 0x%08x 0x%08lx)stub\n", + wndProc,hWndParent,dwExStyle,dwStyle,hMenu,z); + + hCursor = LoadCursorA(0x00000000,IDC_ARROWA); + + if(!GetClassInfoA(shlwapi_hInstance, clsname, &wndclass)) + { + RtlZeroMemory(&wndclass, sizeof(WNDCLASSA)); + wndclass.lpfnWndProc = DefWindowProcW; + wndclass.cbWndExtra = 4; + wndclass.hInstance = shlwapi_hInstance; + wndclass.hCursor = hCursor; + wndclass.hbrBackground = COLOR_BTNSHADOW; + wndclass.lpszMenuName = NULL; + wndclass.lpszClassName = clsname; + RegisterClassA (&wndclass); + } + hwnd = CreateWindowExA(dwExStyle, clsname, 0,dwStyle,0,0,0,0,hWndParent, + hMenu,shlwapi_hInstance,0); + SetWindowLongA(hwnd, 0, z); + SetWindowLongA(hwnd, GWL_WNDPROC, wndProc); + return hwnd; +} + +/************************************************************************* + * SHLWAPI_342 [SHLWAPI.342] + * + */ +DWORD WINAPI SHLWAPI_342 ( + LPVOID w, + LPVOID x, + LPVOID y, + LPVOID z) +{ + FIXME("(%p %p %p %p)stub\n",w,x,y,z); + return 0xabba1249; +} + +/************************************************************************* + * SHLWAPI_346 [SHLWAPI.346] + */ +DWORD WINAPI SHLWAPI_346 ( + LPCWSTR src, + LPWSTR dest, + int len) +{ + FIXME("(%s %p 0x%08x)stub\n",debugstr_w(src),dest,len); + lstrcpynW(dest, src, len); + return lstrlenW(dest)+1; +} + + +/************************************************************************* + * SHLWAPI_377 [SHLWAPI.377] + */ +DWORD WINAPI SHLWAPI_377 (LPVOID x, LPVOID y, LPVOID z) +{ + FIXME("(%p %p %p)stub\n", x,y,z); + return 0xabba1246; +} + +/************************************************************************* + * SHLWAPI_378 [SHLWAPI.378] + */ +DWORD WINAPI SHLWAPI_378 ( + LPSTR x, + LPVOID y, /* 0x50000000 */ + LPVOID z) /* 4 */ +{ + FIXME("(%s %p %p)stub\n", x,y,z); + return LoadLibraryA(x); +} + +/************************************************************************* + * SHLWAPI_431 [SHLWAPI.431] + */ +DWORD WINAPI SHLWAPI_431 (DWORD x) +{ + FIXME("(0x%08lx)stub\n", x); + return 0xabba1247; +} + +/************************************************************************* + * SHLWAPI_437 [SHLWAPI.437] + * + * NOTES + * has to do something with switching the api between ascii and unicode + * observed values: 0 and 5 + * + * accesses + * HKLM\System\CurrentControlSet\Control\ProductOptions + * + */ +DWORD WINAPI SHLWAPI_437 (DWORD x) +{ + FIXME("(0x%08lx)stub\n", x); + return 0xabba1247; +} + diff --git a/dlls/shell32/shlwapi.spec b/dlls/shlwapi/shlwapi.spec similarity index 87% rename from dlls/shell32/shlwapi.spec rename to dlls/shlwapi/shlwapi.spec index 1db384572da..1aeb598dfb0 100644 --- a/dlls/shell32/shlwapi.spec +++ b/dlls/shlwapi/shlwapi.spec @@ -1,8 +1,8 @@ name shlwapi type win32 -init ShlwapiLibMain +init SHLWAPI_LibMain -1 stdcall SHLWAPI_1(ptr ptr)SHLWAPI_1 +1 stdcall @(ptr ptr) SHLWAPI_1 2 stub @ 3 stub @ 4 stub @ @@ -17,15 +17,15 @@ init ShlwapiLibMain 13 stub @ 14 stub @ 15 stub @ -16 stdcall SHLWAPI_16(long long long long)SHLWAPI_16 +16 stdcall @(long long long long) SHLWAPI_16 17 stub @ 18 stub @ 19 stub @ 20 stub @ 21 stub @ 22 stub @ -23 stdcall SHLWAPI_23(ptr ptr long)SHLWAPI_23 -24 stdcall SHLWAPI_24(ptr ptr long)SHLWAPI_24 +23 stdcall @(ptr ptr long) SHLWAPI_23 +24 stdcall @(ptr ptr long) SHLWAPI_24 25 stub @ 26 stub @ 27 stub @ @@ -55,9 +55,9 @@ init ShlwapiLibMain 51 stub @ 52 stub @ 53 stub @ -54 forward SHLWAPI_54 user32.CreateICW -55 forward SHLWAPI_55 user32.CreateWindowExW -56 forward SHLWAPI_56 user32.DefWindowProcW +54 forward @ user32.CreateICW +55 forward @ user32.CreateWindowExW +56 forward @ user32.DefWindowProcW 57 stub @ 58 stub @ 59 stub @ @@ -68,9 +68,9 @@ init ShlwapiLibMain 64 stub @ 65 stub @ 66 stub @ -67 forward SHLWAPI_67 user32.FindWindowW -68 forward SHLWAPI_68 kernel32.FormatMessageW -69 forward SHLWAPI_69 user32.GetClassInfoW +67 forward @ user32.FindWindowW +68 forward @ kernel32.FormatMessageW +69 forward @ user32.GetClassInfoW 70 stub @ 71 stub @ 72 stub @ @@ -81,10 +81,10 @@ init ShlwapiLibMain 77 stub @ 78 stub @ 79 stub @ -80 forward SHLWAPI_80 kernel32.GetModuleFileNameW -81 forward SHLWAPI_81 kernel32.GetSystemDirectoryW -82 forward SHLWAPI_82 kernel32.SearchPathW -83 forward SHLWAPI_83 kernel32.GetModuleHandleW +80 forward @ kernel32.GetModuleFileNameW +81 forward @ kernel32.GetSystemDirectoryW +82 forward @ kernel32.SearchPathW +83 forward @ kernel32.GetModuleHandleW 84 stub @ 85 stub @ 86 stub @ @@ -95,7 +95,7 @@ init ShlwapiLibMain 91 stub @ 92 stub @ 93 stub @ -94 forward SHLWAPI_94 user32.GetWindowLongW +94 forward @ user32.GetWindowLongW 95 stub @ 96 stub @ 97 stub @ @@ -103,12 +103,12 @@ init ShlwapiLibMain 99 stub @ 100 stub @ 101 stub @ -102 forward SHLWAPI_102 user32.LoadCursorW +102 forward @ user32.LoadCursorW 103 stub @ 104 stub @ 105 stub @ 106 stub @ -107 forward SHLWAPI_107 user32.LoadStringW +107 forward @ user32.LoadStringW 108 stub @ 109 stub @ 110 stub @ @@ -121,18 +121,18 @@ init ShlwapiLibMain 117 stub @ 118 stub @ 119 stub @ -120 forward SHLWAPI_120 advapi32.RegCreateKeyExW +120 forward @ advapi32.RegCreateKeyExW 121 stub @ 122 stub @ 123 stub @ 124 stub @ -125 forward SHLWAPI_125 advapi32.RegOpenKeyExW +125 forward @ advapi32.RegOpenKeyExW 126 stub @ 127 stub @ -128 forward SHLWAPI_128 advapi32.RegQueryValueExW +128 forward @ advapi32.RegQueryValueExW 129 stub @ 130 stub @ -131 forward SHLWAPI_131 user32.RegisterClassW +131 forward @ user32.RegisterClassW 132 stub @ 133 stub @ 134 stub @ @@ -148,7 +148,7 @@ init ShlwapiLibMain 144 stub @ 145 stub @ 146 stub @ -147 forward SHLWAPI_147 user32.UnregisterClassW +147 forward @ user32.UnregisterClassW 148 stub @ 149 stub @ 150 stub @ @@ -157,7 +157,7 @@ init ShlwapiLibMain 153 stub @ 154 stub @ 155 stub @ -156 stdcall SHLWAPI_156 (wstr wstr) SHLWAPI_156 +156 stdcall @(wstr wstr) SHLWAPI_156 157 stub @ 158 stub @ 159 stub @ @@ -170,7 +170,7 @@ init ShlwapiLibMain 166 stub @ 167 stub @ 168 stub @ -169 stdcall SHLWAPI_169(long)SHLWAPI_169 +169 stdcall @(long) SHLWAPI_169 170 stub @ 171 stub @ 172 stub @ @@ -194,7 +194,7 @@ init ShlwapiLibMain 190 stub @ 191 stub @ 192 stub @ -193 stdcall SHLWAPI_193()SHLWAPI_193 +193 stdcall @() SHLWAPI_193 194 stub @ 195 stub @ 196 stub @ @@ -216,15 +216,15 @@ init ShlwapiLibMain 212 stub @ 213 stub @ 214 stub @ -215 stdcall SHLWAPI_215(long long long)SHLWAPI_215 +215 stdcall @(long long long) SHLWAPI_215 216 stub @ 217 stub @ 218 stub @ -219 stdcall SHLWAPI_219(long long long long)SHLWAPI_219 +219 stdcall @(long long long long) SHLWAPI_219 220 stub @ 221 stub @ -222 stdcall SHLWAPI_222(long)SHLWAPI_222 -223 stdcall SHLWAPI_223(long)SHLWAPI_223 +222 stdcall @(long) SHLWAPI_222 +223 stdcall @(long) SHLWAPI_223 224 stub @ 225 stub @ 226 stub @ @@ -238,11 +238,11 @@ init ShlwapiLibMain 234 stub @ 235 stub @ 236 stub @ -237 stdcall SHLWAPI_237(ptr)SHLWAPI_237 +237 stdcall @(ptr) SHLWAPI_237 238 stub @ 239 stub @ 240 stub @ -241 stdcall SHLWAPI_241()SHLWAPI_241 +241 stdcall @() SHLWAPI_241 242 stub @ 243 stub @ 244 stub @ @@ -267,9 +267,9 @@ init ShlwapiLibMain 263 stub @ 264 stub @ 265 stub @ -266 stdcall SHLWAPI_266(long long long long)SHLWAPI_266 -267 stdcall SHLWAPI_267(long long long long)SHLWAPI_267 -268 stdcall SHLWAPI_268(long long)SHLWAPI_268 +266 stdcall @(long long long long) SHLWAPI_266 +267 stdcall @(long long long long) SHLWAPI_267 +268 stdcall @(long long) SHLWAPI_268 269 stub @ 270 stub @ 271 stub @ @@ -277,9 +277,9 @@ init ShlwapiLibMain 273 stub @ 274 stub @ 275 stub @ -276 stdcall SHLWAPI_276()SHLWAPI_276 +276 stdcall @() SHLWAPI_276 277 stub @ -278 stdcall SHLWAPI_278(long long long long long long)SHLWAPI_278 +278 stdcall @(long long long long long long) SHLWAPI_278 279 stub @ 280 stub @ 281 stub @ @@ -310,7 +310,7 @@ init ShlwapiLibMain 306 stub @ 307 stub @ 308 stub @ -309 forward SHLWAPI_309 kernel32.LoadLibraryW +309 forward @ kernel32.LoadLibraryW 310 stub @ 311 stub @ 312 stub @ @@ -343,11 +343,11 @@ init ShlwapiLibMain 339 stub @ 340 stub @ 341 stub @ -342 stdcall SHLWAPI_342(long long long long)SHLWAPI_342 +342 stdcall @(long long long long) SHLWAPI_342 343 stub @ 344 stub @ 345 stub @ -346 stdcall SHLWAPI_346(wstr ptr long)SHLWAPI_346 +346 stdcall @(wstr ptr long) SHLWAPI_346 347 stub @ 348 stub @ 349 stub @ @@ -378,8 +378,8 @@ init ShlwapiLibMain 374 stub @ 375 stub @ 376 stub @ -377 stdcall SHLWAPI_377(long long long)SHLWAPI_377 -378 stdcall SHLWAPI_378(long long long)SHLWAPI_378 +377 stdcall @(long long long) SHLWAPI_377 +378 stdcall @(long long long) SHLWAPI_378 379 stub @ 380 stub @ 381 stub AssocQueryStringA @@ -432,13 +432,13 @@ init ShlwapiLibMain 428 stub @ 429 stub @ 430 stub @ -431 stdcall SHLWAPI_431(long)SHLWAPI_431 +431 stdcall @(long) SHLWAPI_431 432 stub @ 433 stub @ 434 stub @ 435 stub @ 436 stub @ -437 stdcall SHLWAPI_437(long) SHLWAPI_437 +437 stdcall @(long) SHLWAPI_437 438 stub @ 439 stub @ 440 stub @ diff --git a/dlls/shlwapi/shlwapi_main.c b/dlls/shlwapi/shlwapi_main.c new file mode 100644 index 00000000000..b110a3aebae --- /dev/null +++ b/dlls/shlwapi/shlwapi_main.c @@ -0,0 +1,31 @@ +/* + * SHLWAPI initialisation + * + * Copyright 1998 Marcus Meissner + * Copyright 1998 Juergen Schmied (jsch) + */ + +#include "winbase.h" +#include "debugtools.h" + +DEFAULT_DEBUG_CHANNEL(shell); + +HINSTANCE shlwapi_hInstance = 0; + +/************************************************************************* + * SHLWAPI LibMain + * + * NOTES + * calling oleinitialize here breaks sone apps. + */ +BOOL WINAPI SHLWAPI_LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) +{ + TRACE("0x%x 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad); + switch (fdwReason) + { + case DLL_PROCESS_ATTACH: + shlwapi_hInstance = hinstDLL; + break; + } + return TRUE; +} diff --git a/dlls/winsock/.cvsignore b/dlls/winsock/.cvsignore index 3262b93a0ca..be2ae1f8a5c 100644 --- a/dlls/winsock/.cvsignore +++ b/dlls/winsock/.cvsignore @@ -1,4 +1,4 @@ *.spec.c *.spec.glue.s Makefile -libwsock32.so.1.0 +libws2_32.so.1.0 diff --git a/dlls/winsock/Makefile.in b/dlls/winsock/Makefile.in index d984ba90a4c..406db283a8a 100644 --- a/dlls/winsock/Makefile.in +++ b/dlls/winsock/Makefile.in @@ -2,9 +2,9 @@ TOPSRCDIR = @top_srcdir@ TOPOBJDIR = ../.. SRCDIR = @srcdir@ VPATH = @srcdir@ -MODULE = wsock32 +MODULE = ws2_32 SOVERSION = 1.0 -ALTNAMES = winsock ws2_32 +ALTNAMES = winsock C_SRCS = \ async.c \ diff --git a/dlls/winsock/socket.c b/dlls/winsock/socket.c index e8955f788ea..440d37a3cb3 100644 --- a/dlls/winsock/socket.c +++ b/dlls/winsock/socket.c @@ -604,17 +604,9 @@ INT16 WINAPI WSAStartup16(UINT16 wVersionRequested, LPWSADATA lpWSAData) } /*********************************************************************** - * WSAStartup() (WSOCK32.115) + * WSAStartup() (WS2_32.115) */ INT WINAPI WSAStartup(UINT wVersionRequested, LPWSADATA lpWSAData) -{ - return WSAStartup16( wVersionRequested, lpWSAData ); -} - -/*********************************************************************** - * WS2_WSAStartup() (WS2_32.115) - */ -INT WINAPI WS2_WSAStartup(UINT wVersionRequested, LPWSADATA lpWSAData) { WSADATA WINSOCK_data = { 0x0202, 0x0202, "WINE Sockets 2.0", @@ -637,7 +629,7 @@ INT WINAPI WS2_WSAStartup(UINT wVersionRequested, LPWSADATA lpWSAData) TRACE("verReq=%x\n", wVersionRequested); - if (LOBYTE(wVersionRequested) < 2) + if (LOBYTE(wVersionRequested) < 1) return WSAVERNOTSUPPORTED; if (!lpWSAData) return WSAEINVAL; @@ -2567,65 +2559,6 @@ INT WINAPI WSAUnhookBlockingHook(void) return SOCKET_ERROR; } -/* - * TCP/IP action codes. - */ - - -#define WSCNTL_TCPIP_QUERY_INFO 0x00000000 -#define WSCNTL_TCPIP_SET_INFO 0x00000001 -#define WSCNTL_TCPIP_ICMP_ECHO 0x00000002 -#define WSCNTL_TCPIP_TEST 0x00000003 - - -/*********************************************************************** - * WsControl() - * - * WsControl seems to be an undocumented Win95 function. A lot of - * discussion about WsControl can be found on the net, e.g. - * Subject: Re: WSOCK32.DLL WsControl Exported Function - * From: "Peter Rindfuss" - * Date: 1997/08/17 - */ - -DWORD WINAPI WsControl(DWORD protocoll,DWORD action, - LPVOID inbuf,LPDWORD inbuflen, - LPVOID outbuf,LPDWORD outbuflen) -{ - - switch (action) { - case WSCNTL_TCPIP_ICMP_ECHO: - { - unsigned int addr = *(unsigned int*)inbuf; -#if 0 - int timeout= *(unsigned int*)(inbuf+4); - short x1 = *(unsigned short*)(inbuf+8); - short sendbufsize = *(unsigned short*)(inbuf+10); - char x2 = *(unsigned char*)(inbuf+12); - char ttl = *(unsigned char*)(inbuf+13); - char service = *(unsigned char*)(inbuf+14); - char type= *(unsigned char*)(inbuf+15); /* 0x2: don't fragment*/ -#endif - - FIXME("(ICMP_ECHO) to 0x%08x stub \n", addr); - break; - } - default: - FIXME("(%lx,%lx,%p,%p,%p,%p) stub\n", - protocoll,action,inbuf,inbuflen,outbuf,outbuflen); - } - return FALSE; -} - -/*********************************************************************** - * WS_s_perror WSOCK32.1108 - */ -void WINAPI WS_s_perror(LPCSTR message) -{ - FIXME("(%s): stub\n",message); - return; -} - /* ----------------------------------- end of API stuff */ diff --git a/dlls/winsock/ws2_32.spec b/dlls/winsock/ws2_32.spec index dabba6a7dc3..b1c1da3e5d5 100644 --- a/dlls/winsock/ws2_32.spec +++ b/dlls/winsock/ws2_32.spec @@ -115,8 +115,8 @@ init WSOCK32_LibMain 112 stdcall WSASetLastError(long) WSASetLastError 113 stdcall WSACancelBlockingCall() WSACancelBlockingCall 114 stdcall WSAIsBlocking() WSAIsBlocking -115 stdcall WSAStartup (long ptr) WS2_WSAStartup -116 stdcall WSACleanup () WSACleanup +115 stdcall WSAStartup(long ptr) WSAStartup +116 stdcall WSACleanup() WSACleanup # 117 ~ 150 UNKNOWN diff --git a/dlls/winsock/wsock32.spec b/dlls/winsock/wsock32.spec deleted file mode 100644 index 332046b52e3..00000000000 --- a/dlls/winsock/wsock32.spec +++ /dev/null @@ -1,81 +0,0 @@ -name wsock32 -type win32 -init WSOCK32_LibMain - -001 stdcall accept(long ptr ptr) WSOCK32_accept -002 stdcall bind(long ptr long) WSOCK32_bind -003 stdcall closesocket(long) WSOCK32_closesocket -004 stdcall connect(long ptr long) WSOCK32_connect -005 stdcall getpeername(long ptr ptr) WSOCK32_getpeername -006 stdcall getsockname(long ptr ptr) WSOCK32_getsockname -007 stdcall getsockopt(long long long ptr ptr) WSOCK32_getsockopt -008 stdcall htonl(long) WINSOCK_htonl -009 stdcall htons(long) WINSOCK_htons -010 stdcall inet_addr(str) WINSOCK_inet_addr -011 stdcall inet_ntoa(ptr) WSOCK32_inet_ntoa -012 stdcall ioctlsocket(long long ptr) WSOCK32_ioctlsocket -013 stdcall listen(long long) WSOCK32_listen -014 stdcall ntohl(long) WINSOCK_ntohl -015 stdcall ntohs(long) WINSOCK_ntohs -016 stdcall recv(long ptr long long) WSOCK32_recv -017 stdcall recvfrom(long ptr long long ptr ptr) WSOCK32_recvfrom -018 stdcall select(long ptr ptr ptr ptr) WSOCK32_select -019 stdcall send(long ptr long long) WSOCK32_send -020 stdcall sendto(long ptr long long ptr long) WSOCK32_sendto -021 stdcall setsockopt(long long long ptr long) WSOCK32_setsockopt -022 stdcall shutdown(long long) WSOCK32_shutdown -023 stdcall socket(long long long) WSOCK32_socket -051 stdcall gethostbyaddr(ptr long long) WSOCK32_gethostbyaddr -052 stdcall gethostbyname(str) WSOCK32_gethostbyname -053 stdcall getprotobyname(str) WSOCK32_getprotobyname -054 stdcall getprotobynumber(long) WSOCK32_getprotobynumber -055 stdcall getservbyname(str str) WSOCK32_getservbyname -056 stdcall getservbyport(long str) WSOCK32_getservbyport -057 stdcall gethostname(ptr long) WSOCK32_gethostname -101 stdcall WSAAsyncSelect(long long long long) WSAAsyncSelect -102 stdcall WSAAsyncGetHostByAddr(long long ptr long long ptr long) WSAAsyncGetHostByAddr -103 stdcall WSAAsyncGetHostByName(long long str ptr long) WSAAsyncGetHostByName -104 stdcall WSAAsyncGetProtoByNumber(long long long ptr long) WSAAsyncGetProtoByNumber -105 stdcall WSAAsyncGetProtoByName(long long str ptr long) WSAAsyncGetProtoByName -106 stdcall WSAAsyncGetServByPort(long long long str ptr long) WSAAsyncGetServByPort -107 stdcall WSAAsyncGetServByName(long long str str ptr long) WSAAsyncGetServByName -108 stdcall WSACancelAsyncRequest(long) WSACancelAsyncRequest -109 stdcall WSASetBlockingHook(ptr) WSASetBlockingHook -110 stdcall WSAUnhookBlockingHook() WSAUnhookBlockingHook -111 stdcall WSAGetLastError() WSAGetLastError -112 stdcall WSASetLastError(long) WSASetLastError -113 stdcall WSACancelBlockingCall() WSACancelBlockingCall -114 stdcall WSAIsBlocking() WSAIsBlocking -115 stdcall WSAStartup(long ptr) WSAStartup -116 stdcall WSACleanup() WSACleanup -151 stdcall __WSAFDIsSet(long ptr) __WSAFDIsSet -#500 stub WEP -# applications *should* 'degrade gracefully if these are not present -# ... as it is, they don't -#1000 stub WSApSetPostRoutine -1001 stdcall WsControl(long long ptr ptr ptr ptr) WsControl -1100 stdcall inet_network(str) inet_network -1101 stdcall getnetbyname(str) getnetbyname -#1102 stub rcmd -#1103 stub rexec -#1104 stub rresvport -#1105 stub sethostname -#1106 stub dn_expand -1107 stdcall WSARecvEx(long ptr long ptr) WSARecvEx -1108 stdcall s_perror(str) WS_s_perror -1109 stub GetAddressByNameA -1110 stub GetAddressByNameW -#1111 stub EnumProtocolsA -#1112 stub EnumProtocolsW -#1113 stub GetTypeByNameA -#1114 stub GetTypeByNameW -#1115 stub GetNameByTypeA -#1116 stub GetNameByTypeW -#1117 stub SetServiceA -#1118 stub SetServiceW -#1119 stub GetServiceA -#1120 stub GetServiceW -#1130 stub NPLoadNameSpaces -#1140 stub TransmitFile -#1141 stub AcceptEx -#1142 stub GetAcceptExSockaddrs diff --git a/dlls/wow32/.cvsignore b/dlls/wow32/.cvsignore new file mode 100644 index 00000000000..4389c6d86df --- /dev/null +++ b/dlls/wow32/.cvsignore @@ -0,0 +1,3 @@ +Makefile +libwow32.so.1.0 +wow32.spec.c diff --git a/dlls/wow32/Makefile.in b/dlls/wow32/Makefile.in new file mode 100644 index 00000000000..f363113982b --- /dev/null +++ b/dlls/wow32/Makefile.in @@ -0,0 +1,10 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = wow32 +SOVERSION = 1.0 + +@MAKE_DLL_RULES@ + +### Dependencies: diff --git a/dlls/wow32/wow32.spec b/dlls/wow32/wow32.spec new file mode 100644 index 00000000000..7a89059db0a --- /dev/null +++ b/dlls/wow32/wow32.spec @@ -0,0 +1,24 @@ +name wow32 +type win32 + +import kernel32.dll + +# ordinal exports +1 forward WOWGetDescriptor kernel32.K32WOWGetDescriptor + +@ forward WOWCallback16 kernel32.K32WOWCallback16 +@ forward WOWCallback16Ex kernel32.K32WOWCallback16Ex +@ forward WOWDirectedYield16 kernel32.K32WOWDirectedYield16 +@ forward WOWGetVDMPointer kernel32.K32WOWGetVDMPointer +@ forward WOWGetVDMPointerFix kernel32.K32WOWGetVDMPointerFix +@ forward WOWGetVDMPointerUnfix kernel32.K32WOWGetVDMPointerUnfix +@ forward WOWGlobalAlloc16 kernel32.K32WOWGlobalAlloc16 +@ forward WOWGlobalAllocLock16 kernel32.K32WOWGlobalAllocLock16 +@ forward WOWGlobalFree16 kernel32.K32WOWGlobalFree16 +@ forward WOWGlobalLock16 kernel32.K32WOWGlobalLock16 +@ forward WOWGlobalLockSize16 kernel32.K32WOWGlobalLockSize16 +@ forward WOWGlobalUnlock16 kernel32.K32WOWGlobalUnlock16 +@ forward WOWGlobalUnlockFree16 kernel32.K32WOWGlobalUnlockFree16 +@ forward WOWHandle16 kernel32.K32WOWHandle16 +@ forward WOWHandle32 kernel32.K32WOWHandle32 +@ forward WOWYield16 kernel32.K32WOWYield16 diff --git a/dlls/wsock32/.cvsignore b/dlls/wsock32/.cvsignore new file mode 100644 index 00000000000..d96dc8fb591 --- /dev/null +++ b/dlls/wsock32/.cvsignore @@ -0,0 +1,3 @@ +Makefile +libwsock32.so.1.0 +wsock32.spec.c diff --git a/dlls/wsock32/Makefile.in b/dlls/wsock32/Makefile.in new file mode 100644 index 00000000000..e2e9d12e11e --- /dev/null +++ b/dlls/wsock32/Makefile.in @@ -0,0 +1,13 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = wsock32 +SOVERSION = 1.0 +IMPORTS = ws2_32 + +C_SRCS = socket.c + +@MAKE_DLL_RULES@ + +### Dependencies: diff --git a/dlls/wsock32/socket.c b/dlls/wsock32/socket.c new file mode 100644 index 00000000000..49aa58f539a --- /dev/null +++ b/dlls/wsock32/socket.c @@ -0,0 +1,57 @@ +/* + * WSOCK32 specific functions + * + * Copyright (C) 1993,1994,1996,1997 John Brezak, Erik Bos, Alex Korobka. + */ + +#include "windef.h" +#include "debugtools.h" + +DEFAULT_DEBUG_CHANNEL(winsock); + +/* TCP/IP action codes */ +#define WSCNTL_TCPIP_QUERY_INFO 0x00000000 +#define WSCNTL_TCPIP_SET_INFO 0x00000001 +#define WSCNTL_TCPIP_ICMP_ECHO 0x00000002 +#define WSCNTL_TCPIP_TEST 0x00000003 + +/*********************************************************************** + * WsControl + */ +DWORD WINAPI WsControl(DWORD protocoll,DWORD action, + LPVOID inbuf,LPDWORD inbuflen, + LPVOID outbuf,LPDWORD outbuflen) +{ + + switch (action) { + case WSCNTL_TCPIP_ICMP_ECHO: + { + unsigned int addr = *(unsigned int*)inbuf; +#if 0 + int timeout= *(unsigned int*)(inbuf+4); + short x1 = *(unsigned short*)(inbuf+8); + short sendbufsize = *(unsigned short*)(inbuf+10); + char x2 = *(unsigned char*)(inbuf+12); + char ttl = *(unsigned char*)(inbuf+13); + char service = *(unsigned char*)(inbuf+14); + char type= *(unsigned char*)(inbuf+15); /* 0x2: don't fragment*/ +#endif + + FIXME("(ICMP_ECHO) to 0x%08x stub \n", addr); + break; + } + default: + FIXME("(%lx,%lx,%p,%p,%p,%p) stub\n", + protocoll,action,inbuf,inbuflen,outbuf,outbuflen); + } + return FALSE; +} + +/*********************************************************************** + * WS_s_perror (WSOCK32.1108) + */ +void WINAPI WS_s_perror(LPCSTR message) +{ + FIXME("(%s): stub\n",message); + return; +} diff --git a/dlls/wsock32/wsock32.spec b/dlls/wsock32/wsock32.spec new file mode 100644 index 00000000000..f579d9c415f --- /dev/null +++ b/dlls/wsock32/wsock32.spec @@ -0,0 +1,83 @@ +name wsock32 +type win32 + +import ws2_32.dll + + 1 forward accept ws2_32.accept + 2 forward bind ws2_32.bind + 3 forward closesocket ws2_32.closesocket + 4 forward connect ws2_32.connect + 5 forward getpeername ws2_32.getpeername + 6 forward getsockname ws2_32.getsockname + 7 forward getsockopt ws2_32.getsockopt + 8 forward htonl ws2_32.htonl + 9 forward htons ws2_32.htons + 10 forward inet_addr ws2_32.inet_addr + 11 forward inet_ntoa ws2_32.inet_ntoa + 12 forward ioctlsocket ws2_32.ioctlsocket + 13 forward listen ws2_32.listen + 14 forward ntohl ws2_32.ntohl + 15 forward ntohs ws2_32.ntohs + 16 forward recv ws2_32.recv + 17 forward recvfrom ws2_32.recvfrom + 18 forward select ws2_32.select + 19 forward send ws2_32.send + 20 forward sendto ws2_32.sendto + 21 forward setsockopt ws2_32.setsockopt + 22 forward shutdown ws2_32.shutdown + 23 forward socket ws2_32.socket + 51 forward gethostbyaddr ws2_32.gethostbyaddr + 52 forward gethostbyname ws2_32.gethostbyname + 53 forward getprotobyname ws2_32.getprotobyname + 54 forward getprotobynumber ws2_32.getprotobynumber + 55 forward getservbyname ws2_32.getservbyname + 56 forward getservbyport ws2_32.getservbyport + 57 forward gethostname ws2_32.gethostname +101 forward WSAAsyncSelect ws2_32.WSAAsyncSelect +102 forward WSAAsyncGetHostByAddr ws2_32.WSAAsyncGetHostByAddr +103 forward WSAAsyncGetHostByName ws2_32.WSAAsyncGetHostByName +104 forward WSAAsyncGetProtoByNumber ws2_32.WSAAsyncGetProtoByNumber +105 forward WSAAsyncGetProtoByName ws2_32.WSAAsyncGetProtoByName +106 forward WSAAsyncGetServByPort ws2_32.WSAAsyncGetServByPort +107 forward WSAAsyncGetServByName ws2_32.WSAAsyncGetServByName +108 forward WSACancelAsyncRequest ws2_32.WSACancelAsyncRequest +109 forward WSASetBlockingHook ws2_32.WSASetBlockingHook +110 forward WSAUnhookBlockingHook ws2_32.WSAUnhookBlockingHook +111 forward WSAGetLastError ws2_32.WSAGetLastError +112 forward WSASetLastError ws2_32.WSASetLastError +113 forward WSACancelBlockingCall ws2_32.WSACancelBlockingCall +114 forward WSAIsBlocking ws2_32.WSAIsBlocking +115 forward WSAStartup ws2_32.WSAStartup +116 forward WSACleanup ws2_32.WSACleanup +151 forward __WSAFDIsSet ws2_32.__WSAFDIsSet +500 forward WEP ws2_32.WEP + +# applications *should* 'degrade gracefully if these are not present +# ... as it is, they don't +#1000 stub WSApSetPostRoutine +1001 stdcall WsControl(long long ptr ptr ptr ptr) WsControl +1100 stdcall inet_network(str) inet_network +1101 stdcall getnetbyname(str) getnetbyname +#1102 stub rcmd +#1103 stub rexec +#1104 stub rresvport +#1105 stub sethostname +#1106 stub dn_expand +1107 stdcall WSARecvEx(long ptr long ptr) WSARecvEx +1108 stdcall s_perror(str) WS_s_perror +1109 stub GetAddressByNameA +1110 stub GetAddressByNameW +#1111 stub EnumProtocolsA +#1112 stub EnumProtocolsW +#1113 stub GetTypeByNameA +#1114 stub GetTypeByNameW +#1115 stub GetNameByTypeA +#1116 stub GetNameByTypeW +#1117 stub SetServiceA +#1118 stub SetServiceW +#1119 stub GetServiceA +#1120 stub GetServiceW +#1130 stub NPLoadNameSpaces +#1140 stub TransmitFile +#1141 stub AcceptEx +#1142 stub GetAcceptExSockaddrs