1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2<html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 5 <title>File Index</title> 6 <link href="doxygen.css" rel="stylesheet" type="text/css"> 7 </head> 8 <body> 9<!-- Generated by Doxygen 1.7.4 --> 10 <div id="navrow1" class="tabs"> 11 <ul class="tablist"> 12 <li><a href="index.html"><span>Main Page</span></a></li> 13 <li><a href="annotated.html"><span>Data Structures</span></a></li> 14 <li class="current"><a href="files.html"><span>Files</span></a></li> 15 </ul> 16 </div> 17 <div id="navrow2" class="tabs2"> 18 <ul class="tablist"> 19 <li><a href="files.html"><span>File List</span></a></li> 20 <li><a href="globals.html"><span>Globals</span></a></li> 21 </ul> 22 </div> 23</div> 24<div id="side-nav" class="ui-resizable side-nav-resizable"> 25 <div id="nav-tree"> 26 <div id="nav-tree-contents"> 27 </div> 28 </div> 29 <div id="splitbar" style="-moz-user-select:none;" 30 class="ui-resizable-handle"> 31 </div> 32</div> 33<script type="text/javascript"> 34 initNavTree('usb-other_8c.html',''); 35</script> 36<div id="doc-content"> 37<div class="header"> 38 <div class="summary"> 39<a href="#define-members">Defines</a> | 40<a href="#func-members">Functions</a> </div> 41 <div class="headertitle"> 42<div class="title">usb-other.c File Reference</div> </div> 43</div> 44<div class="contents"> 45<div class="textblock"><code>#include "<a class="el" href="usb-private_8h_source.html">usb-private.h</a>"</code><br/> 46<code>#include "<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>"</code><br/> 47<code>#include "<a class="el" href="usb-other_8h_source.html">usb-other.h</a>"</code><br/> 48</div><table class="memberdecls"> 49<tr><td colspan="2"><h2><a name="define-members"></a> 50Defines</h2></td></tr> 51<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a></td></tr> 52<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a837722a322e811d5e42242655f277b87">LOG0</a>(f)   dmxLog(dmxDebug,f)</td></tr> 53<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#aab4b3434c36117a2ecdddec40716d97a">LOG1</a>(f, a)   dmxLog(dmxDebug,f,a)</td></tr> 54<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a16da5d597d9bfb9e569a9bfb6996382c">LOG2</a>(f, a, b)   dmxLog(dmxDebug,f,a,b)</td></tr> 55<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a8247f0bca25789d2ac27674eb26e223f">LOG3</a>(f, a, b, c)   dmxLog(dmxDebug,f,a,b,c)</td></tr> 56<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>(f)   dmxLog(dmxFatal,f)</td></tr> 57<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>(f, a)   dmxLog(dmxFatal,f,a)</td></tr> 58<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a7952c9e9fe9c75be4964fc53a4299183">FATAL2</a>(f, a, b)   dmxLog(dmxFatal,f,a,b)</td></tr> 59<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a11a17082bee3b1b8217ce8a12adcf814">MOTIONPROC</a>   <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td></tr> 60<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a017080ce5e42667a6582cf858e7185cd">ENQUEUEPROC</a>   <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td></tr> 61<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#aa35a985e998ad5e2187e13434dca118a">CHECKPROC</a>   <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td></tr> 62<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a52220397ecea855b3a99746e451426e1">BLOCK</a>   <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td></tr> 63<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a36b621e66020a8ee4641d56c73c4226b">test_bit</a>(bit)   (priv->mask[(bit)/8] & (1 << ((bit)%8)))</td></tr> 64<tr><td colspan="2"><h2><a name="func-members"></a> 65Functions</h2></td></tr> 66<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a3c2a6d36c58f4372068d019364831151">othUSBRead</a> (DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)</td></tr> 67<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#ad1b551c84928693ea1b2edebf6c4fcff">othUSBInit</a> (DevicePtr pDev)</td></tr> 68<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a1f1af19f36fcccfc6b67c814fb360573">othUSBOn</a> (DevicePtr pDev)</td></tr> 69<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-other_8c.html#a35a421bfc49015d8ed37cac84746ba78">othUSBGetInfo</a> (DevicePtr pDev, <a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> info)</td></tr> 70</table> 71<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> 72<div class="textblock"><p>This code implements a low-level device driver for a non-keyboard, non-mouse USB device (e.g., a joystick or gamepad). </p> 73</div><hr/><h2>Define Documentation</h2> 74<a class="anchor" id="a52220397ecea855b3a99746e451426e1"></a><!-- doxytag: member="usb-other.c::BLOCK" ref="a52220397ecea855b3a99746e451426e1" args="" --> 75<div class="memitem"> 76<div class="memproto"> 77 <table class="memname"> 78 <tr> 79 <td class="memname">#define BLOCK   <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td> 80 </tr> 81 </table> 82</div> 83<div class="memdoc"> 84 85</div> 86</div> 87<a class="anchor" id="aa35a985e998ad5e2187e13434dca118a"></a><!-- doxytag: member="usb-other.c::CHECKPROC" ref="aa35a985e998ad5e2187e13434dca118a" args="" --> 88<div class="memitem"> 89<div class="memproto"> 90 <table class="memname"> 91 <tr> 92 <td class="memname">#define CHECKPROC   <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td> 93 </tr> 94 </table> 95</div> 96<div class="memdoc"> 97 98</div> 99</div> 100<a class="anchor" id="a017080ce5e42667a6582cf858e7185cd"></a><!-- doxytag: member="usb-other.c::ENQUEUEPROC" ref="a017080ce5e42667a6582cf858e7185cd" args="" --> 101<div class="memitem"> 102<div class="memproto"> 103 <table class="memname"> 104 <tr> 105 <td class="memname">#define ENQUEUEPROC   <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td> 106 </tr> 107 </table> 108</div> 109<div class="memdoc"> 110 111</div> 112</div> 113<a class="anchor" id="a6bce6020b913db8afe5d94bc63d1b355"></a><!-- doxytag: member="usb-other.c::FATAL0" ref="a6bce6020b913db8afe5d94bc63d1b355" args="(f)" --> 114<div class="memitem"> 115<div class="memproto"> 116 <table class="memname"> 117 <tr> 118 <td class="memname">#define FATAL0</td> 119 <td>(</td> 120 <td class="paramtype"> </td> 121 <td class="paramname">f</td><td>)</td> 122 <td>   dmxLog(dmxFatal,f)</td> 123 </tr> 124 </table> 125</div> 126<div class="memdoc"> 127 128</div> 129</div> 130<a class="anchor" id="a11bcea7c6bc7dbe400a3855f5b8676ce"></a><!-- doxytag: member="usb-other.c::FATAL1" ref="a11bcea7c6bc7dbe400a3855f5b8676ce" args="(f, a)" --> 131<div class="memitem"> 132<div class="memproto"> 133 <table class="memname"> 134 <tr> 135 <td class="memname">#define FATAL1</td> 136 <td>(</td> 137 <td class="paramtype"> </td> 138 <td class="paramname">f, </td> 139 </tr> 140 <tr> 141 <td class="paramkey"></td> 142 <td></td> 143 <td class="paramtype"> </td> 144 <td class="paramname">a </td> 145 </tr> 146 <tr> 147 <td></td> 148 <td>)</td> 149 <td></td><td>   dmxLog(dmxFatal,f,a)</td> 150 </tr> 151 </table> 152</div> 153<div class="memdoc"> 154 155</div> 156</div> 157<a class="anchor" id="a7952c9e9fe9c75be4964fc53a4299183"></a><!-- doxytag: member="usb-other.c::FATAL2" ref="a7952c9e9fe9c75be4964fc53a4299183" args="(f, a, b)" --> 158<div class="memitem"> 159<div class="memproto"> 160 <table class="memname"> 161 <tr> 162 <td class="memname">#define FATAL2</td> 163 <td>(</td> 164 <td class="paramtype"> </td> 165 <td class="paramname">f, </td> 166 </tr> 167 <tr> 168 <td class="paramkey"></td> 169 <td></td> 170 <td class="paramtype"> </td> 171 <td class="paramname">a, </td> 172 </tr> 173 <tr> 174 <td class="paramkey"></td> 175 <td></td> 176 <td class="paramtype"> </td> 177 <td class="paramname">b </td> 178 </tr> 179 <tr> 180 <td></td> 181 <td>)</td> 182 <td></td><td>   dmxLog(dmxFatal,f,a,b)</td> 183 </tr> 184 </table> 185</div> 186<div class="memdoc"> 187 188</div> 189</div> 190<a class="anchor" id="aacf069d346230dd96812d5395728eef2"></a><!-- doxytag: member="usb-other.c::GETPRIV" ref="aacf069d346230dd96812d5395728eef2" args="" --> 191<div class="memitem"> 192<div class="memproto"> 193 <table class="memname"> 194 <tr> 195 <td class="memname">#define GETPRIV</td> 196 </tr> 197 </table> 198</div> 199<div class="memdoc"> 200<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="struct__myPrivate.html">myPrivate</a> *priv \ 201 = ((<a class="code" href="dmxinput_8h.html#adb148db00fe0adf1938b815b9b934d26">DMXLocalInputInfoPtr</a>)(pDev->devicePrivate))->private 202</pre></div> 203<p>Referenced by <a class="el" href="usb-other_8h.html#a35a421bfc49015d8ed37cac84746ba78">othUSBGetInfo()</a>, and <a class="el" href="usb-other_8h.html#a1f1af19f36fcccfc6b67c814fb360573">othUSBOn()</a>.</p> 204 205</div> 206</div> 207<a class="anchor" id="a837722a322e811d5e42242655f277b87"></a><!-- doxytag: member="usb-other.c::LOG0" ref="a837722a322e811d5e42242655f277b87" args="(f)" --> 208<div class="memitem"> 209<div class="memproto"> 210 <table class="memname"> 211 <tr> 212 <td class="memname">#define LOG0</td> 213 <td>(</td> 214 <td class="paramtype"> </td> 215 <td class="paramname">f</td><td>)</td> 216 <td>   dmxLog(dmxDebug,f)</td> 217 </tr> 218 </table> 219</div> 220<div class="memdoc"> 221 222</div> 223</div> 224<a class="anchor" id="aab4b3434c36117a2ecdddec40716d97a"></a><!-- doxytag: member="usb-other.c::LOG1" ref="aab4b3434c36117a2ecdddec40716d97a" args="(f, a)" --> 225<div class="memitem"> 226<div class="memproto"> 227 <table class="memname"> 228 <tr> 229 <td class="memname">#define LOG1</td> 230 <td>(</td> 231 <td class="paramtype"> </td> 232 <td class="paramname">f, </td> 233 </tr> 234 <tr> 235 <td class="paramkey"></td> 236 <td></td> 237 <td class="paramtype"> </td> 238 <td class="paramname">a </td> 239 </tr> 240 <tr> 241 <td></td> 242 <td>)</td> 243 <td></td><td>   dmxLog(dmxDebug,f,a)</td> 244 </tr> 245 </table> 246</div> 247<div class="memdoc"> 248 249</div> 250</div> 251<a class="anchor" id="a16da5d597d9bfb9e569a9bfb6996382c"></a><!-- doxytag: member="usb-other.c::LOG2" ref="a16da5d597d9bfb9e569a9bfb6996382c" args="(f, a, b)" --> 252<div class="memitem"> 253<div class="memproto"> 254 <table class="memname"> 255 <tr> 256 <td class="memname">#define LOG2</td> 257 <td>(</td> 258 <td class="paramtype"> </td> 259 <td class="paramname">f, </td> 260 </tr> 261 <tr> 262 <td class="paramkey"></td> 263 <td></td> 264 <td class="paramtype"> </td> 265 <td class="paramname">a, </td> 266 </tr> 267 <tr> 268 <td class="paramkey"></td> 269 <td></td> 270 <td class="paramtype"> </td> 271 <td class="paramname">b </td> 272 </tr> 273 <tr> 274 <td></td> 275 <td>)</td> 276 <td></td><td>   dmxLog(dmxDebug,f,a,b)</td> 277 </tr> 278 </table> 279</div> 280<div class="memdoc"> 281 282</div> 283</div> 284<a class="anchor" id="a8247f0bca25789d2ac27674eb26e223f"></a><!-- doxytag: member="usb-other.c::LOG3" ref="a8247f0bca25789d2ac27674eb26e223f" args="(f, a, b, c)" --> 285<div class="memitem"> 286<div class="memproto"> 287 <table class="memname"> 288 <tr> 289 <td class="memname">#define LOG3</td> 290 <td>(</td> 291 <td class="paramtype"> </td> 292 <td class="paramname">f, </td> 293 </tr> 294 <tr> 295 <td class="paramkey"></td> 296 <td></td> 297 <td class="paramtype"> </td> 298 <td class="paramname">a, </td> 299 </tr> 300 <tr> 301 <td class="paramkey"></td> 302 <td></td> 303 <td class="paramtype"> </td> 304 <td class="paramname">b, </td> 305 </tr> 306 <tr> 307 <td class="paramkey"></td> 308 <td></td> 309 <td class="paramtype"> </td> 310 <td class="paramname">c </td> 311 </tr> 312 <tr> 313 <td></td> 314 <td>)</td> 315 <td></td><td>   dmxLog(dmxDebug,f,a,b,c)</td> 316 </tr> 317 </table> 318</div> 319<div class="memdoc"> 320 321</div> 322</div> 323<a class="anchor" id="a11a17082bee3b1b8217ce8a12adcf814"></a><!-- doxytag: member="usb-other.c::MOTIONPROC" ref="a11a17082bee3b1b8217ce8a12adcf814" args="" --> 324<div class="memitem"> 325<div class="memproto"> 326 <table class="memname"> 327 <tr> 328 <td class="memname">#define MOTIONPROC   <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td> 329 </tr> 330 </table> 331</div> 332<div class="memdoc"> 333 334</div> 335</div> 336<a class="anchor" id="a36b621e66020a8ee4641d56c73c4226b"></a><!-- doxytag: member="usb-other.c::test_bit" ref="a36b621e66020a8ee4641d56c73c4226b" args="(bit)" --> 337<div class="memitem"> 338<div class="memproto"> 339 <table class="memname"> 340 <tr> 341 <td class="memname">#define test_bit</td> 342 <td>(</td> 343 <td class="paramtype"> </td> 344 <td class="paramname">bit</td><td>)</td> 345 <td>   (priv->mask[(bit)/8] & (1 << ((bit)%8)))</td> 346 </tr> 347 </table> 348</div> 349<div class="memdoc"> 350 351</div> 352</div> 353<hr/><h2>Function Documentation</h2> 354<a class="anchor" id="a35a421bfc49015d8ed37cac84746ba78"></a><!-- doxytag: member="usb-other.c::othUSBGetInfo" ref="a35a421bfc49015d8ed37cac84746ba78" args="(DevicePtr pDev, DMXLocalInitInfoPtr info)" --> 355<div class="memitem"> 356<div class="memproto"> 357 <table class="memname"> 358 <tr> 359 <td class="memname">void othUSBGetInfo </td> 360 <td>(</td> 361 <td class="paramtype">DevicePtr </td> 362 <td class="paramname"><em>pDev</em>, </td> 363 </tr> 364 <tr> 365 <td class="paramkey"></td> 366 <td></td> 367 <td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> </td> 368 <td class="paramname"><em>info</em> </td> 369 </tr> 370 <tr> 371 <td></td> 372 <td>)</td> 373 <td></td><td></td> 374 </tr> 375 </table> 376</div> 377<div class="memdoc"> 378<p>Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </p> 379 380<p>References <a class="el" href="struct__DMXLocalInitInfo.html#a088c60acc5806ebcc401fa1da108b3f5">_DMXLocalInitInfo::belFeedbackClass</a>, <a class="el" href="dmxevents_8c.html#a144e2f1a618a0d14e2c9ce4fda50104a">DMX_MAX_AXES</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917fae81ae2a11fb7ab8eea902f609574210a">dmxWarning</a>, <a class="el" href="usb-other_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a06626a99542714bbd032e9e12a8c6b55">_DMXLocalInitInfo::keyClass</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a02861e7e9c24381a229567d36e7a68b7">_DMXLocalInitInfo::keySyms</a>, <a class="el" href="struct__DMXLocalInitInfo.html#accf423e8cf2614500108be41ed23492d">_DMXLocalInitInfo::ledFeedbackClass</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a5de8a5ac80a30840cba0d9f3074289ca">_DMXLocalInitInfo::maxres</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a63477e691c43eca2dbf569fb0feb74be">_DMXLocalInitInfo::maxval</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a139fed62b89a92d80997166c8cfcdebf">_DMXLocalInitInfo::minres</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a0c47ee21909227a1ea5d40ba473e0e25">_DMXLocalInitInfo::minval</a>, <a class="el" href="struct__DMXLocalInitInfo.html#aa7576ebc7b4f56d51da6a21fcd7b07d4">_DMXLocalInitInfo::numAbsAxes</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a5e192625179bbed020a720e448c789aa">_DMXLocalInitInfo::numRelAxes</a>, <a class="el" href="struct__DMXLocalInitInfo.html#abb910012dc1abde90f954354f8ceb2a1">_DMXLocalInitInfo::res</a>, <a class="el" href="usb-common_8c.html#a36b621e66020a8ee4641d56c73c4226b">test_bit</a>, and <a class="el" href="struct__DMXLocalInitInfo.html#a9af277d2da1ade2138488a413e9c5ceb">_DMXLocalInitInfo::valuatorClass</a>.</p> 381 382</div> 383</div> 384<a class="anchor" id="ad1b551c84928693ea1b2edebf6c4fcff"></a><!-- doxytag: member="usb-other.c::othUSBInit" ref="ad1b551c84928693ea1b2edebf6c4fcff" args="(DevicePtr pDev)" --> 385<div class="memitem"> 386<div class="memproto"> 387 <table class="memname"> 388 <tr> 389 <td class="memname">void othUSBInit </td> 390 <td>(</td> 391 <td class="paramtype">DevicePtr </td> 392 <td class="paramname"><em>pDev</em></td><td>)</td> 393 <td></td> 394 </tr> 395 </table> 396</div> 397<div class="memdoc"> 398<p>Initialize <em>pDev</em> using <a class="el" href="usb-common_8h.html#a7f9b3a6d320a9ddbed689f4e12acb443">usbInit</a>. </p> 399 400<p>References <a class="el" href="usb-common_8c.html#a7f9b3a6d320a9ddbed689f4e12acb443">usbInit()</a>, and <a class="el" href="usb-common_8h.html#a5e4410bf95babe73bcecc612691fc2d0acf68ef2e5cae37647c412e73c93960fb">usbOther</a>.</p> 401 402<p>Referenced by <a class="el" href="usb-other_8h.html#a1f1af19f36fcccfc6b67c814fb360573">othUSBOn()</a>.</p> 403 404</div> 405</div> 406<a class="anchor" id="a1f1af19f36fcccfc6b67c814fb360573"></a><!-- doxytag: member="usb-other.c::othUSBOn" ref="a1f1af19f36fcccfc6b67c814fb360573" args="(DevicePtr pDev)" --> 407<div class="memitem"> 408<div class="memproto"> 409 <table class="memname"> 410 <tr> 411 <td class="memname">int othUSBOn </td> 412 <td>(</td> 413 <td class="paramtype">DevicePtr </td> 414 <td class="paramname"><em>pDev</em></td><td>)</td> 415 <td></td> 416 </tr> 417 </table> 418</div> 419<div class="memdoc"> 420<p>Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </p> 421 422<p>References <a class="el" href="usb-other_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, and <a class="el" href="usb-other_8c.html#ad1b551c84928693ea1b2edebf6c4fcff">othUSBInit()</a>.</p> 423 424</div> 425</div> 426<a class="anchor" id="a3c2a6d36c58f4372068d019364831151"></a><!-- doxytag: member="usb-other.c::othUSBRead" ref="a3c2a6d36c58f4372068d019364831151" args="(DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)" --> 427<div class="memitem"> 428<div class="memproto"> 429 <table class="memname"> 430 <tr> 431 <td class="memname">void othUSBRead </td> 432 <td>(</td> 433 <td class="paramtype">DevicePtr </td> 434 <td class="paramname"><em>pDev</em>, </td> 435 </tr> 436 <tr> 437 <td class="paramkey"></td> 438 <td></td> 439 <td class="paramtype">MOTIONPROC </td> 440 <td class="paramname"><em>motion</em>, </td> 441 </tr> 442 <tr> 443 <td class="paramkey"></td> 444 <td></td> 445 <td class="paramtype">ENQUEUEPROC </td> 446 <td class="paramname"><em>enqueue</em>, </td> 447 </tr> 448 <tr> 449 <td class="paramkey"></td> 450 <td></td> 451 <td class="paramtype">CHECKPROC </td> 452 <td class="paramname"><em>checkspecial</em>, </td> 453 </tr> 454 <tr> 455 <td class="paramkey"></td> 456 <td></td> 457 <td class="paramtype">BLOCK </td> 458 <td class="paramname"><em>block</em> </td> 459 </tr> 460 <tr> 461 <td></td> 462 <td>)</td> 463 <td></td><td></td> 464 </tr> 465 </table> 466</div> 467<div class="memdoc"> 468<p>Read the USB device using <a class="el" href="usb-common_8h.html#aea8c9cef438c8851ef7f47d7167152cb">usbRead</a>. </p> 469 470<p>References <a class="el" href="usb-common_8c.html#ae20f3b14463c8e288041f9970e388950">usbRead()</a>.</p> 471 472</div> 473</div> 474</div> 475</div> 476 <div id="nav-path" class="navpath"> 477 <ul> 478 <li class="navelem"><a class="el" href="usb-other_8c.html">usb-other.c</a> </li> 479 <hr> 480 <address> 481 <small> 482 Generated June 29, 2004 for <a 483 href="http://dmx.sourceforge.net">Distributed Multihead X</a> by 484 <a href="http://www.doxygen.org/index.html">doxygen</a> 485 1.3.4. 486 </small> 487 </addres> 488 </hr> 489 </body> 490</html> 491