blob: 7159f623e7a9454591eec1fe252ef13cf29cdc40 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017 ****************************************************************************
18 ****************************************************************************/
19#ifndef SOUNDCARD_H
20#define SOUNDCARD_H
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021#define SOUND_VERSION 0x030802
22#define OPEN_SOUND_SYSTEM
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080024#include <linux/ioctl.h>
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080025#include <endian.h>
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080026#define SNDCARD_ADLIB 1
27#define SNDCARD_SB 2
Ben Cheng654325d2012-03-07 21:13:49 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029#define SNDCARD_PAS 3
30#define SNDCARD_GUS 4
31#define SNDCARD_MPU401 5
32#define SNDCARD_SB16 6
Ben Cheng654325d2012-03-07 21:13:49 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080034#define SNDCARD_SB16MIDI 7
35#define SNDCARD_UART6850 8
36#define SNDCARD_GUS16 9
37#define SNDCARD_MSS 10
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039#define SNDCARD_PSS 11
40#define SNDCARD_SSCAPE 12
41#define SNDCARD_PSS_MPU 13
42#define SNDCARD_PSS_MSS 14
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080044#define SNDCARD_SSCAPE_MSS 15
45#define SNDCARD_TRXPRO 16
46#define SNDCARD_TRXPRO_SB 17
47#define SNDCARD_TRXPRO_MPU 18
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080049#define SNDCARD_MAD16 19
50#define SNDCARD_MAD16_MPU 20
51#define SNDCARD_CS4232 21
52#define SNDCARD_CS4232_MPU 22
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080054#define SNDCARD_MAUI 23
55#define SNDCARD_PSEUDO_MSS 24
56#define SNDCARD_GUSPNP 25
57#define SNDCARD_UART401 26
Ben Cheng654325d2012-03-07 21:13:49 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080059#ifndef _SIOWR
60#if defined(_IOWR) && (defined(_AIX) || !defined(sun) && !defined(sparc) && !defined(__sparc__) && !defined(__INCioctlh) && !defined(__Lynx__))
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080061#define SIOCPARM_MASK IOCPARM_MASK
62#define SIOC_VOID IOC_VOID
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080064#define SIOC_OUT IOC_OUT
65#define SIOC_IN IOC_IN
66#define SIOC_INOUT IOC_INOUT
67#define _SIOC_SIZE _IOC_SIZE
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080069#define _SIOC_DIR _IOC_DIR
70#define _SIOC_NONE _IOC_NONE
71#define _SIOC_READ _IOC_READ
72#define _SIOC_WRITE _IOC_WRITE
Ben Cheng654325d2012-03-07 21:13:49 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080074#define _SIO _IO
75#define _SIOR _IOR
76#define _SIOW _IOW
77#define _SIOWR _IOWR
Ben Cheng654325d2012-03-07 21:13:49 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080079#else
Elliott Hughesc95eb572013-01-29 18:15:55 -080080#define SIOCPARM_MASK 0x1fff
81#define SIOC_VOID 0x00000000
82#define SIOC_OUT 0x20000000
Ben Cheng654325d2012-03-07 21:13:49 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -080084#define SIOC_IN 0x40000000
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080085#define SIOC_INOUT (SIOC_IN|SIOC_OUT)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080086#define _SIO(x,y) ((int)(SIOC_VOID|(x<<8)|y))
87#define _SIOR(x,y,t) ((int)(SIOC_OUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
Ben Cheng654325d2012-03-07 21:13:49 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080089#define _SIOW(x,y,t) ((int)(SIOC_IN|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080090#define _SIOWR(x,y,t) ((int)(SIOC_INOUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
Elliott Hughesc95eb572013-01-29 18:15:55 -080091#define _SIOC_SIZE(x) ((x>>16)&SIOCPARM_MASK)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080092#define _SIOC_DIR(x) (x & 0xf0000000)
Ben Cheng654325d2012-03-07 21:13:49 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080094#define _SIOC_NONE SIOC_VOID
95#define _SIOC_READ SIOC_OUT
96#define _SIOC_WRITE SIOC_IN
97#endif
Ben Cheng654325d2012-03-07 21:13:49 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080099#endif
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800100#define SNDCTL_SEQ_RESET _SIO ('Q', 0)
101#define SNDCTL_SEQ_SYNC _SIO ('Q', 1)
102#define SNDCTL_SYNTH_INFO _SIOWR('Q', 2, struct synth_info)
Ben Cheng654325d2012-03-07 21:13:49 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800104#define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800105#define SNDCTL_SEQ_GETOUTCOUNT _SIOR ('Q', 4, int)
106#define SNDCTL_SEQ_GETINCOUNT _SIOR ('Q', 5, int)
107#define SNDCTL_SEQ_PERCMODE _SIOW ('Q', 6, int)
Ben Cheng654325d2012-03-07 21:13:49 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800109#define SNDCTL_FM_LOAD_INSTR _SIOW ('Q', 7, struct sbi_instrument)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800110#define SNDCTL_SEQ_TESTMIDI _SIOW ('Q', 8, int)
111#define SNDCTL_SEQ_RESETSAMPLES _SIOW ('Q', 9, int)
112#define SNDCTL_SEQ_NRSYNTHS _SIOR ('Q',10, int)
Ben Cheng654325d2012-03-07 21:13:49 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800114#define SNDCTL_SEQ_NRMIDIS _SIOR ('Q',11, int)
115#define SNDCTL_MIDI_INFO _SIOWR('Q',12, struct midi_info)
116#define SNDCTL_SEQ_THRESHOLD _SIOW ('Q',13, int)
Elliott Hughesc95eb572013-01-29 18:15:55 -0800117#define SNDCTL_SYNTH_MEMAVL _SIOWR('Q',14, int)
Ben Cheng654325d2012-03-07 21:13:49 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800119#define SNDCTL_FM_4OP_ENABLE _SIOW ('Q',15, int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800120#define SNDCTL_SEQ_PANIC _SIO ('Q',17)
121#define SNDCTL_SEQ_OUTOFBAND _SIOW ('Q',18, struct seq_event_rec)
122#define SNDCTL_SEQ_GETTIME _SIOR ('Q',19, int)
Ben Cheng654325d2012-03-07 21:13:49 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800124#define SNDCTL_SYNTH_ID _SIOWR('Q',20, struct synth_info)
125#define SNDCTL_SYNTH_CONTROL _SIOWR('Q',21, struct synth_control)
126#define SNDCTL_SYNTH_REMOVESAMPLE _SIOWR('Q',22, struct remove_sample)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800127typedef struct synth_control
Ben Cheng654325d2012-03-07 21:13:49 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800129{
130 int devno;
131 char data[4000];
132}synth_control;
Ben Cheng654325d2012-03-07 21:13:49 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800134typedef struct remove_sample
135{
136 int devno;
137 int bankno;
Ben Cheng654325d2012-03-07 21:13:49 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800139 int instrno;
140} remove_sample;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800141typedef struct seq_event_rec {
142 unsigned char arr[8];
Ben Cheng654325d2012-03-07 21:13:49 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800144} seq_event_rec;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800145#define SNDCTL_TMR_TIMEBASE _SIOWR('T', 1, int)
146#define SNDCTL_TMR_START _SIO ('T', 2)
147#define SNDCTL_TMR_STOP _SIO ('T', 3)
Ben Cheng654325d2012-03-07 21:13:49 -0800148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800149#define SNDCTL_TMR_CONTINUE _SIO ('T', 4)
150#define SNDCTL_TMR_TEMPO _SIOWR('T', 5, int)
151#define SNDCTL_TMR_SOURCE _SIOWR('T', 6, int)
152#define TMR_INTERNAL 0x00000001
Ben Cheng654325d2012-03-07 21:13:49 -0800153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800154#define TMR_EXTERNAL 0x00000002
155#define TMR_MODE_MIDI 0x00000010
156#define TMR_MODE_FSK 0x00000020
157#define TMR_MODE_CLS 0x00000040
Ben Cheng654325d2012-03-07 21:13:49 -0800158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800159#define TMR_MODE_SMPTE 0x00000080
160#define SNDCTL_TMR_METRONOME _SIOW ('T', 7, int)
161#define SNDCTL_TMR_SELECT _SIOW ('T', 8, int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800162#define _LINUX_PATCHKEY_H_INDIRECT
Ben Cheng654325d2012-03-07 21:13:49 -0800163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800164#include <linux/patchkey.h>
165#undef _LINUX_PATCHKEY_H_INDIRECT
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800166#ifdef __BYTE_ORDER
167#if __BYTE_ORDER == __BIG_ENDIAN
Ben Cheng654325d2012-03-07 21:13:49 -0800168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800169#define AFMT_S16_NE AFMT_S16_BE
170#elif __BYTE_ORDER == __LITTLE_ENDIAN
171#define AFMT_S16_NE AFMT_S16_LE
172#else
Ben Cheng654325d2012-03-07 21:13:49 -0800173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800174#error "could not determine byte order"
175#endif
176#endif
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800177struct patch_info {
Ben Cheng654325d2012-03-07 21:13:49 -0800178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800179 unsigned short key;
180#define WAVE_PATCH _PATCHKEY(0x04)
181#define GUS_PATCH WAVE_PATCH
182#define WAVEFRONT_PATCH _PATCHKEY(0x06)
Ben Cheng654325d2012-03-07 21:13:49 -0800183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800184 short device_no;
185 short instr_no;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800186 unsigned int mode;
Elliott Hughesc95eb572013-01-29 18:15:55 -0800187#define WAVE_16_BITS 0x01
Ben Cheng654325d2012-03-07 21:13:49 -0800188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800189#define WAVE_UNSIGNED 0x02
190#define WAVE_LOOPING 0x04
191#define WAVE_BIDIR_LOOP 0x08
192#define WAVE_LOOP_BACK 0x10
Ben Cheng654325d2012-03-07 21:13:49 -0800193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800194#define WAVE_SUSTAIN_ON 0x20
195#define WAVE_ENVELOPES 0x40
196#define WAVE_FAST_RELEASE 0x80
197#define WAVE_VIBRATO 0x00010000
Ben Cheng654325d2012-03-07 21:13:49 -0800198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800199#define WAVE_TREMOLO 0x00020000
200#define WAVE_SCALE 0x00040000
201#define WAVE_FRACTIONS 0x00080000
202#define WAVE_ROM 0x40000000
Ben Cheng654325d2012-03-07 21:13:49 -0800203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800204#define WAVE_MULAW 0x20000000
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800205 int len;
206 int loop_start, loop_end;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800207 unsigned int base_freq;
Ben Cheng654325d2012-03-07 21:13:49 -0800208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800209 unsigned int base_note;
210 unsigned int high_note;
211 unsigned int low_note;
212 int panning;
Ben Cheng654325d2012-03-07 21:13:49 -0800213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800214 int detuning;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800215 unsigned char env_rate[ 6 ];
216 unsigned char env_offset[ 6 ];
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800217 unsigned char tremolo_sweep;
Ben Cheng654325d2012-03-07 21:13:49 -0800218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800219 unsigned char tremolo_rate;
220 unsigned char tremolo_depth;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800221 unsigned char vibrato_sweep;
222 unsigned char vibrato_rate;
Ben Cheng654325d2012-03-07 21:13:49 -0800223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800224 unsigned char vibrato_depth;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800225 int scale_frequency;
226 unsigned int scale_factor;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800227 int volume;
Ben Cheng654325d2012-03-07 21:13:49 -0800228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800229 int fractions;
230 int reserved1;
231 int spare[2];
232 char data[1];
Ben Cheng654325d2012-03-07 21:13:49 -0800233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800234 };
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800235struct sysex_info {
236 short key;
237#define SYSEX_PATCH _PATCHKEY(0x05)
Ben Cheng654325d2012-03-07 21:13:49 -0800238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800239#define MAUI_PATCH _PATCHKEY(0x06)
240 short device_no;
241 int len;
242 unsigned char data[1];
Ben Cheng654325d2012-03-07 21:13:49 -0800243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800244 };
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800245#define SEQ_NOTEOFF 0
Elliott Hughesc95eb572013-01-29 18:15:55 -0800246#define SEQ_FMNOTEOFF SEQ_NOTEOFF
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800247#define SEQ_NOTEON 1
Ben Cheng654325d2012-03-07 21:13:49 -0800248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800249#define SEQ_FMNOTEON SEQ_NOTEON
250#define SEQ_WAIT TMR_WAIT_ABS
251#define SEQ_PGMCHANGE 3
252#define SEQ_FMPGMCHANGE SEQ_PGMCHANGE
Ben Cheng654325d2012-03-07 21:13:49 -0800253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800254#define SEQ_SYNCTIMER TMR_START
255#define SEQ_MIDIPUTC 5
Elliott Hughesc95eb572013-01-29 18:15:55 -0800256#define SEQ_DRUMON 6
257#define SEQ_DRUMOFF 7
Ben Cheng654325d2012-03-07 21:13:49 -0800258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800259#define SEQ_ECHO TMR_ECHO
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800260#define SEQ_AFTERTOUCH 9
261#define SEQ_CONTROLLER 10
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800262#define CTL_BANK_SELECT 0x00
Ben Cheng654325d2012-03-07 21:13:49 -0800263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800264#define CTL_MODWHEEL 0x01
265#define CTL_BREATH 0x02
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800266#define CTL_FOOT 0x04
267#define CTL_PORTAMENTO_TIME 0x05
Ben Cheng654325d2012-03-07 21:13:49 -0800268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800269#define CTL_DATA_ENTRY 0x06
270#define CTL_MAIN_VOLUME 0x07
271#define CTL_BALANCE 0x08
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800272#define CTL_PAN 0x0a
Ben Cheng654325d2012-03-07 21:13:49 -0800273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800274#define CTL_EXPRESSION 0x0b
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800275#define CTL_GENERAL_PURPOSE1 0x10
276#define CTL_GENERAL_PURPOSE2 0x11
277#define CTL_GENERAL_PURPOSE3 0x12
Ben Cheng654325d2012-03-07 21:13:49 -0800278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800279#define CTL_GENERAL_PURPOSE4 0x13
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800280#define CTL_DAMPER_PEDAL 0x40
Elliott Hughesc95eb572013-01-29 18:15:55 -0800281#define CTL_SUSTAIN 0x40
282#define CTL_HOLD 0x40
Ben Cheng654325d2012-03-07 21:13:49 -0800283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800284#define CTL_PORTAMENTO 0x41
285#define CTL_SOSTENUTO 0x42
286#define CTL_SOFT_PEDAL 0x43
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800287#define CTL_HOLD2 0x45
Ben Cheng654325d2012-03-07 21:13:49 -0800288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800289#define CTL_GENERAL_PURPOSE5 0x50
290#define CTL_GENERAL_PURPOSE6 0x51
291#define CTL_GENERAL_PURPOSE7 0x52
292#define CTL_GENERAL_PURPOSE8 0x53
Ben Cheng654325d2012-03-07 21:13:49 -0800293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800294#define CTL_EXT_EFF_DEPTH 0x5b
295#define CTL_TREMOLO_DEPTH 0x5c
296#define CTL_CHORUS_DEPTH 0x5d
297#define CTL_DETUNE_DEPTH 0x5e
Ben Cheng654325d2012-03-07 21:13:49 -0800298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800299#define CTL_CELESTE_DEPTH 0x5e
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800300#define CTL_PHASER_DEPTH 0x5f
301#define CTL_DATA_INCREMENT 0x60
302#define CTL_DATA_DECREMENT 0x61
Ben Cheng654325d2012-03-07 21:13:49 -0800303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800304#define CTL_NONREG_PARM_NUM_LSB 0x62
305#define CTL_NONREG_PARM_NUM_MSB 0x63
306#define CTL_REGIST_PARM_NUM_LSB 0x64
307#define CTL_REGIST_PARM_NUM_MSB 0x65
Ben Cheng654325d2012-03-07 21:13:49 -0800308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800309#define CTRL_PITCH_BENDER 255
310#define CTRL_PITCH_BENDER_RANGE 254
Elliott Hughesc95eb572013-01-29 18:15:55 -0800311#define CTRL_EXPRESSION 253
312#define CTRL_MAIN_VOLUME 252
Ben Cheng654325d2012-03-07 21:13:49 -0800313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800314#define SEQ_BALANCE 11
315#define SEQ_VOLMODE 12
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800316#define VOL_METHOD_ADAGIO 1
317#define VOL_METHOD_LINEAR 2
Ben Cheng654325d2012-03-07 21:13:49 -0800318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800319#define SEQ_FULLSIZE 0xfd
320#define SEQ_PRIVATE 0xfe
321#define SEQ_EXTENDED 0xff
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800322typedef unsigned char sbi_instr_data[32];
Ben Cheng654325d2012-03-07 21:13:49 -0800323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800324struct sbi_instrument {
325 unsigned short key;
326#define FM_PATCH _PATCHKEY(0x01)
327#define OPL3_PATCH _PATCHKEY(0x03)
Ben Cheng654325d2012-03-07 21:13:49 -0800328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800329 short device;
330 int channel;
331 sbi_instr_data operators;
332 };
Ben Cheng654325d2012-03-07 21:13:49 -0800333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800334struct synth_info {
335 char name[30];
336 int device;
337 int synth_type;
Ben Cheng654325d2012-03-07 21:13:49 -0800338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800339#define SYNTH_TYPE_FM 0
340#define SYNTH_TYPE_SAMPLE 1
Elliott Hughesc95eb572013-01-29 18:15:55 -0800341#define SYNTH_TYPE_MIDI 2
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800342 int synth_subtype;
Ben Cheng654325d2012-03-07 21:13:49 -0800343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800344#define FM_TYPE_ADLIB 0x00
345#define FM_TYPE_OPL3 0x01
346#define MIDI_TYPE_MPU401 0x401
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800347#define SAMPLE_TYPE_BASIC 0x10
Ben Cheng654325d2012-03-07 21:13:49 -0800348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800349#define SAMPLE_TYPE_GUS SAMPLE_TYPE_BASIC
350#define SAMPLE_TYPE_WAVEFRONT 0x11
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800351 int perc_mode;
352 int nr_voices;
Ben Cheng654325d2012-03-07 21:13:49 -0800353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800354 int nr_drums;
355 int instr_bank_size;
356 unsigned int capabilities;
Elliott Hughesc95eb572013-01-29 18:15:55 -0800357#define SYNTH_CAP_PERCMODE 0x00000001
Ben Cheng654325d2012-03-07 21:13:49 -0800358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800359#define SYNTH_CAP_OPL3 0x00000002
360#define SYNTH_CAP_INPUT 0x00000004
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800361 int dummies[19];
362 };
Ben Cheng654325d2012-03-07 21:13:49 -0800363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800364struct sound_timer_info {
365 char name[32];
366 int caps;
367 };
Ben Cheng654325d2012-03-07 21:13:49 -0800368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800369#define MIDI_CAP_MPU401 1
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800370struct midi_info {
371 char name[30];
372 int device;
Ben Cheng654325d2012-03-07 21:13:49 -0800373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800374 unsigned int capabilities;
375 int dev_type;
376 int dummies[18];
377 };
Ben Cheng654325d2012-03-07 21:13:49 -0800378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800379typedef struct {
380 unsigned char cmd;
381 char nr_args, nr_returns;
382 unsigned char data[30];
Ben Cheng654325d2012-03-07 21:13:49 -0800383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800384 } mpu_command_rec;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800385#define SNDCTL_MIDI_PRETIME _SIOWR('m', 0, int)
386#define SNDCTL_MIDI_MPUMODE _SIOWR('m', 1, int)
387#define SNDCTL_MIDI_MPUCMD _SIOWR('m', 2, mpu_command_rec)
Ben Cheng654325d2012-03-07 21:13:49 -0800388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800389#define SNDCTL_DSP_RESET _SIO ('P', 0)
390#define SNDCTL_DSP_SYNC _SIO ('P', 1)
391#define SNDCTL_DSP_SPEED _SIOWR('P', 2, int)
392#define SNDCTL_DSP_STEREO _SIOWR('P', 3, int)
Ben Cheng654325d2012-03-07 21:13:49 -0800393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800394#define SNDCTL_DSP_GETBLKSIZE _SIOWR('P', 4, int)
395#define SNDCTL_DSP_SAMPLESIZE SNDCTL_DSP_SETFMT
396#define SNDCTL_DSP_CHANNELS _SIOWR('P', 6, int)
397#define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS
Ben Cheng654325d2012-03-07 21:13:49 -0800398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800399#define SOUND_PCM_WRITE_FILTER _SIOWR('P', 7, int)
400#define SNDCTL_DSP_POST _SIO ('P', 8)
401#define SNDCTL_DSP_SUBDIVIDE _SIOWR('P', 9, int)
402#define SNDCTL_DSP_SETFRAGMENT _SIOWR('P',10, int)
Ben Cheng654325d2012-03-07 21:13:49 -0800403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800404#define SNDCTL_DSP_GETFMTS _SIOR ('P',11, int)
405#define SNDCTL_DSP_SETFMT _SIOWR('P',5, int)
406#define AFMT_QUERY 0x00000000
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800407#define AFMT_MU_LAW 0x00000001
Ben Cheng654325d2012-03-07 21:13:49 -0800408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800409#define AFMT_A_LAW 0x00000002
410#define AFMT_IMA_ADPCM 0x00000004
411#define AFMT_U8 0x00000008
Elliott Hughesc95eb572013-01-29 18:15:55 -0800412#define AFMT_S16_LE 0x00000010
Ben Cheng654325d2012-03-07 21:13:49 -0800413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800414#define AFMT_S16_BE 0x00000020
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800415#define AFMT_S8 0x00000040
Elliott Hughesc95eb572013-01-29 18:15:55 -0800416#define AFMT_U16_LE 0x00000080
417#define AFMT_U16_BE 0x00000100
Ben Cheng654325d2012-03-07 21:13:49 -0800418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800419#define AFMT_MPEG 0x00000200
420#define AFMT_AC3 0x00000400
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800421typedef struct audio_buf_info {
422 int fragments;
Ben Cheng654325d2012-03-07 21:13:49 -0800423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800424 int fragstotal;
425 int fragsize;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800426 int bytes;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800427 } audio_buf_info;
Ben Cheng654325d2012-03-07 21:13:49 -0800428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800429#define SNDCTL_DSP_GETOSPACE _SIOR ('P',12, audio_buf_info)
430#define SNDCTL_DSP_GETISPACE _SIOR ('P',13, audio_buf_info)
431#define SNDCTL_DSP_NONBLOCK _SIO ('P',14)
432#define SNDCTL_DSP_GETCAPS _SIOR ('P',15, int)
Ben Cheng654325d2012-03-07 21:13:49 -0800433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800434#define DSP_CAP_REVISION 0x000000ff
435#define DSP_CAP_DUPLEX 0x00000100
436#define DSP_CAP_REALTIME 0x00000200
437#define DSP_CAP_BATCH 0x00000400
Ben Cheng654325d2012-03-07 21:13:49 -0800438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800439#define DSP_CAP_COPROC 0x00000800
440#define DSP_CAP_TRIGGER 0x00001000
441#define DSP_CAP_MMAP 0x00002000
442#define DSP_CAP_MULTI 0x00004000
Ben Cheng654325d2012-03-07 21:13:49 -0800443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800444#define DSP_CAP_BIND 0x00008000
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800445#define SNDCTL_DSP_GETTRIGGER _SIOR ('P',16, int)
446#define SNDCTL_DSP_SETTRIGGER _SIOW ('P',16, int)
447#define PCM_ENABLE_INPUT 0x00000001
Ben Cheng654325d2012-03-07 21:13:49 -0800448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800449#define PCM_ENABLE_OUTPUT 0x00000002
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800450typedef struct count_info {
451 int bytes;
452 int blocks;
Ben Cheng654325d2012-03-07 21:13:49 -0800453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800454 int ptr;
455 } count_info;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800456#define SNDCTL_DSP_GETIPTR _SIOR ('P',17, count_info)
457#define SNDCTL_DSP_GETOPTR _SIOR ('P',18, count_info)
Ben Cheng654325d2012-03-07 21:13:49 -0800458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800459typedef struct buffmem_desc {
460 unsigned *buffer;
461 int size;
462 } buffmem_desc;
Ben Cheng654325d2012-03-07 21:13:49 -0800463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800464#define SNDCTL_DSP_MAPINBUF _SIOR ('P', 19, buffmem_desc)
465#define SNDCTL_DSP_MAPOUTBUF _SIOR ('P', 20, buffmem_desc)
466#define SNDCTL_DSP_SETSYNCRO _SIO ('P', 21)
467#define SNDCTL_DSP_SETDUPLEX _SIO ('P', 22)
Ben Cheng654325d2012-03-07 21:13:49 -0800468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800469#define SNDCTL_DSP_GETODELAY _SIOR ('P', 23, int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800470#define SNDCTL_DSP_GETCHANNELMASK _SIOWR('P', 64, int)
471#define SNDCTL_DSP_BIND_CHANNEL _SIOWR('P', 65, int)
472#define DSP_BIND_QUERY 0x00000000
Ben Cheng654325d2012-03-07 21:13:49 -0800473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800474#define DSP_BIND_FRONT 0x00000001
475#define DSP_BIND_SURR 0x00000002
476#define DSP_BIND_CENTER_LFE 0x00000004
477#define DSP_BIND_HANDSET 0x00000008
Ben Cheng654325d2012-03-07 21:13:49 -0800478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800479#define DSP_BIND_MIC 0x00000010
480#define DSP_BIND_MODEM1 0x00000020
481#define DSP_BIND_MODEM2 0x00000040
482#define DSP_BIND_I2S 0x00000080
Ben Cheng654325d2012-03-07 21:13:49 -0800483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800484#define DSP_BIND_SPDIF 0x00000100
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800485#define SNDCTL_DSP_SETSPDIF _SIOW ('P', 66, int)
486#define SNDCTL_DSP_GETSPDIF _SIOR ('P', 67, int)
487#define SPDIF_PRO 0x0001
Ben Cheng654325d2012-03-07 21:13:49 -0800488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800489#define SPDIF_N_AUD 0x0002
490#define SPDIF_COPY 0x0004
491#define SPDIF_PRE 0x0008
492#define SPDIF_CC 0x07f0
Ben Cheng654325d2012-03-07 21:13:49 -0800493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800494#define SPDIF_L 0x0800
495#define SPDIF_DRS 0x4000
496#define SPDIF_V 0x8000
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800497#define SNDCTL_DSP_PROFILE _SIOW ('P', 23, int)
Ben Cheng654325d2012-03-07 21:13:49 -0800498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800499#define APF_NORMAL 0
500#define APF_NETWORK 1
501#define APF_CPUINTENS 2
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800502#define SOUND_PCM_READ_RATE _SIOR ('P', 2, int)
Ben Cheng654325d2012-03-07 21:13:49 -0800503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800504#define SOUND_PCM_READ_CHANNELS _SIOR ('P', 6, int)
505#define SOUND_PCM_READ_BITS _SIOR ('P', 5, int)
506#define SOUND_PCM_READ_FILTER _SIOR ('P', 7, int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800507#define SOUND_PCM_WRITE_BITS SNDCTL_DSP_SETFMT
Ben Cheng654325d2012-03-07 21:13:49 -0800508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800509#define SOUND_PCM_WRITE_RATE SNDCTL_DSP_SPEED
510#define SOUND_PCM_POST SNDCTL_DSP_POST
511#define SOUND_PCM_RESET SNDCTL_DSP_RESET
512#define SOUND_PCM_SYNC SNDCTL_DSP_SYNC
Ben Cheng654325d2012-03-07 21:13:49 -0800513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800514#define SOUND_PCM_SUBDIVIDE SNDCTL_DSP_SUBDIVIDE
515#define SOUND_PCM_SETFRAGMENT SNDCTL_DSP_SETFRAGMENT
516#define SOUND_PCM_GETFMTS SNDCTL_DSP_GETFMTS
517#define SOUND_PCM_SETFMT SNDCTL_DSP_SETFMT
Ben Cheng654325d2012-03-07 21:13:49 -0800518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800519#define SOUND_PCM_GETOSPACE SNDCTL_DSP_GETOSPACE
520#define SOUND_PCM_GETISPACE SNDCTL_DSP_GETISPACE
521#define SOUND_PCM_NONBLOCK SNDCTL_DSP_NONBLOCK
522#define SOUND_PCM_GETCAPS SNDCTL_DSP_GETCAPS
Ben Cheng654325d2012-03-07 21:13:49 -0800523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800524#define SOUND_PCM_GETTRIGGER SNDCTL_DSP_GETTRIGGER
525#define SOUND_PCM_SETTRIGGER SNDCTL_DSP_SETTRIGGER
526#define SOUND_PCM_SETSYNCRO SNDCTL_DSP_SETSYNCRO
527#define SOUND_PCM_GETIPTR SNDCTL_DSP_GETIPTR
Ben Cheng654325d2012-03-07 21:13:49 -0800528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800529#define SOUND_PCM_GETOPTR SNDCTL_DSP_GETOPTR
530#define SOUND_PCM_MAPINBUF SNDCTL_DSP_MAPINBUF
531#define SOUND_PCM_MAPOUTBUF SNDCTL_DSP_MAPOUTBUF
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800532typedef struct copr_buffer {
Ben Cheng654325d2012-03-07 21:13:49 -0800533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800534 int command;
535 int flags;
536#define CPF_NONE 0x0000
Elliott Hughesc95eb572013-01-29 18:15:55 -0800537#define CPF_FIRST 0x0001
Ben Cheng654325d2012-03-07 21:13:49 -0800538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800539#define CPF_LAST 0x0002
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800540 int len;
541 int offs;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800542 unsigned char data[4000];
Ben Cheng654325d2012-03-07 21:13:49 -0800543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800544 } copr_buffer;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800545typedef struct copr_debug_buf {
546 int command;
547 int parm1;
Ben Cheng654325d2012-03-07 21:13:49 -0800548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800549 int parm2;
550 int flags;
551 int len;
552 } copr_debug_buf;
Ben Cheng654325d2012-03-07 21:13:49 -0800553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800554typedef struct copr_msg {
555 int len;
556 unsigned char data[4000];
557 } copr_msg;
Ben Cheng654325d2012-03-07 21:13:49 -0800558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800559#define SNDCTL_COPR_RESET _SIO ('C', 0)
560#define SNDCTL_COPR_LOAD _SIOWR('C', 1, copr_buffer)
561#define SNDCTL_COPR_RDATA _SIOWR('C', 2, copr_debug_buf)
562#define SNDCTL_COPR_RCODE _SIOWR('C', 3, copr_debug_buf)
Ben Cheng654325d2012-03-07 21:13:49 -0800563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800564#define SNDCTL_COPR_WDATA _SIOW ('C', 4, copr_debug_buf)
565#define SNDCTL_COPR_WCODE _SIOW ('C', 5, copr_debug_buf)
566#define SNDCTL_COPR_RUN _SIOWR('C', 6, copr_debug_buf)
567#define SNDCTL_COPR_HALT _SIOWR('C', 7, copr_debug_buf)
Ben Cheng654325d2012-03-07 21:13:49 -0800568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800569#define SNDCTL_COPR_SENDMSG _SIOWR('C', 8, copr_msg)
570#define SNDCTL_COPR_RCVMSG _SIOR ('C', 9, copr_msg)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800571#define SOUND_MIXER_NRDEVICES 25
572#define SOUND_MIXER_VOLUME 0
Ben Cheng654325d2012-03-07 21:13:49 -0800573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800574#define SOUND_MIXER_BASS 1
575#define SOUND_MIXER_TREBLE 2
576#define SOUND_MIXER_SYNTH 3
577#define SOUND_MIXER_PCM 4
Ben Cheng654325d2012-03-07 21:13:49 -0800578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800579#define SOUND_MIXER_SPEAKER 5
580#define SOUND_MIXER_LINE 6
581#define SOUND_MIXER_MIC 7
582#define SOUND_MIXER_CD 8
Ben Cheng654325d2012-03-07 21:13:49 -0800583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800584#define SOUND_MIXER_IMIX 9
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800585#define SOUND_MIXER_ALTPCM 10
Elliott Hughesc95eb572013-01-29 18:15:55 -0800586#define SOUND_MIXER_RECLEV 11
587#define SOUND_MIXER_IGAIN 12
Ben Cheng654325d2012-03-07 21:13:49 -0800588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800589#define SOUND_MIXER_OGAIN 13
590#define SOUND_MIXER_LINE1 14
591#define SOUND_MIXER_LINE2 15
592#define SOUND_MIXER_LINE3 16
Ben Cheng654325d2012-03-07 21:13:49 -0800593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800594#define SOUND_MIXER_DIGITAL1 17
595#define SOUND_MIXER_DIGITAL2 18
596#define SOUND_MIXER_DIGITAL3 19
597#define SOUND_MIXER_PHONEIN 20
Ben Cheng654325d2012-03-07 21:13:49 -0800598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800599#define SOUND_MIXER_PHONEOUT 21
600#define SOUND_MIXER_VIDEO 22
601#define SOUND_MIXER_RADIO 23
602#define SOUND_MIXER_MONITOR 24
Ben Cheng654325d2012-03-07 21:13:49 -0800603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800604#define SOUND_ONOFF_MIN 28
605#define SOUND_ONOFF_MAX 30
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800606#define SOUND_MIXER_NONE 31
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800607#define SOUND_MIXER_ENHANCE SOUND_MIXER_NONE
Ben Cheng654325d2012-03-07 21:13:49 -0800608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800609#define SOUND_MIXER_MUTE SOUND_MIXER_NONE
610#define SOUND_MIXER_LOUD SOUND_MIXER_NONE
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800611#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"}
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800612#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"}
Ben Cheng654325d2012-03-07 21:13:49 -0800613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800614#define SOUND_MIXER_RECSRC 0xff
615#define SOUND_MIXER_DEVMASK 0xfe
616#define SOUND_MIXER_RECMASK 0xfd
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800617#define SOUND_MIXER_CAPS 0xfc
Ben Cheng654325d2012-03-07 21:13:49 -0800618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800619#define SOUND_CAP_EXCL_INPUT 0x00000001
620#define SOUND_MIXER_STEREODEVS 0xfb
621#define SOUND_MIXER_OUTSRC 0xfa
622#define SOUND_MIXER_OUTMASK 0xf9
Ben Cheng654325d2012-03-07 21:13:49 -0800623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800624#define SOUND_MASK_VOLUME (1 << SOUND_MIXER_VOLUME)
625#define SOUND_MASK_BASS (1 << SOUND_MIXER_BASS)
626#define SOUND_MASK_TREBLE (1 << SOUND_MIXER_TREBLE)
627#define SOUND_MASK_SYNTH (1 << SOUND_MIXER_SYNTH)
Ben Cheng654325d2012-03-07 21:13:49 -0800628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800629#define SOUND_MASK_PCM (1 << SOUND_MIXER_PCM)
630#define SOUND_MASK_SPEAKER (1 << SOUND_MIXER_SPEAKER)
631#define SOUND_MASK_LINE (1 << SOUND_MIXER_LINE)
632#define SOUND_MASK_MIC (1 << SOUND_MIXER_MIC)
Ben Cheng654325d2012-03-07 21:13:49 -0800633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800634#define SOUND_MASK_CD (1 << SOUND_MIXER_CD)
635#define SOUND_MASK_IMIX (1 << SOUND_MIXER_IMIX)
636#define SOUND_MASK_ALTPCM (1 << SOUND_MIXER_ALTPCM)
637#define SOUND_MASK_RECLEV (1 << SOUND_MIXER_RECLEV)
Ben Cheng654325d2012-03-07 21:13:49 -0800638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800639#define SOUND_MASK_IGAIN (1 << SOUND_MIXER_IGAIN)
640#define SOUND_MASK_OGAIN (1 << SOUND_MIXER_OGAIN)
641#define SOUND_MASK_LINE1 (1 << SOUND_MIXER_LINE1)
642#define SOUND_MASK_LINE2 (1 << SOUND_MIXER_LINE2)
Ben Cheng654325d2012-03-07 21:13:49 -0800643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800644#define SOUND_MASK_LINE3 (1 << SOUND_MIXER_LINE3)
645#define SOUND_MASK_DIGITAL1 (1 << SOUND_MIXER_DIGITAL1)
646#define SOUND_MASK_DIGITAL2 (1 << SOUND_MIXER_DIGITAL2)
647#define SOUND_MASK_DIGITAL3 (1 << SOUND_MIXER_DIGITAL3)
Ben Cheng654325d2012-03-07 21:13:49 -0800648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800649#define SOUND_MASK_PHONEIN (1 << SOUND_MIXER_PHONEIN)
650#define SOUND_MASK_PHONEOUT (1 << SOUND_MIXER_PHONEOUT)
651#define SOUND_MASK_RADIO (1 << SOUND_MIXER_RADIO)
652#define SOUND_MASK_VIDEO (1 << SOUND_MIXER_VIDEO)
Ben Cheng654325d2012-03-07 21:13:49 -0800653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800654#define SOUND_MASK_MONITOR (1 << SOUND_MIXER_MONITOR)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800655#define SOUND_MASK_MUTE (1 << SOUND_MIXER_MUTE)
656#define SOUND_MASK_ENHANCE (1 << SOUND_MIXER_ENHANCE)
657#define SOUND_MASK_LOUD (1 << SOUND_MIXER_LOUD)
Ben Cheng654325d2012-03-07 21:13:49 -0800658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800659#define MIXER_READ(dev) _SIOR('M', dev, int)
660#define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME)
661#define SOUND_MIXER_READ_BASS MIXER_READ(SOUND_MIXER_BASS)
662#define SOUND_MIXER_READ_TREBLE MIXER_READ(SOUND_MIXER_TREBLE)
Ben Cheng654325d2012-03-07 21:13:49 -0800663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800664#define SOUND_MIXER_READ_SYNTH MIXER_READ(SOUND_MIXER_SYNTH)
665#define SOUND_MIXER_READ_PCM MIXER_READ(SOUND_MIXER_PCM)
666#define SOUND_MIXER_READ_SPEAKER MIXER_READ(SOUND_MIXER_SPEAKER)
667#define SOUND_MIXER_READ_LINE MIXER_READ(SOUND_MIXER_LINE)
Ben Cheng654325d2012-03-07 21:13:49 -0800668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800669#define SOUND_MIXER_READ_MIC MIXER_READ(SOUND_MIXER_MIC)
670#define SOUND_MIXER_READ_CD MIXER_READ(SOUND_MIXER_CD)
671#define SOUND_MIXER_READ_IMIX MIXER_READ(SOUND_MIXER_IMIX)
672#define SOUND_MIXER_READ_ALTPCM MIXER_READ(SOUND_MIXER_ALTPCM)
Ben Cheng654325d2012-03-07 21:13:49 -0800673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800674#define SOUND_MIXER_READ_RECLEV MIXER_READ(SOUND_MIXER_RECLEV)
675#define SOUND_MIXER_READ_IGAIN MIXER_READ(SOUND_MIXER_IGAIN)
676#define SOUND_MIXER_READ_OGAIN MIXER_READ(SOUND_MIXER_OGAIN)
677#define SOUND_MIXER_READ_LINE1 MIXER_READ(SOUND_MIXER_LINE1)
Ben Cheng654325d2012-03-07 21:13:49 -0800678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800679#define SOUND_MIXER_READ_LINE2 MIXER_READ(SOUND_MIXER_LINE2)
680#define SOUND_MIXER_READ_LINE3 MIXER_READ(SOUND_MIXER_LINE3)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800681#define SOUND_MIXER_READ_MUTE MIXER_READ(SOUND_MIXER_MUTE)
682#define SOUND_MIXER_READ_ENHANCE MIXER_READ(SOUND_MIXER_ENHANCE)
Ben Cheng654325d2012-03-07 21:13:49 -0800683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800684#define SOUND_MIXER_READ_LOUD MIXER_READ(SOUND_MIXER_LOUD)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800685#define SOUND_MIXER_READ_RECSRC MIXER_READ(SOUND_MIXER_RECSRC)
686#define SOUND_MIXER_READ_DEVMASK MIXER_READ(SOUND_MIXER_DEVMASK)
687#define SOUND_MIXER_READ_RECMASK MIXER_READ(SOUND_MIXER_RECMASK)
Ben Cheng654325d2012-03-07 21:13:49 -0800688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800689#define SOUND_MIXER_READ_STEREODEVS MIXER_READ(SOUND_MIXER_STEREODEVS)
690#define SOUND_MIXER_READ_CAPS MIXER_READ(SOUND_MIXER_CAPS)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800691#define MIXER_WRITE(dev) _SIOWR('M', dev, int)
692#define SOUND_MIXER_WRITE_VOLUME MIXER_WRITE(SOUND_MIXER_VOLUME)
Ben Cheng654325d2012-03-07 21:13:49 -0800693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800694#define SOUND_MIXER_WRITE_BASS MIXER_WRITE(SOUND_MIXER_BASS)
695#define SOUND_MIXER_WRITE_TREBLE MIXER_WRITE(SOUND_MIXER_TREBLE)
696#define SOUND_MIXER_WRITE_SYNTH MIXER_WRITE(SOUND_MIXER_SYNTH)
697#define SOUND_MIXER_WRITE_PCM MIXER_WRITE(SOUND_MIXER_PCM)
Ben Cheng654325d2012-03-07 21:13:49 -0800698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800699#define SOUND_MIXER_WRITE_SPEAKER MIXER_WRITE(SOUND_MIXER_SPEAKER)
700#define SOUND_MIXER_WRITE_LINE MIXER_WRITE(SOUND_MIXER_LINE)
701#define SOUND_MIXER_WRITE_MIC MIXER_WRITE(SOUND_MIXER_MIC)
702#define SOUND_MIXER_WRITE_CD MIXER_WRITE(SOUND_MIXER_CD)
Ben Cheng654325d2012-03-07 21:13:49 -0800703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800704#define SOUND_MIXER_WRITE_IMIX MIXER_WRITE(SOUND_MIXER_IMIX)
705#define SOUND_MIXER_WRITE_ALTPCM MIXER_WRITE(SOUND_MIXER_ALTPCM)
706#define SOUND_MIXER_WRITE_RECLEV MIXER_WRITE(SOUND_MIXER_RECLEV)
707#define SOUND_MIXER_WRITE_IGAIN MIXER_WRITE(SOUND_MIXER_IGAIN)
Ben Cheng654325d2012-03-07 21:13:49 -0800708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800709#define SOUND_MIXER_WRITE_OGAIN MIXER_WRITE(SOUND_MIXER_OGAIN)
710#define SOUND_MIXER_WRITE_LINE1 MIXER_WRITE(SOUND_MIXER_LINE1)
711#define SOUND_MIXER_WRITE_LINE2 MIXER_WRITE(SOUND_MIXER_LINE2)
712#define SOUND_MIXER_WRITE_LINE3 MIXER_WRITE(SOUND_MIXER_LINE3)
Ben Cheng654325d2012-03-07 21:13:49 -0800713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800714#define SOUND_MIXER_WRITE_MUTE MIXER_WRITE(SOUND_MIXER_MUTE)
715#define SOUND_MIXER_WRITE_ENHANCE MIXER_WRITE(SOUND_MIXER_ENHANCE)
716#define SOUND_MIXER_WRITE_LOUD MIXER_WRITE(SOUND_MIXER_LOUD)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800717#define SOUND_MIXER_WRITE_RECSRC MIXER_WRITE(SOUND_MIXER_RECSRC)
Ben Cheng654325d2012-03-07 21:13:49 -0800718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800719typedef struct mixer_info
720{
721 char id[16];
722 char name[32];
Ben Cheng654325d2012-03-07 21:13:49 -0800723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800724 int modify_counter;
725 int fillers[10];
726} mixer_info;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800727typedef struct _old_mixer_info
Ben Cheng654325d2012-03-07 21:13:49 -0800728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800729{
730 char id[16];
731 char name[32];
732} _old_mixer_info;
Ben Cheng654325d2012-03-07 21:13:49 -0800733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800734#define SOUND_MIXER_INFO _SIOR ('M', 101, mixer_info)
735#define SOUND_OLD_MIXER_INFO _SIOR ('M', 101, _old_mixer_info)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800736typedef unsigned char mixer_record[128];
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800737#define SOUND_MIXER_ACCESS _SIOWR('M', 102, mixer_record)
Ben Cheng654325d2012-03-07 21:13:49 -0800738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800739#define SOUND_MIXER_AGC _SIOWR('M', 103, int)
740#define SOUND_MIXER_3DSE _SIOWR('M', 104, int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800741#define SOUND_MIXER_PRIVATE1 _SIOWR('M', 111, int)
742#define SOUND_MIXER_PRIVATE2 _SIOWR('M', 112, int)
Ben Cheng654325d2012-03-07 21:13:49 -0800743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800744#define SOUND_MIXER_PRIVATE3 _SIOWR('M', 113, int)
745#define SOUND_MIXER_PRIVATE4 _SIOWR('M', 114, int)
746#define SOUND_MIXER_PRIVATE5 _SIOWR('M', 115, int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800747typedef struct mixer_vol_table {
Ben Cheng654325d2012-03-07 21:13:49 -0800748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800749 int num;
750 char name[32];
751 int levels[32];
752} mixer_vol_table;
Ben Cheng654325d2012-03-07 21:13:49 -0800753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800754#define SOUND_MIXER_GETLEVELS _SIOWR('M', 116, mixer_vol_table)
755#define SOUND_MIXER_SETLEVELS _SIOWR('M', 117, mixer_vol_table)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800756#define OSS_GETVERSION _SIOR ('M', 118, int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800757#define EV_SEQ_LOCAL 0x80
Ben Cheng654325d2012-03-07 21:13:49 -0800758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800759#define EV_TIMING 0x81
760#define EV_CHN_COMMON 0x92
761#define EV_CHN_VOICE 0x93
762#define EV_SYSEX 0x94
Ben Cheng654325d2012-03-07 21:13:49 -0800763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800764#define MIDI_NOTEOFF 0x80
765#define MIDI_NOTEON 0x90
766#define MIDI_KEY_PRESSURE 0xA0
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800767#define MIDI_CTL_CHANGE 0xB0
Ben Cheng654325d2012-03-07 21:13:49 -0800768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800769#define MIDI_PGM_CHANGE 0xC0
770#define MIDI_CHN_PRESSURE 0xD0
771#define MIDI_PITCH_BEND 0xE0
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800772#define MIDI_SYSTEM_PREFIX 0xF0
Ben Cheng654325d2012-03-07 21:13:49 -0800773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800774#define TMR_WAIT_REL 1
775#define TMR_WAIT_ABS 2
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800776#define TMR_STOP 3
777#define TMR_START 4
Ben Cheng654325d2012-03-07 21:13:49 -0800778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800779#define TMR_CONTINUE 5
780#define TMR_TEMPO 6
781#define TMR_ECHO 8
Elliott Hughesc95eb572013-01-29 18:15:55 -0800782#define TMR_CLOCK 9
Ben Cheng654325d2012-03-07 21:13:49 -0800783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800784#define TMR_SPP 10
785#define TMR_TIMESIG 11
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800786#define LOCL_STARTAUDIO 1
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800787#if !defined(__KERNEL__) && !defined(KERNEL) && !defined(INKERNEL) && !defined(_KERNEL) || defined(USE_SEQ_MACROS)
Ben Cheng654325d2012-03-07 21:13:49 -0800788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800789#define SEQ_DECLAREBUF() SEQ_USE_EXTBUF()
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800790#define SEQ_PM_DEFINES int __foo_bar___
791#ifdef OSSLIB
792#define SEQ_USE_EXTBUF() extern unsigned char *_seqbuf; extern int _seqbuflen;extern int _seqbufptr
Ben Cheng654325d2012-03-07 21:13:49 -0800793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800794#define SEQ_DEFINEBUF(len) SEQ_USE_EXTBUF();static int _requested_seqbuflen=len
795#define _SEQ_ADVBUF(len) OSS_seq_advbuf(len, seqfd, _seqbuf, _seqbuflen)
796#define _SEQ_NEEDBUF(len) OSS_seq_needbuf(len, seqfd, _seqbuf, _seqbuflen)
797#define SEQ_DUMPBUF() OSS_seqbuf_dump(seqfd, _seqbuf, _seqbuflen)
Ben Cheng654325d2012-03-07 21:13:49 -0800798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800799#define SEQ_LOAD_GMINSTR(dev, instr) OSS_patch_caching(dev, -1, instr, seqfd, _seqbuf, _seqbuflen)
800#define SEQ_LOAD_GMDRUM(dev, drum) OSS_drum_caching(dev, -1, drum, seqfd, _seqbuf, _seqbuflen)
801#else
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800802#define SEQ_LOAD_GMINSTR(dev, instr)
Ben Cheng654325d2012-03-07 21:13:49 -0800803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800804#define SEQ_LOAD_GMDRUM(dev, drum)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800805#define SEQ_USE_EXTBUF() extern unsigned char _seqbuf[]; extern int _seqbuflen;extern int _seqbufptr
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800806#ifndef USE_SIMPLE_MACROS
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800807#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len;int _seqbufptr = 0
Ben Cheng654325d2012-03-07 21:13:49 -0800808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800809#define _SEQ_NEEDBUF(len) if ((_seqbufptr+(len)) > _seqbuflen) seqbuf_dump()
810#define _SEQ_ADVBUF(len) _seqbufptr += len
811#define SEQ_DUMPBUF seqbuf_dump
812#else
Ben Cheng654325d2012-03-07 21:13:49 -0800813/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800814#define _SEQ_NEEDBUF(len)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800815#endif
816#endif
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800817#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);}
Ben Cheng654325d2012-03-07 21:13:49 -0800818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800819#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);}
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800820#define SEQ_START_NOTE(dev, chn, note, vol) _CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800821#define SEQ_STOP_NOTE(dev, chn, note, vol) _CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800822#define SEQ_KEY_PRESSURE(dev, chn, note, pressure) _CHN_VOICE(dev, MIDI_KEY_PRESSURE, chn, note, pressure)
Ben Cheng654325d2012-03-07 21:13:49 -0800823/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800824#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);}
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800825#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);}
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800826#define SEQ_CHN_PRESSURE(dev, chn, pressure) _CHN_COMMON(dev, MIDI_CHN_PRESSURE, chn, pressure, 0, 0)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800827#define SEQ_SET_PATCH SEQ_PGM_CHANGE
Ben Cheng654325d2012-03-07 21:13:49 -0800828/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800829#ifdef OSSLIB
830#define SEQ_PGM_CHANGE(dev, chn, patch) {OSS_patch_caching(dev, chn, patch, seqfd, _seqbuf, _seqbuflen); _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0);}
831#else
832#define SEQ_PGM_CHANGE(dev, chn, patch) _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0)
Ben Cheng654325d2012-03-07 21:13:49 -0800833/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800834#endif
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800835#define SEQ_CONTROL(dev, chn, controller, value) _CHN_COMMON(dev, MIDI_CTL_CHANGE, chn, controller, 0, value)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800836#define SEQ_BENDER(dev, chn, value) _CHN_COMMON(dev, MIDI_PITCH_BEND, chn, 0, 0, value)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800837#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);}
Ben Cheng654325d2012-03-07 21:13:49 -0800838/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800839#define SEQ_PITCHBEND(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value)
840#define SEQ_BENDER_RANGE(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value)
841#define SEQ_EXPRESSION(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_EXPRESSION, value*128)
842#define SEQ_MAIN_VOLUME(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_MAIN_VOLUME, (value*16383)/100)
Ben Cheng654325d2012-03-07 21:13:49 -0800843/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800844#define SEQ_PANNING(dev, voice, pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos+128) / 2)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800845#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);}
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800846#define SEQ_START_TIMER() _TIMER_EVENT(TMR_START, 0)
847#define SEQ_STOP_TIMER() _TIMER_EVENT(TMR_STOP, 0)
Ben Cheng654325d2012-03-07 21:13:49 -0800848/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800849#define SEQ_CONTINUE_TIMER() _TIMER_EVENT(TMR_CONTINUE, 0)
850#define SEQ_WAIT_TIME(ticks) _TIMER_EVENT(TMR_WAIT_ABS, ticks)
851#define SEQ_DELTA_TIME(ticks) _TIMER_EVENT(TMR_WAIT_REL, ticks)
852#define SEQ_ECHO_BACK(key) _TIMER_EVENT(TMR_ECHO, key)
Ben Cheng654325d2012-03-07 21:13:49 -0800853/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800854#define SEQ_SET_TEMPO(value) _TIMER_EVENT(TMR_TEMPO, value)
855#define SEQ_SONGPOS(pos) _TIMER_EVENT(TMR_SPP, pos)
856#define SEQ_TIME_SIGNATURE(sig) _TIMER_EVENT(TMR_TIMESIG, sig)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800857#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);}
Ben Cheng654325d2012-03-07 21:13:49 -0800858/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800859#define SEQ_PLAYAUDIO(devmask) _LOCAL_EVENT(LOCL_STARTAUDIO, devmask)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800860#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);}
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800861#ifdef OSSLIB
862#define SEQ_WRPATCH(patchx, len) OSS_write_patch(seqfd, (char*)(patchx), len)
Ben Cheng654325d2012-03-07 21:13:49 -0800863/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800864#define SEQ_WRPATCH2(patchx, len) OSS_write_patch2(seqfd, (char*)(patchx), len)
865#else
866#define SEQ_WRPATCH(patchx, len) {if (_seqbufptr) SEQ_DUMPBUF(); if (write(seqfd, (char*)(patchx), len)==-1) perror("Write patch: /dev/sequencer");}
867#define SEQ_WRPATCH2(patchx, len) (SEQ_DUMPBUF(), write(seqfd, (char*)(patchx), len))
Ben Cheng654325d2012-03-07 21:13:49 -0800868/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800869#endif
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800870#endif
871#endif