122851890Sopenharmony_ci/* 222851890Sopenharmony_ci * This header was generated from the Linux kernel headers by update_headers.py, 322851890Sopenharmony_ci * to provide necessary information from kernel to userspace, such as constants, 422851890Sopenharmony_ci * structures, and macros, and thus, contains no copyrightable information. 522851890Sopenharmony_ci */ 622851890Sopenharmony_ci#ifndef __SOUND_ASOUND_FM_H 722851890Sopenharmony_ci#define __SOUND_ASOUND_FM_H 822851890Sopenharmony_ci#define SNDRV_DM_FM_MODE_OPL2 0x00 922851890Sopenharmony_ci#define SNDRV_DM_FM_MODE_OPL3 0x01 1022851890Sopenharmony_cistruct snd_dm_fm_info { 1122851890Sopenharmony_ci unsigned char fm_mode; 1222851890Sopenharmony_ci unsigned char rhythm; 1322851890Sopenharmony_ci}; 1422851890Sopenharmony_cistruct snd_dm_fm_voice { 1522851890Sopenharmony_ci unsigned char op; 1622851890Sopenharmony_ci unsigned char voice; 1722851890Sopenharmony_ci unsigned char am; 1822851890Sopenharmony_ci unsigned char vibrato; 1922851890Sopenharmony_ci unsigned char do_sustain; 2022851890Sopenharmony_ci unsigned char kbd_scale; 2122851890Sopenharmony_ci unsigned char harmonic; 2222851890Sopenharmony_ci unsigned char scale_level; 2322851890Sopenharmony_ci unsigned char volume; 2422851890Sopenharmony_ci unsigned char attack; 2522851890Sopenharmony_ci unsigned char decay; 2622851890Sopenharmony_ci unsigned char sustain; 2722851890Sopenharmony_ci unsigned char release; 2822851890Sopenharmony_ci unsigned char feedback; 2922851890Sopenharmony_ci unsigned char connection; 3022851890Sopenharmony_ci unsigned char left; 3122851890Sopenharmony_ci unsigned char right; 3222851890Sopenharmony_ci unsigned char waveform; 3322851890Sopenharmony_ci}; 3422851890Sopenharmony_cistruct snd_dm_fm_note { 3522851890Sopenharmony_ci unsigned char voice; 3622851890Sopenharmony_ci unsigned char octave; 3722851890Sopenharmony_ci unsigned int fnum; 3822851890Sopenharmony_ci unsigned char key_on; 3922851890Sopenharmony_ci}; 4022851890Sopenharmony_cistruct snd_dm_fm_params { 4122851890Sopenharmony_ci unsigned char am_depth; 4222851890Sopenharmony_ci unsigned char vib_depth; 4322851890Sopenharmony_ci unsigned char kbd_split; 4422851890Sopenharmony_ci unsigned char rhythm; 4522851890Sopenharmony_ci 4622851890Sopenharmony_ci unsigned char bass; 4722851890Sopenharmony_ci unsigned char snare; 4822851890Sopenharmony_ci unsigned char tomtom; 4922851890Sopenharmony_ci unsigned char cymbal; 5022851890Sopenharmony_ci unsigned char hihat; 5122851890Sopenharmony_ci}; 5222851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_INFO _IOR('H', 0x20, struct snd_dm_fm_info) 5322851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_RESET _IO ('H', 0x21) 5422851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_PLAY_NOTE _IOW('H', 0x22, struct snd_dm_fm_note) 5522851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_SET_VOICE _IOW('H', 0x23, struct snd_dm_fm_voice) 5622851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_SET_PARAMS _IOW('H', 0x24, struct snd_dm_fm_params) 5722851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_SET_MODE _IOW('H', 0x25, int) 5822851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_SET_CONNECTION _IOW('H', 0x26, int) 5922851890Sopenharmony_ci#define SNDRV_DM_FM_IOCTL_CLEAR_PATCHES _IO ('H', 0x40) 6022851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_RESET 0x20 6122851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_PLAY_NOTE 0x21 6222851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_SET_VOICE 0x22 6322851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_SET_PARAMS 0x23 6422851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_SET_MODE 0x24 6522851890Sopenharmony_ci#define SNDRV_DM_FM_OSS_IOCTL_SET_OPL 0x25 6622851890Sopenharmony_ci#define FM_KEY_SBI "SBI\032" 6722851890Sopenharmony_ci#define FM_KEY_2OP "2OP\032" 6822851890Sopenharmony_ci#define FM_KEY_4OP "4OP\032" 6922851890Sopenharmony_cistruct sbi_patch { 7022851890Sopenharmony_ci unsigned char prog; 7122851890Sopenharmony_ci unsigned char bank; 7222851890Sopenharmony_ci char key[4]; 7322851890Sopenharmony_ci char name[25]; 7422851890Sopenharmony_ci char extension[7]; 7522851890Sopenharmony_ci unsigned char data[32]; 7622851890Sopenharmony_ci}; 7722851890Sopenharmony_ci#endif 78