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