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