122851890Sopenharmony_ci/**************************************************************************** 222851890Sopenharmony_ci **************************************************************************** 322851890Sopenharmony_ci *** 422851890Sopenharmony_ci *** This header was automatically generated from a Linux kernel header 522851890Sopenharmony_ci *** of the same name, to make information necessary for userspace to 622851890Sopenharmony_ci *** call into the kernel available to libc. It contains only constants, 722851890Sopenharmony_ci *** structures, and macros generated from the original header, and thus, 822851890Sopenharmony_ci *** contains no copyrightable information. 922851890Sopenharmony_ci *** 1022851890Sopenharmony_ci *** To edit the content of this header, modify the corresponding 1122851890Sopenharmony_ci *** source file (e.g. under external/kernel-headers/original/) then 1222851890Sopenharmony_ci *** run bionic/libc/kernel/tools/update_all.py 1322851890Sopenharmony_ci *** 1422851890Sopenharmony_ci *** Any manual change here will be lost the next time this script will 1522851890Sopenharmony_ci *** be run. You've been warned! 1622851890Sopenharmony_ci *** 1722851890Sopenharmony_ci **************************************************************************** 1822851890Sopenharmony_ci ****************************************************************************/ 1922851890Sopenharmony_ci#ifndef __SOUND_ASOUND_FM_H 2022851890Sopenharmony_ci#define __SOUND_ASOUND_FM_H 2122851890Sopenharmony_ci#define SNDRV_DM_FM_MODE_OPL2 0x00 2222851890Sopenharmony_ci#define SNDRV_DM_FM_MODE_OPL3 0x01 2322851890Sopenharmony_cistruct snd_dm_fm_info { 2422851890Sopenharmony_ci unsigned char fm_mode; 2522851890Sopenharmony_ci unsigned char rhythm; 2622851890Sopenharmony_ci}; 2722851890Sopenharmony_cistruct snd_dm_fm_voice { 2822851890Sopenharmony_ci unsigned char op; 2922851890Sopenharmony_ci unsigned char voice; 3022851890Sopenharmony_ci unsigned char am; 3122851890Sopenharmony_ci unsigned char vibrato; 3222851890Sopenharmony_ci unsigned char do_sustain; 3322851890Sopenharmony_ci unsigned char kbd_scale; 3422851890Sopenharmony_ci unsigned char harmonic; 3522851890Sopenharmony_ci unsigned char scale_level; 3622851890Sopenharmony_ci unsigned char volume; 3722851890Sopenharmony_ci unsigned char attack; 3822851890Sopenharmony_ci unsigned char decay; 3922851890Sopenharmony_ci unsigned char sustain; 4022851890Sopenharmony_ci unsigned char release; 4122851890Sopenharmony_ci unsigned char feedback; 4222851890Sopenharmony_ci unsigned char connection; 4322851890Sopenharmony_ci unsigned char left; 4422851890Sopenharmony_ci unsigned char right; 4522851890Sopenharmony_ci unsigned char waveform; 4622851890Sopenharmony_ci}; 4722851890Sopenharmony_cistruct snd_dm_fm_note { 4822851890Sopenharmony_ci unsigned char voice; 4922851890Sopenharmony_ci unsigned char octave; 5022851890Sopenharmony_ci unsigned int fnum; 5122851890Sopenharmony_ci unsigned char key_on; 5222851890Sopenharmony_ci}; 5322851890Sopenharmony_cistruct snd_dm_fm_params { 5422851890Sopenharmony_ci unsigned char am_depth; 5522851890Sopenharmony_ci unsigned char vib_depth; 5622851890Sopenharmony_ci unsigned char kbd_split; 5722851890Sopenharmony_ci unsigned char rhythm; 5822851890Sopenharmony_ci unsigned char bass; 5922851890Sopenharmony_ci unsigned char snare; 6022851890Sopenharmony_ci unsigned char tomtom; 6122851890Sopenharmony_ci unsigned char cymbal; 6222851890Sopenharmony_ci unsigned char hihat; 6322851890Sopenharmony_ci}; 6422851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_INFO _IOR('H', 0x20, struct snd_dm_fm_info) 6522851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_RESET _IO('H', 0x21) 6622851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_PLAY_NOTE _IOW('H', 0x22, struct snd_dm_fm_note) 6722851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_SET_VOICE _IOW('H', 0x23, struct snd_dm_fm_voice) 6822851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_SET_PARAMS _IOW('H', 0x24, struct snd_dm_fm_params) 6922851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_SET_MODE _IOW('H', 0x25, int) 7022851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_SET_CONNECTION _IOW('H', 0x26, int) 7122851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_CLEAR_PATCHES _IO('H', 0x40) 7222851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_RESET 0x20 7322851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_PLAY_NOTE 0x21 7422851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_SET_VOICE 0x22 7522851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_SET_PARAMS 0x23 7622851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_SET_MODE 0x24 7722851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_SET_OPL 0x25 7822851890Sopenharmony_ci#define FM_KEY_SBI "SBI\032" 7922851890Sopenharmony_ci#define FM_KEY_2OP "2OP\032" 8022851890Sopenharmony_ci#define FM_KEY_4OP "4OP\032" 8122851890Sopenharmony_cistruct sbi_patch { 8222851890Sopenharmony_ci unsigned char prog; 8322851890Sopenharmony_ci unsigned char bank; 8422851890Sopenharmony_ci char key[4]; 8522851890Sopenharmony_ci char name[25]; 8622851890Sopenharmony_ci char extension[7]; 8722851890Sopenharmony_ci unsigned char data[32]; 8822851890Sopenharmony_ci}; 8922851890Sopenharmony_ci#endif 90