Added regedit unit test, a couple minor changes to regedit.
[wine] / programs / winetest / include / winmm.pm
1 package winmm;
2
3 use strict;
4
5 require Exporter;
6
7 use wine;
8 use vars qw(@ISA @EXPORT @EXPORT_OK);
9
10 @ISA = qw(Exporter);
11 @EXPORT = qw();
12 @EXPORT_OK = qw();
13
14 my $module_declarations = {
15     "CloseDriver" => ["long",  ["long", "long", "long"]],
16     "DefDriverProc" => ["long",  ["long", "long", "long", "long", "long"]],
17     "DriverCallback" => ["long",  ["long", "long", "long", "long", "long", "long", "long"]],
18     "DrvClose" => ["long",  ["long", "long", "long"]],
19     "DrvDefDriverProc" => ["long",  ["long", "long", "long", "long", "long"]],
20     "DrvGetModuleHandle" => ["long",  ["long"]],
21     "DrvOpen" => ["long",  ["wstr", "wstr", "long"]],
22     "DrvOpenA" => ["long",  ["str", "str", "long"]],
23     "DrvSendMessage" => ["long",  ["long", "long", "long", "long"]],
24     "GetDriverFlags" => ["long",  ["long"]],
25     "GetDriverModuleHandle" => ["long",  ["long"]],
26     "OpenDriver" => ["long",  ["wstr", "wstr", "long"]],
27     "OpenDriverA" => ["long",  ["str", "str", "long"]],
28     "PlaySound" => ["long",  ["str", "long", "long"]],
29     "PlaySoundA" => ["long",  ["str", "long", "long"]],
30     "PlaySoundW" => ["long",  ["wstr", "long", "long"]],
31     "SendDriverMessage" => ["long",  ["long", "long", "long", "long"]],
32     "auxGetDevCapsA" => ["long",  ["long", "ptr", "long"]],
33     "auxGetDevCapsW" => ["long",  ["long", "ptr", "long"]],
34     "auxGetNumDevs" => ["long",  []],
35     "auxGetVolume" => ["long",  ["long", "ptr"]],
36     "auxOutMessage" => ["long",  ["long", "long", "long", "long"]],
37     "auxSetVolume" => ["long",  ["long", "long"]],
38     "joyGetDevCapsA" => ["long",  ["long", "ptr", "long"]],
39     "joyGetDevCapsW" => ["long",  ["long", "ptr", "long"]],
40     "joyGetNumDevs" => ["long",  []],
41     "joyGetPos" => ["long",  ["long", "ptr"]],
42     "joyGetPosEx" => ["long",  ["long", "ptr"]],
43     "joyGetThreshold" => ["long",  ["long", "ptr"]],
44     "joyReleaseCapture" => ["long",  ["long"]],
45     "joySetCapture" => ["long",  ["long", "long", "long", "long"]],
46     "joySetThreshold" => ["long",  ["long", "long"]],
47     "mciDriverNotify" => ["long",  ["long", "long", "long"]],
48     "mciDriverYield" => ["long",  ["long"]],
49     "mciExecute" => ["long",  ["str"]],
50     "mciFreeCommandResource" => ["long",  ["long"]],
51     "mciGetCreatorTask" => ["long",  ["long"]],
52     "mciGetDeviceIDA" => ["long",  ["str"]],
53     "mciGetDeviceIDFromElementIDW" => ["long",  ["long", "wstr"]],
54     "mciGetDeviceIDW" => ["long",  ["wstr"]],
55     "mciGetDriverData" => ["long",  ["long"]],
56     "mciGetErrorStringA" => ["long",  ["long", "str", "long"]],
57     "mciGetErrorStringW" => ["long",  ["long", "wstr", "long"]],
58     "mciGetYieldProc" => ["ptr",  ["long", "ptr"]],
59     "mciLoadCommandResource" => ["long",  ["long", "wstr", "long"]],
60     "mciSendCommandA" => ["long",  ["long", "long", "long", "long"]],
61     "mciSendCommandW" => ["long",  ["long", "long", "long", "long"]],
62     "mciSendStringA" => ["long",  ["str", "str", "long", "long"]],
63     "mciSendStringW" => ["long",  ["wstr", "str", "long", "long"]],
64     "mciSetDriverData" => ["long",  ["long", "long"]],
65     "mciSetYieldProc" => ["long",  ["long", "ptr", "long"]],
66     "midiInAddBuffer" => ["long",  ["long", "ptr", "long"]],
67     "midiInClose" => ["long",  ["long"]],
68     "midiInGetDevCapsA" => ["long",  ["long", "ptr", "long"]],
69     "midiInGetDevCapsW" => ["long",  ["long", "ptr", "long"]],
70     "midiInGetErrorTextA" => ["long",  ["long", "str", "long"]],
71     "midiInGetErrorTextW" => ["long",  ["long", "wstr", "long"]],
72     "midiInGetID" => ["long",  ["long", "ptr"]],
73     "midiInGetNumDevs" => ["long",  []],
74     "midiInMessage" => ["long",  ["long", "long", "long", "long"]],
75     "midiInOpen" => ["long",  ["ptr", "long", "long", "long", "long"]],
76     "midiInPrepareHeader" => ["long",  ["long", "ptr", "long"]],
77     "midiInReset" => ["long",  ["long"]],
78     "midiInStart" => ["long",  ["long"]],
79     "midiInStop" => ["long",  ["long"]],
80     "midiInUnprepareHeader" => ["long",  ["long", "ptr", "long"]],
81     "midiOutCacheDrumPatches" => ["long",  ["long", "long", "ptr", "long"]],
82     "midiOutCachePatches" => ["long",  ["long", "long", "ptr", "long"]],
83     "midiOutClose" => ["long",  ["long"]],
84     "midiOutGetDevCapsA" => ["long",  ["long", "ptr", "long"]],
85     "midiOutGetDevCapsW" => ["long",  ["long", "ptr", "long"]],
86     "midiOutGetErrorTextA" => ["long",  ["long", "str", "long"]],
87     "midiOutGetErrorTextW" => ["long",  ["long", "wstr", "long"]],
88     "midiOutGetID" => ["long",  ["long", "ptr"]],
89     "midiOutGetNumDevs" => ["long",  []],
90     "midiOutGetVolume" => ["long",  ["long", "ptr"]],
91     "midiOutLongMsg" => ["long",  ["long", "ptr", "long"]],
92     "midiOutMessage" => ["long",  ["long", "long", "long", "long"]],
93     "midiOutOpen" => ["long",  ["ptr", "long", "long", "long", "long"]],
94     "midiOutPrepareHeader" => ["long",  ["long", "ptr", "long"]],
95     "midiOutReset" => ["long",  ["long"]],
96     "midiOutSetVolume" => ["long",  ["long", "long"]],
97     "midiOutShortMsg" => ["long",  ["long", "long"]],
98     "midiOutUnprepareHeader" => ["long",  ["long", "ptr", "long"]],
99     "midiStreamClose" => ["long",  ["long"]],
100     "midiStreamOpen" => ["long",  ["ptr", "ptr", "long", "long", "long", "long"]],
101     "midiStreamOut" => ["long",  ["long", "ptr", "long"]],
102     "midiStreamPause" => ["long",  ["long"]],
103     "midiStreamPosition" => ["long",  ["long", "ptr", "long"]],
104     "midiStreamProperty" => ["long",  ["long", "ptr", "long"]],
105     "midiStreamRestart" => ["long",  ["long"]],
106     "midiStreamStop" => ["long",  ["long"]],
107     "mixerClose" => ["long",  ["long"]],
108     "mixerGetControlDetailsA" => ["long",  ["long", "ptr", "long"]],
109     "mixerGetControlDetailsW" => ["long",  ["long", "ptr", "long"]],
110     "mixerGetDevCapsA" => ["long",  ["long", "ptr", "long"]],
111     "mixerGetDevCapsW" => ["long",  ["long", "ptr", "long"]],
112     "mixerGetID" => ["long",  ["long", "ptr", "long"]],
113     "mixerGetLineControlsA" => ["long",  ["long", "ptr", "long"]],
114     "mixerGetLineControlsW" => ["long",  ["long", "ptr", "long"]],
115     "mixerGetLineInfoA" => ["long",  ["long", "ptr", "long"]],
116     "mixerGetLineInfoW" => ["long",  ["long", "ptr", "long"]],
117     "mixerGetNumDevs" => ["long",  []],
118     "mixerMessage" => ["long",  ["long", "long", "long", "long"]],
119     "mixerOpen" => ["long",  ["ptr", "long", "long", "long", "long"]],
120     "mixerSetControlDetails" => ["long",  ["long", "ptr", "long"]],
121     "mmioAdvance" => ["long",  ["long", "ptr", "long"]],
122     "mmioAscend" => ["long",  ["long", "ptr", "long"]],
123     "mmioClose" => ["long",  ["long", "long"]],
124     "mmioCreateChunk" => ["long",  ["long", "ptr", "long"]],
125     "mmioDescend" => ["long",  ["long", "ptr", "ptr", "long"]],
126     "mmioFlush" => ["long",  ["long", "long"]],
127     "mmioGetInfo" => ["long",  ["long", "ptr", "long"]],
128     "mmioInstallIOProcA" => ["ptr",  ["long", "ptr", "long"]],
129     "mmioInstallIOProcW" => ["ptr",  ["long", "ptr", "long"]],
130     "mmioOpenA" => ["long",  ["str", "ptr", "long"]],
131     "mmioOpenW" => ["long",  ["wstr", "ptr", "long"]],
132     "mmioRead" => ["long",  ["long", "ptr", "long"]],
133     "mmioRenameA" => ["long",  ["str", "str", "ptr", "long"]],
134     "mmioRenameW" => ["long",  ["wstr", "wstr", "ptr", "long"]],
135     "mmioSeek" => ["long",  ["long", "long", "long"]],
136     "mmioSendMessage" => ["long",  ["long", "long", "long", "long"]],
137     "mmioSetBuffer" => ["long",  ["long", "str", "long", "long"]],
138     "mmioSetInfo" => ["long",  ["long", "ptr", "long"]],
139     "mmioStringToFOURCCA" => ["long",  ["str", "long"]],
140     "mmioStringToFOURCCW" => ["long",  ["wstr", "long"]],
141     "mmioWrite" => ["long",  ["long", "ptr", "long"]],
142     "mmsystemGetVersion" => ["long",  []],
143     "sndPlaySoundA" => ["long",  ["str", "long"]],
144     "sndPlaySoundW" => ["long",  ["wstr", "long"]],
145     "timeBeginPeriod" => ["long",  ["long"]],
146     "timeEndPeriod" => ["long",  ["long"]],
147     "timeGetDevCaps" => ["long",  ["ptr", "long"]],
148     "timeGetSystemTime" => ["long",  ["ptr", "long"]],
149     "timeGetTime" => ["long",  []],
150     "timeKillEvent" => ["long",  ["long"]],
151     "timeSetEvent" => ["long",  ["long", "long", "ptr", "long", "long"]],
152     "waveInAddBuffer" => ["long",  ["long", "ptr", "long"]],
153     "waveInClose" => ["long",  ["long"]],
154     "waveInGetDevCapsA" => ["long",  ["long", "ptr", "long"]],
155     "waveInGetDevCapsW" => ["long",  ["long", "ptr", "long"]],
156     "waveInGetErrorTextA" => ["long",  ["long", "str", "long"]],
157     "waveInGetErrorTextW" => ["long",  ["long", "wstr", "long"]],
158     "waveInGetID" => ["long",  ["long", "ptr"]],
159     "waveInGetNumDevs" => ["long",  []],
160     "waveInGetPosition" => ["long",  ["long", "ptr", "long"]],
161     "waveInMessage" => ["long",  ["long", "long", "long", "long"]],
162     "waveInOpen" => ["long",  ["ptr", "long", "ptr", "long", "long", "long"]],
163     "waveInPrepareHeader" => ["long",  ["long", "ptr", "long"]],
164     "waveInReset" => ["long",  ["long"]],
165     "waveInStart" => ["long",  ["long"]],
166     "waveInStop" => ["long",  ["long"]],
167     "waveInUnprepareHeader" => ["long",  ["long", "ptr", "long"]],
168     "waveOutBreakLoop" => ["long",  ["long"]],
169     "waveOutClose" => ["long",  ["long"]],
170     "waveOutGetDevCapsA" => ["long",  ["long", "ptr", "long"]],
171     "waveOutGetDevCapsW" => ["long",  ["long", "ptr", "long"]],
172     "waveOutGetErrorTextA" => ["long",  ["long", "str", "long"]],
173     "waveOutGetErrorTextW" => ["long",  ["long", "wstr", "long"]],
174     "waveOutGetID" => ["long",  ["long", "ptr"]],
175     "waveOutGetNumDevs" => ["long",  []],
176     "waveOutGetPitch" => ["long",  ["long", "ptr"]],
177     "waveOutGetPlaybackRate" => ["long",  ["long", "ptr"]],
178     "waveOutGetPosition" => ["long",  ["long", "ptr", "long"]],
179     "waveOutGetVolume" => ["long",  ["long", "ptr"]],
180     "waveOutMessage" => ["long",  ["long", "long", "long", "long"]],
181     "waveOutOpen" => ["long",  ["ptr", "long", "ptr", "long", "long", "long"]],
182     "waveOutPause" => ["long",  ["long"]],
183     "waveOutPrepareHeader" => ["long",  ["long", "ptr", "long"]],
184     "waveOutReset" => ["long",  ["long"]],
185     "waveOutRestart" => ["long",  ["long"]],
186     "waveOutSetPitch" => ["long",  ["long", "long"]],
187     "waveOutSetPlaybackRate" => ["long",  ["long", "long"]],
188     "waveOutSetVolume" => ["long",  ["long", "long"]],
189     "waveOutUnprepareHeader" => ["long",  ["long", "ptr", "long"]],
190     "waveOutWrite" => ["long",  ["long", "ptr", "long"]]
191 };
192
193 &wine::declare("winmm",%$module_declarations);
194 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
195 1;