brintos

brintos / linux-shallow public Read only

0
0
Text · 1.7 KiB · 9a212c0 Raw
67 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2#ifndef __SOUND_MIXER_OSS_H3#define __SOUND_MIXER_OSS_H4 5/*6 *  OSS MIXER API7 *  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	3213 14struct snd_mixer_oss_file;15 16struct 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 37struct 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 56struct snd_mixer_oss_file {57	struct snd_card *card;58	struct snd_mixer_oss *mixer;59};60 61int 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