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 31struct snd_sb_csp_mc_header { 32 char codec_name[16]; 33 unsigned short func_req; 34}; 35struct snd_sb_csp_microcode { 36 struct snd_sb_csp_mc_header info; 37 unsigned char data[SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE]; 38}; 39struct snd_sb_csp_start { 40 int sample_width; 41 int channels; 42}; 43struct 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