1 #ifndef __SOUND_MIXER_OSS_H
2 #define __SOUND_MIXER_OSS_H
25 #if defined(CONFIG_SND_MIXER_OSS) || defined(CONFIG_SND_MIXER_OSS_MODULE)
27 #define SNDRV_OSS_MAX_MIXERS 32
29 struct snd_mixer_oss_file;
31 struct snd_mixer_oss_slot {
33 unsigned int stereo: 1;
34 int (*get_volume)(
struct snd_mixer_oss_file *fmixer,
35 struct snd_mixer_oss_slot *
chn,
37 int (*put_volume)(
struct snd_mixer_oss_file *fmixer,
38 struct snd_mixer_oss_slot *
chn,
40 int (*get_recsrc)(
struct snd_mixer_oss_file *fmixer,
41 struct snd_mixer_oss_slot *
chn,
43 int (*put_recsrc)(
struct snd_mixer_oss_file *fmixer,
44 struct snd_mixer_oss_slot *
chn,
46 unsigned long private_value;
48 void (*private_free)(
struct snd_mixer_oss_slot *
slot);
52 struct snd_mixer_oss {
56 struct snd_mixer_oss_slot
slots[SNDRV_OSS_MAX_MIXERS];
57 unsigned int mask_recsrc;
58 int (*get_recsrc)(
struct snd_mixer_oss_file *fmixer,
59 unsigned int *active_index);
60 int (*put_recsrc)(
struct snd_mixer_oss_file *fmixer,
61 unsigned int active_index);
62 void *private_data_recsrc;
63 void (*private_free_recsrc)(
struct snd_mixer_oss *mixer);
71 struct snd_mixer_oss_file {
73 struct snd_mixer_oss *mixer;
77 unsigned int cmd,
unsigned long arg);