1998-08-13 15:42:56 +00:00
|
|
|
/****************************************************************************
|
|
|
|
|
* *
|
|
|
|
|
* mixer.h *
|
|
|
|
|
* Mixer Interface *
|
|
|
|
|
* *
|
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
typedef struct snd_mixer_callbacks {
|
1999-05-02 16:21:30 +00:00
|
|
|
void *private_data; /* should be used by an application */
|
|
|
|
|
void (*rebuild) (void *private_data);
|
|
|
|
|
void (*element) (void *private_data, int cmd, snd_mixer_eid_t *eid);
|
|
|
|
|
void (*group) (void *private_data, int cmd, snd_mixer_gid_t *gid);
|
|
|
|
|
void (*xswitch) (void *private_data, int cmd, snd_switch_list_item_t *item);
|
|
|
|
|
void *reserved[27]; /* reserved for the future use - must be NULL!!! */
|
1998-08-13 15:42:56 +00:00
|
|
|
} snd_mixer_callbacks_t;
|
1998-11-27 15:06:26 +00:00
|
|
|
|
1998-08-13 15:42:56 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
1998-11-27 15:06:26 +00:00
|
|
|
int snd_mixer_open(void **handle, int card, int device);
|
|
|
|
|
int snd_mixer_close(void *handle);
|
|
|
|
|
int snd_mixer_file_descriptor(void *handle);
|
|
|
|
|
int snd_mixer_info(void *handle, snd_mixer_info_t * info);
|
1999-05-02 16:21:30 +00:00
|
|
|
int snd_mixer_elements(void *handle, snd_mixer_elements_t * elements);
|
|
|
|
|
int snd_mixer_routes(void *handle, snd_mixer_routes_t * routes);
|
|
|
|
|
int snd_mixer_groups(void *handle, snd_mixer_groups_t * groups);
|
|
|
|
|
int snd_mixer_group(void *handle, snd_mixer_group_t * group);
|
|
|
|
|
int snd_mixer_element_info(void *handle, snd_mixer_element_info_t * info);
|
|
|
|
|
int snd_mixer_element_read(void *handle, snd_mixer_element_t * element);
|
|
|
|
|
int snd_mixer_element_write(void *handle, snd_mixer_element_t * element);
|
1999-03-27 19:44:51 +00:00
|
|
|
int snd_mixer_switch_list(void *handle, snd_switch_list_t * list);
|
|
|
|
|
int snd_mixer_switch_read(void *handle, snd_switch_t * sw);
|
|
|
|
|
int snd_mixer_switch_write(void *handle, snd_switch_t * sw);
|
1998-11-27 15:06:26 +00:00
|
|
|
int snd_mixer_read(void *handle, snd_mixer_callbacks_t * callbacks);
|
1998-08-13 15:42:56 +00:00
|
|
|
|
1999-05-02 16:21:30 +00:00
|
|
|
void snd_mixer_set_bit(unsigned int *bitmap, int bit, int val);
|
|
|
|
|
int snd_mixer_get_bit(unsigned int *bitmap, int bit);
|
|
|
|
|
|
|
|
|
|
int snd_mixer_element_has_info(snd_mixer_eid_t *eid);
|
|
|
|
|
int snd_mixer_element_info_build(void *handle, snd_mixer_element_info_t * info);
|
|
|
|
|
int snd_mixer_element_info_free(snd_mixer_element_info_t * info);
|
|
|
|
|
int snd_mixer_element_has_control(snd_mixer_eid_t *eid);
|
|
|
|
|
int snd_mixer_element_build(void *handle, snd_mixer_element_t * element);
|
|
|
|
|
int snd_mixer_element_free(snd_mixer_element_t * element);
|
|
|
|
|
|
1998-08-13 15:42:56 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|