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