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 __SOUND_SFNT_INFO_H
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define __SOUND_SFNT_INFO_H
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <sound/asound.h>
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifdef SNDRV_BIG_ENDIAN
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_OSS_PATCHKEY(id) (0xfd00 | id)
25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#else
26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_OSS_PATCHKEY(id) ((id << 8) | 0xfd)
27655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct soundfont_patch_info {
30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short key;
31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_OSS_SOUNDFONT_PATCH SNDRV_OSS_PATCHKEY(0x07)
32d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short device_no;
33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short sf_id;
35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short optarg;
36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int len;
37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short type;
38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_LOAD_INFO 0
40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_LOAD_DATA 1
41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_OPEN_PATCH 2
42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_CLOSE_PATCH 3
43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_REPLACE_DATA 5
45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_MAP_PRESET 6
46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_PROBE_DATA 8
47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_REMOVE_INFO 9
48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short reserved;
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_PATCH_NAME_LEN 32
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct soundfont_open_parm {
53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short type;
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_PAT_TYPE_MISC 0
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_PAT_TYPE_GUS 6
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_PAT_TYPE_MAP 7
58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_PAT_LOCKED 0x100
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_PAT_SHARED 0x200
61d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short reserved;
62d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char name[SNDRV_SFNT_PATCH_NAME_LEN];
63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct soundfont_voice_parm {
66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short moddelay;
67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short modatkhld;
68d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short moddcysus;
70d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short modrelease;
71d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short modkeyhold, modkeydecay;
72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short voldelay;
73d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short volatkhld;
75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short voldcysus;
76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short volrelease;
77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short volkeyhold, volkeydecay;
78d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short lfo1delay;
80d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short lfo2delay;
81d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short pefe;
82d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short fmmod;
83d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short tremfrq;
85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short fm2frq2;
86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char cutoff;
87d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char filterQ;
88d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char chorus;
90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char reverb;
91d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short reserved[4];
92655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct soundfont_voice_info {
95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short sf_id;
96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short sample;
97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int start, end;
98655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int loopstart, loopend;
100d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short rate_offset;
101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short mode;
102655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_MODE_ROMSOUND 0x8000
103655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_MODE_STEREO 1
105655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_MODE_LOOPING 2
106655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_MODE_NORELEASE 4
107655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_MODE_INIT_PARM 8
108655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short root;
110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short tune;
111d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char low, high;
112d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char vellow, velhigh;
113655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  signed char fixkey, fixvel;
115d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  signed char pan, fixpan;
116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short exclusiveClass;
117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char amplitude;
118655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char attenuation;
120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short scaleTuning;
121d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct soundfont_voice_parm parm;
122d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short sample_mode;
123655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
125655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct soundfont_voice_rec_hdr {
126d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char bank;
127d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned char instr;
128655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char nvoices;
130d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  char write_mode;
131655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_WR_APPEND 0
132655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_WR_EXCLUSIVE 1
133655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_WR_REPLACE 2
135655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
136655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct soundfont_sample_info {
137d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short sf_id;
138655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short sample;
140d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int start, end;
141d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int loopstart, loopend;
142d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int size;
143655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  short dummy;
145d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned short mode_flags;
146655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_SAMPLE_8BITS 1
147655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_SAMPLE_UNSIGNED 2
148655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_SAMPLE_NO_BLANK 4
150655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_SAMPLE_SINGLESHOT 8
151655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_SAMPLE_BIDIR_LOOP 16
152655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_SAMPLE_STEREO_LEFT 32
153655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_SAMPLE_STEREO_RIGHT 64
155655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SFNT_SAMPLE_REVERSE_LOOP 128
156d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int truesize;
157655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
158655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct soundfont_voice_map {
160d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int map_bank, map_instr, map_key;
161d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int src_bank, src_instr, src_key;
162655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
163655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_EMUX_HWDEP_NAME "Emux WaveTable"
165655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_EMUX_VERSION ((1 << 16) | (0 << 8) | 0)
166655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_emux_misc_mode {
167d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int port;
168655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int mode;
170d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int value;
171d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int value2;
172655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
173655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_EMUX_IOCTL_VERSION _IOR('H', 0x80, unsigned int)
175655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_EMUX_IOCTL_LOAD_PATCH _IOWR('H', 0x81, struct soundfont_patch_info)
176655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_EMUX_IOCTL_RESET_SAMPLES _IO('H', 0x82)
177655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_EMUX_IOCTL_REMOVE_LAST_SAMPLES _IO('H', 0x83)
178655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_EMUX_IOCTL_MEM_AVAIL _IOW('H', 0x84, int)
180655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_EMUX_IOCTL_MISC_MODE _IOWR('H', 0x84, struct snd_emux_misc_mode)
181655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
182