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

📄 scsimmc.h

📁 另一种方法编辑刻录程序的代码!要的与偶联系呀
💻 H
📖 第 1 页 / 共 2 页
字号:
/* @(#)scsimmc.h	1.3 98/05/25 Copyright 1997 J. Schilling *//* *	Definitions for SCSI/mmc compliant drives * *	Copyright (c) 1997 J. Schilling *//* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING.  If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef	_SCSIMMC_H#define	_SCSIMMC_H#include <utypes.h>#include <btorder.h>typedef struct opc {	Uchar	opc_speed[2];	Uchar	opc_val[6];} opc_t;#if defined(_BIT_FIELDS_LTOH)	/* Intel bitorder */struct disk_info {	Uchar	data_len[2];		/* Data len without this info	*/	Ucbit	disk_status	: 2;	/* Status of the disk		*/	Ucbit	sess_status	: 2;	/* Status of last session	*/	Ucbit	erasable	: 1;	/* Disk is erasable		*/	Ucbit	res2		: 3;	/* Reserved			*/	Uchar	first_track;		/* # of first track on disk	*/	Uchar	numsess;		/* # of sessions		*/	Uchar	first_track_ls;		/* First track in last sessaion	*/	Uchar	last_track_ls;		/* Last track in last sessaion	*/	Ucbit	res7_04		: 5;	/* Reserved			*/	Ucbit	uru		: 1;	/* This is an unrestricted disk	*/	Ucbit	dbc_v		: 1;	/* Disk bar code valid		*/	Ucbit	did_v		: 1;	/* Disk id valid		*/	Uchar	disk_type;		/* Disk type			*/	Uchar	res9[3];		/* Reserved			*/	Uchar	disk_id[4];		/* Disk identification		*/	Uchar	last_lead_in[4];	/* Last session lead in time	*/	Uchar	last_lead_out[4];	/* Last session lead out time	*/	Uchar	disk_barcode[8];	/* Disk bar code		*/	Uchar	res32;			/* Reserved			*/	Uchar	num_opc_entries;	/* # of OPC table entries	*/	opc_t	opc_table[1];		/* OPC table 			*/};#else				/* Motorola bitorder */struct disk_info {	Uchar	data_len[2];		/* Data len without this info	*/	Ucbit	res2		: 3;	/* Reserved			*/	Ucbit	erasable	: 1;	/* Disk is erasable		*/	Ucbit	sess_status	: 2;	/* Status of last session	*/	Ucbit	disk_status	: 2;	/* Status of the disk		*/	Uchar	first_track;		/* # of first track on disk	*/	Uchar	numsess;		/* # of sessions		*/	Uchar	first_track_ls;		/* First track in last sessaion	*/	Uchar	last_track_ls;		/* Last track in last sessaion	*/	Ucbit	did_v		: 1;	/* Disk id valid		*/	Ucbit	dbc_v		: 1;	/* Disk bar code valid		*/	Ucbit	uru		: 1;	/* This is an unrestricted disk	*/	Ucbit	res7_04		: 5;	/* Reserved			*/	Uchar	disk_type;		/* Disk type			*/	Uchar	res9[3];		/* Reserved			*/	Uchar	disk_id[4];		/* Disk identification		*/	Uchar	last_lead_in[4];	/* Last session lead in time	*/	Uchar	last_lead_out[4];	/* Last session lead out time	*/	Uchar	disk_barcode[8];	/* Disk bar code		*/	Uchar	res32;			/* Reserved			*/	Uchar	num_opc_entries;	/* # of OPC table entries	*/	opc_t	opc_table[1];		/* OPC table 			*/};#endifstruct cd_mode_data {	struct scsi_mode_header	header;	union cd_pagex	{		struct cd_mode_page_05	page05;		struct cd_mode_page_2A	page2A;	} pagex;};struct tocheader {	char	len[2];	char	first;	char	last;};#if defined(_BIT_FIELDS_LTOH)	/* Intel bitorder */struct atipdesc {	Ucbit	ref_speed	: 3;	/* Reference speed		*/	Ucbit	res4_3		: 1;	/* Reserved			*/	Ucbit	ind_wr_power	: 3;	/* Indicative tgt writing power	*/	Ucbit	res4_7		: 1;	/* Reserved (must be "1")	*/	Ucbit	res5_05		: 6;	/* Reserved			*/	Ucbit	uru		: 1;	/* Disk is for unrestricted use	*/	Ucbit	res5_7		: 1;	/* Reserved (must be "0")	*/	Ucbit	a3_v		: 1;	/* A 3 Values valid		*/	Ucbit	a2_v		: 1;	/* A 2 Values valid		*/	Ucbit	a1_v		: 1;	/* A 1 Values valid		*/	Ucbit	sub_type	: 3;	/* Disc sub type		*/	Ucbit	erasable	: 1;	/* Disk is erasable		*/	Ucbit	res6_7		: 1;	/* Reserved (must be "1")	*/	Uchar	lead_in[4];		/* Lead in time			*/	Uchar	lead_out[4];		/* Lead out time		*/	Uchar	res15;			/* Reserved			*/	Ucbit	clv_high	: 4;	/* Highes usable CLV recording speed */	Ucbit	clv_low		: 3;	/* Lowest usable CLV recording speed */	Ucbit	res16_7		: 1;	/* Reserved (must be "0")	*/	Ucbit	res17_0		: 1;	/* Reserved			*/	Ucbit	tgt_y_pow	: 3;	/* Tgt y val of the power mod fun */	Ucbit	power_mult	: 3;	/* Power multiplication factor	*/	Ucbit	res17_7		: 1;	/* Reserved (must be "0")	*/	Ucbit	res_18_30	: 4;	/* Reserved			*/	Ucbit	rerase_pwr_ratio: 3;	/* Recommended erase/write power*/	Ucbit	res18_7		: 1;	/* Reserved (must be "1")	*/	Uchar	res19;			/* Reserved			*/	Uchar	a2[3];			/* A 2 Values			*/	Uchar	res23;			/* Reserved			*/	Uchar	a3[3];			/* A 3 Vaules			*/	Uchar	res27;			/* Reserved			*/};#else				/* Motorola bitorder */struct atipdesc {	Ucbit	res4_7		: 1;	/* Reserved (must be "1")	*/	Ucbit	ind_wr_power	: 3;	/* Indicative tgt writing power	*/	Ucbit	res4_3		: 1;	/* Reserved			*/	Ucbit	ref_speed	: 3;	/* Reference speed		*/	Ucbit	res5_7		: 1;	/* Reserved (must be "0")	*/	Ucbit	uru		: 1;	/* Disk is for unrestricted use	*/	Ucbit	res5_05		: 6;	/* Reserved			*/	Ucbit	res6_7		: 1;	/* Reserved (must be "1")	*/	Ucbit	erasable	: 1;	/* Disk is erasable		*/	Ucbit	sub_type	: 3;	/* Disc sub type		*/	Ucbit	a1_v		: 1;	/* A 1 Values valid		*/	Ucbit	a2_v		: 1;	/* A 2 Values valid		*/	Ucbit	a3_v		: 1;	/* A 3 Values valid		*/	Uchar	lead_in[4];		/* Lead in time			*/	Uchar	lead_out[4];		/* Lead out time		*/	Uchar	res15;			/* Reserved			*/	Ucbit	res16_7		: 1;	/* Reserved (must be "0")	*/	Ucbit	clv_low		: 3;	/* Lowest usable CLV recording speed */	Ucbit	clv_high	: 4;	/* Highes usable CLV recording speed */	Ucbit	res17_7		: 1;	/* Reserved (must be "0")	*/	Ucbit	power_mult	: 3;	/* Power multiplication factor	*/	Ucbit	tgt_y_pow	: 3;	/* Tgt y val of the power mod fun */	Ucbit	res17_0		: 1;	/* Reserved			*/	Ucbit	res18_7		: 1;	/* Reserved (must be "1")	*/	Ucbit	rerase_pwr_ratio: 3;	/* Recommended erase/write power*/	Ucbit	res_18_30	: 4;	/* Reserved			*/	Uchar	res19;			/* Reserved			*/	Uchar	a2[3];			/* A 2 Values			*/	Uchar	res23;			/* Reserved			*/	Uchar	a3[3];			/* A 3 Vaules			*/	Uchar	res27;			/* Reserved			*/};#endifstruct atipinfo {	struct tocheader	hd;	struct atipdesc		desc;};#if defined(_BIT_FIELDS_LTOH)	/* Intel bitorder */struct track_info {	Uchar	data_len[2];		/* Data len without this info	*/	Uchar	track_number;		/* Track number for this info	*/	Uchar	session_number;		/* Session number for this info	*/	Uchar	res4;			/* Reserved			*/	Ucbit	track_mode	: 4;	/* Track mode (Q-sub control)	*/	Ucbit	copy		: 1;	/* This track is a higher copy	*/	Ucbit	damage		: 1;	/* if 1 & nwa_valid 0: inc track*/	Ucbit	res5_67		: 2;	/* Reserved			*/	Ucbit	data_mode	: 4;	/* Data mode of this track	*/	Ucbit	fp		: 1;	/* This is a fixed packet track	*/	Ucbit	packet		: 1;	/* This track is in packet mode	*/	Ucbit	blank		: 1;	/* This is an invisible track	*/	Ucbit	rt		: 1;	/* This is a reserved track	*/	Ucbit	nwa_valid	: 1;	/* Next writable addr valid	*/	Ucbit	res7_17		: 7;	/* Reserved			*/	Uchar	track_start[4];		/* Track start address		*/	Uchar	next_writable_addr[4];	/* Next writable address	*/	Uchar	free_blocks[4];		/* Free usr blocks in this track*/	Uchar	packet_size[4];		/* Packet size if in fixed mode	*/	Uchar	track_size[4];		/* # of user data blocks in trk	*/};#else				/* Motorola bitorder */struct track_info {	Uchar	data_len[2];		/* Data len without this info	*/	Uchar	track_number;		/* Track number for this info	*/	Uchar	session_number;		/* Session number for this info	*/	Uchar	res4;			/* Reserved			*/	Ucbit	res5_67		: 2;	/* Reserved			*/	Ucbit	damage		: 1;	/* if 1 & nwa_valid 0: inc track*/	Ucbit	copy		: 1;	/* This track is a higher copy	*/	Ucbit	track_mode	: 4;	/* Track mode (Q-sub control)	*/	Ucbit	rt		: 1;	/* This is a reserved track	*/	Ucbit	blank		: 1;	/* This is an invisible track	*/	Ucbit	packet		: 1;	/* This track is in packet mode	*/	Ucbit	fp		: 1;	/* This is a fixed packet track	*/	Ucbit	data_mode	: 4;	/* Data mode of this track	*/	Ucbit	res7_17		: 7;	/* Reserved			*/	Ucbit	nwa_valid	: 1;	/* Next writable addr valid	*/	Uchar	track_start[4];		/* Track start address		*/

⌨️ 快捷键说明

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