1/*
2    SDL - Simple DirectMedia Layer
3    Copyright (C) 1997-2012 Sam Lantinga
4
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    This library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with this library; if not, write to the Free Software
17    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
19    Sam Lantinga
20    slouken@libsdl.org
21*/
22#include "SDL_config.h"
23
24#ifndef _SDL_lowaudio_h
25#define _SDL_lowaudio_h
26
27#define INCL_TYPES
28#define INCL_DOSSEMAPHORES
29#define INCL_DOSRESOURCES
30#define INCL_DOSMISC
31#define INCL_DOSERRORS
32
33#define INCL_OS2MM
34#define INCL_MMIOOS2
35#define INCL_MCIOS2
36#include <os2.h>
37#include <os2me.h>     // DART stuff and MMIO stuff
38
39#include "../SDL_sysaudio.h"
40
41/* Hidden "this" pointer for the audio functions */
42#define _THIS	SDL_AudioDevice *_this
43
44/* The DirectSound objects */
45struct SDL_PrivateAudioData
46{
47  int iCurrDeviceOrd;
48  int iCurrFreq;
49  int iCurrBits;
50  int iCurrChannels;
51  int iCurrNumBufs;
52  int iCurrBufSize;
53
54  int iLastPlayedBuf;
55  int iNextFreeBuffer;
56
57  MCI_BUFFER_PARMS BufferParms;     // Sound buffer parameters
58  MCI_MIX_BUFFER *pMixBuffers;      // Sound buffers
59  MCI_MIXSETUP_PARMS MixSetupParms; // Mixer setup parameters
60  HEV hevAudioBufferPlayed;         // Event semaphore to indicate that an audio buffer has been played by DART
61};
62
63#endif /* _SDL_lowaudio_h */
64