External Control Plugin SDK


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.

Define Documentation

#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:

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   0

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 the control plugin

#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


Typedef Documentation

typedef enum snd_ctl_ext_access snd_ctl_ext_access_t

The access type bits stored in get_attribute callback

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


Enumeration Type Documentation

enum snd_ctl_ext_access

The access type bits stored in get_attribute callback


Function Documentation

int snd_ctl_ext_create ( snd_ctl_ext_t ext,
const char *  name,
int  mode 
)

Create an external control plugin instance.

Parameters:
ext the plugin handle
name name of control
mode control open mode
Returns:
0 if successful, or a negative error code
Creates the external control instance.

int snd_ctl_ext_delete ( snd_ctl_ext_t ext  ) 

Delete the external control plugin.

Parameters:
ext the plugin handle
Returns:
0 if successful, or a negative error code


Generated on Sun Apr 1 18:36:47 2007 for ALSA project - the C library reference by  doxygen 1.5.1