1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef __SOUND_ASOUND_FM_H 8 #define __SOUND_ASOUND_FM_H 9 #define SNDRV_DM_FM_MODE_OPL2 0x00 10 #define SNDRV_DM_FM_MODE_OPL3 0x01 11 struct snd_dm_fm_info { 12 unsigned char fm_mode; 13 unsigned char rhythm; 14 }; 15 struct snd_dm_fm_voice { 16 unsigned char op; 17 unsigned char voice; 18 unsigned char am; 19 unsigned char vibrato; 20 unsigned char do_sustain; 21 unsigned char kbd_scale; 22 unsigned char harmonic; 23 unsigned char scale_level; 24 unsigned char volume; 25 unsigned char attack; 26 unsigned char decay; 27 unsigned char sustain; 28 unsigned char release; 29 unsigned char feedback; 30 unsigned char connection; 31 unsigned char left; 32 unsigned char right; 33 unsigned char waveform; 34 }; 35 struct snd_dm_fm_note { 36 unsigned char voice; 37 unsigned char octave; 38 unsigned int fnum; 39 unsigned char key_on; 40 }; 41 struct snd_dm_fm_params { 42 unsigned char am_depth; 43 unsigned char vib_depth; 44 unsigned char kbd_split; 45 unsigned char rhythm; 46 unsigned char bass; 47 unsigned char snare; 48 unsigned char tomtom; 49 unsigned char cymbal; 50 unsigned char hihat; 51 }; 52 #define SNDRV_DM_FM_IOCTL_INFO _IOR('H', 0x20, struct snd_dm_fm_info) 53 #define SNDRV_DM_FM_IOCTL_RESET _IO('H', 0x21) 54 #define SNDRV_DM_FM_IOCTL_PLAY_NOTE _IOW('H', 0x22, struct snd_dm_fm_note) 55 #define SNDRV_DM_FM_IOCTL_SET_VOICE _IOW('H', 0x23, struct snd_dm_fm_voice) 56 #define SNDRV_DM_FM_IOCTL_SET_PARAMS _IOW('H', 0x24, struct snd_dm_fm_params) 57 #define SNDRV_DM_FM_IOCTL_SET_MODE _IOW('H', 0x25, int) 58 #define SNDRV_DM_FM_IOCTL_SET_CONNECTION _IOW('H', 0x26, int) 59 #define SNDRV_DM_FM_IOCTL_CLEAR_PATCHES _IO('H', 0x40) 60 #define SNDRV_DM_FM_OSS_IOCTL_RESET 0x20 61 #define SNDRV_DM_FM_OSS_IOCTL_PLAY_NOTE 0x21 62 #define SNDRV_DM_FM_OSS_IOCTL_SET_VOICE 0x22 63 #define SNDRV_DM_FM_OSS_IOCTL_SET_PARAMS 0x23 64 #define SNDRV_DM_FM_OSS_IOCTL_SET_MODE 0x24 65 #define SNDRV_DM_FM_OSS_IOCTL_SET_OPL 0x25 66 #define FM_KEY_SBI "SBI\032" 67 #define FM_KEY_2OP "2OP\032" 68 #define FM_KEY_4OP "4OP\032" 69 struct sbi_patch { 70 unsigned char prog; 71 unsigned char bank; 72 char key[4]; 73 char name[25]; 74 char extension[7]; 75 unsigned char data[32]; 76 }; 77 #endif 78