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

📄 main.c.htm

📁 光驱cdrom读写源代码,scsi命令解析
💻 HTM
📖 第 1 页 / 共 4 页
字号:
<a class="l" name="77">     77 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">"USAGE:\n"</span>));<a class="l" name="78">     78 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">"\tcdrw -i [ -vSCO ] [ -d device ] [ -p speed ]"</span>));<a class="l" name="79">     79 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">" [ image-file ]\n"</span>));<a class="hl" name="80">     80 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">"\tcdrw -a [ -vSCO ] [ -d device ] [ -p speed ]"</span>));<a class="l" name="81">     81 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">" [ -T audio-type ] audio-file1 audio-file2 ...\n"</span>));<a class="l" name="82">     82 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">"\tcdrw -x [ -v ] [ -d device ] [ -T audio-type ]"</span>));<a class="l" name="83">     83 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">" track-number audio-file\n"</span>));<a class="l" name="84">     84 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">"\tcdrw -c [ -SC ] [ -d device ] [ -p speed ]"</span>));<a class="l" name="85">     85 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">" [ -m tmp-dir ] [ -s src-device ]\n"</span>));<a class="l" name="86">     86 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a class="l" name="87">     87 </a>	    <a href="/source/s?defs=gettext">gettext</a>(<span class="s">"\tcdrw -b [ -v ] [ -d device ] all | session | fast\n"</span>));<a class="l" name="88">     88 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">"\tcdrw -M [ -v ] [ -d device ]\n"</span>));<a class="l" name="89">     89 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">"\tcdrw -L [ -v ] [ -d device ]\n"</span>));<a class="hl" name="90">     90 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">"\tcdrw -l [ -v ]\n"</span>));<a class="l" name="91">     91 </a>	<a href="/source/s?defs=err_msg">err_msg</a>(<a href="/source/s?defs=gettext">gettext</a>(<span class="s">"\tcdrw -h\n"</span>));<a class="l" name="92">     92 </a><a class="l" name="93">     93 </a>	<a href="/source/s?defs=exit">exit</a>(<span class="n">2</span>);<a class="l" name="94">     94 </a>}<a class="l" name="95">     95 </a><a class="l" name="96">     96 </a><b>static</b> <b>void</b><a class="l" name="97">     97 </a><a href="/source/s?defs=check_invalid_option">check_invalid_option</a>(<a href="/source/s?defs=options">options</a> *<a href="/source/s?defs=specified">specified</a>, <b>char</b> *<a href="/source/s?defs=opstr">opstr</a>)<a class="l" name="98">     98 </a>{<a class="l" name="99">     99 </a>	<a href="/source/s?defs=options">options</a> <a href="/source/s?defs=c_op">c_op</a>;<a class="hl" name="100">    100 </a>	<b>int</b> <a href="/source/s?defs=ret">ret</a>;<a class="l" name="101">    101 </a><a class="l" name="102">    102 </a>	<a href="/source/s?defs=set_options_mask">set_options_mask</a>(&amp;<a href="/source/s?defs=c_op">c_op</a>, <a href="/source/s?defs=opstr">opstr</a>);<a class="l" name="103">    103 </a>	<b>if</b> ((<a href="/source/s?defs=ret">ret</a> = <a href="/source/s?defs=compare_options_mask">compare_options_mask</a>(&amp;<a href="/source/s?defs=c_op">c_op</a>, <a href="/source/s?defs=specified">specified</a>)) != <span class="n">0</span>) {<a class="l" name="104">    104 </a>		<a href="/source/s?defs=err_msg">err_msg</a>(<a class="l" name="105">    105 </a>		    <a href="/source/s?defs=gettext">gettext</a>(<span class="s">"Option %c is not defined for this operation.\n"</span>),<a class="l" name="106">    106 </a>		    (<b>char</b>)<a href="/source/s?defs=ret">ret</a>);<a class="l" name="107">    107 </a>		<a href="/source/s?defs=print_usage">print_usage</a>();<a class="l" name="108">    108 </a>	}<a class="l" name="109">    109 </a>}<a class="hl" name="110">    110 </a><a class="l" name="111">    111 </a><a href="/source/s?defs=LibHalContext">LibHalContext</a> *<a class="l" name="112">    112 </a><a href="/source/s?defs=attach_to_hald">attach_to_hald</a>(<b>void</b>)<a class="l" name="113">    113 </a>{<a class="l" name="114">    114 </a>	<a href="/source/s?defs=LibHalContext">LibHalContext</a> *<a href="/source/s?defs=ctx">ctx</a> = <a href="/source/s?defs=NULL">NULL</a>;<a class="l" name="115">    115 </a>	<a href="/source/s?defs=DBusConnection">DBusConnection</a> *<a href="/source/s?defs=con">con</a> = <a href="/source/s?defs=NULL">NULL</a>;<a class="l" name="116">    116 </a>	<a href="/source/s?defs=DBusError">DBusError</a> <a href="/source/s?defs=error">error</a>;<a class="l" name="117">    117 </a>	<a href="/source/s?defs=hal_state_t">hal_state_t</a> <a href="/source/s?defs=state">state</a>;<a class="l" name="118">    118 </a><a class="l" name="119">    119 </a>	<span class="c">/* Initialize the dbus error states */</span><a class="hl" name="120">    120 </a>	<a href="/source/s?defs=dbus_error_init">dbus_error_init</a>(&amp;<a href="/source/s?defs=error">error</a>);<a class="l" name="121">    121 </a><a class="l" name="122">    122 </a>	<b>if</b> ((<a href="/source/s?defs=con">con</a> = <a href="/source/s?defs=dbus_bus_get">dbus_bus_get</a>(<a href="/source/s?defs=DBUS_BUS_SYSTEM">DBUS_BUS_SYSTEM</a>, &amp;<a href="/source/s?defs=error">error</a>)) == <a href="/source/s?defs=NULL">NULL</a>) {<a class="l" name="123">    123 </a>		<b>return</b> (<a href="/source/s?defs=NULL">NULL</a>);<a class="l" name="124">    124 </a>	}<a class="l" name="125">    125 </a>	<a href="/source/s?defs=state">state</a> = <a href="/source/s?defs=DBUS_CONNECTION">DBUS_CONNECTION</a>;<a class="l" name="126">    126 </a><a class="l" name="127">    127 </a>	<span class="c">/* Allocate a new hal context to work with the dbus */</span><a class="l" name="128">    128 </a>	<b>if</b> ((<a href="/source/s?defs=ctx">ctx</a> = <a href="/source/s?defs=libhal_ctx_new">libhal_ctx_new</a>()) == <a href="/source/s?defs=NULL">NULL</a>)<a class="l" name="129">    129 </a>		<b>return</b> (<a href="/source/s?defs=NULL">NULL</a>);<a class="hl" name="130">    130 </a>	<a href="/source/s?defs=state">state</a> = <a href="/source/s?defs=HAL_CONTEXT">HAL_CONTEXT</a>;<a class="l" name="131">    131 </a><a class="l" name="132">    132 </a>	<span class="c">/* Pair up the context with the connection */</span><a class="l" name="133">    133 </a>	<b>if</b> (!<a href="/source/s?defs=libhal_ctx_set_dbus_connection">libhal_ctx_set_dbus_connection</a>(<a href="/source/s?defs=ctx">ctx</a>, <a href="/source/s?defs=con">con</a>))<a class="l" name="134">    134 </a>		<b>goto</b> <a href="/source/s?defs=fail">fail</a>;<a class="l" name="135">    135 </a>	<a href="/source/s?defs=state">state</a> = <a href="/source/s?defs=HAL_PAIRED">HAL_PAIRED</a>;<a class="l" name="136">    136 </a><a class="l" name="137">    137 </a>	<span class="c">/* If libhal_ctx_init fails hald is not present */</span><a class="l" name="138">    138 </a>	<b>if</b> (!<a href="/source/s?defs=libhal_ctx_init">libhal_ctx_init</a>(<a href="/source/s?defs=ctx">ctx</a>, &amp;<a href="/source/s?defs=error">error</a>)) {<a class="l" name="139">    139 </a>		<b>goto</b> <a href="/source/s?defs=fail">fail</a>;<a class="hl" name="140">    140 </a>	}<a class="l" name="141">    141 </a>	<a href="/source/s?defs=state">state</a> = <a href="/source/s?defs=HAL_INITIALIZED">HAL_INITIALIZED</a>;<a class="l" name="142">    142 </a><a class="l" name="143">    143 </a>	<b>return</b> (<a href="/source/s?defs=ctx">ctx</a>);<a class="l" name="144">    144 </a><a href="/source/s?defs=fail">fail</a>:<a class="l" name="145">    145 </a>	<b>if</b> (<a href="/source/s?defs=dbus_error_is_set">dbus_error_is_set</a>(&amp;<a href="/source/s?defs=error">error</a>))<a class="l" name="146">    146 </a>		<a href="/source/s?defs=dbus_error_free">dbus_error_free</a>(&amp;<a href="/source/s?defs=error">error</a>);<a class="l" name="147">    147 </a>	<a href="/source/s?defs=detach_from_hald">detach_from_hald</a>(<a href="/source/s?defs=ctx">ctx</a>, <a href="/source/s?defs=state">state</a>);<a class="l" name="148">    148 </a>	<b>return</b> (<a href="/source/s?defs=NULL">NULL</a>);<a class="l" name="149">    149 </a><a class="hl" name="150">    150 </a>}<a class="l" name="151">    151 </a><a class="l" name="152">    152 </a><b>void</b><a class="l" name="153">    153 </a><a href="/source/s?defs=detach_from_hald">detach_from_hald</a>(<a href="/source/s?defs=LibHalContext">LibHalContext</a> *<a href="/source/s?defs=ctx">ctx</a>, <a href="/source/s?defs=hal_state_t">hal_state_t</a> <a href="/source/s?defs=state">state</a>)<a class="l" name="154">    154 </a>{<a class="l" name="155">    155 </a>	<a href="/source/s?defs=DBusError">DBusError</a> <a href="/source/s?defs=error">error</a>;<a class="l" name="156">    156 </a>	<a href="/source/s?defs=DBusConnection">DBusConnection</a> *<a href="/source/s?defs=con">con</a> = <a href="/source/s?defs=libhal_ctx_get_dbus_connection">libhal_ctx_get_dbus_connection</a>(<a href="/source/s?defs=ctx">ctx</a>);<a class="l" name="157">    157 </a><a class="l" name="158">    158 </a>	<a href="/source/s?defs=dbus_error_init">dbus_error_init</a>(&amp;<a href="/source/s?defs=error">error</a>);<a class="l" name="159">    159 </a><a class="hl" name="160">    160 </a>	<b>switch</b> (<a href="/source/s?defs=state">state</a>) {<a class="l" name="161">    161 </a>	<b>case</b> <a href="/source/s?defs=HAL_INITIALIZED">HAL_INITIALIZED</a>:<a class="l" name="162">    162 </a>		<b>if</b> (<a href="/source/s?defs=libhal_ctx_shutdown">libhal_ctx_shutdown</a>(<a href="/source/s?defs=ctx">ctx</a>, &amp;<a href="/source/s?defs=error">error</a>) == <a href="/source/s?defs=FALSE">FALSE</a>)<a class="l" name="163">    163 </a>			<b>if</b> (<a href="/source/s?defs=dbus_error_is_set">dbus_error_is_set</a>(&amp;<a href="/source/s?defs=error">error</a>))<a class="l" name="164">    164 </a>				<a href="/source/s?defs=dbus_error_free">dbus_error_free</a>(&amp;<a href="/source/s?defs=error">error</a>);<a class="l" name="165">    165 </a>	<span class="c">/*FALLTHROUGH*/</span><a class="l" name="166">    166 </a>	<b>case</b> <a href="/source/s?defs=HAL_PAIRED">HAL_PAIRED</a>:<a class="l" name="167">    167 </a>		(<b>void</b>) <a href="/source/s?defs=libhal_ctx_free">libhal_ctx_free</a>(<a href="/source/s?defs=ctx">ctx</a>);<a class="l" name="168">    168 </a>		<a href="/source/s?defs=dbus_connection_unref">dbus_connection_unref</a>(<a href="/source/s?defs=con">con</a>);<a class="l" name="169">    169 </a>		<b>break</b>;<a class="hl" name="170">    170 </a>	<b>case</b> <a href="/source/s?defs=HAL_CONTEXT">HAL_CONTEXT</a>:<a class="l" name="171">    171 </a>		(<b>void</b>) <a href="/source/s?defs=libhal_ctx_free">libhal_ctx_free</a>(<a href="/source/s?defs=ctx">ctx</a>);<a class="l" name="172">    172 </a>		<b>break</b>;<a class="l" name="173">    173 </a>	<b>case</b> <a href="/source/s?defs=DBUS_CONNECTION">DBUS_CONNECTION</a>:<a class="l" name="174">    174 </a>	<b>default</b>:<a class="l" name="175">    175 </a>		<b>break</b>;<a class="l" name="176">    176 </a>	}<a class="l" name="177">    177 </a>}<a class="l" name="178">    178 </a><a class="l" name="179">    179 </a><span class="c">/*<a class="hl" name="180">    180 </a> * This function returns one if hald is running and<a class="l" name="181">    181 </a> * zero if hald is not running<a class="l" name="182">    182 </a> */</span><a class="l" name="183">    183 </a><b>int</b><a class="l" name="184">    184 </a><a href="/source/s?defs=hald_running">hald_running</a>(<b>void</b>)<a class="l" name="185">    185 </a>{<a class="l" name="186">    186 </a>	<a href="/source/s?defs=LibHalContext">LibHalContext</a> *<a href="/source/s?defs=ctx">ctx</a>;<a class="l" name="187">    187 </a><a class="l" name="188">    188 </a>	<b>if</b> ((<a href="/source/s?defs=ctx">ctx</a> = <a href="/source/s?defs=attach_to_hald">attach_to_hald</a>()) == <a href="/source/s?defs=NULL">NULL</a>)<a class="l" name="189">    189 </a>		<b>return</b> (<span class="n">0</span>);<a class="hl" name="190">    190 </a><a class="l" name="191">    191 </a>	<a href="/source/s?defs=detach_from_hald">detach_from_hald</a>(<a href="/source/s?defs=ctx">ctx</a>, <a href="/source/s?defs=HAL_INITIALIZED">HAL_INITIALIZED</a>);<a class="l" name="192">    192 </a>	<b>return</b> (<span class="n">1</span>);<a class="l" name="193">    193 </a>}<a class="l" name="194">    194 </a><a class="l" name="195">    195 </a><b>int</b><a class="l" name="196">    196 </a><a href="/source/s?defs=setup_target">setup_target</a>(<b>int</b> <a href="/source/s?defs=flag">flag</a>)<a class="l" name="197">    197 </a>{<a class="l" name="198">    198 </a>	<b>char</b> *<a href="/source/s?defs=devpath">devpath</a>;<a class="l" name="199">    199 </a><a class="hl" name="200">    200 </a>	<b>if</b> (<a href="/source/s?defs=tgtdev">tgtdev</a> != <a href="/source/s?defs=NULL">NULL</a>) {<a class="l" name="201">    201 </a>		<a href="/source/s?defs=devpath">devpath</a> = (<b>char</b> *)<a href="/source/s?defs=my_zalloc">my_zalloc</a>(<a href="/source/s?defs=PATH_MAX">PATH_MAX</a>);<a class="l" name="202">    202 </a>		<b>if</b> (<a href="/source/s?defs=lookup_device">lookup_device</a>(<a href="/source/s?defs=tgtdev">tgtdev</a>, <a href="/source/s?defs=devpath">devpath</a>)) {<a class="l" name="203">    203 </a>			<a href="/source/s?defs=target">target</a> = <a href="/source/s?defs=get_device">get_device</a>(<a href="/source/s?defs=tgtdev">tgtdev</a>, <a href="/source/s?defs=devpath">devpath</a>);<a class="l" name="204">    204 </a>		}<a class="l" name="205">    205 </a>		<a href="/source/s?defs=free">free</a>(<a href="/source/s?defs=devpath">devpath</a>);<a class="l" name="206">    206 </a>		<b>if</b> (<a href="/source/s?defs=target">target</a> == <a href="/source/s?defs=NULL">NULL</a>) {<a class="l" name="207">    207 </a>			<b>return</b> (<span class="n">0</span>);<a class="l" name="208">    208 </a>		}<a class="l" name="209">    209 </a>		<b>return</b> (<span class="n">1</span>);<a class="hl" name="210">    210 </a>	}<a class="l" name="211">    211 </a>	<b>return</b> (<a href="/source/s?defs=scan_for_cd_device">scan_for_cd_device</a>(<a href="/source/s?defs=flag">flag</a>, &amp;<a href="/source/s?defs=target">target</a>));<a class="l" name="212">    212 </a>}<a class="l" name="213">    213 </a><a class="l" name="214">    214 </a><b>int</b><a class="l" name="215">    215 </a><a href="/source/s?defs=main">main</a>(<b>int</b> <a href="/source/s?defs=argc">argc</a>, <b>char</b> **<a href="/source/s?defs=argv">argv</a>)<a class="l" name="216">    216 </a>{<a class="l" name="217">    217 </a>	<b>int</b>		c;<a class="l" name="218">    218 </a>	<b>int</b>		<a href="/source/s?defs=operations">operations</a>;<a class="l" name="219">    219 </a>	<a href="/source/s?defs=options">options</a>		<a href="/source/s?defs=specified_ops">specified_ops</a>;<a class="hl" name="220">    220 </a>	<b>int</b>		<a href="/source/s?defs=aflag">aflag</a>, <a href="/source/s?defs=iflag">iflag</a>, <a href="/source/s?defs=Mflag">Mflag</a>, <a href="/source/s?defs=Lflag">Lflag</a>, <a href="/source/s?defs=lflag">lflag</a>, <a href="/source/s?defs=bflag">bflag</a>, <a href="/source/s?defs=xflag">xflag</a>;

⌨️ 快捷键说明

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