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

📄 soundcard.h

📁 linux得一些常用命令,以及linux环境下的c编程
💻 H
📖 第 1 页 / 共 4 页
字号:
#define   APF_CPUINTENS 2	/* Underruns probably caused by "overheating" the CPU */#define SOUND_PCM_READ_RATE		_SIOR ('P', 2, int)#define SOUND_PCM_READ_CHANNELS		_SIOR ('P', 6, int)#define SOUND_PCM_READ_BITS		_SIOR ('P', 5, int)#define SOUND_PCM_READ_FILTER		_SIOR ('P', 7, int)/* Some alias names */#define SOUND_PCM_WRITE_BITS		SNDCTL_DSP_SETFMT#define SOUND_PCM_WRITE_RATE		SNDCTL_DSP_SPEED#define SOUND_PCM_POST			SNDCTL_DSP_POST#define SOUND_PCM_RESET			SNDCTL_DSP_RESET#define SOUND_PCM_SYNC			SNDCTL_DSP_SYNC#define SOUND_PCM_SUBDIVIDE		SNDCTL_DSP_SUBDIVIDE#define SOUND_PCM_SETFRAGMENT		SNDCTL_DSP_SETFRAGMENT#define SOUND_PCM_GETFMTS		SNDCTL_DSP_GETFMTS#define SOUND_PCM_SETFMT		SNDCTL_DSP_SETFMT#define SOUND_PCM_GETOSPACE		SNDCTL_DSP_GETOSPACE#define SOUND_PCM_GETISPACE		SNDCTL_DSP_GETISPACE#define SOUND_PCM_NONBLOCK		SNDCTL_DSP_NONBLOCK#define SOUND_PCM_GETCAPS		SNDCTL_DSP_GETCAPS#define SOUND_PCM_GETTRIGGER		SNDCTL_DSP_GETTRIGGER#define SOUND_PCM_SETTRIGGER		SNDCTL_DSP_SETTRIGGER#define SOUND_PCM_SETSYNCRO		SNDCTL_DSP_SETSYNCRO#define SOUND_PCM_GETIPTR		SNDCTL_DSP_GETIPTR#define SOUND_PCM_GETOPTR		SNDCTL_DSP_GETOPTR#define SOUND_PCM_MAPINBUF		SNDCTL_DSP_MAPINBUF#define SOUND_PCM_MAPOUTBUF		SNDCTL_DSP_MAPOUTBUF/* * ioctl calls to be used in communication with coprocessors and * DSP chips. */typedef struct copr_buffer {		int command;	/* Set to 0 if not used */		int flags;#define CPF_NONE		0x0000#define CPF_FIRST		0x0001	/* First block */#define CPF_LAST		0x0002	/* Last block */		int len;		int offs;	/* If required by the device (0 if not used) */		unsigned char data[4000]; /* NOTE! 4000 is not 4k */	} copr_buffer;typedef struct copr_debug_buf {		int command;	/* Used internally. Set to 0 */		int parm1;		int parm2;		int flags;			int len;	/* Length of data in bytes */	} copr_debug_buf;typedef struct copr_msg {		int len;		unsigned char data[4000];	} copr_msg;#define SNDCTL_COPR_RESET             _SIO  ('C',  0)#define SNDCTL_COPR_LOAD	      _SIOWR('C',  1, copr_buffer)#define SNDCTL_COPR_RDATA	      _SIOWR('C',  2, copr_debug_buf)#define SNDCTL_COPR_RCODE	      _SIOWR('C',  3, copr_debug_buf)#define SNDCTL_COPR_WDATA	      _SIOW ('C',  4, copr_debug_buf)#define SNDCTL_COPR_WCODE	      _SIOW ('C',  5, copr_debug_buf)#define SNDCTL_COPR_RUN		      _SIOWR('C',  6, copr_debug_buf)#define SNDCTL_COPR_HALT	      _SIOWR('C',  7, copr_debug_buf)#define SNDCTL_COPR_SENDMSG	      _SIOWR('C',  8, copr_msg)#define SNDCTL_COPR_RCVMSG	      _SIOR ('C',  9, copr_msg)/********************************************* * IOCTL commands for /dev/mixer */	/*  * Mixer devices * * There can be up to 20 different analog mixer channels. The * SOUND_MIXER_NRDEVICES gives the currently supported maximum.  * The SOUND_MIXER_READ_DEVMASK returns a bitmask which tells * the devices supported by the particular mixer. */#define SOUND_MIXER_NRDEVICES	25#define SOUND_MIXER_VOLUME	0#define SOUND_MIXER_BASS	1#define SOUND_MIXER_TREBLE	2#define SOUND_MIXER_SYNTH	3#define SOUND_MIXER_PCM		4#define SOUND_MIXER_SPEAKER	5#define SOUND_MIXER_LINE	6#define SOUND_MIXER_MIC		7#define SOUND_MIXER_CD		8#define SOUND_MIXER_IMIX	9	/*  Recording monitor  */#define SOUND_MIXER_ALTPCM	10#define SOUND_MIXER_RECLEV	11	/* Recording level */#define SOUND_MIXER_IGAIN	12	/* Input gain */#define SOUND_MIXER_OGAIN	13	/* Output gain *//*  * The AD1848 codec and compatibles have three line level inputs * (line, aux1 and aux2). Since each card manufacturer have assigned * different meanings to these inputs, it's inpractical to assign * specific meanings (line, cd, synth etc.) to them. */#define SOUND_MIXER_LINE1	14	/* Input source 1  (aux1) */#define SOUND_MIXER_LINE2	15	/* Input source 2  (aux2) */#define SOUND_MIXER_LINE3	16	/* Input source 3  (line) */#define SOUND_MIXER_DIGITAL1	17	/* Digital (input) 1 */#define SOUND_MIXER_DIGITAL2	18	/* Digital (input) 2 */#define SOUND_MIXER_DIGITAL3	19	/* Digital (input) 3 */#define SOUND_MIXER_PHONEIN	20	/* Phone input */#define SOUND_MIXER_PHONEOUT	21	/* Phone output */#define SOUND_MIXER_VIDEO	22	/* Video/TV (audio) in */#define SOUND_MIXER_RADIO	23	/* Radio in */#define SOUND_MIXER_MONITOR	24	/* Monitor (usually mic) volume *//* Some on/off settings (SOUND_SPECIAL_MIN - SOUND_SPECIAL_MAX) *//* Not counted to SOUND_MIXER_NRDEVICES, but use the same number space */#define SOUND_ONOFF_MIN		28#define SOUND_ONOFF_MAX		30/* Note!	Number 31 cannot be used since the sign bit is reserved */#define SOUND_MIXER_NONE	31/* * The following unsupported macros are no longer functional. * Use SOUND_MIXER_PRIVATE# macros in future. */#define SOUND_MIXER_ENHANCE	SOUND_MIXER_NONE#define SOUND_MIXER_MUTE	SOUND_MIXER_NONE#define SOUND_MIXER_LOUD	SOUND_MIXER_NONE#define SOUND_DEVICE_LABELS	{"Vol  ", "Bass ", "Trebl", "Synth", "Pcm  ", "Spkr ", "Line ", \				 "Mic  ", "CD   ", "Mix  ", "Pcm2 ", "Rec  ", "IGain", "OGain", \				 "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3", \				 "PhoneIn", "PhoneOut", "Video", "Radio", "Monitor"}#define SOUND_DEVICE_NAMES	{"vol", "bass", "treble", "synth", "pcm", "speaker", "line", \				 "mic", "cd", "mix", "pcm2", "rec", "igain", "ogain", \				 "line1", "line2", "line3", "dig1", "dig2", "dig3", \				 "phin", "phout", "video", "radio", "monitor"}/*	Device bitmask identifiers	*/#define SOUND_MIXER_RECSRC	0xff	/* Arg contains a bit for each recording source */#define SOUND_MIXER_DEVMASK	0xfe	/* Arg contains a bit for each supported device */#define SOUND_MIXER_RECMASK	0xfd	/* Arg contains a bit for each supported recording source */#define SOUND_MIXER_CAPS	0xfc#	define SOUND_CAP_EXCL_INPUT	0x00000001	/* Only one recording source at a time */#define SOUND_MIXER_STEREODEVS	0xfb	/* Mixer channels supporting stereo */#define SOUND_MIXER_OUTSRC	0xfa	/* Arg contains a bit for each input source to output */#define SOUND_MIXER_OUTMASK	0xf9	/* Arg contains a bit for each supported input source to output *//*	Device mask bits	*/#define SOUND_MASK_VOLUME	(1 << SOUND_MIXER_VOLUME)#define SOUND_MASK_BASS		(1 << SOUND_MIXER_BASS)#define SOUND_MASK_TREBLE	(1 << SOUND_MIXER_TREBLE)#define SOUND_MASK_SYNTH	(1 << SOUND_MIXER_SYNTH)#define SOUND_MASK_PCM		(1 << SOUND_MIXER_PCM)#define SOUND_MASK_SPEAKER	(1 << SOUND_MIXER_SPEAKER)#define SOUND_MASK_LINE		(1 << SOUND_MIXER_LINE)#define SOUND_MASK_MIC		(1 << SOUND_MIXER_MIC)#define SOUND_MASK_CD		(1 << SOUND_MIXER_CD)#define SOUND_MASK_IMIX		(1 << SOUND_MIXER_IMIX)#define SOUND_MASK_ALTPCM	(1 << SOUND_MIXER_ALTPCM)#define SOUND_MASK_RECLEV	(1 << SOUND_MIXER_RECLEV)#define SOUND_MASK_IGAIN	(1 << SOUND_MIXER_IGAIN)#define SOUND_MASK_OGAIN	(1 << SOUND_MIXER_OGAIN)#define SOUND_MASK_LINE1	(1 << SOUND_MIXER_LINE1)#define SOUND_MASK_LINE2	(1 << SOUND_MIXER_LINE2)#define SOUND_MASK_LINE3	(1 << SOUND_MIXER_LINE3)#define SOUND_MASK_DIGITAL1	(1 << SOUND_MIXER_DIGITAL1)#define SOUND_MASK_DIGITAL2	(1 << SOUND_MIXER_DIGITAL2)#define SOUND_MASK_DIGITAL3	(1 << SOUND_MIXER_DIGITAL3)#define SOUND_MASK_PHONEIN	(1 << SOUND_MIXER_PHONEIN)#define SOUND_MASK_PHONEOUT	(1 << SOUND_MIXER_PHONEOUT)#define SOUND_MASK_RADIO	(1 << SOUND_MIXER_RADIO)#define SOUND_MASK_VIDEO	(1 << SOUND_MIXER_VIDEO)#define SOUND_MASK_MONITOR	(1 << SOUND_MIXER_MONITOR)/* Obsolete macros */#define SOUND_MASK_MUTE		(1 << SOUND_MIXER_MUTE)#define SOUND_MASK_ENHANCE	(1 << SOUND_MIXER_ENHANCE)#define SOUND_MASK_LOUD		(1 << SOUND_MIXER_LOUD)#define MIXER_READ(dev)		_SIOR('M', dev, int)#define SOUND_MIXER_READ_VOLUME		MIXER_READ(SOUND_MIXER_VOLUME)#define SOUND_MIXER_READ_BASS		MIXER_READ(SOUND_MIXER_BASS)#define SOUND_MIXER_READ_TREBLE		MIXER_READ(SOUND_MIXER_TREBLE)#define SOUND_MIXER_READ_SYNTH		MIXER_READ(SOUND_MIXER_SYNTH)#define SOUND_MIXER_READ_PCM		MIXER_READ(SOUND_MIXER_PCM)#define SOUND_MIXER_READ_SPEAKER	MIXER_READ(SOUND_MIXER_SPEAKER)#define SOUND_MIXER_READ_LINE		MIXER_READ(SOUND_MIXER_LINE)#define SOUND_MIXER_READ_MIC		MIXER_READ(SOUND_MIXER_MIC)#define SOUND_MIXER_READ_CD		MIXER_READ(SOUND_MIXER_CD)#define SOUND_MIXER_READ_IMIX		MIXER_READ(SOUND_MIXER_IMIX)#define SOUND_MIXER_READ_ALTPCM		MIXER_READ(SOUND_MIXER_ALTPCM)#define SOUND_MIXER_READ_RECLEV		MIXER_READ(SOUND_MIXER_RECLEV)#define SOUND_MIXER_READ_IGAIN		MIXER_READ(SOUND_MIXER_IGAIN)#define SOUND_MIXER_READ_OGAIN		MIXER_READ(SOUND_MIXER_OGAIN)#define SOUND_MIXER_READ_LINE1		MIXER_READ(SOUND_MIXER_LINE1)#define SOUND_MIXER_READ_LINE2		MIXER_READ(SOUND_MIXER_LINE2)#define SOUND_MIXER_READ_LINE3		MIXER_READ(SOUND_MIXER_LINE3)/* Obsolete macros */#define SOUND_MIXER_READ_MUTE		MIXER_READ(SOUND_MIXER_MUTE)#define SOUND_MIXER_READ_ENHANCE	MIXER_READ(SOUND_MIXER_ENHANCE)#define SOUND_MIXER_READ_LOUD		MIXER_READ(SOUND_MIXER_LOUD)#define SOUND_MIXER_READ_RECSRC		MIXER_READ(SOUND_MIXER_RECSRC)#define SOUND_MIXER_READ_DEVMASK	MIXER_READ(SOUND_MIXER_DEVMASK)#define SOUND_MIXER_READ_RECMASK	MIXER_READ(SOUND_MIXER_RECMASK)#define SOUND_MIXER_READ_STEREODEVS	MIXER_READ(SOUND_MIXER_STEREODEVS)#define SOUND_MIXER_READ_CAPS		MIXER_READ(SOUND_MIXER_CAPS)#define MIXER_WRITE(dev)		_SIOWR('M', dev, int)#define SOUND_MIXER_WRITE_VOLUME	MIXER_WRITE(SOUND_MIXER_VOLUME)#define SOUND_MIXER_WRITE_BASS		MIXER_WRITE(SOUND_MIXER_BASS)#define SOUND_MIXER_WRITE_TREBLE	MIXER_WRITE(SOUND_MIXER_TREBLE)#define SOUND_MIXER_WRITE_SYNTH		MIXER_WRITE(SOUND_MIXER_SYNTH)#define SOUND_MIXER_WRITE_PCM		MIXER_WRITE(SOUND_MIXER_PCM)#define SOUND_MIXER_WRITE_SPEAKER	MIXER_WRITE(SOUND_MIXER_SPEAKER)#define SOUND_MIXER_WRITE_LINE		MIXER_WRITE(SOUND_MIXER_LINE)#define SOUND_MIXER_WRITE_MIC		MIXER_WRITE(SOUND_MIXER_MIC)#define SOUND_MIXER_WRITE_CD		MIXER_WRITE(SOUND_MIXER_CD)#define SOUND_MIXER_WRITE_IMIX		MIXER_WRITE(SOUND_MIXER_IMIX)#define SOUND_MIXER_WRITE_ALTPCM	MIXER_WRITE(SOUND_MIXER_ALTPCM)#define SOUND_MIXER_WRITE_RECLEV	MIXER_WRITE(SOUND_MIXER_RECLEV)#define SOUND_MIXER_WRITE_IGAIN		MIXER_WRITE(SOUND_MIXER_IGAIN)#define SOUND_MIXER_WRITE_OGAIN		MIXER_WRITE(SOUND_MIXER_OGAIN)#define SOUND_MIXER_WRITE_LINE1		MIXER_WRITE(SOUND_MIXER_LINE1)#define SOUND_MIXER_WRITE_LINE2		MIXER_WRITE(SOUND_MIXER_LINE2)#define SOUND_MIXER_WRITE_LINE3		MIXER_WRITE(SOUND_MIXER_LINE3)/* Obsolete macros */#define SOUND_MIXER_WRITE_MUTE		MIXER_WRITE(SOUND_MIXER_MUTE)#define SOUND_MIXER_WRITE_ENHANCE	MIXER_WRITE(SOUND_MIXER_ENHANCE)#define SOUND_MIXER_WRITE_LOUD		MIXER_WRITE(SOUND_MIXER_LOUD)#define SOUND_MIXER_WRITE_RECSRC	MIXER_WRITE(SOUND_MIXER_RECSRC)typedef struct mixer_info{  char id[16];  char name[32];  int  modify_counter;  int fillers[10];} mixer_info;typedef struct _old_mixer_info /* Obsolete */{  char id[16];  char name[32];} _old_mixer_info;#define SOUND_MIXER_INFO		_SIOR ('M', 101, mixer_info)#define SOUND_OLD_MIXER_INFO		_SIOR ('M', 101, _old_mixer_info)/* * A mechanism for accessing "proprietary" mixer features. This method * permits passing 128 bytes of arbitrary data between a mixer application * and the mixer driver. Interpretation of the record is defined by * the particular mixer driver. */typedef unsigned char mixer_record[128];#define SOUND_MIXER_ACCESS		_SIOWR('M', 102, mixer_record)/* * Two ioctls for special souncard function */#define SOUND_MIXER_AGC  _SIOWR('M', 103, int)#define SOUND_MIXER_3DSE  _SIOWR('M', 104, int)/* * The SOUND_MIXER_PRIVATE# commands can be redefined by low level drivers. * These features can be used when accessing device specific features. */#define SOUND_MIXER_PRIVATE1		_SIOWR('M', 111, int)#define SOUND_MIXER_PRIVATE2		_SIOWR('M', 112, int)#define SOUND_MIXER_PRIVATE3		_SIOWR('M', 113, int)#define SOUND_MIXER_PRIVATE4		_SIOWR('M', 114, int)#define SOUND_MIXER_PRIVATE5		_SIOWR('M', 115, int)/* * SOUND_MIXER_GETLEVELS and SOUND_MIXER_SETLEVELS calls can be used * for querying current mixer settings from the driver and for loading * default volume settings _prior_ activating the mixer (loading * doesn't affect current state of the mixer hardware). These calls * are for internal use only. */typedef struct mixer_vol_table {  int num;	/* Index to volume table */  char name[32];  int levels[32];} mixer_vol_table;#define SOUND_MIXER_GETLEVELS		_SIOWR('M', 116, mixer_vol_table)#define SOUND_MIXER_SETLEVELS		_SIOWR('M', 117, mixer_vol_table)/*  * An ioctl for identifying the driver version. It will return value * of the SOUND_VERSION macro used when compiling the driver. * This call was introduced in OSS version 3.6 and it will not work * with earlier versions (returns EINVAL). */#define OSS_GETVERSION			_SIOR ('M', 118, int)/* * Level 2 event types for /dev/sequencer *//* * The 4 most significant bits of byte 0 specify the class of * the event:  * *	0x8X = system level events, *	0x9X = device/port specific events, event[1] = device/port, *		The last 4 bits give the subtype: *			0x02	= Channel event (event[3] = chn). *			0x01	= note event (event[4] = note). *			(0x01 is not used alone but always with bit 0x02).

⌨️ 快捷键说明

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