⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asound.h

📁 unxi下共享内存的使用
💻 H
📖 第 1 页 / 共 5 页
字号:
struct snd_mixer_element_mux1 {	int output_size;		/* WR: size of mixer elements */	int output;			/* RO: count of mixer elements */	int output_over;		/* RO: missing voice elements */	snd_mixer_eid_t *poutput;	/* WR: selected source on element output */};/* *  Simple MUX * *     This mux allows selection of exactly one (or none - optional) source. */#define SND_MIXER_MUX2_NONE		(1<<0)struct snd_mixer_element_mux2_info {	unsigned int attrib;		/* RO: SND_MIXER_MUX1_ */};struct snd_mixer_element_mux2 {	snd_mixer_eid_t output;		/* RO: input source on element output */};/* *  Simple tone control */#define SND_MIXER_TC1_SW		(1<<0)#define SND_MIXER_TC1_BASS		(1<<1)#define SND_MIXER_TC1_TREBLE		(1<<2)struct snd_mixer_element_tone_control1_info {	unsigned int tc;		/* RO: bitmap of SND_MIXER_TC_* */	int min_bass, max_bass;		/* RO: Bass */	int min_bass_dB, max_bass_dB;	/* RO: in decibels * 100 */	int min_treble, max_treble;	/* RO: Treble */	int min_treble_dB, max_treble_dB; /* RO: in decibels * 100 */};struct snd_mixer_element_tone_control1 {	unsigned int tc;		/* WR: bitmap of SND_MIXER_TC_* */	unsigned int sw:1;		/* WR: on/off switch */	int bass;			/* WR: Bass control */	int treble;			/* WR: Treble control */};/* *  Simple pan control */#define SND_MIXER_PAN_LEFT_RIGHT        0#define SND_MIXER_PAN_FRONT_REAR        1#define SND_MIXER_PAN_BOTTOM_UP         2struct snd_mixer_element_pan_control1_range {	int pan_type;			/* RO: SND_MIXER_PAN_XXXX */	int min, max;			/* RO: min & max range */	int min_dB, max_dB;		/* RO: min dB & max dB range */};struct snd_mixer_element_pan_control1_info {	int range_size;		/* WR: size of range descriptors */	int range;		/* RO: count of filled range descriptors */	int range_over;		/* RO: missing range descriptors */	struct snd_mixer_element_pan_control1_range *prange; /* WR: array */};struct snd_mixer_element_pan_control1 {	int pan_size;		/* WR: size of pan descriptors */	int pan;		/* RO: count of filled pan descriptors */	int pan_over;		/* RO: missing pan descriptors */	int *ppan;		/* WR: array of pan values */};/* *  Equalizer *//* TODO *//* *  Simple 3D Effect */#define SND_MIXER_EFF1_SW		(1<<0)#define SND_MIXER_EFF1_MONO_SW		(1<<1)#define SND_MIXER_EFF1_WIDE		(1<<2)#define SND_MIXER_EFF1_VOLUME		(1<<3)#define SND_MIXER_EFF1_CENTER		(1<<4)#define SND_MIXER_EFF1_SPACE		(1<<5)#define SND_MIXER_EFF1_DEPTH		(1<<6)#define SND_MIXER_EFF1_DELAY		(1<<7)#define SND_MIXER_EFF1_FEEDBACK		(1<<8)#define SND_MIXER_EFF1_DEPTH_REAR	(1<<9)struct snd_mixer_element_3d_effect1_info {	unsigned int effect;		/* RO: bitmap of SND_MIXER_EFF1_* */	int min_wide, max_wide;		/* RO: 3D wide */	int min_volume, max_volume;	/* RO: 3D volume */	int min_center, max_center;	/* RO: 3D center */	int min_space, max_space;	/* RO: 3D space */	int min_depth, max_depth;	/* RO: 3D depth */	int min_delay, max_delay;	/* RO: 3D delay */	int min_feedback, max_feedback;	/* RO: 3D feedback */	int min_depth_rear, max_depth_rear;	/* RO: 3D depth rear */};struct snd_mixer_element_3d_effect1 {	unsigned int effect;		/* RW: bitmap of SND_MIXER_EFF1_* */	unsigned int sw:1,		/* RW: on/off switch */		     mono_sw:1;		/* RW: on/off switch */	int wide;			/* RW: 3D wide */	int volume;			/* RW: 3D volume */	int center;			/* RW: 3D center */	int space;			/* RW: 3D space */	int depth;			/* RW: 3D depth */	int delay;			/* RW: 3D delay */	int feedback;			/* RW: 3D feedback */	int depth_rear;			/* RW: 3D depth rear */};/* *  Simple predefined effect */struct snd_mixer_element_pre_effect1_info_item {	char name[32];};struct snd_mixer_element_pre_effect1_info_parameter {	char name[32];			/* RO: parameter name */	int min, max;			/* RO: minimum and maximum value */};struct snd_mixer_element_pre_effect1_info {	/* predefined programs */	int items_size;			/* WR: size of programs */	int items;			/* RO: count of filled programs */	int items_over;			/* RO: missing programs */	struct snd_mixer_element_pre_effect1_info_item *pitems; /* WR: array */	/* user parameters */	int parameters_size;		/* WR: size of parameters */	int parameters;			/* RO: count of filled parameters */	int parameters_over;		/* RO: missing parameters */	struct snd_mixer_element_pre_effect1_info_parameter *pparameters; /* WR: array */};struct snd_mixer_element_pre_effect1 {	int item;			/* WR: chose item index or -1 = user parameters */	int parameters_size;		/* WR: size of parameters */	int parameters;			/* RO: count of filled parameters */	int parameters_over;		/* RO: missing parameters */	int *pparameters;		/* WR: array */};/* * */typedef struct snd_mixer_element_info {	snd_mixer_eid_t eid;		/* WR: element identification */	union {		struct snd_mixer_element_io_info io;		struct snd_mixer_element_pcm1_info pcm1;		struct snd_mixer_element_pcm2_info pcm2;		struct snd_mixer_element_converter_info converter;		struct snd_mixer_element_switch3_info switch3;		struct snd_mixer_element_volume1_info volume1;		struct snd_mixer_element_volume2_info volume2;		struct snd_mixer_element_accu1_info accu1;		struct snd_mixer_element_accu2_info accu2;		struct snd_mixer_element_accu3_info accu3;		struct snd_mixer_element_mux1_info mux1;		struct snd_mixer_element_mux2_info mux2;		struct snd_mixer_element_tone_control1_info tc1;		struct snd_mixer_element_pan_control1_info pc1;		struct snd_mixer_element_3d_effect1_info teffect1;		struct snd_mixer_element_pre_effect1_info peffect1;		char reserve[120];	} data;} snd_mixer_element_info_t;typedef struct snd_mixer_element {	snd_mixer_eid_t eid;	union {		struct snd_mixer_element_switch1 switch1;		struct snd_mixer_element_switch2 switch2;		struct snd_mixer_element_switch3 switch3;		struct snd_mixer_element_mux1 mux1;		struct snd_mixer_element_mux2 mux2;		struct snd_mixer_element_accu3 accu3;		struct snd_mixer_element_volume1 volume1;		struct snd_mixer_element_volume2 volume2;		struct snd_mixer_element_tone_control1 tc1;		struct snd_mixer_element_pan_control1 pc1;		struct snd_mixer_element_3d_effect1 teffect1;		struct snd_mixer_element_pre_effect1 peffect1;		char reserve[120];	} data;} snd_mixer_element_t;typedef struct snd_mixer_filter {	unsigned int read_cmds[8];} snd_mixer_filter_t;/* ioctl commands */#define SND_MIXER_IOCTL_PVERSION	_IOR ('R', 0x00, int)#define SND_MIXER_IOCTL_INFO		_IOR ('R', 0x01, snd_mixer_info_t)#define SND_MIXER_IOCTL_ELEMENTS	_IOWR('R', 0x10, snd_mixer_elements_t)#define SND_MIXER_IOCTL_ROUTES		_IOWR('R', 0x11, snd_mixer_routes_t)#define SND_MIXER_IOCTL_GROUPS		_IOWR('R', 0x12, snd_mixer_groups_t)#define SND_MIXER_IOCTL_GROUP_READ	_IOWR('R', 0x13, snd_mixer_group_t)#define SND_MIXER_IOCTL_GROUP_WRITE	_IOWR('R', 0x14, snd_mixer_group_t)#define SND_MIXER_IOCTL_ELEMENT_INFO	_IOWR('R', 0x20, snd_mixer_element_info_t)#define SND_MIXER_IOCTL_ELEMENT_READ	_IOWR('R', 0x21, snd_mixer_element_t)#define SND_MIXER_IOCTL_ELEMENT_WRITE	_IOWR('R', 0x22, snd_mixer_element_t)#define SND_MIXER_IOCTL_GET_FILTER	_IOR ('R', 0x30, snd_mixer_filter_t)#define SND_MIXER_IOCTL_PUT_FILTER	_IOW ('R', 0x30, snd_mixer_filter_t)/* *  Read interface. */#define SND_MIXER_READ_REBUILD		0	/* rebuild the mixer structure */#define SND_MIXER_READ_ELEMENT_VALUE	1	/* the element value was changed */#define SND_MIXER_READ_ELEMENT_CHANGE	2	/* the element was changed */#define SND_MIXER_READ_ELEMENT_ROUTE	3	/* the element route was changed */#define SND_MIXER_READ_ELEMENT_ADD	4	/* the element was added */#define SND_MIXER_READ_ELEMENT_REMOVE	5	/* the element was removed */#define SND_MIXER_READ_GROUP_VALUE	6	/* the group value was changed */#define SND_MIXER_READ_GROUP_CHANGE	7	/* the group was changed */#define SND_MIXER_READ_GROUP_ADD	8	/* the group was added */#define SND_MIXER_READ_GROUP_REMOVE	9	/* the group was removed */typedef struct snd_mixer_read {	unsigned int cmd;		/* command - SND_MIXER_READ_* */	union {		snd_mixer_eid_t eid;	/* element identification */		snd_mixer_gid_t gid;	/* group identification */		unsigned char data8[60];	} data;} snd_mixer_read_t;/* *  Interface compatible with Open Sound System API */#ifdef __SND_OSS_COMPAT__#define SND_MIXER_OSS_CAP_EXCL_INPUT	0x00000001	/* only one capture source at moment */#define SND_MIXER_OSS_DEVS	25#define SND_MIXER_OSS_VOLUME	0#define SND_MIXER_OSS_BASS	1#define SND_MIXER_OSS_TREBLE	2#define SND_MIXER_OSS_SYNTH	3#define SND_MIXER_OSS_PCM	4#define SND_MIXER_OSS_SPEAKER	5#define SND_MIXER_OSS_LINE	6#define SND_MIXER_OSS_MIC	7#define SND_MIXER_OSS_CD	8#define SND_MIXER_OSS_IMIX	9	/* recording monitor */#define SND_MIXER_OSS_ALTPCM	10#define SND_MIXER_OSS_RECLEV	11	/* recording level */#define SND_MIXER_OSS_IGAIN	12	/* input gain */#define SND_MIXER_OSS_OGAIN	13	/* output gain */#define SND_MIXER_OSS_LINE1	14#define SND_MIXER_OSS_LINE2	15#define SND_MIXER_OSS_LINE3	16#define SND_MIXER_OSS_DIGITAL1	17#define SND_MIXER_OSS_DIGITAL2	18#define SND_MIXER_OSS_DIGITAL3	19#define SND_MIXER_OSS_PHONEIN	20#define SND_MIXER_OSS_PHONEOUT	21#define SND_MIXER_OSS_VIDEO	22#define SND_MIXER_OSS_RADIO	23#define SND_MIXER_OSS_MONITOR	24#define SND_MIXER_OSS_UNKNOWN	(32+1)struct snd_oss_mixer_info {	char id[16];	char name[32];	int modify_counter;	int fillers[10];};struct snd_oss_mixer_info_obsolete {	char id[16];	char name[32];};#define SND_MIXER_OSS_SET_RECSRC _IOWR('M', 255, int)#define SND_MIXER_OSS_RECSRC	_IOR ('M', 255, int)#define SND_MIXER_OSS_DEVMASK	_IOR ('M', 254, int)#define SND_MIXER_OSS_RECMASK	_IOR ('M', 253, int)#define SND_MIXER_OSS_CAPS	_IOR ('M', 252, int)#define SND_MIXER_OSS_STEREODEVS _IOR ('M', 251, int)#define SND_MIXER_OSS_INFO      _IOR ('M', 101, struct snd_oss_mixer_info)#define SND_MIXER_OSS_OLD_INFO	_IOR ('M', 101, struct snd_oss_mixer_info_obsolete)#define SND_OSS_GETVERSION	_IOR ('M', 118, int)#endif				/* __SND_OSS_COMPAT__ *//***************************************************************************** *                                                                           * *             Digital Audio (PCM) interface - /dev/snd/pcm??                * *                                                                           * *****************************************************************************/#define SND_PCM_VERSION			SND_PROTOCOL_VERSION(1, 0, 0)#define SND_PCM_CHANNEL_PLAYBACK	0#define SND_PCM_CHANNEL_CAPTURE		1#define SND_PCM_MODE_UNKNOWN		(-1)#define SND_PCM_MODE_STREAM		0#define SND_PCM_MODE_BLOCK		1#define SND_PCM_SFMT_S8			0#define SND_PCM_SFMT_U8			1#define SND_PCM_SFMT_S16_LE		2#define SND_PCM_SFMT_S16_BE		3#define SND_PCM_SFMT_U16_LE		4#define SND_PCM_SFMT_U16_BE		5#define SND_PCM_SFMT_S24_LE		6	/* low three bytes */#define SND_PCM_SFMT_S24_BE		7	/* low three bytes */#define SND_PCM_SFMT_U24_LE		8	/* low three bytes */#define SND_PCM_SFMT_U24_BE		9	/* low three bytes */#define SND_PCM_SFMT_S32_LE		10#define SND_PCM_SFMT_S32_BE		11#define SND_PCM_SFMT_U32_LE		12#define SND_PCM_SFMT_U32_BE		13#define SND_PCM_SFMT_FLOAT_LE		14	/* 4-byte float, IEEE-754 32-bit */#define SND_PCM_SFMT_FLOAT_BE		15	/* 4-byte float, IEEE-754 32-bit */#define SND_PCM_SFMT_FLOAT64_LE		16	/* 8-byte float, IEEE-754 64-bit */#define SND_PCM_SFMT_FLOAT64_BE		17	/* 8-byte float, IEEE-754 64-bit */#define SND_PCM_SFMT_IEC958_SUBFRAME_LE	18	/* IEC-958 subframe, Little Endian */#define SND_PCM_SFMT_IEC958_SUBFRAME_BE	19	/* IEC-958 subframe, Big Endian */#define SND_PCM_SFMT_MU_LAW		20#define SND_PCM_SFMT_A_LAW		21#define SND_PCM_SFMT_IMA_ADPCM		22#define SND_PCM_SFMT_MPEG		23

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -