| 
									
										
										
										
											2000-08-31 11:21:05 +00:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  ALSA client/server header file | 
					
						
							|  |  |  |  *  Copyright (c) 2000 by Abramo Bagnara <abramo@alsa-project.org> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *   This library is free software; you can redistribute it and/or modify | 
					
						
							|  |  |  |  *   it under the terms of the GNU Library General Public License as | 
					
						
							|  |  |  |  *   published by the Free Software Foundation; either version 2 of | 
					
						
							|  |  |  |  *   the License, or (at your option) any later version. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *   This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  *   but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |  *   GNU Library General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *   You should have received a copy of the GNU Library General Public | 
					
						
							|  |  |  |  *   License along with this library; if not, write to the Free Software | 
					
						
							|  |  |  |  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define SND_PCM_IOCTL_MMAP_DATA		_IO ('A', 0xf0)
 | 
					
						
							|  |  |  | #define SND_PCM_IOCTL_MMAP_CONTROL	_IO ('A', 0xf1)
 | 
					
						
							|  |  |  | #define SND_PCM_IOCTL_MMAP_STATUS	_IO ('A', 0xf2)
 | 
					
						
							|  |  |  | #define SND_PCM_IOCTL_MUNMAP_DATA	_IO ('A', 0xf3)
 | 
					
						
							|  |  |  | #define SND_PCM_IOCTL_MUNMAP_CONTROL	_IO ('A', 0xf4)
 | 
					
						
							|  |  |  | #define SND_PCM_IOCTL_MUNMAP_STATUS	_IO ('A', 0xf5)
 | 
					
						
							|  |  |  | #define SND_PCM_IOCTL_CLOSE		_IO ('A', 0xf6)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct { | 
					
						
							|  |  |  | 	int result; | 
					
						
							|  |  |  | 	int cmd; | 
					
						
							|  |  |  | 	union { | 
					
						
							|  |  |  | 		snd_pcm_info_t info; | 
					
						
							|  |  |  | 		snd_pcm_params_t params; | 
					
						
							|  |  |  | 		snd_pcm_params_info_t params_info; | 
					
						
							|  |  |  | 		snd_pcm_setup_t setup; | 
					
						
							|  |  |  | 		snd_pcm_status_t status; | 
					
						
							|  |  |  | 		int pause; | 
					
						
							|  |  |  | 		snd_pcm_channel_info_t channel_info; | 
					
						
							|  |  |  | 		snd_pcm_channel_params_t channel_params; | 
					
						
							|  |  |  | 		snd_pcm_channel_setup_t channel_setup; | 
					
						
							| 
									
										
										
										
											2000-09-12 07:11:00 +00:00
										 |  |  | 		off_t appl_ptr; | 
					
						
							|  |  |  | 		int hw_ptr; | 
					
						
							| 
									
										
										
										
											2000-08-31 11:21:05 +00:00
										 |  |  | 		int link; | 
					
						
							|  |  |  | 		snd_xfer_t read; | 
					
						
							|  |  |  | 		snd_xfer_t write; | 
					
						
							|  |  |  | 		snd_xferv_t readv; | 
					
						
							|  |  |  | 		snd_xferv_t writev; | 
					
						
							|  |  |  | 	} u; | 
					
						
							|  |  |  | 	char data[0]; | 
					
						
							|  |  |  | } snd_pcm_client_shm_t; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define PCM_SHM_SIZE 65536
 | 
					
						
							|  |  |  | #define PCM_SHM_DATA_MAXLEN (PCM_SHM_SIZE - offsetof(snd_pcm_client_shm_t, data))
 | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2000-09-11 15:49:10 +00:00
										 |  |  | #define SND_CTL_IOCTL_READ		_IOR('U', 0xf0, snd_ctl_event_t)
 | 
					
						
							|  |  |  | #define SND_CTL_IOCTL_CLOSE		_IO ('U', 0xf1)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct { | 
					
						
							|  |  |  | 	int result; | 
					
						
							|  |  |  | 	int cmd; | 
					
						
							|  |  |  | 	union { | 
					
						
							|  |  |  | 		snd_ctl_hw_info_t hw_info; | 
					
						
							|  |  |  | 		snd_control_list_t clist; | 
					
						
							|  |  |  | 		snd_control_info_t cinfo; | 
					
						
							|  |  |  | 		snd_control_t cread; | 
					
						
							|  |  |  | 		snd_control_t cwrite; | 
					
						
							|  |  |  | 		snd_hwdep_info_t hwdep_info; | 
					
						
							|  |  |  | 		snd_pcm_info_t pcm_info; | 
					
						
							|  |  |  | 		int pcm_prefer_subdevice; | 
					
						
							|  |  |  | 		snd_rawmidi_info_t rawmidi_info; | 
					
						
							|  |  |  | 		snd_ctl_event_t read; | 
					
						
							|  |  |  | 	} u; | 
					
						
							|  |  |  | 	char data[0]; | 
					
						
							|  |  |  | } snd_ctl_client_shm_t; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CTL_SHM_SIZE 65536
 | 
					
						
							|  |  |  | #define CTL_SHM_DATA_MAXLEN (CTL_SHM_SIZE - offsetof(snd_ctl_client_shm_t, data))
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-08-31 11:21:05 +00:00
										 |  |  | typedef struct { | 
					
						
							|  |  |  | 	unsigned char dev_type; | 
					
						
							|  |  |  | 	unsigned char transport_type; | 
					
						
							|  |  |  | 	unsigned char stream; | 
					
						
							|  |  |  | 	unsigned char mode; | 
					
						
							|  |  |  | 	unsigned char namelen; | 
					
						
							|  |  |  | 	char name[0]; | 
					
						
							|  |  |  | } snd_client_open_request_t; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct { | 
					
						
							|  |  |  | 	long result; | 
					
						
							| 
									
										
										
										
											2000-08-31 13:31:46 +00:00
										 |  |  | 	int cookie; | 
					
						
							| 
									
										
										
										
											2000-08-31 11:21:05 +00:00
										 |  |  | } snd_client_open_answer_t; | 
					
						
							|  |  |  | 
 |