# 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

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

close the control handle; optional

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

return the total number of elements; required

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

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

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

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

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

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

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

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

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

fill the poll descriptors; optional

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

return the number of poll descriptors; optional

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

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

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

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

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

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

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

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

subscribe/unsubscribe the event notification; optional

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

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

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

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

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:

- /builddir/build/BUILD/alsa-lib-1.1.0/include/control_external.h

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines