Home | History | Annotate | Download | only in sound
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef __SOUND_ASOUND_H
     20 #define __SOUND_ASOUND_H
     21 #include <linux/types.h>
     22 #define SNDRV_PROTOCOL_VERSION(major, minor, subminor) (((major)<<16)|((minor)<<8)|(subminor))
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define SNDRV_PROTOCOL_MAJOR(version) (((version)>>16)&0xffff)
     25 #define SNDRV_PROTOCOL_MINOR(version) (((version)>>8)&0xff)
     26 #define SNDRV_PROTOCOL_MICRO(version) ((version)&0xff)
     27 #define SNDRV_PROTOCOL_INCOMPATIBLE(kversion, uversion)   (SNDRV_PROTOCOL_MAJOR(kversion) != SNDRV_PROTOCOL_MAJOR(uversion) ||   (SNDRV_PROTOCOL_MAJOR(kversion) == SNDRV_PROTOCOL_MAJOR(uversion) &&   SNDRV_PROTOCOL_MINOR(kversion) != SNDRV_PROTOCOL_MINOR(uversion)))
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 struct snd_aes_iec958 {
     30  unsigned char status[24];
     31  unsigned char subcode[147];
     32  unsigned char pad;
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34  unsigned char dig_subframe[4];
     35 };
     36 #define SNDRV_HWDEP_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 1)
     37 enum {
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39  SNDRV_HWDEP_IFACE_OPL2 = 0,
     40  SNDRV_HWDEP_IFACE_OPL3,
     41  SNDRV_HWDEP_IFACE_OPL4,
     42  SNDRV_HWDEP_IFACE_SB16CSP,
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44  SNDRV_HWDEP_IFACE_EMU10K1,
     45  SNDRV_HWDEP_IFACE_YSS225,
     46  SNDRV_HWDEP_IFACE_ICS2115,
     47  SNDRV_HWDEP_IFACE_SSCAPE,
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49  SNDRV_HWDEP_IFACE_VX,
     50  SNDRV_HWDEP_IFACE_MIXART,
     51  SNDRV_HWDEP_IFACE_USX2Y,
     52  SNDRV_HWDEP_IFACE_EMUX_WAVETABLE,
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54  SNDRV_HWDEP_IFACE_BLUETOOTH,
     55  SNDRV_HWDEP_IFACE_USX2Y_PCM,
     56  SNDRV_HWDEP_IFACE_PCXHR,
     57  SNDRV_HWDEP_IFACE_SB_RC,
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59  SNDRV_HWDEP_IFACE_HDA,
     60  SNDRV_HWDEP_IFACE_USB_STREAM,
     61  SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_USB_STREAM
     62 };
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 struct snd_hwdep_info {
     65  unsigned int device;
     66  int card;
     67  unsigned char id[64];
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69  unsigned char name[80];
     70  int iface;
     71  unsigned char reserved[64];
     72 };
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 struct snd_hwdep_dsp_status {
     75  unsigned int version;
     76  unsigned char id[32];
     77  unsigned int num_dsps;
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79  unsigned int dsp_loaded;
     80  unsigned int chip_ready;
     81  unsigned char reserved[16];
     82 };
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84 struct snd_hwdep_dsp_image {
     85  unsigned int index;
     86  unsigned char name[64];
     87  unsigned char __user *image;
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89  size_t length;
     90  unsigned long driver_data;
     91 };
     92 #define SNDRV_HWDEP_IOCTL_PVERSION _IOR ('H', 0x00, int)
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 #define SNDRV_HWDEP_IOCTL_INFO _IOR ('H', 0x01, struct snd_hwdep_info)
     95 #define SNDRV_HWDEP_IOCTL_DSP_STATUS _IOR('H', 0x02, struct snd_hwdep_dsp_status)
     96 #define SNDRV_HWDEP_IOCTL_DSP_LOAD _IOW('H', 0x03, struct snd_hwdep_dsp_image)
     97 #define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 10)
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99 typedef unsigned long snd_pcm_uframes_t;
    100 typedef signed long snd_pcm_sframes_t;
    101 enum {
    102  SNDRV_PCM_CLASS_GENERIC = 0,
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104  SNDRV_PCM_CLASS_MULTI,
    105  SNDRV_PCM_CLASS_MODEM,
    106  SNDRV_PCM_CLASS_DIGITIZER,
    107  SNDRV_PCM_CLASS_LAST = SNDRV_PCM_CLASS_DIGITIZER,
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 };
    110 enum {
    111  SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0,
    112  SNDRV_PCM_SUBCLASS_MULTI_MIX,
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114  SNDRV_PCM_SUBCLASS_LAST = SNDRV_PCM_SUBCLASS_MULTI_MIX,
    115 };
    116 enum {
    117  SNDRV_PCM_STREAM_PLAYBACK = 0,
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119  SNDRV_PCM_STREAM_CAPTURE,
    120  SNDRV_PCM_STREAM_LAST = SNDRV_PCM_STREAM_CAPTURE,
    121 };
    122 typedef int __bitwise snd_pcm_access_t;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 #define SNDRV_PCM_ACCESS_MMAP_INTERLEAVED ((__force snd_pcm_access_t) 0)
    125 #define SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED ((__force snd_pcm_access_t) 1)
    126 #define SNDRV_PCM_ACCESS_MMAP_COMPLEX ((__force snd_pcm_access_t) 2)
    127 #define SNDRV_PCM_ACCESS_RW_INTERLEAVED ((__force snd_pcm_access_t) 3)
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 #define SNDRV_PCM_ACCESS_RW_NONINTERLEAVED ((__force snd_pcm_access_t) 4)
    130 #define SNDRV_PCM_ACCESS_LAST SNDRV_PCM_ACCESS_RW_NONINTERLEAVED
    131 typedef int __bitwise snd_pcm_format_t;
    132 #define SNDRV_PCM_FORMAT_S8 ((__force snd_pcm_format_t) 0)
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 #define SNDRV_PCM_FORMAT_U8 ((__force snd_pcm_format_t) 1)
    135 #define SNDRV_PCM_FORMAT_S16_LE ((__force snd_pcm_format_t) 2)
    136 #define SNDRV_PCM_FORMAT_S16_BE ((__force snd_pcm_format_t) 3)
    137 #define SNDRV_PCM_FORMAT_U16_LE ((__force snd_pcm_format_t) 4)
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 #define SNDRV_PCM_FORMAT_U16_BE ((__force snd_pcm_format_t) 5)
    140 #define SNDRV_PCM_FORMAT_S24_LE ((__force snd_pcm_format_t) 6)
    141 #define SNDRV_PCM_FORMAT_S24_BE ((__force snd_pcm_format_t) 7)
    142 #define SNDRV_PCM_FORMAT_U24_LE ((__force snd_pcm_format_t) 8)
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 #define SNDRV_PCM_FORMAT_U24_BE ((__force snd_pcm_format_t) 9)
    145 #define SNDRV_PCM_FORMAT_S32_LE ((__force snd_pcm_format_t) 10)
    146 #define SNDRV_PCM_FORMAT_S32_BE ((__force snd_pcm_format_t) 11)
    147 #define SNDRV_PCM_FORMAT_U32_LE ((__force snd_pcm_format_t) 12)
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149 #define SNDRV_PCM_FORMAT_U32_BE ((__force snd_pcm_format_t) 13)
    150 #define SNDRV_PCM_FORMAT_FLOAT_LE ((__force snd_pcm_format_t) 14)
    151 #define SNDRV_PCM_FORMAT_FLOAT_BE ((__force snd_pcm_format_t) 15)
    152 #define SNDRV_PCM_FORMAT_FLOAT64_LE ((__force snd_pcm_format_t) 16)
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 #define SNDRV_PCM_FORMAT_FLOAT64_BE ((__force snd_pcm_format_t) 17)
    155 #define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE ((__force snd_pcm_format_t) 18)
    156 #define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE ((__force snd_pcm_format_t) 19)
    157 #define SNDRV_PCM_FORMAT_MU_LAW ((__force snd_pcm_format_t) 20)
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159 #define SNDRV_PCM_FORMAT_A_LAW ((__force snd_pcm_format_t) 21)
    160 #define SNDRV_PCM_FORMAT_IMA_ADPCM ((__force snd_pcm_format_t) 22)
    161 #define SNDRV_PCM_FORMAT_MPEG ((__force snd_pcm_format_t) 23)
    162 #define SNDRV_PCM_FORMAT_GSM ((__force snd_pcm_format_t) 24)
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164 #define SNDRV_PCM_FORMAT_SPECIAL ((__force snd_pcm_format_t) 31)
    165 #define SNDRV_PCM_FORMAT_S24_3LE ((__force snd_pcm_format_t) 32)
    166 #define SNDRV_PCM_FORMAT_S24_3BE ((__force snd_pcm_format_t) 33)
    167 #define SNDRV_PCM_FORMAT_U24_3LE ((__force snd_pcm_format_t) 34)
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 #define SNDRV_PCM_FORMAT_U24_3BE ((__force snd_pcm_format_t) 35)
    170 #define SNDRV_PCM_FORMAT_S20_3LE ((__force snd_pcm_format_t) 36)
    171 #define SNDRV_PCM_FORMAT_S20_3BE ((__force snd_pcm_format_t) 37)
    172 #define SNDRV_PCM_FORMAT_U20_3LE ((__force snd_pcm_format_t) 38)
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174 #define SNDRV_PCM_FORMAT_U20_3BE ((__force snd_pcm_format_t) 39)
    175 #define SNDRV_PCM_FORMAT_S18_3LE ((__force snd_pcm_format_t) 40)
    176 #define SNDRV_PCM_FORMAT_S18_3BE ((__force snd_pcm_format_t) 41)
    177 #define SNDRV_PCM_FORMAT_U18_3LE ((__force snd_pcm_format_t) 42)
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179 #define SNDRV_PCM_FORMAT_U18_3BE ((__force snd_pcm_format_t) 43)
    180 #define SNDRV_PCM_FORMAT_LAST SNDRV_PCM_FORMAT_U18_3BE
    181 #ifdef SNDRV_LITTLE_ENDIAN
    182 #define SNDRV_PCM_FORMAT_S16 SNDRV_PCM_FORMAT_S16_LE
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 #define SNDRV_PCM_FORMAT_U16 SNDRV_PCM_FORMAT_U16_LE
    185 #define SNDRV_PCM_FORMAT_S24 SNDRV_PCM_FORMAT_S24_LE
    186 #define SNDRV_PCM_FORMAT_U24 SNDRV_PCM_FORMAT_U24_LE
    187 #define SNDRV_PCM_FORMAT_S32 SNDRV_PCM_FORMAT_S32_LE
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189 #define SNDRV_PCM_FORMAT_U32 SNDRV_PCM_FORMAT_U32_LE
    190 #define SNDRV_PCM_FORMAT_FLOAT SNDRV_PCM_FORMAT_FLOAT_LE
    191 #define SNDRV_PCM_FORMAT_FLOAT64 SNDRV_PCM_FORMAT_FLOAT64_LE
    192 #define SNDRV_PCM_FORMAT_IEC958_SUBFRAME SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194 #endif
    195 #ifdef SNDRV_BIG_ENDIAN
    196 #define SNDRV_PCM_FORMAT_S16 SNDRV_PCM_FORMAT_S16_BE
    197 #define SNDRV_PCM_FORMAT_U16 SNDRV_PCM_FORMAT_U16_BE
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 #define SNDRV_PCM_FORMAT_S24 SNDRV_PCM_FORMAT_S24_BE
    200 #define SNDRV_PCM_FORMAT_U24 SNDRV_PCM_FORMAT_U24_BE
    201 #define SNDRV_PCM_FORMAT_S32 SNDRV_PCM_FORMAT_S32_BE
    202 #define SNDRV_PCM_FORMAT_U32 SNDRV_PCM_FORMAT_U32_BE
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 #define SNDRV_PCM_FORMAT_FLOAT SNDRV_PCM_FORMAT_FLOAT_BE
    205 #define SNDRV_PCM_FORMAT_FLOAT64 SNDRV_PCM_FORMAT_FLOAT64_BE
    206 #define SNDRV_PCM_FORMAT_IEC958_SUBFRAME SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE
    207 #endif
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209 typedef int __bitwise snd_pcm_subformat_t;
    210 #define SNDRV_PCM_SUBFORMAT_STD ((__force snd_pcm_subformat_t) 0)
    211 #define SNDRV_PCM_SUBFORMAT_LAST SNDRV_PCM_SUBFORMAT_STD
    212 #define SNDRV_PCM_INFO_MMAP 0x00000001
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214 #define SNDRV_PCM_INFO_MMAP_VALID 0x00000002
    215 #define SNDRV_PCM_INFO_DOUBLE 0x00000004
    216 #define SNDRV_PCM_INFO_BATCH 0x00000010
    217 #define SNDRV_PCM_INFO_INTERLEAVED 0x00000100
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 #define SNDRV_PCM_INFO_NONINTERLEAVED 0x00000200
    220 #define SNDRV_PCM_INFO_COMPLEX 0x00000400
    221 #define SNDRV_PCM_INFO_BLOCK_TRANSFER 0x00010000
    222 #define SNDRV_PCM_INFO_OVERRANGE 0x00020000
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224 #define SNDRV_PCM_INFO_RESUME 0x00040000
    225 #define SNDRV_PCM_INFO_PAUSE 0x00080000
    226 #define SNDRV_PCM_INFO_HALF_DUPLEX 0x00100000
    227 #define SNDRV_PCM_INFO_JOINT_DUPLEX 0x00200000
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229 #define SNDRV_PCM_INFO_SYNC_START 0x00400000
    230 #define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000
    231 typedef int __bitwise snd_pcm_state_t;
    232 #define SNDRV_PCM_STATE_OPEN ((__force snd_pcm_state_t) 0)
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234 #define SNDRV_PCM_STATE_SETUP ((__force snd_pcm_state_t) 1)
    235 #define SNDRV_PCM_STATE_PREPARED ((__force snd_pcm_state_t) 2)
    236 #define SNDRV_PCM_STATE_RUNNING ((__force snd_pcm_state_t) 3)
    237 #define SNDRV_PCM_STATE_XRUN ((__force snd_pcm_state_t) 4)
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 #define SNDRV_PCM_STATE_DRAINING ((__force snd_pcm_state_t) 5)
    240 #define SNDRV_PCM_STATE_PAUSED ((__force snd_pcm_state_t) 6)
    241 #define SNDRV_PCM_STATE_SUSPENDED ((__force snd_pcm_state_t) 7)
    242 #define SNDRV_PCM_STATE_DISCONNECTED ((__force snd_pcm_state_t) 8)
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244 #define SNDRV_PCM_STATE_LAST SNDRV_PCM_STATE_DISCONNECTED
    245 enum {
    246  SNDRV_PCM_MMAP_OFFSET_DATA = 0x00000000,
    247  SNDRV_PCM_MMAP_OFFSET_STATUS = 0x80000000,
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249  SNDRV_PCM_MMAP_OFFSET_CONTROL = 0x81000000,
    250 };
    251 union snd_pcm_sync_id {
    252  unsigned char id[16];
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254  unsigned short id16[8];
    255  unsigned int id32[4];
    256 };
    257 struct snd_pcm_info {
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259  unsigned int device;
    260  unsigned int subdevice;
    261  int stream;
    262  int card;
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264  unsigned char id[64];
    265  unsigned char name[80];
    266  unsigned char subname[32];
    267  int dev_class;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269  int dev_subclass;
    270  unsigned int subdevices_count;
    271  unsigned int subdevices_avail;
    272  union snd_pcm_sync_id sync;
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274  unsigned char reserved[64];
    275 };
    276 typedef int snd_pcm_hw_param_t;
    277 #define SNDRV_PCM_HW_PARAM_ACCESS 0
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279 #define SNDRV_PCM_HW_PARAM_FORMAT 1
    280 #define SNDRV_PCM_HW_PARAM_SUBFORMAT 2
    281 #define SNDRV_PCM_HW_PARAM_FIRST_MASK SNDRV_PCM_HW_PARAM_ACCESS
    282 #define SNDRV_PCM_HW_PARAM_LAST_MASK SNDRV_PCM_HW_PARAM_SUBFORMAT
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284 #define SNDRV_PCM_HW_PARAM_SAMPLE_BITS 8
    285 #define SNDRV_PCM_HW_PARAM_FRAME_BITS 9
    286 #define SNDRV_PCM_HW_PARAM_CHANNELS 10
    287 #define SNDRV_PCM_HW_PARAM_RATE 11
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289 #define SNDRV_PCM_HW_PARAM_PERIOD_TIME 12
    290 #define SNDRV_PCM_HW_PARAM_PERIOD_SIZE 13
    291 #define SNDRV_PCM_HW_PARAM_PERIOD_BYTES 14
    292 #define SNDRV_PCM_HW_PARAM_PERIODS 15
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294 #define SNDRV_PCM_HW_PARAM_BUFFER_TIME 16
    295 #define SNDRV_PCM_HW_PARAM_BUFFER_SIZE 17
    296 #define SNDRV_PCM_HW_PARAM_BUFFER_BYTES 18
    297 #define SNDRV_PCM_HW_PARAM_TICK_TIME 19
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299 #define SNDRV_PCM_HW_PARAM_FIRST_INTERVAL SNDRV_PCM_HW_PARAM_SAMPLE_BITS
    300 #define SNDRV_PCM_HW_PARAM_LAST_INTERVAL SNDRV_PCM_HW_PARAM_TICK_TIME
    301 #define SNDRV_PCM_HW_PARAMS_NORESAMPLE (1<<0)
    302 struct snd_interval {
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304  unsigned int min, max;
    305  unsigned int openmin:1,
    306  openmax:1,
    307  integer:1,
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309  empty:1;
    310 };
    311 #define SNDRV_MASK_MAX 256
    312 struct snd_mask {
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314  __u32 bits[(SNDRV_MASK_MAX+31)/32];
    315 };
    316 struct snd_pcm_hw_params {
    317  unsigned int flags;
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319  struct snd_mask masks[SNDRV_PCM_HW_PARAM_LAST_MASK -
    320  SNDRV_PCM_HW_PARAM_FIRST_MASK + 1];
    321  struct snd_mask mres[5];
    322  struct snd_interval intervals[SNDRV_PCM_HW_PARAM_LAST_INTERVAL -
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324  SNDRV_PCM_HW_PARAM_FIRST_INTERVAL + 1];
    325  struct snd_interval ires[9];
    326  unsigned int rmask;
    327  unsigned int cmask;
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329  unsigned int info;
    330  unsigned int msbits;
    331  unsigned int rate_num;
    332  unsigned int rate_den;
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334  snd_pcm_uframes_t fifo_size;
    335  unsigned char reserved[64];
    336 };
    337 enum {
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339  SNDRV_PCM_TSTAMP_NONE = 0,
    340  SNDRV_PCM_TSTAMP_ENABLE,
    341  SNDRV_PCM_TSTAMP_LAST = SNDRV_PCM_TSTAMP_ENABLE,
    342 };
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344 struct snd_pcm_sw_params {
    345  int tstamp_mode;
    346  unsigned int period_step;
    347  unsigned int sleep_min;
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349  snd_pcm_uframes_t avail_min;
    350  snd_pcm_uframes_t xfer_align;
    351  snd_pcm_uframes_t start_threshold;
    352  snd_pcm_uframes_t stop_threshold;
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354  snd_pcm_uframes_t silence_threshold;
    355  snd_pcm_uframes_t silence_size;
    356  snd_pcm_uframes_t boundary;
    357  unsigned char reserved[64];
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359 };
    360 struct snd_pcm_channel_info {
    361  unsigned int channel;
    362  __kernel_off_t offset;
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364  unsigned int first;
    365  unsigned int step;
    366 };
    367 struct snd_pcm_status {
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369  snd_pcm_state_t state;
    370  struct timespec trigger_tstamp;
    371  struct timespec tstamp;
    372  snd_pcm_uframes_t appl_ptr;
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374  snd_pcm_uframes_t hw_ptr;
    375  snd_pcm_sframes_t delay;
    376  snd_pcm_uframes_t avail;
    377  snd_pcm_uframes_t avail_max;
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379  snd_pcm_uframes_t overrange;
    380  snd_pcm_state_t suspended_state;
    381  unsigned char reserved[60];
    382 };
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384 struct snd_pcm_mmap_status {
    385  snd_pcm_state_t state;
    386  int pad1;
    387  snd_pcm_uframes_t hw_ptr;
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389  struct timespec tstamp;
    390  snd_pcm_state_t suspended_state;
    391 };
    392 struct snd_pcm_mmap_control {
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394  snd_pcm_uframes_t appl_ptr;
    395  snd_pcm_uframes_t avail_min;
    396 };
    397 #define SNDRV_PCM_SYNC_PTR_HWSYNC (1<<0)
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399 #define SNDRV_PCM_SYNC_PTR_APPL (1<<1)
    400 #define SNDRV_PCM_SYNC_PTR_AVAIL_MIN (1<<2)
    401 struct snd_pcm_sync_ptr {
    402  unsigned int flags;
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404  union {
    405  struct snd_pcm_mmap_status status;
    406  unsigned char reserved[64];
    407  } s;
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409  union {
    410  struct snd_pcm_mmap_control control;
    411  unsigned char reserved[64];
    412  } c;
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414 };
    415 struct snd_xferi {
    416  snd_pcm_sframes_t result;
    417  void __user *buf;
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419  snd_pcm_uframes_t frames;
    420 };
    421 struct snd_xfern {
    422  snd_pcm_sframes_t result;
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424  void __user * __user *bufs;
    425  snd_pcm_uframes_t frames;
    426 };
    427 enum {
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429  SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0,
    430  SNDRV_PCM_TSTAMP_TYPE_MONOTONIC,
    431  SNDRV_PCM_TSTAMP_TYPE_LAST = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC,
    432 };
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434 #define SNDRV_PCM_IOCTL_PVERSION _IOR('A', 0x00, int)
    435 #define SNDRV_PCM_IOCTL_INFO _IOR('A', 0x01, struct snd_pcm_info)
    436 #define SNDRV_PCM_IOCTL_TSTAMP _IOW('A', 0x02, int)
    437 #define SNDRV_PCM_IOCTL_TTSTAMP _IOW('A', 0x03, int)
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439 #define SNDRV_PCM_IOCTL_HW_REFINE _IOWR('A', 0x10, struct snd_pcm_hw_params)
    440 #define SNDRV_PCM_IOCTL_HW_PARAMS _IOWR('A', 0x11, struct snd_pcm_hw_params)
    441 #define SNDRV_PCM_IOCTL_HW_FREE _IO('A', 0x12)
    442 #define SNDRV_PCM_IOCTL_SW_PARAMS _IOWR('A', 0x13, struct snd_pcm_sw_params)
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444 #define SNDRV_PCM_IOCTL_STATUS _IOR('A', 0x20, struct snd_pcm_status)
    445 #define SNDRV_PCM_IOCTL_DELAY _IOR('A', 0x21, snd_pcm_sframes_t)
    446 #define SNDRV_PCM_IOCTL_HWSYNC _IO('A', 0x22)
    447 #define SNDRV_PCM_IOCTL_SYNC_PTR _IOWR('A', 0x23, struct snd_pcm_sync_ptr)
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449 #define SNDRV_PCM_IOCTL_CHANNEL_INFO _IOR('A', 0x32, struct snd_pcm_channel_info)
    450 #define SNDRV_PCM_IOCTL_PREPARE _IO('A', 0x40)
    451 #define SNDRV_PCM_IOCTL_RESET _IO('A', 0x41)
    452 #define SNDRV_PCM_IOCTL_START _IO('A', 0x42)
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454 #define SNDRV_PCM_IOCTL_DROP _IO('A', 0x43)
    455 #define SNDRV_PCM_IOCTL_DRAIN _IO('A', 0x44)
    456 #define SNDRV_PCM_IOCTL_PAUSE _IOW('A', 0x45, int)
    457 #define SNDRV_PCM_IOCTL_REWIND _IOW('A', 0x46, snd_pcm_uframes_t)
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459 #define SNDRV_PCM_IOCTL_RESUME _IO('A', 0x47)
    460 #define SNDRV_PCM_IOCTL_XRUN _IO('A', 0x48)
    461 #define SNDRV_PCM_IOCTL_FORWARD _IOW('A', 0x49, snd_pcm_uframes_t)
    462 #define SNDRV_PCM_IOCTL_WRITEI_FRAMES _IOW('A', 0x50, struct snd_xferi)
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464 #define SNDRV_PCM_IOCTL_READI_FRAMES _IOR('A', 0x51, struct snd_xferi)
    465 #define SNDRV_PCM_IOCTL_WRITEN_FRAMES _IOW('A', 0x52, struct snd_xfern)
    466 #define SNDRV_PCM_IOCTL_READN_FRAMES _IOR('A', 0x53, struct snd_xfern)
    467 #define SNDRV_PCM_IOCTL_LINK _IOW('A', 0x60, int)
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469 #define SNDRV_PCM_IOCTL_UNLINK _IO('A', 0x61)
    470 #define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 0)
    471 enum {
    472  SNDRV_RAWMIDI_STREAM_OUTPUT = 0,
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474  SNDRV_RAWMIDI_STREAM_INPUT,
    475  SNDRV_RAWMIDI_STREAM_LAST = SNDRV_RAWMIDI_STREAM_INPUT,
    476 };
    477 #define SNDRV_RAWMIDI_INFO_OUTPUT 0x00000001
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479 #define SNDRV_RAWMIDI_INFO_INPUT 0x00000002
    480 #define SNDRV_RAWMIDI_INFO_DUPLEX 0x00000004
    481 struct snd_rawmidi_info {
    482  unsigned int device;
    483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    484  unsigned int subdevice;
    485  int stream;
    486  int card;
    487  unsigned int flags;
    488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    489  unsigned char id[64];
    490  unsigned char name[80];
    491  unsigned char subname[32];
    492  unsigned int subdevices_count;
    493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    494  unsigned int subdevices_avail;
    495  unsigned char reserved[64];
    496 };
    497 struct snd_rawmidi_params {
    498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    499  int stream;
    500  size_t buffer_size;
    501  size_t avail_min;
    502  unsigned int no_active_sensing: 1;
    503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    504  unsigned char reserved[16];
    505 };
    506 struct snd_rawmidi_status {
    507  int stream;
    508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    509  struct timespec tstamp;
    510  size_t avail;
    511  size_t xruns;
    512  unsigned char reserved[16];
    513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    514 };
    515 #define SNDRV_RAWMIDI_IOCTL_PVERSION _IOR('W', 0x00, int)
    516 #define SNDRV_RAWMIDI_IOCTL_INFO _IOR('W', 0x01, struct snd_rawmidi_info)
    517 #define SNDRV_RAWMIDI_IOCTL_PARAMS _IOWR('W', 0x10, struct snd_rawmidi_params)
    518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    519 #define SNDRV_RAWMIDI_IOCTL_STATUS _IOWR('W', 0x20, struct snd_rawmidi_status)
    520 #define SNDRV_RAWMIDI_IOCTL_DROP _IOW('W', 0x30, int)
    521 #define SNDRV_RAWMIDI_IOCTL_DRAIN _IOW('W', 0x31, int)
    522 #define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 6)
    523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    524 enum {
    525  SNDRV_TIMER_CLASS_NONE = -1,
    526  SNDRV_TIMER_CLASS_SLAVE = 0,
    527  SNDRV_TIMER_CLASS_GLOBAL,
    528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    529  SNDRV_TIMER_CLASS_CARD,
    530  SNDRV_TIMER_CLASS_PCM,
    531  SNDRV_TIMER_CLASS_LAST = SNDRV_TIMER_CLASS_PCM,
    532 };
    533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    534 enum {
    535  SNDRV_TIMER_SCLASS_NONE = 0,
    536  SNDRV_TIMER_SCLASS_APPLICATION,
    537  SNDRV_TIMER_SCLASS_SEQUENCER,
    538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    539  SNDRV_TIMER_SCLASS_OSS_SEQUENCER,
    540  SNDRV_TIMER_SCLASS_LAST = SNDRV_TIMER_SCLASS_OSS_SEQUENCER,
    541 };
    542 #define SNDRV_TIMER_GLOBAL_SYSTEM 0
    543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    544 #define SNDRV_TIMER_GLOBAL_RTC 1
    545 #define SNDRV_TIMER_GLOBAL_HPET 2
    546 #define SNDRV_TIMER_GLOBAL_HRTIMER 3
    547 #define SNDRV_TIMER_FLG_SLAVE (1<<0)
    548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    549 struct snd_timer_id {
    550  int dev_class;
    551  int dev_sclass;
    552  int card;
    553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    554  int device;
    555  int subdevice;
    556 };
    557 struct snd_timer_ginfo {
    558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    559  struct snd_timer_id tid;
    560  unsigned int flags;
    561  int card;
    562  unsigned char id[64];
    563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    564  unsigned char name[80];
    565  unsigned long reserved0;
    566  unsigned long resolution;
    567  unsigned long resolution_min;
    568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    569  unsigned long resolution_max;
    570  unsigned int clients;
    571  unsigned char reserved[32];
    572 };
    573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    574 struct snd_timer_gparams {
    575  struct snd_timer_id tid;
    576  unsigned long period_num;
    577  unsigned long period_den;
    578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    579  unsigned char reserved[32];
    580 };
    581 struct snd_timer_gstatus {
    582  struct snd_timer_id tid;
    583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    584  unsigned long resolution;
    585  unsigned long resolution_num;
    586  unsigned long resolution_den;
    587  unsigned char reserved[32];
    588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    589 };
    590 struct snd_timer_select {
    591  struct snd_timer_id id;
    592  unsigned char reserved[32];
    593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    594 };
    595 struct snd_timer_info {
    596  unsigned int flags;
    597  int card;
    598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    599  unsigned char id[64];
    600  unsigned char name[80];
    601  unsigned long reserved0;
    602  unsigned long resolution;
    603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    604  unsigned char reserved[64];
    605 };
    606 #define SNDRV_TIMER_PSFLG_AUTO (1<<0)
    607 #define SNDRV_TIMER_PSFLG_EXCLUSIVE (1<<1)
    608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    609 #define SNDRV_TIMER_PSFLG_EARLY_EVENT (1<<2)
    610 struct snd_timer_params {
    611  unsigned int flags;
    612  unsigned int ticks;
    613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    614  unsigned int queue_size;
    615  unsigned int reserved0;
    616  unsigned int filter;
    617  unsigned char reserved[60];
    618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    619 };
    620 struct snd_timer_status {
    621  struct timespec tstamp;
    622  unsigned int resolution;
    623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    624  unsigned int lost;
    625  unsigned int overrun;
    626  unsigned int queue;
    627  unsigned char reserved[64];
    628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    629 };
    630 #define SNDRV_TIMER_IOCTL_PVERSION _IOR('T', 0x00, int)
    631 #define SNDRV_TIMER_IOCTL_NEXT_DEVICE _IOWR('T', 0x01, struct snd_timer_id)
    632 #define SNDRV_TIMER_IOCTL_TREAD _IOW('T', 0x02, int)
    633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    634 #define SNDRV_TIMER_IOCTL_GINFO _IOWR('T', 0x03, struct snd_timer_ginfo)
    635 #define SNDRV_TIMER_IOCTL_GPARAMS _IOW('T', 0x04, struct snd_timer_gparams)
    636 #define SNDRV_TIMER_IOCTL_GSTATUS _IOWR('T', 0x05, struct snd_timer_gstatus)
    637 #define SNDRV_TIMER_IOCTL_SELECT _IOW('T', 0x10, struct snd_timer_select)
    638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    639 #define SNDRV_TIMER_IOCTL_INFO _IOR('T', 0x11, struct snd_timer_info)
    640 #define SNDRV_TIMER_IOCTL_PARAMS _IOW('T', 0x12, struct snd_timer_params)
    641 #define SNDRV_TIMER_IOCTL_STATUS _IOR('T', 0x14, struct snd_timer_status)
    642 #define SNDRV_TIMER_IOCTL_START _IO('T', 0xa0)
    643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    644 #define SNDRV_TIMER_IOCTL_STOP _IO('T', 0xa1)
    645 #define SNDRV_TIMER_IOCTL_CONTINUE _IO('T', 0xa2)
    646 #define SNDRV_TIMER_IOCTL_PAUSE _IO('T', 0xa3)
    647 struct snd_timer_read {
    648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    649  unsigned int resolution;
    650  unsigned int ticks;
    651 };
    652 enum {
    653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    654  SNDRV_TIMER_EVENT_RESOLUTION = 0,
    655  SNDRV_TIMER_EVENT_TICK,
    656  SNDRV_TIMER_EVENT_START,
    657  SNDRV_TIMER_EVENT_STOP,
    658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    659  SNDRV_TIMER_EVENT_CONTINUE,
    660  SNDRV_TIMER_EVENT_PAUSE,
    661  SNDRV_TIMER_EVENT_EARLY,
    662  SNDRV_TIMER_EVENT_SUSPEND,
    663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    664  SNDRV_TIMER_EVENT_RESUME,
    665  SNDRV_TIMER_EVENT_MSTART = SNDRV_TIMER_EVENT_START + 10,
    666  SNDRV_TIMER_EVENT_MSTOP = SNDRV_TIMER_EVENT_STOP + 10,
    667  SNDRV_TIMER_EVENT_MCONTINUE = SNDRV_TIMER_EVENT_CONTINUE + 10,
    668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    669  SNDRV_TIMER_EVENT_MPAUSE = SNDRV_TIMER_EVENT_PAUSE + 10,
    670  SNDRV_TIMER_EVENT_MSUSPEND = SNDRV_TIMER_EVENT_SUSPEND + 10,
    671  SNDRV_TIMER_EVENT_MRESUME = SNDRV_TIMER_EVENT_RESUME + 10,
    672 };
    673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    674 struct snd_timer_tread {
    675  int event;
    676  struct timespec tstamp;
    677  unsigned int val;
    678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    679 };
    680 #define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 6)
    681 struct snd_ctl_card_info {
    682  int card;
    683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    684  int pad;
    685  unsigned char id[16];
    686  unsigned char driver[16];
    687  unsigned char name[32];
    688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    689  unsigned char longname[80];
    690  unsigned char reserved_[16];
    691  unsigned char mixername[80];
    692  unsigned char components[128];
    693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    694 };
    695 typedef int __bitwise snd_ctl_elem_type_t;
    696 #define SNDRV_CTL_ELEM_TYPE_NONE ((__force snd_ctl_elem_type_t) 0)
    697 #define SNDRV_CTL_ELEM_TYPE_BOOLEAN ((__force snd_ctl_elem_type_t) 1)
    698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    699 #define SNDRV_CTL_ELEM_TYPE_INTEGER ((__force snd_ctl_elem_type_t) 2)
    700 #define SNDRV_CTL_ELEM_TYPE_ENUMERATED ((__force snd_ctl_elem_type_t) 3)
    701 #define SNDRV_CTL_ELEM_TYPE_BYTES ((__force snd_ctl_elem_type_t) 4)
    702 #define SNDRV_CTL_ELEM_TYPE_IEC958 ((__force snd_ctl_elem_type_t) 5)
    703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    704 #define SNDRV_CTL_ELEM_TYPE_INTEGER64 ((__force snd_ctl_elem_type_t) 6)
    705 #define SNDRV_CTL_ELEM_TYPE_LAST SNDRV_CTL_ELEM_TYPE_INTEGER64
    706 typedef int __bitwise snd_ctl_elem_iface_t;
    707 #define SNDRV_CTL_ELEM_IFACE_CARD ((__force snd_ctl_elem_iface_t) 0)
    708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    709 #define SNDRV_CTL_ELEM_IFACE_HWDEP ((__force snd_ctl_elem_iface_t) 1)
    710 #define SNDRV_CTL_ELEM_IFACE_MIXER ((__force snd_ctl_elem_iface_t) 2)
    711 #define SNDRV_CTL_ELEM_IFACE_PCM ((__force snd_ctl_elem_iface_t) 3)
    712 #define SNDRV_CTL_ELEM_IFACE_RAWMIDI ((__force snd_ctl_elem_iface_t) 4)
    713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    714 #define SNDRV_CTL_ELEM_IFACE_TIMER ((__force snd_ctl_elem_iface_t) 5)
    715 #define SNDRV_CTL_ELEM_IFACE_SEQUENCER ((__force snd_ctl_elem_iface_t) 6)
    716 #define SNDRV_CTL_ELEM_IFACE_LAST SNDRV_CTL_ELEM_IFACE_SEQUENCER
    717 #define SNDRV_CTL_ELEM_ACCESS_READ (1<<0)
    718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    719 #define SNDRV_CTL_ELEM_ACCESS_WRITE (1<<1)
    720 #define SNDRV_CTL_ELEM_ACCESS_READWRITE (SNDRV_CTL_ELEM_ACCESS_READ|SNDRV_CTL_ELEM_ACCESS_WRITE)
    721 #define SNDRV_CTL_ELEM_ACCESS_VOLATILE (1<<2)
    722 #define SNDRV_CTL_ELEM_ACCESS_TIMESTAMP (1<<3)
    723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    724 #define SNDRV_CTL_ELEM_ACCESS_TLV_READ (1<<4)
    725 #define SNDRV_CTL_ELEM_ACCESS_TLV_WRITE (1<<5)
    726 #define SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE (SNDRV_CTL_ELEM_ACCESS_TLV_READ|SNDRV_CTL_ELEM_ACCESS_TLV_WRITE)
    727 #define SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND (1<<6)
    728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    729 #define SNDRV_CTL_ELEM_ACCESS_INACTIVE (1<<8)
    730 #define SNDRV_CTL_ELEM_ACCESS_LOCK (1<<9)
    731 #define SNDRV_CTL_ELEM_ACCESS_OWNER (1<<10)
    732 #define SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK (1<<28)
    733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    734 #define SNDRV_CTL_ELEM_ACCESS_USER (1<<29)
    735 #define SNDRV_CTL_POWER_D0 0x0000
    736 #define SNDRV_CTL_POWER_D1 0x0100
    737 #define SNDRV_CTL_POWER_D2 0x0200
    738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    739 #define SNDRV_CTL_POWER_D3 0x0300
    740 #define SNDRV_CTL_POWER_D3hot (SNDRV_CTL_POWER_D3|0x0000)
    741 #define SNDRV_CTL_POWER_D3cold (SNDRV_CTL_POWER_D3|0x0001)
    742 struct snd_ctl_elem_id {
    743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    744  unsigned int numid;
    745  snd_ctl_elem_iface_t iface;
    746  unsigned int device;
    747  unsigned int subdevice;
    748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    749  unsigned char name[44];
    750  unsigned int index;
    751 };
    752 struct snd_ctl_elem_list {
    753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    754  unsigned int offset;
    755  unsigned int space;
    756  unsigned int used;
    757  unsigned int count;
    758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    759  struct snd_ctl_elem_id __user *pids;
    760  unsigned char reserved[50];
    761 };
    762 struct snd_ctl_elem_info {
    763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    764  struct snd_ctl_elem_id id;
    765  snd_ctl_elem_type_t type;
    766  unsigned int access;
    767  unsigned int count;
    768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    769  __kernel_pid_t owner;
    770  union {
    771  struct {
    772  long min;
    773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    774  long max;
    775  long step;
    776  } integer;
    777  struct {
    778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    779  long long min;
    780  long long max;
    781  long long step;
    782  } integer64;
    783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    784  struct {
    785  unsigned int items;
    786  unsigned int item;
    787  char name[64];
    788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    789  } enumerated;
    790  unsigned char reserved[128];
    791  } value;
    792  union {
    793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    794  unsigned short d[4];
    795  unsigned short *d_ptr;
    796  } dimen;
    797  unsigned char reserved[64-4*sizeof(unsigned short)];
    798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    799 };
    800 struct snd_ctl_elem_value {
    801  struct snd_ctl_elem_id id;
    802  unsigned int indirect: 1;
    803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    804  union {
    805  union {
    806  long value[128];
    807  long *value_ptr;
    808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    809  } integer;
    810  union {
    811  long long value[64];
    812  long long *value_ptr;
    813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    814  } integer64;
    815  union {
    816  unsigned int item[128];
    817  unsigned int *item_ptr;
    818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    819  } enumerated;
    820  union {
    821  unsigned char data[512];
    822  unsigned char *data_ptr;
    823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    824  } bytes;
    825  struct snd_aes_iec958 iec958;
    826  } value;
    827  struct timespec tstamp;
    828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    829  unsigned char reserved[128-sizeof(struct timespec)];
    830 };
    831 struct snd_ctl_tlv {
    832  unsigned int numid;
    833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    834  unsigned int length;
    835  unsigned int tlv[0];
    836 };
    837 #define SNDRV_CTL_IOCTL_PVERSION _IOR('U', 0x00, int)
    838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    839 #define SNDRV_CTL_IOCTL_CARD_INFO _IOR('U', 0x01, struct snd_ctl_card_info)
    840 #define SNDRV_CTL_IOCTL_ELEM_LIST _IOWR('U', 0x10, struct snd_ctl_elem_list)
    841 #define SNDRV_CTL_IOCTL_ELEM_INFO _IOWR('U', 0x11, struct snd_ctl_elem_info)
    842 #define SNDRV_CTL_IOCTL_ELEM_READ _IOWR('U', 0x12, struct snd_ctl_elem_value)
    843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    844 #define SNDRV_CTL_IOCTL_ELEM_WRITE _IOWR('U', 0x13, struct snd_ctl_elem_value)
    845 #define SNDRV_CTL_IOCTL_ELEM_LOCK _IOW('U', 0x14, struct snd_ctl_elem_id)
    846 #define SNDRV_CTL_IOCTL_ELEM_UNLOCK _IOW('U', 0x15, struct snd_ctl_elem_id)
    847 #define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS _IOWR('U', 0x16, int)
    848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    849 #define SNDRV_CTL_IOCTL_ELEM_ADD _IOWR('U', 0x17, struct snd_ctl_elem_info)
    850 #define SNDRV_CTL_IOCTL_ELEM_REPLACE _IOWR('U', 0x18, struct snd_ctl_elem_info)
    851 #define SNDRV_CTL_IOCTL_ELEM_REMOVE _IOWR('U', 0x19, struct snd_ctl_elem_id)
    852 #define SNDRV_CTL_IOCTL_TLV_READ _IOWR('U', 0x1a, struct snd_ctl_tlv)
    853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    854 #define SNDRV_CTL_IOCTL_TLV_WRITE _IOWR('U', 0x1b, struct snd_ctl_tlv)
    855 #define SNDRV_CTL_IOCTL_TLV_COMMAND _IOWR('U', 0x1c, struct snd_ctl_tlv)
    856 #define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE _IOWR('U', 0x20, int)
    857 #define SNDRV_CTL_IOCTL_HWDEP_INFO _IOR('U', 0x21, struct snd_hwdep_info)
    858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    859 #define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE _IOR('U', 0x30, int)
    860 #define SNDRV_CTL_IOCTL_PCM_INFO _IOWR('U', 0x31, struct snd_pcm_info)
    861 #define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE _IOW('U', 0x32, int)
    862 #define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE _IOWR('U', 0x40, int)
    863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    864 #define SNDRV_CTL_IOCTL_RAWMIDI_INFO _IOWR('U', 0x41, struct snd_rawmidi_info)
    865 #define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE _IOW('U', 0x42, int)
    866 #define SNDRV_CTL_IOCTL_POWER _IOWR('U', 0xd0, int)
    867 #define SNDRV_CTL_IOCTL_POWER_STATE _IOR('U', 0xd1, int)
    868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    869 enum sndrv_ctl_event_type {
    870  SNDRV_CTL_EVENT_ELEM = 0,
    871  SNDRV_CTL_EVENT_LAST = SNDRV_CTL_EVENT_ELEM,
    872 };
    873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    874 #define SNDRV_CTL_EVENT_MASK_VALUE (1<<0)
    875 #define SNDRV_CTL_EVENT_MASK_INFO (1<<1)
    876 #define SNDRV_CTL_EVENT_MASK_ADD (1<<2)
    877 #define SNDRV_CTL_EVENT_MASK_TLV (1<<3)
    878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    879 #define SNDRV_CTL_EVENT_MASK_REMOVE (~0U)
    880 struct snd_ctl_event {
    881  int type;
    882  union {
    883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    884  struct {
    885  unsigned int mask;
    886  struct snd_ctl_elem_id id;
    887  } elem;
    888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    889  unsigned char data8[60];
    890  } data;
    891 };
    892 #define SNDRV_CTL_NAME_NONE ""
    893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    894 #define SNDRV_CTL_NAME_PLAYBACK "Playback "
    895 #define SNDRV_CTL_NAME_CAPTURE "Capture "
    896 #define SNDRV_CTL_NAME_IEC958_NONE ""
    897 #define SNDRV_CTL_NAME_IEC958_SWITCH "Switch"
    898 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    899 #define SNDRV_CTL_NAME_IEC958_VOLUME "Volume"
    900 #define SNDRV_CTL_NAME_IEC958_DEFAULT "Default"
    901 #define SNDRV_CTL_NAME_IEC958_MASK "Mask"
    902 #define SNDRV_CTL_NAME_IEC958_CON_MASK "Con Mask"
    903 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    904 #define SNDRV_CTL_NAME_IEC958_PRO_MASK "Pro Mask"
    905 #define SNDRV_CTL_NAME_IEC958_PCM_STREAM "PCM Stream"
    906 #define SNDRV_CTL_NAME_IEC958(expl,direction,what) "IEC958 " expl SNDRV_CTL_NAME_##direction SNDRV_CTL_NAME_IEC958_##what
    907 #endif
    908 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    909