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