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 _UAPISOUNDCARD_H 20 #define _UAPISOUNDCARD_H 21 #define SOUND_VERSION 0x030802 22 #define OPEN_SOUND_SYSTEM 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #include <linux/ioctl.h> 25 #include <endian.h> 26 #define SNDCARD_ADLIB 1 27 #define SNDCARD_SB 2 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define SNDCARD_PAS 3 30 #define SNDCARD_GUS 4 31 #define SNDCARD_MPU401 5 32 #define SNDCARD_SB16 6 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 #define SNDCARD_SB16MIDI 7 35 #define SNDCARD_UART6850 8 36 #define SNDCARD_GUS16 9 37 #define SNDCARD_MSS 10 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 #define SNDCARD_PSS 11 40 #define SNDCARD_SSCAPE 12 41 #define SNDCARD_PSS_MPU 13 42 #define SNDCARD_PSS_MSS 14 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 #define SNDCARD_SSCAPE_MSS 15 45 #define SNDCARD_TRXPRO 16 46 #define SNDCARD_TRXPRO_SB 17 47 #define SNDCARD_TRXPRO_MPU 18 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 #define SNDCARD_MAD16 19 50 #define SNDCARD_MAD16_MPU 20 51 #define SNDCARD_CS4232 21 52 #define SNDCARD_CS4232_MPU 22 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 #define SNDCARD_MAUI 23 55 #define SNDCARD_PSEUDO_MSS 24 56 #define SNDCARD_GUSPNP 25 57 #define SNDCARD_UART401 26 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 #ifndef _SIOWR 60 #if defined(_IOWR) && (defined(_AIX) || !defined(sun) && !defined(sparc) && !defined(__sparc__) && !defined(__INCioctlh) && !defined(__Lynx__)) 61 #define SIOCPARM_MASK IOCPARM_MASK 62 #define SIOC_VOID IOC_VOID 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 #define SIOC_OUT IOC_OUT 65 #define SIOC_IN IOC_IN 66 #define SIOC_INOUT IOC_INOUT 67 #define _SIOC_SIZE _IOC_SIZE 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 #define _SIOC_DIR _IOC_DIR 70 #define _SIOC_NONE _IOC_NONE 71 #define _SIOC_READ _IOC_READ 72 #define _SIOC_WRITE _IOC_WRITE 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 #define _SIO _IO 75 #define _SIOR _IOR 76 #define _SIOW _IOW 77 #define _SIOWR _IOWR 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 #else 80 #define SIOCPARM_MASK 0x1fff 81 #define SIOC_VOID 0x00000000 82 #define SIOC_OUT 0x20000000 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 #define SIOC_IN 0x40000000 85 #define SIOC_INOUT (SIOC_IN | SIOC_OUT) 86 #define _SIO(x,y) ((int) (SIOC_VOID | (x << 8) | y)) 87 #define _SIOR(x,y,t) ((int) (SIOC_OUT | ((sizeof(t) & SIOCPARM_MASK) << 16) | (x << 8) | y)) 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 #define _SIOW(x,y,t) ((int) (SIOC_IN | ((sizeof(t) & SIOCPARM_MASK) << 16) | (x << 8) | y)) 90 #define _SIOWR(x,y,t) ((int) (SIOC_INOUT | ((sizeof(t) & SIOCPARM_MASK) << 16) | (x << 8) | y)) 91 #define _SIOC_SIZE(x) ((x >> 16) & SIOCPARM_MASK) 92 #define _SIOC_DIR(x) (x & 0xf0000000) 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 #define _SIOC_NONE SIOC_VOID 95 #define _SIOC_READ SIOC_OUT 96 #define _SIOC_WRITE SIOC_IN 97 #endif 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 #endif 100 #define SNDCTL_SEQ_RESET _SIO('Q', 0) 101 #define SNDCTL_SEQ_SYNC _SIO('Q', 1) 102 #define SNDCTL_SYNTH_INFO _SIOWR('Q', 2, struct synth_info) 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 #define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int) 105 #define SNDCTL_SEQ_GETOUTCOUNT _SIOR('Q', 4, int) 106 #define SNDCTL_SEQ_GETINCOUNT _SIOR('Q', 5, int) 107 #define SNDCTL_SEQ_PERCMODE _SIOW('Q', 6, int) 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 #define SNDCTL_FM_LOAD_INSTR _SIOW('Q', 7, struct sbi_instrument) 110 #define SNDCTL_SEQ_TESTMIDI _SIOW('Q', 8, int) 111 #define SNDCTL_SEQ_RESETSAMPLES _SIOW('Q', 9, int) 112 #define SNDCTL_SEQ_NRSYNTHS _SIOR('Q', 10, int) 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 #define SNDCTL_SEQ_NRMIDIS _SIOR('Q', 11, int) 115 #define SNDCTL_MIDI_INFO _SIOWR('Q', 12, struct midi_info) 116 #define SNDCTL_SEQ_THRESHOLD _SIOW('Q', 13, int) 117 #define SNDCTL_SYNTH_MEMAVL _SIOWR('Q', 14, int) 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 #define SNDCTL_FM_4OP_ENABLE _SIOW('Q', 15, int) 120 #define SNDCTL_SEQ_PANIC _SIO('Q', 17) 121 #define SNDCTL_SEQ_OUTOFBAND _SIOW('Q', 18, struct seq_event_rec) 122 #define SNDCTL_SEQ_GETTIME _SIOR('Q', 19, int) 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 #define SNDCTL_SYNTH_ID _SIOWR('Q', 20, struct synth_info) 125 #define SNDCTL_SYNTH_CONTROL _SIOWR('Q', 21, struct synth_control) 126 #define SNDCTL_SYNTH_REMOVESAMPLE _SIOWR('Q', 22, struct remove_sample) 127 typedef struct synth_control { 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 int devno; 130 char data[4000]; 131 } synth_control; 132 typedef struct remove_sample { 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 int devno; 135 int bankno; 136 int instrno; 137 } remove_sample; 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 typedef struct seq_event_rec { 140 unsigned char arr[8]; 141 } seq_event_rec; 142 #define SNDCTL_TMR_TIMEBASE _SIOWR('T', 1, int) 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 #define SNDCTL_TMR_START _SIO('T', 2) 145 #define SNDCTL_TMR_STOP _SIO('T', 3) 146 #define SNDCTL_TMR_CONTINUE _SIO('T', 4) 147 #define SNDCTL_TMR_TEMPO _SIOWR('T', 5, int) 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 #define SNDCTL_TMR_SOURCE _SIOWR('T', 6, int) 150 #define TMR_INTERNAL 0x00000001 151 #define TMR_EXTERNAL 0x00000002 152 #define TMR_MODE_MIDI 0x00000010 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 #define TMR_MODE_FSK 0x00000020 155 #define TMR_MODE_CLS 0x00000040 156 #define TMR_MODE_SMPTE 0x00000080 157 #define SNDCTL_TMR_METRONOME _SIOW('T', 7, int) 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 #define SNDCTL_TMR_SELECT _SIOW('T', 8, int) 160 #define _LINUX_PATCHKEY_H_INDIRECT 161 #include <linux/patchkey.h> 162 #undef _LINUX_PATCHKEY_H_INDIRECT 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 #ifdef __BYTE_ORDER 165 #if __BYTE_ORDER == __BIG_ENDIAN 166 #define AFMT_S16_NE AFMT_S16_BE 167 #elif __BYTE_ORDER==__LITTLE_ENDIAN 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 #define AFMT_S16_NE AFMT_S16_LE 170 #else 171 #error "could not determine byte order" 172 #endif 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 #endif 175 struct patch_info { 176 unsigned short key; 177 #define WAVE_PATCH _PATCHKEY(0x04) 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 #define GUS_PATCH WAVE_PATCH 180 #define WAVEFRONT_PATCH _PATCHKEY(0x06) 181 short device_no; 182 short instr_no; 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 unsigned int mode; 185 #define WAVE_16_BITS 0x01 186 #define WAVE_UNSIGNED 0x02 187 #define WAVE_LOOPING 0x04 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 #define WAVE_BIDIR_LOOP 0x08 190 #define WAVE_LOOP_BACK 0x10 191 #define WAVE_SUSTAIN_ON 0x20 192 #define WAVE_ENVELOPES 0x40 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 #define WAVE_FAST_RELEASE 0x80 195 #define WAVE_VIBRATO 0x00010000 196 #define WAVE_TREMOLO 0x00020000 197 #define WAVE_SCALE 0x00040000 198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 #define WAVE_FRACTIONS 0x00080000 200 #define WAVE_ROM 0x40000000 201 #define WAVE_MULAW 0x20000000 202 int len; 203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 int loop_start, loop_end; 205 unsigned int base_freq; 206 unsigned int base_note; 207 unsigned int high_note; 208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 unsigned int low_note; 210 int panning; 211 int detuning; 212 unsigned char env_rate[6]; 213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 unsigned char env_offset[6]; 215 unsigned char tremolo_sweep; 216 unsigned char tremolo_rate; 217 unsigned char tremolo_depth; 218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 unsigned char vibrato_sweep; 220 unsigned char vibrato_rate; 221 unsigned char vibrato_depth; 222 int scale_frequency; 223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 unsigned int scale_factor; 225 int volume; 226 int fractions; 227 int reserved1; 228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 int spare[2]; 230 char data[1]; 231 }; 232 struct sysex_info { 233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 short key; 235 #define SYSEX_PATCH _PATCHKEY(0x05) 236 #define MAUI_PATCH _PATCHKEY(0x06) 237 short device_no; 238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 int len; 240 unsigned char data[1]; 241 }; 242 #define SEQ_NOTEOFF 0 243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 #define SEQ_FMNOTEOFF SEQ_NOTEOFF 245 #define SEQ_NOTEON 1 246 #define SEQ_FMNOTEON SEQ_NOTEON 247 #define SEQ_WAIT TMR_WAIT_ABS 248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 #define SEQ_PGMCHANGE 3 250 #define SEQ_FMPGMCHANGE SEQ_PGMCHANGE 251 #define SEQ_SYNCTIMER TMR_START 252 #define SEQ_MIDIPUTC 5 253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 #define SEQ_DRUMON 6 255 #define SEQ_DRUMOFF 7 256 #define SEQ_ECHO TMR_ECHO 257 #define SEQ_AFTERTOUCH 9 258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 #define SEQ_CONTROLLER 10 260 #define CTL_BANK_SELECT 0x00 261 #define CTL_MODWHEEL 0x01 262 #define CTL_BREATH 0x02 263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 #define CTL_FOOT 0x04 265 #define CTL_PORTAMENTO_TIME 0x05 266 #define CTL_DATA_ENTRY 0x06 267 #define CTL_MAIN_VOLUME 0x07 268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 #define CTL_BALANCE 0x08 270 #define CTL_PAN 0x0a 271 #define CTL_EXPRESSION 0x0b 272 #define CTL_GENERAL_PURPOSE1 0x10 273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 #define CTL_GENERAL_PURPOSE2 0x11 275 #define CTL_GENERAL_PURPOSE3 0x12 276 #define CTL_GENERAL_PURPOSE4 0x13 277 #define CTL_DAMPER_PEDAL 0x40 278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 #define CTL_SUSTAIN 0x40 280 #define CTL_HOLD 0x40 281 #define CTL_PORTAMENTO 0x41 282 #define CTL_SOSTENUTO 0x42 283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 #define CTL_SOFT_PEDAL 0x43 285 #define CTL_HOLD2 0x45 286 #define CTL_GENERAL_PURPOSE5 0x50 287 #define CTL_GENERAL_PURPOSE6 0x51 288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 #define CTL_GENERAL_PURPOSE7 0x52 290 #define CTL_GENERAL_PURPOSE8 0x53 291 #define CTL_EXT_EFF_DEPTH 0x5b 292 #define CTL_TREMOLO_DEPTH 0x5c 293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294 #define CTL_CHORUS_DEPTH 0x5d 295 #define CTL_DETUNE_DEPTH 0x5e 296 #define CTL_CELESTE_DEPTH 0x5e 297 #define CTL_PHASER_DEPTH 0x5f 298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 #define CTL_DATA_INCREMENT 0x60 300 #define CTL_DATA_DECREMENT 0x61 301 #define CTL_NONREG_PARM_NUM_LSB 0x62 302 #define CTL_NONREG_PARM_NUM_MSB 0x63 303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304 #define CTL_REGIST_PARM_NUM_LSB 0x64 305 #define CTL_REGIST_PARM_NUM_MSB 0x65 306 #define CTRL_PITCH_BENDER 255 307 #define CTRL_PITCH_BENDER_RANGE 254 308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 309 #define CTRL_EXPRESSION 253 310 #define CTRL_MAIN_VOLUME 252 311 #define SEQ_BALANCE 11 312 #define SEQ_VOLMODE 12 313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 314 #define VOL_METHOD_ADAGIO 1 315 #define VOL_METHOD_LINEAR 2 316 #define SEQ_FULLSIZE 0xfd 317 #define SEQ_PRIVATE 0xfe 318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 319 #define SEQ_EXTENDED 0xff 320 typedef unsigned char sbi_instr_data[32]; 321 struct sbi_instrument { 322 unsigned short key; 323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 324 #define FM_PATCH _PATCHKEY(0x01) 325 #define OPL3_PATCH _PATCHKEY(0x03) 326 short device; 327 int channel; 328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 329 sbi_instr_data operators; 330 }; 331 struct synth_info { 332 char name[30]; 333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 334 int device; 335 int synth_type; 336 #define SYNTH_TYPE_FM 0 337 #define SYNTH_TYPE_SAMPLE 1 338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 339 #define SYNTH_TYPE_MIDI 2 340 int synth_subtype; 341 #define FM_TYPE_ADLIB 0x00 342 #define FM_TYPE_OPL3 0x01 343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 344 #define MIDI_TYPE_MPU401 0x401 345 #define SAMPLE_TYPE_BASIC 0x10 346 #define SAMPLE_TYPE_GUS SAMPLE_TYPE_BASIC 347 #define SAMPLE_TYPE_WAVEFRONT 0x11 348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 349 int perc_mode; 350 int nr_voices; 351 int nr_drums; 352 int instr_bank_size; 353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 354 unsigned int capabilities; 355 #define SYNTH_CAP_PERCMODE 0x00000001 356 #define SYNTH_CAP_OPL3 0x00000002 357 #define SYNTH_CAP_INPUT 0x00000004 358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 359 int dummies[19]; 360 }; 361 struct sound_timer_info { 362 char name[32]; 363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 364 int caps; 365 }; 366 #define MIDI_CAP_MPU401 1 367 struct midi_info { 368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 369 char name[30]; 370 int device; 371 unsigned int capabilities; 372 int dev_type; 373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 374 int dummies[18]; 375 }; 376 typedef struct { 377 unsigned char cmd; 378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 379 char nr_args, nr_returns; 380 unsigned char data[30]; 381 } mpu_command_rec; 382 #define SNDCTL_MIDI_PRETIME _SIOWR('m', 0, int) 383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 384 #define SNDCTL_MIDI_MPUMODE _SIOWR('m', 1, int) 385 #define SNDCTL_MIDI_MPUCMD _SIOWR('m', 2, mpu_command_rec) 386 #define SNDCTL_DSP_RESET _SIO('P', 0) 387 #define SNDCTL_DSP_SYNC _SIO('P', 1) 388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 389 #define SNDCTL_DSP_SPEED _SIOWR('P', 2, int) 390 #define SNDCTL_DSP_STEREO _SIOWR('P', 3, int) 391 #define SNDCTL_DSP_GETBLKSIZE _SIOWR('P', 4, int) 392 #define SNDCTL_DSP_SAMPLESIZE SNDCTL_DSP_SETFMT 393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 394 #define SNDCTL_DSP_CHANNELS _SIOWR('P', 6, int) 395 #define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS 396 #define SOUND_PCM_WRITE_FILTER _SIOWR('P', 7, int) 397 #define SNDCTL_DSP_POST _SIO('P', 8) 398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 399 #define SNDCTL_DSP_SUBDIVIDE _SIOWR('P', 9, int) 400 #define SNDCTL_DSP_SETFRAGMENT _SIOWR('P', 10, int) 401 #define SNDCTL_DSP_GETFMTS _SIOR('P', 11, int) 402 #define SNDCTL_DSP_SETFMT _SIOWR('P', 5, int) 403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 404 #define AFMT_QUERY 0x00000000 405 #define AFMT_MU_LAW 0x00000001 406 #define AFMT_A_LAW 0x00000002 407 #define AFMT_IMA_ADPCM 0x00000004 408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 409 #define AFMT_U8 0x00000008 410 #define AFMT_S16_LE 0x00000010 411 #define AFMT_S16_BE 0x00000020 412 #define AFMT_S8 0x00000040 413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 414 #define AFMT_U16_LE 0x00000080 415 #define AFMT_U16_BE 0x00000100 416 #define AFMT_MPEG 0x00000200 417 #define AFMT_AC3 0x00000400 418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 419 typedef struct audio_buf_info { 420 int fragments; 421 int fragstotal; 422 int fragsize; 423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 424 int bytes; 425 } audio_buf_info; 426 #define SNDCTL_DSP_GETOSPACE _SIOR('P', 12, audio_buf_info) 427 #define SNDCTL_DSP_GETISPACE _SIOR('P', 13, audio_buf_info) 428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 429 #define SNDCTL_DSP_NONBLOCK _SIO('P', 14) 430 #define SNDCTL_DSP_GETCAPS _SIOR('P', 15, int) 431 #define DSP_CAP_REVISION 0x000000ff 432 #define DSP_CAP_DUPLEX 0x00000100 433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 434 #define DSP_CAP_REALTIME 0x00000200 435 #define DSP_CAP_BATCH 0x00000400 436 #define DSP_CAP_COPROC 0x00000800 437 #define DSP_CAP_TRIGGER 0x00001000 438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 439 #define DSP_CAP_MMAP 0x00002000 440 #define DSP_CAP_MULTI 0x00004000 441 #define DSP_CAP_BIND 0x00008000 442 #define SNDCTL_DSP_GETTRIGGER _SIOR('P', 16, int) 443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 444 #define SNDCTL_DSP_SETTRIGGER _SIOW('P', 16, int) 445 #define PCM_ENABLE_INPUT 0x00000001 446 #define PCM_ENABLE_OUTPUT 0x00000002 447 typedef struct count_info { 448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 449 int bytes; 450 int blocks; 451 int ptr; 452 } count_info; 453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 454 #define SNDCTL_DSP_GETIPTR _SIOR('P', 17, count_info) 455 #define SNDCTL_DSP_GETOPTR _SIOR('P', 18, count_info) 456 typedef struct buffmem_desc { 457 unsigned * buffer; 458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 459 int size; 460 } buffmem_desc; 461 #define SNDCTL_DSP_MAPINBUF _SIOR('P', 19, buffmem_desc) 462 #define SNDCTL_DSP_MAPOUTBUF _SIOR('P', 20, buffmem_desc) 463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 464 #define SNDCTL_DSP_SETSYNCRO _SIO('P', 21) 465 #define SNDCTL_DSP_SETDUPLEX _SIO('P', 22) 466 #define SNDCTL_DSP_GETODELAY _SIOR('P', 23, int) 467 #define SNDCTL_DSP_GETCHANNELMASK _SIOWR('P', 64, int) 468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 469 #define SNDCTL_DSP_BIND_CHANNEL _SIOWR('P', 65, int) 470 #define DSP_BIND_QUERY 0x00000000 471 #define DSP_BIND_FRONT 0x00000001 472 #define DSP_BIND_SURR 0x00000002 473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 474 #define DSP_BIND_CENTER_LFE 0x00000004 475 #define DSP_BIND_HANDSET 0x00000008 476 #define DSP_BIND_MIC 0x00000010 477 #define DSP_BIND_MODEM1 0x00000020 478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 479 #define DSP_BIND_MODEM2 0x00000040 480 #define DSP_BIND_I2S 0x00000080 481 #define DSP_BIND_SPDIF 0x00000100 482 #define SNDCTL_DSP_SETSPDIF _SIOW('P', 66, int) 483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 484 #define SNDCTL_DSP_GETSPDIF _SIOR('P', 67, int) 485 #define SPDIF_PRO 0x0001 486 #define SPDIF_N_AUD 0x0002 487 #define SPDIF_COPY 0x0004 488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 489 #define SPDIF_PRE 0x0008 490 #define SPDIF_CC 0x07f0 491 #define SPDIF_L 0x0800 492 #define SPDIF_DRS 0x4000 493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 494 #define SPDIF_V 0x8000 495 #define SNDCTL_DSP_PROFILE _SIOW('P', 23, int) 496 #define APF_NORMAL 0 497 #define APF_NETWORK 1 498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 499 #define APF_CPUINTENS 2 500 #define SOUND_PCM_READ_RATE _SIOR('P', 2, int) 501 #define SOUND_PCM_READ_CHANNELS _SIOR('P', 6, int) 502 #define SOUND_PCM_READ_BITS _SIOR('P', 5, int) 503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 504 #define SOUND_PCM_READ_FILTER _SIOR('P', 7, int) 505 #define SOUND_PCM_WRITE_BITS SNDCTL_DSP_SETFMT 506 #define SOUND_PCM_WRITE_RATE SNDCTL_DSP_SPEED 507 #define SOUND_PCM_POST SNDCTL_DSP_POST 508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 509 #define SOUND_PCM_RESET SNDCTL_DSP_RESET 510 #define SOUND_PCM_SYNC SNDCTL_DSP_SYNC 511 #define SOUND_PCM_SUBDIVIDE SNDCTL_DSP_SUBDIVIDE 512 #define SOUND_PCM_SETFRAGMENT SNDCTL_DSP_SETFRAGMENT 513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 514 #define SOUND_PCM_GETFMTS SNDCTL_DSP_GETFMTS 515 #define SOUND_PCM_SETFMT SNDCTL_DSP_SETFMT 516 #define SOUND_PCM_GETOSPACE SNDCTL_DSP_GETOSPACE 517 #define SOUND_PCM_GETISPACE SNDCTL_DSP_GETISPACE 518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 519 #define SOUND_PCM_NONBLOCK SNDCTL_DSP_NONBLOCK 520 #define SOUND_PCM_GETCAPS SNDCTL_DSP_GETCAPS 521 #define SOUND_PCM_GETTRIGGER SNDCTL_DSP_GETTRIGGER 522 #define SOUND_PCM_SETTRIGGER SNDCTL_DSP_SETTRIGGER 523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 524 #define SOUND_PCM_SETSYNCRO SNDCTL_DSP_SETSYNCRO 525 #define SOUND_PCM_GETIPTR SNDCTL_DSP_GETIPTR 526 #define SOUND_PCM_GETOPTR SNDCTL_DSP_GETOPTR 527 #define SOUND_PCM_MAPINBUF SNDCTL_DSP_MAPINBUF 528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 529 #define SOUND_PCM_MAPOUTBUF SNDCTL_DSP_MAPOUTBUF 530 typedef struct copr_buffer { 531 int command; 532 int flags; 533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 534 #define CPF_NONE 0x0000 535 #define CPF_FIRST 0x0001 536 #define CPF_LAST 0x0002 537 int len; 538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 539 int offs; 540 unsigned char data[4000]; 541 } copr_buffer; 542 typedef struct copr_debug_buf { 543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 544 int command; 545 int parm1; 546 int parm2; 547 int flags; 548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 549 int len; 550 } copr_debug_buf; 551 typedef struct copr_msg { 552 int len; 553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 554 unsigned char data[4000]; 555 } copr_msg; 556 #define SNDCTL_COPR_RESET _SIO('C', 0) 557 #define SNDCTL_COPR_LOAD _SIOWR('C', 1, copr_buffer) 558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 559 #define SNDCTL_COPR_RDATA _SIOWR('C', 2, copr_debug_buf) 560 #define SNDCTL_COPR_RCODE _SIOWR('C', 3, copr_debug_buf) 561 #define SNDCTL_COPR_WDATA _SIOW('C', 4, copr_debug_buf) 562 #define SNDCTL_COPR_WCODE _SIOW('C', 5, copr_debug_buf) 563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 564 #define SNDCTL_COPR_RUN _SIOWR('C', 6, copr_debug_buf) 565 #define SNDCTL_COPR_HALT _SIOWR('C', 7, copr_debug_buf) 566 #define SNDCTL_COPR_SENDMSG _SIOWR('C', 8, copr_msg) 567 #define SNDCTL_COPR_RCVMSG _SIOR('C', 9, copr_msg) 568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 569 #define SOUND_MIXER_NRDEVICES 25 570 #define SOUND_MIXER_VOLUME 0 571 #define SOUND_MIXER_BASS 1 572 #define SOUND_MIXER_TREBLE 2 573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 574 #define SOUND_MIXER_SYNTH 3 575 #define SOUND_MIXER_PCM 4 576 #define SOUND_MIXER_SPEAKER 5 577 #define SOUND_MIXER_LINE 6 578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 579 #define SOUND_MIXER_MIC 7 580 #define SOUND_MIXER_CD 8 581 #define SOUND_MIXER_IMIX 9 582 #define SOUND_MIXER_ALTPCM 10 583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 584 #define SOUND_MIXER_RECLEV 11 585 #define SOUND_MIXER_IGAIN 12 586 #define SOUND_MIXER_OGAIN 13 587 #define SOUND_MIXER_LINE1 14 588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 589 #define SOUND_MIXER_LINE2 15 590 #define SOUND_MIXER_LINE3 16 591 #define SOUND_MIXER_DIGITAL1 17 592 #define SOUND_MIXER_DIGITAL2 18 593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 594 #define SOUND_MIXER_DIGITAL3 19 595 #define SOUND_MIXER_PHONEIN 20 596 #define SOUND_MIXER_PHONEOUT 21 597 #define SOUND_MIXER_VIDEO 22 598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 599 #define SOUND_MIXER_RADIO 23 600 #define SOUND_MIXER_MONITOR 24 601 #define SOUND_ONOFF_MIN 28 602 #define SOUND_ONOFF_MAX 30 603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 604 #define SOUND_MIXER_NONE 31 605 #define SOUND_MIXER_ENHANCE SOUND_MIXER_NONE 606 #define SOUND_MIXER_MUTE SOUND_MIXER_NONE 607 #define SOUND_MIXER_LOUD SOUND_MIXER_NONE 608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 609 #define SOUND_DEVICE_LABELS { "Vol ", "Bass ", "Trebl", "Synth", "Pcm ", "Spkr ", "Line ", "Mic ", "CD ", "Mix ", "Pcm2 ", "Rec ", "IGain", "OGain", "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3", "PhoneIn", "PhoneOut", "Video", "Radio", "Monitor" } 610 #define SOUND_DEVICE_NAMES { "vol", "bass", "treble", "synth", "pcm", "speaker", "line", "mic", "cd", "mix", "pcm2", "rec", "igain", "ogain", "line1", "line2", "line3", "dig1", "dig2", "dig3", "phin", "phout", "video", "radio", "monitor" } 611 #define SOUND_MIXER_RECSRC 0xff 612 #define SOUND_MIXER_DEVMASK 0xfe 613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 614 #define SOUND_MIXER_RECMASK 0xfd 615 #define SOUND_MIXER_CAPS 0xfc 616 #define SOUND_CAP_EXCL_INPUT 0x00000001 617 #define SOUND_MIXER_STEREODEVS 0xfb 618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 619 #define SOUND_MIXER_OUTSRC 0xfa 620 #define SOUND_MIXER_OUTMASK 0xf9 621 #define SOUND_MASK_VOLUME (1 << SOUND_MIXER_VOLUME) 622 #define SOUND_MASK_BASS (1 << SOUND_MIXER_BASS) 623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 624 #define SOUND_MASK_TREBLE (1 << SOUND_MIXER_TREBLE) 625 #define SOUND_MASK_SYNTH (1 << SOUND_MIXER_SYNTH) 626 #define SOUND_MASK_PCM (1 << SOUND_MIXER_PCM) 627 #define SOUND_MASK_SPEAKER (1 << SOUND_MIXER_SPEAKER) 628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 629 #define SOUND_MASK_LINE (1 << SOUND_MIXER_LINE) 630 #define SOUND_MASK_MIC (1 << SOUND_MIXER_MIC) 631 #define SOUND_MASK_CD (1 << SOUND_MIXER_CD) 632 #define SOUND_MASK_IMIX (1 << SOUND_MIXER_IMIX) 633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 634 #define SOUND_MASK_ALTPCM (1 << SOUND_MIXER_ALTPCM) 635 #define SOUND_MASK_RECLEV (1 << SOUND_MIXER_RECLEV) 636 #define SOUND_MASK_IGAIN (1 << SOUND_MIXER_IGAIN) 637 #define SOUND_MASK_OGAIN (1 << SOUND_MIXER_OGAIN) 638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 639 #define SOUND_MASK_LINE1 (1 << SOUND_MIXER_LINE1) 640 #define SOUND_MASK_LINE2 (1 << SOUND_MIXER_LINE2) 641 #define SOUND_MASK_LINE3 (1 << SOUND_MIXER_LINE3) 642 #define SOUND_MASK_DIGITAL1 (1 << SOUND_MIXER_DIGITAL1) 643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 644 #define SOUND_MASK_DIGITAL2 (1 << SOUND_MIXER_DIGITAL2) 645 #define SOUND_MASK_DIGITAL3 (1 << SOUND_MIXER_DIGITAL3) 646 #define SOUND_MASK_PHONEIN (1 << SOUND_MIXER_PHONEIN) 647 #define SOUND_MASK_PHONEOUT (1 << SOUND_MIXER_PHONEOUT) 648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 649 #define SOUND_MASK_RADIO (1 << SOUND_MIXER_RADIO) 650 #define SOUND_MASK_VIDEO (1 << SOUND_MIXER_VIDEO) 651 #define SOUND_MASK_MONITOR (1 << SOUND_MIXER_MONITOR) 652 #define SOUND_MASK_MUTE (1 << SOUND_MIXER_MUTE) 653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 654 #define SOUND_MASK_ENHANCE (1 << SOUND_MIXER_ENHANCE) 655 #define SOUND_MASK_LOUD (1 << SOUND_MIXER_LOUD) 656 #define MIXER_READ(dev) _SIOR('M', dev, int) 657 #define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME) 658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 659 #define SOUND_MIXER_READ_BASS MIXER_READ(SOUND_MIXER_BASS) 660 #define SOUND_MIXER_READ_TREBLE MIXER_READ(SOUND_MIXER_TREBLE) 661 #define SOUND_MIXER_READ_SYNTH MIXER_READ(SOUND_MIXER_SYNTH) 662 #define SOUND_MIXER_READ_PCM MIXER_READ(SOUND_MIXER_PCM) 663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 664 #define SOUND_MIXER_READ_SPEAKER MIXER_READ(SOUND_MIXER_SPEAKER) 665 #define SOUND_MIXER_READ_LINE MIXER_READ(SOUND_MIXER_LINE) 666 #define SOUND_MIXER_READ_MIC MIXER_READ(SOUND_MIXER_MIC) 667 #define SOUND_MIXER_READ_CD MIXER_READ(SOUND_MIXER_CD) 668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 669 #define SOUND_MIXER_READ_IMIX MIXER_READ(SOUND_MIXER_IMIX) 670 #define SOUND_MIXER_READ_ALTPCM MIXER_READ(SOUND_MIXER_ALTPCM) 671 #define SOUND_MIXER_READ_RECLEV MIXER_READ(SOUND_MIXER_RECLEV) 672 #define SOUND_MIXER_READ_IGAIN MIXER_READ(SOUND_MIXER_IGAIN) 673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 674 #define SOUND_MIXER_READ_OGAIN MIXER_READ(SOUND_MIXER_OGAIN) 675 #define SOUND_MIXER_READ_LINE1 MIXER_READ(SOUND_MIXER_LINE1) 676 #define SOUND_MIXER_READ_LINE2 MIXER_READ(SOUND_MIXER_LINE2) 677 #define SOUND_MIXER_READ_LINE3 MIXER_READ(SOUND_MIXER_LINE3) 678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 679 #define SOUND_MIXER_READ_MUTE MIXER_READ(SOUND_MIXER_MUTE) 680 #define SOUND_MIXER_READ_ENHANCE MIXER_READ(SOUND_MIXER_ENHANCE) 681 #define SOUND_MIXER_READ_LOUD MIXER_READ(SOUND_MIXER_LOUD) 682 #define SOUND_MIXER_READ_RECSRC MIXER_READ(SOUND_MIXER_RECSRC) 683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 684 #define SOUND_MIXER_READ_DEVMASK MIXER_READ(SOUND_MIXER_DEVMASK) 685 #define SOUND_MIXER_READ_RECMASK MIXER_READ(SOUND_MIXER_RECMASK) 686 #define SOUND_MIXER_READ_STEREODEVS MIXER_READ(SOUND_MIXER_STEREODEVS) 687 #define SOUND_MIXER_READ_CAPS MIXER_READ(SOUND_MIXER_CAPS) 688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 689 #define MIXER_WRITE(dev) _SIOWR('M', dev, int) 690 #define SOUND_MIXER_WRITE_VOLUME MIXER_WRITE(SOUND_MIXER_VOLUME) 691 #define SOUND_MIXER_WRITE_BASS MIXER_WRITE(SOUND_MIXER_BASS) 692 #define SOUND_MIXER_WRITE_TREBLE MIXER_WRITE(SOUND_MIXER_TREBLE) 693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 694 #define SOUND_MIXER_WRITE_SYNTH MIXER_WRITE(SOUND_MIXER_SYNTH) 695 #define SOUND_MIXER_WRITE_PCM MIXER_WRITE(SOUND_MIXER_PCM) 696 #define SOUND_MIXER_WRITE_SPEAKER MIXER_WRITE(SOUND_MIXER_SPEAKER) 697 #define SOUND_MIXER_WRITE_LINE MIXER_WRITE(SOUND_MIXER_LINE) 698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 699 #define SOUND_MIXER_WRITE_MIC MIXER_WRITE(SOUND_MIXER_MIC) 700 #define SOUND_MIXER_WRITE_CD MIXER_WRITE(SOUND_MIXER_CD) 701 #define SOUND_MIXER_WRITE_IMIX MIXER_WRITE(SOUND_MIXER_IMIX) 702 #define SOUND_MIXER_WRITE_ALTPCM MIXER_WRITE(SOUND_MIXER_ALTPCM) 703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 704 #define SOUND_MIXER_WRITE_RECLEV MIXER_WRITE(SOUND_MIXER_RECLEV) 705 #define SOUND_MIXER_WRITE_IGAIN MIXER_WRITE(SOUND_MIXER_IGAIN) 706 #define SOUND_MIXER_WRITE_OGAIN MIXER_WRITE(SOUND_MIXER_OGAIN) 707 #define SOUND_MIXER_WRITE_LINE1 MIXER_WRITE(SOUND_MIXER_LINE1) 708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 709 #define SOUND_MIXER_WRITE_LINE2 MIXER_WRITE(SOUND_MIXER_LINE2) 710 #define SOUND_MIXER_WRITE_LINE3 MIXER_WRITE(SOUND_MIXER_LINE3) 711 #define SOUND_MIXER_WRITE_MUTE MIXER_WRITE(SOUND_MIXER_MUTE) 712 #define SOUND_MIXER_WRITE_ENHANCE MIXER_WRITE(SOUND_MIXER_ENHANCE) 713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 714 #define SOUND_MIXER_WRITE_LOUD MIXER_WRITE(SOUND_MIXER_LOUD) 715 #define SOUND_MIXER_WRITE_RECSRC MIXER_WRITE(SOUND_MIXER_RECSRC) 716 typedef struct mixer_info { 717 char id[16]; 718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 719 char name[32]; 720 int modify_counter; 721 int fillers[10]; 722 } mixer_info; 723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 724 typedef struct _old_mixer_info { 725 char id[16]; 726 char name[32]; 727 } _old_mixer_info; 728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 729 #define SOUND_MIXER_INFO _SIOR('M', 101, mixer_info) 730 #define SOUND_OLD_MIXER_INFO _SIOR('M', 101, _old_mixer_info) 731 typedef unsigned char mixer_record[128]; 732 #define SOUND_MIXER_ACCESS _SIOWR('M', 102, mixer_record) 733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 734 #define SOUND_MIXER_AGC _SIOWR('M', 103, int) 735 #define SOUND_MIXER_3DSE _SIOWR('M', 104, int) 736 #define SOUND_MIXER_PRIVATE1 _SIOWR('M', 111, int) 737 #define SOUND_MIXER_PRIVATE2 _SIOWR('M', 112, int) 738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 739 #define SOUND_MIXER_PRIVATE3 _SIOWR('M', 113, int) 740 #define SOUND_MIXER_PRIVATE4 _SIOWR('M', 114, int) 741 #define SOUND_MIXER_PRIVATE5 _SIOWR('M', 115, int) 742 typedef struct mixer_vol_table { 743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 744 int num; 745 char name[32]; 746 int levels[32]; 747 } mixer_vol_table; 748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 749 #define SOUND_MIXER_GETLEVELS _SIOWR('M', 116, mixer_vol_table) 750 #define SOUND_MIXER_SETLEVELS _SIOWR('M', 117, mixer_vol_table) 751 #define OSS_GETVERSION _SIOR('M', 118, int) 752 #define EV_SEQ_LOCAL 0x80 753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 754 #define EV_TIMING 0x81 755 #define EV_CHN_COMMON 0x92 756 #define EV_CHN_VOICE 0x93 757 #define EV_SYSEX 0x94 758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 759 #define MIDI_NOTEOFF 0x80 760 #define MIDI_NOTEON 0x90 761 #define MIDI_KEY_PRESSURE 0xA0 762 #define MIDI_CTL_CHANGE 0xB0 763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 764 #define MIDI_PGM_CHANGE 0xC0 765 #define MIDI_CHN_PRESSURE 0xD0 766 #define MIDI_PITCH_BEND 0xE0 767 #define MIDI_SYSTEM_PREFIX 0xF0 768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 769 #define TMR_WAIT_REL 1 770 #define TMR_WAIT_ABS 2 771 #define TMR_STOP 3 772 #define TMR_START 4 773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 774 #define TMR_CONTINUE 5 775 #define TMR_TEMPO 6 776 #define TMR_ECHO 8 777 #define TMR_CLOCK 9 778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 779 #define TMR_SPP 10 780 #define TMR_TIMESIG 11 781 #define LOCL_STARTAUDIO 1 782 #define SEQ_DECLAREBUF() SEQ_USE_EXTBUF() 783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 784 #define SEQ_PM_DEFINES int __foo_bar___ 785 #define SEQ_LOAD_GMINSTR(dev,instr) 786 #define SEQ_LOAD_GMDRUM(dev,drum) 787 #define _SEQ_EXTERN extern 788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 789 #define SEQ_USE_EXTBUF() _SEQ_EXTERN unsigned char _seqbuf[]; _SEQ_EXTERN int _seqbuflen; _SEQ_EXTERN int _seqbufptr 790 #ifndef USE_SIMPLE_MACROS 791 #define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len; int _seqbufptr = 0 792 #define _SEQ_NEEDBUF(len) if((_seqbufptr + (len)) > _seqbuflen) seqbuf_dump() 793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 794 #define _SEQ_ADVBUF(len) _seqbufptr += len 795 #define SEQ_DUMPBUF seqbuf_dump 796 #else 797 #define _SEQ_NEEDBUF(len) 798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 799 #endif 800 #define SEQ_VOLUME_MODE(dev,mode) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = SEQ_EXTENDED; _seqbuf[_seqbufptr + 1] = SEQ_VOLMODE; _seqbuf[_seqbufptr + 2] = (dev); _seqbuf[_seqbufptr + 3] = (mode); _seqbuf[_seqbufptr + 4] = 0; _seqbuf[_seqbufptr + 5] = 0; _seqbuf[_seqbufptr + 6] = 0; _seqbuf[_seqbufptr + 7] = 0; _SEQ_ADVBUF(8); } 801 #define _CHN_VOICE(dev,event,chn,note,parm) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = EV_CHN_VOICE; _seqbuf[_seqbufptr + 1] = (dev); _seqbuf[_seqbufptr + 2] = (event); _seqbuf[_seqbufptr + 3] = (chn); _seqbuf[_seqbufptr + 4] = (note); _seqbuf[_seqbufptr + 5] = (parm); _seqbuf[_seqbufptr + 6] = (0); _seqbuf[_seqbufptr + 7] = 0; _SEQ_ADVBUF(8); } 802 #define SEQ_START_NOTE(dev,chn,note,vol) _CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol) 803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 804 #define SEQ_STOP_NOTE(dev,chn,note,vol) _CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol) 805 #define SEQ_KEY_PRESSURE(dev,chn,note,pressure) _CHN_VOICE(dev, MIDI_KEY_PRESSURE, chn, note, pressure) 806 #define _CHN_COMMON(dev,event,chn,p1,p2,w14) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = EV_CHN_COMMON; _seqbuf[_seqbufptr + 1] = (dev); _seqbuf[_seqbufptr + 2] = (event); _seqbuf[_seqbufptr + 3] = (chn); _seqbuf[_seqbufptr + 4] = (p1); _seqbuf[_seqbufptr + 5] = (p2); * (short *) & _seqbuf[_seqbufptr + 6] = (w14); _SEQ_ADVBUF(8); } 807 #define SEQ_SYSEX(dev,buf,len) { int ii, ll = (len); unsigned char * bufp = buf; if(ll > 6) ll = 6; _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = EV_SYSEX; _seqbuf[_seqbufptr + 1] = (dev); for(ii = 0; ii < ll; ii ++) _seqbuf[_seqbufptr + ii + 2] = bufp[ii]; for(ii = ll; ii < 6; ii ++) _seqbuf[_seqbufptr + ii + 2] = 0xff; _SEQ_ADVBUF(8); } 808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 809 #define SEQ_CHN_PRESSURE(dev,chn,pressure) _CHN_COMMON(dev, MIDI_CHN_PRESSURE, chn, pressure, 0, 0) 810 #define SEQ_SET_PATCH SEQ_PGM_CHANGE 811 #define SEQ_PGM_CHANGE(dev,chn,patch) _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0) 812 #define SEQ_CONTROL(dev,chn,controller,value) _CHN_COMMON(dev, MIDI_CTL_CHANGE, chn, controller, 0, value) 813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 814 #define SEQ_BENDER(dev,chn,value) _CHN_COMMON(dev, MIDI_PITCH_BEND, chn, 0, 0, value) 815 #define SEQ_V2_X_CONTROL(dev,voice,controller,value) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = SEQ_EXTENDED; _seqbuf[_seqbufptr + 1] = SEQ_CONTROLLER; _seqbuf[_seqbufptr + 2] = (dev); _seqbuf[_seqbufptr + 3] = (voice); _seqbuf[_seqbufptr + 4] = (controller); _seqbuf[_seqbufptr + 5] = ((value) & 0xff); _seqbuf[_seqbufptr + 6] = ((value >> 8) & 0xff); _seqbuf[_seqbufptr + 7] = 0; _SEQ_ADVBUF(8); } 816 #define SEQ_PITCHBEND(dev,voice,value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value) 817 #define SEQ_BENDER_RANGE(dev,voice,value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value) 818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 819 #define SEQ_EXPRESSION(dev,voice,value) SEQ_CONTROL(dev, voice, CTL_EXPRESSION, value * 128) 820 #define SEQ_MAIN_VOLUME(dev,voice,value) SEQ_CONTROL(dev, voice, CTL_MAIN_VOLUME, (value * 16383) / 100) 821 #define SEQ_PANNING(dev,voice,pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos + 128) / 2) 822 #define _TIMER_EVENT(ev,parm) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr + 0] = EV_TIMING; _seqbuf[_seqbufptr + 1] = (ev); _seqbuf[_seqbufptr + 2] = 0; _seqbuf[_seqbufptr + 3] = 0; * (unsigned int *) & _seqbuf[_seqbufptr + 4] = (parm); _SEQ_ADVBUF(8); } 823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 824 #define SEQ_START_TIMER() _TIMER_EVENT(TMR_START, 0) 825 #define SEQ_STOP_TIMER() _TIMER_EVENT(TMR_STOP, 0) 826 #define SEQ_CONTINUE_TIMER() _TIMER_EVENT(TMR_CONTINUE, 0) 827 #define SEQ_WAIT_TIME(ticks) _TIMER_EVENT(TMR_WAIT_ABS, ticks) 828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 829 #define SEQ_DELTA_TIME(ticks) _TIMER_EVENT(TMR_WAIT_REL, ticks) 830 #define SEQ_ECHO_BACK(key) _TIMER_EVENT(TMR_ECHO, key) 831 #define SEQ_SET_TEMPO(value) _TIMER_EVENT(TMR_TEMPO, value) 832 #define SEQ_SONGPOS(pos) _TIMER_EVENT(TMR_SPP, pos) 833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 834 #define SEQ_TIME_SIGNATURE(sig) _TIMER_EVENT(TMR_TIMESIG, sig) 835 #define _LOCAL_EVENT(ev,parm) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr + 0] = EV_SEQ_LOCAL; _seqbuf[_seqbufptr + 1] = (ev); _seqbuf[_seqbufptr + 2] = 0; _seqbuf[_seqbufptr + 3] = 0; * (unsigned int *) & _seqbuf[_seqbufptr + 4] = (parm); _SEQ_ADVBUF(8); } 836 #define SEQ_PLAYAUDIO(devmask) _LOCAL_EVENT(LOCL_STARTAUDIO, devmask) 837 #define SEQ_MIDIOUT(device,byte) { _SEQ_NEEDBUF(4); _seqbuf[_seqbufptr] = SEQ_MIDIPUTC; _seqbuf[_seqbufptr + 1] = (byte); _seqbuf[_seqbufptr + 2] = (device); _seqbuf[_seqbufptr + 3] = 0; _SEQ_ADVBUF(4); } 838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 839 #define SEQ_WRPATCH(patchx,len) { if(_seqbufptr) SEQ_DUMPBUF(); if(write(seqfd, (char *) (patchx), len) == - 1) perror("Write patch: /dev/sequencer"); } 840 #define SEQ_WRPATCH2(patchx,len) (SEQ_DUMPBUF(), write(seqfd, (char *) (patchx), len)) 841 #endif 842