1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPISOUNDCARD_H
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPISOUNDCARD_H
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_VERSION 0x030802
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define OPEN_SOUND_SYSTEM
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/ioctl.h>
25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <endian.h>
26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_ADLIB 1
27655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_SB 2
28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_PAS 3
30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_GUS 4
31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_MPU401 5
32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_SB16 6
33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_SB16MIDI 7
35655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_UART6850 8
36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_GUS16 9
37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_MSS 10
38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_PSS 11
40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_SSCAPE 12
41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_PSS_MPU 13
42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_PSS_MSS 14
43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_SSCAPE_MSS 15
45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_TRXPRO 16
46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_TRXPRO_SB 17
47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_TRXPRO_MPU 18
48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_MAD16 19
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_MAD16_MPU 20
51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_CS4232 21
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_CS4232_MPU 22
53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_MAUI 23
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_PSEUDO_MSS 24
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_GUSPNP 25
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCARD_UART401 26
58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _SIOWR
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#if defined(_IOWR) && (defined(_AIX) || !defined(sun) && !defined(sparc) && !defined(__sparc__) && !defined(__INCioctlh) && !defined(__Lynx__))
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCPARM_MASK IOCPARM_MASK
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOC_VOID IOC_VOID
63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOC_OUT IOC_OUT
65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOC_IN IOC_IN
66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOC_INOUT IOC_INOUT
67655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOC_SIZE _IOC_SIZE
68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOC_DIR _IOC_DIR
70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOC_NONE _IOC_NONE
71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOC_READ _IOC_READ
72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOC_WRITE _IOC_WRITE
73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIO _IO
75655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOR _IOR
76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOW _IOW
77655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOWR _IOWR
78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#else
80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOCPARM_MASK 0x1fff
81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOC_VOID 0x00000000
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOC_OUT 0x20000000
83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SIOC_IN 0x40000000
85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SIOC_INOUT (SIOC_IN | SIOC_OUT)
86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define _SIO(x,y) ((int) (SIOC_VOID | (x << 8) | y))
87d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define _SIOR(x,y,t) ((int) (SIOC_OUT | ((sizeof(t) & SIOCPARM_MASK) << 16) | (x << 8) | y))
88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define _SIOW(x,y,t) ((int) (SIOC_IN | ((sizeof(t) & SIOCPARM_MASK) << 16) | (x << 8) | y))
90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define _SIOWR(x,y,t) ((int) (SIOC_INOUT | ((sizeof(t) & SIOCPARM_MASK) << 16) | (x << 8) | y))
91d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define _SIOC_SIZE(x) ((x >> 16) & SIOCPARM_MASK)
92655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOC_DIR(x) (x & 0xf0000000)
93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOC_NONE SIOC_VOID
95655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOC_READ SIOC_OUT
96655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SIOC_WRITE SIOC_IN
97655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
98655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
100d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_RESET _SIO('Q', 0)
101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_SYNC _SIO('Q', 1)
102655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_SYNTH_INFO _SIOWR('Q', 2, struct synth_info)
103655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int)
105d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_GETOUTCOUNT _SIOR('Q', 4, int)
106d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_GETINCOUNT _SIOR('Q', 5, int)
107d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_PERCMODE _SIOW('Q', 6, int)
108d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_FM_LOAD_INSTR _SIOW('Q', 7, struct sbi_instrument)
110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_TESTMIDI _SIOW('Q', 8, int)
111d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_RESETSAMPLES _SIOW('Q', 9, int)
112d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_NRSYNTHS _SIOR('Q', 10, int)
113d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_NRMIDIS _SIOR('Q', 11, int)
115d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_MIDI_INFO _SIOWR('Q', 12, struct midi_info)
116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_THRESHOLD _SIOW('Q', 13, int)
117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SYNTH_MEMAVL _SIOWR('Q', 14, int)
118d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_FM_4OP_ENABLE _SIOW('Q', 15, int)
120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_PANIC _SIO('Q', 17)
121d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_OUTOFBAND _SIOW('Q', 18, struct seq_event_rec)
122d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SEQ_GETTIME _SIOR('Q', 19, int)
123d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SYNTH_ID _SIOWR('Q', 20, struct synth_info)
125d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SYNTH_CONTROL _SIOWR('Q', 21, struct synth_control)
126d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_SYNTH_REMOVESAMPLE _SIOWR('Q', 22, struct remove_sample)
127d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baotypedef struct synth_control {
128d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int devno;
130d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char data[4000];
131d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao} synth_control;
132d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baotypedef struct remove_sample {
133d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int devno;
135d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int bankno;
136d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int instrno;
137655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} remove_sample;
138655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baotypedef struct seq_event_rec {
140d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char arr[8];
141655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} seq_event_rec;
142655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_TMR_TIMEBASE _SIOWR('T', 1, int)
143655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_TMR_START _SIO('T', 2)
145d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_TMR_STOP _SIO('T', 3)
146d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_TMR_CONTINUE _SIO('T', 4)
147655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_TMR_TEMPO _SIOWR('T', 5, int)
148d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_TMR_SOURCE _SIOWR('T', 6, int)
150655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_INTERNAL 0x00000001
151655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_EXTERNAL 0x00000002
152655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_MODE_MIDI 0x00000010
153d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_MODE_FSK 0x00000020
155655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_MODE_CLS 0x00000040
156655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_MODE_SMPTE 0x00000080
157d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_TMR_METRONOME _SIOW('T', 7, int)
158655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_TMR_SELECT _SIOW('T', 8, int)
160d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define _LINUX_PATCHKEY_H_INDIRECT
161655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/patchkey.h>
162655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#undef _LINUX_PATCHKEY_H_INDIRECT
163d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifdef __BYTE_ORDER
165655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#if __BYTE_ORDER == __BIG_ENDIAN
166655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_S16_NE AFMT_S16_BE
167d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#elif __BYTE_ORDER==__LITTLE_ENDIAN
168d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_S16_NE AFMT_S16_LE
170655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#else
171655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#error "could not determine byte order"
172655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
173d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
175655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct patch_info {
176d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short key;
177655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_PATCH _PATCHKEY(0x04)
178d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define GUS_PATCH WAVE_PATCH
180655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVEFRONT_PATCH _PATCHKEY(0x06)
181d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short device_no;
182d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short instr_no;
183655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int mode;
185655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_16_BITS 0x01
186655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_UNSIGNED 0x02
187655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_LOOPING 0x04
188d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_BIDIR_LOOP 0x08
190655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_LOOP_BACK 0x10
191655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_SUSTAIN_ON 0x20
192655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_ENVELOPES 0x40
193d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_FAST_RELEASE 0x80
195655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_VIBRATO 0x00010000
196655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_TREMOLO 0x00020000
197655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_SCALE 0x00040000
198d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_FRACTIONS 0x00080000
200655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_ROM 0x40000000
201655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define WAVE_MULAW 0x20000000
202d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int len;
203d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int loop_start, loop_end;
205d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int base_freq;
206d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int base_note;
207d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int high_note;
208d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int low_note;
210d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int panning;
211d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int detuning;
212d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char env_rate[6];
213d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char env_offset[6];
215d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char tremolo_sweep;
216d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char tremolo_rate;
217d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char tremolo_depth;
218d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char vibrato_sweep;
220d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char vibrato_rate;
221d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char vibrato_depth;
222d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int scale_frequency;
223d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int scale_factor;
225d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int volume;
226d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int fractions;
227d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int reserved1;
228d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int spare[2];
230d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char data[1];
231d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao};
232655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct sysex_info {
233655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short key;
235d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SYSEX_PATCH _PATCHKEY(0x05)
236655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MAUI_PATCH _PATCHKEY(0x06)
237d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short device_no;
238655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int len;
240d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char data[1];
241d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao};
242655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_NOTEOFF 0
243d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_FMNOTEOFF SEQ_NOTEOFF
245655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_NOTEON 1
246655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_FMNOTEON SEQ_NOTEON
247655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_WAIT TMR_WAIT_ABS
248d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_PGMCHANGE 3
250655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_FMPGMCHANGE SEQ_PGMCHANGE
251655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_SYNCTIMER TMR_START
252655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_MIDIPUTC 5
253d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_DRUMON 6
255655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_DRUMOFF 7
256655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_ECHO TMR_ECHO
257655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_AFTERTOUCH 9
258d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_CONTROLLER 10
260655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_BANK_SELECT 0x00
261655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_MODWHEEL 0x01
262655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_BREATH 0x02
263d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_FOOT 0x04
265655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_PORTAMENTO_TIME 0x05
266655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_DATA_ENTRY 0x06
267655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_MAIN_VOLUME 0x07
268d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_BALANCE 0x08
270655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_PAN 0x0a
271655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_EXPRESSION 0x0b
272655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_GENERAL_PURPOSE1 0x10
273d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_GENERAL_PURPOSE2 0x11
275655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_GENERAL_PURPOSE3 0x12
276655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_GENERAL_PURPOSE4 0x13
277655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_DAMPER_PEDAL 0x40
278d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_SUSTAIN 0x40
280655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_HOLD 0x40
281655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_PORTAMENTO 0x41
282655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_SOSTENUTO 0x42
283d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_SOFT_PEDAL 0x43
285655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_HOLD2 0x45
286655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_GENERAL_PURPOSE5 0x50
287655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_GENERAL_PURPOSE6 0x51
288d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_GENERAL_PURPOSE7 0x52
290655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_GENERAL_PURPOSE8 0x53
291655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_EXT_EFF_DEPTH 0x5b
292655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_TREMOLO_DEPTH 0x5c
293d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_CHORUS_DEPTH 0x5d
295655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_DETUNE_DEPTH 0x5e
296655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_CELESTE_DEPTH 0x5e
297655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_PHASER_DEPTH 0x5f
298d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_DATA_INCREMENT 0x60
300655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_DATA_DECREMENT 0x61
301655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_NONREG_PARM_NUM_LSB 0x62
302655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_NONREG_PARM_NUM_MSB 0x63
303d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_REGIST_PARM_NUM_LSB 0x64
305655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTL_REGIST_PARM_NUM_MSB 0x65
306655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTRL_PITCH_BENDER 255
307655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTRL_PITCH_BENDER_RANGE 254
308d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTRL_EXPRESSION 253
310655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CTRL_MAIN_VOLUME 252
311655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_BALANCE 11
312655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_VOLMODE 12
313d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VOL_METHOD_ADAGIO 1
315655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define VOL_METHOD_LINEAR 2
316655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_FULLSIZE 0xfd
317655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_PRIVATE 0xfe
318d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_EXTENDED 0xff
320655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef unsigned char sbi_instr_data[32];
321655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct sbi_instrument {
322d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short key;
323d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FM_PATCH _PATCHKEY(0x01)
325655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define OPL3_PATCH _PATCHKEY(0x03)
326d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short device;
327d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int channel;
328655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  sbi_instr_data operators;
330d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao};
331655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct synth_info {
332d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char name[30];
333655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int device;
335d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int synth_type;
336655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SYNTH_TYPE_FM 0
337655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SYNTH_TYPE_SAMPLE 1
338655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SYNTH_TYPE_MIDI 2
340d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int synth_subtype;
341655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FM_TYPE_ADLIB 0x00
342655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FM_TYPE_OPL3 0x01
343d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIDI_TYPE_MPU401 0x401
345655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SAMPLE_TYPE_BASIC 0x10
346655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SAMPLE_TYPE_GUS SAMPLE_TYPE_BASIC
347655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SAMPLE_TYPE_WAVEFRONT 0x11
348655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int perc_mode;
350d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int nr_voices;
351d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int nr_drums;
352d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int instr_bank_size;
353655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int capabilities;
355d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SYNTH_CAP_PERCMODE 0x00000001
356655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SYNTH_CAP_OPL3 0x00000002
357655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SYNTH_CAP_INPUT 0x00000004
358655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int dummies[19];
360d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao};
361655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct sound_timer_info {
362d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char name[32];
363655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int caps;
365d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao};
366655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIDI_CAP_MPU401 1
367655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct midi_info {
368655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char name[30];
370d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int device;
371d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int capabilities;
372d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int dev_type;
373655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int dummies[18];
375d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao};
376655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct {
377d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char cmd;
378655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char nr_args, nr_returns;
380d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char data[30];
381d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao} mpu_command_rec;
382655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_MIDI_PRETIME _SIOWR('m', 0, int)
383d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_MIDI_MPUMODE _SIOWR('m', 1, int)
385655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_MIDI_MPUCMD _SIOWR('m', 2, mpu_command_rec)
386d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_RESET _SIO('P', 0)
387d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_SYNC _SIO('P', 1)
388655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_DSP_SPEED _SIOWR('P', 2, int)
390655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_DSP_STEREO _SIOWR('P', 3, int)
391655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_DSP_GETBLKSIZE _SIOWR('P', 4, int)
392655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_DSP_SAMPLESIZE SNDCTL_DSP_SETFMT
393d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_DSP_CHANNELS _SIOWR('P', 6, int)
395655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS
396655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_WRITE_FILTER _SIOWR('P', 7, int)
397d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_POST _SIO('P', 8)
398d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_DSP_SUBDIVIDE _SIOWR('P', 9, int)
400d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_SETFRAGMENT _SIOWR('P', 10, int)
401d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_GETFMTS _SIOR('P', 11, int)
402d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_SETFMT _SIOWR('P', 5, int)
403655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_QUERY 0x00000000
405655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_MU_LAW 0x00000001
406655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_A_LAW 0x00000002
407655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_IMA_ADPCM 0x00000004
408d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_U8 0x00000008
410655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_S16_LE 0x00000010
411655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_S16_BE 0x00000020
412655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_S8 0x00000040
413d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_U16_LE 0x00000080
415655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_U16_BE 0x00000100
416655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_MPEG 0x00000200
417655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define AFMT_AC3 0x00000400
418655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baotypedef struct audio_buf_info {
420d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int fragments;
421d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int fragstotal;
422d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int fragsize;
423655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int bytes;
425d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao} audio_buf_info;
426d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_GETOSPACE _SIOR('P', 12, audio_buf_info)
427d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_GETISPACE _SIOR('P', 13, audio_buf_info)
428655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_NONBLOCK _SIO('P', 14)
430d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_GETCAPS _SIOR('P', 15, int)
431655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_CAP_REVISION 0x000000ff
432655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_CAP_DUPLEX 0x00000100
433d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_CAP_REALTIME 0x00000200
435655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_CAP_BATCH 0x00000400
436655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_CAP_COPROC 0x00000800
437655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_CAP_TRIGGER 0x00001000
438d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_CAP_MMAP 0x00002000
440655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_CAP_MULTI 0x00004000
441655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_CAP_BIND 0x00008000
442d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_GETTRIGGER _SIOR('P', 16, int)
443655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_SETTRIGGER _SIOW('P', 16, int)
445d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define PCM_ENABLE_INPUT 0x00000001
446655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PCM_ENABLE_OUTPUT 0x00000002
447655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct count_info {
448655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int bytes;
450d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int blocks;
451d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int ptr;
452d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao} count_info;
453655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_GETIPTR _SIOR('P', 17, count_info)
455d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_GETOPTR _SIOR('P', 18, count_info)
456655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct buffmem_desc {
457d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned * buffer;
458655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int size;
460d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao} buffmem_desc;
461d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_MAPINBUF _SIOR('P', 19, buffmem_desc)
462d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_MAPOUTBUF _SIOR('P', 20, buffmem_desc)
463655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_SETSYNCRO _SIO('P', 21)
465d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_SETDUPLEX _SIO('P', 22)
466d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_GETODELAY _SIOR('P', 23, int)
467655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_DSP_GETCHANNELMASK _SIOWR('P', 64, int)
468d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_DSP_BIND_CHANNEL _SIOWR('P', 65, int)
470655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_BIND_QUERY 0x00000000
471655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_BIND_FRONT 0x00000001
472655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_BIND_SURR 0x00000002
473d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_BIND_CENTER_LFE 0x00000004
475655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_BIND_HANDSET 0x00000008
476655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_BIND_MIC 0x00000010
477655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_BIND_MODEM1 0x00000020
478d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_BIND_MODEM2 0x00000040
480655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_BIND_I2S 0x00000080
481655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DSP_BIND_SPDIF 0x00000100
482d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_SETSPDIF _SIOW('P', 66, int)
483655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_GETSPDIF _SIOR('P', 67, int)
485d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SPDIF_PRO 0x0001
486655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SPDIF_N_AUD 0x0002
487655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SPDIF_COPY 0x0004
488d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SPDIF_PRE 0x0008
490655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SPDIF_CC 0x07f0
491655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SPDIF_L 0x0800
492655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SPDIF_DRS 0x4000
493655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SPDIF_V 0x8000
495d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_DSP_PROFILE _SIOW('P', 23, int)
496655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define APF_NORMAL 0
497655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define APF_NETWORK 1
498d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define APF_CPUINTENS 2
500d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SOUND_PCM_READ_RATE _SIOR('P', 2, int)
501d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SOUND_PCM_READ_CHANNELS _SIOR('P', 6, int)
502d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SOUND_PCM_READ_BITS _SIOR('P', 5, int)
503655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SOUND_PCM_READ_FILTER _SIOR('P', 7, int)
505655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_WRITE_BITS SNDCTL_DSP_SETFMT
506655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_WRITE_RATE SNDCTL_DSP_SPEED
507655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_POST SNDCTL_DSP_POST
508d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_RESET SNDCTL_DSP_RESET
510655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_SYNC SNDCTL_DSP_SYNC
511655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_SUBDIVIDE SNDCTL_DSP_SUBDIVIDE
512655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_SETFRAGMENT SNDCTL_DSP_SETFRAGMENT
513d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_GETFMTS SNDCTL_DSP_GETFMTS
515655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_SETFMT SNDCTL_DSP_SETFMT
516655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_GETOSPACE SNDCTL_DSP_GETOSPACE
517655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_GETISPACE SNDCTL_DSP_GETISPACE
518d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_NONBLOCK SNDCTL_DSP_NONBLOCK
520655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_GETCAPS SNDCTL_DSP_GETCAPS
521655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_GETTRIGGER SNDCTL_DSP_GETTRIGGER
522655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_SETTRIGGER SNDCTL_DSP_SETTRIGGER
523d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_SETSYNCRO SNDCTL_DSP_SETSYNCRO
525655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_GETIPTR SNDCTL_DSP_GETIPTR
526655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_GETOPTR SNDCTL_DSP_GETOPTR
527655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_MAPINBUF SNDCTL_DSP_MAPINBUF
528d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_PCM_MAPOUTBUF SNDCTL_DSP_MAPOUTBUF
530655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct copr_buffer {
531d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int command;
532d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int flags;
533655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CPF_NONE 0x0000
535655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CPF_FIRST 0x0001
536655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CPF_LAST 0x0002
537d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int len;
538655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int offs;
540d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char data[4000];
541d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao} copr_buffer;
542655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct copr_debug_buf {
543655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int command;
545d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int parm1;
546d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int parm2;
547d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int flags;
548655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int len;
550d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao} copr_debug_buf;
551655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct copr_msg {
552d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int len;
553655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char data[4000];
555d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao} copr_msg;
556d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_COPR_RESET _SIO('C', 0)
557655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_COPR_LOAD _SIOWR('C', 1, copr_buffer)
558d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_COPR_RDATA _SIOWR('C', 2, copr_debug_buf)
560655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_COPR_RCODE _SIOWR('C', 3, copr_debug_buf)
561d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_COPR_WDATA _SIOW('C', 4, copr_debug_buf)
562d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_COPR_WCODE _SIOW('C', 5, copr_debug_buf)
563655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_COPR_RUN _SIOWR('C', 6, copr_debug_buf)
565655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_COPR_HALT _SIOWR('C', 7, copr_debug_buf)
566655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDCTL_COPR_SENDMSG _SIOWR('C', 8, copr_msg)
567d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDCTL_COPR_RCVMSG _SIOR('C', 9, copr_msg)
568d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_NRDEVICES 25
570655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_VOLUME 0
571655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_BASS 1
572655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_TREBLE 2
573d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_SYNTH 3
575655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_PCM 4
576655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_SPEAKER 5
577655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_LINE 6
578d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_MIC 7
580655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_CD 8
581655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_IMIX 9
582655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_ALTPCM 10
583d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_RECLEV 11
585655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_IGAIN 12
586655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_OGAIN 13
587655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_LINE1 14
588d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_LINE2 15
590655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_LINE3 16
591655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_DIGITAL1 17
592655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_DIGITAL2 18
593d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_DIGITAL3 19
595655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_PHONEIN 20
596655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_PHONEOUT 21
597655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_VIDEO 22
598d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_RADIO 23
600655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_MONITOR 24
601655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_ONOFF_MIN 28
602655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_ONOFF_MAX 30
603d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_NONE 31
605655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_ENHANCE SOUND_MIXER_NONE
606655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_MUTE SOUND_MIXER_NONE
607655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_LOUD SOUND_MIXER_NONE
608655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#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" }
610d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#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" }
611655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_RECSRC 0xff
612655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_DEVMASK 0xfe
613d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_RECMASK 0xfd
615655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_CAPS 0xfc
616655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_CAP_EXCL_INPUT 0x00000001
617655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_STEREODEVS 0xfb
618d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_OUTSRC 0xfa
620655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_OUTMASK 0xf9
621655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_VOLUME (1 << SOUND_MIXER_VOLUME)
622655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_BASS (1 << SOUND_MIXER_BASS)
623d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_TREBLE (1 << SOUND_MIXER_TREBLE)
625655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_SYNTH (1 << SOUND_MIXER_SYNTH)
626655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_PCM (1 << SOUND_MIXER_PCM)
627655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_SPEAKER (1 << SOUND_MIXER_SPEAKER)
628d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_LINE (1 << SOUND_MIXER_LINE)
630655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_MIC (1 << SOUND_MIXER_MIC)
631655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_CD (1 << SOUND_MIXER_CD)
632655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_IMIX (1 << SOUND_MIXER_IMIX)
633d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_ALTPCM (1 << SOUND_MIXER_ALTPCM)
635655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_RECLEV (1 << SOUND_MIXER_RECLEV)
636655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_IGAIN (1 << SOUND_MIXER_IGAIN)
637655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_OGAIN (1 << SOUND_MIXER_OGAIN)
638d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_LINE1 (1 << SOUND_MIXER_LINE1)
640655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_LINE2 (1 << SOUND_MIXER_LINE2)
641655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_LINE3 (1 << SOUND_MIXER_LINE3)
642655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_DIGITAL1 (1 << SOUND_MIXER_DIGITAL1)
643d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_DIGITAL2 (1 << SOUND_MIXER_DIGITAL2)
645655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_DIGITAL3 (1 << SOUND_MIXER_DIGITAL3)
646655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_PHONEIN (1 << SOUND_MIXER_PHONEIN)
647655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_PHONEOUT (1 << SOUND_MIXER_PHONEOUT)
648d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_RADIO (1 << SOUND_MIXER_RADIO)
650655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_VIDEO (1 << SOUND_MIXER_VIDEO)
651655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_MONITOR (1 << SOUND_MIXER_MONITOR)
652655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_MUTE (1 << SOUND_MIXER_MUTE)
653d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_ENHANCE (1 << SOUND_MIXER_ENHANCE)
655655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MASK_LOUD (1 << SOUND_MIXER_LOUD)
656655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIXER_READ(dev) _SIOR('M', dev, int)
657655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME)
658d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_BASS MIXER_READ(SOUND_MIXER_BASS)
660655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_TREBLE MIXER_READ(SOUND_MIXER_TREBLE)
661655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_SYNTH MIXER_READ(SOUND_MIXER_SYNTH)
662655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_PCM MIXER_READ(SOUND_MIXER_PCM)
663d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_SPEAKER MIXER_READ(SOUND_MIXER_SPEAKER)
665655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_LINE MIXER_READ(SOUND_MIXER_LINE)
666655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_MIC MIXER_READ(SOUND_MIXER_MIC)
667655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_CD MIXER_READ(SOUND_MIXER_CD)
668d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_IMIX MIXER_READ(SOUND_MIXER_IMIX)
670655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_ALTPCM MIXER_READ(SOUND_MIXER_ALTPCM)
671655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_RECLEV MIXER_READ(SOUND_MIXER_RECLEV)
672655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_IGAIN MIXER_READ(SOUND_MIXER_IGAIN)
673d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
674655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_OGAIN MIXER_READ(SOUND_MIXER_OGAIN)
675655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_LINE1 MIXER_READ(SOUND_MIXER_LINE1)
676655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_LINE2 MIXER_READ(SOUND_MIXER_LINE2)
677655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_LINE3 MIXER_READ(SOUND_MIXER_LINE3)
678d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_MUTE MIXER_READ(SOUND_MIXER_MUTE)
680655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_ENHANCE MIXER_READ(SOUND_MIXER_ENHANCE)
681655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_LOUD MIXER_READ(SOUND_MIXER_LOUD)
682655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_RECSRC MIXER_READ(SOUND_MIXER_RECSRC)
683d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_DEVMASK MIXER_READ(SOUND_MIXER_DEVMASK)
685655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_RECMASK MIXER_READ(SOUND_MIXER_RECMASK)
686655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_STEREODEVS MIXER_READ(SOUND_MIXER_STEREODEVS)
687655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_READ_CAPS MIXER_READ(SOUND_MIXER_CAPS)
688d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIXER_WRITE(dev) _SIOWR('M', dev, int)
690655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_VOLUME MIXER_WRITE(SOUND_MIXER_VOLUME)
691655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_BASS MIXER_WRITE(SOUND_MIXER_BASS)
692655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_TREBLE MIXER_WRITE(SOUND_MIXER_TREBLE)
693d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_SYNTH MIXER_WRITE(SOUND_MIXER_SYNTH)
695655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_PCM MIXER_WRITE(SOUND_MIXER_PCM)
696655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_SPEAKER MIXER_WRITE(SOUND_MIXER_SPEAKER)
697655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_LINE MIXER_WRITE(SOUND_MIXER_LINE)
698d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_MIC MIXER_WRITE(SOUND_MIXER_MIC)
700655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_CD MIXER_WRITE(SOUND_MIXER_CD)
701655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_IMIX MIXER_WRITE(SOUND_MIXER_IMIX)
702655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_ALTPCM MIXER_WRITE(SOUND_MIXER_ALTPCM)
703d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_RECLEV MIXER_WRITE(SOUND_MIXER_RECLEV)
705655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_IGAIN MIXER_WRITE(SOUND_MIXER_IGAIN)
706655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_OGAIN MIXER_WRITE(SOUND_MIXER_OGAIN)
707655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_LINE1 MIXER_WRITE(SOUND_MIXER_LINE1)
708d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_LINE2 MIXER_WRITE(SOUND_MIXER_LINE2)
710655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_LINE3 MIXER_WRITE(SOUND_MIXER_LINE3)
711655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_MUTE MIXER_WRITE(SOUND_MIXER_MUTE)
712655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_ENHANCE MIXER_WRITE(SOUND_MIXER_ENHANCE)
713d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_LOUD MIXER_WRITE(SOUND_MIXER_LOUD)
715655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_WRITE_RECSRC MIXER_WRITE(SOUND_MIXER_RECSRC)
716d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baotypedef struct mixer_info {
717d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char id[16];
718655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char name[32];
720d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int modify_counter;
721d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int fillers[10];
722655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} mixer_info;
723655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baotypedef struct _old_mixer_info {
725d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char id[16];
726d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char name[32];
727655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} _old_mixer_info;
728655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SOUND_MIXER_INFO _SIOR('M', 101, mixer_info)
730d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SOUND_OLD_MIXER_INFO _SIOR('M', 101, _old_mixer_info)
731655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef unsigned char mixer_record[128];
732655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_ACCESS _SIOWR('M', 102, mixer_record)
733655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_AGC _SIOWR('M', 103, int)
735655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_3DSE _SIOWR('M', 104, int)
736655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_PRIVATE1 _SIOWR('M', 111, int)
737655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_PRIVATE2 _SIOWR('M', 112, int)
738655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_PRIVATE3 _SIOWR('M', 113, int)
740655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_PRIVATE4 _SIOWR('M', 114, int)
741655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_PRIVATE5 _SIOWR('M', 115, int)
742655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct mixer_vol_table {
743655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int num;
745d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char name[32];
746d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int levels[32];
747655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} mixer_vol_table;
748655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_GETLEVELS _SIOWR('M', 116, mixer_vol_table)
750655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SOUND_MIXER_SETLEVELS _SIOWR('M', 117, mixer_vol_table)
751d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define OSS_GETVERSION _SIOR('M', 118, int)
752655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define EV_SEQ_LOCAL 0x80
753655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define EV_TIMING 0x81
755655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define EV_CHN_COMMON 0x92
756655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define EV_CHN_VOICE 0x93
757655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define EV_SYSEX 0x94
758655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIDI_NOTEOFF 0x80
760655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIDI_NOTEON 0x90
761655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIDI_KEY_PRESSURE 0xA0
762655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIDI_CTL_CHANGE 0xB0
763655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIDI_PGM_CHANGE 0xC0
765655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIDI_CHN_PRESSURE 0xD0
766655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIDI_PITCH_BEND 0xE0
767655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define MIDI_SYSTEM_PREFIX 0xF0
768655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_WAIT_REL 1
770655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_WAIT_ABS 2
771655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_STOP 3
772655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_START 4
773655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_CONTINUE 5
775655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_TEMPO 6
776655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_ECHO 8
777655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_CLOCK 9
778655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_SPP 10
780655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TMR_TIMESIG 11
781655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define LOCL_STARTAUDIO 1
782655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_DECLAREBUF() SEQ_USE_EXTBUF()
783655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_PM_DEFINES int __foo_bar___
785d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_LOAD_GMINSTR(dev,instr)
786d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_LOAD_GMDRUM(dev,drum)
787655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SEQ_EXTERN extern
788655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_USE_EXTBUF() _SEQ_EXTERN unsigned char _seqbuf[]; _SEQ_EXTERN int _seqbuflen; _SEQ_EXTERN int _seqbufptr
790655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef USE_SIMPLE_MACROS
791d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len; int _seqbufptr = 0
792d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define _SEQ_NEEDBUF(len) if((_seqbufptr + (len)) > _seqbuflen) seqbuf_dump()
793655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SEQ_ADVBUF(len) _seqbufptr += len
795655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_DUMPBUF seqbuf_dump
796655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#else
797655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _SEQ_NEEDBUF(len)
798655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
800d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#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); }
801d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#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); }
802d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_START_NOTE(dev,chn,note,vol) _CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol)
803655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_STOP_NOTE(dev,chn,note,vol) _CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol)
805d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_KEY_PRESSURE(dev,chn,note,pressure) _CHN_VOICE(dev, MIDI_KEY_PRESSURE, chn, note, pressure)
806d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#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); }
807d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#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); }
808655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_CHN_PRESSURE(dev,chn,pressure) _CHN_COMMON(dev, MIDI_CHN_PRESSURE, chn, pressure, 0, 0)
810655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_SET_PATCH SEQ_PGM_CHANGE
811d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_PGM_CHANGE(dev,chn,patch) _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0)
812d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_CONTROL(dev,chn,controller,value) _CHN_COMMON(dev, MIDI_CTL_CHANGE, chn, controller, 0, value)
813655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_BENDER(dev,chn,value) _CHN_COMMON(dev, MIDI_PITCH_BEND, chn, 0, 0, value)
815d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#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); }
816d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_PITCHBEND(dev,voice,value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value)
817d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_BENDER_RANGE(dev,voice,value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value)
818655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_EXPRESSION(dev,voice,value) SEQ_CONTROL(dev, voice, CTL_EXPRESSION, value * 128)
820d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_MAIN_VOLUME(dev,voice,value) SEQ_CONTROL(dev, voice, CTL_MAIN_VOLUME, (value * 16383) / 100)
821d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_PANNING(dev,voice,pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos + 128) / 2)
822d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#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); }
823655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_START_TIMER() _TIMER_EVENT(TMR_START, 0)
825655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_STOP_TIMER() _TIMER_EVENT(TMR_STOP, 0)
826655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_CONTINUE_TIMER() _TIMER_EVENT(TMR_CONTINUE, 0)
827655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_WAIT_TIME(ticks) _TIMER_EVENT(TMR_WAIT_ABS, ticks)
828655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_DELTA_TIME(ticks) _TIMER_EVENT(TMR_WAIT_REL, ticks)
830655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_ECHO_BACK(key) _TIMER_EVENT(TMR_ECHO, key)
831655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_SET_TEMPO(value) _TIMER_EVENT(TMR_TEMPO, value)
832655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_SONGPOS(pos) _TIMER_EVENT(TMR_SPP, pos)
833655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_TIME_SIGNATURE(sig) _TIMER_EVENT(TMR_TIMESIG, sig)
835d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#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); }
836655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SEQ_PLAYAUDIO(devmask) _LOCAL_EVENT(LOCL_STARTAUDIO, devmask)
837d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#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); }
838655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_WRPATCH(patchx,len) { if(_seqbufptr) SEQ_DUMPBUF(); if(write(seqfd, (char *) (patchx), len) == - 1) perror("Write patch: /dev/sequencer"); }
840d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SEQ_WRPATCH2(patchx,len) (SEQ_DUMPBUF(), write(seqfd, (char *) (patchx), len))
841655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
842