Created separate libraries for dplay, shfolder, shlwapi, wow32 and
wsock32 so that we have at most one Win32 dll in each .so library.
This commit is contained in:
parent
7d35413162
commit
c607532ae4
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Makefile
|
||||
dplay.spec.c
|
||||
libdplay.so.1.0
|
|
@ -0,0 +1,11 @@
|
|||
TOPSRCDIR = @top_srcdir@
|
||||
TOPOBJDIR = ../..
|
||||
SRCDIR = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
MODULE = dplay
|
||||
SOVERSION = 1.0
|
||||
|
||||
@MAKE_DLL_RULES@
|
||||
|
||||
### Dependencies:
|
||||
|
|
@ -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
|
|
@ -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:
|
||||
|
|
|
@ -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
|
|
@ -5,5 +5,4 @@ kernel32.spec.c
|
|||
libkernel32.so.1.0
|
||||
system.spec.c
|
||||
toolhelp.spec.c
|
||||
wow32.spec.c
|
||||
wprocs.spec.c
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -4,7 +4,7 @@ SRCDIR = @srcdir@
|
|||
VPATH = @srcdir@
|
||||
MODULE = shell32
|
||||
SOVERSION = 1.0
|
||||
ALTNAMES = shell shlwapi shfolder
|
||||
ALTNAMES = shell
|
||||
IMPORTS = ole32
|
||||
|
||||
C_SRCS = \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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]
|
||||
*/
|
||||
|
|
|
@ -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
|
|
@ -0,0 +1,3 @@
|
|||
Makefile
|
||||
libshfolder.so.1.0
|
||||
shfolder.spec.c
|
|
@ -0,0 +1,12 @@
|
|||
TOPSRCDIR = @top_srcdir@
|
||||
TOPOBJDIR = ../..
|
||||
SRCDIR = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
MODULE = shfolder
|
||||
SOVERSION = 1.0
|
||||
IMPORTS = shell32
|
||||
|
||||
@MAKE_DLL_RULES@
|
||||
|
||||
### Dependencies:
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
name shfolder
|
||||
type win32
|
||||
|
||||
@ stdcall SHGetFolderPathA(long long long long ptr) SHGetFolderPathA
|
||||
@ stdcall SHGetFolderPathW(long long long long ptr) SHGetFolderPathW
|
|
@ -0,0 +1,3 @@
|
|||
Makefile
|
||||
libshlwapi.so.1.0
|
||||
shlwapi.spec.c
|
|
@ -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:
|
||||
|
|
@ -0,0 +1,390 @@
|
|||
/*
|
||||
* SHLWAPI ordinal functions
|
||||
*
|
||||
* Copyright 1997 Marcus Meissner
|
||||
* 1998 Jürgen Schmied
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#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;
|
||||
}
|
||||
|
|
@ -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 @
|
|
@ -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;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
*.spec.c
|
||||
*.spec.glue.s
|
||||
Makefile
|
||||
libwsock32.so.1.0
|
||||
libws2_32.so.1.0
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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" <rindfuss-s@medea.wz-berlin.de>
|
||||
* 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 */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
|
@ -0,0 +1,3 @@
|
|||
Makefile
|
||||
libwow32.so.1.0
|
||||
wow32.spec.c
|
|
@ -0,0 +1,10 @@
|
|||
TOPSRCDIR = @top_srcdir@
|
||||
TOPOBJDIR = ../..
|
||||
SRCDIR = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
MODULE = wow32
|
||||
SOVERSION = 1.0
|
||||
|
||||
@MAKE_DLL_RULES@
|
||||
|
||||
### Dependencies:
|
|
@ -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
|
|
@ -0,0 +1,3 @@
|
|||
Makefile
|
||||
libwsock32.so.1.0
|
||||
wsock32.spec.c
|
|
@ -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:
|
|
@ -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;
|
||||
}
|
|
@ -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
|
Loading…
Reference in New Issue