home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / sound / minors.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  4.2 KB  |  109 lines

  1. #ifndef __SOUND_MINORS_H
  2. #define __SOUND_MINORS_H
  3.  
  4. /*
  5.  *  MINOR numbers
  6.  *
  7.  *
  8.  *   This program is free software; you can redistribute it and/or modify
  9.  *   it under the terms of the GNU General Public License as published by
  10.  *   the Free Software Foundation; either version 2 of the License, or
  11.  *   (at your option) any later version.
  12.  *
  13.  *   This program is distributed in the hope that it will be useful,
  14.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.  *   GNU General Public License for more details.
  17.  *
  18.  *   You should have received a copy of the GNU General Public License
  19.  *   along with this program; if not, write to the Free Software
  20.  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  21.  *
  22.  */
  23.  
  24. #define SNDRV_MINOR_DEVICES        32
  25. #define SNDRV_MINOR_CARD(minor)        ((minor) >> 5)
  26. #define SNDRV_MINOR_DEVICE(minor)    ((minor) & 0x001f)
  27. #define SNDRV_MINOR(card, dev)        (((card) << 5) | (dev))
  28.  
  29. /* these minors can still be used for autoloading devices (/dev/aload*) */
  30. #define SNDRV_MINOR_CONTROL        0    /* 0 */
  31. #define SNDRV_MINOR_GLOBAL        1    /* 1 */
  32. #define SNDRV_MINOR_SEQUENCER        (SNDRV_MINOR_GLOBAL + 0 * 32)
  33. #define SNDRV_MINOR_TIMER        (SNDRV_MINOR_GLOBAL + 1 * 32)
  34.  
  35. #ifndef CONFIG_SND_DYNAMIC_MINORS
  36.                         /* 2 - 3 (reserved) */
  37. #define SNDRV_MINOR_HWDEP        4    /* 4 - 7 */
  38. #define SNDRV_MINOR_RAWMIDI        8    /* 8 - 15 */
  39. #define SNDRV_MINOR_PCM_PLAYBACK    16    /* 16 - 23 */
  40. #define SNDRV_MINOR_PCM_CAPTURE        24    /* 24 - 31 */
  41.  
  42. /* same as first respective minor number to make minor allocation easier */
  43. #define SNDRV_DEVICE_TYPE_CONTROL    SNDRV_MINOR_CONTROL
  44. #define SNDRV_DEVICE_TYPE_HWDEP        SNDRV_MINOR_HWDEP
  45. #define SNDRV_DEVICE_TYPE_RAWMIDI    SNDRV_MINOR_RAWMIDI
  46. #define SNDRV_DEVICE_TYPE_PCM_PLAYBACK    SNDRV_MINOR_PCM_PLAYBACK
  47. #define SNDRV_DEVICE_TYPE_PCM_CAPTURE    SNDRV_MINOR_PCM_CAPTURE
  48. #define SNDRV_DEVICE_TYPE_SEQUENCER    SNDRV_MINOR_SEQUENCER
  49. #define SNDRV_DEVICE_TYPE_TIMER        SNDRV_MINOR_TIMER
  50.  
  51. #else /* CONFIG_SND_DYNAMIC_MINORS */
  52.  
  53. enum {
  54.     SNDRV_DEVICE_TYPE_CONTROL,
  55.     SNDRV_DEVICE_TYPE_SEQUENCER,
  56.     SNDRV_DEVICE_TYPE_TIMER,
  57.     SNDRV_DEVICE_TYPE_HWDEP,
  58.     SNDRV_DEVICE_TYPE_RAWMIDI,
  59.     SNDRV_DEVICE_TYPE_PCM_PLAYBACK,
  60.     SNDRV_DEVICE_TYPE_PCM_CAPTURE,
  61. };
  62.  
  63. #endif /* CONFIG_SND_DYNAMIC_MINORS */
  64.  
  65. #define SNDRV_MINOR_HWDEPS        4
  66. #define SNDRV_MINOR_RAWMIDIS        8
  67. #define SNDRV_MINOR_PCMS        8
  68.  
  69.  
  70. #ifdef CONFIG_SND_OSSEMUL
  71.  
  72. #define SNDRV_MINOR_OSS_DEVICES        16
  73. #define SNDRV_MINOR_OSS_CARD(minor)    ((minor) >> 4)
  74. #define SNDRV_MINOR_OSS_DEVICE(minor)    ((minor) & 0x000f)
  75. #define SNDRV_MINOR_OSS(card, dev)    (((card) << 4) | (dev))
  76.  
  77. #define SNDRV_MINOR_OSS_MIXER        0    /* /dev/mixer - OSS 3.XX compatible */
  78. #define SNDRV_MINOR_OSS_SEQUENCER    1    /* /dev/sequencer - OSS 3.XX compatible */
  79. #define    SNDRV_MINOR_OSS_MIDI        2    /* /dev/midi - native midi interface - OSS 3.XX compatible - UART */
  80. #define SNDRV_MINOR_OSS_PCM        3    /* alias */
  81. #define SNDRV_MINOR_OSS_PCM_8        3    /* /dev/dsp - 8bit PCM - OSS 3.XX compatible */
  82. #define SNDRV_MINOR_OSS_AUDIO        4    /* /dev/audio - SunSparc compatible */
  83. #define SNDRV_MINOR_OSS_PCM_16        5    /* /dev/dsp16 - 16bit PCM - OSS 3.XX compatible */
  84. #define SNDRV_MINOR_OSS_SNDSTAT        6    /* /dev/sndstat - for compatibility with OSS */
  85. #define SNDRV_MINOR_OSS_RESERVED7    7    /* reserved for future use */
  86. #define SNDRV_MINOR_OSS_MUSIC        8    /* /dev/music - OSS 3.XX compatible */
  87. #define SNDRV_MINOR_OSS_DMMIDI        9    /* /dev/dmmidi0 - this device can have another minor # with OSS */
  88. #define SNDRV_MINOR_OSS_DMFM        10    /* /dev/dmfm0 - this device can have another minor # with OSS */
  89. #define SNDRV_MINOR_OSS_MIXER1        11    /* alternate mixer */
  90. #define SNDRV_MINOR_OSS_PCM1        12    /* alternate PCM (GF-A-1) */
  91. #define SNDRV_MINOR_OSS_MIDI1        13    /* alternate midi - SYNTH */
  92. #define SNDRV_MINOR_OSS_DMMIDI1        14    /* alternate dmmidi - SYNTH */
  93. #define SNDRV_MINOR_OSS_RESERVED15    15    /* reserved for future use */
  94.  
  95. #define SNDRV_OSS_DEVICE_TYPE_MIXER    0
  96. #define SNDRV_OSS_DEVICE_TYPE_SEQUENCER    1
  97. #define SNDRV_OSS_DEVICE_TYPE_PCM    2
  98. #define SNDRV_OSS_DEVICE_TYPE_MIDI    3
  99. #define SNDRV_OSS_DEVICE_TYPE_DMFM    4
  100. #define SNDRV_OSS_DEVICE_TYPE_SNDSTAT    5
  101. #define SNDRV_OSS_DEVICE_TYPE_MUSIC    6
  102.  
  103. #define MODULE_ALIAS_SNDRV_MINOR(type) \
  104.     MODULE_ALIAS("sound-service-?-" __stringify(type))
  105.  
  106. #endif
  107.  
  108. #endif /* __SOUND_MINORS_H */
  109.