ALSA project - the C library reference
|
HCTL Interface - High Level CTL. More...
Functions | |
int | snd_hctl_open (snd_hctl_t **hctlp, const char *name, int mode) |
Opens an HCTL. More... | |
int | snd_hctl_open_ctl (snd_hctl_t **hctlp, snd_ctl_t *ctl) |
Opens an HCTL. More... | |
int | snd_hctl_close (snd_hctl_t *hctl) |
close HCTL handle More... | |
const char * | snd_hctl_name (snd_hctl_t *hctl) |
get identifier of HCTL handle More... | |
int | snd_hctl_nonblock (snd_hctl_t *hctl, int nonblock) |
set nonblock mode More... | |
int | snd_hctl_async (snd_hctl_t *hctl, int sig, pid_t pid) |
set async mode More... | |
int | snd_hctl_poll_descriptors_count (snd_hctl_t *hctl) |
get count of poll descriptors for HCTL handle More... | |
int | snd_hctl_poll_descriptors (snd_hctl_t *hctl, struct pollfd *pfds, unsigned int space) |
get poll descriptors More... | |
int | snd_hctl_poll_descriptors_revents (snd_hctl_t *hctl, struct pollfd *pfds, unsigned int nfds, unsigned short *revents) |
get returned events from poll descriptors More... | |
int | snd_hctl_free (snd_hctl_t *hctl) |
free HCTL loaded elements More... | |
int | snd_hctl_set_compare (snd_hctl_t *hctl, snd_hctl_compare_t compare) |
Change HCTL compare function and reorder elements. More... | |
int | snd_hctl_compare_fast (const snd_hctl_elem_t *c1, const snd_hctl_elem_t *c2) |
A "don't care" fast compare functions that may be used with snd_hctl_set_compare. More... | |
snd_hctl_elem_t * | snd_hctl_first_elem (snd_hctl_t *hctl) |
get first element for an HCTL More... | |
snd_hctl_elem_t * | snd_hctl_last_elem (snd_hctl_t *hctl) |
get last element for an HCTL More... | |
snd_hctl_elem_t * | snd_hctl_elem_next (snd_hctl_elem_t *elem) |
get next HCTL element More... | |
snd_hctl_elem_t * | snd_hctl_elem_prev (snd_hctl_elem_t *elem) |
get previous HCTL element More... | |
snd_hctl_elem_t * | snd_hctl_find_elem (snd_hctl_t *hctl, const snd_ctl_elem_id_t *id) |
Search an HCTL element. More... | |
int | snd_hctl_load (snd_hctl_t *hctl) |
Load an HCTL with all elements and sort them. More... | |
void | snd_hctl_set_callback (snd_hctl_t *hctl, snd_hctl_callback_t callback) |
Set callback function for an HCTL. More... | |
void | snd_hctl_set_callback_private (snd_hctl_t *hctl, void *callback_private) |
Set callback private value for an HCTL. More... | |
void * | snd_hctl_get_callback_private (snd_hctl_t *hctl) |
Get callback private value for an HCTL. More... | |
unsigned int | snd_hctl_get_count (snd_hctl_t *hctl) |
Get number of loaded elements for an HCTL. More... | |
int | snd_hctl_wait (snd_hctl_t *hctl, int timeout) |
Wait for a HCTL to become ready (i.e. at least one event pending) More... | |
snd_ctl_t * | snd_hctl_ctl (snd_hctl_t *hctl) |
Get a ctl handle associated to the given hctl handle. More... | |
int | snd_hctl_handle_events (snd_hctl_t *hctl) |
Handle pending HCTL events invoking callbacks. More... | |
int | snd_hctl_elem_info (snd_hctl_elem_t *elem, snd_ctl_elem_info_t *info) |
Get information for an HCTL element. More... | |
int | snd_hctl_elem_read (snd_hctl_elem_t *elem, snd_ctl_elem_value_t *value) |
Get value for an HCTL element. More... | |
int | snd_hctl_elem_write (snd_hctl_elem_t *elem, snd_ctl_elem_value_t *value) |
Set value for an HCTL element. More... | |
int | snd_hctl_elem_tlv_read (snd_hctl_elem_t *elem, unsigned int *tlv, unsigned int tlv_size) |
Get TLV value for an HCTL element. More... | |
int | snd_hctl_elem_tlv_write (snd_hctl_elem_t *elem, const unsigned int *tlv) |
Set TLV value for an HCTL element. More... | |
int | snd_hctl_elem_tlv_command (snd_hctl_elem_t *elem, const unsigned int *tlv) |
Set TLV value for an HCTL element. More... | |
snd_hctl_t * | snd_hctl_elem_get_hctl (snd_hctl_elem_t *elem) |
Get HCTL handle for an HCTL element. More... | |
void | snd_hctl_elem_get_id (const snd_hctl_elem_t *obj, snd_ctl_elem_id_t *ptr) |
Get CTL element identifier of a CTL element id/value. More... | |
unsigned int | snd_hctl_elem_get_numid (const snd_hctl_elem_t *obj) |
Get element numeric identifier of a CTL element id/value. More... | |
snd_ctl_elem_iface_t | snd_hctl_elem_get_interface (const snd_hctl_elem_t *obj) |
Get interface part of CTL element identifier of a CTL element id/value. More... | |
unsigned int | snd_hctl_elem_get_device (const snd_hctl_elem_t *obj) |
Get device part of CTL element identifier of a CTL element id/value. More... | |
unsigned int | snd_hctl_elem_get_subdevice (const snd_hctl_elem_t *obj) |
Get subdevice part of CTL element identifier of a CTL element id/value. More... | |
const char * | snd_hctl_elem_get_name (const snd_hctl_elem_t *obj) |
Get name part of CTL element identifier of a CTL element id/value. More... | |
unsigned int | snd_hctl_elem_get_index (const snd_hctl_elem_t *obj) |
Get index part of CTL element identifier of a CTL element id/value. More... | |
void | snd_hctl_elem_set_callback (snd_hctl_elem_t *obj, snd_hctl_elem_callback_t val) |
Set callback function for an HCTL element. More... | |
void | snd_hctl_elem_set_callback_private (snd_hctl_elem_t *obj, void *val) |
Set callback private value for an HCTL element. More... | |
void * | snd_hctl_elem_get_callback_private (const snd_hctl_elem_t *obj) |
Get callback private value for an HCTL element. More... | |
HCTL Interface - High Level CTL.
HCTL interface is designed to access preloaded and sorted primitive controls. Callbacks may be used for event handling. See High level control interface page for more details.
int snd_hctl_async | ( | snd_hctl_t * | hctl, |
int | sig, | ||
pid_t | pid | ||
) |
set async mode
hctl | HCTL handle |
sig | Signal to raise: < 0 disable, 0 default (SIGIO) |
pid | Process ID to signal: 0 current |
A signal is raised when a change happens.