#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <math.h>
#include <dlfcn.h>
#include "config.h"
#include "asoundlib.h"
#include "mixer_simple.h"
Include dependency graph for simple_abst.c:
Go to the source code of this file.
Data Structures | |
struct | _class_priv |
Defines | |
#define | SO_PATH PKGLIBDIR "/smixer" |
Typedefs | |
typedef _class_priv | class_priv_t |
typedef int(*) | snd_mixer_sbasic_init_t (snd_mixer_class_t *class) |
Functions | |
static int | try_open (snd_mixer_class_t *class, const char *lib) |
static int | match (snd_mixer_class_t *class, const char *lib, const char *searchl) |
static int | find_module (snd_mixer_class_t *class, snd_config_t *top) |
static void | private_free (snd_mixer_class_t *class) |
int | snd_mixer_simple_basic_register (snd_mixer_t *mixer, struct snd_mixer_selem_regopt *options, snd_mixer_class_t **classp) |
Register mixer simple element class - basic abstraction. | |
int | snd_mixer_sbasic_info (const snd_mixer_class_t *class, sm_class_basic_t *info) |
Basic Mixer Abstraction - Get information about device. | |
void * | snd_mixer_sbasic_get_private (const snd_mixer_class_t *class) |
Get private data for basic abstraction. | |
void | snd_mixer_sbasic_set_private (const snd_mixer_class_t *class, void *private_data) |
Set private data for basic abstraction. | |
void | snd_mixer_sbasic_set_private_free (const snd_mixer_class_t *class, void(*private_free)(snd_mixer_class_t *class)) |
Set private data free callback for basic abstraction. |
Definition in file simple_abst.c.
#define SO_PATH PKGLIBDIR "/smixer" |
typedef struct _class_priv class_priv_t |
typedef int(*) snd_mixer_sbasic_init_t(snd_mixer_class_t *class) |
Definition at line 57 of file simple_abst.c.
static int find_module | ( | snd_mixer_class_t * | class, | |
snd_config_t * | top | |||
) | [static] |
Definition at line 129 of file simple_abst.c.
References id, match(), n, snd_config_get_id(), snd_config_get_string(), and snd_config_iterator_entry().
Referenced by snd_mixer_simple_basic_register().
static int match | ( | snd_mixer_class_t * | class, | |
const char * | lib, | |||
const char * | searchl | |||
) | [static] |
Definition at line 110 of file simple_abst.c.
References _class_priv::info, and try_open().
Referenced by find_module(), and handle_labels().
static void private_free | ( | snd_mixer_class_t * | class | ) | [static] |
Definition at line 169 of file simple_abst.c.
References _class_priv::attach_flag, _class_priv::ctl, _class_priv::device, _class_priv::dlhandle, free(), _class_priv::hctl, _class_priv::info, and _class_priv::private_free.
Referenced by snd_mixer_simple_basic_register().
void* snd_mixer_sbasic_get_private | ( | const snd_mixer_class_t * | class | ) |
Get private data for basic abstraction.
class | Mixer class |
Definition at line 305 of file simple_abst.c.
References _class_priv::private_data.
int snd_mixer_sbasic_info | ( | const snd_mixer_class_t * | class, | |
sm_class_basic_t * | info | |||
) |
Basic Mixer Abstraction - Get information about device.
class | Mixer class | |
info | Info structure |
Definition at line 287 of file simple_abst.c.
References _class_priv::ctl, _class_priv::device, _class_priv::hctl, and _class_priv::info.
void snd_mixer_sbasic_set_private | ( | const snd_mixer_class_t * | class, | |
void * | private_data | |||
) |
Set private data for basic abstraction.
class | Mixer class | |
private_data | Private data |
Definition at line 319 of file simple_abst.c.
References _class_priv::private_data.
void snd_mixer_sbasic_set_private_free | ( | const snd_mixer_class_t * | class, | |
void(*)(snd_mixer_class_t *class) | private_free | |||
) |
Set private data free callback for basic abstraction.
class | Mixer class | |
private_free | free callback for private data |
Definition at line 334 of file simple_abst.c.
References _class_priv::private_free.
int snd_mixer_simple_basic_register | ( | snd_mixer_t * | mixer, | |
struct snd_mixer_selem_regopt * | options, | |||
snd_mixer_class_t ** | classp | |||
) |
Register mixer simple element class - basic abstraction.
mixer | Mixer handle | |
options | Options container | |
classp | Pointer to returned mixer simple element class handle (or NULL |
Definition at line 196 of file simple_abst.c.
References find_module(), free(), private_free(), snd_config_delete(), snd_config_load(), and snd_config_top().
static int try_open | ( | snd_mixer_class_t * | class, | |
const char * | lib | |||
) | [static] |
Definition at line 61 of file simple_abst.c.
References _class_priv::dlhandle, free(), malloc(), and SO_PATH.
Referenced by match().