package winmm; use strict; require Exporter; use wine; use vars qw(@ISA @EXPORT @EXPORT_OK); @ISA = qw(Exporter); @EXPORT = qw(); @EXPORT_OK = qw(); my $module_declarations = { "CloseDriver" => ["long", ["long", "long", "long"]], "DefDriverProc" => ["long", ["long", "long", "long", "long", "long"]], "DriverCallback" => ["long", ["long", "long", "long", "long", "long", "long", "long"]], "DrvClose" => ["long", ["long", "long", "long"]], "DrvDefDriverProc" => ["long", ["long", "long", "long", "long", "long"]], "DrvGetModuleHandle" => ["long", ["long"]], "DrvOpen" => ["long", ["wstr", "wstr", "long"]], "DrvOpenA" => ["long", ["str", "str", "long"]], "DrvSendMessage" => ["long", ["long", "long", "long", "long"]], "GetDriverFlags" => ["long", ["long"]], "GetDriverModuleHandle" => ["long", ["long"]], "OpenDriver" => ["long", ["wstr", "wstr", "long"]], "OpenDriverA" => ["long", ["str", "str", "long"]], "PlaySound" => ["long", ["str", "long", "long"]], "PlaySoundA" => ["long", ["str", "long", "long"]], "PlaySoundW" => ["long", ["wstr", "long", "long"]], "SendDriverMessage" => ["long", ["long", "long", "long", "long"]], "auxGetDevCapsA" => ["long", ["long", "ptr", "long"]], "auxGetDevCapsW" => ["long", ["long", "ptr", "long"]], "auxGetNumDevs" => ["long", []], "auxGetVolume" => ["long", ["long", "ptr"]], "auxOutMessage" => ["long", ["long", "long", "long", "long"]], "auxSetVolume" => ["long", ["long", "long"]], "joyGetDevCapsA" => ["long", ["long", "ptr", "long"]], "joyGetDevCapsW" => ["long", ["long", "ptr", "long"]], "joyGetNumDevs" => ["long", []], "joyGetPos" => ["long", ["long", "ptr"]], "joyGetPosEx" => ["long", ["long", "ptr"]], "joyGetThreshold" => ["long", ["long", "ptr"]], "joyReleaseCapture" => ["long", ["long"]], "joySetCapture" => ["long", ["long", "long", "long", "long"]], "joySetThreshold" => ["long", ["long", "long"]], "mciDriverNotify" => ["long", ["long", "long", "long"]], "mciDriverYield" => ["long", ["long"]], "mciExecute" => ["long", ["str"]], "mciFreeCommandResource" => ["long", ["long"]], "mciGetCreatorTask" => ["long", ["long"]], "mciGetDeviceIDA" => ["long", ["str"]], "mciGetDeviceIDFromElementIDW" => ["long", ["long", "wstr"]], "mciGetDeviceIDW" => ["long", ["wstr"]], "mciGetDriverData" => ["long", ["long"]], "mciGetErrorStringA" => ["long", ["long", "str", "long"]], "mciGetErrorStringW" => ["long", ["long", "wstr", "long"]], "mciGetYieldProc" => ["ptr", ["long", "ptr"]], "mciLoadCommandResource" => ["long", ["long", "wstr", "long"]], "mciSendCommandA" => ["long", ["long", "long", "long", "long"]], "mciSendCommandW" => ["long", ["long", "long", "long", "long"]], "mciSendStringA" => ["long", ["str", "str", "long", "long"]], "mciSendStringW" => ["long", ["wstr", "str", "long", "long"]], "mciSetDriverData" => ["long", ["long", "long"]], "mciSetYieldProc" => ["long", ["long", "ptr", "long"]], "midiInAddBuffer" => ["long", ["long", "ptr", "long"]], "midiInClose" => ["long", ["long"]], "midiInGetDevCapsA" => ["long", ["long", "ptr", "long"]], "midiInGetDevCapsW" => ["long", ["long", "ptr", "long"]], "midiInGetErrorTextA" => ["long", ["long", "str", "long"]], "midiInGetErrorTextW" => ["long", ["long", "wstr", "long"]], "midiInGetID" => ["long", ["long", "ptr"]], "midiInGetNumDevs" => ["long", []], "midiInMessage" => ["long", ["long", "long", "long", "long"]], "midiInOpen" => ["long", ["ptr", "long", "long", "long", "long"]], "midiInPrepareHeader" => ["long", ["long", "ptr", "long"]], "midiInReset" => ["long", ["long"]], "midiInStart" => ["long", ["long"]], "midiInStop" => ["long", ["long"]], "midiInUnprepareHeader" => ["long", ["long", "ptr", "long"]], "midiOutCacheDrumPatches" => ["long", ["long", "long", "ptr", "long"]], "midiOutCachePatches" => ["long", ["long", "long", "ptr", "long"]], "midiOutClose" => ["long", ["long"]], "midiOutGetDevCapsA" => ["long", ["long", "ptr", "long"]], "midiOutGetDevCapsW" => ["long", ["long", "ptr", "long"]], "midiOutGetErrorTextA" => ["long", ["long", "str", "long"]], "midiOutGetErrorTextW" => ["long", ["long", "wstr", "long"]], "midiOutGetID" => ["long", ["long", "ptr"]], "midiOutGetNumDevs" => ["long", []], "midiOutGetVolume" => ["long", ["long", "ptr"]], "midiOutLongMsg" => ["long", ["long", "ptr", "long"]], "midiOutMessage" => ["long", ["long", "long", "long", "long"]], "midiOutOpen" => ["long", ["ptr", "long", "long", "long", "long"]], "midiOutPrepareHeader" => ["long", ["long", "ptr", "long"]], "midiOutReset" => ["long", ["long"]], "midiOutSetVolume" => ["long", ["long", "long"]], "midiOutShortMsg" => ["long", ["long", "long"]], "midiOutUnprepareHeader" => ["long", ["long", "ptr", "long"]], "midiStreamClose" => ["long", ["long"]], "midiStreamOpen" => ["long", ["ptr", "ptr", "long", "long", "long", "long"]], "midiStreamOut" => ["long", ["long", "ptr", "long"]], "midiStreamPause" => ["long", ["long"]], "midiStreamPosition" => ["long", ["long", "ptr", "long"]], "midiStreamProperty" => ["long", ["long", "ptr", "long"]], "midiStreamRestart" => ["long", ["long"]], "midiStreamStop" => ["long", ["long"]], "mixerClose" => ["long", ["long"]], "mixerGetControlDetailsA" => ["long", ["long", "ptr", "long"]], "mixerGetControlDetailsW" => ["long", ["long", "ptr", "long"]], "mixerGetDevCapsA" => ["long", ["long", "ptr", "long"]], "mixerGetDevCapsW" => ["long", ["long", "ptr", "long"]], "mixerGetID" => ["long", ["long", "ptr", "long"]], "mixerGetLineControlsA" => ["long", ["long", "ptr", "long"]], "mixerGetLineControlsW" => ["long", ["long", "ptr", "long"]], "mixerGetLineInfoA" => ["long", ["long", "ptr", "long"]], "mixerGetLineInfoW" => ["long", ["long", "ptr", "long"]], "mixerGetNumDevs" => ["long", []], "mixerMessage" => ["long", ["long", "long", "long", "long"]], "mixerOpen" => ["long", ["ptr", "long", "long", "long", "long"]], "mixerSetControlDetails" => ["long", ["long", "ptr", "long"]], "mmioAdvance" => ["long", ["long", "ptr", "long"]], "mmioAscend" => ["long", ["long", "ptr", "long"]], "mmioClose" => ["long", ["long", "long"]], "mmioCreateChunk" => ["long", ["long", "ptr", "long"]], "mmioDescend" => ["long", ["long", "ptr", "ptr", "long"]], "mmioFlush" => ["long", ["long", "long"]], "mmioGetInfo" => ["long", ["long", "ptr", "long"]], "mmioInstallIOProcA" => ["ptr", ["long", "ptr", "long"]], "mmioInstallIOProcW" => ["ptr", ["long", "ptr", "long"]], "mmioOpenA" => ["long", ["str", "ptr", "long"]], "mmioOpenW" => ["long", ["wstr", "ptr", "long"]], "mmioRead" => ["long", ["long", "ptr", "long"]], "mmioRenameA" => ["long", ["str", "str", "ptr", "long"]], "mmioRenameW" => ["long", ["wstr", "wstr", "ptr", "long"]], "mmioSeek" => ["long", ["long", "long", "long"]], "mmioSendMessage" => ["long", ["long", "long", "long", "long"]], "mmioSetBuffer" => ["long", ["long", "str", "long", "long"]], "mmioSetInfo" => ["long", ["long", "ptr", "long"]], "mmioStringToFOURCCA" => ["long", ["str", "long"]], "mmioStringToFOURCCW" => ["long", ["wstr", "long"]], "mmioWrite" => ["long", ["long", "ptr", "long"]], "mmsystemGetVersion" => ["long", []], "sndPlaySoundA" => ["long", ["str", "long"]], "sndPlaySoundW" => ["long", ["wstr", "long"]], "timeBeginPeriod" => ["long", ["long"]], "timeEndPeriod" => ["long", ["long"]], "timeGetDevCaps" => ["long", ["ptr", "long"]], "timeGetSystemTime" => ["long", ["ptr", "long"]], "timeGetTime" => ["long", []], "timeKillEvent" => ["long", ["long"]], "timeSetEvent" => ["long", ["long", "long", "ptr", "long", "long"]], "waveInAddBuffer" => ["long", ["long", "ptr", "long"]], "waveInClose" => ["long", ["long"]], "waveInGetDevCapsA" => ["long", ["long", "ptr", "long"]], "waveInGetDevCapsW" => ["long", ["long", "ptr", "long"]], "waveInGetErrorTextA" => ["long", ["long", "str", "long"]], "waveInGetErrorTextW" => ["long", ["long", "wstr", "long"]], "waveInGetID" => ["long", ["long", "ptr"]], "waveInGetNumDevs" => ["long", []], "waveInGetPosition" => ["long", ["long", "ptr", "long"]], "waveInMessage" => ["long", ["long", "long", "long", "long"]], "waveInOpen" => ["long", ["ptr", "long", "ptr", "long", "long", "long"]], "waveInPrepareHeader" => ["long", ["long", "ptr", "long"]], "waveInReset" => ["long", ["long"]], "waveInStart" => ["long", ["long"]], "waveInStop" => ["long", ["long"]], "waveInUnprepareHeader" => ["long", ["long", "ptr", "long"]], "waveOutBreakLoop" => ["long", ["long"]], "waveOutClose" => ["long", ["long"]], "waveOutGetDevCapsA" => ["long", ["long", "ptr", "long"]], "waveOutGetDevCapsW" => ["long", ["long", "ptr", "long"]], "waveOutGetErrorTextA" => ["long", ["long", "str", "long"]], "waveOutGetErrorTextW" => ["long", ["long", "wstr", "long"]], "waveOutGetID" => ["long", ["long", "ptr"]], "waveOutGetNumDevs" => ["long", []], "waveOutGetPitch" => ["long", ["long", "ptr"]], "waveOutGetPlaybackRate" => ["long", ["long", "ptr"]], "waveOutGetPosition" => ["long", ["long", "ptr", "long"]], "waveOutGetVolume" => ["long", ["long", "ptr"]], "waveOutMessage" => ["long", ["long", "long", "long", "long"]], "waveOutOpen" => ["long", ["ptr", "long", "ptr", "long", "long", "long"]], "waveOutPause" => ["long", ["long"]], "waveOutPrepareHeader" => ["long", ["long", "ptr", "long"]], "waveOutReset" => ["long", ["long"]], "waveOutRestart" => ["long", ["long"]], "waveOutSetPitch" => ["long", ["long", "long"]], "waveOutSetPlaybackRate" => ["long", ["long", "long"]], "waveOutSetVolume" => ["long", ["long", "long"]], "waveOutUnprepareHeader" => ["long", ["long", "ptr", "long"]], "waveOutWrite" => ["long", ["long", "ptr", "long"]] }; &wine::declare("winmm",%$module_declarations); push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations)); 1;