struct snd_ctl_ext_callback
Overview
Callback table of ext. Moreā¦
#include <control_external.h> struct snd_ctl_ext_callback { // fields void(* close)(snd_ctl_ext_t *ext); int(* elem_count)(snd_ctl_ext_t *ext); int(* elem_list)(snd_ctl_ext_t *ext, unsigned int offset, snd_ctl_elem_id_t *id); snd_ctl_ext_key_t(* find_elem)(snd_ctl_ext_t *ext, const snd_ctl_elem_id_t *id); void(* free_key)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key); int(* get_attribute)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int *type, unsigned int *acc, unsigned int *count); int(* get_integer_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *imin, long *imax, long *istep); int(* get_integer64_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *imin, int64_t *imax, int64_t *istep); int(* get_enumerated_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items); int(* get_enumerated_name)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int item, char *name, size_t name_max_len); int(* read_integer)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value); int(* read_integer64)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value); int(* read_enumerated)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items); int(* read_bytes)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned char *data, size_t max_bytes); int(* read_iec958)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, snd_aes_iec958_t *iec958); int(* write_integer)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value); int(* write_integer64)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value); int(* write_enumerated)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items); int(* write_bytes)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned char *data, size_t max_bytes); int(* write_iec958)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, snd_aes_iec958_t *iec958); void(* subscribe_events)(snd_ctl_ext_t *ext, int subscribe); int(* read_event)(snd_ctl_ext_t *ext, snd_ctl_elem_id_t *id, unsigned int *event_mask); int(* poll_descriptors_count)(snd_ctl_ext_t *ext); int(* poll_descriptors)(snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int space); int(* poll_revents)(snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int nfds, unsigned short *revents); };
Detailed Documentation
Callback table of ext.
Callback table of control ext
Fields
void(* close)(snd_ctl_ext_t *ext)
close the control handle; optional
int(* elem_count)(snd_ctl_ext_t *ext)
return the total number of elements; required
int(* elem_list)(snd_ctl_ext_t *ext, unsigned int offset, snd_ctl_elem_id_t *id)
return the element id of the given offset (array index); required
snd_ctl_ext_key_t(* find_elem)(snd_ctl_ext_t *ext, const snd_ctl_elem_id_t *id)
convert the element id to a search key; required
void(* free_key)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key)
the destructor of the key; optional
int(* get_attribute)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int *type, unsigned int *acc, unsigned int *count)
get the attribute of the element; required
int(* get_integer_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *imin, long *imax, long *istep)
get the element information of integer type
int(* get_integer64_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *imin, int64_t *imax, int64_t *istep)
get the element information of integer64 type
int(* get_enumerated_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items)
get the element information of enumerated type
int(* get_enumerated_name)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int item, char *name, size_t name_max_len)
get the name of the enumerated item
int(* read_integer)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value)
read the current values of integer type
int(* read_integer64)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value)
read the current values of integer64 type
int(* read_enumerated)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items)
read the current values of enumerated type
int(* read_bytes)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned char *data, size_t max_bytes)
read the current values of bytes type
int(* read_iec958)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, snd_aes_iec958_t *iec958)
read the current values of iec958 type
int(* write_integer)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value)
update the current values of integer type with the given values
int(* write_integer64)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value)
update the current values of integer64 type with the given values
int(* write_enumerated)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items)
update the current values of enumerated type with the given values
int(* write_bytes)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned char *data, size_t max_bytes)
update the current values of bytes type with the given values
int(* write_iec958)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, snd_aes_iec958_t *iec958)
update the current values of iec958 type with the given values
void(* subscribe_events)(snd_ctl_ext_t *ext, int subscribe)
subscribe/unsubscribe the event notification; optional
int(* read_event)(snd_ctl_ext_t *ext, snd_ctl_elem_id_t *id, unsigned int *event_mask)
read a pending notification event; optional
int(* poll_descriptors_count)(snd_ctl_ext_t *ext)
return the number of poll descriptors; optional
int(* poll_descriptors)(snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int space)
fill the poll descriptors; optional
int(* poll_revents)(snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)
mangle the revents of poll descriptors