snd_ctl_ext_callback_t Struct Reference
External Control Plugin SDK

## Data 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 Description

Callback table of ext.

Callback table of control ext

## Field Documentation

## close

void(* snd_ctl_ext_callback_t::close) (snd_ctl_ext_t *ext)

close the control handle; optional

## elem_count

int(* snd_ctl_ext_callback_t::elem_count) (snd_ctl_ext_t *ext)

return the total number of elements; required

## elem_list

int(* snd_ctl_ext_callback_t::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

## find_elem

snd_ctl_ext_key_t(* snd_ctl_ext_callback_t::find_elem) (snd_ctl_ext_t *ext, const snd_ctl_elem_id_t *id)

convert the element id to a search key; required

## free_key

void(* snd_ctl_ext_callback_t::free_key) (snd_ctl_ext_t *ext, snd_ctl_ext_key_t key)

the destructor of the key; optional

## get_attribute

int(* snd_ctl_ext_callback_t::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

## get_enumerated_info

int(* snd_ctl_ext_callback_t::get_enumerated_info) (snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items)

get the element information of enumerated type

## get_enumerated_name

int(* snd_ctl_ext_callback_t::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

## get_integer64_info

int(* snd_ctl_ext_callback_t::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

## get_integer_info

int(* snd_ctl_ext_callback_t::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

## poll_descriptors

int(* snd_ctl_ext_callback_t::poll_descriptors) (snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int space)

fill the poll descriptors; optional

## poll_descriptors_count

int(* snd_ctl_ext_callback_t::poll_descriptors_count) (snd_ctl_ext_t *ext)

return the number of poll descriptors; optional

## poll_revents

int(* snd_ctl_ext_callback_t::poll_revents) (snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)

mangle the revents of poll descriptors

## read_bytes

int(* snd_ctl_ext_callback_t::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

## read_enumerated

int(* snd_ctl_ext_callback_t::read_enumerated) (snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items)

read the current values of enumerated type

## read_event

int(* snd_ctl_ext_callback_t::read_event) (snd_ctl_ext_t *ext, snd_ctl_elem_id_t *id, unsigned int *event_mask)

read a pending notification event; optional

## read_iec958

int(* snd_ctl_ext_callback_t::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

## read_integer

int(* snd_ctl_ext_callback_t::read_integer) (snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value)

read the current values of integer type

## read_integer64

int(* snd_ctl_ext_callback_t::read_integer64) (snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value)

read the current values of integer64 type

## subscribe_events

void(* snd_ctl_ext_callback_t::subscribe_events) (snd_ctl_ext_t *ext, int subscribe)

subscribe/unsubscribe the event notification; optional

## write_bytes

int(* snd_ctl_ext_callback_t::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

## write_enumerated

int(* snd_ctl_ext_callback_t::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

## write_iec958

int(* snd_ctl_ext_callback_t::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

## write_integer

int(* snd_ctl_ext_callback_t::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

## write_integer64

int(* snd_ctl_ext_callback_t::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

The documentation for this struct was generated from the following file:

- /build/alsa-lib-YCfzCF/alsa-lib-1.2.4/include/control_external.h