~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/sound/pcm_oss.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 #ifndef __SOUND_PCM_OSS_H
  3 #define __SOUND_PCM_OSS_H
  4 
  5 /*
  6  *  Digital Audio (PCM) - OSS compatibility abstract layer
  7  *  Copyright (c) by Jaroslav Kysela <perex@perex.cz>
  8  */
  9 
 10 struct snd_pcm_oss_setup {
 11         char *task_name;
 12         unsigned int disable:1,
 13                      direct:1,
 14                      block:1,
 15                      nonblock:1,
 16                      partialfrag:1,
 17                      nosilence:1,
 18                      buggyptr:1;
 19         unsigned int periods;
 20         unsigned int period_size;
 21         struct snd_pcm_oss_setup *next;
 22 };
 23 
 24 struct snd_pcm_oss_runtime {
 25         unsigned params: 1,                     /* format/parameter change */
 26                  prepare: 1,                    /* need to prepare the operation */
 27                  trigger: 1,                    /* trigger flag */
 28                  sync_trigger: 1;               /* sync trigger flag */
 29         int rate;                               /* requested rate */
 30         int format;                             /* requested OSS format */
 31         unsigned int channels;                  /* requested channels */
 32         unsigned int fragshift;
 33         unsigned int maxfrags;
 34         unsigned int subdivision;               /* requested subdivision */
 35         size_t period_bytes;                    /* requested period size */
 36         size_t period_frames;                   /* period frames for poll */
 37         size_t period_ptr;                      /* actual write pointer to period */
 38         unsigned int periods;
 39         size_t buffer_bytes;                    /* requested buffer size */
 40         size_t bytes;                           /* total # bytes processed */
 41         size_t mmap_bytes;
 42         char *buffer;                           /* vmallocated period */
 43         size_t buffer_used;                     /* used length from period buffer */
 44         struct mutex params_lock;
 45         atomic_t rw_ref;                /* concurrent read/write accesses */
 46 #ifdef CONFIG_SND_PCM_OSS_PLUGINS
 47         struct snd_pcm_plugin *plugin_first;
 48         struct snd_pcm_plugin *plugin_last;
 49 #endif
 50         unsigned int prev_hw_ptr_period;
 51 };
 52 
 53 struct snd_pcm_oss_file {
 54         struct snd_pcm_substream *streams[2];
 55 };
 56 
 57 struct snd_pcm_oss_substream {
 58         unsigned oss: 1;                        /* oss mode */
 59         struct snd_pcm_oss_setup setup;         /* active setup */
 60 };
 61 
 62 struct snd_pcm_oss_stream {
 63         struct snd_pcm_oss_setup *setup_list;   /* setup list */
 64         struct mutex setup_mutex;
 65 #ifdef CONFIG_SND_VERBOSE_PROCFS
 66         struct snd_info_entry *proc_entry;
 67 #endif
 68 };
 69 
 70 struct snd_pcm_oss {
 71         int reg;
 72         unsigned int reg_mask;
 73 };
 74 
 75 #endif /* __SOUND_PCM_OSS_H */
 76 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php