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

📄 cross reference -onnv-onnv-gate-usr-src-cmd-cdrw-mmc.htm

📁 光驱cdrom读写源代码,scsi命令解析
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<A class=l name=21>     21 </A><SPAN class=c>/*
<A class=l name=22>     22 </A> * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
<A class=l name=23>     23 </A> * Use is subject to license terms.
<A class=l name=24>     24 </A> */</SPAN>
<A class=l name=25>     25 </A>
<A class=l name=26>     26 </A>#<B>ifndef</B>	<A href="http://cvs.opensolaris.org/source/s?defs=_MMC_H">_MMC_H</A>
<A class=l name=27>     27 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=_MMC_H">_MMC_H</A>
<A class=l name=28>     28 </A>
<A class=l name=29>     29 </A>#<B>pragma</B> <B>ident</B>	<SPAN class=s>"%Z%%M%	%I%	%E% SMI"</SPAN>
<A class=hl name=30>     30 </A>
<A class=l name=31>     31 </A>#<B>ifdef</B>	<A href="http://cvs.opensolaris.org/source/s?defs=__cplusplus">__cplusplus</A>
<A class=l name=32>     32 </A><B>extern</B> <SPAN class=s>"C"</SPAN> {
<A class=l name=33>     33 </A>#<B>endif</B>
<A class=l name=34>     34 </A>
<A class=l name=35>     35 </A><SPAN class=c>/* bytelengths for some SCSI data structures */</SPAN>
<A class=l name=36>     36 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=SENSE_DATA_SIZE">SENSE_DATA_SIZE</A>		<SPAN class=n>16</SPAN>
<A class=l name=37>     37 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=TRACK_INFO_SIZE">TRACK_INFO_SIZE</A>		<SPAN class=n>36</SPAN>
<A class=l name=38>     38 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=DISC_INFO_BLOCK_SIZE">DISC_INFO_BLOCK_SIZE</A>	<SPAN class=n>32</SPAN>
<A class=l name=39>     39 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=INQUIRY_DATA_LENGTH">INQUIRY_DATA_LENGTH</A>	<SPAN class=n>96</SPAN>
<A class=hl name=40>     40 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=GET_PERF_DATA_LEN">GET_PERF_DATA_LEN</A>	<SPAN class=n>24</SPAN>
<A class=l name=41>     41 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=SET_STREAM_DATA_LEN">SET_STREAM_DATA_LEN</A>	<SPAN class=n>28</SPAN>
<A class=l name=42>     42 </A>
<A class=l name=43>     43 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=DEFAULT_SCSI_TIMEOUT">DEFAULT_SCSI_TIMEOUT</A>    <SPAN class=n>60</SPAN>
<A class=l name=44>     44 </A>
<A class=l name=45>     45 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_HDR_LEN">MMC_FTR_HDR_LEN</A>		<SPAN class=n>8</SPAN>	<SPAN class=c>/* byte len of Feature Header */</SPAN>
<A class=l name=46>     46 </A><SPAN class=c>/*
<A class=l name=47>     47 </A> * byte length of the static part of a Feature Descriptor
<A class=l name=48>     48 </A> */</SPAN>
<A class=l name=49>     49 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_DSCRPTR_BASE_LEN">MMC_FTR_DSCRPTR_BASE_LEN</A>	<SPAN class=n>4</SPAN>
<A class=hl name=50>     50 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_PRFL_DSCRPTR_LEN">MMC_PRFL_DSCRPTR_LEN</A>	<SPAN class=n>4</SPAN>	<SPAN class=c>/* byte len of Profile Descriptor */</SPAN>
<A class=l name=51>     51 </A><SPAN class=c>/*
<A class=l name=52>     52 </A> * MMC Features; can be added to over time
<A class=l name=53>     53 </A> */</SPAN>
<A class=l name=54>     54 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_PRFL_LIST">MMC_FTR_PRFL_LIST</A>	<SPAN class=n>0x0000</SPAN>	<SPAN class=c>/* Profile List Feature */</SPAN>
<A class=l name=55>     55 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_CORE">MMC_FTR_CORE</A>		<SPAN class=n>0x0001</SPAN>	<SPAN class=c>/* Core Feature */</SPAN>
<A class=l name=56>     56 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_MORPHING">MMC_FTR_MORPHING</A>	<SPAN class=n>0x0002</SPAN>	<SPAN class=c>/* Morphing Feature */</SPAN>
<A class=l name=57>     57 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_REM_MED">MMC_FTR_REM_MED</A>		<SPAN class=n>0x0003</SPAN>	<SPAN class=c>/* Removable Medium Feature */</SPAN>
<A class=l name=58>     58 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_WR_PROTECT">MMC_FTR_WR_PROTECT</A>	<SPAN class=n>0x0004</SPAN>	<SPAN class=c>/* Write Protect Feature */</SPAN>
<A class=l name=59>     59 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_RAND_READ">MMC_FTR_RAND_READ</A>	<SPAN class=n>0x0010</SPAN>	<SPAN class=c>/* Random Readable Feature */</SPAN>
<A class=hl name=60>     60 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_MULTI_READ">MMC_FTR_MULTI_READ</A>	<SPAN class=n>0x001D</SPAN>	<SPAN class=c>/* Multi-Read Feature */</SPAN>
<A class=l name=61>     61 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_CD_READ">MMC_FTR_CD_READ</A>		<SPAN class=n>0x001E</SPAN>	<SPAN class=c>/* CD Read Feature */</SPAN>
<A class=l name=62>     62 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_DVD_READ">MMC_FTR_DVD_READ</A>	<SPAN class=n>0x001F</SPAN>	<SPAN class=c>/* DVD Read Feature */</SPAN>
<A class=l name=63>     63 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_RAND_WR">MMC_FTR_RAND_WR</A>		<SPAN class=n>0x0020</SPAN>	<SPAN class=c>/* Random Writable Feature */</SPAN>
<A class=l name=64>     64 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_INC_STR_WR">MMC_FTR_INC_STR_WR</A>	<SPAN class=n>0x0021</SPAN>	<SPAN class=c>/* Incremental Streaming Writable */</SPAN>
<A class=l name=65>     65 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_SCTR_ERSBL">MMC_FTR_SCTR_ERSBL</A>	<SPAN class=n>0x0022</SPAN>	<SPAN class=c>/* Sector Erasable Feature */</SPAN>
<A class=l name=66>     66 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_FORMATTABLE">MMC_FTR_FORMATTABLE</A>	<SPAN class=n>0x0023</SPAN>	<SPAN class=c>/* Formattable Feature */</SPAN>
<A class=l name=67>     67 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_DFCT_MNGMNT">MMC_FTR_DFCT_MNGMNT</A>	<SPAN class=n>0x0024</SPAN>	<SPAN class=c>/* Hardware Defect Management Feature */</SPAN>
<A class=l name=68>     68 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MMC_FTR_RT_STREAM">MMC_FTR_RT_STREAM</A>	<SPAN class=n>0x0107</SPAN>	<SPAN class=c>/* Real Time Streaming Feature */</SPAN>
<A class=l name=69>     69 </A>
<A class=hl name=70>     70 </A><SPAN class=c>/* Constants for READ <A href="http://cvs.opensolaris.org/source/s?path=TOC/">TOC</A>/<A href="http://cvs.opensolaris.org/source/s?path=TOC/PMA/">PMA</A>/<A href="http://cvs.opensolaris.org/source/s?path=TOC/PMA/ATIP">ATIP</A> command */</SPAN>
<A class=l name=71>     71 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=FORMAT_FORMATTED_TOC">FORMAT_FORMATTED_TOC</A>	<SPAN class=n>0</SPAN>
<A class=l name=72>     72 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=FORMAT_MULTISESS_INFO">FORMAT_MULTISESS_INFO</A>	<SPAN class=n>1</SPAN>
<A class=l name=73>     73 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=FORMAT_RAW_TOC">FORMAT_RAW_TOC</A>		<SPAN class=n>2</SPAN>
<A class=l name=74>     74 </A>
<A class=l name=75>     75 </A><SPAN class=c>/* size in bytes of raw TOC Data Length field */</SPAN>
<A class=l name=76>     76 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=RTOC_DATA_LEN_SZ">RTOC_DATA_LEN_SZ</A>	<SPAN class=n>2</SPAN>
<A class=l name=77>     77 </A>
<A class=l name=78>     78 </A><SPAN class=c>/* Point field values for Raw TOC Track Descriptor */</SPAN>
<A class=l name=79>     79 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=POINT_SESS_FIRST_TRK">POINT_SESS_FIRST_TRK</A>	<SPAN class=n>0xA0</SPAN>	<SPAN class=c>/* 1st track in session */</SPAN>
<A class=hl name=80>     80 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=POINT_SESS_LAST_TRK">POINT_SESS_LAST_TRK</A>	<SPAN class=n>0xA1</SPAN>	<SPAN class=c>/* Last track in session */</SPAN>
<A class=l name=81>     81 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=POINT_LEADOUT_ADDR">POINT_LEADOUT_ADDR</A>	<SPAN class=n>0xA2</SPAN>	<SPAN class=c>/* Starting leadout address */</SPAN>
<A class=l name=82>     82 </A>
<A class=l name=83>     83 </A><SPAN class=c>/* Q Sub-channel constants */</SPAN>
<A class=l name=84>     84 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=Q_MODE_1">Q_MODE_1</A>		<SPAN class=n>1</SPAN>	<SPAN class=c>/* Mode-1 Q */</SPAN>
<A class=l name=85>     85 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=Q_MODE_2">Q_MODE_2</A>		<SPAN class=n>2</SPAN>	<SPAN class=c>/* Mode-2 Q */</SPAN>
<A class=l name=86>     86 </A>
<A class=l name=87>     87 </A><SPAN class=c>/* Convert Minute,Second,Frame address into Logical Block Address */</SPAN>
<A class=l name=88>     88 </A>#<B>define</B>	<A href="http://cvs.opensolaris.org/source/s?defs=MSF2LBA">MSF2LBA</A>(m, s, f)	(((m) * <SPAN class=n>60</SPAN> + (s)) * <SPAN class=n>75</SPAN> + (f) - <SPAN class=n>150</SPAN>)
<A class=l name=89>     89 </A>
<A class=hl name=90>     90 </A><SPAN class=c>/*
<A class=l name=91>     91 </A> * MMC Response Data structures.  Use the read_scsi[16,32] and load_scsi[16,32]
<A class=l name=92>     92 </A> * routines when <A href="http://cvs.opensolaris.org/source/s?path=reading/">reading</A>/<A href="http://cvs.opensolaris.org/source/s?path=reading/writing">writing</A> fields &gt; 1 byte in size.
<A class=l name=93>     93 </A> */</SPAN>
<A class=l name=94>     94 </A><SPAN class=c>/*
<A class=l name=95>     95 </A> * Structures for the Raw TOC Response Format of the READ <A href="http://cvs.opensolaris.org/source/s?path=TOC/">TOC</A>/<A href="http://cvs.opensolaris.org/source/s?path=TOC/PMA/">PMA</A>/<A href="http://cvs.opensolaris.org/source/s?path=TOC/PMA/ATIP">ATIP</A>
<A class=l name=96>     96 </A> * command.
<A class=l name=97>     97 </A> */</SPAN>
<A class=l name=98>     98 </A><B>typedef</B> <B>struct</B> <A href="http://cvs.opensolaris.org/source/s?defs=rtoc_hdr">rtoc_hdr</A> {	<SPAN class=c>/* Raw TOC response format Header */</SPAN>
<A class=l name=99>     99 </A>	<A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> <A href="http://cvs.opensolaris.org/source/s?defs=rh_data_len1">rh_data_len1</A>;
<A class=hl name=100>    100 </A>	<A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> <A href="http://cvs.opensolaris.org/source/s?defs=rh_data_len0">rh_data_len0</A>;
<A class=l name=101>    101 </A>	<A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> <A href="http://cvs.opensolaris.org/source/s?defs=rh_first_sess_num">rh_first_sess_num</A>;
<A class=l name=102>    102 </A>	<A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> <A href="http://cvs.opensolaris.org/source/s?defs=rh_last_sess_num">rh_last_sess_num</A>;
<A class=l name=103>    103 </A>} <A href="http://cvs.opensolaris.org/source/s?defs=rtoc_hdr_t">rtoc_hdr_t</A>;
<A class=l name=104>    104 </A>
<A class=l name=105>    105 </A><B>typedef</B> <B>struct</B> <A href="http://cvs.opensolaris.org/source/s?defs=rtoc_td">rtoc_td</A> {	<SPAN class=c>/* Raw TOC response format Track Descriptor */</SPAN>
<A class=l name=106>    106 </A>	<A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> <A href="http://cvs.opensolaris.org/source/s?defs=rt_session_num">rt_session_num</A>;
<A class=l name=107>    107 </A>#<B>if</B> <B>defined</B>(<A href="http://cvs.opensolaris.org/source/s?defs=_BIT_FIELDS_LTOH">_BIT_FIELDS_LTOH</A>)
<A class=l name=108>    108 </A>	<A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A>	<A href="http://cvs.opensolaris.org/source/s?defs=rt_control">rt_control</A>	: <SPAN class=n>4</SPAN>;
<A class=l name=109>    109 </A>	<A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> <A href="http://cvs.opensolaris.org/source/s?defs=rt_adr">rt_adr</A>		: <SPAN class=n>4</SPAN>;
<A class=hl name=110>    110 </A>#<A href="http://cvs.opensolaris.org/source/s?defs=elif">elif</A> <B>defined</B>(<A href="http://cvs.opensolaris.org/source/s?defs=_BIT_FIELDS_HTOL">_BIT_FIELDS_HTOL</A>)
<A class=l name=111>    111 </A>	<A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> <A href="http://cvs.opensolaris.org/source/s?defs=rt_adr">rt_adr</A>		: <SPAN class=n>4</SPAN>;
<A class=l name=112>    112 </A>	<A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> <A href="http://cvs.opensolaris.org/source/s?defs=rt_control">rt_control</A>	: <SPAN class=n>4</SPAN>;
<A class=l name=113>    113 </A>#<B>else</B>
<A class=l name=114>    114 </A>#<A href="http://cvs.opensolaris.org/source/s?defs=error">error</A>	<A href="http://cvs.opensolaris.org/source/s?defs=One">One</A> <A href="http://cvs.opensolaris.org/source/s?defs=of">of</A> <A href="http://cvs.opensolaris.org/source/s?defs=_BIT_FIELDS_LTOH">_BIT_FIELDS_LTOH</A> <A href="http://cvs.opensolaris.org/source/s?defs=or">or</A> <A href="http://cvs.opensolaris.org/source/s?defs=_BIT_FIELDS_HTOL">_BIT_FIELDS_HTOL</A> <A href="http://cvs.opensolaris.org/source/s?defs=must">must</A> <A href="http://cvs.opensolaris.org/source/s?defs=be">be</A> <B>defined</B>
<A class=l name=115>    115 </A>#<B>endif</B>	<SPAN class=c>/* _BIT_FIELDS_LTOH */</SPAN>
<A class=l name=116>    116 </A>

⌨️ 快捷键说明

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