cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mixer_oss.h (1773B)


      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
     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 */