147 lines
5.3 KiB
C
147 lines
5.3 KiB
C
/*++ 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);
|