1/*
2    SDL - Simple DirectMedia Layer
3    Copyright (C) 1997-2004 Sam Lantinga
4
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Library General Public
7    License as published by the Free Software Foundation; either
8    version 2 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    Library General Public License for more details.
14
15    You should have received a copy of the GNU Library General Public
16    License along with this library; if not, write to the Free
17    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
19    Sam Lantinga
20    slouken@libsdl.org
21*/
22#include "SDL_config.h"
23
24#ifndef _ALSA_PCM_audio_h
25#define _ALSA_PCM_audio_h
26
27#define ALSA_PCM_OLD_HW_PARAMS_API
28#define ALSA_PCM_OLD_SW_PARAMS_API
29#include <alsa/asoundlib.h>
30
31#include "../SDL_sysaudio.h"
32
33/* Hidden "this" pointer for the video functions */
34#define _THIS	SDL_AudioDevice *this
35
36struct SDL_PrivateAudioData {
37	/* The audio device handle */
38	snd_pcm_t *pcm_handle;
39
40	/* The parent process id, to detect when application quits */
41	pid_t parent;
42
43	/* Raw mixing buffer */
44	Uint8 *mixbuf;
45	int    mixlen;
46};
47
48/* Old variable names */
49#define pcm_handle		(this->hidden->pcm_handle)
50#define parent			(this->hidden->parent)
51#define mixbuf			(this->hidden->mixbuf)
52#define mixlen			(this->hidden->mixlen)
53
54#endif /* _ALSA_PCM_audio_h */
55