/**************************************************************************** **************************************************************************** *** *** This header was automatically generated from a Linux kernel header *** of the same name, to make information necessary for userspace to *** call into the kernel available to libc. It contains only constants, *** structures, and macros generated from the original header, and thus, *** contains no copyrightable information. *** *** To edit the content of this header, modify the corresponding *** source file (e.g. under external/kernel-headers/original/) then *** run bionic/libc/kernel/tools/update_all.py *** *** Any manual change here will be lost the next time this script will *** be run. You've been warned! *** **************************************************************************** ****************************************************************************/ #ifndef __SOUND_SFNT_INFO_H #define __SOUND_SFNT_INFO_H #include #ifdef SNDRV_BIG_ENDIAN #define SNDRV_OSS_PATCHKEY(id) (0xfd00 | id) #else #define SNDRV_OSS_PATCHKEY(id) ((id << 8) | 0xfd) #endif struct soundfont_patch_info { unsigned short key; #define SNDRV_OSS_SOUNDFONT_PATCH SNDRV_OSS_PATCHKEY(0x07) short device_no; unsigned short sf_id; short optarg; int len; short type; #define SNDRV_SFNT_LOAD_INFO 0 #define SNDRV_SFNT_LOAD_DATA 1 #define SNDRV_SFNT_OPEN_PATCH 2 #define SNDRV_SFNT_CLOSE_PATCH 3 #define SNDRV_SFNT_REPLACE_DATA 5 #define SNDRV_SFNT_MAP_PRESET 6 #define SNDRV_SFNT_PROBE_DATA 8 #define SNDRV_SFNT_REMOVE_INFO 9 short reserved; }; #define SNDRV_SFNT_PATCH_NAME_LEN 32 struct soundfont_open_parm { unsigned short type; #define SNDRV_SFNT_PAT_TYPE_MISC 0 #define SNDRV_SFNT_PAT_TYPE_GUS 6 #define SNDRV_SFNT_PAT_TYPE_MAP 7 #define SNDRV_SFNT_PAT_LOCKED 0x100 #define SNDRV_SFNT_PAT_SHARED 0x200 short reserved; char name[SNDRV_SFNT_PATCH_NAME_LEN]; }; struct soundfont_voice_parm { unsigned short moddelay; unsigned short modatkhld; unsigned short moddcysus; unsigned short modrelease; short modkeyhold, modkeydecay; unsigned short voldelay; unsigned short volatkhld; unsigned short voldcysus; unsigned short volrelease; short volkeyhold, volkeydecay; unsigned short lfo1delay; unsigned short lfo2delay; unsigned short pefe; unsigned short fmmod; unsigned short tremfrq; unsigned short fm2frq2; unsigned char cutoff; unsigned char filterQ; unsigned char chorus; unsigned char reverb; unsigned short reserved[4]; }; struct soundfont_voice_info { unsigned short sf_id; unsigned short sample; int start, end; int loopstart, loopend; short rate_offset; unsigned short mode; #define SNDRV_SFNT_MODE_ROMSOUND 0x8000 #define SNDRV_SFNT_MODE_STEREO 1 #define SNDRV_SFNT_MODE_LOOPING 2 #define SNDRV_SFNT_MODE_NORELEASE 4 #define SNDRV_SFNT_MODE_INIT_PARM 8 short root; short tune; unsigned char low, high; unsigned char vellow, velhigh; signed char fixkey, fixvel; signed char pan, fixpan; short exclusiveClass; unsigned char amplitude; unsigned char attenuation; short scaleTuning; struct soundfont_voice_parm parm; unsigned short sample_mode; }; struct soundfont_voice_rec_hdr { unsigned char bank; unsigned char instr; char nvoices; char write_mode; #define SNDRV_SFNT_WR_APPEND 0 #define SNDRV_SFNT_WR_EXCLUSIVE 1 #define SNDRV_SFNT_WR_REPLACE 2 }; struct soundfont_sample_info { unsigned short sf_id; unsigned short sample; int start, end; int loopstart, loopend; int size; short dummy; unsigned short mode_flags; #define SNDRV_SFNT_SAMPLE_8BITS 1 #define SNDRV_SFNT_SAMPLE_UNSIGNED 2 #define SNDRV_SFNT_SAMPLE_NO_BLANK 4 #define SNDRV_SFNT_SAMPLE_SINGLESHOT 8 #define SNDRV_SFNT_SAMPLE_BIDIR_LOOP 16 #define SNDRV_SFNT_SAMPLE_STEREO_LEFT 32 #define SNDRV_SFNT_SAMPLE_STEREO_RIGHT 64 #define SNDRV_SFNT_SAMPLE_REVERSE_LOOP 128 unsigned int truesize; }; struct soundfont_voice_map { int map_bank, map_instr, map_key; int src_bank, src_instr, src_key; }; #define SNDRV_EMUX_HWDEP_NAME "Emux WaveTable" #define SNDRV_EMUX_VERSION ((1 << 16) | (0 << 8) | 0) struct snd_emux_misc_mode { int port; int mode; int value; int value2; }; #define SNDRV_EMUX_IOCTL_VERSION _IOR('H', 0x80, unsigned int) #define SNDRV_EMUX_IOCTL_LOAD_PATCH _IOWR('H', 0x81, struct soundfont_patch_info) #define SNDRV_EMUX_IOCTL_RESET_SAMPLES _IO('H', 0x82) #define SNDRV_EMUX_IOCTL_REMOVE_LAST_SAMPLES _IO('H', 0x83) #define SNDRV_EMUX_IOCTL_MEM_AVAIL _IOW('H', 0x84, int) #define SNDRV_EMUX_IOCTL_MISC_MODE _IOWR('H', 0x84, struct snd_emux_misc_mode) #endif