Control Interface


Modules

 High level Control Interface
 Setup Control Interface

Data Structures

struct  snd_aes_iec958

Defines

#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_TLV_DB_GAIN_MUTE   -9999999
#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
#define snd_ctl_card_info_alloca(ptr)
 allocate an invalid snd_ctl_card_info_t using standard alloca
#define snd_ctl_event_alloca(ptr)
 allocate an invalid snd_ctl_event_t using standard alloca
#define snd_ctl_elem_list_alloca(ptr)
 allocate an invalid snd_ctl_elem_list_t using standard alloca
#define snd_ctl_elem_info_alloca(ptr)
 allocate an invalid snd_ctl_elem_info_t using standard alloca
#define snd_ctl_elem_value_alloca(ptr)
 allocate an invalid snd_ctl_elem_value_t using standard alloca

Typedefs

typedef snd_aes_iec958 snd_aes_iec958_t
typedef _snd_ctl_card_info snd_ctl_card_info_t
typedef _snd_ctl_elem_id snd_ctl_elem_id_t
typedef _snd_ctl_elem_list snd_ctl_elem_list_t
typedef _snd_ctl_elem_info snd_ctl_elem_info_t
typedef _snd_ctl_elem_value snd_ctl_elem_value_t
typedef _snd_ctl_event snd_ctl_event_t
typedef enum _snd_ctl_elem_type snd_ctl_elem_type_t
typedef enum _snd_ctl_elem_iface snd_ctl_elem_iface_t
typedef enum _snd_ctl_event_type snd_ctl_event_type_t
typedef enum _snd_ctl_type snd_ctl_type_t
typedef _snd_ctl snd_ctl_t
typedef _snd_sctl snd_sctl_t

Enumerations

enum  _snd_ctl_elem_type {
  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 {
  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 { SND_CTL_EVENT_ELEM = 0, SND_CTL_EVENT_LAST = SND_CTL_EVENT_ELEM }
enum  _snd_ctl_type { 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.
int snd_card_next (int *card)
 Try to determine the next card.
int snd_card_get_index (const char *name)
 Convert card string to an integer value.
int snd_card_get_name (int card, char **name)
 Obtain the card name.
int snd_card_get_longname (int card, char **name)
 Obtain the card long name.
int snd_device_name_hint (int card, const char *iface, void ***hints)
 Return string list with device name hints.
int snd_device_name_free_hint (void **hints)
 Free a string list with device name hints.
char * snd_device_name_get_hint (const void *hint, const char *id)
 Get a hint Free a string list with device name hints.
int snd_ctl_open (snd_ctl_t **ctl, const char *name, int mode)
 Opens a CTL.
int snd_ctl_open_lconf (snd_ctl_t **ctl, const char *name, int mode, snd_config_t *lconf)
 Opens a CTL using local configuration.
int snd_ctl_close (snd_ctl_t *ctl)
 close CTL handle
int snd_ctl_nonblock (snd_ctl_t *ctl, int nonblock)
 set nonblock mode
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.
snd_ctl_tsnd_async_handler_get_ctl (snd_async_handler_t *handler)
 Return CTL handle related to an async handler.
int snd_ctl_poll_descriptors_count (snd_ctl_t *ctl)
 get count of poll descriptors for CTL handle
int snd_ctl_poll_descriptors (snd_ctl_t *ctl, struct pollfd *pfds, unsigned int space)
 get poll descriptors
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
int snd_ctl_subscribe_events (snd_ctl_t *ctl, int subscribe)
 Ask to be informed about events (poll, snd_ctl_async, snd_ctl_read).
int snd_ctl_card_info (snd_ctl_t *ctl, snd_ctl_card_info_t *info)
 Get card related information.
int snd_ctl_elem_list (snd_ctl_t *ctl, snd_ctl_elem_list_t *list)
 Get a list of element identifiers.
int snd_ctl_elem_info (snd_ctl_t *ctl, snd_ctl_elem_info_t *info)
 Get CTL element information.
int snd_ctl_elem_read (snd_ctl_t *ctl, snd_ctl_elem_value_t *value)
 Get CTL element value.
int snd_ctl_elem_write (snd_ctl_t *ctl, snd_ctl_elem_value_t *value)
 Set CTL element value.
int snd_ctl_elem_lock (snd_ctl_t *ctl, snd_ctl_elem_id_t *id)
 Lock CTL element.
int snd_ctl_elem_unlock (snd_ctl_t *ctl, snd_ctl_elem_id_t *id)
 Unlock CTL element.
int snd_ctl_elem_tlv_read (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, unsigned int *tlv, unsigned int tlv_size)
 Get CTL element TLV value.
int snd_ctl_elem_tlv_write (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, const unsigned int *tlv)
 Set CTL element TLV value.
int snd_ctl_elem_tlv_command (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, const unsigned int *tlv)
 Process CTL element TLV command.
int snd_ctl_hwdep_next_device (snd_ctl_t *ctl, int *device)
 Get next hardware dependent device number.
int snd_ctl_hwdep_info (snd_ctl_t *ctl, snd_hwdep_info_t *info)
 Get info about a hardware dependent device.
int snd_ctl_pcm_next_device (snd_ctl_t *ctl, int *device)
 Get next PCM device number.
int snd_ctl_pcm_info (snd_ctl_t *ctl, snd_pcm_info_t *info)
 Get info about a PCM device.
int snd_ctl_pcm_prefer_subdevice (snd_ctl_t *ctl, int subdev)
 Set preferred PCM subdevice number of successive PCM open.
int snd_ctl_rawmidi_next_device (snd_ctl_t *ctl, int *device)
 Get next RawMidi device number.
int snd_ctl_rawmidi_info (snd_ctl_t *ctl, snd_rawmidi_info_t *info)
 Get info about a RawMidi device.
int snd_ctl_rawmidi_prefer_subdevice (snd_ctl_t *ctl, int subdev)
 Set preferred RawMidi subdevice number of successive RawMidi open.
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.
int snd_ctl_get_power_state (snd_ctl_t *ctl, unsigned int *state)
 Get actual Power State.
int snd_ctl_read (snd_ctl_t *ctl, snd_ctl_event_t *event)
 Read an event.
int snd_ctl_wait (snd_ctl_t *ctl, int timeout)
 Wait for a CTL to become ready (i.e. at least one event pending).
const char * snd_ctl_name (snd_ctl_t *ctl)
 get identifier of CTL handle
snd_ctl_type_t snd_ctl_type (snd_ctl_t *ctl)
 get type of CTL handle
const char * snd_ctl_elem_type_name (snd_ctl_elem_type_t type)
 get name of a CTL element type
const char * snd_ctl_elem_iface_name (snd_ctl_elem_iface_t iface)
 get name of a CTL element related interface
const char * snd_ctl_event_type_name (snd_ctl_event_type_t type)
 get name of a CTL event type
unsigned int snd_ctl_event_elem_get_mask (const snd_ctl_event_t *obj)
 Get event mask for an element related event.
unsigned int snd_ctl_event_elem_get_numid (const snd_ctl_event_t *obj)
 Get element numeric identifier for an element related event.
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.
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.
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.
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.
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.
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.
int snd_ctl_elem_list_alloc_space (snd_ctl_elem_list_t *obj, unsigned int entries)
 allocate space for CTL element identifiers list
void snd_ctl_elem_list_free_space (snd_ctl_elem_list_t *obj)
 free previously allocated space for CTL element identifiers list
size_t snd_ctl_elem_id_sizeof (void)
 get size of snd_ctl_elem_id_t
int snd_ctl_elem_id_malloc (snd_ctl_elem_id_t **ptr)
 allocate an invalid snd_ctl_elem_id_t using standard malloc
void snd_ctl_elem_id_free (snd_ctl_elem_id_t *obj)
 frees a previously allocated snd_ctl_elem_id_t
void snd_ctl_elem_id_clear (snd_ctl_elem_id_t *obj)
 clear given snd_ctl_elem_id_t object
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
unsigned int snd_ctl_elem_id_get_numid (const snd_ctl_elem_id_t *obj)
 Get numeric identifier from a CTL element identifier.
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.
unsigned int snd_ctl_elem_id_get_device (const snd_ctl_elem_id_t *obj)
 Get device part of a CTL element identifier.
unsigned int snd_ctl_elem_id_get_subdevice (const snd_ctl_elem_id_t *obj)
 Get subdevice part of a CTL element identifier.
const char * snd_ctl_elem_id_get_name (const snd_ctl_elem_id_t *obj)
 Get name part of a CTL element identifier.
unsigned int snd_ctl_elem_id_get_index (const snd_ctl_elem_id_t *obj)
 Get index part of a CTL element identifier.
void snd_ctl_elem_id_set_numid (snd_ctl_elem_id_t *obj, unsigned int val)
 Set numeric identifier for a CTL element identifier.
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.
void snd_ctl_elem_id_set_device (snd_ctl_elem_id_t *obj, unsigned int val)
 Set device part for a CTL element identifier.
void snd_ctl_elem_id_set_subdevice (snd_ctl_elem_id_t *obj, unsigned int val)
 Set subdevice part for a CTL element identifier.
void snd_ctl_elem_id_set_name (snd_ctl_elem_id_t *obj, const char *val)
 Set name part for a CTL element identifier.
void snd_ctl_elem_id_set_index (snd_ctl_elem_id_t *obj, unsigned int val)
 Set index part for a CTL element identifier.
size_t snd_ctl_card_info_sizeof (void)
 get size of snd_ctl_card_info_t
int snd_ctl_card_info_malloc (snd_ctl_card_info_t **ptr)
 allocate an invalid snd_ctl_card_info_t using standard malloc
void snd_ctl_card_info_free (snd_ctl_card_info_t *obj)
 frees a previously allocated snd_ctl_card_info_t
void snd_ctl_card_info_clear (snd_ctl_card_info_t *obj)
 clear given snd_ctl_card_info_t object
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
int snd_ctl_card_info_get_card (const snd_ctl_card_info_t *obj)
 Get card number from a CTL card info.
const char * snd_ctl_card_info_get_id (const snd_ctl_card_info_t *obj)
 Get card identifier from a CTL card info.
const char * snd_ctl_card_info_get_driver (const snd_ctl_card_info_t *obj)
 Get card driver name from a CTL card info.
const char * snd_ctl_card_info_get_name (const snd_ctl_card_info_t *obj)
 Get card name from a CTL card info.
const char * snd_ctl_card_info_get_longname (const snd_ctl_card_info_t *obj)
 Get card long name from a CTL card info.
const char * snd_ctl_card_info_get_mixername (const snd_ctl_card_info_t *obj)
 Get card mixer name from a CTL card info.
const char * snd_ctl_card_info_get_components (const snd_ctl_card_info_t *obj)
 Get card component list from a CTL card info.
size_t snd_ctl_event_sizeof (void)
 get size of snd_ctl_event_t
int snd_ctl_event_malloc (snd_ctl_event_t **ptr)
 allocate an invalid snd_ctl_event_t using standard malloc
void snd_ctl_event_free (snd_ctl_event_t *obj)
 frees a previously allocated snd_ctl_event_t
void snd_ctl_event_clear (snd_ctl_event_t *obj)
 clear given snd_ctl_event_t object
void snd_ctl_event_copy (snd_ctl_event_t *dst, const snd_ctl_event_t *src)
 copy one snd_ctl_event_t to another
snd_ctl_event_type_t snd_ctl_event_get_type (const snd_ctl_event_t *obj)
 Get type of a CTL event.
size_t snd_ctl_elem_list_sizeof (void)
 get size of snd_ctl_elem_list_t
int snd_ctl_elem_list_malloc (snd_ctl_elem_list_t **ptr)
 allocate an invalid snd_ctl_elem_list_t using standard malloc
void snd_ctl_elem_list_free (snd_ctl_elem_list_t *obj)
 frees a previously allocated snd_ctl_elem_list_t
void snd_ctl_elem_list_clear (snd_ctl_elem_list_t *obj)
 clear given snd_ctl_elem_list_t object
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
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
size_t snd_ctl_elem_info_sizeof (void)
 get size of snd_ctl_elem_info_t
int snd_ctl_elem_info_malloc (snd_ctl_elem_info_t **ptr)
 allocate an invalid snd_ctl_elem_info_t using standard malloc
void snd_ctl_elem_info_free (snd_ctl_elem_info_t *obj)
 frees a previously allocated snd_ctl_elem_info_t
void snd_ctl_elem_info_clear (snd_ctl_elem_info_t *obj)
 clear given snd_ctl_elem_info_t object
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
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.
int snd_ctl_elem_info_is_readable (const snd_ctl_elem_info_t *obj)
 Get info about readability from a CTL element id/info.
int snd_ctl_elem_info_is_writable (const snd_ctl_elem_info_t *obj)
 Get info about writability from a CTL element id/info.
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.
int snd_ctl_elem_info_is_inactive (const snd_ctl_elem_info_t *obj)
 Get info about status from a CTL element id/info.
int snd_ctl_elem_info_is_locked (const snd_ctl_elem_info_t *obj)
 Get info whether an element is locked.
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.
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.
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.
int snd_ctl_elem_info_is_owner (const snd_ctl_elem_info_t *obj)
 Get info if I own an element.
int snd_ctl_elem_info_is_user (const snd_ctl_elem_info_t *obj)
 Get info if it's a user element.
pid_t snd_ctl_elem_info_get_owner (const snd_ctl_elem_info_t *obj)
 Get owner of a locked element.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
int snd_ctl_elem_info_get_dimensions (const snd_ctl_elem_info_t *obj)
 Get count of dimensions for given element.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 INTEGER CTL element.
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 INTEGER64 CTL element.
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 BOOLEAN CTL element.
int snd_ctl_elem_add_iec958 (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id)
 Create and add an user IEC958 CTL element.
int snd_ctl_elem_remove (snd_ctl_t *ctl, snd_ctl_elem_id_t *id)
 Remove an user CTL element.
size_t snd_ctl_elem_value_sizeof (void)
 get size of snd_ctl_elem_value_t
int snd_ctl_elem_value_malloc (snd_ctl_elem_value_t **ptr)
 allocate an invalid snd_ctl_elem_value_t using standard malloc
void snd_ctl_elem_value_free (snd_ctl_elem_value_t *obj)
 frees a previously allocated snd_ctl_elem_value_t
void snd_ctl_elem_value_clear (snd_ctl_elem_value_t *obj)
 clear given snd_ctl_elem_value_t object
void snd_ctl_elem_value_copy (snd_ctl_elem_value_t *dst, const snd_ctl_elem_value_t *src)
 copy one snd_ctl_elem_value_t to another
void snd_ctl_elem_value_get_id (const snd_ctl_elem_value_t *obj, snd_ctl_elem_id_t *ptr)
 Get CTL element identifier of a CTL element id/value.
unsigned int snd_ctl_elem_value_get_numid (const snd_ctl_elem_value_t *obj)
 Get element numeric identifier of a CTL element id/value.
snd_ctl_elem_iface_t snd_ctl_elem_value_get_interface (const snd_ctl_elem_value_t *obj)
 Get interface part of CTL element identifier of a CTL element id/value.
unsigned int snd_ctl_elem_value_get_device (const snd_ctl_elem_value_t *obj)
 Get device part of CTL element identifier of a CTL element id/value.
unsigned int snd_ctl_elem_value_get_subdevice (const snd_ctl_elem_value_t *obj)
 Get subdevice part of CTL element identifier of a CTL element id/value.
const char * snd_ctl_elem_value_get_name (const snd_ctl_elem_value_t *obj)
 Get name part of CTL element identifier of a CTL element id/value.
unsigned int snd_ctl_elem_value_get_index (const snd_ctl_elem_value_t *obj)
 Get index part of CTL element identifier of a CTL element id/value.
void snd_ctl_elem_value_set_id (snd_ctl_elem_value_t *obj, const snd_ctl_elem_id_t *ptr)
 Set CTL element identifier of a CTL element id/value.
void snd_ctl_elem_value_set_numid (snd_ctl_elem_value_t *obj, unsigned int val)
 Set element numeric identifier of a CTL element id/value.
void snd_ctl_elem_value_set_interface (snd_ctl_elem_value_t *obj, snd_ctl_elem_iface_t val)
 Set interface part of CTL element identifier of a CTL element id/value.
void snd_ctl_elem_value_set_device (snd_ctl_elem_value_t *obj, unsigned int val)
 Set device part of CTL element identifier of a CTL element id/value.
void snd_ctl_elem_value_set_subdevice (snd_ctl_elem_value_t *obj, unsigned int val)
 Set subdevice part of CTL element identifier of a CTL element id/value.
void snd_ctl_elem_value_set_name (snd_ctl_elem_value_t *obj, const char *val)
 Set name part of CTL element identifier of a CTL element id/value.
void snd_ctl_elem_value_set_index (snd_ctl_elem_value_t *obj, unsigned int val)
 Set index part of CTL element identifier of a CTL element id/value.
int snd_ctl_elem_value_get_boolean (const snd_ctl_elem_value_t *obj, unsigned int idx)
 Get value for an entry of a SND_CTL_ELEM_TYPE_BOOLEAN CTL element id/value.
long snd_ctl_elem_value_get_integer (const snd_ctl_elem_value_t *obj, unsigned int idx)
 Get value for an entry of a SND_CTL_ELEM_TYPE_INTEGER CTL element id/value.
long long snd_ctl_elem_value_get_integer64 (const snd_ctl_elem_value_t *obj, unsigned int idx)
 Get value for an entry of a SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/value.
unsigned int snd_ctl_elem_value_get_enumerated (const snd_ctl_elem_value_t *obj, unsigned int idx)
 Get value for an entry of a SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/value.
unsigned char snd_ctl_elem_value_get_byte (const snd_ctl_elem_value_t *obj, unsigned int idx)
 Get value for an entry of a SND_CTL_ELEM_TYPE_BYTES CTL element id/value.
void snd_ctl_elem_value_set_boolean (snd_ctl_elem_value_t *obj, unsigned int idx, long val)
 Set value for an entry of a SND_CTL_ELEM_TYPE_BOOLEAN CTL element id/value.
void snd_ctl_elem_value_set_integer (snd_ctl_elem_value_t *obj, unsigned int idx, long val)
 Set value for an entry of a SND_CTL_ELEM_TYPE_INTEGER CTL element id/value.
void snd_ctl_elem_value_set_integer64 (snd_ctl_elem_value_t *obj, unsigned int idx, long long val)
 Set value for an entry of a SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/value.
void snd_ctl_elem_value_set_enumerated (snd_ctl_elem_value_t *obj, unsigned int idx, unsigned int val)
 Set value for an entry of a SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/value.
void snd_ctl_elem_value_set_byte (snd_ctl_elem_value_t *obj, unsigned int idx, unsigned char val)
 Set value for an entry of a SND_CTL_ELEM_TYPE_BYTES CTL element id/value.
void snd_ctl_elem_set_bytes (snd_ctl_elem_value_t *obj, void *data, size_t size)
 Set CTL element SND_CTL_ELEM_TYPE_BYTES value.
const void * snd_ctl_elem_value_get_bytes (const snd_ctl_elem_value_t *obj)
 Get value for a SND_CTL_ELEM_TYPE_BYTES CTL element id/value.
void snd_ctl_elem_value_get_iec958 (const snd_ctl_elem_value_t *obj, snd_aes_iec958_t *ptr)
 Get value for a SND_CTL_ELEM_TYPE_IEC958 CTL element id/value.
void snd_ctl_elem_value_set_iec958 (snd_ctl_elem_value_t *obj, const snd_aes_iec958_t *ptr)
 Set value for a SND_CTL_ELEM_TYPE_IEC958 CTL element id/value.

Detailed Description

The control interface. See Control interface page for more details.

Define Documentation

#define SND_CONTROL_DLSYM_VERSION   _dlsym_control_001

dlsym version for interface entry callback

#define SND_CTL_ASYNC

Async notification (flag for open mode)

#define snd_ctl_card_info_alloca ( ptr   ) 

allocate an invalid snd_ctl_card_info_t using standard alloca

Parameters:
ptr returned pointer

#define snd_ctl_elem_id_alloca ( ptr   ) 

allocate an invalid snd_ctl_elem_id_t using standard alloca

Parameters:
ptr returned pointer

#define snd_ctl_elem_info_alloca ( ptr   ) 

allocate an invalid snd_ctl_elem_info_t using standard alloca

Parameters:
ptr returned pointer

#define snd_ctl_elem_list_alloca ( ptr   ) 

allocate an invalid snd_ctl_elem_list_t using standard alloca

Parameters:
ptr returned pointer

#define snd_ctl_elem_value_alloca ( ptr   ) 

allocate an invalid snd_ctl_elem_value_t using standard alloca

Parameters:
ptr returned pointer

#define snd_ctl_event_alloca ( ptr   ) 

allocate an invalid snd_ctl_event_t using standard alloca

Parameters:
ptr returned pointer

#define SND_CTL_EVENT_MASK_ADD

Element has been added

#define SND_CTL_EVENT_MASK_INFO

Element info has been changed

#define SND_CTL_EVENT_MASK_REMOVE

Element has been removed (Warning: test this first and if set don't test the other masks)

#define SND_CTL_EVENT_MASK_TLV

Element's TLV value has been changed

#define SND_CTL_EVENT_MASK_VALUE

Element value has been changed

#define SND_CTL_NAME_CAPTURE   "Capture "

CTL name helper

#define SND_CTL_NAME_IEC958 ( expl,
direction,
what   )     "IEC958 " expl SND_CTL_NAME_##direction SND_CTL_NAME_IEC958_##what

Element name for IEC958 (S/PDIF)

#define SND_CTL_NAME_IEC958_CON_MASK   "Con Mask"

CTL name helper

#define SND_CTL_NAME_IEC958_DEFAULT   "Default"

CTL name helper

#define SND_CTL_NAME_IEC958_MASK   "Mask"

CTL name helper

#define SND_CTL_NAME_IEC958_NONE   ""

CTL name helper

#define SND_CTL_NAME_IEC958_PCM_STREAM   "PCM Stream"

CTL name helper

#define SND_CTL_NAME_IEC958_PRO_MASK   "Pro Mask"

CTL name helper

#define SND_CTL_NAME_IEC958_SWITCH   "Switch"

CTL name helper

#define SND_CTL_NAME_IEC958_VOLUME   "Volume"

CTL name helper

#define SND_CTL_NAME_NONE   ""

CTL name helper

#define SND_CTL_NAME_PLAYBACK   "Playback "

CTL name helper

#define SND_CTL_NONBLOCK

Non blocking mode (flag for open mode)

#define SND_CTL_POWER_D0   0x0000

ACPI/PCI Power State D0

#define SND_CTL_POWER_D1   0x0100

ACPI/PCI Power State D1

#define SND_CTL_POWER_D2   0x0200

ACPI/PCI Power State D2

#define SND_CTL_POWER_D3   0x0300

ACPI/PCI Power State D3

#define SND_CTL_POWER_D3cold   (SND_CTL_POWER_D3|0x0001)

ACPI/PCI Power State D3cold

#define SND_CTL_POWER_D3hot   (SND_CTL_POWER_D3|0x0000)

ACPI/PCI Power State D3hot

#define SND_CTL_POWER_MASK   0xff00

Mask for the major Power State identifier

#define SND_CTL_READONLY

Read only (flag for open mode)

#define SND_CTL_TLV_DB_GAIN_MUTE   -9999999

Mute state

#define SND_CTL_TLVT_CONTAINER   0x0000

TLV type - Container

#define SND_CTL_TLVT_DB_LINEAR   0x0002

TLV type - linear volume

#define SND_CTL_TLVT_DB_RANGE   0x0003

TLV type - dB range container

#define SND_CTL_TLVT_DB_SCALE   0x0001

TLV type - basic dB scale

#define SND_SCTL_NOFREE   0x0001

Don't destroy the ctl handle when close


Typedef Documentation

typedef struct snd_aes_iec958 snd_aes_iec958_t

IEC958 structure

typedef struct _snd_ctl_card_info snd_ctl_card_info_t

CTL card info container

typedef struct _snd_ctl_elem_id snd_ctl_elem_id_t

CTL element identifier container

typedef enum _snd_ctl_elem_iface snd_ctl_elem_iface_t

CTL related interface

typedef struct _snd_ctl_elem_info snd_ctl_elem_info_t

CTL element info container

typedef struct _snd_ctl_elem_list snd_ctl_elem_list_t

CTL element identifier list container

typedef enum _snd_ctl_elem_type snd_ctl_elem_type_t

CTL element type

typedef struct _snd_ctl_elem_value snd_ctl_elem_value_t

CTL element value container

typedef struct _snd_ctl_event snd_ctl_event_t

CTL event container

typedef enum _snd_ctl_event_type snd_ctl_event_type_t

Event class

typedef struct _snd_ctl snd_ctl_t

CTL handle

typedef enum _snd_ctl_type snd_ctl_type_t

CTL type

typedef struct _snd_sctl snd_sctl_t

SCTL type


Enumeration Type Documentation

enum _snd_ctl_elem_iface

CTL related interface

Enumerator:
SND_CTL_ELEM_IFACE_CARD  Card level
SND_CTL_ELEM_IFACE_HWDEP  Hardware dependent device
SND_CTL_ELEM_IFACE_MIXER  Mixer
SND_CTL_ELEM_IFACE_PCM  PCM
SND_CTL_ELEM_IFACE_RAWMIDI  RawMidi
SND_CTL_ELEM_IFACE_TIMER  Timer
SND_CTL_ELEM_IFACE_SEQUENCER  Sequencer

enum _snd_ctl_elem_type

CTL element type

Enumerator:
SND_CTL_ELEM_TYPE_NONE  Invalid type
SND_CTL_ELEM_TYPE_BOOLEAN  Boolean contents
SND_CTL_ELEM_TYPE_INTEGER  Integer contents
SND_CTL_ELEM_TYPE_ENUMERATED  Enumerated contents
SND_CTL_ELEM_TYPE_BYTES  Bytes contents
SND_CTL_ELEM_TYPE_IEC958  IEC958 (S/PDIF) setting content
SND_CTL_ELEM_TYPE_INTEGER64  64-bit integer contents

enum _snd_ctl_event_type

Event class

Enumerator:
SND_CTL_EVENT_ELEM  Elements related event

enum _snd_ctl_type

CTL type

Enumerator:
SND_CTL_TYPE_HW  Kernel level CTL
SND_CTL_TYPE_SHM  Shared memory client CTL
SND_CTL_TYPE_INET  INET client CTL (not yet implemented)
SND_CTL_TYPE_EXT  External control plugin


Function Documentation

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.

Parameters:
handler Returned handler handle
ctl CTL handle
callback Callback function
private_data Callback private data
Returns:
0 otherwise a negative error code on failure

snd_ctl_t* snd_async_handler_get_ctl ( snd_async_handler_t handler  ) 

Return CTL handle related to an async handler.

Parameters:
handler Async handler handle
Returns:
CTL handle

int snd_card_get_index ( const char *  string  ) 

Convert card string to an integer value.

Parameters:
string String containing card identifier
Returns:
zero if success, otherwise a negative error code
The accepted format is an integer value in ASCII representation or the card identifier (the id parameter for sound-card drivers).

int snd_card_get_longname ( int  card,
char **  name 
)

Obtain the card long name.

Parameters:
card Card number
name Result - card long name corresponding to card number
Returns:
zero if success, otherwise a negative error code

int snd_card_get_name ( int  card,
char **  name 
)

Obtain the card name.

Parameters:
card Card number
name Result - card name corresponding to card number
Returns:
zero if success, otherwise a negative error code

int snd_card_load ( int  card  ) 

Try to load the driver for a card.

Parameters:
card Card number.
Returns:
1 if driver is present, zero if driver is not present

int snd_card_next ( int *  rcard  ) 

Try to determine the next card.

Parameters:
rcard pointer to card number
Returns:
zero if success, otherwise a negative error code
Tries to determine the next card from given card number. If card number is -1, then the first available card is returned. If the result card number is -1, no more cards are available.

int snd_ctl_card_info ( snd_ctl_t ctl,
snd_ctl_card_info_t info 
)

Get card related information.

Parameters:
ctl CTL handle
info Card info pointer
Returns:
0 on success otherwise a negative error code

void snd_ctl_card_info_clear ( snd_ctl_card_info_t obj  ) 

clear given snd_ctl_card_info_t object

Parameters:
obj pointer to object to clear

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

Parameters:
dst pointer to destination
src pointer to source

void snd_ctl_card_info_free ( snd_ctl_card_info_t obj  ) 

frees a previously allocated snd_ctl_card_info_t

Parameters:
obj pointer to object to free

int snd_ctl_card_info_get_card ( const snd_ctl_card_info_t obj  ) 

Get card number from a CTL card info.

Parameters:
obj CTL card info
Returns:
card number

const char* snd_ctl_card_info_get_components ( const snd_ctl_card_info_t obj  ) 

Get card component list from a CTL card info.

Parameters:
obj CTL card info
Returns:
card mixer identifier

const char* snd_ctl_card_info_get_driver ( const snd_ctl_card_info_t obj  ) 

Get card driver name from a CTL card info.

Parameters:
obj CTL card info
Returns:
card driver name

const char* snd_ctl_card_info_get_id ( const snd_ctl_card_info_t obj  ) 

Get card identifier from a CTL card info.

Parameters:
obj CTL card info
Returns:
card identifier

const char* snd_ctl_card_info_get_longname ( const snd_ctl_card_info_t obj  ) 

Get card long name from a CTL card info.

Parameters:
obj CTL card info
Returns:
card long name

const char* snd_ctl_card_info_get_mixername ( const snd_ctl_card_info_t obj  ) 

Get card mixer name from a CTL card info.

Parameters:
obj CTL card info
Returns:
card mixer name

const char* snd_ctl_card_info_get_name ( const snd_ctl_card_info_t obj  ) 

Get card name from a CTL card info.

Parameters:
obj CTL card info
Returns:
card name

int snd_ctl_card_info_malloc ( snd_ctl_card_info_t **  ptr  ) 

allocate an invalid snd_ctl_card_info_t using standard malloc

Parameters:
ptr returned pointer
Returns:
0 on success otherwise negative error code

size_t snd_ctl_card_info_sizeof ( void   ) 

get size of snd_ctl_card_info_t

Returns:
size in bytes

int snd_ctl_close ( snd_ctl_t ctl  ) 

close CTL handle

Parameters:
ctl CTL handle
Returns:
0 on success otherwise a negative error code
Closes the specified CTL handle and frees all associated resources.

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 BOOLEAN CTL element.

Parameters:
ctl CTL handle
id CTL element id to add
count number of elements
Returns:
0 on success otherwise a negative error code

int snd_ctl_elem_add_iec958 ( snd_ctl_t ctl,
const snd_ctl_elem_id_t id 
)

Create and add an user IEC958 CTL element.

Parameters:
ctl CTL handle
id CTL element info to add
Returns:
0 on success otherwise a negative error code

int snd_ctl_elem_add_integer ( snd_ctl_t ctl,
const snd_ctl_elem_id_t id,
unsigned int  count,
long  min,
long  max,
long  step 
)

Create and add an user INTEGER CTL element.

Parameters:
ctl CTL handle
id CTL element id to add
count number of elements
min minimum value
max maximum value
step value step
Returns:
0 on success otherwise a negative error code

int snd_ctl_elem_add_integer64 ( snd_ctl_t ctl,
const snd_ctl_elem_id_t id,
unsigned int  count,
long long  min,
long long  max,
long long  step 
)

Create and add an user INTEGER64 CTL element.

Parameters:
ctl CTL handle
id CTL element id to add
count number of elements
min minimum value
max maximum value
step value step
Returns:
0 on success otherwise a negative error code

void snd_ctl_elem_id_clear ( snd_ctl_elem_id_t obj  ) 

clear given snd_ctl_elem_id_t object

Parameters:
obj pointer to object to clear

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

Parameters:
dst pointer to destination
src pointer to source

void snd_ctl_elem_id_free ( snd_ctl_elem_id_t obj  ) 

frees a previously allocated snd_ctl_elem_id_t

Parameters:
obj pointer to object to free

unsigned int snd_ctl_elem_id_get_device ( const snd_ctl_elem_id_t obj  ) 

Get device part of a CTL element identifier.

Parameters:
obj CTL element identifier
Returns:
CTL element related device

unsigned int snd_ctl_elem_id_get_index ( const snd_ctl_elem_id_t obj  ) 

Get index part of a CTL element identifier.

Parameters:
obj CTL element identifier
Returns:
CTL element index

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.

Parameters:
obj CTL element identifier
Returns:
CTL element related interface

const char* snd_ctl_elem_id_get_name ( const snd_ctl_elem_id_t obj  ) 

Get name part of a CTL element identifier.

Parameters:
obj CTL element identifier
Returns:
CTL element name

unsigned int snd_ctl_elem_id_get_numid ( const snd_ctl_elem_id_t obj  ) 

Get numeric identifier from a CTL element identifier.

Parameters:
obj CTL element identifier
Returns:
CTL element numeric identifier

unsigned int snd_ctl_elem_id_get_subdevice ( const snd_ctl_elem_id_t obj  ) 

Get subdevice part of a CTL element identifier.

Parameters:
obj CTL element identifier
Returns:
CTL element related subdevice

int snd_ctl_elem_id_malloc ( snd_ctl_elem_id_t **  ptr  ) 

allocate an invalid snd_ctl_elem_id_t using standard malloc

Parameters:
ptr returned pointer
Returns:
0 on success otherwise negative error code

void snd_ctl_elem_id_set_device ( snd_ctl_elem_id_t obj,
unsigned int  val 
)

Set device part for a CTL element identifier.

Parameters:
obj CTL element identifier
val CTL element related device

void snd_ctl_elem_id_set_index ( snd_ctl_elem_id_t obj,
unsigned int  val 
)

Set index part for a CTL element identifier.

Parameters:
obj CTL element identifier
val CTL element index

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.

Parameters:
obj CTL element identifier
val CTL element related interface

void snd_ctl_elem_id_set_name ( snd_ctl_elem_id_t obj,
const char *  val 
)

Set name part for a CTL element identifier.

Parameters:
obj CTL element identifier
val CTL element name

void snd_ctl_elem_id_set_numid ( snd_ctl_elem_id_t obj,
unsigned int  val 
)

Set numeric identifier for a CTL element identifier.

Parameters:
obj CTL element identifier
val CTL element numeric identifier

void snd_ctl_elem_id_set_subdevice ( snd_ctl_elem_id_t obj,
unsigned int  val 
)

Set subdevice part for a CTL element identifier.

Parameters:
obj CTL element identifier
val CTL element related subdevice

size_t snd_ctl_elem_id_sizeof ( void   ) 

get size of snd_ctl_elem_id_t

Returns:
size in bytes

const char* snd_ctl_elem_iface_name ( snd_ctl_elem_iface_t  iface  ) 

get name of a CTL element related interface

Parameters:
iface CTL element related interface
Returns:
ascii name of CTL element related interface

int snd_ctl_elem_info ( snd_ctl_t ctl,
snd_ctl_elem_info_t info 
)

Get CTL element information.

Parameters:
ctl CTL handle
info CTL element id/information pointer
Returns:
0 on success otherwise a negative error code

void snd_ctl_elem_info_clear ( snd_ctl_elem_info_t obj  ) 

clear given snd_ctl_elem_info_t object

Parameters:
obj pointer to object to clear

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

Parameters:
dst pointer to destination
src pointer to source

void snd_ctl_elem_info_free ( snd_ctl_elem_info_t obj  ) 

frees a previously allocated snd_ctl_elem_info_t

Parameters:
obj pointer to object to free

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.

Parameters:
obj CTL element id/info
Returns:
value entries count

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.

Parameters:
obj CTL element id/info
Returns:
device part of element identifier

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.

Parameters:
obj CTL element id/info
idx The dimension index
Returns:
zero value if no dimension width is defined, otherwise positive value with with of specified dimension

int snd_ctl_elem_info_get_dimensions ( const snd_ctl_elem_info_t obj  ) 

Get count of dimensions for given element.

Parameters:
obj CTL element id/info
Returns:
zero value if no dimensions are defined, otherwise positive value with count of dimensions

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.

Parameters:
obj CTL element id/info
ptr Pointer to returned CTL element identifier

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.

Parameters:
obj CTL element id/info
Returns:
index part of element identifier

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.

Parameters:
obj CTL element id/info
Returns:
interface part of element identifier

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.

Parameters:
obj CTL element id/info
Returns:
name of chosen item

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.

Parameters:
obj CTL element id/info
Returns:
items count

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.

Parameters:
obj CTL element id/info
Returns:
Maximum value

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.

Parameters:
obj CTL element id/info
Returns:
Maximum value

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.

Parameters:
obj CTL element id/info
Returns:
Minimum value

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.

Parameters:
obj CTL element id/info
Returns:
Minimum value

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.

Parameters:
obj CTL element id/info
Returns:
name part of element identifier

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.

Parameters:
obj CTL element id/info
Returns:
element numeric identifier

pid_t snd_ctl_elem_info_get_owner ( const snd_ctl_elem_info_t obj  ) 

Get owner of a locked element.

Parameters:
obj CTL element id/info
Returns:
value entries count

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.

Parameters:
obj CTL element id/info
Returns:
Step

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.

Parameters:
obj CTL element id/info
Returns:
Step

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.

Parameters:
obj CTL element id/info
Returns:
subdevice part of element identifier

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.

Parameters:
obj CTL element id/info
Returns:
CTL element content type

int snd_ctl_elem_info_is_inactive ( const snd_ctl_elem_info_t obj  ) 

Get info about status from a CTL element id/info.

Parameters:
obj CTL element id/info
Returns:
0 if element value is not active, 1 if is active

int snd_ctl_elem_info_is_locked ( const snd_ctl_elem_info_t obj  ) 

Get info whether an element is locked.

Parameters:
obj CTL element id/info
Returns:
0 if element value is currently changeable, 1 if it's locked by another application

int snd_ctl_elem_info_is_owner ( const snd_ctl_elem_info_t obj  ) 

Get info if I own an element.

Parameters:
obj CTL element id/info
Returns:
0 if element value is currently changeable, 1 if it's locked by another application

int snd_ctl_elem_info_is_readable ( const snd_ctl_elem_info_t obj  ) 

Get info about readability from a CTL element id/info.

Parameters:
obj CTL element id/info
Returns:
0 if element is not readable, 1 if element is readable

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.

Parameters:
obj CTL element id/info
Returns:
0 if element's TLV command is not possible, 1 if element's TLV command is supported

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.

Parameters:
obj CTL element id/info
Returns:
0 if element's TLV is not readable, 1 if element's TLV is readable

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.

Parameters:
obj CTL element id/info
Returns:
0 if element's TLV is not writable, 1 if element's TLV is writable

int snd_ctl_elem_info_is_user ( const snd_ctl_elem_info_t obj  ) 

Get info if it's a user element.

Parameters:
obj CTL element id/info
Returns:
0 if element value is a system element, 1 if it's a user-created element

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.

Parameters:
obj CTL element id/info
Returns:
0 if all element value changes are notified to subscribed applications, 1 otherwise

int snd_ctl_elem_info_is_writable ( const snd_ctl_elem_info_t obj  ) 

Get info about writability from a CTL element id/info.

Parameters:
obj CTL element id/info
Returns:
0 if element is not writable, 1 if element is not writable

int snd_ctl_elem_info_malloc ( snd_ctl_elem_info_t **  ptr  ) 

allocate an invalid snd_ctl_elem_info_t using standard malloc

Parameters:
ptr returned pointer
Returns:
0 on success otherwise negative error code

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.

Parameters:
obj CTL element id/info
val device part of element identifier

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.

Parameters:
obj CTL element id/info
ptr CTL element identifier

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.

Parameters:
obj CTL element id/info
val index part of element identifier

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.

Parameters:
obj CTL element id/info
val interface part of element identifier

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.

Parameters:
obj CTL element id/info
val item number

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.

Parameters:
obj CTL element id/info
val name part of element identifier

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.

Parameters:
obj CTL element id/info
val element numeric identifier

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.

Parameters:
obj CTL element id/info
val subdevice part of element identifier

size_t snd_ctl_elem_info_sizeof ( void   ) 

get size of snd_ctl_elem_info_t

Returns:
size in bytes

int snd_ctl_elem_list ( snd_ctl_t ctl,
snd_ctl_elem_list_t list 
)

Get a list of element identifiers.

Parameters:
ctl CTL handle
list CTL element identifiers list pointer
Returns:
0 on success otherwise a negative error code

int snd_ctl_elem_list_alloc_space ( snd_ctl_elem_list_t obj,
unsigned int  entries 
)

allocate space for CTL element identifiers list

Parameters:
obj CTL element identifiers list
entries Entries to allocate
Returns:
0 on success otherwise a negative error code

void snd_ctl_elem_list_clear ( snd_ctl_elem_list_t obj  ) 

clear given snd_ctl_elem_list_t object

Parameters:
obj pointer to object to clear

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

Parameters:
dst pointer to destination
src pointer to source

void snd_ctl_elem_list_free ( snd_ctl_elem_list_t obj  ) 

frees a previously allocated snd_ctl_elem_list_t

Parameters:
obj pointer to object to free

void snd_ctl_elem_list_free_space ( snd_ctl_elem_list_t obj  ) 

free previously allocated space for CTL element identifiers list

Parameters:
obj CTL element identifiers list

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).

Parameters:
obj CTL element identifier list
Returns:
total number of elements

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.

Parameters:
obj CTL element identifier list
idx Index of entry
Returns:
CTL element related device

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.

Parameters:
obj CTL element identifier list
idx Index of entry
ptr Pointer to returned CTL element identifier

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.

Parameters:
obj CTL element identifier list
idx Index of entry
Returns:
CTL element index

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.

Parameters:
obj CTL element identifier list
idx Index of entry
Returns:
CTL element related interface

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.

Parameters:
obj CTL element identifier list
idx Index of entry
Returns:
CTL element name

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.

Parameters:
obj CTL element identifier list
idx Index of entry
Returns:
CTL element numeric identifier

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.

Parameters:
obj CTL element identifier list
idx Index of entry
Returns:
CTL element related subdevice

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.

Parameters:
obj CTL element identifier list
Returns:
number of used entries

int snd_ctl_elem_list_malloc ( snd_ctl_elem_list_t **  ptr  ) 

allocate an invalid snd_ctl_elem_list_t using standard malloc

Parameters:
ptr returned pointer
Returns:
0 on success otherwise negative error code

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.

Parameters:
obj CTL element identifiers list
val index of CTL element to put at position 0 of list

size_t snd_ctl_elem_list_sizeof ( void   ) 

get size of snd_ctl_elem_list_t

Returns:
size in bytes

int snd_ctl_elem_lock ( snd_ctl_t ctl,
snd_ctl_elem_id_t id 
)

Lock CTL element.

Parameters:
ctl CTL handle
id CTL element id pointer
Returns:
0 on success otherwise a negative error code

int snd_ctl_elem_read ( snd_ctl_t ctl,
snd_ctl_elem_value_t control 
)

Get CTL element value.

Parameters:
ctl CTL handle
control CTL element id/value pointer
Returns:
0 on success otherwise a negative error code

int snd_ctl_elem_remove ( snd_ctl_t ctl,
snd_ctl_elem_id_t id 
)

Remove an user CTL element.

Parameters:
ctl CTL handle
id CTL element identification
Returns:
0 on success otherwise a negative error code

void snd_ctl_elem_set_bytes ( snd_ctl_elem_value_t obj,
void *  data,
size_t  size 
)

Set CTL element SND_CTL_ELEM_TYPE_BYTES value.

Parameters:
obj CTL handle
data Bytes value
size Size in bytes

int snd_ctl_elem_tlv_command ( snd_ctl_t ctl,
const snd_ctl_elem_id_t id,
const unsigned int *  tlv 
)

Process CTL element TLV command.

Parameters:
ctl CTL handle
id CTL element id pointer
tlv TLV array pointer to process
Return values:
0 on success
>0 on success when value was changed
<0 a negative error code

int snd_ctl_elem_tlv_read ( snd_ctl_t ctl,
const snd_ctl_elem_id_t id,
unsigned int *  tlv,
unsigned int  tlv_size 
)

Get CTL element TLV value.

Parameters:
ctl CTL handle
id CTL element id pointer
tlv TLV array pointer to store
tlv_size TLV array size in bytes
Returns:
0 on success otherwise a negative error code

int snd_ctl_elem_tlv_write ( snd_ctl_t ctl,
const snd_ctl_elem_id_t id,
const unsigned int *  tlv 
)

Set CTL element TLV value.

Parameters:
ctl CTL handle
id CTL element id pointer
tlv TLV array pointer to store
Return values:
0 on success
>0 on success when value was changed
<0 a negative error code

const char* snd_ctl_elem_type_name ( snd_ctl_elem_type_t  type  ) 

get name of a CTL element type

Parameters:
type CTL element type
Returns:
ascii name of CTL element type

int snd_ctl_elem_unlock ( snd_ctl_t ctl,
snd_ctl_elem_id_t id 
)

Unlock CTL element.

Parameters:
ctl CTL handle
id CTL element id pointer
Returns:
0 on success otherwise a negative error code

void snd_ctl_elem_value_clear ( snd_ctl_elem_value_t obj  ) 

clear given snd_ctl_elem_value_t object

Parameters:
obj pointer to object to clear

void snd_ctl_elem_value_copy ( snd_ctl_elem_value_t dst,
const snd_ctl_elem_value_t src 
)

copy one snd_ctl_elem_value_t to another

Parameters:
dst pointer to destination
src pointer to source

void snd_ctl_elem_value_free ( snd_ctl_elem_value_t obj  ) 

frees a previously allocated snd_ctl_elem_value_t

Parameters:
obj pointer to object to free

int snd_ctl_elem_value_get_boolean ( const snd_ctl_elem_value_t obj,
unsigned int  idx 
)

Get value for an entry of a SND_CTL_ELEM_TYPE_BOOLEAN CTL element id/value.

Parameters:
obj CTL element id/value
idx Entry index
Returns:
value for the entry

unsigned char snd_ctl_elem_value_get_byte ( const snd_ctl_elem_value_t obj,
unsigned int  idx 
)

Get value for an entry of a SND_CTL_ELEM_TYPE_BYTES CTL element id/value.

Parameters:
obj CTL element id/value
idx Entry index
Returns:
value for the entry

const void* snd_ctl_elem_value_get_bytes ( const snd_ctl_elem_value_t obj  ) 

Get value for a SND_CTL_ELEM_TYPE_BYTES CTL element id/value.

Parameters:
obj CTL element id/value
Returns:
Pointer to CTL element value

unsigned int snd_ctl_elem_value_get_device ( const snd_ctl_elem_value_t obj  ) 

Get device part of CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
Returns:
device part of element identifier

unsigned int snd_ctl_elem_value_get_enumerated ( const snd_ctl_elem_value_t obj,
unsigned int  idx 
)

Get value for an entry of a SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/value.

Parameters:
obj CTL element id/value
idx Entry index
Returns:
value for the entry

void snd_ctl_elem_value_get_id ( const snd_ctl_elem_value_t obj,
snd_ctl_elem_id_t ptr 
)

Get CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
ptr Pointer to returned CTL element identifier

void snd_ctl_elem_value_get_iec958 ( const snd_ctl_elem_value_t obj,
snd_aes_iec958_t ptr 
)

Get value for a SND_CTL_ELEM_TYPE_IEC958 CTL element id/value.

Parameters:
obj CTL element id/value
ptr Pointer to returned CTL element value

unsigned int snd_ctl_elem_value_get_index ( const snd_ctl_elem_value_t obj  ) 

Get index part of CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
Returns:
index part of element identifier

long snd_ctl_elem_value_get_integer ( const snd_ctl_elem_value_t obj,
unsigned int  idx 
)

Get value for an entry of a SND_CTL_ELEM_TYPE_INTEGER CTL element id/value.

Parameters:
obj CTL element id/value
idx Entry index
Returns:
value for the entry

long long snd_ctl_elem_value_get_integer64 ( const snd_ctl_elem_value_t obj,
unsigned int  idx 
)

Get value for an entry of a SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/value.

Parameters:
obj CTL element id/value
idx Entry index
Returns:
value for the entry

snd_ctl_elem_iface_t snd_ctl_elem_value_get_interface ( const snd_ctl_elem_value_t obj  ) 

Get interface part of CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
Returns:
interface part of element identifier

const char* snd_ctl_elem_value_get_name ( const snd_ctl_elem_value_t obj  ) 

Get name part of CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
Returns:
name part of element identifier

unsigned int snd_ctl_elem_value_get_numid ( const snd_ctl_elem_value_t obj  ) 

Get element numeric identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
Returns:
element numeric identifier

unsigned int snd_ctl_elem_value_get_subdevice ( const snd_ctl_elem_value_t obj  ) 

Get subdevice part of CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
Returns:
subdevice part of element identifier

int snd_ctl_elem_value_malloc ( snd_ctl_elem_value_t **  ptr  ) 

allocate an invalid snd_ctl_elem_value_t using standard malloc

Parameters:
ptr returned pointer
Returns:
0 on success otherwise negative error code

void snd_ctl_elem_value_set_boolean ( snd_ctl_elem_value_t obj,
unsigned int  idx,
long  val 
)

Set value for an entry of a SND_CTL_ELEM_TYPE_BOOLEAN CTL element id/value.

Parameters:
obj CTL element id/value
idx Entry index
val value for the entry

void snd_ctl_elem_value_set_byte ( snd_ctl_elem_value_t obj,
unsigned int  idx,
unsigned char  val 
)

Set value for an entry of a SND_CTL_ELEM_TYPE_BYTES CTL element id/value.

Parameters:
obj CTL element id/value
idx Entry index
val value for the entry

void snd_ctl_elem_value_set_device ( snd_ctl_elem_value_t obj,
unsigned int  val 
)

Set device part of CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
val device part of element identifier

void snd_ctl_elem_value_set_enumerated ( snd_ctl_elem_value_t obj,
unsigned int  idx,
unsigned int  val 
)

Set value for an entry of a SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/value.

Parameters:
obj CTL element id/value
idx Entry index
val value for the entry

void snd_ctl_elem_value_set_id ( snd_ctl_elem_value_t obj,
const snd_ctl_elem_id_t ptr 
)

Set CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
ptr CTL element identifier

void snd_ctl_elem_value_set_iec958 ( snd_ctl_elem_value_t obj,
const snd_aes_iec958_t ptr 
)

Set value for a SND_CTL_ELEM_TYPE_IEC958 CTL element id/value.

Parameters:
obj CTL element id/value
ptr Pointer to CTL element value

void snd_ctl_elem_value_set_index ( snd_ctl_elem_value_t obj,
unsigned int  val 
)

Set index part of CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
val index part of element identifier

void snd_ctl_elem_value_set_integer ( snd_ctl_elem_value_t obj,
unsigned int  idx,
long  val 
)

Set value for an entry of a SND_CTL_ELEM_TYPE_INTEGER CTL element id/value.

Parameters:
obj CTL element id/value
idx Entry index
val value for the entry

void snd_ctl_elem_value_set_integer64 ( snd_ctl_elem_value_t obj,
unsigned int  idx,
long long  val 
)

Set value for an entry of a SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/value.

Parameters:
obj CTL element id/value
idx Entry index
val value for the entry

void snd_ctl_elem_value_set_interface ( snd_ctl_elem_value_t obj,
snd_ctl_elem_iface_t  val 
)

Set interface part of CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
val interface part of element identifier

void snd_ctl_elem_value_set_name ( snd_ctl_elem_value_t obj,
const char *  val 
)

Set name part of CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
val name part of element identifier

void snd_ctl_elem_value_set_numid ( snd_ctl_elem_value_t obj,
unsigned int  val 
)

Set element numeric identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
val element numeric identifier

void snd_ctl_elem_value_set_subdevice ( snd_ctl_elem_value_t obj,
unsigned int  val 
)

Set subdevice part of CTL element identifier of a CTL element id/value.

Parameters:
obj CTL element id/value
val subdevice part of element identifier

size_t snd_ctl_elem_value_sizeof ( void   ) 

get size of snd_ctl_elem_value_t

Returns:
size in bytes

int snd_ctl_elem_write ( snd_ctl_t ctl,
snd_ctl_elem_value_t control 
)

Set CTL element value.

Parameters:
ctl CTL handle
control CTL element id/value pointer
Return values:
0 on success
>0 on success when value was changed
<0 a negative error code

void snd_ctl_event_clear ( snd_ctl_event_t obj  ) 

clear given snd_ctl_event_t object

Parameters:
obj pointer to object to clear

void snd_ctl_event_copy ( snd_ctl_event_t dst,
const snd_ctl_event_t src 
)

copy one snd_ctl_event_t to another

Parameters:
dst pointer to destination
src pointer to source

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.

Parameters:
obj CTL event
Returns:
device part of element identifier

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.

Parameters:
obj CTL event
ptr Pointer to returned CTL element identifier

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.

Parameters:
obj CTL event
Returns:
index part of element identifier

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.

Parameters:
obj CTL event
Returns:
interface part of element identifier

unsigned int snd_ctl_event_elem_get_mask ( const snd_ctl_event_t obj  ) 

Get event mask for an element related event.

Parameters:
obj CTL event
Returns:
event mask for element related event

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.

Parameters:
obj CTL event
Returns:
name part of element identifier

unsigned int snd_ctl_event_elem_get_numid ( const snd_ctl_event_t obj  ) 

Get element numeric identifier for an element related event.

Parameters:
obj CTL event
Returns:
element numeric identifier

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.

Parameters:
obj CTL event
Returns:
subdevice part of element identifier

void snd_ctl_event_free ( snd_ctl_event_t obj  ) 

frees a previously allocated snd_ctl_event_t

Parameters:
obj pointer to object to free

snd_ctl_event_type_t snd_ctl_event_get_type ( const snd_ctl_event_t obj  ) 

Get type of a CTL event.

Parameters:
obj CTL event
Returns:
CTL event type

int snd_ctl_event_malloc ( snd_ctl_event_t **  ptr  ) 

allocate an invalid snd_ctl_event_t using standard malloc

Parameters:
ptr returned pointer
Returns:
0 on success otherwise negative error code

size_t snd_ctl_event_sizeof ( void   ) 

get size of snd_ctl_event_t

Returns:
size in bytes

const char* snd_ctl_event_type_name ( snd_ctl_event_type_t  type  ) 

get name of a CTL event type

Parameters:
type CTL event type
Returns:
ascii name of CTL event type

int snd_ctl_get_power_state ( snd_ctl_t ctl,
unsigned int *  state 
)

Get actual Power State.

Parameters:
ctl CTL handle
state Destination value
Returns:
0 on success otherwise a negative error code

int snd_ctl_hwdep_info ( snd_ctl_t ctl,
snd_hwdep_info_t info 
)

Get info about a hardware dependent device.

Parameters:
ctl CTL handle
info Hardware dependent device id/info pointer
Returns:
0 on success otherwise a negative error code

int snd_ctl_hwdep_next_device ( snd_ctl_t ctl,
int *  device 
)

Get next hardware dependent device number.

Parameters:
ctl CTL handle
device current device on entry and next device on return
Returns:
0 on success otherwise a negative error code

const char* snd_ctl_name ( snd_ctl_t ctl  ) 

get identifier of CTL handle

Parameters:
ctl CTL handle
Returns:
ascii identifier of CTL handle
Returns the ASCII identifier of given CTL handle. It's the same identifier specified in snd_ctl_open().

int snd_ctl_nonblock ( snd_ctl_t ctl,
int  nonblock 
)

set nonblock mode

Parameters:
ctl CTL handle
nonblock 0 = block, 1 = nonblock mode
Returns:
0 on success otherwise a negative error code

int snd_ctl_open ( snd_ctl_t **  ctlp,
const char *  name,
int  mode 
)

Opens a CTL.

Parameters:
ctlp Returned CTL handle
name ASCII identifier of the CTL handle
mode Open mode (see SND_CTL_NONBLOCK, SND_CTL_ASYNC)
Returns:
0 on success otherwise a negative error code

int snd_ctl_open_lconf ( snd_ctl_t **  ctlp,
const char *  name,
int  mode,
snd_config_t lconf 
)

Opens a CTL using local configuration.

Parameters:
ctlp Returned CTL handle
name ASCII identifier of the CTL handle
mode Open mode (see SND_CTL_NONBLOCK, SND_CTL_ASYNC)
lconf Local configuration
Returns:
0 on success otherwise a negative error code

int snd_ctl_pcm_info ( snd_ctl_t ctl,
snd_pcm_info_t info 
)

Get info about a PCM device.

Parameters:
ctl CTL handle
info PCM device id/info pointer
Returns:
0 on success otherwise a negative error code

int snd_ctl_pcm_next_device ( snd_ctl_t ctl,
int *  device 
)

Get next PCM device number.

Parameters:
ctl CTL handle
device current device on entry and next device on return
Returns:
0 on success otherwise a negative error code

int snd_ctl_pcm_prefer_subdevice ( snd_ctl_t ctl,
int  subdev 
)

Set preferred PCM subdevice number of successive PCM open.

Parameters:
ctl CTL handle
subdev Preferred PCM subdevice number
Returns:
0 on success otherwise a negative error code

int snd_ctl_poll_descriptors ( snd_ctl_t ctl,
struct pollfd *  pfds,
unsigned int  space 
)

get poll descriptors

Parameters:
ctl CTL handle
pfds array of poll descriptors
space space in the poll descriptor array
Returns:
count of filled descriptors

int snd_ctl_poll_descriptors_count ( snd_ctl_t ctl  ) 

get count of poll descriptors for CTL handle

Parameters:
ctl CTL handle
Returns:
count of poll descriptors

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

Parameters:
ctl CTL handle
pfds array of poll descriptors
nfds count of poll descriptors
revents returned events
Returns:
zero if success, otherwise a negative error code

int snd_ctl_rawmidi_info ( snd_ctl_t ctl,
snd_rawmidi_info_t info 
)

Get info about a RawMidi device.

Parameters:
ctl CTL handle
info RawMidi device id/info pointer
Returns:
0 on success otherwise a negative error code

int snd_ctl_rawmidi_next_device ( snd_ctl_t ctl,
int *  device 
)

Get next RawMidi device number.

Parameters:
ctl CTL handle
device current device on entry and next device on return
Returns:
0 on success otherwise a negative error code

int snd_ctl_rawmidi_prefer_subdevice ( snd_ctl_t ctl,
int  subdev 
)

Set preferred RawMidi subdevice number of successive RawMidi open.

Parameters:
ctl CTL handle
subdev Preferred RawMidi subdevice number
Returns:
0 on success otherwise a negative error code

int snd_ctl_read ( snd_ctl_t ctl,
snd_ctl_event_t event 
)

Read an event.

Parameters:
ctl CTL handle
event Event pointer
Returns:
number of events read otherwise a negative error code on failure

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.

Parameters:
ctl CTL handle
state Desired Power State
Returns:
0 on success otherwise a negative error code

int snd_ctl_subscribe_events ( snd_ctl_t ctl,
int  subscribe 
)

Ask to be informed about events (poll, snd_ctl_async, snd_ctl_read).

Parameters:
ctl CTL handle
subscribe 0 = unsubscribe, 1 = subscribe
Returns:
0 on success otherwise a negative error code

snd_ctl_type_t snd_ctl_type ( snd_ctl_t ctl  ) 

get type of CTL handle

Parameters:
ctl CTL handle
Returns:
type of CTL handle
Returns the type snd_ctl_type_t of given CTL handle.

int snd_ctl_wait ( snd_ctl_t ctl,
int  timeout 
)

Wait for a CTL to become ready (i.e. at least one event pending).

Parameters:
ctl CTL handle
timeout maximum time in milliseconds to wait
Returns:
0 otherwise a negative error code on failure

int snd_device_name_free_hint ( void **  hints  ) 

Free a string list with device name hints.

Parameters:
hints A string list to free
Returns:
zero if success, otherwise a negative error code

char* snd_device_name_get_hint ( const void *  hint,
const char *  id 
)

Get a hint Free a string list with device name hints.

Parameters:
hint A pointer to hint
id Hint ID (see bellow)
Returns:
an allocated ASCII string if success, otherwise NULL
List of valid IDs: NAME - name of device DESC - description of device IOID - input / output identification (Input or Output strings), not present (NULL) means both

int snd_device_name_hint ( int  card,
const char *  iface,
void ***  hints 
)

Return string list with device name hints.

Parameters:
card Card number or -1 (means all cards)
iface Interface identification (like "pcm", "rawmidi", "timer", "seq")
hints Result - array of string with device name hints
Returns:
zero if success, otherwise a negative error code
Note: The device description is separated with '|' char.

User defined hints are gathered from namehint.IFACE tree like:

namehint.pcm {
myfile "file:FILE=/tmp/soundwave.raw|Save sound output to /tmp/soundwave.raw"
myplug "plug:front:Do all conversions for front speakers"
}

Special variables: defaults.namehint.showall specifies if all device definitions are accepted (boolean type).


Generated on Tue Apr 10 08:32:01 2007 for ALSA project - the C library reference by  doxygen 1.5.1