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

📄 scsireg.h

📁 读取/刻录光盘的程序
💻 H
📖 第 1 页 / 共 3 页
字号:
struct ccs_mode_page_38 {		/* CCS Caching Parameters */		MP_P_CODE;		/* parsave & pagecode */	u_char	p_len;			/* 0x0E = 14 Bytes */	Ucbit	cache_table_size: 4;	/* Byte 3 */	Ucbit	cache_en	: 1;	Ucbit	res2		: 1;	Ucbit	wr_index_en	: 1;	Ucbit	res		: 1;	/* Byte 3 */	u_char	threshold;		/* Byte 4 Prefetch threshold */	u_char	max_prefetch;		/* Byte 5 Max. prefetch */	u_char	max_multiplier;		/* Byte 6 Max. prefetch multiplier */	u_char	min_prefetch;		/* Byte 7 Min. prefetch */	u_char	min_multiplier;		/* Byte 8 Min. prefetch multiplier */	u_char	res3[8];		/* Byte 9 */};#else					/* Motorola byteorder */struct ccs_mode_page_38 {		/* CCS Caching Parameters */		MP_P_CODE;		/* parsave & pagecode */	u_char	p_len;			/* 0x0E = 14 Bytes */	Ucbit	res		: 1;	/* Byte 3 */	Ucbit	wr_index_en	: 1;	Ucbit	res2		: 1;	Ucbit	cache_en	: 1;	Ucbit	cache_table_size: 4;	/* Byte 3 */	u_char	threshold;		/* Byte 4 Prefetch threshold */	u_char	max_prefetch;		/* Byte 5 Max. prefetch */	u_char	max_multiplier;		/* Byte 6 Max. prefetch multiplier */	u_char	min_prefetch;		/* Byte 7 Min. prefetch */	u_char	min_multiplier;		/* Byte 8 Min. prefetch multiplier */	u_char	res3[8];		/* Byte 9 */};#endif#if defined(_BIT_FIELDS_LTOH)	/* Intel byteorder */struct cd_mode_page_05 {		/* write parameters */		MP_P_CODE;		/* parsave & pagecode */	u_char	p_len;			/* 0x32 = 50 Bytes */	Ucbit	write_type	: 4;	/* Session write type (PACKET/TAO...)*/	Ucbit	test_write	: 1;	/* Do not actually write data	     */	Ucbit	res_2		: 3;	Ucbit	track_mode	: 4;	/* Track mode (Q-sub control nibble) */	Ucbit	copy		: 1;	/* 1st higher gen of copy prot track ~*/	Ucbit	fp		: 1;	/* Fixed packed (if in packet mode)  */	Ucbit	multi_session	: 2;	/* Multi session write type	     */	Ucbit	dbtype		: 4;	/* Data block type		     */	Ucbit	res_4		: 4;	/* Reserved			     */	u_char	res_56[2];		/* Reserved			     */	Ucbit	host_appl_code	: 6;	/* Host application code of disk     */	Ucbit	res_7		: 2;	/* Reserved			     */	u_char	session_format;		/* Session format (DA/CDI/XA)	     */	u_char	res_9;			/* Reserved			     */	u_char	packet_size[4];		/* # of user datablocks/fixed packet */	u_char	audio_pause_len[2];	/* # of blocks where index is zero   */	u_char	media_cat_number[16];	/* Media catalog Number (MCN)	     */	u_char	ISRC[14];		/* ISRC for this track		     */	u_char	sub_header[4];	u_char	vendor_uniq[4];};#else				/* Motorola byteorder */struct cd_mode_page_05 {		/* write parameters */		MP_P_CODE;		/* parsave & pagecode */	u_char	p_len;			/* 0x32 = 50 Bytes */	Ucbit	res_2		: 3;	Ucbit	test_write	: 1;	/* Do not actually write data	     */	Ucbit	write_type	: 4;	/* Session write type (PACKET/TAO...)*/	Ucbit	multi_session	: 2;	/* Multi session write type	     */	Ucbit	fp		: 1;	/* Fixed packed (if in packet mode)  */	Ucbit	copy		: 1;	/* 1st higher gen of copy prot track */	Ucbit	track_mode	: 4;	/* Track mode (Q-sub control nibble) */	Ucbit	res_4		: 4;	/* Reserved			     */	Ucbit	dbtype		: 4;	/* Data block type		     */	u_char	res_56[2];		/* Reserved			     */	Ucbit	res_7		: 2;	/* Reserved			     */	Ucbit	host_appl_code	: 6;	/* Host application code of disk     */	u_char	session_format;		/* Session format (DA/CDI/XA)	     */	u_char	res_9;			/* Reserved			     */	u_char	packet_size[4];		/* # of user datablocks/fixed packet */	u_char	audio_pause_len[2];	/* # of blocks where index is zero   */	u_char	media_cat_number[16];	/* Media catalog Number (MCN)	     */	u_char	ISRC[14];		/* ISRC for this track		     */	u_char	sub_header[4];	u_char	vendor_uniq[4];};#endif#if defined(_BIT_FIELDS_LTOH)	/* Intel byteorder */struct cd_mode_page_2A {		/* CD Cap / mech status */		MP_P_CODE;		/* parsave & pagecode */	u_char	p_len;			/* 0x14 = 20 Bytes */	Ucbit	cd_r_read	: 1;	/* Reads CD-R  media		     */	Ucbit	cd_rw_read	: 1;	/* Reads CD-RW media		     */	Ucbit	method2		: 1;	/* Reads fixed packet method2 media  */	Ucbit	dvd_rom_read	: 1;	/* Reads DVD ROM media		     */	Ucbit	dvd_r_read	: 1;	/* Reads DVD-R media		     */	Ucbit	dvd_ram_read	: 1;	/* Reads DVD-RAM media		     */	Ucbit	res_2_67	: 2;	/* Reserved			     */	Ucbit	cd_r_write	: 1;	/* Supports writing CD-R  media	     */	Ucbit	cd_rw_write	: 1;	/* Supports writing CD-RW media	     */	Ucbit	test_write	: 1;	/* Supports emulation write	     */	Ucbit	res_3_3		: 1;	/* Reserved			     */	Ucbit	dvd_r_write	: 1;	/* Supports writing DVD-R media	     */	Ucbit	dvd_ram_write	: 1;	/* Supports writing DVD-RAM media    */	Ucbit	res_3_67	: 2;	/* Reserved			     */	Ucbit	audio_play	: 1;	/* Supports Audio play operation     */	Ucbit	composite	: 1;	/* Deliveres composite A/V stream    */	Ucbit	digital_port_2	: 1;	/* Supports digital output on port 2 */	Ucbit	digital_port_1	: 1;	/* Supports digital output on port 1 */	Ucbit	mode_2_form_1	: 1;	/* Reads Mode-2 form 1 media (XA)    */	Ucbit	mode_2_form_2	: 1;	/* Reads Mode-2 form 2 media	     */	Ucbit	multi_session	: 1;	/* Reads multi-session media	     */	Ucbit	res_4		: 1;	/* Reserved			     */	Ucbit	cd_da_supported	: 1;	/* Reads audio data with READ CD cmd */	Ucbit	cd_da_accurate	: 1;	/* READ CD data stream is accurate   */	Ucbit	rw_supported	: 1;	/* Reads R-W sub channel information */	Ucbit	rw_deint_corr	: 1;	/* Reads de-interleved R-W sub chan  */	Ucbit	c2_pointers	: 1;	/* Supports C2 error pointers	     */	Ucbit	ISRC		: 1;	/* Reads ISRC information	     */	Ucbit	UPC		: 1;	/* Reads media catalog number (UPC)  */	Ucbit	read_bar_code	: 1;	/* Supports reading bar codes	     */	Ucbit	lock		: 1;	/* PREVENT/ALLOW may lock media	     */	Ucbit	lock_state	: 1;	/* Lock state 0=unlocked 1=locked    */	Ucbit	prevent_jumper	: 1;	/* State of prev/allow jumper 0=pres */	Ucbit	eject		: 1;	/* Ejects disc/cartr with STOP LoEj  */	Ucbit	res_6_4		: 1;	/* Reserved			     */	Ucbit	loading_type	: 3;	/* Loading mechanism type	     */	Ucbit	sep_chan_vol	: 1;	/* Vol controls each channel separat */	Ucbit	sep_chan_mute	: 1;	/* Mute controls each channel separat*/	Ucbit	disk_present_rep: 1;	/* Changer supports disk present rep */	Ucbit	sw_slot_sel	: 1;	/* Load empty slot in changer	     */	Ucbit	res_7		: 4;	/* Reserved			     */	u_char	max_read_speed[2];	/* Max. read speed in KB/s	     */	u_char	num_vol_levels[2];	/* # of supported volume levels	     */	u_char	buffer_size[2];		/* Buffer size for the data in KB    */	u_char	cur_read_speed[2];	/* Current read speed in KB/s	     */	u_char	res_16;			/* Reserved			     */	Ucbit	res_17_0	: 1;	/* Reserved			     */	Ucbit	BCK		: 1;	/* Data valid on falling edge of BCK */	Ucbit	RCK		: 1;	/* Set: HIGH high LRCK=left channel  */	Ucbit	LSBF		: 1;	/* Set: LSB first Clear: MSB first   */	Ucbit	length		: 2;	/* 0=32BCKs 1=16BCKs 2=24BCKs 3=24I2c*/	Ucbit	res_17		: 2;	/* Reserved			     */	u_char	max_write_speed[2];	/* Max. write speed supported in KB/s*/	u_char	cur_write_speed[2];	/* Current write speed in KB/s	     */};#else				/* Motorola byteorder */struct cd_mode_page_2A {		/* CD Cap / mech status */		MP_P_CODE;		/* parsave & pagecode */	u_char	p_len;			/* 0x14 = 20 Bytes */	Ucbit	res_2_67	: 2;	/* Reserved			     */	Ucbit	dvd_ram_read	: 1;	/* Reads DVD-RAM media		     */	Ucbit	dvd_r_read	: 1;	/* Reads DVD-R media		     */	Ucbit	dvd_rom_read	: 1;	/* Reads DVD ROM media		     */	Ucbit	method2		: 1;	/* Reads fixed packet method2 media  */	Ucbit	cd_rw_read	: 1;	/* Reads CD-RW media		     */	Ucbit	cd_r_read	: 1;	/* Reads CD-R  media		     */	Ucbit	res_3_67	: 2;	/* Reserved			     */	Ucbit	dvd_ram_write	: 1;	/* Supports writing DVD-RAM media    */	Ucbit	dvd_r_write	: 1;	/* Supports writing DVD-R media	     */	Ucbit	res_3_3		: 1;	/* Reserved			     */	Ucbit	test_write	: 1;	/* Supports emulation write	     */	Ucbit	cd_rw_write	: 1;	/* Supports writing CD-RW media	     */	Ucbit	cd_r_write	: 1;	/* Supports writing CD-R  media	     */	Ucbit	res_4		: 1;	/* Reserved			     */	Ucbit	multi_session	: 1;	/* Reads multi-session media	     */	Ucbit	mode_2_form_2	: 1;	/* Reads Mode-2 form 2 media	     */	Ucbit	mode_2_form_1	: 1;	/* Reads Mode-2 form 1 media (XA)    */	Ucbit	digital_port_1	: 1;	/* Supports digital output on port 1 */	Ucbit	digital_port_2	: 1;	/* Supports digital output on port 2 */	Ucbit	composite	: 1;	/* Deliveres composite A/V stream    */	Ucbit	audio_play	: 1;	/* Supports Audio play operation     */	Ucbit	read_bar_code	: 1;	/* Supports reading bar codes	     */	Ucbit	UPC		: 1;	/* Reads media catalog number (UPC)  */	Ucbit	ISRC		: 1;	/* Reads ISRC information	     */	Ucbit	c2_pointers	: 1;	/* Supports C2 error pointers	     */	Ucbit	rw_deint_corr	: 1;	/* Reads de-interleved R-W sub chan  */	Ucbit	rw_supported	: 1;	/* Reads R-W sub channel information */	Ucbit	cd_da_accurate	: 1;	/* READ CD data stream is accurate   */	Ucbit	cd_da_supported	: 1;	/* Reads audio data with READ CD cmd */	Ucbit	loading_type	: 3;	/* Loading mechanism type	     */	Ucbit	res_6_4		: 1;	/* Reserved			     */	Ucbit	eject		: 1;	/* Ejects disc/cartr with STOP LoEj  */	Ucbit	prevent_jumper	: 1;	/* State of prev/allow jumper 0=pres */	Ucbit	lock_state	: 1;	/* Lock state 0=unlocked 1=locked    */	Ucbit	lock		: 1;	/* PREVENT/ALLOW may lock media	     */	Ucbit	res_7		: 4;	/* Reserved			     */	Ucbit	sw_slot_sel	: 1;	/* Load empty slot in changer	     */	Ucbit	disk_present_rep: 1;	/* Changer supports disk present rep */	Ucbit	sep_chan_mute	: 1;	/* Mute controls each channel separat*/	Ucbit	sep_chan_vol	: 1;	/* Vol controls each channel separat */	u_char	max_read_speed[2];	/* Max. read speed in KB/s	     */	u_char	num_vol_levels[2];	/* # of supported volume levels	     */	u_char	buffer_size[2];		/* Buffer size for the data in KB    */	u_char	cur_read_speed[2];	/* Current read speed in KB/s	     */	u_char	res_16;			/* Reserved			     */	Ucbit	res_17		: 2;	/* Reserved			     */	Ucbit	length		: 2;	/* 0=32BCKs 1=16BCKs 2=24BCKs 3=24I2c*/	Ucbit	LSBF		: 1;	/* Set: LSB first Clear: MSB first   */	Ucbit	RCK		: 1;	/* Set: HIGH high LRCK=left channel  */	Ucbit	BCK		: 1;	/* Data valid on falling edge of BCK */	Ucbit	res_17_0	: 1;	/* Reserved			     */	u_char	max_write_speed[2];	/* Max. write speed supported in KB/s*/	u_char	cur_write_speed[2];	/* Current write speed in KB/s	     */};#endif#define	LT_CADDY	0#define	LT_TRAY		1#define	LT_POP_UP	2#define	LT_RES3		3#define	LT_CHANGER_IND	4#define	LT_CHANGER_CART	5#define	LT_RES6		6#define	LT_RES7		7struct scsi_mode_data {	struct scsi_mode_header		header;	struct scsi_mode_blockdesc	blockdesc;	union	pagex	{		struct acb_mode_data		acb;		struct scsi_mode_page_01	page1;		struct scsi_mode_page_02	page2;		struct scsi_mode_page_03	page3;		struct scsi_mode_page_04	page4;		struct scsi_mode_page_05	page5;		struct scsi_mode_page_07	page7;		struct scsi_mode_page_08	page8;		struct scsi_mode_page_09	page9;		struct scsi_mode_page_0A	pageA;		struct scsi_mode_page_0B	pageB;		struct scsi_mode_page_0C	pageC;		struct scsi_mode_page_0D	pageD;		struct sony_mode_page_20	sony20;		struct toshiba_mode_page_20	toshiba20;		struct ccs_mode_page_38		ccs38;	} pagex;};struct scsi_capacity {	long	c_baddr;		/* must convert byteorder!! */	long	c_bsize;		/* must convert byteorder!! */};#if	defined(_BIT_FIELDS_LTOH)	/* Intel byteorder */struct scsi_def_header {	Ucbit		: 8;	Ucbit	format	: 3;	Ucbit	gdl	: 1;	Ucbit	mdl	: 1;	Ucbit		: 3;	u_char	length[2];};#else					/* Motorola byteorder */struct scsi_def_header {	Ucbit		: 8;	Ucbit		: 3;	Ucbit	mdl	: 1;	Ucbit	gdl	: 1;	Ucbit	format	: 3;	u_char	length[2];};#endif#if	defined(_BIT_FIELDS_LTOH)	/* Intel byteorder */struct scsi_format_header {	Ucbit	res		: 8;	/* Adaptec 5500: 1 --> format track */	Ucbit	vu		: 1;	Ucbit			: 3;	Ucbit	serr		: 1;	/* Stop on error		    */	Ucbit	dcert		: 1;	/* Disable certification	    */	Ucbit	dmdl		: 1;	/* Disable manufacturer defect list */	Ucbit	enable		: 1;	/* Enable to use the next 3 bits    */	u_char	length[2];		/* Length of following list in bytes*/};#else					/* Motorola byteorder */struct scsi_format_header {	Ucbit	res		: 8;	/* Adaptec 5500: 1 --> format track */	Ucbit	enable		: 1;	/* Enable to use the next 3 bits    */	Ucbit	dmdl		: 1;	/* Disable manufacturer defect list */	Ucbit	dcert		: 1;	/* Disable certification	    */	Ucbit	serr		: 1;	/* Stop on error		    */	Ucbit			: 3;	Ucbit	vu		: 1;	u_char	length[2];		/* Length of following list in bytes*/};#endifstruct	scsi_def_bfi {	u_char	cyl[3];	u_char	head;	u_char	bfi[4];};struct	scsi_def_phys {	u_char	cyl[3];	u_char	head;	u_char	sec[4];};struct	scsi_def_list {	struct	scsi_def_header	hd;	union {			u_char		list_block[1][4];		struct	scsi_def_bfi	list_bfi[1];		struct	scsi_def_phys	list_phys[1];	} def_list;};struct	scsi_format_data {	struct scsi_format_header hd;	union {			u_char		list_block[1][4];		struct	scsi_def_bfi	list_bfi[1];		struct	scsi_def_phys	list_phys[1];	} def_list;};#define	def_block	def_list.list_block#define	def_bfi		def_list.list_bfi#define	def_phys	def_list.list_phys#define	SC_DEF_BLOCK	0#define	SC_DEF_BFI	4#define	SC_DEF_PHYS	5#define	SC_DEF_VU	6#define	SC_DEF_RES	7struct	scsi_send_diag_cmd {	u_char	cmd;	u_char	addr[4];	Ucbit		: 8;};#if	defined(_BIT_FIELDS_LTOH)	/* Intel byteorder */struct	scsi_sector_header {	u_char	cyl[2];	u_char	head;	u_char	sec;	Ucbit		: 5;	Ucbit	rp	: 1;	Ucbit	sp	: 1;	Ucbit	dt	: 1;};#else					/* Motorola byteorder */struct	scsi_sector_header {	u_char	cyl[2];	u_char	head;	u_char	sec;	Ucbit	dt	: 1;	Ucbit	sp	: 1;	Ucbit	rp	: 1;	Ucbit		: 5;};#endif#endif	/* _SCSIREG_H */

⌨️ 快捷键说明

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