Commit c607532a authored by Alexandre Julliard's avatar Alexandre Julliard

Created separate libraries for dplay, shfolder, shlwapi, wow32 and

wsock32 so that we have at most one Win32 dll in each .so library.
parent 7d354131
......@@ -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)
......
Makefile
dplay.spec.c
libdplay.so.1.0
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = dplay
SOVERSION = 1.0
@MAKE_DLL_RULES@
### Dependencies:
......@@ -4,5 +4,5 @@ type win32
import dplayx.dll
@ forward DirectPlayCreate DPLAYX.DirectPlayCreate
@ forward DirectPlayEnumerate DPLAYX.DirectPlayEnumerate
@ 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:
......
......@@ -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
......
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
......
......@@ -28,11 +28,6 @@ extern HIMAGELIST ShellBigIconList;
extern HDPA sic_hdpa;
/*******************************************
* global SHLWAPI.DLL variables
*/
extern HINSTANCE shlwapi_hInstance;
/*******************************************
* pointer to functions dynamically loaded
*/
extern void (WINAPI* pDLLInitComctl)(LPVOID);
......
......@@ -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]
*/
......
name shfolder
type win32
import advapi32
@ stdcall SHGetFolderPathA(long long long long ptr)SHGetFolderPathA
@ stdcall SHGetFolderPathW(long long long long ptr)SHGetFolderPathW
Makefile
libshfolder.so.1.0
shfolder.spec.c
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = shfolder
SOVERSION = 1.0
IMPORTS = shell32
@MAKE_DLL_RULES@
### Dependencies:
name shfolder
type win32
@ stdcall SHGetFolderPathA(long long long long ptr) SHGetFolderPathA
@ stdcall SHGetFolderPathW(long long long long ptr) SHGetFolderPathW
Makefile
libshlwapi.so.1.0
shlwapi.spec.c
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:
/*
* SHLWAPI ordinal functions
*
* Copyright 1997 Marcus Meissner
* 1998 Jrgen 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;
}
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 @
......
/*
* 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;
}
*.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,18 +604,10 @@ 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",
#ifdef linux
......@@ -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
......
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
Makefile
libwow32.so.1.0
wow32.spec.c
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = wow32
SOVERSION = 1.0
@MAKE_DLL_RULES@
### Dependencies:
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
Makefile
libwsock32.so.1.0
wsock32.spec.c
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = wsock32
SOVERSION = 1.0
IMPORTS = ws2_32
C_SRCS = socket.c
@MAKE_DLL_RULES@
### Dependencies:
/*
* 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;
}
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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment