1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __SOUND_ASOUND_FM_H
20 #define __SOUND_ASOUND_FM_H
21 #define SNDRV_DM_FM_MODE_OPL2 0x00
22 #define SNDRV_DM_FM_MODE_OPL3 0x01
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 struct snd_dm_fm_info {
25   unsigned char fm_mode;
26   unsigned char rhythm;
27 };
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 struct snd_dm_fm_voice {
30   unsigned char op;
31   unsigned char voice;
32   unsigned char am;
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   unsigned char vibrato;
35   unsigned char do_sustain;
36   unsigned char kbd_scale;
37   unsigned char harmonic;
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   unsigned char scale_level;
40   unsigned char volume;
41   unsigned char attack;
42   unsigned char decay;
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   unsigned char sustain;
45   unsigned char release;
46   unsigned char feedback;
47   unsigned char connection;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   unsigned char left;
50   unsigned char right;
51   unsigned char waveform;
52 };
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 struct snd_dm_fm_note {
55   unsigned char voice;
56   unsigned char octave;
57   unsigned int fnum;
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   unsigned char key_on;
60 };
61 struct snd_dm_fm_params {
62   unsigned char am_depth;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   unsigned char vib_depth;
65   unsigned char kbd_split;
66   unsigned char rhythm;
67   unsigned char bass;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   unsigned char snare;
70   unsigned char tomtom;
71   unsigned char cymbal;
72   unsigned char hihat;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 };
75 #define SNDRV_DM_FM_IOCTL_INFO _IOR('H', 0x20, struct snd_dm_fm_info)
76 #define SNDRV_DM_FM_IOCTL_RESET _IO('H', 0x21)
77 #define SNDRV_DM_FM_IOCTL_PLAY_NOTE _IOW('H', 0x22, struct snd_dm_fm_note)
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 #define SNDRV_DM_FM_IOCTL_SET_VOICE _IOW('H', 0x23, struct snd_dm_fm_voice)
80 #define SNDRV_DM_FM_IOCTL_SET_PARAMS _IOW('H', 0x24, struct snd_dm_fm_params)
81 #define SNDRV_DM_FM_IOCTL_SET_MODE _IOW('H', 0x25, int)
82 #define SNDRV_DM_FM_IOCTL_SET_CONNECTION _IOW('H', 0x26, int)
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 #define SNDRV_DM_FM_IOCTL_CLEAR_PATCHES _IO('H', 0x40)
85 #define SNDRV_DM_FM_OSS_IOCTL_RESET 0x20
86 #define SNDRV_DM_FM_OSS_IOCTL_PLAY_NOTE 0x21
87 #define SNDRV_DM_FM_OSS_IOCTL_SET_VOICE 0x22
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 #define SNDRV_DM_FM_OSS_IOCTL_SET_PARAMS 0x23
90 #define SNDRV_DM_FM_OSS_IOCTL_SET_MODE 0x24
91 #define SNDRV_DM_FM_OSS_IOCTL_SET_OPL 0x25
92 #define FM_KEY_SBI "SBI\032"
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 #define FM_KEY_2OP "2OP\032"
95 #define FM_KEY_4OP "4OP\032"
96 struct sbi_patch {
97   unsigned char prog;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99   unsigned char bank;
100   char key[4];
101   char name[25];
102   char extension[7];
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104   unsigned char data[32];
105 };
106 #endif
107