//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Posix win32 replacements - Mocks trivial windows flow // //============================================================================= #ifndef POSIX_AUDIO_STUBS_H #define POSIX_AUDIO_STUBS_H #define DSBCAPS_LOCSOFTWARE 0 #define DSERR_BUFFERLOST 0 #define DSBSTATUS_BUFFERLOST 0x02 #define DSSPEAKER_GEOMETRY(x) (((x)>>16) & 0xFFFF) #define DSSPEAKER_CONFIG(x) ((x) & 0xFFFF) #define DSSPEAKER_HEADPHONE -1 #define DSSPEAKER_QUAD -2 #define DSSPEAKER_5POINT1 -3 #define DSSPEAKER_7POINT1 -4 #define DISP_CHANGE_SUCCESSFUL 0 #define HKEY_CURRENT_USER NULL #define HKEY_LOCAL_MACHINE NULL #define KEY_QUERY_VALUE 0 #define KEY_READ 0 #define KEY_WRITE 1 #define KEY_ALL_ACCESS ((ULONG)-1) #define SMTO_ABORTIFHUNG 0 #define JOY_RETURNX 0x01 #define JOY_RETURNY 0x02 #define JOY_RETURNZ 0x04 #define JOY_RETURNR 0x08 #define JOY_RETURNU 0x10 #define JOY_RETURNV 0x20 #define JOYCAPS_HASPOV 0x01 #define JOYCAPS_HASU 0x01 #define JOYCAPS_HASV 0x01 #define JOYCAPS_HASR 0x01 #define JOYCAPS_HASZ 0x01 #define MMSYSERR_NODRIVER 1 #define JOYERR_NOERROR 0 #define JOY_RETURNCENTERED 0 #define JOY_RETURNBUTTONS 0 #define JOY_RETURNPOV 0 #define JOY_POVCENTERED 0 #define JOY_POVFORWARD 0 #define JOY_POVRIGHT 0 #define JOY_POVBACKWARD 0 #define JOY_POVLEFT 0 #define CCHDEVICENAME 32 #define CCHFORMNAME 32 typedef wchar_t BCHAR; typedef uint MMRESULT; typedef uint32 *DWORD_PTR; typedef char *LPCSTR; typedef uint POINTL; #define IDLE_PRIORITY_CLASS 1 #define HIGH_PRIORITY_CLASS 2 typedef struct _devicemode { BCHAR dmDeviceName[CCHDEVICENAME]; WORD dmSpecVersion; WORD dmDriverVersion; WORD dmSize; WORD dmDriverExtra; DWORD dmFields; union u1 { struct s { short dmOrientation; short dmPaperSize; short dmPaperLength; short dmPaperWidth; short dmScale; short dmCopies; short dmDefaultSource; short dmPrintQuality; }; POINTL dmPosition; DWORD dmDisplayOrientation; DWORD dmDisplayFixedOutput; }; short dmColor; short dmDuplex; short dmYResolution; short dmTTOption; short dmCollate; BYTE dmFormName[CCHFORMNAME]; WORD dmLogPixels; DWORD dmBitsPerPel; DWORD dmPelsWidth; DWORD dmPelsHeight; union u2 { DWORD dmDisplayFlags; DWORD dmNup; }; DWORD dmDisplayFrequency; DWORD dmICMMethod; DWORD dmICMIntent; DWORD dmMediaType; DWORD dmDitherType; DWORD dmReserved1; DWORD dmReserved2; DWORD dmPanningWidth; DWORD dmPanningHeight; } DEVMODE, *LPDEVMODE; typedef uint32 MCIERROR; typedef uint MCIDEVICEID; typedef struct { DWORD_PTR dwCallback; } MCI_GENERIC_PARMS; typedef struct { DWORD_PTR dwCallback; DWORD dwReturn; DWORD dwItem; DWORD dwTrack; } MCI_STATUS_PARMS; typedef struct { DWORD_PTR dwCallback; DWORD dwFrom; DWORD dwTo; } MCI_PLAY_PARMS; typedef struct { DWORD_PTR dwCallback; MCIDEVICEID wDeviceID; LPCSTR lpstrDeviceType; LPCSTR lpstrElementName; LPCSTR lpstrAlias; } MCI_OPEN_PARMS; typedef struct { DWORD_PTR dwCallback; DWORD dwTimeFormat; DWORD dwAudio; } MCI_SET_PARMS; #define MCI_MAKE_TMSF(t, m, s, f) ((DWORD)(((BYTE)(t) | ((WORD)(m) << 8)) | ((DWORD)(BYTE)(s) | ((WORD)(f)<<8)) << 16)) #define MCI_MSF_MINUTE(msf) ((BYTE)(msf)) #define MCI_MSF_SECOND(msf) ((BYTE)(((WORD)(msf)) >> 8)) #define MCI_OPEN 0 #define MCI_OPEN_TYPE 0 #define MCI_OPEN_SHAREABLE 0 #define MCI_FORMAT_TMSF 0 #define MCI_SET_TIME_FORMAT 0 #define MCI_CLOSE 0 #define MCI_STOP 0 #define MCI_PAUSE 0 #define MCI_PLAY 0 #define MCI_SET 0 #define MCI_SET_DOOR_OPEN 0 #define MCI_SET_DOOR_CLOSED 0 #define MCI_STATUS_READY 0 #define MCI_STATUS 0 #define MCI_STATUS_ITEM 0 #define MCI_STATUS_WAIT 0 #define MCI_STATUS_NUMBER_OF_TRACKS 0 #define MCI_CDA_STATUS_TYPE_TRACK 0 #define MCI_TRACK 0 #define MCI_WAIT 0 #define MCI_CDA_TRACK_AUDIO 0 #define MCI_STATUS_LENGTH 0 #define MCI_NOTIFY 0 #define MCI_FROM 0 #define MCI_TO 0 #define MCIERR_DRIVER -1 #define DSERR_ALLOCATED 0 #pragma pack(push, 1) typedef struct tWAVEFORMATEX { WORD wFormatTag; WORD nChannels; DWORD nSamplesPerSec; DWORD nAvgBytesPerSec; WORD nBlockAlign; WORD wBitsPerSample; WORD cbSize; } WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX; typedef const WAVEFORMATEX *LPCWAVEFORMATEX; typedef struct waveformat_tag { WORD wFormatTag; WORD nChannels; DWORD nSamplesPerSec; DWORD nAvgBytesPerSec; WORD nBlockAlign; } WAVEFORMAT, *PWAVEFORMAT, *NPWAVEFORMAT, *LPWAVEFORMAT; typedef const WAVEFORMAT *LPCWAVEFORMAT; typedef struct pcmwaveformat_tag { WAVEFORMAT wf; WORD wBitsPerSample; } PCMWAVEFORMAT, *PPCMWAVEFORMAT, *NPPCMWAVEFORMAT, *LPPCMWAVEFORMAT; typedef const PCMWAVEFORMAT *LPCPCMWAVEFORMAT; typedef struct adpcmcoef_tag { short iCoef1; short iCoef2; } ADPCMCOEFSET; typedef struct adpcmwaveformat_tag { WAVEFORMATEX wfx; WORD wSamplesPerBlock; WORD wNumCoef; ADPCMCOEFSET aCoef[1]; } ADPCMWAVEFORMAT; #pragma pack(pop) #endif