Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
---|---|
2 | #ifndef __SOUND_MIXER_OSS_H |
3 | #define __SOUND_MIXER_OSS_H |
4 | |
5 | /* |
6 | * OSS MIXER API |
7 | * Copyright (c) by Jaroslav Kysela <perex@perex.cz> |
8 | */ |
9 | |
10 | #if IS_ENABLED(CONFIG_SND_MIXER_OSS) |
11 | |
12 | #define SNDRV_OSS_MAX_MIXERS 32 |
13 | |
14 | struct snd_mixer_oss_file; |
15 | |
16 | struct snd_mixer_oss_slot { |
17 | int number; |
18 | unsigned int stereo: 1; |
19 | int (*get_volume)(struct snd_mixer_oss_file *fmixer, |
20 | struct snd_mixer_oss_slot *chn, |
21 | int *left, int *right); |
22 | int (*put_volume)(struct snd_mixer_oss_file *fmixer, |
23 | struct snd_mixer_oss_slot *chn, |
24 | int left, int right); |
25 | int (*get_recsrc)(struct snd_mixer_oss_file *fmixer, |
26 | struct snd_mixer_oss_slot *chn, |
27 | int *active); |
28 | int (*put_recsrc)(struct snd_mixer_oss_file *fmixer, |
29 | struct snd_mixer_oss_slot *chn, |
30 | int active); |
31 | unsigned long private_value; |
32 | void *private_data; |
33 | void (*private_free)(struct snd_mixer_oss_slot *slot); |
34 | int volume[2]; |
35 | }; |
36 | |
37 | struct snd_mixer_oss { |
38 | struct snd_card *card; |
39 | char id[16]; |
40 | char name[32]; |
41 | struct snd_mixer_oss_slot slots[SNDRV_OSS_MAX_MIXERS]; /* OSS mixer slots */ |
42 | unsigned int mask_recsrc; /* exclusive recsrc mask */ |
43 | int (*get_recsrc)(struct snd_mixer_oss_file *fmixer, |
44 | unsigned int *active_index); |
45 | int (*put_recsrc)(struct snd_mixer_oss_file *fmixer, |
46 | unsigned int active_index); |
47 | void *private_data_recsrc; |
48 | void (*private_free_recsrc)(struct snd_mixer_oss *mixer); |
49 | struct mutex reg_mutex; |
50 | struct snd_info_entry *proc_entry; |
51 | int oss_dev_alloc; |
52 | /* --- */ |
53 | int oss_recsrc; |
54 | }; |
55 | |
56 | struct snd_mixer_oss_file { |
57 | struct snd_card *card; |
58 | struct snd_mixer_oss *mixer; |
59 | }; |
60 | |
61 | int snd_mixer_oss_ioctl_card(struct snd_card *card, |
62 | unsigned int cmd, unsigned long arg); |
63 | |
64 | #endif /* CONFIG_SND_MIXER_OSS */ |
65 | |
66 | #endif /* __SOUND_MIXER_OSS_H */ |
67 |
Warning: This file is not a C or C++ file. It does not have highlighting.