ALSA project - the C library reference
|
Typedefs | |
typedef struct _snd_hctl_elem | snd_hctl_elem_t |
typedef struct _snd_hctl | snd_hctl_t |
typedef int(* | snd_hctl_compare_t) (const snd_hctl_elem_t *e1, const snd_hctl_elem_t *e2) |
Compare function for sorting HCTL elements. More... | |
typedef int(* | snd_hctl_callback_t) (snd_hctl_t *hctl, unsigned int mask, snd_hctl_elem_t *elem) |
HCTL callback function. More... | |
typedef int(* | snd_hctl_elem_callback_t) (snd_hctl_elem_t *elem, unsigned int mask) |
HCTL element callback function. More... | |
Functions | |
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... | |
int | snd_hctl_open (snd_hctl_t **hctl, 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... | |
int | snd_hctl_nonblock (snd_hctl_t *hctl, int nonblock) |
set nonblock 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 *ctl, struct pollfd *pfds, unsigned int nfds, unsigned short *revents) |
get returned events from poll descriptors More... | |
unsigned int | snd_hctl_get_count (snd_hctl_t *hctl) |
Get number of loaded elements for an HCTL. More... | |
int | snd_hctl_set_compare (snd_hctl_t *hctl, snd_hctl_compare_t hsort) |
Change HCTL compare function and reorder elements. 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_find_elem (snd_hctl_t *hctl, const snd_ctl_elem_id_t *id) |
Search an HCTL element. 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 *data) |
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... | |
int | snd_hctl_load (snd_hctl_t *hctl) |
Load an HCTL with all elements and sort them. More... | |
int | snd_hctl_free (snd_hctl_t *hctl) |
free HCTL loaded elements More... | |
int | snd_hctl_handle_events (snd_hctl_t *hctl) |
Handle pending HCTL events invoking callbacks. More... | |
const char * | snd_hctl_name (snd_hctl_t *hctl) |
get identifier of HCTL handle 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... | |
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... | |
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_get_callback_private (const snd_hctl_elem_t *obj) |
Get callback private value 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... | |
The high level control interface. See High level control interface page for more details.
typedef int(* snd_hctl_callback_t) (snd_hctl_t *hctl, unsigned int mask, snd_hctl_elem_t *elem) |
HCTL callback function.
hctl | HCTL handle |
mask | event mask |
elem | related HCTL element (if any) |
typedef int(* snd_hctl_compare_t) (const snd_hctl_elem_t *e1, const snd_hctl_elem_t *e2) |
Compare function for sorting HCTL elements.
e1 | First element |
e2 | Second element |
typedef int(* snd_hctl_elem_callback_t) (snd_hctl_elem_t *elem, unsigned int mask) |
HCTL element callback function.
elem | HCTL element |
mask | event mask |
typedef struct _snd_hctl_elem snd_hctl_elem_t |
HCTL element handle
typedef struct _snd_hctl snd_hctl_t |
HCTL handle
int snd_hctl_close | ( | snd_hctl_t * | hctl | ) |
close HCTL handle
hctl | HCTL handle |
Closes the specified HCTL handle and frees all associated resources.
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.
c1 | First HCTL element |
c2 | Second HCTL element |
snd_ctl_t * snd_hctl_ctl | ( | snd_hctl_t * | hctl | ) |
Get a ctl handle associated to the given hctl handle.
hctl | HCTL handle |
void * snd_hctl_elem_get_callback_private | ( | const snd_hctl_elem_t * | obj | ) |
Get callback private value for an HCTL element.
obj | HCTL element |
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.
obj | CTL element id/value |
snd_hctl_t * snd_hctl_elem_get_hctl | ( | snd_hctl_elem_t * | elem | ) |
Get HCTL handle for an HCTL element.
elem | HCTL element |
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.
obj | CTL element id/value |
ptr | Pointer to returned CTL element identifier |
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.
obj | CTL element id/value |
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.
obj | CTL element id/value |
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.
obj | CTL element id/value |
unsigned int snd_hctl_elem_get_numid | ( | const snd_hctl_elem_t * | obj | ) |
Get element numeric identifier of a CTL element id/value.
obj | CTL element id/value |
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.
obj | CTL element id/value |
int snd_hctl_elem_info | ( | snd_hctl_elem_t * | elem, |
snd_ctl_elem_info_t * | info | ||
) |
Get information for an HCTL element.
elem | HCTL element |
info | HCTL element information |
snd_hctl_elem_t * snd_hctl_elem_next | ( | snd_hctl_elem_t * | elem | ) |
get next HCTL element
elem | HCTL element |
snd_hctl_elem_t * snd_hctl_elem_prev | ( | snd_hctl_elem_t * | elem | ) |
get previous HCTL element
elem | HCTL element |
int snd_hctl_elem_read | ( | snd_hctl_elem_t * | elem, |
snd_ctl_elem_value_t * | value | ||
) |
Get value for an HCTL element.
elem | HCTL element |
value | HCTL element value |
void snd_hctl_elem_set_callback | ( | snd_hctl_elem_t * | obj, |
snd_hctl_elem_callback_t | val | ||
) |
Set callback function for an HCTL element.
obj | HCTL element |
val | callback function |
void snd_hctl_elem_set_callback_private | ( | snd_hctl_elem_t * | obj, |
void * | val | ||
) |
Set callback private value for an HCTL element.
obj | HCTL element |
val | callback private value |
int snd_hctl_elem_tlv_command | ( | snd_hctl_elem_t * | elem, |
const unsigned int * | tlv | ||
) |
Set TLV value for an HCTL element.
elem | HCTL element |
tlv | TLV array for value |
0 | on success |
>1 | on success when value was changed |
<0 | a negative error code on failure |
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.
elem | HCTL element |
tlv | TLV array for value |
tlv_size | size of TLV array in bytes |
int snd_hctl_elem_tlv_write | ( | snd_hctl_elem_t * | elem, |
const unsigned int * | tlv | ||
) |
Set TLV value for an HCTL element.
elem | HCTL element |
tlv | TLV array for value |
0 | on success |
>1 | on success when value was changed |
<0 | a negative error code on failure |
int snd_hctl_elem_write | ( | snd_hctl_elem_t * | elem, |
snd_ctl_elem_value_t * | value | ||
) |
Set value for an HCTL element.
elem | HCTL element |
value | HCTL element value |
0 | on success |
>1 | on success when value was changed |
<0 | a negative error code on failure |
snd_hctl_elem_t * snd_hctl_find_elem | ( | snd_hctl_t * | hctl, |
const snd_ctl_elem_id_t * | id | ||
) |
Search an HCTL element.
hctl | HCTL handle |
id | Element identifier |
snd_hctl_elem_t * snd_hctl_first_elem | ( | snd_hctl_t * | hctl | ) |
get first element for an HCTL
hctl | HCTL handle |
int snd_hctl_free | ( | snd_hctl_t * | hctl | ) |
free HCTL loaded elements
hctl | HCTL handle |
void * snd_hctl_get_callback_private | ( | snd_hctl_t * | hctl | ) |
Get callback private value for an HCTL.
hctl | HCTL handle |
unsigned int snd_hctl_get_count | ( | snd_hctl_t * | hctl | ) |
Get number of loaded elements for an HCTL.
hctl | HCTL handle |
int snd_hctl_handle_events | ( | snd_hctl_t * | hctl | ) |
Handle pending HCTL events invoking callbacks.
hctl | HCTL handle |
snd_hctl_elem_t * snd_hctl_last_elem | ( | snd_hctl_t * | hctl | ) |
get last element for an HCTL
hctl | HCTL handle |
int snd_hctl_load | ( | snd_hctl_t * | hctl | ) |
Load an HCTL with all elements and sort them.
hctl | HCTL handle |
const char * snd_hctl_name | ( | snd_hctl_t * | hctl | ) |
get identifier of HCTL handle
hctl | HCTL handle |
Returns the ASCII identifier of given HCTL handle. It's the same identifier specified in snd_hctl_open().
int snd_hctl_nonblock | ( | snd_hctl_t * | hctl, |
int | nonblock | ||
) |
set nonblock mode
hctl | HCTL handle |
nonblock | 0 = block, 1 = nonblock mode |
int snd_hctl_open | ( | snd_hctl_t ** | hctlp, |
const char * | name, | ||
int | mode | ||
) |
Opens an HCTL.
hctlp | Returned HCTL handle |
name | ASCII identifier of the underlying CTL handle |
mode | Open mode (see SND_CTL_NONBLOCK, SND_CTL_ASYNC) |
int snd_hctl_open_ctl | ( | snd_hctl_t ** | hctlp, |
snd_ctl_t * | ctl | ||
) |
Opens an HCTL.
hctlp | Returned HCTL handle |
ctl | underlying CTL handle |
int snd_hctl_poll_descriptors | ( | snd_hctl_t * | hctl, |
struct pollfd * | pfds, | ||
unsigned int | space | ||
) |
get poll descriptors
hctl | HCTL handle |
pfds | array of poll descriptors |
space | space in the poll descriptor array |
int snd_hctl_poll_descriptors_count | ( | snd_hctl_t * | hctl | ) |
get count of poll descriptors for HCTL handle
hctl | HCTL handle |
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
hctl | HCTL handle |
pfds | array of poll descriptors |
nfds | count of poll descriptors |
revents | returned events |
void snd_hctl_set_callback | ( | snd_hctl_t * | hctl, |
snd_hctl_callback_t | callback | ||
) |
Set callback function for an HCTL.
hctl | HCTL handle |
callback | callback function |
void snd_hctl_set_callback_private | ( | snd_hctl_t * | hctl, |
void * | callback_private | ||
) |
Set callback private value for an HCTL.
hctl | HCTL handle |
callback_private | callback private value |
int snd_hctl_set_compare | ( | snd_hctl_t * | hctl, |
snd_hctl_compare_t | compare | ||
) |
Change HCTL compare function and reorder elements.
hctl | HCTL handle |
compare | Element compare function |
int snd_hctl_wait | ( | snd_hctl_t * | hctl, |
int | timeout | ||
) |
Wait for a HCTL to become ready (i.e. at least one event pending)
hctl | HCTL handle |
timeout | maximum time in milliseconds to wait |
0 | timeout occurred |
1 | an event is pending |