xref: /haiku/src/add-ons/kernel/drivers/audio/ice1712/multi.h (revision 62f5ba006a08b0df30631375878effaf67ae5dbc)
1 /*
2  * ice1712 BeOS/Haiku Driver for VIA - VT1712 Multi Channel Audio Controller
3  *
4  * Copyright (c) 2002, Jerome Duval		(jerome.duval@free.fr)
5  * Copyright (c) 2003, Marcus Overhagen	(marcus@overhagen.de)
6  * Copyright (c) 2007, Jerome Leveque	(leveque.jerome@neuf.fr)
7  *
8  * All rights reserved
9  * Distributed under the terms of the MIT license.
10  */
11 
12 #ifndef _ICE1712_MULTI_H_
13 #define _ICE1712_MULTI_H_
14 
15 #include "ice1712.h"
16 
17 #include <hmulti_audio.h>
18 
19 #define ICE1712_MULTI_CONTROL_FIRSTID		(0x08000000)
20 #define ICE1712_MULTI_CONTROL_VOLUME_PB		(0x00010000)
21 #define ICE1712_MULTI_CONTROL_VOLUME_REC	(0x00020000)
22 #define ICE1712_MULTI_CONTROL_MUTE			(0x00040000)
23 #define ICE1712_MULTI_CONTROL_MUX			(0x00080000)
24 #define ICE1712_MULTI_CONTROL_MASK			(0x00FF0000)
25 #define ICE1712_MULTI_CONTROL_CHANNEL_MASK	(0x000000FF)
26 
27 #define CONTROL_IS_MASTER (0)
28 
29 status_t ice1712_get_description(ice1712 *card, multi_description *data);
30 status_t ice1712_get_enabled_channels(ice1712 *card, multi_channel_enable *data);
31 status_t ice1712_set_enabled_channels(ice1712 *card, multi_channel_enable *data);
32 status_t ice1712_get_global_format(ice1712 *card, multi_format_info *data);
33 status_t ice1712_set_global_format(ice1712 *card, multi_format_info *data);
34 status_t ice1712_get_mix(ice1712 *card, multi_mix_value_info *data);
35 status_t ice1712_set_mix(ice1712 *card, multi_mix_value_info *data);
36 status_t ice1712_list_mix_channels(ice1712 *card, multi_mix_channel_info *data);
37 status_t ice1712_list_mix_controls(ice1712 *card, multi_mix_control_info *data);
38 status_t ice1712_list_mix_connections(ice1712 *card, multi_mix_connection_info *data);
39 status_t ice1712_get_buffers(ice1712 *card, multi_buffer_list *data);
40 status_t ice1712_buffer_exchange(ice1712 *card, multi_buffer_info *data);
41 status_t ice1712_buffer_force_stop(ice1712 *card);
42 
43 #endif //_ICE1712_MULTI_H_
44