Files | |
file | control_ext.c |
External Control Plugin SDK. | |
Data Structures | |
struct | snd_ctl_ext |
struct | snd_ctl_ext_callback |
Defines | |
#define | SND_CTL_PLUGIN_ENTRY(name) _snd_ctl_##name##_open |
#define | SND_CTL_PLUGIN_SYMBOL(name) SND_DLSYM_BUILD_VERSION(SND_CTL_PLUGIN_ENTRY(name), SND_CONTROL_DLSYM_VERSION); |
#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 struct snd_ctl_ext | snd_ctl_ext_t |
typedef struct snd_ctl_ext_callback | snd_ctl_ext_callback_t |
typedef unsigned long | snd_ctl_ext_key_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 |
Value:
((SND_CTL_EXT_VERSION_MAJOR<<16) |\ (SND_CTL_EXT_VERSION_MINOR<<8) |\ (SND_CTL_EXT_VERSION_TINY))
#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 | ) |
Value:
int SND_CTL_PLUGIN_ENTRY(plugin) (snd_ctl_t **handlep, const char *name,\ snd_config_t *root, snd_config_t *conf, int mode)
#define SND_CTL_PLUGIN_ENTRY | ( | name | ) | _snd_ctl_##name##_open |
Define the object entry for external control plugins
#define SND_CTL_PLUGIN_SYMBOL | ( | name | ) | SND_DLSYM_BUILD_VERSION(SND_CTL_PLUGIN_ENTRY(name), SND_CONTROL_DLSYM_VERSION); |
Define the symbols of the given control plugin with versions
Callback table of control ext
typedef unsigned long snd_ctl_ext_key_t |
Key to access a control pointer
typedef 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 |
int snd_ctl_ext_delete | ( | snd_ctl_ext_t * | ext | ) |
Delete the external control plugin.
ext | the plugin handle |