• 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 _UAPI__SOUND_SB16_CSP_H
7 #define _UAPI__SOUND_SB16_CSP_H
8 #define SNDRV_SB_CSP_MODE_NONE		0x00
9 #define SNDRV_SB_CSP_MODE_DSP_READ	0x01
10 #define SNDRV_SB_CSP_MODE_DSP_WRITE	0x02
11 #define SNDRV_SB_CSP_MODE_QSOUND		0x04
12 #define SNDRV_SB_CSP_LOAD_FROMUSER	0x01
13 #define SNDRV_SB_CSP_LOAD_INITBLOCK	0x02
14 #define SNDRV_SB_CSP_SAMPLE_8BIT		0x01
15 #define SNDRV_SB_CSP_SAMPLE_16BIT		0x02
16 #define SNDRV_SB_CSP_MONO			0x01
17 #define SNDRV_SB_CSP_STEREO		0x02
18 #define SNDRV_SB_CSP_RATE_8000		0x01
19 #define SNDRV_SB_CSP_RATE_11025		0x02
20 #define SNDRV_SB_CSP_RATE_22050		0x04
21 #define SNDRV_SB_CSP_RATE_44100		0x08
22 #define SNDRV_SB_CSP_RATE_ALL		0x0f
23 #define SNDRV_SB_CSP_ST_IDLE		0x00
24 #define SNDRV_SB_CSP_ST_LOADED		0x01
25 #define SNDRV_SB_CSP_ST_RUNNING		0x02
26 #define SNDRV_SB_CSP_ST_PAUSED		0x04
27 #define SNDRV_SB_CSP_ST_AUTO		0x08
28 #define SNDRV_SB_CSP_ST_QSOUND		0x10
29 #define SNDRV_SB_CSP_QSOUND_MAX_RIGHT	0x20
30 #define SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE	0x3000
31 struct snd_sb_csp_mc_header {
32 	char codec_name[16];
33 	unsigned short func_req;
34 };
35 struct snd_sb_csp_microcode {
36 	struct snd_sb_csp_mc_header info;
37 	unsigned char data[SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE];
38 };
39 struct snd_sb_csp_start {
40 	int sample_width;
41 	int channels;
42 };
43 struct snd_sb_csp_info {
44 	char codec_name[16];
45 	unsigned short func_nr;
46 	unsigned int acc_format;
47 	unsigned short acc_channels;
48 	unsigned short acc_width;
49 	unsigned short acc_rates;
50 	unsigned short csp_mode;
51 	unsigned short run_channels;
52 	unsigned short run_width;
53 	unsigned short version;
54 	unsigned short state;
55 };
56 #define SNDRV_SB_CSP_IOCTL_INFO		_IOR('H', 0x10, struct snd_sb_csp_info)
57 #define SNDRV_SB_CSP_IOCTL_LOAD_CODE	\
58 	_IOC(_IOC_WRITE, 'H', 0x11, sizeof(struct snd_sb_csp_microcode))
59 #define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE	_IO('H', 0x12)
60 #define SNDRV_SB_CSP_IOCTL_START		_IOW('H', 0x13, struct snd_sb_csp_start)
61 #define SNDRV_SB_CSP_IOCTL_STOP		_IO('H', 0x14)
62 #define SNDRV_SB_CSP_IOCTL_PAUSE		_IO('H', 0x15)
63 #define SNDRV_SB_CSP_IOCTL_RESTART	_IO('H', 0x16)
64 #endif
65