All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
control.h File Reference

Application interface library for the ALSA driver. More...

Go to the source code of this file.

## Data Structures

struct | snd_aes_iec958_t

## Macros

#define | SND_CONTROL_DLSYM_VERSION _dlsym_control_001
#define | SND_CTL_EVENT_MASK_REMOVE
#define | SND_CTL_EVENT_MASK_VALUE
#define | SND_CTL_EVENT_MASK_INFO
#define | SND_CTL_EVENT_MASK_ADD
#define | SND_CTL_EVENT_MASK_TLV
#define | SND_CTL_NAME_NONE ""
#define | SND_CTL_NAME_PLAYBACK "Playback "
#define | SND_CTL_NAME_CAPTURE "Capture "
#define | SND_CTL_NAME_IEC958_NONE ""
#define | SND_CTL_NAME_IEC958_SWITCH "Switch"
#define | SND_CTL_NAME_IEC958_VOLUME "Volume"
#define | SND_CTL_NAME_IEC958_DEFAULT "Default"
#define | SND_CTL_NAME_IEC958_MASK "Mask"
#define | SND_CTL_NAME_IEC958_CON_MASK "Con Mask"
#define | SND_CTL_NAME_IEC958_PRO_MASK "Pro Mask"
#define | SND_CTL_NAME_IEC958_PCM_STREAM "PCM Stream"
#define | SND_CTL_NAME_IEC958(expl, direction, what) "IEC958 " expl SND_CTL_NAME_##direction SND_CTL_NAME_IEC958_##what
#define | SND_CTL_POWER_MASK 0xff00
#define | SND_CTL_POWER_D0 0x0000
#define | SND_CTL_POWER_D1 0x0100
#define | SND_CTL_POWER_D2 0x0200
#define | SND_CTL_POWER_D3 0x0300
#define | SND_CTL_POWER_D3hot (SND_CTL_POWER_D3|0x0000)
#define | SND_CTL_POWER_D3cold (SND_CTL_POWER_D3|0x0001)
#define | SND_CTL_TLVT_CONTAINER 0x0000
#define | SND_CTL_TLVT_DB_SCALE 0x0001
#define | SND_CTL_TLVT_DB_LINEAR 0x0002
#define | SND_CTL_TLVT_DB_RANGE 0x0003
#define | SND_CTL_TLVT_DB_MINMAX 0x0004
#define | SND_CTL_TLVT_DB_MINMAX_MUTE 0x0005
#define | SND_CTL_TLV_DB_GAIN_MUTE -9999999
#define | SND_CTL_TLVT_CHMAP_FIXED 0x00101
#define | SND_CTL_TLVT_CHMAP_VAR 0x00102
#define | SND_CTL_TLVT_CHMAP_PAIRED 0x00103
#define | SND_CTL_NONBLOCK
#define | SND_CTL_ASYNC
#define | SND_CTL_READONLY
#define | SND_SCTL_NOFREE 0x0001
#define | snd_ctl_elem_id_alloca(ptr)
| allocate an invalid snd_ctl_elem_id_t using standard alloca More...
#define | snd_ctl_card_info_alloca(ptr)
| allocate an invalid snd_ctl_card_info_t using standard alloca More...
#define | snd_ctl_event_alloca(ptr)
| allocate an invalid snd_ctl_event_t using standard alloca More...
#define | snd_ctl_elem_list_alloca(ptr)
| allocate an invalid snd_ctl_elem_list_t using standard alloca More...
#define | snd_ctl_elem_info_alloca(ptr)
| allocate an invalid snd_ctl_elem_info_t using standard alloca More...
#define | snd_ctl_elem_value_alloca(ptr)
| allocate an invalid snd_ctl_elem_value_t using standard alloca More...

## Typedefs

typedef struct _snd_ctl_card_info | snd_ctl_card_info_t
typedef struct _snd_ctl_elem_id | snd_ctl_elem_id_t
typedef struct _snd_ctl_elem_list | snd_ctl_elem_list_t
typedef struct _snd_ctl_elem_info | snd_ctl_elem_info_t
typedef struct _snd_ctl_elem_value | snd_ctl_elem_value_t
typedef struct _snd_ctl_event | snd_ctl_event_t
typedef struct _snd_ctl | snd_ctl_t
typedef struct _snd_sctl | snd_sctl_t
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...

## Enumerations

enum | snd_ctl_elem_type_t { SND_CTL_ELEM_TYPE_NONE = 0, SND_CTL_ELEM_TYPE_BOOLEAN, SND_CTL_ELEM_TYPE_INTEGER, SND_CTL_ELEM_TYPE_ENUMERATED, SND_CTL_ELEM_TYPE_BYTES, SND_CTL_ELEM_TYPE_IEC958, SND_CTL_ELEM_TYPE_INTEGER64, SND_CTL_ELEM_TYPE_LAST = SND_CTL_ELEM_TYPE_INTEGER64 }
enum | snd_ctl_elem_iface_t { SND_CTL_ELEM_IFACE_CARD = 0, SND_CTL_ELEM_IFACE_HWDEP, SND_CTL_ELEM_IFACE_MIXER, SND_CTL_ELEM_IFACE_PCM, SND_CTL_ELEM_IFACE_RAWMIDI, SND_CTL_ELEM_IFACE_TIMER, SND_CTL_ELEM_IFACE_SEQUENCER, SND_CTL_ELEM_IFACE_LAST = SND_CTL_ELEM_IFACE_SEQUENCER }
enum | snd_ctl_event_type_t { SND_CTL_EVENT_ELEM = 0, SND_CTL_EVENT_LAST = SND_CTL_EVENT_ELEM }
enum | snd_ctl_type_t { SND_CTL_TYPE_HW, SND_CTL_TYPE_SHM, SND_CTL_TYPE_INET, SND_CTL_TYPE_EXT }

## Functions

int | snd_card_load (int card)
| Try to load the driver for a card. More...
int | snd_card_next (int *card)
| Try to determine the next card. More...
int | snd_card_get_index (const char *name)
| Convert card string to an integer value. More...
int | snd_card_get_name (int card, char **name)
| Obtain the card name. More...
int | snd_card_get_longname (int card, char **name)
| Obtain the card long name. More...
int | snd_device_name_hint (int card, const char *iface, void ***hints)
| Get a set of device name hints. More...
int | snd_device_name_free_hint (void **hints)
| Free a list of device name hints. More...
char * | snd_device_name_get_hint (const void *hint, const char *id)
| Extract a value from a hint. More...
int | snd_ctl_open (snd_ctl_t **ctl, const char *name, int mode)
| Opens a CTL. More...
int | snd_ctl_open_lconf (snd_ctl_t **ctl, const char *name, int mode, snd_config_t *lconf)
| Opens a CTL using local configuration. More...
int | snd_ctl_open_fallback (snd_ctl_t **ctl, snd_config_t *root, const char *name, const char *orig_name, int mode)
| Opens a fallback CTL. More...
int | snd_ctl_close (snd_ctl_t *ctl)
| close CTL handle More...
int | snd_ctl_nonblock (snd_ctl_t *ctl, int nonblock)
| set nonblock mode More...
int | snd_async_add_ctl_handler (snd_async_handler_t **handler, snd_ctl_t *ctl, snd_async_callback_t callback, void *private_data)
| Add an async handler for a CTL. More...
snd_ctl_t * | snd_async_handler_get_ctl (snd_async_handler_t *handler)
| Return CTL handle related to an async handler. More...
int | snd_ctl_poll_descriptors_count (snd_ctl_t *ctl)
| get count of poll descriptors for CTL handle More...
int | snd_ctl_poll_descriptors (snd_ctl_t *ctl, struct pollfd *pfds, unsigned int space)
| get poll descriptors More...
int | snd_ctl_poll_descriptors_revents (snd_ctl_t *ctl, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)
| get returned events from poll descriptors More...
int | snd_ctl_subscribe_events (snd_ctl_t *ctl, int subscribe)
| Ask to be informed about events (poll, snd_async_add_ctl_handler, snd_ctl_read) More...
int | snd_ctl_card_info (snd_ctl_t *ctl, snd_ctl_card_info_t *info)
| Get card related information. More...
int | snd_ctl_elem_list (snd_ctl_t *ctl, snd_ctl_elem_list_t *list)
| Get a list of element identifiers. More...
int | snd_ctl_elem_info (snd_ctl_t *ctl, snd_ctl_elem_info_t *info)
| Get CTL element information. More...
int | snd_ctl_elem_read (snd_ctl_t *ctl, snd_ctl_elem_value_t *data)
| Get CTL element value. More...
int | snd_ctl_elem_write (snd_ctl_t *ctl, snd_ctl_elem_value_t *data)
| Set CTL element value. More...
int | snd_ctl_elem_lock (snd_ctl_t *ctl, snd_ctl_elem_id_t *id)
| Lock CTL element. More...
int | snd_ctl_elem_unlock (snd_ctl_t *ctl, snd_ctl_elem_id_t *id)
| Unlock CTL element. More...
int | snd_ctl_elem_tlv_read (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, unsigned int *tlv, unsigned int tlv_size)
| Read structured data from an element set to given buffer. More...
int | snd_ctl_elem_tlv_write (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, const unsigned int *tlv)
| Write structured data from given buffer to an element set. More...
int | snd_ctl_elem_tlv_command (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, const unsigned int *tlv)
| Process structured data from given buffer for an element set. More...
int | snd_ctl_set_power_state (snd_ctl_t *ctl, unsigned int state)
| Set Power State to given SND_CTL_POWER_* value and do the power management. More...
int | snd_ctl_get_power_state (snd_ctl_t *ctl, unsigned int *state)
| Get actual Power State. More...
int | snd_ctl_read (snd_ctl_t *ctl, snd_ctl_event_t *event)
| Read an event. More...
int | snd_ctl_wait (snd_ctl_t *ctl, int timeout)
| Wait for a CTL to become ready (i.e. at least one event pending) More...
const char * | snd_ctl_name (snd_ctl_t *ctl)
| get identifier of CTL handle More...
snd_ctl_type_t | snd_ctl_type (snd_ctl_t *ctl)
| get type of CTL handle More...
const char * | snd_ctl_elem_type_name (snd_ctl_elem_type_t type)
| get name of a CTL element type More...
const char * | snd_ctl_elem_iface_name (snd_ctl_elem_iface_t iface)
| get name of a CTL element related interface More...
const char * | snd_ctl_event_type_name (snd_ctl_event_type_t type)
| get name of a CTL event type More...
unsigned int | snd_ctl_event_elem_get_mask (const snd_ctl_event_t *obj)
| Get event mask for an element related event. More...
unsigned int | snd_ctl_event_elem_get_numid (const snd_ctl_event_t *obj)
| Get element numeric identifier for an element related event. More...
void | snd_ctl_event_elem_get_id (const snd_ctl_event_t *obj, snd_ctl_elem_id_t *ptr)
| Get CTL element identifier for an element related event. More...
snd_ctl_elem_iface_t | snd_ctl_event_elem_get_interface (const snd_ctl_event_t *obj)
| Get interface part of CTL element identifier for an element related event. More...
unsigned int | snd_ctl_event_elem_get_device (const snd_ctl_event_t *obj)
| Get device part of CTL element identifier for an element related event. More...
unsigned int | snd_ctl_event_elem_get_subdevice (const snd_ctl_event_t *obj)
| Get subdevice part of CTL element identifier for an element related event. More...
const char * | snd_ctl_event_elem_get_name (const snd_ctl_event_t *obj)
| Get name part of CTL element identifier for an element related event. More...
unsigned int | snd_ctl_event_elem_get_index (const snd_ctl_event_t *obj)
| Get index part of CTL element identifier for an element related event. More...
int | snd_ctl_elem_list_alloc_space (snd_ctl_elem_list_t *obj, unsigned int entries)
| allocate space for CTL element identifiers list More...
void | snd_ctl_elem_list_free_space (snd_ctl_elem_list_t *obj)
| free previously allocated space for CTL element identifiers list More...
char * | snd_ctl_ascii_elem_id_get (snd_ctl_elem_id_t *id)
| return ASCII CTL element identifier name More...
int | snd_ctl_ascii_elem_id_parse (snd_ctl_elem_id_t *dst, const char *str)
| parse ASCII string as CTL element identifier More...
int | snd_ctl_ascii_value_parse (snd_ctl_t *handle, snd_ctl_elem_value_t *dst, snd_ctl_elem_info_t *info, const char *value)
| parse ASCII string as CTL element value More...
size_t | snd_ctl_elem_id_sizeof (void)
| get size of snd_ctl_elem_id_t More...
int | snd_ctl_elem_id_malloc (snd_ctl_elem_id_t **ptr)
| allocate an invalid snd_ctl_elem_id_t using standard malloc More...
void | snd_ctl_elem_id_free (snd_ctl_elem_id_t *obj)
| frees a previously allocated snd_ctl_elem_id_t More...
void | snd_ctl_elem_id_clear (snd_ctl_elem_id_t *obj)
| clear given snd_ctl_elem_id_t object More...
void | snd_ctl_elem_id_copy (snd_ctl_elem_id_t *dst, const snd_ctl_elem_id_t *src)
| copy one snd_ctl_elem_id_t to another More...
unsigned int | snd_ctl_elem_id_get_numid (const snd_ctl_elem_id_t *obj)
| Get numeric identifier from a CTL element identifier. More...
snd_ctl_elem_iface_t | snd_ctl_elem_id_get_interface (const snd_ctl_elem_id_t *obj)
| Get interface part of a CTL element identifier. More...
unsigned int | snd_ctl_elem_id_get_device (const snd_ctl_elem_id_t *obj)
| Get device part of a CTL element identifier. More...
unsigned int | snd_ctl_elem_id_get_subdevice (const snd_ctl_elem_id_t *obj)
| Get subdevice part of a CTL element identifier. More...
const char * | snd_ctl_elem_id_get_name (const snd_ctl_elem_id_t *obj)
| Get name part of a CTL element identifier. More...
unsigned int | snd_ctl_elem_id_get_index (const snd_ctl_elem_id_t *obj)
| Get index part of a CTL element identifier. More...
void | snd_ctl_elem_id_set_numid (snd_ctl_elem_id_t *obj, unsigned int val)
| Set numeric identifier for a CTL element identifier. More...
void | snd_ctl_elem_id_set_interface (snd_ctl_elem_id_t *obj, snd_ctl_elem_iface_t val)
| Set interface part for a CTL element identifier. More...
void | snd_ctl_elem_id_set_device (snd_ctl_elem_id_t *obj, unsigned int val)
| Set device part for a CTL element identifier. More...
void | snd_ctl_elem_id_set_subdevice (snd_ctl_elem_id_t *obj, unsigned int val)
| Set subdevice part for a CTL element identifier. More...
void | snd_ctl_elem_id_set_name (snd_ctl_elem_id_t *obj, const char *val)
| Set name part for a CTL element identifier. More...
void | snd_ctl_elem_id_set_index (snd_ctl_elem_id_t *obj, unsigned int val)
| Set index part for a CTL element identifier. More...
size_t | snd_ctl_card_info_sizeof (void)
| get size of snd_ctl_card_info_t More...
int | snd_ctl_card_info_malloc (snd_ctl_card_info_t **ptr)
| allocate an invalid snd_ctl_card_info_t using standard malloc More...
void | snd_ctl_card_info_free (snd_ctl_card_info_t *obj)
| frees a previously allocated snd_ctl_card_info_t More...
void | snd_ctl_card_info_clear (snd_ctl_card_info_t *obj)
| clear given snd_ctl_card_info_t object More...
void | snd_ctl_card_info_copy (snd_ctl_card_info_t *dst, const snd_ctl_card_info_t *src)
| copy one snd_ctl_card_info_t to another More...
int | snd_ctl_card_info_get_card (const snd_ctl_card_info_t *obj)
| Get card number from a CTL card info. More...
const char * | snd_ctl_card_info_get_id (const snd_ctl_card_info_t *obj)
| Get card identifier from a CTL card info. More...
const char * | snd_ctl_card_info_get_driver (const snd_ctl_card_info_t *obj)
| Get card driver name from a CTL card info. More...
const char * | snd_ctl_card_info_get_name (const snd_ctl_card_info_t *obj)
| Get card name from a CTL card info. More...
const char * | snd_ctl_card_info_get_longname (const snd_ctl_card_info_t *obj)
| Get card long name from a CTL card info. More...
const char * | snd_ctl_card_info_get_mixername (const snd_ctl_card_info_t *obj)
| Get card mixer name from a CTL card info. More...
const char * | snd_ctl_card_info_get_components (const snd_ctl_card_info_t *obj)
| Get card component list from a CTL card info. More...
size_t | snd_ctl_event_sizeof (void)
| get size of snd_ctl_event_t More...
int | snd_ctl_event_malloc (snd_ctl_event_t **ptr)
| allocate an invalid snd_ctl_event_t using standard malloc More...
void | snd_ctl_event_free (snd_ctl_event_t *obj)
| frees a previously allocated snd_ctl_event_t More...
void | snd_ctl_event_clear (snd_ctl_event_t *obj)
| clear given snd_ctl_event_t object More...
void | snd_ctl_event_copy (snd_ctl_event_t *dst, const snd_ctl_event_t *src)
| copy one snd_ctl_event_t to another More...
snd_ctl_event_type_t | snd_ctl_event_get_type (const snd_ctl_event_t *obj)
| Get type of a CTL event. More...
size_t | snd_ctl_elem_list_sizeof (void)
| get size of snd_ctl_elem_list_t More...
int | snd_ctl_elem_list_malloc (snd_ctl_elem_list_t **ptr)
| allocate an invalid snd_ctl_elem_list_t using standard malloc More...
void | snd_ctl_elem_list_free (snd_ctl_elem_list_t *obj)
| frees a previously allocated snd_ctl_elem_list_t More...
void | snd_ctl_elem_list_clear (snd_ctl_elem_list_t *obj)
| clear given snd_ctl_elem_list_t object More...
void | snd_ctl_elem_list_copy (snd_ctl_elem_list_t *dst, const snd_ctl_elem_list_t *src)
| copy one snd_ctl_elem_list_t to another More...
void | snd_ctl_elem_list_set_offset (snd_ctl_elem_list_t *obj, unsigned int val)
| Set index of first wanted CTL element identifier in a CTL element identifiers list. More...
unsigned int | snd_ctl_elem_list_get_used (const snd_ctl_elem_list_t *obj)
| Get number of used entries in CTL element identifiers list. More...
unsigned int | snd_ctl_elem_list_get_count (const snd_ctl_elem_list_t *obj)
| Get total count of elements present in CTL device (information present in every filled CTL element identifiers list) More...
void | snd_ctl_elem_list_get_id (const snd_ctl_elem_list_t *obj, unsigned int idx, snd_ctl_elem_id_t *ptr)
| Get CTL element identifier for an entry of a CTL element identifiers list. More...
unsigned int | snd_ctl_elem_list_get_numid (const snd_ctl_elem_list_t *obj, unsigned int idx)
| Get CTL element numeric identifier for an entry of a CTL element identifiers list. More...
snd_ctl_elem_iface_t | snd_ctl_elem_list_get_interface (const snd_ctl_elem_list_t *obj, unsigned int idx)
| Get interface part of CTL element identifier for an entry of a CTL element identifiers list. More...
unsigned int | snd_ctl_elem_list_get_device (const snd_ctl_elem_list_t *obj, unsigned int idx)
| Get device part of CTL element identifier for an entry of a CTL element identifiers list. More...
unsigned int | snd_ctl_elem_list_get_subdevice (const snd_ctl_elem_list_t *obj, unsigned int idx)
| Get subdevice part of CTL element identifier for an entry of a CTL element identifiers list. More...
const char * | snd_ctl_elem_list_get_name (const snd_ctl_elem_list_t *obj, unsigned int idx)
| Get name part of CTL element identifier for an entry of a CTL element identifiers list. More...
unsigned int | snd_ctl_elem_list_get_index (const snd_ctl_elem_list_t *obj, unsigned int idx)
| Get index part of CTL element identifier for an entry of a CTL element identifiers list. More...
size_t | snd_ctl_elem_info_sizeof (void)
| get size of snd_ctl_elem_info_t More...
int | snd_ctl_elem_info_malloc (snd_ctl_elem_info_t **ptr)
| allocate an invalid snd_ctl_elem_info_t using standard malloc More...
void | snd_ctl_elem_info_free (snd_ctl_elem_info_t *obj)
| frees a previously allocated snd_ctl_elem_info_t More...
void | snd_ctl_elem_info_clear (snd_ctl_elem_info_t *obj)
| clear given snd_ctl_elem_info_t object More...
void | snd_ctl_elem_info_copy (snd_ctl_elem_info_t *dst, const snd_ctl_elem_info_t *src)
| copy one snd_ctl_elem_info_t to another More...
snd_ctl_elem_type_t | snd_ctl_elem_info_get_type (const snd_ctl_elem_info_t *obj)
| Get type from a CTL element id/info. More...
int | snd_ctl_elem_info_is_readable (const snd_ctl_elem_info_t *obj)
| Get info about readability from a CTL element id/info. More...
int | snd_ctl_elem_info_is_writable (const snd_ctl_elem_info_t *obj)
| Get info about writability from a CTL element id/info. More...
int | snd_ctl_elem_info_is_volatile (const snd_ctl_elem_info_t *obj)
| Get info about notification feasibility from a CTL element id/info. More...
int | snd_ctl_elem_info_is_inactive (const snd_ctl_elem_info_t *obj)
| Get info about status from a CTL element id/info. More...
int | snd_ctl_elem_info_is_locked (const snd_ctl_elem_info_t *obj)
| Get info whether an element is locked. More...
int | snd_ctl_elem_info_is_tlv_readable (const snd_ctl_elem_info_t *obj)
| Get info about TLV readability from a CTL element id/info. More...
int | snd_ctl_elem_info_is_tlv_writable (const snd_ctl_elem_info_t *obj)
| Get info about TLV writeability from a CTL element id/info. More...
int | snd_ctl_elem_info_is_tlv_commandable (const snd_ctl_elem_info_t *obj)
| Get info about TLV command possibility from a CTL element id/info. More...
int | snd_ctl_elem_info_is_owner (const snd_ctl_elem_info_t *obj)
| Get info if I own an element. More...
int | snd_ctl_elem_info_is_user (const snd_ctl_elem_info_t *obj)
| Get info if it's a user element. More...
pid_t | snd_ctl_elem_info_get_owner (const snd_ctl_elem_info_t *obj)
| Get owner of a locked element. More...
unsigned int | snd_ctl_elem_info_get_count (const snd_ctl_elem_info_t *obj)
| Get number of value entries from a CTL element id/info. More...
long | snd_ctl_elem_info_get_min (const snd_ctl_elem_info_t *obj)
| Get minimum value from a SND_CTL_ELEM_TYPE_INTEGER CTL element id/info. More...
long | snd_ctl_elem_info_get_max (const snd_ctl_elem_info_t *obj)
| Get maximum value from a SND_CTL_ELEM_TYPE_INTEGER CTL element id/info. More...
long | snd_ctl_elem_info_get_step (const snd_ctl_elem_info_t *obj)
| Get value step from a SND_CTL_ELEM_TYPE_INTEGER CTL element id/info. More...
long long | snd_ctl_elem_info_get_min64 (const snd_ctl_elem_info_t *obj)
| Get minimum value from a SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/info. More...
long long | snd_ctl_elem_info_get_max64 (const snd_ctl_elem_info_t *obj)
| Get maximum value from a SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/info. More...
long long | snd_ctl_elem_info_get_step64 (const snd_ctl_elem_info_t *obj)
| Get value step from a SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/info. More...
unsigned int | snd_ctl_elem_info_get_items (const snd_ctl_elem_info_t *obj)
| Get number of items available from a SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/info. More...
void | snd_ctl_elem_info_set_item (snd_ctl_elem_info_t *obj, unsigned int val)
| Select item in a SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/info. More...
const char * | snd_ctl_elem_info_get_item_name (const snd_ctl_elem_info_t *obj)
| Get name for selected item in a SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/info. More...
int | snd_ctl_elem_info_get_dimensions (const snd_ctl_elem_info_t *obj)
| Get count of dimensions for given element. More...
int | snd_ctl_elem_info_get_dimension (const snd_ctl_elem_info_t *obj, unsigned int idx)
| Get specified of dimension width for given element. More...
int | snd_ctl_elem_info_set_dimension (snd_ctl_elem_info_t *info, const int dimension[4])
| Set width to a specified dimension level of given element information. More...
void | snd_ctl_elem_info_get_id (const snd_ctl_elem_info_t *obj, snd_ctl_elem_id_t *ptr)
| Get CTL element identifier of a CTL element id/info. More...
unsigned int | snd_ctl_elem_info_get_numid (const snd_ctl_elem_info_t *obj)
| Get element numeric identifier of a CTL element id/info. More...
snd_ctl_elem_iface_t | snd_ctl_elem_info_get_interface (const snd_ctl_elem_info_t *obj)
| Get interface part of CTL element identifier of a CTL element id/info. More...
unsigned int | snd_ctl_elem_info_get_device (const snd_ctl_elem_info_t *obj)
| Get device part of CTL element identifier of a CTL element id/info. More...
unsigned int | snd_ctl_elem_info_get_subdevice (const snd_ctl_elem_info_t *obj)
| Get subdevice part of CTL element identifier of a CTL element id/info. More...
const char * | snd_ctl_elem_info_get_name (const snd_ctl_elem_info_t *obj)
| Get name part of CTL element identifier of a CTL element id/info. More...
unsigned int | snd_ctl_elem_info_get_index (const snd_ctl_elem_info_t *obj)
| Get index part of CTL element identifier of a CTL element id/info. More...
void | snd_ctl_elem_info_set_id (snd_ctl_elem_info_t *obj, const snd_ctl_elem_id_t *ptr)
| Set CTL element identifier of a CTL element id/info. More...
void | snd_ctl_elem_info_set_numid (snd_ctl_elem_info_t *obj, unsigned int val)
| Set element numeric identifier of a CTL element id/info. More...
void | snd_ctl_elem_info_set_interface (snd_ctl_elem_info_t *obj, snd_ctl_elem_iface_t val)
| Set interface part of CTL element identifier of a CTL element id/info. More...
void | snd_ctl_elem_info_set_device (snd_ctl_elem_info_t *obj, unsigned int val)
| Set device part of CTL element identifier of a CTL element id/info. More...
void | snd_ctl_elem_info_set_subdevice (snd_ctl_elem_info_t *obj, unsigned int val)
| Set subdevice part of CTL element identifier of a CTL element id/info. More...
void | snd_ctl_elem_info_set_name (snd_ctl_elem_info_t *obj, const char *val)
| Set name part of CTL element identifier of a CTL element id/info. More...
void | snd_ctl_elem_info_set_index (snd_ctl_elem_info_t *obj, unsigned int val)
| Set index part of CTL element identifier of a CTL element id/info. More...
int | snd_ctl_add_integer_elem_set (snd_ctl_t *ctl, snd_ctl_elem_info_t *info, unsigned int element_count, unsigned int member_count, long min, long max, long step)
| Create and add some user-defined control elements of integer type. More...
int | snd_ctl_add_integer64_elem_set (snd_ctl_t *ctl, snd_ctl_elem_info_t *info, unsigned int element_count, unsigned int member_count, long long min, long long max, long long step)
| Create and add some user-defined control elements of integer64 type. More...
int | snd_ctl_add_boolean_elem_set (snd_ctl_t *ctl, snd_ctl_elem_info_t *info, unsigned int element_count, unsigned int member_count)
| Create and add some user-defined control elements of boolean type. More...
int | snd_ctl_add_enumerated_elem_set (snd_ctl_t *ctl, snd_ctl_elem_info_t *info, unsigned int element_count, unsigned int member_count, unsigned int items, const char *const labels[])
| Create and add some user-defined control elements of enumerated type. More...
int | snd_ctl_add_bytes_elem_set (snd_ctl_t *ctl, snd_ctl_elem_info_t *info, unsigned int element_count, unsigned int member_count)
| Create and add some user-defined control elements of bytes type. More...
int | snd_ctl_elem_add_integer (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, unsigned int count, long imin, long imax, long istep)
| Create and add an user-defined control element of integer type. More...
int | snd_ctl_elem_add_integer64 (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, unsigned int count, long long imin, long long imax, long long istep)
| Create and add an user-defined control element of integer64 type. More...
int | snd_ctl_elem_add_boolean (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, unsigned int count)
| Create and add an user-defined control element of boolean type. More...
int | snd_ctl_elem_add_enumerated (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, unsigned int count, unsigned int items, const char *const names[])
| Create and add a user-defined control element of enumerated type. More...
int | snd_ctl_elem_add_iec958 (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id)
| Create and add a user-defined control element of IEC958 type. More...
int | snd_ctl_elem_remove (snd_ctl_t *ctl, snd_ctl_elem_id_t *id)
| Remove an user CTL element. More...
size_t | snd_ctl_elem_value_sizeof (void)
| Get size of data structure for an element. More...
int | snd_ctl_elem_value_malloc (snd_ctl_elem_value_t **ptr)
| Allocate an invalid snd_ctl_elem_value_t using standard malloc(3). More...
void | snd_ctl_elem_value_free (snd_ctl_elem_value_t *obj)
| Frees a previously allocated data of an element. More...
void | snd_ctl_elem_value_clear (snd_ctl_elem_value_t *obj)
| Clear given data of an element. More...
void | snd_ctl_elem_value_copy (snd_ctl_elem_value_t *dst, const snd_ctl_elem_value_t *src)
| Copy two data of elements. More...
int | snd_ctl_elem_value_compare (snd_ctl_elem_value_t *left, const snd_ctl_elem_value_t *right)
| Compare one data of an element to the other. More...
void | snd_ctl_elem_value_get_id (const snd_ctl_elem_value_t *obj, snd_ctl_elem_id_t *ptr)
| Get element identifier from given data of an element. More...
unsigned int | snd_ctl_elem_value_get_numid (const snd_ctl_elem_value_t *obj)
| Get element numeric identifier from given data of an element. More...
snd_ctl_elem_iface_t | snd_ctl_elem_value_get_interface (const snd_ctl_elem_value_t *obj)
| Get interface part of element identifier from given data of an element. More...
unsigned int | snd_ctl_elem_value_get_device (const snd_ctl_elem_value_t *obj)
| Get device part of element identifier from given data of an element. More...
unsigned int | snd_ctl_elem_value_get_subdevice (const snd_ctl_elem_value_t *obj)
| Get subdevice part of element identifier from given data of an element. More...
const char * | snd_ctl_elem_value_get_name (const snd_ctl_elem_value_t *obj)
| Get name part of element identifier from given data of an element. More...
unsigned int | snd_ctl_elem_value_get_index (const snd_ctl_elem_value_t *obj)
| Get index part of element identifier from given data of an element. More...
void | snd_ctl_elem_value_set_id (snd_ctl_elem_value_t *obj, const snd_ctl_elem_id_t *ptr)
| Set element identifier to given data of an element. More...
void | snd_ctl_elem_value_set_numid (snd_ctl_elem_value_t *obj, unsigned int val)
| Set numeric identifier to given data of an element. More...
void | snd_ctl_elem_value_set_interface (snd_ctl_elem_value_t *obj, snd_ctl_elem_iface_t val)
| Set interface part of element identifier to given data of an element. More...
void | snd_ctl_elem_value_set_device (snd_ctl_elem_value_t *obj, unsigned int val)
| Set device part of element identifier to given data of an element. More...
void | snd_ctl_elem_value_set_subdevice (snd_ctl_elem_value_t *obj, unsigned int val)
| Set subdevice part of element identifier to given data of an element. More...
void | snd_ctl_elem_value_set_name (snd_ctl_elem_value_t *obj, const char *val)
| Set name part of element identifier to given data of an element. More...
void | snd_ctl_elem_value_set_index (snd_ctl_elem_value_t *obj, unsigned int val)
| Set index part of element identifier to given data of an element. More...
int | snd_ctl_elem_value_get_boolean (const snd_ctl_elem_value_t *obj, unsigned int idx)
| Get value of a specified member from given data as an element of boolean type. More...
long | snd_ctl_elem_value_get_integer (const snd_ctl_elem_value_t *obj, unsigned int idx)
| Get value of a specified member from given data as an element of integer type. More...
long long | snd_ctl_elem_value_get_integer64 (const snd_ctl_elem_value_t *obj, unsigned int idx)
| Get value of a specified member from given data as an element of integer64 type. More...
unsigned int | snd_ctl_elem_value_get_enumerated (const snd_ctl_elem_value_t *obj, unsigned int idx)
| Get value of a specified member from given data as an element of enumerated type. More...
unsigned char | snd_ctl_elem_value_get_byte (const snd_ctl_elem_value_t *obj, unsigned int idx)
| Get value of a specified member from given data as an element of bytes type. More...
void | snd_ctl_elem_value_set_boolean (snd_ctl_elem_value_t *obj, unsigned int idx, long val)
| Set value of a specified member to given data as an element of boolean type. More...
void | snd_ctl_elem_value_set_integer (snd_ctl_elem_value_t *obj, unsigned int idx, long val)
| Set value of a specified member to given data as an element of integer type. More...
void | snd_ctl_elem_value_set_integer64 (snd_ctl_elem_value_t *obj, unsigned int idx, long long val)
| Set value of a specified member to given data as an element of integer64 type. More...
void | snd_ctl_elem_value_set_enumerated (snd_ctl_elem_value_t *obj, unsigned int idx, unsigned int val)
| Set value of a specified member to given data as an element of enumerated type. More...
void | snd_ctl_elem_value_set_byte (snd_ctl_elem_value_t *obj, unsigned int idx, unsigned char val)
| Set value for a specified member to given data as an element of byte type. More...
void | snd_ctl_elem_set_bytes (snd_ctl_elem_value_t *obj, void *data, size_t size)
| Set values to given data as an element of bytes type. More...
const void * | snd_ctl_elem_value_get_bytes (const snd_ctl_elem_value_t *obj)
| Get memory block from given data as an element of bytes type. More...
void | snd_ctl_elem_value_get_iec958 (const snd_ctl_elem_value_t *obj, snd_aes_iec958_t *ptr)
| Get value from given data to given pointer as an element of IEC958 type. More...
void | snd_ctl_elem_value_set_iec958 (snd_ctl_elem_value_t *obj, const snd_aes_iec958_t *ptr)
| Set value from given pointer to given data as an element of IEC958 type. More...
int | snd_tlv_parse_dB_info (unsigned int *tlv, unsigned int tlv_size, unsigned int **db_tlvp)
| Parse TLV stream and retrieve dB information. More...
int | snd_tlv_get_dB_range (unsigned int *tlv, long rangemin, long rangemax, long *min, long *max)
| Get the dB min/max values. More...
int | snd_tlv_convert_to_dB (unsigned int *tlv, long rangemin, long rangemax, long volume, long *db_gain)
| Convert the given raw volume value to a dB gain. More...
int | snd_tlv_convert_from_dB (unsigned int *tlv, long rangemin, long rangemax, long db_gain, long *value, int xdir)
| Convert from dB gain to the corresponding raw value. More...
int | snd_ctl_get_dB_range (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, long *min, long *max)
| Get the dB min/max values on the given control element. More...
int | snd_ctl_convert_to_dB (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, long volume, long *db_gain)
| Convert the volume value to dB on the given control element. More...
int | snd_ctl_convert_from_dB (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, long db_gain, long *value, int xdir)
| Convert from dB gain to the raw volume value on the given control element. 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...
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...
int | snd_sctl_build (snd_sctl_t **ctl, snd_ctl_t *handle, snd_config_t *config, snd_config_t *private_data, int mode)
| Build setup control handle. More...
int | snd_sctl_free (snd_sctl_t *handle)
| Free setup control handle. More...
int | snd_sctl_install (snd_sctl_t *handle)
| Install given values to control elements. More...
int | snd_sctl_remove (snd_sctl_t *handle)
| Remove (restore) previous values from control elements. More...

## Detailed Description

Application interface library for the ALSA driver.

Author
  Jaroslav Kysela perex.nosp@m.@per.nosp@m.ex.cz
  Abramo Bagnara abram.nosp@m.o@al.nosp@m.sa-pr.nosp@m.ojec.nosp@m.t.org
  Takashi Iwai tiwai.nosp@m.@sus.nosp@m.e.de

Date
  1998-2001

Application interface library for the ALSA driver