Commit 44519bde authored by Alexandre Julliard's avatar Alexandre Julliard

Removed winetest.

parent 971f3f35
......@@ -61,9 +61,6 @@ TESTSUBDIRS = \
dlls \
programs
EMUOBJS = \
miscemu/miscemu.o
all: Make.rules wine
@echo "Wine build complete."
......@@ -129,7 +126,7 @@ unicode/__install__: unicode
checklink:: $(TESTSUBDIRS:%=%/__checklink__)
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c && $(RM) checklink
check test:: $(TESTSUBDIRS:%=%/__test__)
check test:: wine $(TESTSUBDIRS:%=%/__test__)
crosstest:: $(TESTSUBDIRS:%=%/__crosstest__)
......
......@@ -1366,7 +1366,6 @@ WINE_CONFIG_EXTRA_DIR(msdos)
WINE_CONFIG_EXTRA_DIR(objects)
WINE_CONFIG_EXTRA_DIR(programs/regapi/tests)
WINE_CONFIG_EXTRA_DIR(programs/regedit/tests)
WINE_CONFIG_EXTRA_DIR(programs/winetest/tests)
WINE_CONFIG_EXTRA_DIR(relay32)
WINE_CONFIG_EXTRA_DIR(scheduler)
WINE_CONFIG_EXTRA_DIR(win32)
......@@ -1527,7 +1526,6 @@ programs/winedbg/Makefile
programs/winefile/Makefile
programs/winemine/Makefile
programs/winepath/Makefile
programs/winetest/Makefile
programs/winhelp/Makefile
programs/winver/Makefile
server/Makefile
......
......@@ -25,7 +25,6 @@ SUBDIRS = \
winefile \
winemine \
winepath \
winetest \
winhelp \
winver
......
Makefile
wine.c
winetest.exe.dbg.c
winetest.exe.spec.c
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = winetest.exe
APPMODE = cui
IMPORTS = kernel32
EXTRACFLAGS = `perl -MExtUtils::Embed -e ccflags`
EXTRALIBS = `perl -MExtUtils::Embed -e ldopts`
EXTRAINCL = `perl -MExtUtils::Embed -e perl_inc`
XSUBPPDIR = `perl -MConfig -e 'print $$Config::Config{privlibexp}'`/ExtUtils
C_SRCS = winetest.c
EXTRA_OBJS = wine.o
EXTRASUBDIRS = include tests
PLTESTPROGRAM = $(MODULE)$(DLLEXT)
PLTESTS = \
tests/wine.pl
# override all: target so that we don't build the Perl stuff by default
empty-target:
@MAKE_PROG_RULES@
wine.c: wine.xs
perl $(XSUBPPDIR)/xsubpp -typemap $(XSUBPPDIR)/typemap $(SRCDIR)/wine.xs >wine.c || $(RM) wine.c
clean::
$(RM) wine.c
.PHONY: empty-target
### Dependencies:
# Set this to the directory containing perl includes and libraries
PERLDIR = c:\perl\5.6.0\lib\MSWin32-x86\CORE
CC = cl -c
CFLAGS = -DWIN32 -D_X86_ -D__i386__ -I$(PERLDIR)
PERLLIB = -libpath:$(PERLDIR) perl56.lib
PERLMAKE = $(MAKE) /fMakefile.perl "DEFINE=$(CFLAGS)"
OBJS = winetest.obj wine.obj
all: winetest.exe
winetest.exe: $(OBJS)
link -out:$@ $(LDFLAGS) $(OBJS) $(PERLLIB)
winetest.obj: winetest.c
$(CC) $(CFLAGS) winetest.c
wine.obj: wine.xs Makefile.perl
$(PERLMAKE) wine.obj
Makefile.perl: Makefile.PL
perl Makefile.PL
clean: Makefile.perl
del winetest.exe $(OBJS)
$(PERLMAKE) realclean
package avicap32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"capCreateCaptureWindowA" => ["long", ["str", "long", "long", "long", "long", "long", "long", "long"]],
"capCreateCaptureWindowW" => ["long", ["wstr", "long", "long", "long", "long", "long", "long", "long"]],
"capGetDriverDescriptionA" => ["long", ["long", "str", "long", "str", "long"]],
"capGetDriverDescriptionW" => ["long", ["long", "wstr", "long", "wstr", "long"]]
};
&wine::declare("avicap32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package avifil32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"AVIFileCreateStreamA" => ["long", ["ptr", "ptr", "ptr"]],
"AVIFileCreateStreamW" => ["long", ["ptr", "ptr", "ptr"]],
"AVIFileExit" => ["void", []],
"AVIFileGetStream" => ["long", ["ptr", "ptr", "long", "long"]],
"AVIFileInfoA" => ["long", ["ptr", "ptr", "long"]],
"AVIFileInfoW" => ["long", ["ptr", "ptr", "long"]],
"AVIFileInit" => ["void", []],
"AVIFileOpenA" => ["long", ["ptr", "str", "long", "ptr"]],
"AVIFileRelease" => ["long", ["ptr"]],
"AVIMakeCompressedStream" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
"AVIStreamGetFrame" => ["ptr", ["ptr", "long"]],
"AVIStreamGetFrameClose" => ["long", ["ptr"]],
"AVIStreamGetFrameOpen" => ["ptr", ["ptr", "ptr"]],
"AVIStreamInfoA" => ["long", ["ptr", "ptr", "long"]],
"AVIStreamInfoW" => ["long", ["ptr", "ptr", "long"]],
"AVIStreamLength" => ["long", ["ptr"]],
"AVIStreamRead" => ["long", ["ptr", "long", "long", "ptr", "long", "ptr", "ptr"]],
"AVIStreamReadData" => ["long", ["ptr", "long", "ptr", "ptr"]],
"AVIStreamReadFormat" => ["long", ["ptr", "long", "ptr", "ptr"]],
"AVIStreamRelease" => ["long", ["ptr"]],
"AVIStreamSetFormat" => ["long", ["ptr", "long", "ptr", "long"]],
"AVIStreamStart" => ["long", ["ptr"]],
"AVIStreamWrite" => ["long", ["ptr", "long", "long", "ptr", "long", "long", "ptr", "ptr"]],
"AVIStreamWriteData" => ["long", ["ptr", "long", "ptr", "long"]]
};
&wine::declare("avifil32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package comcat;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DllCanUnloadNow" => ["long", ["undef"]],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
"DllRegisterServer" => ["long", ["undef"]],
"DllUnregisterServer" => ["long", ["undef"]]
};
&wine::declare("comcat",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package comctl32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"MenuHelp" => ["void", ["long", "long", "long", "long", "long", "long", "ptr"]],
"ShowHideMenuCtl" => ["long", ["long", "long", "ptr"]],
"GetEffectiveClientRect" => ["void", ["long", "ptr", "ptr"]],
"DrawStatusTextA" => ["void", ["long", "ptr", "str", "long"]],
"CreateStatusWindowA" => ["long", ["long", "str", "long", "long"]],
"CreateToolbar" => ["long", ["long", "long", "long", "long", "long", "long", "ptr", "long"]],
"CreateMappedBitmap" => ["long", ["long", "long", "long", "ptr", "long"]],
"DPA_LoadStream" => ["long", ["ptr", "ptr", "ptr", "long"]],
"DPA_SaveStream" => ["long", ["long", "ptr", "ptr", "long"]],
"DPA_Merge" => ["long", ["long", "long", "long", "ptr", "ptr", "long"]],
"MakeDragList" => ["long", ["long"]],
"LBItemFromPt" => ["long", ["long", "long", "long", "long"]],
"DrawInsert" => ["void", ["long", "long", "long"]],
"CreateUpDownControl" => ["long", ["long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long"]],
"InitCommonControls" => ["void", []],
"Alloc" => ["ptr", ["long"]],
"ReAlloc" => ["ptr", ["ptr", "long"]],
"Free" => ["long", ["ptr"]],
"GetSize" => ["long", ["ptr"]],
"CreateMRUListA" => ["long", ["ptr"]],
"FreeMRUList" => ["long", ["long"]],
"AddMRUStringA" => ["long", ["long", "str"]],
"EnumMRUListA" => ["long", ["long", "long", "ptr", "long"]],
"FindMRUStringA" => ["long", ["long", "str", "ptr"]],
"DelMRUString" => ["long", ["long", "long"]],
"CreateMRUListLazyA" => ["long", ["ptr", "long", "long", "long"]],
"AddMRUData" => ["long", ["long", "ptr", "long"]],
"FindMRUData" => ["long", ["long", "ptr", "long", "ptr"]],
"Str_GetPtrA" => ["long", ["str", "str", "long"]],
"Str_SetPtrA" => ["long", ["ptr", "str"]],
"Str_GetPtrW" => ["long", ["wstr", "wstr", "long"]],
"Str_SetPtrW" => ["long", ["ptr", "wstr"]],
"DSA_Create" => ["long", ["long", "long"]],
"DSA_Destroy" => ["long", ["long"]],
"DSA_GetItem" => ["long", ["long", "long", "ptr"]],
"DSA_GetItemPtr" => ["ptr", ["long", "long"]],
"DSA_InsertItem" => ["long", ["long", "long", "ptr"]],
"DSA_SetItem" => ["long", ["long", "long", "ptr"]],
"DSA_DeleteItem" => ["long", ["long", "long"]],
"DSA_DeleteAllItems" => ["long", ["long"]],
"DPA_Create" => ["long", ["long"]],
"DPA_Destroy" => ["long", ["long"]],
"DPA_Grow" => ["long", ["long", "long"]],
"DPA_Clone" => ["long", ["long", "long"]],
"DPA_GetPtr" => ["ptr", ["long", "long"]],
"DPA_GetPtrIndex" => ["long", ["long", "ptr"]],
"DPA_InsertPtr" => ["long", ["long", "long", "ptr"]],
"DPA_SetPtr" => ["long", ["long", "long", "ptr"]],
"DPA_DeletePtr" => ["ptr", ["long", "long"]],
"DPA_DeleteAllPtrs" => ["long", ["long"]],
"DPA_Sort" => ["long", ["long", "ptr", "long"]],
"DPA_Search" => ["long", ["long", "ptr", "long", "ptr", "long", "long"]],
"DPA_CreateEx" => ["long", ["long", "long"]],
"SendNotify" => ["long", ["long", "long", "long", "ptr"]],
"SendNotifyEx" => ["long", ["long", "long", "long", "ptr", "long"]],
"StrChrA" => ["str", ["str", "long"]],
"StrRChrA" => ["str", ["str", "str", "long"]],
"StrCmpNA" => ["long", ["str", "str", "long"]],
"StrCmpNIA" => ["long", ["str", "str", "long"]],
"StrStrA" => ["str", ["str", "str"]],
"StrStrIA" => ["str", ["str", "str"]],
"StrCSpnA" => ["long", ["str", "str"]],
"StrToIntA" => ["long", ["str"]],
"StrChrW" => ["wstr", ["wstr", "long"]],
"StrRChrW" => ["wstr", ["wstr", "wstr", "long"]],
"StrCmpNW" => ["long", ["wstr", "wstr", "long"]],
"StrCmpNIW" => ["long", ["wstr", "wstr", "long"]],
"StrStrW" => ["wstr", ["wstr", "wstr"]],
"StrSpnW" => ["long", ["wstr", "wstr"]],
"StrToIntW" => ["long", ["wstr"]],
"SmoothScrollWindow" => ["long", ["ptr"]],
"DPA_EnumCallback" => ["void", ["long", "ptr", "long"]],
"DPA_DestroyCallback" => ["long", ["long", "ptr", "long"]],
"DSA_EnumCallback" => ["void", ["long", "ptr", "long"]],
"DSA_DestroyCallback" => ["long", ["long", "ptr", "long"]],
"CreateMRUListW" => ["long", ["ptr"]],
"AddMRUStringW" => ["long", ["long", "wstr"]],
"FindMRUStringW" => ["long", ["long", "wstr", "ptr"]],
"EnumMRUListW" => ["long", ["long", "long", "ptr", "long"]],
"CreateMRUListLazyW" => ["long", ["ptr", "long", "long", "long"]],
"CreatePropertySheetPage" => ["long", ["ptr"]],
"CreatePropertySheetPageA" => ["long", ["ptr"]],
"CreatePropertySheetPageW" => ["long", ["ptr"]],
"CreateStatusWindow" => ["long", ["long", "str", "long", "long"]],
"CreateStatusWindowW" => ["long", ["long", "wstr", "long", "long"]],
"CreateToolbarEx" => ["long", ["long", "long", "long", "long", "long", "long", "ptr", "long", "long", "long", "long", "long", "long"]],
"DestroyPropertySheetPage" => ["long", ["long"]],
"DllGetVersion" => ["long", ["ptr"]],
"DllInstall" => ["long", ["long", "wstr"]],
"DrawStatusText" => ["void", ["long", "ptr", "str", "long"]],
"DrawStatusTextW" => ["void", ["long", "ptr", "wstr", "long"]],
"FlatSB_EnableScrollBar" => ["long", ["long", "long", "long"]],
"FlatSB_GetScrollInfo" => ["long", ["long", "long", "ptr"]],
"FlatSB_GetScrollPos" => ["long", ["long", "long"]],
"FlatSB_GetScrollProp" => ["long", ["long", "long", "ptr"]],
"FlatSB_GetScrollRange" => ["long", ["long", "long", "ptr", "ptr"]],
"FlatSB_SetScrollInfo" => ["long", ["long", "long", "ptr", "long"]],
"FlatSB_SetScrollPos" => ["long", ["long", "long", "long", "long"]],
"FlatSB_SetScrollProp" => ["long", ["long", "long", "long", "long"]],
"FlatSB_ShowScrollBar" => ["long", ["long", "long", "long"]],
"GetMUILanguage" => ["long", []],
"ImageList_Add" => ["long", ["long", "long", "long"]],
"ImageList_AddIcon" => ["long", ["long", "long"]],
"ImageList_AddMasked" => ["long", ["long", "long", "long"]],
"ImageList_BeginDrag" => ["long", ["long", "long", "long", "long"]],
"ImageList_Copy" => ["long", ["long", "long", "long", "long", "long"]],
"ImageList_Create" => ["long", ["long", "long", "long", "long", "long"]],
"ImageList_Destroy" => ["long", ["long"]],
"ImageList_DragEnter" => ["long", ["long", "long", "long"]],
"ImageList_DragLeave" => ["long", ["long"]],
"ImageList_DragMove" => ["long", ["long", "long"]],
"ImageList_DragShowNolock" => ["long", ["long"]],
"ImageList_Draw" => ["long", ["long", "long", "long", "long", "long", "long"]],
"ImageList_DrawEx" => ["long", ["long", "long", "long", "long", "long", "long", "long", "long", "long", "long"]],
"ImageList_DrawIndirect" => ["long", ["ptr"]],
"ImageList_Duplicate" => ["long", ["long"]],
"ImageList_EndDrag" => ["long", []],
"ImageList_GetBkColor" => ["long", ["long"]],
"ImageList_GetDragImage" => ["long", ["ptr", "ptr"]],
"ImageList_GetFlags" => ["long", ["long"]],
"ImageList_GetIcon" => ["long", ["long", "long", "long"]],
"ImageList_GetIconSize" => ["long", ["long", "ptr", "ptr"]],
"ImageList_GetImageCount" => ["long", ["long"]],
"ImageList_GetImageInfo" => ["long", ["long", "long", "ptr"]],
"ImageList_GetImageRect" => ["long", ["long", "long", "ptr"]],
"ImageList_LoadImage" => ["long", ["long", "str", "long", "long", "long", "long", "long"]],
"ImageList_LoadImageA" => ["long", ["long", "str", "long", "long", "long", "long", "long"]],
"ImageList_LoadImageW" => ["long", ["long", "wstr", "long", "long", "long", "long", "long"]],
"ImageList_Merge" => ["long", ["long", "long", "long", "long", "long", "long"]],
"ImageList_Read" => ["long", ["ptr"]],
"ImageList_Remove" => ["long", ["long", "long"]],
"ImageList_Replace" => ["long", ["long", "long", "long", "long"]],
"ImageList_ReplaceIcon" => ["long", ["long", "long", "long"]],
"ImageList_SetBkColor" => ["long", ["long", "long"]],
"ImageList_SetDragCursorImage" => ["long", ["long", "long", "long", "long"]],
"ImageList_SetFilter" => ["long", ["long", "long", "long"]],
"ImageList_SetFlags" => ["long", ["long", "long"]],
"ImageList_SetIconSize" => ["long", ["long", "long", "long"]],
"ImageList_SetImageCount" => ["long", ["long", "long"]],
"ImageList_SetOverlayImage" => ["long", ["long", "long", "long"]],
"ImageList_Write" => ["long", ["long", "ptr"]],
"InitCommonControlsEx" => ["long", ["ptr"]],
"InitMUILanguage" => ["void", ["long"]],
"InitializeFlatSB" => ["long", ["long"]],
"PropertySheet" => ["long", ["ptr"]],
"PropertySheetA" => ["long", ["ptr"]],
"PropertySheetW" => ["long", ["ptr"]],
"UninitializeFlatSB" => ["long", ["long"]],
"_TrackMouseEvent" => ["long", ["ptr"]]
};
&wine::declare("comctl32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package comdlg32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"ChooseColorA" => ["long", ["ptr"]],
"ChooseColorW" => ["long", ["ptr"]],
"ChooseFontA" => ["long", ["ptr"]],
"ChooseFontW" => ["long", ["ptr"]],
"CommDlgExtendedError" => ["long", []],
"FindTextA" => ["long", ["ptr"]],
"FindTextW" => ["long", ["ptr"]],
"GetFileTitleA" => ["long", ["str", "str", "long"]],
"GetFileTitleW" => ["long", ["wstr", "wstr", "long"]],
"GetOpenFileNameA" => ["long", ["ptr"]],
"GetOpenFileNameW" => ["long", ["ptr"]],
"GetSaveFileNameA" => ["long", ["ptr"]],
"GetSaveFileNameW" => ["long", ["ptr"]],
"PageSetupDlgA" => ["long", ["ptr"]],
"PageSetupDlgW" => ["long", ["ptr"]],
"PrintDlgA" => ["long", ["ptr"]],
"PrintDlgExA" => ["long", ["ptr"]],
"PrintDlgExW" => ["long", ["ptr"]],
"PrintDlgW" => ["long", ["ptr"]],
"ReplaceTextA" => ["long", ["ptr"]],
"ReplaceTextW" => ["long", ["ptr"]]
};
&wine::declare("comdlg32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package dciman32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DCICloseProvider" => ["void", ["long"]],
"DCIOpenProvider" => ["long", []]
};
&wine::declare("dciman32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package ddraw;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DirectDrawCreate" => ["long", ["ptr", "ptr", "ptr"]],
"DirectDrawEnumerateA" => ["long", ["ptr", "ptr"]],
"DirectDrawEnumerateExA" => ["long", ["ptr", "ptr", "long"]],
"DirectDrawEnumerateExW" => ["long", ["ptr", "ptr", "long"]],
"DirectDrawEnumerateW" => ["long", ["ptr", "ptr"]],
"DllCanUnloadNow" => ["long", []],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]]
};
&wine::declare("ddraw",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package dinput;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DirectInputCreateA" => ["long", ["long", "long", "ptr", "ptr"]],
"DirectInputCreateEx" => ["long", ["long", "long", "ptr", "ptr", "ptr"]],
"DllCanUnloadNow" => ["long", []],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
"DllRegisterServer" => ["long", []],
"DllUnregisterServer" => ["long", []]
};
&wine::declare("dinput",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package dinput8;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DirectInput8Create" => ["long", ["long", "long", "ptr", "ptr", "ptr"]],
"DllCanUnloadNow" => ["long", []],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
"DllRegisterServer" => ["long", []],
"DllUnregisterServer" => ["long", []]
};
&wine::declare("dinput8",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package dplayx;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DirectPlayCreate" => ["long", ["ptr", "ptr", "ptr"]],
"DirectPlayEnumerateA" => ["long", ["ptr", "ptr"]],
"DirectPlayEnumerateW" => ["long", ["ptr", "ptr"]],
"DirectPlayLobbyCreateA" => ["long", ["ptr", "ptr", "ptr", "ptr", "long"]],
"DirectPlayLobbyCreateW" => ["long", ["ptr", "ptr", "ptr", "ptr", "long"]],
"DirectPlayEnumerate" => ["long", ["ptr", "ptr"]],
"DllCanUnloadNow" => ["long", []],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]]
};
&wine::declare("dplayx",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package dsound;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DirectSoundCreate" => ["long", ["ptr", "ptr", "ptr"]],
"DirectSoundEnumerateA" => ["long", ["ptr", "ptr"]],
"DirectSoundEnumerateW" => ["long", ["ptr", "ptr"]],
"DllCanUnloadNow" => ["long", []],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
"DirectSoundCaptureCreate" => ["long", ["ptr", "ptr", "ptr"]],
"DirectSoundCaptureEnumerateA" => ["long", ["ptr", "ptr"]],
"DirectSoundCaptureEnumerateW" => ["long", ["ptr", "ptr"]]
};
&wine::declare("dsound",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package glu32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"gluBeginCurve" => ["long", ["ptr"]],
"gluBeginPolygon" => ["long", ["ptr"]],
"gluBeginSurface" => ["long", ["ptr"]],
"gluBeginTrim" => ["long", ["ptr"]],
"gluBuild1DMipmaps" => ["long", ["long", "long", "long", "long", "long", "ptr"]],
"gluBuild2DMipmaps" => ["long", ["long", "long", "long", "long", "long", "long", "ptr"]],
"gluCheckExtension" => ["long", ["ptr", "ptr"]],
"gluCylinder" => ["long", ["ptr", "double", "double", "double", "long", "long"]],
"gluDeleteNurbsRenderer" => ["long", ["ptr"]],
"gluDeleteQuadric" => ["long", ["ptr"]],
"gluDeleteTess" => ["long", ["ptr"]],
"gluDisk" => ["long", ["ptr", "double", "double", "long", "long"]],
"gluEndCurve" => ["long", ["ptr"]],
"gluEndPolygon" => ["long", ["ptr"]],
"gluEndSurface" => ["long", ["ptr"]],
"gluEndTrim" => ["long", ["ptr"]],
"gluErrorString" => ["long", ["long"]],
"gluGetNurbsProperty" => ["long", ["ptr", "long", "ptr"]],
"gluGetString" => ["long", ["long"]],
"gluLoadSamplingMatrices" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
"gluLookAt" => ["long", ["double", "double", "double", "double", "double", "double", "double", "double", "double"]],
"gluNewNurbsRenderer" => ["long", ["undef"]],
"gluNewQuadric" => ["long", ["undef"]],
"gluNewTess" => ["long", ["undef"]],
"gluNextContour" => ["long", ["ptr", "long"]],
"gluNurbsCallback" => ["long", ["ptr", "long", "ptr"]],
"gluNurbsCurve" => ["long", ["ptr", "long", "ptr", "long", "ptr", "long", "long"]],
"gluNurbsProperty" => ["long", ["ptr", "long", "long"]],
"gluNurbsSurface" => ["long", ["ptr", "long", "ptr", "long", "ptr", "long", "long", "ptr", "long", "long", "long"]],
"gluOrtho2D" => ["long", ["double", "double", "double", "double"]],
"gluPartialDisk" => ["long", ["ptr", "double", "double", "long", "long", "double", "double"]],
"gluPerspective" => ["long", ["double", "double", "double", "double"]],
"gluPickMatrix" => ["long", ["double", "double", "double", "double", "ptr"]],
"gluProject" => ["long", ["double", "double", "double", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr"]],
"gluPwlCurve" => ["long", ["ptr", "long", "ptr", "long", "long"]],
"gluQuadricCallback" => ["long", ["ptr", "long", "ptr"]],
"gluQuadricDrawStyle" => ["long", ["ptr", "long"]],
"gluQuadricNormals" => ["long", ["ptr", "long"]],
"gluQuadricOrientation" => ["long", ["ptr", "long"]],
"gluQuadricTexture" => ["long", ["ptr", "long"]],
"gluScaleImage" => ["long", ["long", "long", "long", "long", "ptr", "long", "long", "long", "ptr"]],
"gluSphere" => ["long", ["ptr", "double", "long", "long"]],
"gluTessCallback" => ["long", ["ptr", "long", "ptr"]],
"gluTessVertex" => ["long", ["ptr", "ptr", "ptr"]],
"gluUnProject" => ["long", ["double", "double", "double", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr"]]
};
&wine::declare("glu32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package icmp;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"IcmpCloseHandle" => ["long", ["long"]],
"IcmpCreateFile" => ["long", []],
"IcmpSendEcho" => ["long", ["long", "long", "ptr", "long", "ptr", "ptr", "long", "long"]]
};
&wine::declare("icmp",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package imagehlp;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"BindImage" => ["long", ["str", "str", "str"]],
"BindImageEx" => ["long", ["long", "str", "str", "str", "ptr"]],
"CheckSumMappedFile" => ["ptr", ["ptr", "long", "ptr", "ptr"]],
"EnumerateLoadedModules" => ["long", ["long", "ptr", "ptr"]],
"FindDebugInfoFile" => ["long", ["str", "str", "str"]],
"FindExecutableImage" => ["long", ["str", "str", "str"]],
"GetImageConfigInformation" => ["long", ["ptr", "ptr"]],
"GetImageUnusedHeaderBytes" => ["long", ["ptr", "ptr"]],
"GetTimestampForLoadedLibrary" => ["long", ["long"]],
"ImageAddCertificate" => ["long", ["long", "ptr", "ptr"]],
"ImageDirectoryEntryToData" => ["ptr", ["ptr", "long", "long", "ptr"]],
"ImageEnumerateCertificates" => ["long", ["long", "long", "ptr", "ptr", "long"]],
"ImageGetCertificateData" => ["long", ["long", "long", "ptr", "ptr"]],
"ImageGetCertificateHeader" => ["long", ["long", "long", "ptr"]],
"ImageGetDigestStream" => ["long", ["long", "long", "ptr", "ptr"]],
"ImageLoad" => ["ptr", ["str", "str"]],
"ImageNtHeader" => ["ptr", ["ptr"]],
"ImageRemoveCertificate" => ["long", ["long", "long"]],
"ImageRvaToSection" => ["ptr", ["ptr", "ptr", "long"]],
"ImageRvaToVa" => ["ptr", ["ptr", "ptr", "long", "ptr"]],
"ImageUnload" => ["long", ["ptr"]],
"ImagehlpApiVersion" => ["ptr", ["undef"]],
"ImagehlpApiVersionEx" => ["ptr", ["ptr"]],
"MakeSureDirectoryPathExists" => ["long", ["str"]],
"MapAndLoad" => ["long", ["str", "str", "ptr", "long", "long"]],
"MapDebugInformation" => ["ptr", ["long", "str", "str", "long"]],
"MapFileAndCheckSumA" => ["long", ["str", "ptr", "ptr"]],
"MapFileAndCheckSumW" => ["long", ["wstr", "ptr", "ptr"]],
"ReBaseImage" => ["long", ["str", "str", "long", "long", "long", "long", "ptr", "ptr", "ptr", "ptr", "long"]],
"RemovePrivateCvSymbolic" => ["long", ["ptr", "ptr", "ptr"]],
"RemoveRelocations" => ["void", ["ptr"]],
"SearchTreeForFile" => ["long", ["str", "str", "str"]],
"SetImageConfigInformation" => ["long", ["ptr", "ptr"]],
"SplitSymbols" => ["long", ["str", "str", "str", "long"]],
"StackWalk" => ["long", ["long", "long", "long", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr"]],
"SymCleanup" => ["long", ["long"]],
"SymEnumerateModules" => ["long", ["long", "ptr", "ptr"]],
"SymEnumerateSymbols" => ["long", ["long", "long", "ptr", "ptr"]],
"SymFunctionTableAccess" => ["ptr", ["long", "long"]],
"SymGetModuleBase" => ["long", ["long", "long"]],
"SymGetModuleInfo" => ["long", ["long", "long", "ptr"]],
"SymGetOptions" => ["long", ["undef"]],
"SymGetSearchPath" => ["long", ["long", "str", "long"]],
"SymGetSymFromAddr" => ["long", ["long", "long", "ptr", "ptr"]],
"SymGetSymFromName" => ["long", ["long", "str", "ptr"]],
"SymGetSymNext" => ["long", ["long", "ptr"]],
"SymGetSymPrev" => ["long", ["long", "ptr"]],
"SymInitialize" => ["long", ["long", "str", "long"]],
"SymLoadModule" => ["long", ["long", "long", "str", "str", "long", "long"]],
"SymRegisterCallback" => ["long", ["long", "ptr", "ptr"]],
"SymSetOptions" => ["long", ["long"]],
"SymSetSearchPath" => ["long", ["long", "str"]],
"SymUnDName" => ["long", ["ptr", "str", "long"]],
"SymUnloadModule" => ["long", ["long", "long"]],
"TouchFileTimes" => ["long", ["long", "ptr"]],
"UnDecorateSymbolName" => ["long", ["str", "str", "long", "long"]],
"UnMapAndLoad" => ["long", ["ptr"]],
"UnmapDebugInformation" => ["long", ["ptr"]],
"UpdateDebugInfoFile" => ["long", ["str", "str", "str", "ptr"]],
"UpdateDebugInfoFileEx" => ["long", ["str", "str", "str", "ptr", "long"]]
};
&wine::declare("imagehlp",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package imm32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"ImmAssociateContext" => ["long", ["long", "long"]],
"ImmConfigureIMEA" => ["long", ["long", "long", "long", "ptr"]],
"ImmConfigureIMEW" => ["long", ["long", "long", "long", "ptr"]],
"ImmCreateContext" => ["long", ["undef"]],
"ImmDestroyContext" => ["long", ["long"]],
"ImmEnumRegisterWordA" => ["long", ["long", "ptr", "str", "long", "str", "ptr"]],
"ImmEnumRegisterWordW" => ["long", ["long", "ptr", "wstr", "long", "wstr", "ptr"]],
"ImmEscapeA" => ["long", ["long", "long", "long", "ptr"]],
"ImmEscapeW" => ["long", ["long", "long", "long", "ptr"]],
"ImmGetCandidateListA" => ["long", ["long", "long", "ptr", "long"]],
"ImmGetCandidateListCountA" => ["long", ["long", "ptr"]],
"ImmGetCandidateListCountW" => ["long", ["long", "ptr"]],
"ImmGetCandidateListW" => ["long", ["long", "long", "ptr", "long"]],
"ImmGetCandidateWindow" => ["long", ["long", "long", "ptr"]],
"ImmGetCompositionFontA" => ["long", ["long", "ptr"]],
"ImmGetCompositionFontW" => ["long", ["long", "ptr"]],
"ImmGetCompositionStringA" => ["long", ["long", "long", "ptr", "long"]],
"ImmGetCompositionStringW" => ["long", ["long", "long", "ptr", "long"]],
"ImmGetCompositionWindow" => ["long", ["long", "ptr"]],
"ImmGetContext" => ["long", ["long"]],
"ImmGetConversionListA" => ["long", ["long", "long", "str", "ptr", "long", "long"]],
"ImmGetConversionListW" => ["long", ["long", "long", "wstr", "ptr", "long", "long"]],
"ImmGetConversionStatus" => ["long", ["long", "ptr", "ptr"]],
"ImmGetDefaultIMEWnd" => ["long", ["long"]],
"ImmGetDescriptionA" => ["long", ["long", "str", "long"]],
"ImmGetDescriptionW" => ["long", ["long", "wstr", "long"]],
"ImmGetGuideLineA" => ["long", ["long", "long", "str", "long"]],
"ImmGetGuideLineW" => ["long", ["long", "long", "wstr", "long"]],
"ImmGetIMEFileNameA" => ["long", ["long", "str", "long"]],
"ImmGetIMEFileNameW" => ["long", ["long", "wstr", "long"]],
"ImmGetOpenStatus" => ["long", ["long"]],
"ImmGetProperty" => ["long", ["long", "long"]],
"ImmGetRegisterWordStyleA" => ["long", ["long", "long", "ptr"]],
"ImmGetRegisterWordStyleW" => ["long", ["long", "long", "ptr"]],
"ImmGetStatusWindowPos" => ["long", ["long", "ptr"]],
"ImmGetVirtualKey" => ["long", ["long"]],
"ImmInstallIMEA" => ["long", ["str", "str"]],
"ImmInstallIMEW" => ["long", ["wstr", "wstr"]],
"ImmIsIME" => ["long", ["long"]],
"ImmIsUIMessageA" => ["long", ["long", "long", "long", "long"]],
"ImmIsUIMessageW" => ["long", ["long", "long", "long", "long"]],
"ImmNotifyIME" => ["long", ["long", "long", "long", "long"]],
"ImmRegisterWordA" => ["long", ["long", "str", "long", "str"]],
"ImmRegisterWordW" => ["long", ["long", "wstr", "long", "wstr"]],
"ImmReleaseContext" => ["long", ["long", "long"]],
"ImmSetCandidateWindow" => ["long", ["long", "ptr"]],
"ImmSetCompositionFontA" => ["long", ["long", "ptr"]],
"ImmSetCompositionFontW" => ["long", ["long", "ptr"]],
"ImmSetCompositionStringA" => ["long", ["long", "long", "ptr", "long", "ptr", "long"]],
"ImmSetCompositionStringW" => ["long", ["long", "long", "ptr", "long", "ptr", "long"]],
"ImmSetCompositionWindow" => ["long", ["long", "ptr"]],
"ImmSetConversionStatus" => ["long", ["long", "long", "long"]],
"ImmSetOpenStatus" => ["long", ["long", "long"]],
"ImmSetStatusWindowPos" => ["long", ["long", "ptr"]],
"ImmSimulateHotKey" => ["long", ["long", "long"]],
"ImmUnregisterWordA" => ["long", ["long", "str", "long", "str"]],
"ImmUnregisterWordW" => ["long", ["long", "wstr", "long", "wstr"]]
};
&wine::declare("imm32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package joystick_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]]
};
&wine::declare("joystick.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package lz32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"CopyLZFile" => ["long", ["long", "long"]],
"GetExpandedNameA" => ["long", ["str", "str"]],
"GetExpandedNameW" => ["long", ["wstr", "wstr"]],
"LZClose" => ["void", ["long"]],
"LZCopy" => ["long", ["long", "long"]],
"LZDone" => ["void", []],
"LZInit" => ["long", ["long"]],
"LZOpenFileA" => ["long", ["str", "ptr", "long"]],
"LZOpenFileW" => ["long", ["wstr", "ptr", "long"]],
"LZRead" => ["long", ["long", "ptr", "long"]],
"LZSeek" => ["long", ["long", "long", "long"]],
"LZStart" => ["long", []]
};
&wine::declare("lz32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package mcianim_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]]
};
&wine::declare("mcianim.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package mciavi_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]]
};
&wine::declare("mciavi.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package mcicda_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]]
};
&wine::declare("mcicda.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package mciseq_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]]
};
&wine::declare("mciseq.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package mciwave_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]]
};
&wine::declare("mciwave.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package midimap_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]],
"modMessage" => ["long", ["long", "long", "long", "long", "long"]]
};
&wine::declare("midimap.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package mpr;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"MultinetGetConnectionPerformanceA" => ["long", ["ptr", "ptr"]],
"MultinetGetConnectionPerformanceW" => ["long", ["ptr", "ptr"]],
"MultinetGetErrorTextA" => ["long", ["long", "long", "long"]],
"MultinetGetErrorTextW" => ["long", ["long", "long", "long"]],
"NPSAuthenticationDialogA" => ["long", ["ptr"]],
"NPSCopyStringA" => ["long", ["str", "ptr", "ptr"]],
"NPSDeviceGetNumberA" => ["long", ["str", "ptr", "ptr"]],
"NPSDeviceGetStringA" => ["long", ["long", "long", "str", "ptr"]],
"NPSGetProviderHandleA" => ["long", ["ptr"]],
"NPSGetProviderNameA" => ["long", ["long", "ptr"]],
"NPSGetSectionNameA" => ["long", ["long", "ptr"]],
"NPSNotifyGetContextA" => ["ptr", ["ptr"]],
"NPSNotifyRegisterA" => ["long", ["long", "ptr"]],
"NPSSetCustomTextA" => ["void", ["str"]],
"NPSSetExtendedErrorA" => ["long", ["long", "str"]],
"WNetAddConnection2A" => ["long", ["ptr", "str", "str", "long"]],
"WNetAddConnection2W" => ["long", ["ptr", "wstr", "wstr", "long"]],
"WNetAddConnection3A" => ["long", ["long", "ptr", "str", "str", "long"]],
"WNetAddConnection3W" => ["long", ["long", "ptr", "wstr", "wstr", "long"]],
"WNetAddConnectionA" => ["long", ["str", "str", "str"]],
"WNetAddConnectionW" => ["long", ["wstr", "wstr", "wstr"]],
"WNetCachePassword" => ["long", ["str", "long", "str", "long", "long", "long"]],
"WNetCancelConnection2A" => ["long", ["str", "long", "long"]],
"WNetCancelConnection2W" => ["long", ["wstr", "long", "long"]],
"WNetCancelConnectionA" => ["long", ["str", "long"]],
"WNetCancelConnectionW" => ["long", ["wstr", "long"]],
"WNetCloseEnum" => ["long", ["long"]],
"WNetConnectionDialog" => ["long", ["long", "long"]],
"WNetConnectionDialog1A" => ["long", ["ptr"]],
"WNetConnectionDialog1W" => ["long", ["ptr"]],
"WNetDisconnectDialog" => ["long", ["long", "long"]],
"WNetDisconnectDialog1A" => ["long", ["ptr"]],
"WNetDisconnectDialog1W" => ["long", ["ptr"]],
"WNetEnumCachedPasswords" => ["long", ["str", "long", "long", "ptr", "long"]],
"WNetEnumResourceA" => ["long", ["long", "ptr", "ptr", "ptr"]],
"WNetEnumResourceW" => ["long", ["long", "ptr", "ptr", "ptr"]],
"WNetGetCachedPassword" => ["long", ["str", "long", "str", "ptr", "long"]],
"WNetGetConnectionA" => ["long", ["str", "str", "ptr"]],
"WNetGetConnectionW" => ["long", ["wstr", "wstr", "ptr"]],
"WNetGetLastErrorA" => ["long", ["ptr", "str", "long", "str", "long"]],
"WNetGetLastErrorW" => ["long", ["ptr", "wstr", "long", "wstr", "long"]],
"WNetGetNetworkInformationA" => ["long", ["str", "ptr"]],
"WNetGetNetworkInformationW" => ["long", ["wstr", "ptr"]],
"WNetGetProviderNameA" => ["long", ["long", "str", "ptr"]],
"WNetGetProviderNameW" => ["long", ["long", "wstr", "ptr"]],
"WNetGetResourceInformationA" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
"WNetGetResourceInformationW" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
"WNetGetResourceParentA" => ["long", ["ptr", "ptr", "ptr"]],
"WNetGetResourceParentW" => ["long", ["ptr", "ptr", "ptr"]],
"WNetGetUniversalNameA" => ["long", ["str", "long", "ptr", "ptr"]],
"WNetGetUniversalNameW" => ["long", ["wstr", "long", "ptr", "ptr"]],
"WNetGetUserA" => ["long", ["str", "str", "ptr"]],
"WNetGetUserW" => ["long", ["wstr", "wstr", "ptr"]],
"WNetLogoffA" => ["long", ["str", "long"]],
"WNetLogoffW" => ["long", ["wstr", "long"]],
"WNetLogonA" => ["long", ["str", "long"]],
"WNetLogonW" => ["long", ["wstr", "long"]],
"WNetOpenEnumA" => ["long", ["long", "long", "long", "ptr", "ptr"]],
"WNetOpenEnumW" => ["long", ["long", "long", "long", "ptr", "ptr"]],
"WNetRemoveCachedPassword" => ["long", ["str", "long", "long"]],
"WNetRestoreConnectionA" => ["long", ["long", "str"]],
"WNetRestoreConnectionW" => ["long", ["long", "wstr"]],
"WNetSetConnectionA" => ["long", ["str", "long", "ptr"]],
"WNetSetConnectionW" => ["long", ["wstr", "long", "ptr"]],
"WNetUseConnectionA" => ["long", ["long", "ptr", "str", "str", "long", "str", "ptr", "ptr"]],
"WNetUseConnectionW" => ["long", ["long", "ptr", "wstr", "wstr", "long", "wstr", "ptr", "ptr"]],
"WNetVerifyPasswordA" => ["long", ["str", "ptr"]],
"WNetVerifyPasswordW" => ["long", ["wstr", "ptr"]]
};
&wine::declare("mpr",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package msacm32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]],
"acmDriverAddA" => ["long", ["ptr", "long", "long", "long", "long"]],
"acmDriverAddW" => ["long", ["ptr", "long", "long", "long", "long"]],
"acmDriverClose" => ["long", ["long", "long"]],
"acmDriverDetailsA" => ["long", ["long", "ptr", "long"]],
"acmDriverDetailsW" => ["long", ["long", "ptr", "long"]],
"acmDriverEnum" => ["long", ["ptr", "long", "long"]],
"acmDriverID" => ["long", ["long", "ptr", "long"]],
"acmDriverMessage" => ["long", ["long", "long", "long", "long"]],
"acmDriverOpen" => ["long", ["ptr", "long", "long"]],
"acmDriverPriority" => ["long", ["long", "long", "long"]],
"acmDriverRemove" => ["long", ["long", "long"]],
"acmFilterChooseA" => ["long", ["ptr"]],
"acmFilterChooseW" => ["long", ["ptr"]],
"acmFilterDetailsA" => ["long", ["long", "ptr", "long"]],
"acmFilterDetailsW" => ["long", ["long", "ptr", "long"]],
"acmFilterEnumA" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"acmFilterEnumW" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"acmFilterTagDetailsA" => ["long", ["long", "ptr", "long"]],
"acmFilterTagDetailsW" => ["long", ["long", "ptr", "long"]],
"acmFilterTagEnumA" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"acmFilterTagEnumW" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"acmFormatChooseA" => ["long", ["ptr"]],
"acmFormatChooseW" => ["long", ["ptr"]],
"acmFormatDetailsA" => ["long", ["long", "ptr", "long"]],
"acmFormatDetailsW" => ["long", ["long", "ptr", "long"]],
"acmFormatEnumA" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"acmFormatEnumW" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"acmFormatSuggest" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"acmFormatTagDetailsA" => ["long", ["long", "ptr", "long"]],
"acmFormatTagDetailsW" => ["long", ["long", "ptr", "long"]],
"acmFormatTagEnumA" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"acmFormatTagEnumW" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"acmGetVersion" => ["long", []],
"acmMetrics" => ["long", ["long", "long", "ptr"]],
"acmStreamClose" => ["long", ["long", "long"]],
"acmStreamConvert" => ["long", ["long", "ptr", "long"]],
"acmStreamMessage" => ["long", ["long", "long", "long", "long"]],
"acmStreamOpen" => ["long", ["ptr", "long", "ptr", "ptr", "ptr", "long", "long", "long"]],
"acmStreamPrepareHeader" => ["long", ["long", "ptr", "long"]],
"acmStreamReset" => ["long", ["long", "long"]],
"acmStreamSize" => ["long", ["long", "long", "ptr", "long"]],
"acmStreamUnprepareHeader" => ["long", ["long", "ptr", "long"]]
};
&wine::declare("msacm32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package msacm_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]],
"widMessage" => ["long", ["long", "long", "long", "long", "long"]],
"wodMessage" => ["long", ["long", "long", "long", "long", "long"]]
};
&wine::declare("msacm.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package msimg32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"AlphaBlend" => ["long", ["long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
"GradientFill" => ["long", ["long", "ptr", "long", "ptr", "long", "long"]],
"TransparentBlt" => ["long", ["long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "long"]],
"vSetDdrawflag" => ["void", []]
};
&wine::declare("msimg32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package msisys_ocx;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DllCanUnloadNow" => ["long", []],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
"DllRegisterServer" => ["long", []],
"DllUnregisterServer" => ["long", []]
};
&wine::declare("msisys.ocx",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package msvcrt;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"\?\?8type_info\@\@QBEHABV0\@\@Z" => ["long", ["ptr", "ptr"]],
"\?\?9type_info\@\@QBEHABV0\@\@Z" => ["long", ["ptr", "ptr"]],
"\?name\@type_info\@\@QBEPBDXZ" => ["ptr", ["ptr"]],
"\?raw_name\@type_info\@\@QBEPBDXZ" => ["ptr", ["ptr"]]
};
&wine::declare("msvcrt",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package msvfw32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"VideoForWindowsVersion" => ["long", []],
"DrawDibBegin" => ["long", ["long", "long", "long", "long", "ptr", "long", "long", "long"]],
"DrawDibClose" => ["long", ["long"]],
"DrawDibDraw" => ["long", ["long", "long", "long", "long", "long", "long", "ptr", "ptr", "long", "long", "long", "long", "long"]],
"DrawDibEnd" => ["long", ["long"]],
"DrawDibGetPalette" => ["long", ["long"]],
"DrawDibOpen" => ["long", []],
"DrawDibRealize" => ["long", ["long", "long", "long"]],
"DrawDibSetPalette" => ["long", ["long", "long"]],
"DrawDibStart" => ["long", ["long", "long"]],
"DrawDibStop" => ["long", ["long"]],
"ICClose" => ["long", ["long"]],
"ICGetDisplayFormat" => ["long", ["long", "ptr", "ptr", "long", "long", "long"]],
"ICGetInfo" => ["long", ["long", "ptr", "long"]],
"ICImageCompress" => ["long", ["long", "long", "ptr", "ptr", "ptr", "long", "ptr"]],
"ICImageDecompress" => ["long", ["long", "long", "ptr", "ptr", "ptr"]],
"ICInfo" => ["long", ["long", "long", "ptr"]],
"ICLocate" => ["long", ["long", "long", "ptr", "ptr", "long"]],
"ICOpenFunction" => ["long", ["long", "long", "long", "ptr"]],
"ICSendMessage" => ["long", ["long", "long", "long", "long"]],
"MCIWndRegisterClass" => ["long", ["long"]]
};
&wine::declare("msvfw32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package odbc32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"SQLAllocConnect" => ["long", ["long", "ptr"]],
"SQLAllocEnv" => ["long", ["ptr"]],
"SQLAllocStmt" => ["long", ["long", "ptr"]],
"SQLBindCol" => ["long", ["long", "long", "long", "ptr", "long", "ptr"]],
"SQLCancel" => ["long", ["long"]],
"SQLColAttributes" => ["long", ["long", "long", "long", "ptr", "long", "ptr", "ptr"]],
"SQLConnect" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"SQLDescribeCol" => ["long", ["long", "long", "ptr", "long", "ptr", "ptr", "ptr", "ptr", "ptr"]],
"SQLDisconnect" => ["long", ["long"]],
"SQLError" => ["long", ["long", "long", "long", "ptr", "ptr", "ptr", "long", "ptr"]],
"SQLExecDirect" => ["long", ["long", "ptr", "long"]],
"SQLExecute" => ["long", ["long"]],
"SQLFetch" => ["long", ["long"]],
"SQLFreeConnect" => ["long", ["long"]],
"SQLFreeEnv" => ["long", ["long"]],
"SQLFreeStmt" => ["long", ["long", "long"]],
"SQLGetCursorName" => ["long", ["long", "ptr", "long", "ptr"]],
"SQLNumResultCols" => ["long", ["long", "ptr"]],
"SQLPrepare" => ["long", ["long", "ptr", "long"]],
"SQLRowCount" => ["long", ["long", "ptr"]],
"SQLSetCursorName" => ["long", ["long", "ptr", "long"]],
"SQLSetParam" => ["long", ["long", "long", "long", "long", "long", "long", "ptr", "ptr"]],
"SQLTransact" => ["long", ["long", "long", "long"]],
"SQLAllocHandle" => ["long", ["long", "long", "ptr"]],
"SQLBindParam" => ["long", ["long", "long", "long", "long", "long", "long", "ptr", "ptr"]],
"SQLCloseCursor" => ["long", ["long"]],
"SQLColAttribute" => ["long", ["long", "long", "long", "ptr", "long", "ptr", "ptr"]],
"SQLCopyDesc" => ["long", ["long", "long"]],
"SQLEndTran" => ["long", ["long", "long", "long"]],
"SQLFetchScroll" => ["long", ["long", "long", "long"]],
"SQLFreeHandle" => ["long", ["long", "long"]],
"SQLGetConnectAttr" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"SQLGetDescField" => ["long", ["long", "long", "long", "ptr", "long", "ptr"]],
"SQLGetDescRec" => ["long", ["long", "long", "ptr", "long", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr"]],
"SQLGetDiagField" => ["long", ["long", "long", "long", "long", "ptr", "long", "ptr"]],
"SQLGetDiagRec" => ["long", ["long", "long", "long", "ptr", "ptr", "ptr", "long", "ptr"]],
"SQLGetEnvAttr" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"SQLGetStmtAttr" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"SQLSetConnectAttr" => ["long", ["long", "long", "ptr", "long"]],
"SQLColumns" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"SQLDriverConnect" => ["long", ["long", "long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"SQLGetConnectOption" => ["long", ["long", "long", "ptr"]],
"SQLGetData" => ["long", ["long", "long", "long", "ptr", "long", "ptr"]],
"SQLGetFunctions" => ["long", ["long", "long", "ptr"]],
"SQLGetInfo" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"SQLGetStmtOption" => ["long", ["long", "long", "ptr"]],
"SQLGetTypeInfo" => ["long", ["long", "long"]],
"SQLParamData" => ["long", ["long", "ptr"]],
"SQLPutData" => ["long", ["long", "ptr", "long"]],
"SQLSetConnectOption" => ["long", ["long", "long", "long"]],
"SQLSetStmtOption" => ["long", ["long", "long", "long"]],
"SQLSpecialColumns" => ["long", ["long", "long", "ptr", "long", "ptr", "long", "ptr", "long", "long", "long"]],
"SQLStatistics" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long", "long", "long"]],
"SQLTables" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"SQLBrowseConnect" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr"]],
"SQLColumnPrivileges" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"SQLDataSources" => ["long", ["long", "long", "ptr", "long", "ptr", "ptr", "long", "ptr"]],
"SQLDescribeParam" => ["long", ["long", "long", "ptr", "ptr", "ptr", "ptr"]],
"SQLExtendedFetch" => ["long", ["long", "long", "long", "ptr", "ptr"]],
"SQLForeignKeys" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"SQLMoreResults" => ["long", ["long"]],
"SQLNativeSql" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr"]],
"SQLNumParams" => ["long", ["long", "ptr"]],
"SQLParamOptions" => ["long", ["long", "long", "ptr"]],
"SQLPrimaryKeys" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"SQLProcedureColumns" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"SQLProcedures" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"SQLSetPos" => ["long", ["long", "long", "long", "long"]],
"SQLSetScrollOptions" => ["long", ["long", "long", "long", "long"]],
"SQLTablePrivileges" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"SQLDrivers" => ["long", ["long", "long", "ptr", "long", "ptr", "ptr", "long", "ptr"]],
"SQLBindParameter" => ["long", ["long", "long", "long", "long", "long", "long", "long", "ptr", "long", "ptr"]],
"SQLSetDescField" => ["long", ["long", "long", "long", "ptr", "long"]],
"SQLSetDescRec" => ["long", ["long", "long", "long", "long", "long", "long", "long", "ptr", "ptr", "ptr"]],
"SQLSetEnvAttr" => ["long", ["long", "long", "ptr", "long"]],
"SQLSetStmtAttr" => ["long", ["long", "long", "ptr", "long"]],
"SQLAllocHandleStd" => ["long", ["long", "long", "ptr"]],
"SQLBulkOperations" => ["long", ["long", "long"]]
};
&wine::declare("odbc32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package ole32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"CLSIDFromProgID" => ["long", ["str", "ptr"]],
"CLSIDFromString" => ["long", ["str", "ptr"]],
"CoBuildVersion" => ["long", []],
"CoCreateFreeThreadedMarshaler" => ["long", ["ptr", "ptr"]],
"CoCreateGuid" => ["long", ["ptr"]],
"CoCreateInstance" => ["long", ["ptr", "ptr", "long", "ptr", "ptr"]],
"CoDisconnectObject" => ["long", ["ptr", "long"]],
"CoFileTimeNow" => ["long", ["ptr"]],
"CoFreeAllLibraries" => ["void", []],
"CoFreeLibrary" => ["void", ["long"]],
"CoFreeUnusedLibraries" => ["void", []],
"CoGetClassObject" => ["long", ["ptr", "long", "ptr", "ptr", "ptr"]],
"CoGetCurrentProcess" => ["long", []],
"CoGetMalloc" => ["long", ["long", "ptr"]],
"CoGetMarshalSizeMax" => ["long", ["ptr", "ptr", "ptr", "long", "ptr", "long"]],
"CoGetPSClsid" => ["long", ["ptr", "ptr"]],
"CoGetStandardMarshal" => ["long", ["ptr", "ptr", "long", "ptr", "long", "ptr"]],
"CoGetState" => ["long", ["ptr"]],
"CoInitialize" => ["long", ["ptr"]],
"CoInitializeWOW" => ["long", ["long", "long"]],
"CoIsOle1Class" => ["long", ["ptr"]],
"CoLoadLibrary" => ["long", ["str", "long"]],
"CoLockObjectExternal" => ["long", ["ptr", "long", "long"]],
"CoMarshalInterThreadInterfaceInStream" => ["long", ["ptr", "ptr", "ptr"]],
"CoMarshalInterface" => ["long", ["ptr", "ptr", "ptr", "long", "ptr", "long"]],
"CoRegisterClassObject" => ["long", ["ptr", "ptr", "long", "long", "ptr"]],
"CoRegisterMallocSpy" => ["long", ["ptr"]],
"CoRegisterMessageFilter" => ["long", ["ptr", "ptr"]],
"CoRevokeClassObject" => ["long", ["long"]],
"CoRevokeMallocSpy" => ["long", []],
"CoSetState" => ["long", ["ptr"]],
"CoTaskMemAlloc" => ["ptr", ["long"]],
"CoTaskMemFree" => ["void", ["ptr"]],
"CoTaskMemRealloc" => ["ptr", ["ptr", "long"]],
"CoTreatAsClass" => ["long", ["ptr", "ptr"]],
"CoUninitialize" => ["void", []],
"CoUnmarshalInterface" => ["long", ["ptr", "ptr", "ptr"]],
"CreateAntiMoniker" => ["long", ["ptr"]],
"CreateBindCtx" => ["long", ["long", "ptr"]],
"CreateDataAdviseHolder" => ["long", ["ptr"]],
"CreateDataCache" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
"CreateFileMoniker" => ["long", ["str", "ptr"]],
"CreateGenericComposite" => ["long", ["ptr", "ptr", "ptr"]],
"CreateILockBytesOnHGlobal" => ["long", ["long", "long", "ptr"]],
"CreateItemMoniker" => ["long", ["str", "str", "ptr"]],
"CreateOleAdviseHolder" => ["long", ["ptr"]],
"CreateStreamOnHGlobal" => ["long", ["long", "long", "ptr"]],
"DllDebugObjectRPCHook" => ["long", ["long", "ptr"]],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
"DoDragDrop" => ["long", ["ptr", "ptr", "long", "ptr"]],
"GetClassFile" => ["long", ["str", "ptr"]],
"GetConvertStg" => ["long", ["ptr"]],
"GetHGlobalFromILockBytes" => ["long", ["ptr", "ptr"]],
"GetHGlobalFromStream" => ["long", ["ptr", "ptr"]],
"GetRunningObjectTable" => ["long", ["long", "ptr"]],
"IIDFromString" => ["long", ["str", "ptr"]],
"IsAccelerator" => ["long", ["long", "long", "ptr", "ptr"]],
"IsEqualGUID" => ["long", ["ptr", "ptr"]],
"IsValidInterface" => ["long", ["ptr"]],
"MkParseDisplayName" => ["long", ["ptr", "str", "ptr", "ptr"]],
"MonikerCommonPrefixWith" => ["long", ["ptr", "ptr", "ptr"]],
"OleBuildVersion" => ["long", []],
"OleConvertIStorageToOLESTREAM" => ["long", ["ptr", "ptr"]],
"OleConvertOLESTREAMToIStorage" => ["long", ["ptr", "ptr", "ptr"]],
"OleCreate" => ["long", ["ptr", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
"OleCreateDefaultHandler" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
"OleCreateFromData" => ["long", ["ptr", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
"OleCreateFromFile" => ["long", ["ptr", "str", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
"OleCreateLink" => ["long", ["ptr", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
"OleCreateLinkFromData" => ["long", ["ptr", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
"OleCreateLinkToFile" => ["long", ["str", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
"OleCreateMenuDescriptor" => ["long", ["long", "ptr"]],
"OleCreateStaticFromData" => ["long", ["ptr", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
"OleDestroyMenuDescriptor" => ["long", ["long"]],
"OleDuplicateData" => ["long", ["long", "long", "long"]],
"OleFlushClipboard" => ["long", ["undef"]],
"OleGetAutoConvert" => ["long", ["ptr", "ptr"]],
"OleGetClipboard" => ["long", ["ptr"]],
"OleGetIconOfClass" => ["long", ["ptr", "str", "long"]],
"OleInitialize" => ["long", ["ptr"]],
"OleInitializeWOW" => ["long", ["long"]],
"OleIsCurrentClipboard" => ["long", ["ptr"]],
"OleIsRunning" => ["long", ["ptr"]],
"OleLoad" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
"OleLoadFromStream" => ["long", ["ptr", "ptr", "ptr"]],
"OleLockRunning" => ["long", ["ptr", "long", "long"]],
"OleQueryCreateFromData" => ["long", ["ptr"]],
"OleQueryLinkFromData" => ["long", ["ptr"]],
"OleRegEnumFormatEtc" => ["long", ["ptr", "long", "ptr"]],
"OleRegEnumVerbs" => ["long", ["ptr", "ptr"]],
"OleRegGetMiscStatus" => ["long", ["ptr", "long", "ptr"]],
"OleRegGetUserType" => ["long", ["ptr", "long", "ptr"]],
"OleRun" => ["long", ["ptr"]],
"OleSave" => ["long", ["ptr", "ptr", "long"]],
"OleSaveToStream" => ["long", ["ptr", "ptr"]],
"OleSetAutoConvert" => ["long", ["ptr", "ptr"]],
"OleSetClipboard" => ["long", ["ptr"]],
"OleSetContainedObject" => ["long", ["ptr", "long"]],
"OleSetMenuDescriptor" => ["long", ["long", "long", "long", "ptr", "ptr"]],
"OleTranslateAccelerator" => ["long", ["ptr", "ptr", "ptr"]],
"OleUninitialize" => ["void", []],
"ProgIDFromCLSID" => ["long", ["ptr", "ptr"]],
"ReadClassStg" => ["long", ["ptr", "ptr"]],
"ReadClassStm" => ["long", ["ptr", "ptr"]],
"ReadFmtUserTypeStg" => ["long", ["ptr", "ptr", "ptr"]],
"RegisterDragDrop" => ["long", ["long", "ptr"]],
"ReleaseStgMedium" => ["void", ["ptr"]],
"RevokeDragDrop" => ["long", ["long"]],
"SetConvertStg" => ["long", ["ptr", "long"]],
"StgCreateDocfile" => ["long", ["str", "long", "long", "ptr"]],
"StgCreateDocfileOnILockBytes" => ["long", ["ptr", "long", "long", "ptr"]],
"StgIsStorageFile" => ["long", ["str"]],
"StgIsStorageILockBytes" => ["long", ["ptr"]],
"StgOpenStorage" => ["long", ["ptr", "ptr", "long", "ptr", "long", "ptr"]],
"StgOpenStorageOnILockBytes" => ["long", ["ptr", "ptr", "long", "ptr", "long", "ptr"]],
"StgSetTimes" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
"StringFromCLSID" => ["long", ["ptr", "ptr"]],
"StringFromGUID2" => ["long", ["ptr", "str", "long"]],
"StringFromIID" => ["long", ["ptr", "ptr"]],
"WriteClassStg" => ["long", ["ptr", "ptr"]],
"WriteClassStm" => ["long", ["ptr", "ptr"]],
"WriteFmtUserTypeStg" => ["long", ["ptr", "long", "str"]],
"CoInitializeEx" => ["long", ["ptr", "long"]],
"CoInitializeSecurity" => ["long", ["ptr", "long", "ptr", "ptr", "long", "long", "ptr", "long", "ptr"]],
"CoCreateInstanceEx" => ["long", ["ptr", "ptr", "long", "ptr", "long", "ptr"]],
"PropVariantClear" => ["long", ["ptr"]],
"CoResumeClassObjects" => ["long", []],
"CreateErrorInfo" => ["long", ["ptr"]],
"DllRegisterServer" => ["long", ["undef"]],
"FreePropVariantArray" => ["long", ["long", "ptr"]],
"GetErrorInfo" => ["long", ["long", "ptr"]],
"PropVariantCopy" => ["long", ["ptr", "ptr"]],
"SetErrorInfo" => ["long", ["long", "ptr"]],
"DllEntryPoint" => ["long", ["long", "long", "ptr"]]
};
&wine::declare("ole32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package olecli32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"OleQueryLinkFromClip" => ["long", ["str", "long", "long"]],
"OleQueryCreateFromClip" => ["long", ["str", "long", "long"]],
"OleCreateLinkFromClip" => ["long", ["str", "ptr", "long", "str", "ptr", "long", "long"]],
"OleCreateFromClip" => ["long", ["str", "ptr", "long", "str", "ptr", "long", "long"]],
"OleQueryType" => ["long", ["ptr", "ptr"]],
"OleSetHostNames" => ["long", ["ptr", "str", "str"]],
"OleRegisterClientDoc" => ["long", ["str", "str", "long", "ptr"]],
"OleRevokeClientDoc" => ["long", ["long"]],
"OleRenameClientDoc" => ["long", ["long", "str"]],
"OleSavedClientDoc" => ["long", ["long"]],
"OleIsDcMeta" => ["long", ["long"]]
};
&wine::declare("olecli32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package oledlg;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"OleUIAddVerbMenuA" => ["long", ["ptr", "str", "long", "long", "long", "long", "long", "long", "ptr"]],
"OleUICanConvertOrActivateAs" => ["long", ["ptr", "long", "long"]],
"OleUIInsertObjectA" => ["long", ["ptr"]],
"OleUIPasteSpecialA" => ["long", ["ptr"]],
"OleUIEditLinksA" => ["long", ["ptr"]],
"OleUIChangeIconA" => ["long", ["ptr"]],
"OleUIConvertA" => ["long", ["ptr"]],
"OleUIBusyA" => ["long", ["ptr"]],
"OleUIUpdateLinksA" => ["long", ["ptr", "long", "str", "long"]],
"OleUIObjectPropertiesA" => ["long", ["ptr"]],
"OleUIChangeSourceA" => ["long", ["ptr"]],
"OleUIAddVerbMenuW" => ["long", ["ptr", "wstr", "long", "long", "long", "long", "long", "long", "ptr"]],
"OleUIBusyW" => ["long", ["ptr"]],
"OleUIChangeIconW" => ["long", ["ptr"]],
"OleUIChangeSourceW" => ["long", ["ptr"]],
"OleUIConvertW" => ["long", ["ptr"]],
"OleUIEditLinksW" => ["long", ["ptr"]],
"OleUIInsertObjectW" => ["long", ["ptr"]],
"OleUIObjectPropertiesW" => ["long", ["ptr"]],
"OleUIPasteSpecialW" => ["long", ["ptr"]],
"OleUIUpdateLinksW" => ["long", ["ptr", "long", "wstr", "long"]]
};
&wine::declare("oledlg",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package olepro32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DllCanUnloadNow" => ["long", ["undef"]],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
"DllRegisterServer" => ["long", ["undef"]],
"DllUnregisterServer" => ["long", ["undef"]]
};
&wine::declare("olepro32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package olesvr32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"OleRegisterServer" => ["long", ["str", "ptr", "ptr", "long", "long"]],
"OleBlockServer" => ["long", ["long"]],
"OleUnblockServer" => ["long", ["long", "ptr"]],
"OleRegisterServerDoc" => ["long", ["long", "str", "ptr", "ptr"]],
"OleRevokeServerDoc" => ["long", ["long"]],
"OleRenameServerDoc" => ["long", ["long", "str"]]
};
&wine::declare("olesvr32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package psapi;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"QueryWorkingSet" => ["long", ["long", "ptr", "long"]],
"EmptyWorkingSet" => ["long", ["long"]],
"EnumDeviceDrivers" => ["long", ["ptr", "long", "ptr"]],
"EnumProcessModules" => ["long", ["long", "ptr", "long", "ptr"]],
"EnumProcesses" => ["long", ["ptr", "long", "ptr"]],
"GetDeviceDriverBaseNameA" => ["long", ["ptr", "str", "long"]],
"GetDeviceDriverBaseNameW" => ["long", ["ptr", "wstr", "long"]],
"GetDeviceDriverFileNameA" => ["long", ["ptr", "str", "long"]],
"GetDeviceDriverFileNameW" => ["long", ["ptr", "wstr", "long"]],
"GetMappedFileNameA" => ["long", ["long", "ptr", "str", "long"]],
"GetMappedFileNameW" => ["long", ["long", "ptr", "wstr", "long"]],
"GetModuleBaseNameA" => ["long", ["long", "long", "str", "long"]],
"GetModuleBaseNameW" => ["long", ["long", "long", "wstr", "long"]],
"GetModuleFileNameExA" => ["long", ["long", "long", "str", "long"]],
"GetModuleFileNameExW" => ["long", ["long", "long", "wstr", "long"]],
"GetModuleInformation" => ["long", ["long", "long", "ptr", "long"]],
"GetProcessMemoryInfo" => ["long", ["long", "ptr", "long"]],
"GetWsChanges" => ["long", ["long", "ptr", "long"]],
"InitializeProcessForWsWatch" => ["long", ["long"]]
};
&wine::declare("psapi",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package quartz;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"AMGetErrorTextA" => ["long", ["long", "str", "long"]],
"AMGetErrorTextW" => ["long", ["long", "wstr", "long"]],
"AmpFactorToDB" => ["long", ["long"]],
"DBToAmpFactor" => ["long", ["long"]],
"DllCanUnloadNow" => ["long", []],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
"DllRegisterServer" => ["long", []],
"DllUnregisterServer" => ["long", []]
};
&wine::declare("quartz",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package rasapi32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"RasDeleteEntryA" => ["long", ["str", "str"]],
"RasDeleteEntryW" => ["long", ["wstr", "wstr"]],
"RasEnumAutodialAddressesA" => ["long", ["ptr", "ptr", "ptr"]],
"RasEnumAutodialAddressesW" => ["long", ["ptr", "ptr", "ptr"]],
"RasEnumDevicesA" => ["long", ["ptr", "ptr", "ptr"]],
"RasEnumDevicesW" => ["long", ["ptr", "ptr", "ptr"]],
"RasGetAutodialAddressA" => ["long", ["str", "ptr", "ptr", "ptr", "ptr"]],
"RasGetAutodialAddressW" => ["long", ["wstr", "ptr", "ptr", "ptr", "ptr"]],
"RasGetAutodialEnableA" => ["long", ["long", "ptr"]],
"RasGetAutodialEnableW" => ["long", ["long", "ptr"]],
"RasGetAutodialParamA" => ["long", ["long", "ptr", "ptr"]],
"RasGetAutodialParamW" => ["long", ["long", "ptr", "ptr"]],
"RasSetAutodialAddressA" => ["long", ["str", "long", "ptr", "long", "long"]],
"RasSetAutodialAddressW" => ["long", ["wstr", "long", "ptr", "long", "long"]],
"RasSetAutodialEnableA" => ["long", ["long", "long"]],
"RasSetAutodialEnableW" => ["long", ["long", "long"]],
"RasSetAutodialParamA" => ["long", ["long", "ptr", "long"]],
"RasSetAutodialParamW" => ["long", ["long", "ptr", "long"]],
"RasEnumConnectionsA" => ["long", ["ptr", "ptr", "ptr"]],
"RasEnumEntriesA" => ["long", ["str", "str", "ptr", "ptr", "ptr"]],
"RasGetEntryDialParamsA" => ["long", ["str", "ptr", "ptr"]],
"RasHangUpA" => ["long", ["long"]]
};
&wine::declare("rasapi32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package riched32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DllGetVersion" => ["long", ["ptr"]]
};
&wine::declare("riched32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package rpcrt4;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DllRegisterServer" => ["long", []],
"NdrDllCanUnloadNow" => ["long", ["ptr"]],
"NdrDllGetClassObject" => ["long", ["ptr", "ptr", "ptr", "ptr", "ptr", "ptr"]],
"NdrDllRegisterProxy" => ["long", ["long", "ptr", "ptr"]],
"RpcBindingFree" => ["long", ["ptr"]],
"RpcBindingFromStringBindingA" => ["long", ["str", "ptr"]],
"RpcBindingFromStringBindingW" => ["long", ["wstr", "ptr"]],
"RpcServerListen" => ["long", ["long", "long", "long"]],
"RpcServerRegisterAuthInfoA" => ["long", ["str", "long", "ptr", "ptr"]],
"RpcServerRegisterAuthInfoW" => ["long", ["wstr", "long", "ptr", "ptr"]],
"RpcServerRegisterIf" => ["long", ["long", "ptr", "ptr"]],
"RpcServerRegisterIf2" => ["long", ["long", "ptr", "ptr", "long", "long", "long", "ptr"]],
"RpcServerRegisterIfEx" => ["long", ["long", "ptr", "ptr", "long", "long", "ptr"]],
"RpcServerUseProtseqEpA" => ["long", ["str", "long", "str", "ptr"]],
"RpcServerUseProtseqEpExA" => ["long", ["str", "long", "str", "ptr", "ptr"]],
"RpcServerUseProtseqEpExW" => ["long", ["wstr", "long", "wstr", "ptr", "ptr"]],
"RpcServerUseProtseqEpW" => ["long", ["wstr", "long", "wstr", "ptr"]],
"RpcStringBindingComposeA" => ["long", ["str", "str", "str", "str", "str", "ptr"]],
"RpcStringBindingComposeW" => ["long", ["wstr", "wstr", "wstr", "wstr", "wstr", "ptr"]],
"RpcStringFreeA" => ["long", ["ptr"]],
"UuidCreate" => ["long", ["ptr"]],
"UuidCreateSequential" => ["long", ["ptr"]],
"UuidFromStringA" => ["long", ["str", "ptr"]],
"UuidFromStringW" => ["long", ["wstr", "ptr"]],
"UuidHash" => ["long", ["ptr", "ptr"]],
"UuidToStringA" => ["long", ["ptr", "ptr"]]
};
&wine::declare("rpcrt4",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package serialui;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"EnumPropPages" => ["long", ["ptr", "ptr", "long"]],
"drvCommConfigDialog" => ["long", ["str", "long", "ptr"]],
"drvSetDefaultCommConfig" => ["long", ["str", "ptr", "long"]],
"drvGetDefaultCommConfig" => ["long", ["str", "ptr", "ptr"]]
};
&wine::declare("serialui",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package setupapi;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"SetupCloseFileQueue" => ["long", ["long"]],
"SetupCloseInfFile" => ["void", ["long"]],
"SetupCommitFileQueueA" => ["long", ["long", "long", "ptr", "ptr"]],
"SetupCommitFileQueueW" => ["long", ["long", "long", "ptr", "ptr"]],
"SetupDefaultQueueCallbackA" => ["long", ["ptr", "long", "long", "long"]],
"SetupDefaultQueueCallbackW" => ["long", ["ptr", "long", "long", "long"]],
"SetupDiDestroyDeviceInfoList" => ["long", ["long"]],
"SetupDiEnumDeviceInfo" => ["long", ["long", "long", "ptr"]],
"SetupDiEnumDeviceInterfaces" => ["long", ["long", "ptr", "ptr", "long", "ptr"]],
"SetupDiGetClassDevsA" => ["long", ["ptr", "str", "long", "long"]],
"SetupDiGetDeviceInterfaceDetailA" => ["long", ["long", "ptr", "ptr", "long", "ptr", "ptr"]],
"SetupDiGetDeviceInterfaceDetailW" => ["long", ["long", "ptr", "ptr", "long", "ptr", "ptr"]],
"SetupDiGetDeviceRegistryPropertyA" => ["long", ["long", "ptr", "long", "ptr", "ptr", "long", "ptr"]],
"SetupFindFirstLineA" => ["long", ["long", "str", "str", "ptr"]],
"SetupFindFirstLineW" => ["long", ["long", "str", "str", "ptr"]],
"SetupFindNextLine" => ["long", ["ptr", "ptr"]],
"SetupFindNextMatchLineA" => ["long", ["ptr", "str", "ptr"]],
"SetupFindNextMatchLineW" => ["long", ["ptr", "str", "ptr"]],
"SetupGetBinaryField" => ["long", ["ptr", "long", "ptr", "long", "ptr"]],
"SetupGetFieldCount" => ["long", ["ptr"]],
"SetupGetFileQueueCount" => ["long", ["long", "long", "ptr"]],
"SetupGetFileQueueFlags" => ["long", ["long", "ptr"]],
"SetupGetIntField" => ["long", ["ptr", "long", "ptr"]],
"SetupGetLineByIndexA" => ["long", ["long", "str", "long", "ptr"]],
"SetupGetLineByIndexW" => ["long", ["long", "str", "long", "ptr"]],
"SetupGetLineCountA" => ["long", ["long", "str"]],
"SetupGetLineCountW" => ["long", ["long", "str"]],
"SetupGetLineTextA" => ["long", ["ptr", "long", "str", "str", "ptr", "long", "ptr"]],
"SetupGetLineTextW" => ["long", ["ptr", "long", "str", "str", "str", "long", "ptr"]],
"SetupGetMultiSzFieldA" => ["long", ["ptr", "long", "ptr", "long", "ptr"]],
"SetupGetMultiSzFieldW" => ["long", ["ptr", "long", "str", "long", "ptr"]],
"SetupGetStringFieldA" => ["long", ["ptr", "long", "ptr", "long", "ptr"]],
"SetupGetStringFieldW" => ["long", ["ptr", "long", "str", "long", "ptr"]],
"SetupInitDefaultQueueCallback" => ["ptr", ["long"]],
"SetupInitDefaultQueueCallbackEx" => ["ptr", ["long", "long", "long", "long", "ptr"]],
"SetupInstallFilesFromInfSectionA" => ["long", ["long", "long", "long", "str", "str", "long"]],
"SetupInstallFilesFromInfSectionW" => ["long", ["long", "long", "long", "str", "str", "long"]],
"SetupInstallFromInfSectionA" => ["long", ["long", "long", "str", "long", "long", "str", "long", "ptr", "ptr", "long", "ptr"]],
"SetupInstallFromInfSectionW" => ["long", ["long", "long", "str", "long", "long", "str", "long", "ptr", "ptr", "long", "ptr"]],
"SetupIterateCabinetA" => ["long", ["str", "long", "ptr", "ptr"]],
"SetupIterateCabinetW" => ["long", ["str", "long", "ptr", "ptr"]],
"SetupOpenAppendInfFileA" => ["long", ["str", "long", "ptr"]],
"SetupOpenAppendInfFileW" => ["long", ["str", "long", "ptr"]],
"SetupOpenFileQueue" => ["long", []],
"SetupOpenInfFileA" => ["long", ["str", "str", "long", "ptr"]],
"SetupOpenInfFileW" => ["long", ["str", "str", "long", "ptr"]],
"SetupQueueCopyA" => ["long", ["long", "str", "str", "str", "str", "str", "str", "str", "long"]],
"SetupQueueCopyIndirectA" => ["long", ["ptr"]],
"SetupQueueCopyIndirectW" => ["long", ["ptr"]],
"SetupQueueCopySectionA" => ["long", ["long", "str", "long", "long", "str", "long"]],
"SetupQueueCopySectionW" => ["long", ["long", "str", "long", "long", "str", "long"]],
"SetupQueueCopyW" => ["long", ["long", "str", "str", "str", "str", "str", "str", "str", "long"]],
"SetupQueueDefaultCopyA" => ["long", ["long", "long", "str", "str", "str", "long"]],
"SetupQueueDefaultCopyW" => ["long", ["long", "long", "str", "str", "str", "long"]],
"SetupQueueDeleteA" => ["long", ["long", "str", "str"]],
"SetupQueueDeleteSectionA" => ["long", ["long", "long", "long", "str"]],
"SetupQueueDeleteSectionW" => ["long", ["long", "long", "long", "str"]],
"SetupQueueDeleteW" => ["long", ["long", "str", "str"]],
"SetupQueueRenameA" => ["long", ["long", "str", "str", "str", "str"]],
"SetupQueueRenameSectionA" => ["long", ["long", "long", "long", "str"]],
"SetupQueueRenameSectionW" => ["long", ["long", "long", "long", "str"]],
"SetupQueueRenameW" => ["long", ["long", "str", "str", "str", "str"]],
"SetupScanFileQueueA" => ["long", ["long", "long", "long", "ptr", "ptr", "ptr"]],
"SetupScanFileQueueW" => ["long", ["long", "long", "long", "ptr", "ptr", "ptr"]],
"SetupSetDirectoryIdA" => ["long", ["long", "long", "str"]],
"SetupSetDirectoryIdW" => ["long", ["long", "long", "str"]],
"SetupSetFileQueueFlags" => ["long", ["long", "long", "long"]],
"SetupTermDefaultQueueCallback" => ["void", ["ptr"]]
};
&wine::declare("setupapi",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package shdocvw;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DllCanUnloadNow" => ["long", []],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
"DllGetVersion" => ["long", ["ptr"]],
"DllInstall" => ["long", ["long", "wstr"]],
"DllRegisterServer" => ["long", ["undef"]],
"DllUnregisterServer" => ["long", ["undef"]]
};
&wine::declare("shdocvw",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package sti;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"StiCreateInstance" => ["long", ["long", "long", "ptr", "ptr"]]
};
&wine::declare("sti",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package tapi32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"lineAccept" => ["long", ["long", "str", "long"]],
"lineAddProvider" => ["long", ["str", "long", "ptr"]],
"lineAddToConference" => ["long", ["long", "long"]],
"lineAnswer" => ["long", ["long", "str", "long"]],
"lineBlindTransfer" => ["long", ["long", "str", "long"]],
"lineClose" => ["long", ["long"]],
"lineCompleteCall" => ["long", ["long", "ptr", "long", "long"]],
"lineCompleteTransfer" => ["long", ["long", "long", "ptr", "long"]],
"lineConfigDialog" => ["long", ["long", "long", "str"]],
"lineConfigDialogEdit" => ["long", ["long", "long", "str", "ptr", "long", "ptr"]],
"lineConfigProvider" => ["long", ["long", "long"]],
"lineDeallocateCall" => ["long", ["long"]],
"lineDevSpecific" => ["long", ["long", "long", "long", "ptr", "long"]],
"lineDevSpecificFeature" => ["long", ["long", "long", "ptr", "long"]],
"lineDial" => ["long", ["long", "str", "long"]],
"lineDrop" => ["long", ["long", "str", "long"]],
"lineForward" => ["long", ["long", "long", "long", "ptr", "long", "ptr", "ptr"]],
"lineGatherDigits" => ["long", ["long", "long", "str", "long", "str", "long", "long"]],
"lineGenerateDigits" => ["long", ["long", "long", "str", "long"]],
"lineGenerateTone" => ["long", ["long", "long", "long", "long", "ptr"]],
"lineGetAddressCaps" => ["long", ["long", "long", "long", "long", "long", "ptr"]],
"lineGetAddressID" => ["long", ["long", "ptr", "long", "str", "long"]],
"lineGetAddressStatus" => ["long", ["long", "long", "ptr"]],
"lineGetAppPriority" => ["long", ["str", "long", "ptr", "long", "ptr", "ptr"]],
"lineGetCallInfo" => ["long", ["long", "ptr"]],
"lineGetCallStatus" => ["long", ["long", "ptr"]],
"lineGetConfRelatedCalls" => ["long", ["long", "ptr"]],
"lineGetCountry" => ["long", ["long", "long", "ptr"]],
"lineGetDevCaps" => ["long", ["long", "long", "long", "long", "ptr"]],
"lineGetDevConfig" => ["long", ["long", "ptr", "str"]],
"lineGetID" => ["long", ["long", "long", "long", "long", "ptr", "str"]],
"lineGetIcon" => ["long", ["long", "str", "ptr"]],
"lineGetLineDevStatus" => ["long", ["long", "ptr"]],
"lineGetNewCalls" => ["long", ["long", "long", "long", "ptr"]],
"lineGetNumRings" => ["long", ["long", "long", "ptr"]],
"lineGetProviderList" => ["long", ["long", "ptr"]],
"lineGetRequest" => ["long", ["long", "long", "ptr"]],
"lineGetStatusMessages" => ["long", ["long", "ptr", "ptr"]],
"lineGetTranslateCaps" => ["long", ["long", "long", "ptr"]],
"lineHandoff" => ["long", ["long", "str", "long"]],
"lineHold" => ["long", ["long"]],
"lineInitialize" => ["long", ["ptr", "long", "ptr", "str", "ptr"]],
"lineMakeCall" => ["long", ["long", "ptr", "str", "long", "ptr"]],
"lineMonitorDigits" => ["long", ["long", "long"]],
"lineMonitorMedia" => ["long", ["long", "long"]],
"lineMonitorTones" => ["long", ["long", "ptr", "long"]],
"lineNegotiateAPIVersion" => ["long", ["long", "long", "long", "long", "ptr", "ptr"]],
"lineNegotiateExtVersion" => ["long", ["long", "long", "long", "long", "long", "ptr"]],
"lineOpen" => ["long", ["long", "long", "ptr", "long", "long", "long", "long", "long", "ptr"]],
"linePark" => ["long", ["long", "long", "str", "ptr"]],
"linePickup" => ["long", ["long", "long", "ptr", "str", "str"]],
"linePrepareAddToConference" => ["long", ["long", "ptr", "ptr"]],
"lineRedirect" => ["long", ["long", "str", "long"]],
"lineRegisterRequestRecipient" => ["long", ["long", "long", "long", "long"]],
"lineReleaseUserUserInfo" => ["long", ["long"]],
"lineRemoveFromConference" => ["long", ["long"]],
"lineRemoveProvider" => ["long", ["long", "long"]],
"lineSecureCall" => ["long", ["long"]],
"lineSendUserUserInfo" => ["long", ["long", "str", "long"]],
"lineSetAppPriority" => ["long", ["str", "long", "ptr", "long", "str", "long"]],
"lineSetAppSpecific" => ["long", ["long", "long"]],
"lineSetCallParams" => ["long", ["long", "long", "long", "long", "ptr"]],
"lineSetCallPrivilege" => ["long", ["long", "long"]],
"lineSetCurrentLocation" => ["long", ["long", "long"]],
"lineSetDevConfig" => ["long", ["long", "ptr", "long", "str"]],
"lineSetMediaControl" => ["long", ["long", "long", "long", "long", "ptr", "long", "ptr", "long", "ptr", "long", "ptr", "long"]],
"lineSetMediaMode" => ["long", ["long", "long"]],
"lineSetNumRings" => ["long", ["long", "long", "long"]],
"lineSetStatusMessages" => ["long", ["long", "long", "long"]],
"lineSetTerminal" => ["long", ["long", "long", "long", "long", "long", "long", "long"]],
"lineSetTollList" => ["long", ["long", "long", "str", "long"]],
"lineSetupConference" => ["long", ["long", "long", "ptr", "ptr", "long", "ptr"]],
"lineSetupTransfer" => ["long", ["long", "ptr", "ptr"]],
"lineShutdown" => ["long", ["long"]],
"lineSwapHold" => ["long", ["long", "long"]],
"lineTranslateAddress" => ["long", ["long", "long", "long", "str", "long", "long", "ptr"]],
"lineTranslateDialog" => ["long", ["long", "long", "long", "long", "str"]],
"lineUncompleteCall" => ["long", ["long", "long"]],
"lineUnhold" => ["long", ["long"]],
"lineUnpark" => ["long", ["long", "long", "ptr", "str"]],
"phoneClose" => ["long", ["long"]],
"phoneConfigDialog" => ["long", ["long", "long", "str"]],
"phoneDevSpecific" => ["long", ["long", "ptr", "long"]],
"phoneGetButtonInfo" => ["long", ["long", "long", "ptr"]],
"phoneGetData" => ["long", ["long", "long", "ptr", "long"]],
"phoneGetDevCaps" => ["long", ["long", "long", "long", "long", "ptr"]],
"phoneGetDisplay" => ["long", ["long", "ptr"]],
"phoneGetGain" => ["long", ["long", "long", "ptr"]],
"phoneGetHookSwitch" => ["long", ["long", "ptr"]],
"phoneGetID" => ["long", ["long", "ptr", "str"]],
"phoneGetIcon" => ["long", ["long", "str", "ptr"]],
"phoneGetLamp" => ["long", ["long", "long", "ptr"]],
"phoneGetRing" => ["long", ["long", "ptr", "ptr"]],
"phoneGetStatus" => ["long", ["long", "ptr"]],
"phoneGetStatusMessages" => ["long", ["long", "ptr", "ptr", "ptr"]],
"phoneGetVolume" => ["long", ["long", "long", "ptr"]],
"phoneInitialize" => ["long", ["ptr", "long", "ptr", "str", "ptr"]],
"phoneNegotiateAPIVersion" => ["long", ["long", "long", "long", "long", "ptr", "ptr"]],
"phoneNegotiateExtVersion" => ["long", ["long", "long", "long", "long", "long", "ptr"]],
"phoneOpen" => ["long", ["long", "long", "ptr", "long", "long", "long", "long"]],
"phoneSetButtonInfo" => ["long", ["long", "long", "ptr"]],
"phoneSetData" => ["long", ["long", "long", "ptr", "long"]],
"phoneSetDisplay" => ["long", ["long", "long", "long", "str", "long"]],
"phoneSetGain" => ["long", ["long", "long", "long"]],
"phoneSetHookSwitch" => ["long", ["long", "long", "long"]],
"phoneSetLamp" => ["long", ["long", "long", "long"]],
"phoneSetRing" => ["long", ["long", "long", "long"]],
"phoneSetStatusMessages" => ["long", ["long", "long", "long", "long"]],
"phoneSetVolume" => ["long", ["long", "long", "long"]],
"phoneShutdown" => ["long", ["long"]],
"tapiGetLocationInfo" => ["long", ["str", "str"]],
"tapiRequestMakeCall" => ["long", ["str", "str", "str", "str"]]
};
&wine::declare("tapi32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package urlmon;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"CoInternetGetSession" => ["long", ["long", "ptr", "long"]],
"CreateAsyncBindCtxEx" => ["long", ["ptr", "long", "ptr", "ptr", "ptr", "long"]],
"CreateURLMoniker" => ["long", ["ptr", "wstr", "ptr"]],
"DllCanUnloadNow" => ["long", []],
"DllGetClassObject" => ["long", ["ptr", "ptr", "ptr"]],
"DllInstall" => ["long", ["long", "wstr"]],
"DllRegisterServer" => ["long", []],
"DllRegisterServerEx" => ["long", []],
"DllUnregisterServer" => ["long", []],
"Extract" => ["long", ["long", "str"]],
"ObtainUserAgentString" => ["long", ["long", "str", "ptr"]],
"RegisterBindStatusCallback" => ["long", ["ptr", "ptr", "ptr", "long"]],
"RevokeBindStatusCallback" => ["long", ["ptr", "ptr"]],
"UrlMkSetSessionOption" => ["long", ["long", "ptr", "long", "long"]]
};
&wine::declare("urlmon",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package version;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"GetFileVersionInfoA" => ["long", ["str", "long", "long", "ptr"]],
"GetFileVersionInfoSizeA" => ["long", ["str", "ptr"]],
"GetFileVersionInfoSizeW" => ["long", ["wstr", "ptr"]],
"GetFileVersionInfoW" => ["long", ["wstr", "long", "long", "ptr"]],
"VerFindFileA" => ["long", ["long", "str", "str", "str", "str", "ptr", "str", "ptr"]],
"VerFindFileW" => ["long", ["long", "wstr", "wstr", "wstr", "wstr", "ptr", "wstr", "ptr"]],
"VerInstallFileA" => ["long", ["long", "str", "str", "str", "str", "str", "str", "ptr"]],
"VerInstallFileW" => ["long", ["long", "wstr", "wstr", "wstr", "wstr", "wstr", "wstr", "ptr"]],
"VerQueryValueA" => ["long", ["ptr", "str", "ptr", "ptr"]],
"VerQueryValueW" => ["long", ["ptr", "wstr", "ptr", "ptr"]]
};
&wine::declare("version",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package w32skrnl;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"GetCurrentTask32" => ["long", []],
"_kGetWin32sDirectory\@0" => ["str", []]
};
&wine::declare("w32skrnl",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
# Automatically generated by make_symbols; DO NOT EDIT!!
#
# Perl definitions for header file wincon.h
#
package wincon;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(
BACKGROUND_BLUE
BACKGROUND_GREEN
BACKGROUND_INTENSITY
BACKGROUND_RED
CAPSLOCK_ON
CONSOLE_TEXTMODE_BUFFER
CTRL_BREAK_EVENT
CTRL_CLOSE_EVENT
CTRL_C_EVENT
CTRL_LOGOFF_EVENT
CTRL_SHUTDOWN_EVENT
DOUBLE_CLICK
ENABLE_ECHO_INPUT
ENABLE_LINE_INPUT
ENABLE_MOUSE_INPUT
ENABLE_PROCESSED_INPUT
ENABLE_PROCESSED_OUTPUT
ENABLE_WINDOW_INPUT
ENABLE_WRAP_AT_EOL_OUTPUT
ENHANCED_KEY
FOCUS_EVENT
FOREGROUND_BLUE
FOREGROUND_GREEN
FOREGROUND_INTENSITY
FOREGROUND_RED
FROM_LEFT_1ST_BUTTON_PRESSED
FROM_LEFT_2ND_BUTTON_PRESSED
FROM_LEFT_3RD_BUTTON_PRESSED
FROM_LEFT_4TH_BUTTON_PRESSED
KEY_EVENT
LEFT_ALT_PRESSED
LEFT_CTRL_PRESSED
MENU_EVENT
MOUSE_EVENT
MOUSE_MOVED
MOUSE_WHEELED
NUMLOCK_ON
RIGHTMOST_BUTTON_PRESSED
RIGHT_ALT_PRESSED
RIGHT_CTRL_PRESSED
SCROLLLOCK_ON
SHIFT_PRESSED
WINDOW_BUFFER_SIZE_EVENT
WINE_ENABLE_LINE_INPUT_EMACS
);
@EXPORT_OK = qw();
use constant BACKGROUND_BLUE => 16;
use constant BACKGROUND_GREEN => 32;
use constant BACKGROUND_INTENSITY => 128;
use constant BACKGROUND_RED => 64;
use constant CAPSLOCK_ON => 128;
use constant CONSOLE_TEXTMODE_BUFFER => 1;
use constant CTRL_BREAK_EVENT => 1;
use constant CTRL_CLOSE_EVENT => 2;
use constant CTRL_C_EVENT => 0;
use constant CTRL_LOGOFF_EVENT => 5;
use constant CTRL_SHUTDOWN_EVENT => 6;
use constant DOUBLE_CLICK => 2;
use constant ENABLE_ECHO_INPUT => 4;
use constant ENABLE_LINE_INPUT => 2;
use constant ENABLE_MOUSE_INPUT => 16;
use constant ENABLE_PROCESSED_INPUT => 1;
use constant ENABLE_PROCESSED_OUTPUT => 1;
use constant ENABLE_WINDOW_INPUT => 8;
use constant ENABLE_WRAP_AT_EOL_OUTPUT => 2;
use constant ENHANCED_KEY => 256;
use constant FOCUS_EVENT => 16;
use constant FOREGROUND_BLUE => 1;
use constant FOREGROUND_GREEN => 2;
use constant FOREGROUND_INTENSITY => 8;
use constant FOREGROUND_RED => 4;
use constant FROM_LEFT_1ST_BUTTON_PRESSED => 1;
use constant FROM_LEFT_2ND_BUTTON_PRESSED => 4;
use constant FROM_LEFT_3RD_BUTTON_PRESSED => 8;
use constant FROM_LEFT_4TH_BUTTON_PRESSED => 16;
use constant KEY_EVENT => 1;
use constant LEFT_ALT_PRESSED => 2;
use constant LEFT_CTRL_PRESSED => 8;
use constant MENU_EVENT => 8;
use constant MOUSE_EVENT => 2;
use constant MOUSE_MOVED => 1;
use constant MOUSE_WHEELED => 4;
use constant NUMLOCK_ON => 32;
use constant RIGHTMOST_BUTTON_PRESSED => 2;
use constant RIGHT_ALT_PRESSED => 1;
use constant RIGHT_CTRL_PRESSED => 4;
use constant SCROLLLOCK_ON => 64;
use constant SHIFT_PRESSED => 16;
use constant WINDOW_BUFFER_SIZE_EVENT => 4;
use constant WINE_ENABLE_LINE_INPUT_EMACS => 128;
1;
# Automatically generated by make_symbols; DO NOT EDIT!!
#
# Perl definitions for header file windef.h
#
package windef;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(
HFILE_ERROR
MAX_PATH
WINVER
_MAX_DIR
_MAX_DRIVE
_MAX_EXT
_MAX_FNAME
_MAX_PATH
);
@EXPORT_OK = qw();
use constant HFILE_ERROR => -1;
use constant MAX_PATH => 260;
use constant WINVER => 1280;
use constant _MAX_DIR => 256;
use constant _MAX_DRIVE => 3;
use constant _MAX_EXT => 256;
use constant _MAX_FNAME => 256;
use constant _MAX_PATH => 260;
1;
package winearts_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]],
"wodMessage" => ["long", ["long", "long", "long", "long", "long"]]
};
&wine::declare("winearts.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package winedos;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"ASPIHandler" => ["void", ["ptr"]],
"AllocRMCB" => ["void", ["ptr"]],
"CallRMInt" => ["void", ["ptr"]],
"CallRMProc" => ["void", ["ptr"]],
"Enter" => ["long", ["ptr"]],
"FreeRMCB" => ["void", ["ptr"]],
"GetTimer" => ["long", []],
"KbdReadScan" => ["long", ["ptr"]],
"LoadDosExe" => ["void", ["str", "long"]],
"OutPIC" => ["void", ["long", "long"]],
"QueueEvent" => ["void", ["long", "long", "undef", "ptr"]],
"RawModeSwitch" => ["void", ["ptr"]],
"SetTimer" => ["void", ["long"]],
"Wait" => ["void", ["long", "long"]]
};
&wine::declare("winedos",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package wineoss_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DriverProc" => ["long", ["long", "long", "long", "long", "long"]],
"auxMessage" => ["long", ["long", "long", "long", "long", "long"]],
"mixMessage" => ["long", ["long", "long", "long", "long", "long"]],
"midMessage" => ["long", ["long", "long", "long", "long", "long"]],
"modMessage" => ["long", ["long", "long", "long", "long", "long"]],
"widMessage" => ["long", ["long", "long", "long", "long", "long"]],
"wodMessage" => ["long", ["long", "long", "long", "long", "long"]]
};
&wine::declare("wineoss.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
This source diff could not be displayed because it is too large. You can view the blob instead.
package wininet;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"CommitUrlCacheEntryA" => ["long", ["str", "str", "long", "long", "long", "ptr", "long", "str", "long"]],
"DllInstall" => ["long", ["long", "wstr"]],
"FtpCreateDirectoryA" => ["long", ["long", "str"]],
"FtpDeleteFileA" => ["long", ["long", "str"]],
"FtpFindFirstFileA" => ["long", ["long", "str", "ptr", "long", "long"]],
"FtpGetCurrentDirectoryA" => ["long", ["long", "str", "ptr"]],
"FtpGetFileA" => ["long", ["long", "str", "str", "long", "long", "long", "long"]],
"FtpOpenFileA" => ["long", ["long", "str", "long", "long", "long"]],
"FtpPutFileA" => ["long", ["long", "str", "str", "long", "long"]],
"FtpRemoveDirectoryA" => ["long", ["long", "str"]],
"FtpRenameFileA" => ["long", ["long", "str", "str"]],
"FtpSetCurrentDirectoryA" => ["long", ["long", "str"]],
"GetUrlCacheEntryInfoA" => ["long", ["str", "ptr", "ptr"]],
"HttpAddRequestHeadersA" => ["long", ["long", "str", "long", "long"]],
"HttpOpenRequestA" => ["long", ["long", "str", "str", "str", "str", "ptr", "long", "long"]],
"HttpQueryInfoA" => ["long", ["long", "long", "ptr", "ptr", "ptr"]],
"HttpSendRequestA" => ["long", ["long", "str", "long", "ptr", "long"]],
"HttpSendRequestExA" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"InternetAttemptConnect" => ["long", ["long"]],
"InternetCanonicalizeUrlA" => ["long", ["str", "str", "ptr", "long"]],
"InternetCheckConnectionA" => ["long", ["str", "long", "long"]],
"InternetCloseHandle" => ["long", ["long"]],
"InternetConnectA" => ["long", ["long", "str", "long", "str", "str", "long", "long", "long"]],
"InternetCrackUrlA" => ["long", ["str", "long", "long", "ptr"]],
"InternetFindNextFileA" => ["long", ["long", "ptr"]],
"InternetGetConnectedState" => ["long", ["ptr", "long"]],
"InternetGetCookieA" => ["long", ["str", "str", "str", "ptr"]],
"InternetGetLastResponseInfoA" => ["long", ["ptr", "str", "ptr"]],
"InternetOpenA" => ["long", ["str", "long", "str", "str", "long"]],
"InternetOpenUrlA" => ["long", ["long", "str", "str", "long", "long", "long"]],
"InternetQueryOptionA" => ["long", ["long", "long", "ptr", "ptr"]],
"InternetReadFile" => ["long", ["long", "ptr", "long", "ptr"]],
"InternetSetCookieA" => ["long", ["str", "str", "str"]],
"InternetSetOptionA" => ["long", ["long", "long", "ptr", "long"]],
"InternetSetOptionW" => ["long", ["long", "long", "ptr", "long"]],
"InternetSetStatusCallback" => ["ptr", ["long", "ptr"]],
"InternetWriteFile" => ["long", ["long", "ptr", "long", "ptr"]]
};
&wine::declare("wininet",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
This source diff could not be displayed because it is too large. You can view the blob instead.
# Automatically generated by make_symbols; DO NOT EDIT!!
#
# Perl definitions for header file winreg.h
#
package winreg;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_DYN_DATA
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS
);
@EXPORT_OK = qw();
use constant HKEY_CLASSES_ROOT => -2147483648;
use constant HKEY_CURRENT_CONFIG => -2147483643;
use constant HKEY_CURRENT_USER => -2147483647;
use constant HKEY_DYN_DATA => -2147483642;
use constant HKEY_LOCAL_MACHINE => -2147483646;
use constant HKEY_PERFORMANCE_DATA => -2147483644;
use constant HKEY_USERS => -2147483645;
1;
# Automatically generated by make_symbols; DO NOT EDIT!!
#
# Perl definitions for header file winsock2.h
#
package winsock2;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(
BASE_PROTOCOL
CF_ACCEPT
CF_DEFER
CF_REJECT
FD_ACCEPT_BIT
FD_CLOSE_BIT
FD_CONNECT_BIT
FD_MAX_EVENTS
FD_OOB_BIT
FD_READ_BIT
FD_WRITE_BIT
INCL_WINSOCK_API_PROTOTYPES
INCL_WINSOCK_API_TYPEDEFS
IOC_PROTOCOL
IOC_UNIX
IOC_VENDOR
IOC_WS2
LAYERED_PROTOCOL
MAX_PROTOCOL_CHAIN
PVD_CONFIG
SD_BOTH
SD_RECEIVE
SD_SEND
SG_CONSTRAINED_GROUP
SG_UNCONSTRAINED_GROUP
SIO_ADDRESS_LIST_CHANGE
SIO_ADDRESS_LIST_QUERY
SIO_ASSOCIATE_HANDLE
SIO_ENABLE_CIRCULAR_QUEUEING
SIO_FIND_ROUTE
SIO_FLUSH
SIO_GET_BROADCAST_ADDRESS
SIO_GET_EXTENSION_FUNCTION_POINTER
SIO_GET_GROUP_QOS
SIO_GET_INTERFACE_LIST
SIO_GET_QOS
SIO_MULTICAST_SCOPE
SIO_MULTIPOINT_LOOPBACK
SIO_QUERY_TARGET_PNP_HANDLE
SIO_ROUTING_INTERFACE_CHANGE
SIO_ROUTING_INTERFACE_QUERY
SIO_SET_GROUP_QOS
SIO_SET_QOS
SIO_TRANSLATE_HANDLE
SO_CONDITIONAL_ACCEPT
SO_GROUP_ID
SO_GROUP_PRIORITY
SO_MAX_MSG_SIZE
SO_PROTOCOL_INFOA
SO_PROTOCOL_INFOW
WSAPROTOCOL_LEN
WSA_FLAG_MULTIPOINT_C_LEAF
WSA_FLAG_MULTIPOINT_C_ROOT
WSA_FLAG_MULTIPOINT_D_LEAF
WSA_FLAG_MULTIPOINT_D_ROOT
WSA_FLAG_OVERLAPPED
WSA_INFINITE
WSA_INVALID_EVENT
WSA_INVALID_HANDLE
WSA_INVALID_PARAMETER
WSA_IO_INCOMPLETE
WSA_IO_PENDING
WSA_MAXIMUM_WAIT_EVENTS
WSA_NOT_ENOUGH_MEMORY
WSA_OPERATION_ABORTED
WSA_WAIT_EVENT_0
WSA_WAIT_FAILED
WSA_WAIT_IO_COMPLETION
WSA_WAIT_TIMEOUT
);
@EXPORT_OK = qw();
use constant BASE_PROTOCOL => 1;
use constant CF_ACCEPT => 0;
use constant CF_DEFER => 2;
use constant CF_REJECT => 1;
use constant FD_ACCEPT_BIT => 3;
use constant FD_CLOSE_BIT => 5;
use constant FD_CONNECT_BIT => 4;
use constant FD_MAX_EVENTS => 10;
use constant FD_OOB_BIT => 2;
use constant FD_READ_BIT => 0;
use constant FD_WRITE_BIT => 1;
use constant INCL_WINSOCK_API_PROTOTYPES => 1;
use constant INCL_WINSOCK_API_TYPEDEFS => 0;
use constant IOC_PROTOCOL => 268435456;
use constant IOC_UNIX => 0;
use constant IOC_VENDOR => 402653184;
use constant IOC_WS2 => 134217728;
use constant LAYERED_PROTOCOL => 0;
use constant MAX_PROTOCOL_CHAIN => 7;
use constant PVD_CONFIG => 12289;
use constant SD_BOTH => 2;
use constant SD_RECEIVE => 0;
use constant SD_SEND => 1;
use constant SG_CONSTRAINED_GROUP => 2;
use constant SG_UNCONSTRAINED_GROUP => 1;
use constant SIO_ADDRESS_LIST_CHANGE => 671088663;
use constant SIO_ADDRESS_LIST_QUERY => 1207959574;
use constant SIO_ASSOCIATE_HANDLE => -2013265919;
use constant SIO_ENABLE_CIRCULAR_QUEUEING => 671088642;
use constant SIO_FIND_ROUTE => 1207959555;
use constant SIO_FLUSH => 671088644;
use constant SIO_GET_BROADCAST_ADDRESS => 1207959557;
use constant SIO_GET_EXTENSION_FUNCTION_POINTER => -939524090;
use constant SIO_GET_GROUP_QOS => -939524088;
use constant SIO_GET_INTERFACE_LIST => 1074033791;
use constant SIO_GET_QOS => -939524089;
use constant SIO_MULTICAST_SCOPE => -2013265910;
use constant SIO_MULTIPOINT_LOOPBACK => -2013265911;
use constant SIO_QUERY_TARGET_PNP_HANDLE => 1207959576;
use constant SIO_ROUTING_INTERFACE_CHANGE => -2013265899;
use constant SIO_ROUTING_INTERFACE_QUERY => -939524076;
use constant SIO_SET_GROUP_QOS => -2013265908;
use constant SIO_SET_QOS => -2013265909;
use constant SIO_TRANSLATE_HANDLE => -939524083;
use constant SO_CONDITIONAL_ACCEPT => 12290;
use constant SO_GROUP_ID => 8193;
use constant SO_GROUP_PRIORITY => 8194;
use constant SO_MAX_MSG_SIZE => 8195;
use constant SO_PROTOCOL_INFOA => 8196;
use constant SO_PROTOCOL_INFOW => 8197;
use constant WSAPROTOCOL_LEN => 255;
use constant WSA_FLAG_MULTIPOINT_C_LEAF => 4;
use constant WSA_FLAG_MULTIPOINT_C_ROOT => 2;
use constant WSA_FLAG_MULTIPOINT_D_LEAF => 16;
use constant WSA_FLAG_MULTIPOINT_D_ROOT => 8;
use constant WSA_FLAG_OVERLAPPED => 1;
use constant WSA_INFINITE => -1;
use constant WSA_INVALID_EVENT => 0;
use constant WSA_INVALID_HANDLE => 6;
use constant WSA_INVALID_PARAMETER => 87;
use constant WSA_IO_INCOMPLETE => 996;
use constant WSA_IO_PENDING => 997;
use constant WSA_MAXIMUM_WAIT_EVENTS => 64;
use constant WSA_NOT_ENOUGH_MEMORY => 8;
use constant WSA_OPERATION_ABORTED => 995;
use constant WSA_WAIT_EVENT_0 => 0;
use constant WSA_WAIT_FAILED => -1;
use constant WSA_WAIT_IO_COMPLETION => 192;
use constant WSA_WAIT_TIMEOUT => 258;
1;
package winspool_drv;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"AddFormA" => ["long", ["long", "long", "ptr"]],
"AddFormW" => ["long", ["long", "long", "ptr"]],
"AddJobA" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"AddJobW" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"AddMonitorA" => ["long", ["str", "long", "ptr"]],
"AddPrinterA" => ["long", ["str", "long", "ptr"]],
"AddPrinterDriverA" => ["long", ["str", "long", "ptr"]],
"AddPrinterDriverW" => ["long", ["wstr", "long", "ptr"]],
"AddPrinterW" => ["long", ["wstr", "long", "ptr"]],
"ClosePrinter" => ["long", ["long"]],
"DeleteFormA" => ["long", ["long", "str"]],
"DeleteFormW" => ["long", ["long", "wstr"]],
"DeleteMonitorA" => ["long", ["str", "str", "str"]],
"DeletePortA" => ["long", ["str", "long", "str"]],
"DeletePrinter" => ["long", ["long"]],
"DeletePrinterDriverA" => ["long", ["str", "str", "str"]],
"DeviceCapabilities" => ["long", ["str", "str", "long", "str", "ptr"]],
"DeviceCapabilitiesA" => ["long", ["str", "str", "long", "str", "ptr"]],
"DeviceCapabilitiesW" => ["long", ["wstr", "wstr", "long", "wstr", "ptr"]],
"DocumentPropertiesA" => ["long", ["long", "long", "str", "ptr", "ptr", "long"]],
"DocumentPropertiesW" => ["long", ["long", "long", "wstr", "ptr", "ptr", "long"]],
"EnumJobsA" => ["long", ["long", "long", "long", "long", "ptr", "long", "ptr", "ptr"]],
"EnumJobsW" => ["long", ["long", "long", "long", "long", "ptr", "long", "ptr", "ptr"]],
"EnumPortsA" => ["long", ["str", "long", "ptr", "long", "ptr", "ptr"]],
"EnumPrinterDataExA" => ["long", ["long", "str", "ptr", "long", "ptr", "ptr"]],
"EnumPrinterDataExW" => ["long", ["long", "wstr", "ptr", "long", "ptr", "ptr"]],
"EnumPrinterDriversA" => ["long", ["str", "str", "long", "ptr", "long", "ptr", "ptr"]],
"EnumPrinterDriversW" => ["long", ["wstr", "wstr", "long", "ptr", "long", "ptr", "ptr"]],
"EnumPrintersA" => ["long", ["long", "str", "long", "ptr", "long", "ptr", "ptr"]],
"EnumPrintersW" => ["long", ["long", "wstr", "long", "ptr", "long", "ptr", "ptr"]],
"GetDefaultPrinterA" => ["long", ["str", "ptr"]],
"GetDefaultPrinterW" => ["long", ["wstr", "ptr"]],
"GetFormA" => ["long", ["long", "str", "long", "ptr", "long", "ptr"]],
"GetFormW" => ["long", ["long", "wstr", "long", "ptr", "long", "ptr"]],
"GetPrinterA" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"GetPrinterDataA" => ["long", ["long", "str", "ptr", "ptr", "long", "ptr"]],
"GetPrinterDataExA" => ["long", ["long", "str", "str", "ptr", "ptr", "long", "ptr"]],
"GetPrinterDataExW" => ["long", ["long", "wstr", "wstr", "ptr", "ptr", "long", "ptr"]],
"GetPrinterDataW" => ["long", ["long", "wstr", "ptr", "ptr", "long", "ptr"]],
"GetPrinterDriverA" => ["long", ["long", "str", "long", "ptr", "long", "ptr"]],
"GetPrinterDriverDirectoryA" => ["long", ["str", "str", "long", "ptr", "long", "ptr"]],
"GetPrinterDriverDirectoryW" => ["long", ["wstr", "wstr", "long", "ptr", "long", "ptr"]],
"GetPrinterDriverW" => ["long", ["long", "wstr", "long", "ptr", "long", "ptr"]],
"GetPrinterW" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"OpenPrinterA" => ["long", ["str", "ptr", "ptr"]],
"OpenPrinterW" => ["long", ["wstr", "ptr", "ptr"]],
"PrinterProperties" => ["long", ["long", "long"]],
"ReadPrinter" => ["long", ["long", "ptr", "long", "ptr"]],
"ResetPrinterA" => ["long", ["long", "ptr"]],
"ResetPrinterW" => ["long", ["long", "ptr"]],
"SetFormA" => ["long", ["long", "str", "long", "ptr"]],
"SetFormW" => ["long", ["long", "wstr", "long", "ptr"]],
"SetJobA" => ["long", ["long", "long", "long", "ptr", "long"]],
"SetJobW" => ["long", ["long", "long", "long", "ptr", "long"]],
"SetPrinterA" => ["long", ["long", "long", "ptr", "long"]],
"SetPrinterDataA" => ["long", ["long", "str", "long", "ptr", "long"]],
"SetPrinterDataExA" => ["long", ["long", "str", "str", "long", "ptr", "long"]],
"SetPrinterDataExW" => ["long", ["long", "wstr", "wstr", "long", "ptr", "long"]],
"SetPrinterDataW" => ["long", ["long", "wstr", "long", "ptr", "long"]],
"SetPrinterW" => ["long", ["long", "long", "ptr", "long"]],
"WritePrinter" => ["long", ["long", "ptr", "long", "ptr"]]
};
&wine::declare("winspool.drv",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package wintrust;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"WinVerifyTrust" => ["long", ["long", "ptr", "ptr"]]
};
&wine::declare("wintrust",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
This source diff could not be displayed because it is too large. You can view the blob instead.
# Automatically generated by make_symbols; DO NOT EDIT!!
#
# Perl definitions for header file winver.h
#
package winver;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(
VFFF_ISSHAREDFILE
VFF_BUFFTOOSMALL
VFF_CURNEDEST
VFF_FILEINUSE
VFT2_DRV_COMM
VFT2_DRV_DISPLAY
VFT2_DRV_INPUTMETHOD
VFT2_DRV_INSTALLABLE
VFT2_DRV_KEYBOARD
VFT2_DRV_LANGUAGE
VFT2_DRV_MOUSE
VFT2_DRV_NETWORK
VFT2_DRV_PRINTER
VFT2_DRV_SOUND
VFT2_DRV_SYSTEM
VFT2_FONT_RASTER
VFT2_FONT_TRUETYPE
VFT2_FONT_VECTOR
VFT2_UNKNOWN
VFT_APP
VFT_DLL
VFT_DRV
VFT_FONT
VFT_STATIC_LIB
VFT_UNKNOWN
VFT_VXD
VIFF_DONTDELETEOLD
VIFF_FORCEINSTALL
VIF_ACCESSVIOLATION
VIF_BUFFTOOSMALL
VIF_CANNOTCREATE
VIF_CANNOTDELETE
VIF_CANNOTDELETECUR
VIF_CANNOTREADDST
VIF_CANNOTREADSRC
VIF_CANNOTRENAME
VIF_DIFFCODEPG
VIF_DIFFLANG
VIF_DIFFTYPE
VIF_FILEINUSE
VIF_MISMATCH
VIF_OUTOFMEMORY
VIF_OUTOFSPACE
VIF_SHARINGVIOLATION
VIF_SRCOLD
VIF_TEMPFILE
VIF_WRITEPROT
VOS_DOS
VOS_DOS_WINDOWS16
VOS_DOS_WINDOWS32
VOS_NT
VOS_NT_WINDOWS32
VOS_OS216
VOS_OS216_PM16
VOS_OS232
VOS_OS232_PM32
VOS_UNKNOWN
VOS__BASE
VOS__PM16
VOS__PM32
VOS__WINDOWS16
VOS__WINDOWS32
VS_FFI_FILEFLAGSMASK
VS_FFI_SIGNATURE
VS_FFI_STRUCVERSION
VS_FF_DEBUG
VS_FF_INFOINFERRED
VS_FF_PATCHED
VS_FF_PRERELEASE
VS_FF_PRIVATEBUILD
VS_FF_SPECIALBUILD
VS_FILE_INFO
VS_USER_DEFINED
VS_VERSION_INFO
);
@EXPORT_OK = qw();
use constant VFFF_ISSHAREDFILE => 1;
use constant VFF_BUFFTOOSMALL => 4;
use constant VFF_CURNEDEST => 1;
use constant VFF_FILEINUSE => 2;
use constant VFT2_DRV_COMM => 10;
use constant VFT2_DRV_DISPLAY => 4;
use constant VFT2_DRV_INPUTMETHOD => 11;
use constant VFT2_DRV_INSTALLABLE => 8;
use constant VFT2_DRV_KEYBOARD => 2;
use constant VFT2_DRV_LANGUAGE => 3;
use constant VFT2_DRV_MOUSE => 5;
use constant VFT2_DRV_NETWORK => 6;
use constant VFT2_DRV_PRINTER => 1;
use constant VFT2_DRV_SOUND => 9;
use constant VFT2_DRV_SYSTEM => 7;
use constant VFT2_FONT_RASTER => 1;
use constant VFT2_FONT_TRUETYPE => 3;
use constant VFT2_FONT_VECTOR => 2;
use constant VFT2_UNKNOWN => 0;
use constant VFT_APP => 1;
use constant VFT_DLL => 2;
use constant VFT_DRV => 3;
use constant VFT_FONT => 4;
use constant VFT_STATIC_LIB => 7;
use constant VFT_UNKNOWN => 0;
use constant VFT_VXD => 5;
use constant VIFF_DONTDELETEOLD => 2;
use constant VIFF_FORCEINSTALL => 1;
use constant VIF_ACCESSVIOLATION => 512;
use constant VIF_BUFFTOOSMALL => 262144;
use constant VIF_CANNOTCREATE => 2048;
use constant VIF_CANNOTDELETE => 4096;
use constant VIF_CANNOTDELETECUR => 16384;
use constant VIF_CANNOTREADDST => 131072;
use constant VIF_CANNOTREADSRC => 65536;
use constant VIF_CANNOTRENAME => 8192;
use constant VIF_DIFFCODEPG => 16;
use constant VIF_DIFFLANG => 8;
use constant VIF_DIFFTYPE => 32;
use constant VIF_FILEINUSE => 128;
use constant VIF_MISMATCH => 2;
use constant VIF_OUTOFMEMORY => 32768;
use constant VIF_OUTOFSPACE => 256;
use constant VIF_SHARINGVIOLATION => 1024;
use constant VIF_SRCOLD => 4;
use constant VIF_TEMPFILE => 1;
use constant VIF_WRITEPROT => 64;
use constant VOS_DOS => 65536;
use constant VOS_DOS_WINDOWS16 => 65537;
use constant VOS_DOS_WINDOWS32 => 65540;
use constant VOS_NT => 262144;
use constant VOS_NT_WINDOWS32 => 262148;
use constant VOS_OS216 => 131072;
use constant VOS_OS216_PM16 => 131074;
use constant VOS_OS232 => 196608;
use constant VOS_OS232_PM32 => 196611;
use constant VOS_UNKNOWN => 0;
use constant VOS__BASE => 0;
use constant VOS__PM16 => 2;
use constant VOS__PM32 => 3;
use constant VOS__WINDOWS16 => 1;
use constant VOS__WINDOWS32 => 4;
use constant VS_FFI_FILEFLAGSMASK => 63;
use constant VS_FFI_SIGNATURE => -17890115;
use constant VS_FFI_STRUCVERSION => 65536;
use constant VS_FF_DEBUG => 1;
use constant VS_FF_INFOINFERRED => 16;
use constant VS_FF_PATCHED => 4;
use constant VS_FF_PRERELEASE => 2;
use constant VS_FF_PRIVATEBUILD => 8;
use constant VS_FF_SPECIALBUILD => 32;
use constant VS_FILE_INFO => 16;
use constant VS_USER_DEFINED => 100;
use constant VS_VERSION_INFO => 1;
1;
package ws2_32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"accept" => ["long", ["long", "ptr", "ptr"]],
"bind" => ["long", ["long", "ptr", "long"]],
"closesocket" => ["long", ["long"]],
"connect" => ["long", ["long", "ptr", "long"]],
"getpeername" => ["long", ["long", "ptr", "ptr"]],
"getsockname" => ["long", ["long", "ptr", "ptr"]],
"getsockopt" => ["long", ["long", "long", "long", "ptr", "ptr"]],
"htonl" => ["long", ["long"]],
"htons" => ["long", ["long"]],
"ioctlsocket" => ["long", ["long", "long", "ptr"]],
"inet_addr" => ["long", ["ptr"]],
"inet_ntoa" => ["ptr", ["unknown"]],
"listen" => ["long", ["long", "long"]],
"ntohl" => ["long", ["long"]],
"ntohs" => ["long", ["long"]],
"recv" => ["long", ["long", "ptr", "long", "long"]],
"recvfrom" => ["long", ["long", "ptr", "long", "long", "ptr", "ptr"]],
"select" => ["long", ["long", "ptr", "ptr", "ptr", "ptr"]],
"send" => ["long", ["long", "ptr", "long", "long"]],
"sendto" => ["long", ["long", "ptr", "long", "long", "ptr", "long"]],
"setsockopt" => ["long", ["long", "long", "long", "ptr", "long"]],
"shutdown" => ["long", ["long", "long"]],
"socket" => ["long", ["long", "long", "long"]],
"WSApSetPostRoutine" => ["long", ["ptr"]],
"WSAAccept" => ["long", ["long", "ptr", "ptr", "ptr", "long"]],
"WSACloseEvent" => ["long", ["long"]],
"WSAConnect" => ["long", ["long", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
"WSACreateEvent" => ["long", []],
"WSADuplicateSocketA" => ["long", ["long", "long", "ptr"]],
"WSAEnumNetworkEvents" => ["long", ["long", "long", "ptr"]],
"WSAEnumProtocolsA" => ["long", ["ptr", "ptr", "ptr"]],
"WSAEnumProtocolsW" => ["long", ["ptr", "ptr", "ptr"]],
"WSAEventSelect" => ["long", ["long", "long", "long"]],
"WSAGetOverlappedResult" => ["long", ["long", "ptr", "ptr", "long", "ptr"]],
"gethostbyaddr" => ["ptr", ["ptr", "long", "long"]],
"gethostbyname" => ["ptr", ["ptr"]],
"getprotobyname" => ["ptr", ["ptr"]],
"getprotobynumber" => ["ptr", ["long"]],
"getservbyname" => ["ptr", ["ptr", "ptr"]],
"getservbyport" => ["ptr", ["long", "ptr"]],
"gethostname" => ["long", ["ptr", "long"]],
"WSARecv" => ["long", ["long", "ptr", "long", "ptr", "ptr", "ptr", "ptr"]],
"WSARecvFrom" => ["long", ["long", "ptr", "long", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr"]],
"WSASend" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "ptr"]],
"WSASendTo" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "long", "ptr", "ptr"]],
"WSASocketA" => ["long", ["long", "long", "long", "ptr", "long", "long"]],
"WSCDeinstallProvider" => ["long", ["ptr", "ptr"]],
"WSCInstallProvider" => ["long", ["ptr", "wstr", "ptr", "long", "ptr"]],
"WSAAsyncSelect" => ["long", ["long", "long", "long", "long"]],
"WSAAsyncGetHostByAddr" => ["long", ["long", "long", "str", "long", "long", "str", "long"]],
"WSAAsyncGetHostByName" => ["long", ["long", "long", "str", "str", "long"]],
"WSAAsyncGetProtoByNumber" => ["long", ["long", "long", "long", "str", "long"]],
"WSAAsyncGetProtoByName" => ["long", ["long", "long", "str", "str", "long"]],
"WSAAsyncGetServByPort" => ["long", ["long", "long", "long", "str", "str", "long"]],
"WSAAsyncGetServByName" => ["long", ["long", "long", "str", "str", "str", "long"]],
"WSACancelAsyncRequest" => ["long", ["long"]],
"WSASetBlockingHook" => ["ptr", ["ptr"]],
"WSAGetLastError" => ["long", []],
"WSASetLastError" => ["void", ["long"]],
"WSACancelBlockingCall" => ["long", []],
"WSAIsBlocking" => ["long", []],
"WSAStartup" => ["long", ["long", "ptr"]],
"WSACleanup" => ["long", []],
"__WSAFDIsSet" => ["long", ["long", "ptr"]]
};
&wine::declare("ws2_32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
package wsock32;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"inet_network" => ["long", ["ptr"]],
"getnetbyname" => ["ptr", ["ptr"]],
"WSARecvEx" => ["long", ["long", "ptr", "long", "ptr"]],
"s_perror" => ["void", ["str"]],
"EnumProtocolsA" => ["long", ["ptr", "ptr", "ptr"]],
"EnumProtocolsW" => ["long", ["ptr", "ptr", "ptr"]]
};
&wine::declare("wsock32",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;
#!/usr/bin/perl
#
# Script to generate a C file containing a list of tests
#
# Copyright 2002 Alexandre Julliard
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
use strict;
print <<EOF;
/* Automatically generated file; DO NOT EDIT!! */
\#include <stdio.h>
\#include <stdlib.h>
\#include "winbase.h"
EOF
my @testlist = @ARGV;
foreach (@testlist)
{
s!(.*/)*([^/]+)\.c$!$2!;
printf "extern void func_%s(void);\n", $_;
}
print <<EOF;
struct test
{
const char *name;
void (*func)(void);
};
static const struct test winetest_testlist[] =
{
EOF
foreach (@testlist)
{
printf " { \"%s\", func_%s },\n", $_, $_;
}
print <<EOF;
{ 0, 0 }
};
\#define WINETEST_WANT_MAIN
\#include "wine/test.h"
EOF
#!/usr/bin/perl -w
#
# Script to generate a Cygwin/Mingw makefile for running unit tests.
#
# Copyright 2002 Geoffrey Hausheer
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
use strict;
sub usage;
sub fix_dir;
sub get_testname;
sub create_archive($$\@);
# set this variable to point to your windows headers
my ($cygwin_windows_includes) ="/usr/include/w32api";
my ($mingw_windows_includes) ="/mingw/include";
my ($wine_windows_includes) ="./include";
my ($windows_includes)="";
#set the default headers to use
my ($default_headers) =\$cygwin_windows_includes;
# set this variable to your compiler options
my($cc_opts)= "-g -O2 -Wall -mpreferred-stack-boundary=2 -D_REENTRANT";
my($topobjdir);
my(@testdirs);
my(@gooddirs);
my(@ok_list)=();
my($dir);
my($file);
my($afile)="";
my($archive)="";
# parse command-line options
while ($#ARGV >= 0)
{
my $arg = shift @ARGV;
if ($arg eq "-h") { usage; }
if ($arg eq "-T")
{
$topobjdir = shift @ARGV;
usage unless (-d $topobjdir);
next;
}
if ($arg eq "-z") {
$afile = shift @ARGV;
$archive = "z";
}
if ($arg eq "-g") {
$afile = shift @ARGV;
$archive = "g";
}
if ($arg eq "-i") {
$windows_includes = shift @ARGV;
$default_headers = \$windows_includes;
}
if ($arg eq "-s") {
my($sys) = shift @ARGV;
if ($sys eq "cygwin") {
$default_headers = \$cygwin_windows_includes;
} elsif ($sys eq "mingw") {
$default_headers = \$mingw_windows_includes;
} elsif ($sys eq "wine") {
$default_headers = \$wine_windows_includes;
} else {
usage;
}
}
}
# check/detect topobjdir
# NOTE: Checking for configure is not ideal, but it seems to work
if (defined($topobjdir))
{
unless (-f $topobjdir . "/configure")
{
printf STDERR "Wrong -T argument, %s/configure does not exist\n", $topobjdir;
usage;
}
}
else # try to detect it automatically
{
if (-f "./configure") { $topobjdir = "."; }
elsif (-f "../configure") { $topobjdir = ".."; }
elsif (-f "../../configure") { $topobjdir = "../.."; }
elsif (-f "../../../configure") { $topobjdir = "../../.."; }
else {
printf STDERR "Couldn't locate 'configure', and so no top-level directory\n";
usage;
}
}
chdir $topobjdir;
# Locate all tests
open FIND_FH, "find . -type d -name tests -print |";
while(<FIND_FH>) {
chomp;
push @testdirs,$_;
}
close FIND_FH;
#start writing the makefile in the root directory
open MAKE_FH,">Makefile.win";
print MAKE_FH <<EOH ;
#Define WINDOWS_HEADERS to point at the directory where windows.h lives
#Here are some examples
# For Cygwin
#WINDOWS_HEADERS = $cygwin_windows_includes
# For Mingw
#WINDOWS_HEADERS = $mingw_windows_includes
# For Wine
#WINDOWS_HEADERS = $wine_windows_includes
WINDOWS_HEADERS = $$default_headers
CC = gcc
RM = rm -f
TOUCH = touch
INCLUDE_DIRS = -I\$(WINDOWS_HEADERS) -I./include
CC_OPTS = \$(INCLUDE_DIRS) $cc_opts -include \$(WINDOWS_HEADERS)/windows.h
EOH
# iterate over each 'tests' directory
print MAKE_FH "TEST_O_FILES_wtmain = ./programs/winetest/wtmain.o\n";
foreach $dir (@testdirs) {
my($rootdir);
my($testname)=get_testname($dir);
$rootdir=fix_dir($dir);
unlink("$dir/testlist.c");
# Locate all '.c' files that arent 'spec'
my(@filelist)=grep(!/\.spec/,glob "$dir/*.c");
if(scalar(@filelist)) {
# Create a global list of all tests
foreach $file (@filelist) {
my($newfile);
($newfile = $file) =~ s/c$/ok/;
push(@ok_list,$newfile);
}
# create the testslist.c file for each directory
system("./programs/winetest/make_ctests @filelist > $dir/testlist.c");
push @filelist,"$dir/testlist.c";
push(@gooddirs,$dir);
print MAKE_FH "# $dir\n";
# List all object files needed for this test
print MAKE_FH "TEST_O_FILES_$rootdir = \\\n";
foreach $file (@filelist) {
$file =~ s/c$/o/;
if($file ne $filelist[$#filelist]) {
print MAKE_FH " $file\\\n";
} else {
print MAKE_FH " $file\n";
}
}
print MAKE_FH "TEST_EXE_$rootdir = $dir/$testname.exe\n";
}
}
die "No C files found\n" if (!scalar(@gooddirs));
# The prerequisites for the tests are that the .ok fiels get created
print MAKE_FH "\n# .ok result files\n";
print MAKE_FH "TEST_OK_FILES = \\\n";
foreach $file (@ok_list) {
if($file ne $ok_list[$#ok_list]) {
print MAKE_FH " $file\\\n";
} else {
print MAKE_FH " $file\n";
}
}
print MAKE_FH "\n";
print MAKE_FH "all: \$(TEST_OK_FILES)\n";
print MAKE_FH "\n";
#define how to clean everything up
print MAKE_FH "clean:\n";
print MAKE_FH " \$(RM) \$(TEST_OK_FILES)\n";
print MAKE_FH "\n";
print MAKE_FH "distclean:\n";
print MAKE_FH " \$(RM) \$(TEST_OK_FILES)\n";
print MAKE_FH " \$(RM) \$(TEST_O_FILES_wtmain)\n";
foreach $dir (@gooddirs) {
my($rootdir)=fix_dir($dir);
print MAKE_FH " \$(RM) \$(TEST_EXE_${rootdir}) \$(TEST_O_FILES_${rootdir})\n";
}
print MAKE_FH "\n";
#define how to make the executables
foreach $dir (@gooddirs) {
my($rootdir)=fix_dir($dir);
print MAKE_FH "\$(TEST_EXE_${rootdir}): \$(TEST_O_FILES_${rootdir}) \$(TEST_O_FILES_wtmain)\n";
print MAKE_FH " \$(CC) \$(CC_OPTS) \$(TEST_O_FILES_${rootdir}) \$(TEST_O_FILES_wtmain) -o \$@\n";
}
# define how to make to .ok files
foreach $file (@ok_list) {
my($dir,$test) = ($file =~ /^(.*[\\\/]+tests)[\\\/]+(.*)\.ok$/);
print MAKE_FH "$file: \$(TEST_EXE_". fix_dir($file) . ")\n";
print MAKE_FH " \$< $test && \$(TOUCH) \$@\n";
}
# define how to make the .o files
print MAKE_FH "%.o: %.c\n";
print MAKE_FH " \$(CC) \$(CC_OPTS) -c -o \$@ \$<\n";
close MAKE_FH;
if($archive ne "") {
create_archive($afile,$archive,@testdirs);
}
exit 0;
sub fix_dir {
my($dir)=shift @_;
my($rootdir)=($dir =~ /^[^\\\/]*[\\\/]+(.+)[\\\/]+tests/);
$rootdir =~ s/[\\\/]+/_/g;
return($rootdir);
}
sub get_testname {
my($dir)=shift @_;
my($testname)=($dir =~ /[\\\/]+([^\\\/]+)[\\\/]+tests/i);
return $testname;
}
sub create_archive($$\@) {
my($file,$arch,$dirlist)=@_;
my($dir);
my($cmd);
if($arch eq "z") {
print "Creating zip archive : $file\n";
$cmd = "zip -r $file ";
} else {
print "Creating tar.gz archive : $file\n";
$cmd = "tar -cvzf $file ";
}
foreach $dir (@$dirlist) {
my($cfile);
foreach $cfile (grep(!/\.spec/,glob "$dir/*.c")) {
$cmd .= "$cfile ";
}
}
$cmd .= " ./programs/winetest/wtmain.c";
$cmd .= " ./include";
$cmd .= " ./Makefile.win";
system "$cmd";
}
sub usage
{
print STDERR <<EOF;
Usage: $0 [options]
Options:
-v verbose mode (can be specified multiple times)
-T dir set Wine tree top directory (autodetected if not specified)
-z file archive (zip) all needed files for test
-g file archive (tar.gz) all needed files for test
-i dir specify directory where windows.h lives
-s sys specify system to build on (this sets the default header dir)
Valid values for 'sys' are: cygwin, mingw, and wine
-h Show this message
NOTE: You can specify either -g or -z but not both
EOF
exit 1;
}
#!/usr/bin/perl -w
#
# Extract #define symbol information from C header files.
#
# Copyright 2002 Alexandre Julliard
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# list of symbols (regexps) to skip for each header
%skip_list =
(
"winnt.h" => [ "APIENTRY", "APIPRIVATE", "CALLBACK", "CONST", "EXTERN_C", "PASCAL",
"VOID", "DUMMY(STRUCT|UNION)NAME.*", "STDAPI.*", "STDMETHOD.*", "WINAPI.*",
"WINE_.*", "_*(cdecl|CDECL|pascal|export|fastcall|stdcall)",
"MEM_SYSTEM", "_GET_CONTEXT", "_QUAD_.*",
"CONTEXT_(ALPHA|R4000|SPARC|X86|i386|i486)" ],
"winbase.h" => [ "(Fill|Move|Zero|Copy)Memory" ],
"wingdi.h" => [ "PROFILE_LINKED", "PROFILE_EMBEDDED", "GetCharWidth[AW]" ],
"winuser.h" => [ "OemToAnsi[AW]", "OemToAnsiBuff[AW]", "AnsiToOem[AW]", "AnsiToOemBuff[AW]",
"Ansi(Next|Prev|Lower|Upper|LowerBuff|UpperBuff)[AW]", "GetNextWindow" ],
"winsock2.h" => [ "WSAEVENT", "LPWSAEVENT", "WSAOVERLAPPED", "WS_.*" ]
);
%header_list =
(
"windef.h" => "windef.pm",
"winnt.h" => "winnt.pm",
"winbase.h" => "winbase.pm",
"wingdi.h" => "wingdi.pm",
"winuser.h" => "winuser.pm",
"winerror.h" => "winerror.pm",
"winnls.h" => "winnls.pm",
"winreg.h" => "winreg.pm",
"winsock2.h" => "winsock2.pm",
"winspool.h" => "winspool.pm",
"winver.h" => "winver.pm",
"wincon.h" => "wincon.pm",
"setupapi.h" => "setupapi_h.pm",
);
$include_dir = "../../include";
@list = ($#ARGV >= 0) ? @ARGV : keys %header_list;
foreach $basename (@list)
{
my $skip = $skip_list{$basename};
my $result = "include/" . $header_list{$basename};
my $package = $header_list{$basename};
$package =~ s/\.pm$//;
open INPUT, "$include_dir/$basename" or die "Cannot open $include_dir/$basename";
open OUTPUT, ">sym.c" or die "Cannot create sym.c";
print "Building $result\n";
print OUTPUT <<EOF;
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include "windef.h"
#include "winnt.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winerror.h"
#include "winnls.h"
#include "winreg.h"
#include "winsock2.h"
#include "winspool.h"
#include "winver.h"
#include "wincon.h"
#include "setupapi.h"
EOF
print OUTPUT <<EOF;
int main()
{
printf( "# Automatically generated by make_symbols; DO NOT EDIT!! \\n" );
printf( "#\\n" );
printf( "# Perl definitions for header file $basename\\n" );
printf( "#\\n\\n" );
printf( "\\n" );
printf( "package $package;\\n" );
printf( "\\n" );
printf( "use strict;\\n" );
printf( "\\n" );
printf( "use vars qw(\$VERSION \@ISA \@EXPORT \@EXPORT_OK);\\n" );
printf( "\\n" );
printf( "require Exporter;\\n" );
printf( "\\n" );
printf( "\@ISA = qw(Exporter);\\n" );
printf( "\@EXPORT = qw(\\n" );
EOF
my %symbols = ();
while (<INPUT>)
{
# extract all #defines
next unless (/^\s*\#\s*define\s+([A-Za-z0-9_]+)\s+(.*)$/);
my ($name,$value) = ($1,$2);
# skip empty value
next if ($value eq "");
# skip the WINELIB defines
next if ($value =~ /WINELIB_NAME_AW/);
# skip macros containing multiple values
next if ($value =~ /{.*}/);
# check against regexps to skip
next if (grep { $name =~ /^$_$/ } @$skip);
$symbols{$name} = $value;
}
foreach $sym (sort keys %symbols)
{
printf OUTPUT " printf(\" $sym\\n\");\n";
}
printf OUTPUT " printf(\");\\n\");\n";
printf OUTPUT " printf(\"\@EXPORT_OK = qw();\\n\");\n";
printf OUTPUT " printf(\"\\n\");\n";
foreach $sym (sort keys %symbols)
{
printf OUTPUT " printf(\"use constant $sym => %%d;\\n\", (int)($sym));\n";
}
printf OUTPUT " printf(\"\\n\");\n";
printf OUTPUT " printf(\"1;\\n\");\n";
print OUTPUT " exit(0);\n}\n";
close OUTPUT;
#print "cc -I../../include -o sym sym.c\n";
if (system( "cc -I../../include -o sym sym.c" )) { die "Could not compile sym.c"; }
#print "./sym >$result\n";
if (system( "./sym >$result" )) { die "Could not run ./sym\n"; }
unlink "sym","sym.c";
}
chdir "../..";
exec "tools/winapi/winapi_extract", "--no-progress", "--no-verbose";
#!/usr/bin/perl
#
# Wrapper script to run tests from inside the Wine tree
#
# Usage: runtest [options] input_file [perl_args...]
#
# Copyright 2002 Alexandre Julliard
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
use strict;
sub usage
{
print STDERR <<EOF;
Usage: $0 [options] input_file [perl_args...]
Options:
-q quiet mode
-v verbose mode (can be specified multiple times)
-s announce successful tests
-p prog name of the program to run for C tests
-I dir prepend dir to Perl include path
-P name set the current platform name
-M names set the module names to be tested
-T dir set Wine tree top directory (autodetected if not specified)
EOF
exit 1;
}
# default values
my $platform = $ENV{WINETEST_PLATFORM};
$ENV{WINETEST_DEBUG} ||= 1;
my $topobjdir;
my $infile;
my $program;
my @include_dirs;
my @modules;
# parse command-line options
while ($#ARGV >= 0)
{
my $arg = shift @ARGV;
if ($arg eq "-h") { usage; }
if ($arg eq "-p") { $program = shift @ARGV; next; }
if ($arg eq "-q") { $ENV{WINETEST_DEBUG} = 0; next; }
if ($arg eq "-v") { $ENV{WINETEST_DEBUG}++; next; }
if ($arg eq "-s") { $ENV{WINETEST_REPORT_SUCCESS} = 1; next;}
if ($arg eq "-P") { $platform = shift @ARGV; next; }
if ($arg eq "-M") { push @modules, split /,/, shift @ARGV; next; }
if ($arg eq "-I") { push @include_dirs, shift @ARGV; next; }
if ($arg eq "-T")
{
$topobjdir = shift @ARGV;
usage unless (-d $topobjdir);
next;
}
$infile = $arg;
last;
}
# we must have found an input file
usage unless defined($infile);
if ($infile =~ /\.c$/ && !defined($program))
{
# set program to the .c file base name if not specified otherwise
($program = $infile) =~ s/\.c$//;
}
# check/detect topobjdir
if (defined($topobjdir))
{
unless (-f $topobjdir . "/server/wineserver")
{
printf STDERR "Wrong -T argument, %s/server/wineserver does not exist\n", $topobjdir;
usage;
}
}
else # try to detect it automatically
{
if (-f "./server/wineserver") { $topobjdir = "."; }
elsif (-f "../server/wineserver") { $topobjdir = ".."; }
elsif (-f "../../server/wineserver") { $topobjdir = "../.."; }
elsif (-f "../../../server/wineserver") { $topobjdir = "../../.."; }
}
# check for include/ dir in script source directory and append it to search path
my $basedir = $0;
if ($basedir =~ /\//) { $basedir =~ s!/[^/]+$!!; }
else { $basedir = "."; }
if (-d $basedir . "/include") { push @include_dirs, $basedir . "/include"; }
$ENV{PERL5LIB} = join( ":", @include_dirs, split( ":", $ENV{PERL5LIB} ) );
if (@modules)
{
if (defined($ENV{WINEOPTIONS})) { $ENV{WINEOPTIONS} .= " "; }
$ENV{WINEOPTIONS} .= "--dll " . join(',',@modules) . "=b";
}
# set environment variables needed for Wine
if (defined($topobjdir) && defined($program))
{
chop($topobjdir = `cd $topobjdir && pwd`);
$ENV{LD_LIBRARY_PATH} = $topobjdir . ":" . $ENV{LD_LIBRARY_PATH};
$ENV{WINEDLLPATH} = $topobjdir . "/dlls:" . $topobjdir . "/programs";
$ENV{WINESERVER} = $topobjdir . "/server/wineserver";
$ENV{WINELOADER} = $topobjdir . "/wine";
$ENV{WINETEST_PLATFORM} = $platform || "wine";
exec $ENV{WINELOADER}, $program, $infile, @ARGV;
}
else
{
$ENV{WINETEST_PLATFORM} = $platform || "windows";
}
# and now exec the program
$program ||= "perl";
exec $program, $infile, @ARGV;
print STDERR "Could not exec $program\n";
exit 1;
################################################################
# Tests for wine.pm module functions
#
# Copyright 2001 Alexandre Julliard
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
use wine;
use winetest;
use kernel32;
################################################################
# Test some simple function calls
# Test string arguments
$atom = GlobalAddAtomA("foo");
ok( $atom >= 0xc000 && $atom <= 0xffff );
ok( !defined($wine::err) );
# Test integer and string reference arguments
$buffer = "xxxxxx";
$ret = GlobalGetAtomNameA( $atom, \$buffer, length(buffer) );
ok( !defined($wine::err) );
ok( $ret == 3 );
ok( lc $buffer eq "foo\000xx" );
# Test integer reference
$code = 0;
$ret = GetExitCodeThread( GetCurrentThread(), \$code );
ok( !defined($wine::err) );
ok( $ret );
ok( $code == 0x103 );
# Test string return value
$str = lstrcatA( "foo\0foo", "bar" );
ok( !defined($wine::err) );
ok( $str eq "foobar" );
################################################################
# Test last error handling
SetLastError( 123 );
$ret = GetLastError();
ok( $ret == 123 );
################################################################
# Test various error cases
eval { SetLastError(1,2); };
ok( $@ =~ /Wrong number of arguments, expected 1, got 2/ );
wine::declare("kernel32", "SetLastError" => "int" ); # disable prototype
eval { SetLastError(1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7); };
ok( $@ =~ /Too many arguments/ );
wine::declare("kernel32", "non_existent_func" => ["int",["int"]]);
eval { non_existent_func(1); };
ok( $@ =~ /Could not get address for kernel32\.non_existent_func/ );
my $funcptr = GetProcAddress( GetModuleHandleA("kernel32"), "SetLastError" );
ok( $funcptr );
eval { wine::call_wine_API( $funcptr, 10, $wine::debug-1, 0); };
ok( $@ =~ /Bad return type 10 at/ );
eval { foobar(1,2,3); };
ok( $@ =~ /Function 'foobar' not declared at/ );
################################################################
# Test assert
assert( 1, "cannot fail" );
eval { assert( 0, "this must fail" ); };
ok( $@ =~ /Assertion failed/ );
ok( $@ =~ /this must fail/ );
################################################################
# Test todo blocks
todo_wine
{
ok( $wine::platform ne "wine", "Must fail only on Wine" );
};
todo( $wine::platform,
sub { ok( 0, "Failure must be ignored inside todo" ); } );
todo( $wine::platform . "xxx",
sub { ok( 1, "Success must not cause error inside todo for other platform" ); } );
/*
* Perl interpreter for running Wine tests
*
* Copyright 2001 John F Sturtz for Codeweavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <assert.h>
#include <stdio.h>
#include "windef.h"
#include "winbase.h"
#include <EXTERN.h>
#include <perl.h>
static FARPROC pGetLastError;
/*----------------------------------------------------------------------
| Function: call_wine_func |
| -------------------------------------------------------------------- |
| Purpose: Call a wine API function, passing in appropriate number |
| of args |
| |
| Parameters: proc -- function to call |
| n_args -- array of args |
| a -- array of args |
| |
| Returns: return value from API function called |
----------------------------------------------------------------------*/
static unsigned long call_wine_func
(
FARPROC proc,
int n_args,
unsigned long *a
)
{
/* Locals */
unsigned long rc;
/* Begin call_wine_func */
/*--------------------------------------------------------------
| Now we need to call the function with the appropriate number
| of arguments
|
| Anyone who can think of a better way to do this is welcome to
| come forth with it ...
--------------------------------------------------------------*/
switch (n_args)
{
case 0: rc = proc (); break;
case 1: rc = proc (a[0]); break;
case 2: rc = proc (a[0], a[1]); break;
case 3: rc = proc (a[0], a[1], a[2]); break;
case 4: rc = proc (a[0], a[1], a[2], a[3]); break;
case 5: rc = proc (a[0], a[1], a[2], a[3], a[4]); break;
case 6: rc = proc (a[0], a[1], a[2], a[3], a[4], a[5]); break;
case 7: rc = proc (a[0], a[1], a[2], a[3], a[4], a[5], a[6]); break;
case 8: rc = proc (a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]); break;
case 9: rc = proc (a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]); break;
case 10: rc = proc( a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8],
a[9] ); break;
case 11: rc = proc( a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8],
a[9], a[10] ); break;
case 12: rc = proc( a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8],
a[9], a[10], a[11] ); break;
case 13: rc = proc( a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8],
a[9], a[10], a[11], a[12] ); break;
case 14: rc = proc( a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8],
a[9], a[10], a[11], a[12], a[13] ); break;
case 15: rc = proc( a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8],
a[9], a[10], a[11], a[12], a[13], a[14] ); break;
case 16: rc = proc( a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8],
a[9], a[10], a[11], a[12], a[13], a[14], a[15] ); break;
default:
fprintf( stderr, "%d args not supported\n", n_args );
rc = 0;
break;
}
/*--------------------------------------------------------------
| Return value from func
--------------------------------------------------------------*/
return (rc);
}
/*----------------------------------------------------------------------
| Function: perl_call_wine
| --------------------------------------------------------------------
| Purpose: Fetch and call a wine API function from a library
|
| Parameters:
|
| proc -- function address
| n_args -- number of args
| args -- args
| last_error -- returns the last error code
| debug -- debug flag
|
| Returns: Return value from API function called
----------------------------------------------------------------------*/
unsigned long perl_call_wine
(
FARPROC proc,
int n_args,
unsigned long *args,
unsigned int *last_error,
int debug
)
{
unsigned long ret;
DWORD error, old_error;
if (debug > 1)
{
int i;
fprintf(stderr," perl_call_wine(func=%p", proc);
for (i = 0; i < n_args; i++) fprintf( stderr, ",0x%lx", args[i] );
fprintf( stderr, ")\n" );
}
/* special case to allow testing GetLastError without messing up the last error code */
if (proc == pGetLastError)
ret = call_wine_func (proc, n_args, args);
else
{
old_error = GetLastError();
SetLastError( 0xdeadbeef );
ret = call_wine_func (proc, n_args, args);
error = GetLastError();
if (error != 0xdeadbeef) *last_error = error;
else SetLastError( old_error );
}
return ret;
}
/* perl extension initialisation */
static void xs_init(pTHX)
{
extern void boot_wine(CV *cv);
newXS("wine::bootstrap", boot_wine,__FILE__);
}
/* main function */
int main( int argc, char **argv, char **envp )
{
PerlInterpreter *perl;
int status;
envp = environ; /* envp is not valid (yet) in Winelib */
pGetLastError = GetProcAddress( GetModuleHandleA("kernel32"), "GetLastError" );
assert( pGetLastError );
if (!(perl = perl_alloc ()))
{
fprintf( stderr, "Could not allocate perl interpreter\n" );
exit(1);
}
perl_construct (perl);
status = perl_parse( perl, xs_init, argc, argv, envp );
if (!status) status = perl_run(perl);
perl_destruct (perl);
perl_free (perl);
exit( status );
}
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