111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   To edit the content of this header, modify the corresponding
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   source file (e.g. under external/kernel-headers/original/) then
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   run bionic/libc/kernel/tools/update_all.py
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   Any manual change here will be lost the next time this script will
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   be run. You've been warned!
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _UAPISOUNDCARD_H
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _UAPISOUNDCARD_H
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_VERSION 0x030802
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define OPEN_SOUND_SYSTEM
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/ioctl.h>
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <endian.h>
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_ADLIB 1
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_SB 2
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_PAS 3
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_GUS 4
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_MPU401 5
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_SB16 6
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_SB16MIDI 7
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_UART6850 8
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_GUS16 9
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_MSS 10
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_PSS 11
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_SSCAPE 12
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_PSS_MPU 13
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_PSS_MSS 14
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_SSCAPE_MSS 15
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_TRXPRO 16
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_TRXPRO_SB 17
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_TRXPRO_MPU 18
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_MAD16 19
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_MAD16_MPU 20
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_CS4232 21
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_CS4232_MPU 22
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_MAUI 23
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_PSEUDO_MSS 24
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_GUSPNP 25
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCARD_UART401 26
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _SIOWR
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(_IOWR) && (defined(_AIX) || !defined(sun) && !defined(sparc) && !defined(__sparc__) && !defined(__INCioctlh) && !defined(__Lynx__))
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCPARM_MASK IOCPARM_MASK
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOC_VOID IOC_VOID
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOC_OUT IOC_OUT
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOC_IN IOC_IN
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOC_INOUT IOC_INOUT
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOC_SIZE _IOC_SIZE
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOC_DIR _IOC_DIR
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOC_NONE _IOC_NONE
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOC_READ _IOC_READ
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOC_WRITE _IOC_WRITE
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIO _IO
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOR _IOR
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOW _IOW
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOWR _IOWR
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCPARM_MASK 0x1fff
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOC_VOID 0x00000000
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOC_OUT 0x20000000
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOC_IN 0x40000000
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOC_INOUT (SIOC_IN|SIOC_OUT)
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIO(x,y) ((int)(SIOC_VOID|(x<<8)|y))
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOR(x,y,t) ((int)(SIOC_OUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOW(x,y,t) ((int)(SIOC_IN|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOWR(x,y,t) ((int)(SIOC_INOUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOC_SIZE(x) ((x>>16)&SIOCPARM_MASK)
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOC_DIR(x) (x & 0xf0000000)
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOC_NONE SIOC_VOID
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOC_READ SIOC_OUT
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SIOC_WRITE SIOC_IN
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_RESET _SIO ('Q', 0)
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_SYNC _SIO ('Q', 1)
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SYNTH_INFO _SIOWR('Q', 2, struct synth_info)
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int)
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_GETOUTCOUNT _SIOR ('Q', 4, int)
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_GETINCOUNT _SIOR ('Q', 5, int)
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_PERCMODE _SIOW ('Q', 6, int)
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_FM_LOAD_INSTR _SIOW ('Q', 7, struct sbi_instrument)
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_TESTMIDI _SIOW ('Q', 8, int)
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_RESETSAMPLES _SIOW ('Q', 9, int)
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_NRSYNTHS _SIOR ('Q',10, int)
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_NRMIDIS _SIOR ('Q',11, int)
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_MIDI_INFO _SIOWR('Q',12, struct midi_info)
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_THRESHOLD _SIOW ('Q',13, int)
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SYNTH_MEMAVL _SIOWR('Q',14, int)
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_FM_4OP_ENABLE _SIOW ('Q',15, int)
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_PANIC _SIO ('Q',17)
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_OUTOFBAND _SIOW ('Q',18, struct seq_event_rec)
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SEQ_GETTIME _SIOR ('Q',19, int)
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SYNTH_ID _SIOWR('Q',20, struct synth_info)
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SYNTH_CONTROL _SIOWR('Q',21, struct synth_control)
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_SYNTH_REMOVESAMPLE _SIOWR('Q',22, struct remove_sample)
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct synth_control
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int devno;
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char data[4000];
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}synth_control;
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct remove_sample
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int devno;
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int bankno;
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int instrno;
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} remove_sample;
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct seq_event_rec {
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char arr[8];
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} seq_event_rec;
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_TMR_TIMEBASE _SIOWR('T', 1, int)
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_TMR_START _SIO ('T', 2)
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_TMR_STOP _SIO ('T', 3)
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_TMR_CONTINUE _SIO ('T', 4)
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_TMR_TEMPO _SIOWR('T', 5, int)
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_TMR_SOURCE _SIOWR('T', 6, int)
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_INTERNAL 0x00000001
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_EXTERNAL 0x00000002
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_MODE_MIDI 0x00000010
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_MODE_FSK 0x00000020
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_MODE_CLS 0x00000040
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_MODE_SMPTE 0x00000080
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_TMR_METRONOME _SIOW ('T', 7, int)
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_TMR_SELECT _SIOW ('T', 8, int)
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_PATCHKEY_H_INDIRECT
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/patchkey.h>
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _LINUX_PATCHKEY_H_INDIRECT
16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __BYTE_ORDER
16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if __BYTE_ORDER == __BIG_ENDIAN
16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_S16_NE AFMT_S16_BE
17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#elif __BYTE_ORDER == __LITTLE_ENDIAN
17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_S16_NE AFMT_S16_LE
17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else
17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#error "could not determine byte order"
17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct patch_info {
17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short key;
18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_PATCH _PATCHKEY(0x04)
18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GUS_PATCH WAVE_PATCH
18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVEFRONT_PATCH _PATCHKEY(0x06)
18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short device_no;
18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short instr_no;
18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int mode;
18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_16_BITS 0x01
18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_UNSIGNED 0x02
19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_LOOPING 0x04
19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_BIDIR_LOOP 0x08
19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_LOOP_BACK 0x10
19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_SUSTAIN_ON 0x20
19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_ENVELOPES 0x40
19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_FAST_RELEASE 0x80
19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_VIBRATO 0x00010000
19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_TREMOLO 0x00020000
20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_SCALE 0x00040000
20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_FRACTIONS 0x00080000
20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_ROM 0x40000000
20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WAVE_MULAW 0x20000000
20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int len;
20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int loop_start, loop_end;
20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int base_freq;
20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int base_note;
21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int high_note;
21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int low_note;
21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int panning;
21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int detuning;
21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char env_rate[ 6 ];
21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char env_offset[ 6 ];
21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char tremolo_sweep;
21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char tremolo_rate;
22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char tremolo_depth;
22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vibrato_sweep;
22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vibrato_rate;
22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vibrato_depth;
22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int scale_frequency;
22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int scale_factor;
22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int volume;
22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int fractions;
23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int reserved1;
23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int spare[2];
23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char data[1];
23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert };
23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct sysex_info {
23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short key;
23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SYSEX_PATCH _PATCHKEY(0x05)
23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MAUI_PATCH _PATCHKEY(0x06)
24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short device_no;
24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int len;
24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char data[1];
24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert };
24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_NOTEOFF 0
24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_FMNOTEOFF SEQ_NOTEOFF
24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_NOTEON 1
24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_FMNOTEON SEQ_NOTEON
25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_WAIT TMR_WAIT_ABS
25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_PGMCHANGE 3
25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_FMPGMCHANGE SEQ_PGMCHANGE
25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_SYNCTIMER TMR_START
25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_MIDIPUTC 5
25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_DRUMON 6
25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_DRUMOFF 7
25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_ECHO TMR_ECHO
26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_AFTERTOUCH 9
26111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_CONTROLLER 10
26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_BANK_SELECT 0x00
26311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
26411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_MODWHEEL 0x01
26511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_BREATH 0x02
26611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_FOOT 0x04
26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_PORTAMENTO_TIME 0x05
26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_DATA_ENTRY 0x06
27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_MAIN_VOLUME 0x07
27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_BALANCE 0x08
27211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_PAN 0x0a
27311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
27411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_EXPRESSION 0x0b
27511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_GENERAL_PURPOSE1 0x10
27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_GENERAL_PURPOSE2 0x11
27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_GENERAL_PURPOSE3 0x12
27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_GENERAL_PURPOSE4 0x13
28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_DAMPER_PEDAL 0x40
28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_SUSTAIN 0x40
28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_HOLD 0x40
28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_PORTAMENTO 0x41
28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_SOSTENUTO 0x42
28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_SOFT_PEDAL 0x43
28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_HOLD2 0x45
28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_GENERAL_PURPOSE5 0x50
29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_GENERAL_PURPOSE6 0x51
29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_GENERAL_PURPOSE7 0x52
29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_GENERAL_PURPOSE8 0x53
29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_EXT_EFF_DEPTH 0x5b
29511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_TREMOLO_DEPTH 0x5c
29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_CHORUS_DEPTH 0x5d
29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_DETUNE_DEPTH 0x5e
29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_CELESTE_DEPTH 0x5e
30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_PHASER_DEPTH 0x5f
30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_DATA_INCREMENT 0x60
30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_DATA_DECREMENT 0x61
30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_NONREG_PARM_NUM_LSB 0x62
30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_NONREG_PARM_NUM_MSB 0x63
30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_REGIST_PARM_NUM_LSB 0x64
30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTL_REGIST_PARM_NUM_MSB 0x65
30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTRL_PITCH_BENDER 255
31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTRL_PITCH_BENDER_RANGE 254
31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTRL_EXPRESSION 253
31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CTRL_MAIN_VOLUME 252
31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_BALANCE 11
31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_VOLMODE 12
31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VOL_METHOD_ADAGIO 1
31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VOL_METHOD_LINEAR 2
31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_FULLSIZE 0xfd
32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_PRIVATE 0xfe
32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_EXTENDED 0xff
32211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef unsigned char sbi_instr_data[32];
32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct sbi_instrument {
32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short key;
32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FM_PATCH _PATCHKEY(0x01)
32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define OPL3_PATCH _PATCHKEY(0x03)
32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short device;
33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int channel;
33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert sbi_instr_data operators;
33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert };
33311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
33411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct synth_info {
33511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[30];
33611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int device;
33711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int synth_type;
33811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
33911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SYNTH_TYPE_FM 0
34011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SYNTH_TYPE_SAMPLE 1
34111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SYNTH_TYPE_MIDI 2
34211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int synth_subtype;
34311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FM_TYPE_ADLIB 0x00
34511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FM_TYPE_OPL3 0x01
34611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIDI_TYPE_MPU401 0x401
34711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SAMPLE_TYPE_BASIC 0x10
34811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SAMPLE_TYPE_GUS SAMPLE_TYPE_BASIC
35011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SAMPLE_TYPE_WAVEFRONT 0x11
35111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int perc_mode;
35211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int nr_voices;
35311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
35411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int nr_drums;
35511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int instr_bank_size;
35611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int capabilities;
35711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SYNTH_CAP_PERCMODE 0x00000001
35811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
35911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SYNTH_CAP_OPL3 0x00000002
36011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SYNTH_CAP_INPUT 0x00000004
36111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int dummies[19];
36211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert };
36311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
36411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct sound_timer_info {
36511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[32];
36611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int caps;
36711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert };
36811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
36911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIDI_CAP_MPU401 1
37011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct midi_info {
37111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[30];
37211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int device;
37311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
37411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int capabilities;
37511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int dev_type;
37611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int dummies[18];
37711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert };
37811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
37911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct {
38011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char cmd;
38111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char nr_args, nr_returns;
38211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char data[30];
38311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
38411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } mpu_command_rec;
38511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_MIDI_PRETIME _SIOWR('m', 0, int)
38611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_MIDI_MPUMODE _SIOWR('m', 1, int)
38711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_MIDI_MPUCMD _SIOWR('m', 2, mpu_command_rec)
38811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
38911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_RESET _SIO ('P', 0)
39011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_SYNC _SIO ('P', 1)
39111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_SPEED _SIOWR('P', 2, int)
39211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_STEREO _SIOWR('P', 3, int)
39311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETBLKSIZE _SIOWR('P', 4, int)
39511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_SAMPLESIZE SNDCTL_DSP_SETFMT
39611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_CHANNELS _SIOWR('P', 6, int)
39711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS
39811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_WRITE_FILTER _SIOWR('P', 7, int)
40011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_POST _SIO ('P', 8)
40111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_SUBDIVIDE _SIOWR('P', 9, int)
40211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_SETFRAGMENT _SIOWR('P',10, int)
40311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
40411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETFMTS _SIOR ('P',11, int)
40511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_SETFMT _SIOWR('P',5, int)
40611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_QUERY 0x00000000
40711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_MU_LAW 0x00000001
40811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
40911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_A_LAW 0x00000002
41011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_IMA_ADPCM 0x00000004
41111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_U8 0x00000008
41211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_S16_LE 0x00000010
41311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
41411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_S16_BE 0x00000020
41511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_S8 0x00000040
41611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_U16_LE 0x00000080
41711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_U16_BE 0x00000100
41811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
41911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_MPEG 0x00000200
42011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define AFMT_AC3 0x00000400
42111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct audio_buf_info {
42211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int fragments;
42311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
42411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int fragstotal;
42511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int fragsize;
42611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int bytes;
42711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } audio_buf_info;
42811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
42911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETOSPACE _SIOR ('P',12, audio_buf_info)
43011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETISPACE _SIOR ('P',13, audio_buf_info)
43111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_NONBLOCK _SIO ('P',14)
43211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETCAPS _SIOR ('P',15, int)
43311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
43411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_CAP_REVISION 0x000000ff
43511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_CAP_DUPLEX 0x00000100
43611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_CAP_REALTIME 0x00000200
43711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_CAP_BATCH 0x00000400
43811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
43911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_CAP_COPROC 0x00000800
44011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_CAP_TRIGGER 0x00001000
44111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_CAP_MMAP 0x00002000
44211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_CAP_MULTI 0x00004000
44311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_CAP_BIND 0x00008000
44511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETTRIGGER _SIOR ('P',16, int)
44611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_SETTRIGGER _SIOW ('P',16, int)
44711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCM_ENABLE_INPUT 0x00000001
44811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCM_ENABLE_OUTPUT 0x00000002
45011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct count_info {
45111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int bytes;
45211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int blocks;
45311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
45411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int ptr;
45511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } count_info;
45611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETIPTR _SIOR ('P',17, count_info)
45711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETOPTR _SIOR ('P',18, count_info)
45811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
45911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct buffmem_desc {
46011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned *buffer;
46111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int size;
46211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } buffmem_desc;
46311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
46411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_MAPINBUF _SIOR ('P', 19, buffmem_desc)
46511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_MAPOUTBUF _SIOR ('P', 20, buffmem_desc)
46611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_SETSYNCRO _SIO ('P', 21)
46711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_SETDUPLEX _SIO ('P', 22)
46811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
46911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETODELAY _SIOR ('P', 23, int)
47011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETCHANNELMASK _SIOWR('P', 64, int)
47111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_BIND_CHANNEL _SIOWR('P', 65, int)
47211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_BIND_QUERY 0x00000000
47311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
47411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_BIND_FRONT 0x00000001
47511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_BIND_SURR 0x00000002
47611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_BIND_CENTER_LFE 0x00000004
47711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_BIND_HANDSET 0x00000008
47811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
47911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_BIND_MIC 0x00000010
48011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_BIND_MODEM1 0x00000020
48111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_BIND_MODEM2 0x00000040
48211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_BIND_I2S 0x00000080
48311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
48411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DSP_BIND_SPDIF 0x00000100
48511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_SETSPDIF _SIOW ('P', 66, int)
48611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_GETSPDIF _SIOR ('P', 67, int)
48711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SPDIF_PRO 0x0001
48811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
48911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SPDIF_N_AUD 0x0002
49011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SPDIF_COPY 0x0004
49111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SPDIF_PRE 0x0008
49211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SPDIF_CC 0x07f0
49311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SPDIF_L 0x0800
49511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SPDIF_DRS 0x4000
49611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SPDIF_V 0x8000
49711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_DSP_PROFILE _SIOW ('P', 23, int)
49811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define APF_NORMAL 0
50011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define APF_NETWORK 1
50111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define APF_CPUINTENS 2
50211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_READ_RATE _SIOR ('P', 2, int)
50311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
50411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_READ_CHANNELS _SIOR ('P', 6, int)
50511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_READ_BITS _SIOR ('P', 5, int)
50611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_READ_FILTER _SIOR ('P', 7, int)
50711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_WRITE_BITS SNDCTL_DSP_SETFMT
50811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
50911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_WRITE_RATE SNDCTL_DSP_SPEED
51011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_POST SNDCTL_DSP_POST
51111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_RESET SNDCTL_DSP_RESET
51211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_SYNC SNDCTL_DSP_SYNC
51311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
51411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_SUBDIVIDE SNDCTL_DSP_SUBDIVIDE
51511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_SETFRAGMENT SNDCTL_DSP_SETFRAGMENT
51611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_GETFMTS SNDCTL_DSP_GETFMTS
51711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_SETFMT SNDCTL_DSP_SETFMT
51811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
51911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_GETOSPACE SNDCTL_DSP_GETOSPACE
52011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_GETISPACE SNDCTL_DSP_GETISPACE
52111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_NONBLOCK SNDCTL_DSP_NONBLOCK
52211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_GETCAPS SNDCTL_DSP_GETCAPS
52311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
52411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_GETTRIGGER SNDCTL_DSP_GETTRIGGER
52511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_SETTRIGGER SNDCTL_DSP_SETTRIGGER
52611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_SETSYNCRO SNDCTL_DSP_SETSYNCRO
52711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_GETIPTR SNDCTL_DSP_GETIPTR
52811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
52911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_GETOPTR SNDCTL_DSP_GETOPTR
53011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_MAPINBUF SNDCTL_DSP_MAPINBUF
53111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_PCM_MAPOUTBUF SNDCTL_DSP_MAPOUTBUF
53211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct copr_buffer {
53311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
53411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int command;
53511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int flags;
53611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CPF_NONE 0x0000
53711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CPF_FIRST 0x0001
53811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
53911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CPF_LAST 0x0002
54011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int len;
54111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int offs;
54211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char data[4000];
54311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } copr_buffer;
54511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct copr_debug_buf {
54611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int command;
54711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int parm1;
54811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int parm2;
55011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int flags;
55111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int len;
55211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } copr_debug_buf;
55311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
55411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct copr_msg {
55511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int len;
55611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char data[4000];
55711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } copr_msg;
55811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
55911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_COPR_RESET _SIO ('C', 0)
56011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_COPR_LOAD _SIOWR('C', 1, copr_buffer)
56111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_COPR_RDATA _SIOWR('C', 2, copr_debug_buf)
56211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_COPR_RCODE _SIOWR('C', 3, copr_debug_buf)
56311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
56411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_COPR_WDATA _SIOW ('C', 4, copr_debug_buf)
56511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_COPR_WCODE _SIOW ('C', 5, copr_debug_buf)
56611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_COPR_RUN _SIOWR('C', 6, copr_debug_buf)
56711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_COPR_HALT _SIOWR('C', 7, copr_debug_buf)
56811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
56911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_COPR_SENDMSG _SIOWR('C', 8, copr_msg)
57011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SNDCTL_COPR_RCVMSG _SIOR ('C', 9, copr_msg)
57111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_NRDEVICES 25
57211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_VOLUME 0
57311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
57411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_BASS 1
57511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_TREBLE 2
57611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_SYNTH 3
57711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_PCM 4
57811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
57911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_SPEAKER 5
58011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_LINE 6
58111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_MIC 7
58211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_CD 8
58311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
58411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_IMIX 9
58511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_ALTPCM 10
58611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_RECLEV 11
58711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_IGAIN 12
58811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
58911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_OGAIN 13
59011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_LINE1 14
59111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_LINE2 15
59211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_LINE3 16
59311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_DIGITAL1 17
59511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_DIGITAL2 18
59611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_DIGITAL3 19
59711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_PHONEIN 20
59811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_PHONEOUT 21
60011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_VIDEO 22
60111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_RADIO 23
60211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_MONITOR 24
60311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
60411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_ONOFF_MIN 28
60511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_ONOFF_MAX 30
60611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_NONE 31
60711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_ENHANCE SOUND_MIXER_NONE
60811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
60911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_MUTE SOUND_MIXER_NONE
61011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_LOUD SOUND_MIXER_NONE
61111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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"}
61211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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"}
61311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
61411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_RECSRC 0xff
61511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_DEVMASK 0xfe
61611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_RECMASK 0xfd
61711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_CAPS 0xfc
61811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
61911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_CAP_EXCL_INPUT 0x00000001
62011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_STEREODEVS 0xfb
62111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_OUTSRC 0xfa
62211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_OUTMASK 0xf9
62311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
62411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_VOLUME (1 << SOUND_MIXER_VOLUME)
62511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_BASS (1 << SOUND_MIXER_BASS)
62611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_TREBLE (1 << SOUND_MIXER_TREBLE)
62711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_SYNTH (1 << SOUND_MIXER_SYNTH)
62811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
62911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_PCM (1 << SOUND_MIXER_PCM)
63011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_SPEAKER (1 << SOUND_MIXER_SPEAKER)
63111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_LINE (1 << SOUND_MIXER_LINE)
63211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_MIC (1 << SOUND_MIXER_MIC)
63311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
63411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_CD (1 << SOUND_MIXER_CD)
63511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_IMIX (1 << SOUND_MIXER_IMIX)
63611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_ALTPCM (1 << SOUND_MIXER_ALTPCM)
63711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_RECLEV (1 << SOUND_MIXER_RECLEV)
63811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
63911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_IGAIN (1 << SOUND_MIXER_IGAIN)
64011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_OGAIN (1 << SOUND_MIXER_OGAIN)
64111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_LINE1 (1 << SOUND_MIXER_LINE1)
64211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_LINE2 (1 << SOUND_MIXER_LINE2)
64311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_LINE3 (1 << SOUND_MIXER_LINE3)
64511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_DIGITAL1 (1 << SOUND_MIXER_DIGITAL1)
64611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_DIGITAL2 (1 << SOUND_MIXER_DIGITAL2)
64711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_DIGITAL3 (1 << SOUND_MIXER_DIGITAL3)
64811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_PHONEIN (1 << SOUND_MIXER_PHONEIN)
65011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_PHONEOUT (1 << SOUND_MIXER_PHONEOUT)
65111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_RADIO (1 << SOUND_MIXER_RADIO)
65211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_VIDEO (1 << SOUND_MIXER_VIDEO)
65311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
65411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_MONITOR (1 << SOUND_MIXER_MONITOR)
65511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_MUTE (1 << SOUND_MIXER_MUTE)
65611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_ENHANCE (1 << SOUND_MIXER_ENHANCE)
65711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MASK_LOUD (1 << SOUND_MIXER_LOUD)
65811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
65911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIXER_READ(dev) _SIOR('M', dev, int)
66011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME)
66111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_BASS MIXER_READ(SOUND_MIXER_BASS)
66211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_TREBLE MIXER_READ(SOUND_MIXER_TREBLE)
66311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
66411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_SYNTH MIXER_READ(SOUND_MIXER_SYNTH)
66511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_PCM MIXER_READ(SOUND_MIXER_PCM)
66611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_SPEAKER MIXER_READ(SOUND_MIXER_SPEAKER)
66711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_LINE MIXER_READ(SOUND_MIXER_LINE)
66811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
66911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_MIC MIXER_READ(SOUND_MIXER_MIC)
67011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_CD MIXER_READ(SOUND_MIXER_CD)
67111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_IMIX MIXER_READ(SOUND_MIXER_IMIX)
67211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_ALTPCM MIXER_READ(SOUND_MIXER_ALTPCM)
67311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
67411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_RECLEV MIXER_READ(SOUND_MIXER_RECLEV)
67511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_IGAIN MIXER_READ(SOUND_MIXER_IGAIN)
67611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_OGAIN MIXER_READ(SOUND_MIXER_OGAIN)
67711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_LINE1 MIXER_READ(SOUND_MIXER_LINE1)
67811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
67911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_LINE2 MIXER_READ(SOUND_MIXER_LINE2)
68011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_LINE3 MIXER_READ(SOUND_MIXER_LINE3)
68111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_MUTE MIXER_READ(SOUND_MIXER_MUTE)
68211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_ENHANCE MIXER_READ(SOUND_MIXER_ENHANCE)
68311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
68411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_LOUD MIXER_READ(SOUND_MIXER_LOUD)
68511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_RECSRC MIXER_READ(SOUND_MIXER_RECSRC)
68611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_DEVMASK MIXER_READ(SOUND_MIXER_DEVMASK)
68711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_RECMASK MIXER_READ(SOUND_MIXER_RECMASK)
68811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
68911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_STEREODEVS MIXER_READ(SOUND_MIXER_STEREODEVS)
69011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_READ_CAPS MIXER_READ(SOUND_MIXER_CAPS)
69111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIXER_WRITE(dev) _SIOWR('M', dev, int)
69211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_VOLUME MIXER_WRITE(SOUND_MIXER_VOLUME)
69311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_BASS MIXER_WRITE(SOUND_MIXER_BASS)
69511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_TREBLE MIXER_WRITE(SOUND_MIXER_TREBLE)
69611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_SYNTH MIXER_WRITE(SOUND_MIXER_SYNTH)
69711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_PCM MIXER_WRITE(SOUND_MIXER_PCM)
69811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_SPEAKER MIXER_WRITE(SOUND_MIXER_SPEAKER)
70011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_LINE MIXER_WRITE(SOUND_MIXER_LINE)
70111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_MIC MIXER_WRITE(SOUND_MIXER_MIC)
70211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_CD MIXER_WRITE(SOUND_MIXER_CD)
70311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
70411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_IMIX MIXER_WRITE(SOUND_MIXER_IMIX)
70511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_ALTPCM MIXER_WRITE(SOUND_MIXER_ALTPCM)
70611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_RECLEV MIXER_WRITE(SOUND_MIXER_RECLEV)
70711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_IGAIN MIXER_WRITE(SOUND_MIXER_IGAIN)
70811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
70911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_OGAIN MIXER_WRITE(SOUND_MIXER_OGAIN)
71011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_LINE1 MIXER_WRITE(SOUND_MIXER_LINE1)
71111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_LINE2 MIXER_WRITE(SOUND_MIXER_LINE2)
71211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_LINE3 MIXER_WRITE(SOUND_MIXER_LINE3)
71311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
71411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_MUTE MIXER_WRITE(SOUND_MIXER_MUTE)
71511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_ENHANCE MIXER_WRITE(SOUND_MIXER_ENHANCE)
71611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_LOUD MIXER_WRITE(SOUND_MIXER_LOUD)
71711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_WRITE_RECSRC MIXER_WRITE(SOUND_MIXER_RECSRC)
71811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
71911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct mixer_info
72011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
72111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char id[16];
72211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[32];
72311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
72411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int modify_counter;
72511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int fillers[10];
72611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} mixer_info;
72711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct _old_mixer_info
72811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
72911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
73011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char id[16];
73111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[32];
73211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} _old_mixer_info;
73311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
73411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_INFO _SIOR ('M', 101, mixer_info)
73511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_OLD_MIXER_INFO _SIOR ('M', 101, _old_mixer_info)
73611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef unsigned char mixer_record[128];
73711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_ACCESS _SIOWR('M', 102, mixer_record)
73811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
73911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_AGC _SIOWR('M', 103, int)
74011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_3DSE _SIOWR('M', 104, int)
74111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_PRIVATE1 _SIOWR('M', 111, int)
74211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_PRIVATE2 _SIOWR('M', 112, int)
74311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_PRIVATE3 _SIOWR('M', 113, int)
74511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_PRIVATE4 _SIOWR('M', 114, int)
74611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_PRIVATE5 _SIOWR('M', 115, int)
74711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct mixer_vol_table {
74811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int num;
75011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[32];
75111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int levels[32];
75211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} mixer_vol_table;
75311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
75411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_GETLEVELS _SIOWR('M', 116, mixer_vol_table)
75511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SOUND_MIXER_SETLEVELS _SIOWR('M', 117, mixer_vol_table)
75611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define OSS_GETVERSION _SIOR ('M', 118, int)
75711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_SEQ_LOCAL 0x80
75811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
75911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_TIMING 0x81
76011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_CHN_COMMON 0x92
76111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_CHN_VOICE 0x93
76211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_SYSEX 0x94
76311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
76411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIDI_NOTEOFF 0x80
76511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIDI_NOTEON 0x90
76611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIDI_KEY_PRESSURE 0xA0
76711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIDI_CTL_CHANGE 0xB0
76811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
76911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIDI_PGM_CHANGE 0xC0
77011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIDI_CHN_PRESSURE 0xD0
77111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIDI_PITCH_BEND 0xE0
77211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIDI_SYSTEM_PREFIX 0xF0
77311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
77411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_WAIT_REL 1
77511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_WAIT_ABS 2
77611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_STOP 3
77711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_START 4
77811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
77911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_CONTINUE 5
78011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_TEMPO 6
78111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_ECHO 8
78211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_CLOCK 9
78311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
78411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_SPP 10
78511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TMR_TIMESIG 11
78611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LOCL_STARTAUDIO 1
78711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_DECLAREBUF() SEQ_USE_EXTBUF()
78811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
78911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_PM_DEFINES int __foo_bar___
79011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_LOAD_GMINSTR(dev, instr)
79111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_LOAD_GMDRUM(dev, drum)
79211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SEQ_EXTERN extern
79311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_USE_EXTBUF()   _SEQ_EXTERN unsigned char _seqbuf[];   _SEQ_EXTERN int _seqbuflen; _SEQ_EXTERN int _seqbufptr
79511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef USE_SIMPLE_MACROS
79611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len;int _seqbufptr = 0
79711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SEQ_NEEDBUF(len) if ((_seqbufptr+(len)) > _seqbuflen) seqbuf_dump()
79811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SEQ_ADVBUF(len) _seqbufptr += len
80011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_DUMPBUF seqbuf_dump
80111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else
80211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SEQ_NEEDBUF(len)
80311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
80411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
80511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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);}
80611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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);}
80711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_START_NOTE(dev, chn, note, vol)   _CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol)
80811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
80911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_STOP_NOTE(dev, chn, note, vol)   _CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol)
81011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_KEY_PRESSURE(dev, chn, note, pressure)   _CHN_VOICE(dev, MIDI_KEY_PRESSURE, chn, note, pressure)
81111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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);}
81211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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);}
81311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
81411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_CHN_PRESSURE(dev, chn, pressure)   _CHN_COMMON(dev, MIDI_CHN_PRESSURE, chn, pressure, 0, 0)
81511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_SET_PATCH SEQ_PGM_CHANGE
81611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_PGM_CHANGE(dev, chn, patch)   _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0)
81711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_CONTROL(dev, chn, controller, value)   _CHN_COMMON(dev, MIDI_CTL_CHANGE, chn, controller, 0, value)
81811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
81911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_BENDER(dev, chn, value)   _CHN_COMMON(dev, MIDI_PITCH_BEND, chn, 0, 0, value)
82011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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);}
82111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_PITCHBEND(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value)
82211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_BENDER_RANGE(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value)
82311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
82411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_EXPRESSION(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_EXPRESSION, value*128)
82511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_MAIN_VOLUME(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_MAIN_VOLUME, (value*16383)/100)
82611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_PANNING(dev, voice, pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos+128) / 2)
82711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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);}
82811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
82911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_START_TIMER() _TIMER_EVENT(TMR_START, 0)
83011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_STOP_TIMER() _TIMER_EVENT(TMR_STOP, 0)
83111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_CONTINUE_TIMER() _TIMER_EVENT(TMR_CONTINUE, 0)
83211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_WAIT_TIME(ticks) _TIMER_EVENT(TMR_WAIT_ABS, ticks)
83311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
83411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_DELTA_TIME(ticks) _TIMER_EVENT(TMR_WAIT_REL, ticks)
83511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_ECHO_BACK(key) _TIMER_EVENT(TMR_ECHO, key)
83611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_SET_TEMPO(value) _TIMER_EVENT(TMR_TEMPO, value)
83711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_SONGPOS(pos) _TIMER_EVENT(TMR_SPP, pos)
83811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
83911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_TIME_SIGNATURE(sig) _TIMER_EVENT(TMR_TIMESIG, sig)
84011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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);}
84111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_PLAYAUDIO(devmask) _LOCAL_EVENT(LOCL_STARTAUDIO, devmask)
84211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#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);}
84311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_WRPATCH(patchx, len)   {if (_seqbufptr) SEQ_DUMPBUF();  if (write(seqfd, (char*)(patchx), len)==-1)   perror("Write patch: /dev/sequencer");}
84511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SEQ_WRPATCH2(patchx, len)   (SEQ_DUMPBUF(), write(seqfd, (char*)(patchx), len))
84611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
847