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 0 |
#define | SND_CTL_EXT_VERSION |
#define | SND_CTL_EXT_KEY_NOT_FOUND (snd_ctl_ext_key_t)(-1) |
Typedefs | |
typedef snd_ctl_ext | snd_ctl_ext_t |
typedef snd_ctl_ext_callback | snd_ctl_ext_callback_t |
typedef unsigned long | snd_ctl_ext_key_t |
typedef enum snd_ctl_ext_access | snd_ctl_ext_access_t |
Enumerations | |
enum | snd_ctl_ext_access { 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_INACTIVE = (1<<8) } |
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. |
|
find_elem callback returns this if no matching control element is found |
|
Value: ((SND_CTL_EXT_VERSION_MAJOR<<16) |\ (SND_CTL_EXT_VERSION_MINOR<<8) |\ (SND_CTL_EXT_VERSION_TINY)) |
|
Protocol major version |
|
Protocol minor version |
|
Protocol tiny version |
|
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 the object entry for external control plugins |
|
Define the symbols of the given control plugin with versions |
|
The access type bits stored in get_attribute callback |
|
Callback table of control ext |
|
Key to access a control pointer |
|
External control plugin handle |
|
The access type bits stored in get_attribute callback |
|
Create an external control plugin instance.
|
|
Delete the external control plugin.
|