/*++ BUILD Version: 0001 * * WOW v1.0 * * Copyright (c) 1991, Microsoft Corporation * * WMMSTRUC.H * WOW32 16-bit MultiMedia structure conversion support * * History: * Created 13-Feb-1992 by Mike Tricker (miketri) after jeffpar * --*/ /*++ Hack to make the code work with current MIPS compiler, whereby the compiler can't work out the correct size of a MMTIME16 structure. --*/ #define MIPS_COMPILER_PACKING_BUG /**********************************************************************\ * * The following macros are used to set or clear the done bit in a * 16 bit wave|midi header structure. * \**********************************************************************/ #define COPY_WAVEOUTHDR16_FLAGS( x, y ) \ { \ PWAVEHDR16 pWavHdr; \ DWORD dw; \ \ pWavHdr = (x); \ dw = (y).dwFlags; \ STOREDWORD( pWavHdr->dwFlags, dw ); \ } #define COPY_MIDIOUTHDR16_FLAGS( x, y ) \ { \ PMIDIHDR16 pMidHdr; \ DWORD dw; \ \ pMidHdr = (x); \ dw = (y).dwFlags; \ STOREDWORD( pMidHdr->dwFlags, dw ); \ } #define COPY_WAVEINHDR16_FLAGS( x, y ) \ { \ PWAVEHDR16 pWavHdr; \ DWORD dw; \ \ pWavHdr = (x); \ dw = (y).dwFlags; \ STOREDWORD( pWavHdr->dwFlags, dw ); \ dw = (y).dwBytesRecorded; \ STOREDWORD( pWavHdr->dwBytesRecorded, dw ); \ } #define COPY_MIDIINHDR16_FLAGS( x, y ) \ { \ PMIDIHDR16 pMidHdr; \ DWORD dw; \ \ pMidHdr = (x); \ dw = (y).dwFlags; \ STOREDWORD( pMidHdr->dwFlags, dw ); \ dw = (y).dwBytesRecorded; \ STOREDWORD( pMidHdr->dwBytesRecorded, dw ); \ } /*++ Call definitions --*/ #define GETMMTIME16(vp,lp) getmmtime16(FETCHDWORD(vp),lp) #define GETWAVEHDR16(vp,lp) getwavehdr16(FETCHDWORD(vp), lp) #define GETMIDIHDR16(vp,lp) getmidihdr16(FETCHDWORD(vp), lp) #define PUTMMTIME16(vp,lp) putmmtime16(FETCHDWORD(vp),lp) #define PUTWAVEHDR16(vp,lp) putwavehdr16(FETCHDWORD(vp), lp) #define PUTWAVEFORMAT16(vp,lp) putwaveformat16(FETCHDWORD(vp), lp) #define PUTWAVEOUTCAPS16(vp,lp,c) putwaveoutcaps16(FETCHDWORD(vp), lp, c) #define PUTWAVEINCAPS16(vp,lp,c) putwaveincaps16(FETCHDWORD(vp), lp, c) #define PUTMIDIHDR16(vp,lp) putmidihdr16(FETCHDWORD(vp), lp) #define PUTAUXCAPS16(vp,lp,c) putauxcaps16(FETCHDWORD(vp), lp, c) #define PUTTIMECAPS16(vp,lp,c) puttimecaps16(FETCHDWORD(vp), lp, c) #define PUTMIDIINCAPS16(vp,lp,c) putmidiincaps16(FETCHDWORD(vp), lp, c) #define PUTMIDIOUTCAPS16(vp,lp,c) putmidioutcaps16(FETCHDWORD(vp), lp, c) #define PUTJOYCAPS16(vp,lp,c) putjoycaps16(FETCHDWORD(vp), lp, c) #define PUTJOYINFO16(vp,lp) putjoyinfo16(FETCHDWORD(vp), lp) #ifndef DEBUG #define FREEMMTIME(p) #define FREEWAVEHDR(p) #define FREEWAVEOUTCAPS(p) #define FREEWAVEINCAPS(p) #define FREEMIDIHDR(p) #define FREEAUXCAPS(p) #define FREETIMECAPS(p) #define FREEMIDIINCAPS(p) #define FREEMIDIOUTCAPS(p) #define FREEJOYCAPS(p) #define FREEJOYINFO(p) #else #define FREEMMTIME(p) p=NULL #define FREEWAVEHDR(p) p=NULL #define FREEWAVEOUTCAPS(p) p=NULL #define FREEWAVEINCAPS(p) p=NULL #define FREEMIDIHDR(p) p=NULL #define FREEAUXCAPS(p) p=NULL #define FREETIMECAPS(p) p=NULL #define FREEMIDIINCAPS(p) p=NULL #define FREEMIDIOUTCAPS(p) p=NULL #define FREEJOYCAPS(p) p=NULL #define FREEJOYINFO(p) p=NULL #endif /*++ Function prototypes --*/ PWAVEHDR16 getwavehdr16(VPWAVEHDR16 vpwhdr, LPWAVEHDR lpwhdr); VOID putwavehdr16(VPWAVEHDR16 vpwhdr, LPWAVEHDR lpwhdr); PMIDIHDR16 getmidihdr16(VPMIDIHDR16 vpmhdr, LPMIDIHDR lpmhdr); VOID putmidihdr16(VPMIDIHDR16 vpmhdr, LPMIDIHDR lpmhdr); ULONG getmmtime16 (VPMMTIME16 vpmmt, LPMMTIME lpmmt); ULONG putmmtime16 (VPMMTIME16 vpmmt, LPMMTIME lpmmt); ULONG putwaveoutcaps16 (VPWAVEOUTCAPS16 vpwoc, LPWAVEOUTCAPS lpwoc, UINT uSize); ULONG putwaveincaps16 (VPWAVEINCAPS16 vpwic, LPWAVEINCAPS lpwic, UINT uSize); ULONG putauxcaps16 (VPAUXCAPS16 vpauxc, LPAUXCAPS lpauxc, UINT uSize); ULONG puttimecaps16 (VPTIMECAPS16 vptimec, LPTIMECAPS lptimec, UINT uSize); ULONG putmidiincaps16 (VPMIDIINCAPS16 vpmic, LPMIDIINCAPS lpmic, UINT uSize); ULONG putmidioutcaps16 (VPMIDIOUTCAPS16 vpmoc, LPMIDIOUTCAPS lpmoc, UINT uSize); ULONG putjoycaps16 (VPJOYCAPS16 vpjoyc, LPJOYCAPS lpjoyc, UINT uSize); ULONG putjoyinfo16 (VPJOYINFO16 vpjoyi, LPJOYINFO lpjoyi);