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

📄 device.h.htm

📁 光驱cdrom读写源代码,scsi命令解析
💻 HTM
字号:
<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"><head>    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>    <meta name="generator" content="OpenGrok v0.6beta (5cad370c5aab)"/>    <link rel="icon" href="/source/default/img/icon.png" type="image/png"/>    <link rel="stylesheet" type="text/css" href="/source/default/style.css"/>    <link rel="stylesheet" type="text/css" href="/source/default/print.css" media="print" />    <link rel="alternate stylesheet" type="text/css" media="all" title="Paper White" href="/source/default/print.css"/>    <title>Cross Reference: /onnv/onnv-gate/usr/src/cmd/cdrw/device.h</title><script type="text/javascript"><!--function toggle_annotations() {   var spans = document.getElementsByTagName("span");   for (var i = 0; i < spans.length; i++) {      var span = spans[i];      if (span.className == 'blame') {         span.className = 'blame-hidden';      } else if (span.className == 'blame-hidden') {         span.className = 'blame';      }   }}// --></script><style type="text/css">    div#Iconbar a {    font-size: 11px;    color: #444;    text-decoration: none;    background-position: 50% 0%;    background-repeat: no-repeat;    display: block;    float: left;    margin: 0 0.6em;    padding-top: 34px;}div#Iconbar a#DiscussionsIcon {    background-image: url(http://www.opensolaris.org/images/discussions.gif);}div#Iconbar a#CommunitiesIcon {    background-image: url(http://www.opensolaris.org/images/communities.gif);}div#Iconbar a#ProjectsIcon {    background-image: url(http://www.opensolaris.org/images/projects.gif);}div#Iconbar a#DownloadIcon {    background-image: url(http://www.opensolaris.org/images/download.gif);}div#Iconbar a#SourceBrowserIcon {    background-image: url(http://www.opensolaris.org/images/srcbrowse.gif);}</style></head><body><div id="page"><form action="/source/search">    <div id="header"><div id="MastheadLogo"><a id="MastheadLogo" href="http://www.opensolaris.org"></a></div>        <div id="pagetitle"><b id="filename">Cross Reference: device.h</b><br/></div>    </div><div id="Masthead"><tt><a href="/source/xref/">xref</a>: /<a href="/source/xref/onnv/">onnv</a>/<a href="/source/xref/onnv/onnv-gate/">onnv-gate</a>/<a href="/source/xref/onnv/onnv-gate/usr/">usr</a>/<a href="/source/xref/onnv/onnv-gate/usr/src/">src</a>/<a href="/source/xref/onnv/onnv-gate/usr/src/cmd/">cmd</a>/<a href="/source/xref/onnv/onnv-gate/usr/src/cmd/cdrw/">cdrw</a>/<a href="/source/xref/onnv/onnv-gate/usr/src/cmd/cdrw/device.h">device.h</a></tt></div>    <div id="bar"><a href="/source" id="home">Home</a> | <a id="history" href="/source/history/onnv/onnv-gate/usr/src/cmd/cdrw/device.h">History</a> | <a href="/source/xref/onnv/onnv-gate/usr/src/cmd/cdrw/device.h?a=true">Annotate</a> |  <a id="download" href="/source/raw/onnv/onnv-gate/usr/src/cmd/cdrw/device.h">Download</a> |  <input id="search" name="q" class="q"/><input type="submit" value="Search" class="submit"/><input type="checkbox" name="path" value="/onnv/onnv-gate/usr/src/cmd/cdrw"/> only in <b>cdrw</b></div></form><div id="src"><pre><a class="l" name="1">      1 </a><span class="c">/*<a class="l" name="2">      2 </a> * CDDL HEADER START<a class="l" name="3">      3 </a> *<a class="l" name="4">      4 </a> * The contents of this file are subject to the terms of the<a class="l" name="5">      5 </a> * Common Development and Distribution License (the "License").<a class="l" name="6">      6 </a> * You may not use this file except in compliance with the License.<a class="l" name="7">      7 </a> *<a class="l" name="8">      8 </a> * You can obtain a copy of the license at <a href="/source/s?path=usr/">usr</a>/<a href="/source/s?path=usr/src/">src</a>/<a href="/source/s?path=usr/src/OPENSOLARIS.LICENSE">OPENSOLARIS.LICENSE</a><a class="l" name="9">      9 </a> * or <a href="http://www.opensolaris.org/os/licensing">http://www.opensolaris.org/os/licensing</a>.<a class="hl" name="10">     10 </a> * See the License for the specific language governing permissions<a class="l" name="11">     11 </a> * and limitations under the License.<a class="l" name="12">     12 </a> *<a class="l" name="13">     13 </a> * When distributing Covered Code, include this CDDL HEADER in each<a class="l" name="14">     14 </a> * file and include the License file at <a href="/source/s?path=usr/">usr</a>/<a href="/source/s?path=usr/src/">src</a>/<a href="/source/s?path=usr/src/OPENSOLARIS.LICENSE">OPENSOLARIS.LICENSE</a>.<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>ifndef</b>	<a href="/source/s?defs=_DEVICE_H">_DEVICE_H</a><a class="l" name="27">     27 </a>#<b>define</b>	<a href="/source/s?defs=_DEVICE_H">_DEVICE_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="/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>#<b>include</b> &lt;<a href="/source/s?path=sys/types.h">sys/types.h</a>&gt;<a class="l" name="36">     36 </a><a class="l" name="37">     37 </a>#<b>include</b> <span class="s">"<a href="/source/s?path=bstream.h">bstream.h</a>"</span><a class="l" name="38">     38 </a><a class="l" name="39">     39 </a>#<b>define</b>	<a href="/source/s?defs=DEFAULT_CAPACITY">DEFAULT_CAPACITY</a>	(<span class="n">74*60</span>*<span class="n">75</span>)<a class="hl" name="40">     40 </a><a class="l" name="41">     41 </a><b>typedef</b> <b>struct</b> <a href="/source/s?defs=_device">_device</a> {<a class="l" name="42">     42 </a>	<b>char</b>		*<a href="/source/s?defs=d_node">d_node</a>;<a class="l" name="43">     43 </a>	<b>char</b>		*<a href="/source/s?defs=d_name">d_name</a>;<a class="l" name="44">     44 </a>	<b>int</b>		<a href="/source/s?defs=d_fd">d_fd</a>;<a class="l" name="45">     45 </a>	<a href="/source/s?defs=uint_t">uint_t</a>		<a href="/source/s?defs=d_blksize">d_blksize</a>;<a class="l" name="46">     46 </a>	<a href="/source/s?defs=uchar_t">uchar_t</a>		*<a href="/source/s?defs=d_inq">d_inq</a>;		<span class="c">/* INQUIRY response data */</span><a class="l" name="47">     47 </a>	<a href="/source/s?defs=uint32_t">uint32_t</a>	<a href="/source/s?defs=d_cap">d_cap</a>;		<span class="c">/* capabilities */</span><a class="l" name="48">     48 </a>	<b>int</b>		(*<a href="/source/s?defs=d_read_audio">d_read_audio</a>)(<b>struct</b> <a href="/source/s?defs=_device">_device</a> *<a href="/source/s?defs=dev">dev</a>, <a href="/source/s?defs=uint_t">uint_t</a> <a href="/source/s?defs=start_blk">start_blk</a>,<a class="l" name="49">     49 </a>			    <a href="/source/s?defs=uint_t">uint_t</a> <a href="/source/s?defs=nblks">nblks</a>, <a href="/source/s?defs=uchar_t">uchar_t</a> *<a href="/source/s?defs=buf">buf</a>);<a class="hl" name="50">     50 </a>	<b>int</b>		(*<a href="/source/s?defs=d_speed_ctrl">d_speed_ctrl</a>)(<b>struct</b> <a href="/source/s?defs=_device">_device</a> *<a href="/source/s?defs=dev">dev</a>, <b>int</b> <a href="/source/s?defs=cmd">cmd</a>,<a class="l" name="51">     51 </a>			    <b>int</b> <a href="/source/s?defs=speed">speed</a>);<a class="l" name="52">     52 </a>} <a href="/source/s?defs=cd_device">cd_device</a>;<a class="l" name="53">     53 </a><a class="l" name="54">     54 </a><span class="c">/* values for d_cap */</span><a class="l" name="55">     55 </a>#<b>define</b>	<a href="/source/s?defs=DEV_CAP_EXTRACT_CDDA">DEV_CAP_EXTRACT_CDDA</a>			<span class="n">1</span><a class="l" name="56">     56 </a>#<b>define</b>	<a href="/source/s?defs=DEV_CAP_ACCURATE_CDDA">DEV_CAP_ACCURATE_CDDA</a>			<span class="n">2</span><a class="l" name="57">     57 </a>#<b>define</b>	<a href="/source/s?defs=DEV_CAP_SETTING_SPEED_NOT_ALLOWED">DEV_CAP_SETTING_SPEED_NOT_ALLOWED</a>	<span class="n">4</span><a class="l" name="58">     58 </a><a class="l" name="59">     59 </a><span class="c">/*<a class="hl" name="60">     60 </a> * Speed commands<a class="l" name="61">     61 </a> */</span><a class="l" name="62">     62 </a>#<b>define</b>	<a href="/source/s?defs=GET_READ_SPEED">GET_READ_SPEED</a>	<span class="n">1</span><a class="l" name="63">     63 </a>#<b>define</b>	<a href="/source/s?defs=SET_READ_SPEED">SET_READ_SPEED</a>	<span class="n">2</span><a class="l" name="64">     64 </a>#<b>define</b>	<a href="/source/s?defs=GET_WRITE_SPEED">GET_WRITE_SPEED</a>	<span class="n">3</span><a class="l" name="65">     65 </a>#<b>define</b>	<a href="/source/s?defs=SET_WRITE_SPEED">SET_WRITE_SPEED</a>	<span class="n">4</span><a class="l" name="66">     66 </a><a class="l" name="67">     67 </a>#<b>define</b>	<a href="/source/s?defs=SCAN_ALL_CDS">SCAN_ALL_CDS</a>		<span class="n">0x00</span>	<span class="c">/* scan and return all cd devices */</span><a class="l" name="68">     68 </a>#<b>define</b>	<a href="/source/s?defs=SCAN_WRITERS">SCAN_WRITERS</a>		<span class="n">0x01</span>	<span class="c">/* select only writable devices */</span><a class="l" name="69">     69 </a>#<b>define</b>	<a href="/source/s?defs=SCAN_LISTDEVS">SCAN_LISTDEVS</a>		<span class="n">0x02</span>	<span class="c">/* print out device listing */</span><a class="hl" name="70">     70 </a><a class="l" name="71">     71 </a>#<b>define</b>	<a href="/source/s?defs=DVD_CONFIG_SIZE">DVD_CONFIG_SIZE</a>		<span class="n">0x20</span><a class="l" name="72">     72 </a><a class="l" name="73">     73 </a><a href="/source/s?defs=cd_device">cd_device</a> *<a href="/source/s?defs=get_device">get_device</a>(<b>char</b> *<a href="/source/s?defs=user_supplied">user_supplied</a>, <b>char</b> *<a href="/source/s?defs=node">node</a>);<a class="l" name="74">     74 </a><b>int</b> <a href="/source/s?defs=lookup_device">lookup_device</a>(<b>char</b> *<a href="/source/s?defs=supplied">supplied</a>, <b>char</b> *<a href="/source/s?defs=found">found</a>);<a class="l" name="75">     75 </a><b>void</b> <a href="/source/s?defs=fini_device">fini_device</a>(<a href="/source/s?defs=cd_device">cd_device</a> *<a href="/source/s?defs=dev">dev</a>);<a class="l" name="76">     76 </a><b>int</b> <a href="/source/s?defs=scan_for_cd_device">scan_for_cd_device</a>(<b>int</b> <a href="/source/s?defs=mode">mode</a>, <a href="/source/s?defs=cd_device">cd_device</a> **<a href="/source/s?defs=found">found</a>);<a class="l" name="77">     77 </a><b>void</b> <a href="/source/s?defs=write_next_track">write_next_track</a>(<b>int</b> <a href="/source/s?defs=mode">mode</a>, <a href="/source/s?defs=bstreamhandle">bstreamhandle</a> h);<a class="l" name="78">     78 </a><b>int</b> <a href="/source/s?defs=check_device">check_device</a>(<a href="/source/s?defs=cd_device">cd_device</a> *<a href="/source/s?defs=dev">dev</a>, <b>int</b> <a href="/source/s?defs=cond">cond</a>);<a class="l" name="79">     79 </a><b>void</b> <a href="/source/s?defs=get_media_type">get_media_type</a>(<b>int</b> <a href="/source/s?defs=fd">fd</a>);<a class="hl" name="80">     80 </a><b>void</b> <a href="/source/s?defs=print_profile_list">print_profile_list</a>(<b>int</b> <a href="/source/s?defs=fd">fd</a>);<a class="l" name="81">     81 </a><b>void</b> <a href="/source/s?defs=print_profile_name">print_profile_name</a>(<a href="/source/s?defs=uint16_t">uint16_t</a> <a href="/source/s?defs=num">num</a>, <a href="/source/s?defs=uchar_t">uchar_t</a> <a href="/source/s?defs=current">current</a>, <a href="/source/s?defs=uchar_t">uchar_t</a> <a href="/source/s?defs=abbr">abbr</a>);<a class="l" name="82">     82 </a><b>int</b> <a href="/source/s?defs=ftr_supported">ftr_supported</a>(<b>int</b> <a href="/source/s?defs=fd">fd</a>, <a href="/source/s?defs=uint16_t">uint16_t</a> <a href="/source/s?defs=feature">feature</a>);<a class="l" name="83">     83 </a><a href="/source/s?defs=uint_t">uint_t</a> <a href="/source/s?defs=cdrw_bandwidth_to_x">cdrw_bandwidth_to_x</a>(<a href="/source/s?defs=uint_t">uint_t</a> <a href="/source/s?defs=rate">rate</a>);<a class="l" name="84">     84 </a><a href="/source/s?defs=uint_t">uint_t</a> <a href="/source/s?defs=cdrw_x_to_bandwidth">cdrw_x_to_bandwidth</a>(<a href="/source/s?defs=uint_t">uint_t</a> x);<a class="l" name="85">     85 </a><a class="l" name="86">     86 </a>#<b>ifdef</b>	<a href="/source/s?defs=__cplusplus">__cplusplus</a><a class="l" name="87">     87 </a>}<a class="l" name="88">     88 </a>#<b>endif</b><a class="l" name="89">     89 </a><a class="hl" name="90">     90 </a>#<b>endif</b> <span class="c">/* _DEVICE_H */</span><a class="l" name="91">     91 </a></pre></div><div id="Footer"><p class="Center"><a href="http://www.opensolaris.org/os/project/opengrok/"><img src="/source/default/img/servedby.png" alt="Served by OpenGrok" title="Served by OpenGrok"/></a></p><p class="Center"><a href="http://www.opensolaris.org/os/tou/">Terms of Use</a> |<a href="http://www.sun.com/privacy/">Privacy</a> |<a href="http://www.opensolaris.org/os/trademark/">Trademarks</a> |<a href="http://www.opensolaris.org/os/copyrights/">Copyright Policy</a> |<a href="http://www.opensolaris.org/os/site_guidelines/">Site Guidelines</a> |<a href="http://www.opensolaris.org/os/about/help/">Help</a><br />Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.<br />Copyright &copy; 1995-2008 Sun Microsystems, Inc.<br /></p><script type="text/javascript" src="http://www.opensolaris.org/js/s_code_remote.js"></script></div></body></html>

⌨️ 快捷键说明

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