• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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