?? cross reference -onnv-onnv-gate-usr-src-cmd-cdrw-mmc_c.htm
字號:
<A class=l name=15> 15 </A> * If applicable, add the following below this CDDL HEADER, with the
<A class=l name=16> 16 </A> * fields enclosed by brackets "[]" replaced with your own identifying
<A class=l name=17> 17 </A> * information: Portions Copyright [yyyy] [name of copyright owner]
<A class=l name=18> 18 </A> *
<A class=l name=19> 19 </A> * CDDL HEADER END
<A class=hl name=20> 20 </A> */</SPAN>
<A class=l name=21> 21 </A><SPAN class=c>/*
<A class=l name=22> 22 </A> * Copyright 2008 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>pragma</B> <B>ident</B> <SPAN class=s>"%Z%%M% %I% %E% SMI"</SPAN>
<A class=l name=27> 27 </A>
<A class=l name=28> 28 </A>#<B>include</B> <<A href="http://cvs.opensolaris.org/source/s?path=sys/types.h">sys/types.h</A>>
<A class=l name=29> 29 </A>#<B>include</B> <<A href="http://cvs.opensolaris.org/source/s?path=stdlib.h">stdlib.h</A>>
<A class=hl name=30> 30 </A>#<B>include</B> <<A href="http://cvs.opensolaris.org/source/s?path=stdio.h">stdio.h</A>>
<A class=l name=31> 31 </A>#<B>include</B> <<A href="http://cvs.opensolaris.org/source/s?path=string.h">string.h</A>>
<A class=l name=32> 32 </A>
<A class=l name=33> 33 </A>#<B>include</B> <SPAN class=s>"<A href="http://cvs.opensolaris.org/source/s?path=transport.h">transport.h</A>"</SPAN>
<A class=l name=34> 34 </A>#<B>include</B> <SPAN class=s>"<A href="http://cvs.opensolaris.org/source/s?path=mmc.h">mmc.h</A>"</SPAN>
<A class=l name=35> 35 </A>#<B>include</B> <SPAN class=s>"<A href="http://cvs.opensolaris.org/source/s?path=util.h">util.h</A>"</SPAN>
<A class=l name=36> 36 </A>#<B>include</B> <SPAN class=s>"<A href="http://cvs.opensolaris.org/source/s?path=main.h">main.h</A>"</SPAN>
<A class=l name=37> 37 </A>
<A class=l name=38> 38 </A><B>int</B>
<A class=l name=39> 39 </A><A href="http://cvs.opensolaris.org/source/s?defs=test_unit_ready">test_unit_ready</A>(<B>int</B> <A href="http://cvs.opensolaris.org/source/s?defs=fd">fd</A>)
<A class=hl name=40> 40 </A>{
<A class=l name=41> 41 </A> <B>struct</B> <A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cmd">uscsi_cmd</A> *<A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>;
<A class=l name=42> 42 </A>
<A class=l name=43> 43 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A> = <A href="http://cvs.opensolaris.org/source/s?defs=get_uscsi_cmd">get_uscsi_cmd</A>();
<A class=l name=44> 44 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_flags">uscsi_flags</A> = <A href="http://cvs.opensolaris.org/source/s?defs=USCSI_SILENT">USCSI_SILENT</A>;
<A class=l name=45> 45 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_timeout">uscsi_timeout</A> = <A href="http://cvs.opensolaris.org/source/s?defs=DEFAULT_SCSI_TIMEOUT">DEFAULT_SCSI_TIMEOUT</A>;
<A class=l name=46> 46 </A> <SPAN class=c>/* give length of cdb structure */</SPAN>
<A class=l name=47> 47 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cdblen">uscsi_cdblen</A> = <SPAN class=n>6</SPAN>;
<A class=l name=48> 48 </A> <B>if</B> ((<A href="http://cvs.opensolaris.org/source/s?defs=uscsi_error">uscsi_error</A> = <A href="http://cvs.opensolaris.org/source/s?defs=uscsi">uscsi</A>(<A href="http://cvs.opensolaris.org/source/s?defs=fd">fd</A>, <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>)) < <SPAN class=n>0</SPAN>)
<A class=l name=49> 49 </A> <B>return</B> (<SPAN class=n>0</SPAN>);
<A class=hl name=50> 50 </A> <B>return</B> (<SPAN class=n>1</SPAN>);
<A class=l name=51> 51 </A>}
<A class=l name=52> 52 </A>
<A class=l name=53> 53 </A><B>int</B>
<A class=l name=54> 54 </A><A href="http://cvs.opensolaris.org/source/s?defs=inquiry">inquiry</A>(<B>int</B> <A href="http://cvs.opensolaris.org/source/s?defs=fd">fd</A>, <A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> *<A href="http://cvs.opensolaris.org/source/s?defs=inq">inq</A>)
<A class=l name=55> 55 </A>{
<A class=l name=56> 56 </A> <B>struct</B> <A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cmd">uscsi_cmd</A> *<A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>;
<A class=l name=57> 57 </A>
<A class=l name=58> 58 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A> = <A href="http://cvs.opensolaris.org/source/s?defs=get_uscsi_cmd">get_uscsi_cmd</A>();
<A class=l name=59> 59 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_flags">uscsi_flags</A> = <A href="http://cvs.opensolaris.org/source/s?defs=USCSI_READ">USCSI_READ</A>|<A href="http://cvs.opensolaris.org/source/s?defs=USCSI_SILENT">USCSI_SILENT</A>;
<A class=hl name=60> 60 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_timeout">uscsi_timeout</A> = <A href="http://cvs.opensolaris.org/source/s?defs=DEFAULT_SCSI_TIMEOUT">DEFAULT_SCSI_TIMEOUT</A>;
<A class=l name=61> 61 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cdb">uscsi_cdb</A>[<SPAN class=n>0</SPAN>] = <A href="http://cvs.opensolaris.org/source/s?defs=INQUIRY_CMD">INQUIRY_CMD</A>;
<A class=l name=62> 62 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cdb">uscsi_cdb</A>[<SPAN class=n>4</SPAN>] = <A href="http://cvs.opensolaris.org/source/s?defs=INQUIRY_DATA_LENGTH">INQUIRY_DATA_LENGTH</A>;
<A class=l name=63> 63 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cdblen">uscsi_cdblen</A> = <SPAN class=n>6</SPAN>;
<A class=l name=64> 64 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_bufaddr">uscsi_bufaddr</A> = (<B>char</B> *)<A href="http://cvs.opensolaris.org/source/s?defs=inq">inq</A>;
<A class=l name=65> 65 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_buflen">uscsi_buflen</A> = <A href="http://cvs.opensolaris.org/source/s?defs=INQUIRY_DATA_LENGTH">INQUIRY_DATA_LENGTH</A>;
<A class=l name=66> 66 </A> <B>if</B> ((<A href="http://cvs.opensolaris.org/source/s?defs=uscsi_error">uscsi_error</A> = <A href="http://cvs.opensolaris.org/source/s?defs=uscsi">uscsi</A>(<A href="http://cvs.opensolaris.org/source/s?defs=fd">fd</A>, <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>)) < <SPAN class=n>0</SPAN>)
<A class=l name=67> 67 </A> <B>return</B> (<SPAN class=n>0</SPAN>);
<A class=l name=68> 68 </A> <B>return</B> (<SPAN class=n>1</SPAN>);
<A class=l name=69> 69 </A>}
<A class=hl name=70> 70 </A>
<A class=l name=71> 71 </A><B>int</B>
<A class=l name=72> 72 </A><A href="http://cvs.opensolaris.org/source/s?defs=read_capacity">read_capacity</A>(<B>int</B> <A href="http://cvs.opensolaris.org/source/s?defs=fd">fd</A>, <A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> *<A href="http://cvs.opensolaris.org/source/s?defs=capbuf">capbuf</A>)
<A class=l name=73> 73 </A>{
<A class=l name=74> 74 </A> <B>struct</B> <A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cmd">uscsi_cmd</A> *<A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>;
<A class=l name=75> 75 </A>
<A class=l name=76> 76 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A> = <A href="http://cvs.opensolaris.org/source/s?defs=get_uscsi_cmd">get_uscsi_cmd</A>();
<A class=l name=77> 77 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_flags">uscsi_flags</A> = <A href="http://cvs.opensolaris.org/source/s?defs=USCSI_READ">USCSI_READ</A>|<A href="http://cvs.opensolaris.org/source/s?defs=USCSI_SILENT">USCSI_SILENT</A>;
<A class=l name=78> 78 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_timeout">uscsi_timeout</A> = <A href="http://cvs.opensolaris.org/source/s?defs=DEFAULT_SCSI_TIMEOUT">DEFAULT_SCSI_TIMEOUT</A>;
<A class=l name=79> 79 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cdb">uscsi_cdb</A>[<SPAN class=n>0</SPAN>] = <A href="http://cvs.opensolaris.org/source/s?defs=READ_CAP_CMD">READ_CAP_CMD</A>;
<A class=hl name=80> 80 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cdblen">uscsi_cdblen</A> = <SPAN class=n>10</SPAN>;
<A class=l name=81> 81 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_bufaddr">uscsi_bufaddr</A> = (<B>char</B> *)<A href="http://cvs.opensolaris.org/source/s?defs=capbuf">capbuf</A>;
<A class=l name=82> 82 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_buflen">uscsi_buflen</A> = <SPAN class=n>8</SPAN>;
<A class=l name=83> 83 </A> <B>if</B> ((<A href="http://cvs.opensolaris.org/source/s?defs=uscsi_error">uscsi_error</A> = <A href="http://cvs.opensolaris.org/source/s?defs=uscsi">uscsi</A>(<A href="http://cvs.opensolaris.org/source/s?defs=fd">fd</A>, <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>)) < <SPAN class=n>0</SPAN>)
<A class=l name=84> 84 </A> <B>return</B> (<SPAN class=n>0</SPAN>);
<A class=l name=85> 85 </A> <B>return</B> (<SPAN class=n>1</SPAN>);
<A class=l name=86> 86 </A>}
<A class=l name=87> 87 </A>
<A class=l name=88> 88 </A><B>int</B>
<A class=l name=89> 89 </A><A href="http://cvs.opensolaris.org/source/s?defs=mode_sense">mode_sense</A>(<B>int</B> <A href="http://cvs.opensolaris.org/source/s?defs=fd">fd</A>, <A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> <A href="http://cvs.opensolaris.org/source/s?defs=pc">pc</A>, <B>int</B> <A href="http://cvs.opensolaris.org/source/s?defs=dbd">dbd</A>, <B>int</B> <A href="http://cvs.opensolaris.org/source/s?defs=page_len">page_len</A>, <A href="http://cvs.opensolaris.org/source/s?defs=uchar_t">uchar_t</A> *<A href="http://cvs.opensolaris.org/source/s?defs=buffer">buffer</A>)
<A class=hl name=90> 90 </A>{
<A class=l name=91> 91 </A> <B>struct</B> <A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cmd">uscsi_cmd</A> *<A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>;
<A class=l name=92> 92 </A>
<A class=l name=93> 93 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A> = <A href="http://cvs.opensolaris.org/source/s?defs=get_uscsi_cmd">get_uscsi_cmd</A>();
<A class=l name=94> 94 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_flags">uscsi_flags</A> = <A href="http://cvs.opensolaris.org/source/s?defs=USCSI_READ">USCSI_READ</A>|<A href="http://cvs.opensolaris.org/source/s?defs=USCSI_SILENT">USCSI_SILENT</A>;
<A class=l name=95> 95 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_buflen">uscsi_buflen</A> = <A href="http://cvs.opensolaris.org/source/s?defs=page_len">page_len</A>;
<A class=l name=96> 96 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_bufaddr">uscsi_bufaddr</A> = (<B>char</B> *)<A href="http://cvs.opensolaris.org/source/s?defs=buffer">buffer</A>;
<A class=l name=97> 97 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_timeout">uscsi_timeout</A> = <A href="http://cvs.opensolaris.org/source/s?defs=DEFAULT_SCSI_TIMEOUT">DEFAULT_SCSI_TIMEOUT</A>;
<A class=l name=98> 98 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cdblen">uscsi_cdblen</A> = <SPAN class=n>0xa</SPAN>;
<A class=l name=99> 99 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cdb">uscsi_cdb</A>[<SPAN class=n>0</SPAN>] = <A href="http://cvs.opensolaris.org/source/s?defs=MODE_SENSE_10_CMD">MODE_SENSE_10_CMD</A>;
<A class=hl name=100> 100 </A> <B>if</B> (<A href="http://cvs.opensolaris.org/source/s?defs=dbd">dbd</A>) {
<A class=l name=101> 101 </A> <SPAN class=c>/* don't return any block descriptors */</SPAN>
<A class=l name=102> 102 </A> <A href="http://cvs.opensolaris.org/source/s?defs=scmd">scmd</A>-><A href="http://cvs.opensolaris.org/source/s?defs=uscsi_cdb">uscsi_cdb</A>[<SPAN class=n>1</SPAN>] = <SPAN class=n>0x8</SPAN>;
<A class=l name=103> 103 </A> }
<A class=l name=104> 104 </A> <SPAN class=c>/* the page code we want */</SPAN>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -