• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef __SOUND_ASOUND_FM_H
7 #define __SOUND_ASOUND_FM_H
8 #define SNDRV_DM_FM_MODE_OPL2	0x00
9 #define SNDRV_DM_FM_MODE_OPL3	0x01
10 struct snd_dm_fm_info {
11 	unsigned char fm_mode;
12 	unsigned char rhythm;
13 };
14 struct snd_dm_fm_voice {
15 	unsigned char op;
16 	unsigned char voice;
17 	unsigned char am;
18 	unsigned char vibrato;
19 	unsigned char do_sustain;
20 	unsigned char kbd_scale;
21 	unsigned char harmonic;
22 	unsigned char scale_level;
23 	unsigned char volume;
24 	unsigned char attack;
25 	unsigned char decay;
26 	unsigned char sustain;
27 	unsigned char release;
28 	unsigned char feedback;
29 	unsigned char connection;
30 	unsigned char left;
31 	unsigned char right;
32 	unsigned char waveform;
33 };
34 struct snd_dm_fm_note {
35 	unsigned char voice;
36 	unsigned char octave;
37 	unsigned int fnum;
38 	unsigned char key_on;
39 };
40 struct snd_dm_fm_params {
41 	unsigned char am_depth;
42 	unsigned char vib_depth;
43 	unsigned char kbd_split;
44 	unsigned char rhythm;
45 
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