| 
    ALSA project - the C library reference
    
   | 
 
Files | |
| file | control_ext.c | 
| External Control Plugin SDK.  | |
Data Structures | |
| struct | snd_ctl_ext_t | 
| struct | snd_ctl_ext_callback_t | 
Macros | |
| #define | SND_CTL_PLUGIN_ENTRY(name) | 
| #define | SND_CTL_PLUGIN_SYMBOL(name) | 
| #define | SND_CTL_PLUGIN_DEFINE_FUNC(plugin) | 
| #define | SND_CTL_EXT_VERSION_MAJOR 1 | 
| #define | SND_CTL_EXT_VERSION_MINOR 0 | 
| #define | SND_CTL_EXT_VERSION_TINY 1 | 
| #define | SND_CTL_EXT_VERSION | 
| #define | SND_CTL_EXT_KEY_NOT_FOUND (snd_ctl_ext_key_t)(-1) | 
Typedefs | |
| typedef unsigned long | snd_ctl_ext_key_t | 
| typedef snd_ctl_ext | snd_ctl_ext_t | 
| typedef snd_ctl_ext_callback | snd_ctl_ext_callback_t | 
| typedef int | snd_ctl_ext_tlv_rw_t(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int op_flag, unsigned int numid, unsigned int *tlv, unsigned int tlv_size) | 
Enumerations | |
| enum | snd_ctl_ext_access_t {  SND_CTL_EXT_ACCESS_READ = (1<<0) , SND_CTL_EXT_ACCESS_WRITE = (1<<1) , SND_CTL_EXT_ACCESS_READWRITE = (3<<0) , SND_CTL_EXT_ACCESS_VOLATILE = (1<<2) , SND_CTL_EXT_ACCESS_TLV_READ = (1<<4) , SND_CTL_EXT_ACCESS_TLV_WRITE = (1<<5) , SND_CTL_EXT_ACCESS_TLV_READWRITE = (3<<4) , SND_CTL_EXT_ACCESS_TLV_COMMAND = (1<<6) , SND_CTL_EXT_ACCESS_INACTIVE = (1<<8) , SND_CTL_EXT_ACCESS_TLV_CALLBACK = (1<<28) }  | 
Functions | |
| int | snd_ctl_ext_create (snd_ctl_ext_t *ext, const char *name, int mode) | 
| Create an external control plugin instance.   | |
| int | snd_ctl_ext_delete (snd_ctl_ext_t *ext) | 
| Delete the external control plugin.   | |
| #define SND_CTL_EXT_KEY_NOT_FOUND (snd_ctl_ext_key_t)(-1) | 
find_elem callback returns this if no matching control element is found
| #define SND_CTL_EXT_VERSION | 
external plugin protocol version
| #define SND_CTL_EXT_VERSION_MAJOR 1 | 
Protocol major version
| #define SND_CTL_EXT_VERSION_MINOR 0 | 
Protocol minor version
| #define SND_CTL_EXT_VERSION_TINY 1 | 
Protocol tiny version
| #define SND_CTL_PLUGIN_DEFINE_FUNC | ( | plugin | ) | 
Define the control plugin
| #define SND_CTL_PLUGIN_ENTRY | ( | name | ) | 
Define the object entry for external control plugins
| #define SND_CTL_PLUGIN_SYMBOL | ( | name | ) | 
Define the symbols of the given control plugin with versions
| typedef struct snd_ctl_ext_callback snd_ctl_ext_callback_t | 
Callback table of control ext
| typedef unsigned long snd_ctl_ext_key_t | 
Key to access a control pointer
| typedef struct snd_ctl_ext snd_ctl_ext_t | 
External control plugin handle
| typedef int snd_ctl_ext_tlv_rw_t(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int op_flag, unsigned int numid, unsigned int *tlv, unsigned int tlv_size) | 
Callback to handle TLV commands.
| enum snd_ctl_ext_access_t | 
The access type bits stored in get_attribute callback
| int snd_ctl_ext_create | ( | snd_ctl_ext_t * | ext, | 
| const char * | name, | ||
| int | mode ) | 
Create an external control plugin instance.
| ext | the plugin handle | 
| name | name of control | 
| mode | control open mode | 
Creates the external control instance.
| int snd_ctl_ext_delete | ( | snd_ctl_ext_t * | ext | ) | 
Delete the external control plugin.
| ext | the plugin handle |