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-common_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-common.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="usb-mouse_8h_source.html">usb-mouse.h</a>"</code><br/> 47 </div><table class="memberdecls"> 48 <tr><td colspan="2"><h2><a name="define-members"></a> 49 Defines</h2></td></tr> 50 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a4745b9c19ea1cc480dc2b58e59d1e9bb">USB_COMMON_DEBUG</a>   1</td></tr> 51 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_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-common_8c.html#a5340233a04762d00a2fc39e922489cbd">GETNAME</a></td></tr> 53 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a837722a322e811d5e42242655f277b87">LOG0</a>(f)   dmxLog(dmxDebug,f)</td></tr> 54 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#aab4b3434c36117a2ecdddec40716d97a">LOG1</a>(f, a)   dmxLog(dmxDebug,f,a)</td></tr> 55 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a16da5d597d9bfb9e569a9bfb6996382c">LOG2</a>(f, a, b)   dmxLog(dmxDebug,f,a,b)</td></tr> 56 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a8247f0bca25789d2ac27674eb26e223f">LOG3</a>(f, a, b, c)   dmxLog(dmxDebug,f,a,b,c)</td></tr> 57 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a362570e9b2c9ac295638be490c81d1fb">LOG1INPUT</a>(p, f, a)   dmxLogInput(p->dmxInput,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-common_8c.html#ab34476eaeb97ba2e10bab547085c22b8">LOG3INPUT</a>(p, f, a, b, c)   dmxLogInput(p->dmxInput,f,a,b,c)</td></tr> 59 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#aa9a2c0ce5f5776ac17b498dc1d90ce1f">LOG5INPUT</a>(p, f, a, b, c, d, e)   dmxLogInput(p->dmxInput,f,a,b,c,d,e)</td></tr> 60 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>(f)   dmxLog(dmxFatal,f)</td></tr> 61 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>(f, a)   dmxLog(dmxFatal,f,a)</td></tr> 62 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a7952c9e9fe9c75be4964fc53a4299183">FATAL2</a>(f, a, b)   dmxLog(dmxFatal,f,a,b)</td></tr> 63 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a11a17082bee3b1b8217ce8a12adcf814">MOTIONPROC</a>   <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td></tr> 64 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a017080ce5e42667a6582cf858e7185cd">ENQUEUEPROC</a>   <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td></tr> 65 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#aa35a985e998ad5e2187e13434dca118a">CHECKPROC</a>   <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td></tr> 66 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a52220397ecea855b3a99746e451426e1">BLOCK</a>   <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td></tr> 67 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a7581da9bfd7ebf4fe3703352df521931">PRESS</a>(b)</td></tr> 68 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a2b4d2480737f9eb52f80998518486f01">RELEASE</a>(b)</td></tr> 69 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a36b621e66020a8ee4641d56c73c4226b">test_bit</a>(bit)   (priv->mask[(bit)/8] & (1 << ((bit)%8)))</td></tr> 70 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a228e7b7d6adf81ad78bc848896044085">test_bits</a>(bit)   (bits[(bit)/8] & (1 << ((bit)%8)))</td></tr> 71 <tr><td colspan="2"><h2><a name="func-members"></a> 72 Functions</h2></td></tr> 73 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#ae20f3b14463c8e288041f9970e388950">usbRead</a> (DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, int minButton, BLOCK block)</td></tr> 74 <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a01c83154e667f74a79fac7b951208646">usbPrint</a> (<a class="el" href="struct__myPrivate.html">myPrivate</a> *priv, const char *filename, const char *devname, int fd)</td></tr> 75 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a7f9b3a6d320a9ddbed689f4e12acb443">usbInit</a> (DevicePtr pDev, <a class="el" href="usb-common_8h.html#a5e4410bf95babe73bcecc612691fc2d0">usbType</a> type)</td></tr> 76 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#aa86d87cabbc0971c51452970b7dc879f">usbOff</a> (DevicePtr pDev)</td></tr> 77 <tr><td class="memItemLeft" align="right" valign="top">pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a580f9f4ac56071b925cbf63d8b9dc706">usbCreatePrivate</a> (DeviceIntPtr pDevice)</td></tr> 78 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="usb-common_8c.html#a0eca0051ed4a3a117d504d6a82c65313">usbDestroyPrivate</a> (pointer priv)</td></tr> 79 </table> 80 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> 81 <div class="textblock"><p>Routines that are common between <em><a class="el" href="usb-keyboard_8c.html">usb-keyboard.c</a></em>, <em><a class="el" href="usb-mouse_8c.html">usb-mouse.c</a></em>, and <em><a class="el" href="usb-other_8c.html">usb-other.c</a></em> </p> 82 </div><hr/><h2>Define Documentation</h2> 83 <a class="anchor" id="a52220397ecea855b3a99746e451426e1"></a><!-- doxytag: member="usb-common.c::BLOCK" ref="a52220397ecea855b3a99746e451426e1" args="" --> 84 <div class="memitem"> 85 <div class="memproto"> 86 <table class="memname"> 87 <tr> 88 <td class="memname">#define BLOCK   <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td> 89 </tr> 90 </table> 91 </div> 92 <div class="memdoc"> 93 94 </div> 95 </div> 96 <a class="anchor" id="aa35a985e998ad5e2187e13434dca118a"></a><!-- doxytag: member="usb-common.c::CHECKPROC" ref="aa35a985e998ad5e2187e13434dca118a" args="" --> 97 <div class="memitem"> 98 <div class="memproto"> 99 <table class="memname"> 100 <tr> 101 <td class="memname">#define CHECKPROC   <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td> 102 </tr> 103 </table> 104 </div> 105 <div class="memdoc"> 106 107 </div> 108 </div> 109 <a class="anchor" id="a017080ce5e42667a6582cf858e7185cd"></a><!-- doxytag: member="usb-common.c::ENQUEUEPROC" ref="a017080ce5e42667a6582cf858e7185cd" args="" --> 110 <div class="memitem"> 111 <div class="memproto"> 112 <table class="memname"> 113 <tr> 114 <td class="memname">#define ENQUEUEPROC   <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td> 115 </tr> 116 </table> 117 </div> 118 <div class="memdoc"> 119 120 </div> 121 </div> 122 <a class="anchor" id="a6bce6020b913db8afe5d94bc63d1b355"></a><!-- doxytag: member="usb-common.c::FATAL0" ref="a6bce6020b913db8afe5d94bc63d1b355" args="(f)" --> 123 <div class="memitem"> 124 <div class="memproto"> 125 <table class="memname"> 126 <tr> 127 <td class="memname">#define FATAL0</td> 128 <td>(</td> 129 <td class="paramtype"> </td> 130 <td class="paramname">f</td><td>)</td> 131 <td>   dmxLog(dmxFatal,f)</td> 132 </tr> 133 </table> 134 </div> 135 <div class="memdoc"> 136 137 </div> 138 </div> 139 <a class="anchor" id="a11bcea7c6bc7dbe400a3855f5b8676ce"></a><!-- doxytag: member="usb-common.c::FATAL1" ref="a11bcea7c6bc7dbe400a3855f5b8676ce" args="(f, a)" --> 140 <div class="memitem"> 141 <div class="memproto"> 142 <table class="memname"> 143 <tr> 144 <td class="memname">#define FATAL1</td> 145 <td>(</td> 146 <td class="paramtype"> </td> 147 <td class="paramname">f, </td> 148 </tr> 149 <tr> 150 <td class="paramkey"></td> 151 <td></td> 152 <td class="paramtype"> </td> 153 <td class="paramname">a </td> 154 </tr> 155 <tr> 156 <td></td> 157 <td>)</td> 158 <td></td><td>   dmxLog(dmxFatal,f,a)</td> 159 </tr> 160 </table> 161 </div> 162 <div class="memdoc"> 163 164 <p>Referenced by <a class="el" href="usb-common_8h.html#a7f9b3a6d320a9ddbed689f4e12acb443">usbInit()</a>.</p> 165 166 </div> 167 </div> 168 <a class="anchor" id="a7952c9e9fe9c75be4964fc53a4299183"></a><!-- doxytag: member="usb-common.c::FATAL2" ref="a7952c9e9fe9c75be4964fc53a4299183" args="(f, a, b)" --> 169 <div class="memitem"> 170 <div class="memproto"> 171 <table class="memname"> 172 <tr> 173 <td class="memname">#define FATAL2</td> 174 <td>(</td> 175 <td class="paramtype"> </td> 176 <td class="paramname">f, </td> 177 </tr> 178 <tr> 179 <td class="paramkey"></td> 180 <td></td> 181 <td class="paramtype"> </td> 182 <td class="paramname">a, </td> 183 </tr> 184 <tr> 185 <td class="paramkey"></td> 186 <td></td> 187 <td class="paramtype"> </td> 188 <td class="paramname">b </td> 189 </tr> 190 <tr> 191 <td></td> 192 <td>)</td> 193 <td></td><td>   dmxLog(dmxFatal,f,a,b)</td> 194 </tr> 195 </table> 196 </div> 197 <div class="memdoc"> 198 199 </div> 200 </div> 201 <a class="anchor" id="a5340233a04762d00a2fc39e922489cbd"></a><!-- doxytag: member="usb-common.c::GETNAME" ref="a5340233a04762d00a2fc39e922489cbd" args="" --> 202 <div class="memitem"> 203 <div class="memproto"> 204 <table class="memname"> 205 <tr> 206 <td class="memname">#define GETNAME</td> 207 </tr> 208 </table> 209 </div> 210 <div class="memdoc"> 211 <b>Value:</b><div class="fragment"><pre class="fragment">((<a class="code" href="dmxinput_8h.html#adb148db00fe0adf1938b815b9b934d26">DMXLocalInputInfoPtr</a>)(pDevice->public.devicePrivate)) \ 212 ->name 213 </pre></div> 214 <p>Referenced by <a class="el" href="usb-common_8c.html#a01c83154e667f74a79fac7b951208646">usbPrint()</a>.</p> 215 216 </div> 217 </div> 218 <a class="anchor" id="aacf069d346230dd96812d5395728eef2"></a><!-- doxytag: member="usb-common.c::GETPRIV" ref="aacf069d346230dd96812d5395728eef2" args="" --> 219 <div class="memitem"> 220 <div class="memproto"> 221 <table class="memname"> 222 <tr> 223 <td class="memname">#define GETPRIV</td> 224 </tr> 225 </table> 226 </div> 227 <div class="memdoc"> 228 <b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="struct__myPrivate.html">myPrivate</a> *priv \ 229 = ((<a class="code" href="dmxinput_8h.html#adb148db00fe0adf1938b815b9b934d26">DMXLocalInputInfoPtr</a>)(pDev->devicePrivate))->private 230 </pre></div> 231 <p>Referenced by <a class="el" href="usb-common_8h.html#a7f9b3a6d320a9ddbed689f4e12acb443">usbInit()</a>, <a class="el" href="usb-common_8h.html#aa86d87cabbc0971c51452970b7dc879f">usbOff()</a>, and <a class="el" href="usb-common_8c.html#ae20f3b14463c8e288041f9970e388950">usbRead()</a>.</p> 232 233 </div> 234 </div> 235 <a class="anchor" id="a837722a322e811d5e42242655f277b87"></a><!-- doxytag: member="usb-common.c::LOG0" ref="a837722a322e811d5e42242655f277b87" args="(f)" --> 236 <div class="memitem"> 237 <div class="memproto"> 238 <table class="memname"> 239 <tr> 240 <td class="memname">#define LOG0</td> 241 <td>(</td> 242 <td class="paramtype"> </td> 243 <td class="paramname">f</td><td>)</td> 244 <td>   dmxLog(dmxDebug,f)</td> 245 </tr> 246 </table> 247 </div> 248 <div class="memdoc"> 249 250 </div> 251 </div> 252 <a class="anchor" id="aab4b3434c36117a2ecdddec40716d97a"></a><!-- doxytag: member="usb-common.c::LOG1" ref="aab4b3434c36117a2ecdddec40716d97a" args="(f, a)" --> 253 <div class="memitem"> 254 <div class="memproto"> 255 <table class="memname"> 256 <tr> 257 <td class="memname">#define LOG1</td> 258 <td>(</td> 259 <td class="paramtype"> </td> 260 <td class="paramname">f, </td> 261 </tr> 262 <tr> 263 <td class="paramkey"></td> 264 <td></td> 265 <td class="paramtype"> </td> 266 <td class="paramname">a </td> 267 </tr> 268 <tr> 269 <td></td> 270 <td>)</td> 271 <td></td><td>   dmxLog(dmxDebug,f,a)</td> 272 </tr> 273 </table> 274 </div> 275 <div class="memdoc"> 276 277 </div> 278 </div> 279 <a class="anchor" id="a362570e9b2c9ac295638be490c81d1fb"></a><!-- doxytag: member="usb-common.c::LOG1INPUT" ref="a362570e9b2c9ac295638be490c81d1fb" args="(p, f, a)" --> 280 <div class="memitem"> 281 <div class="memproto"> 282 <table class="memname"> 283 <tr> 284 <td class="memname">#define LOG1INPUT</td> 285 <td>(</td> 286 <td class="paramtype"> </td> 287 <td class="paramname">p, </td> 288 </tr> 289 <tr> 290 <td class="paramkey"></td> 291 <td></td> 292 <td class="paramtype"> </td> 293 <td class="paramname">f, </td> 294 </tr> 295 <tr> 296 <td class="paramkey"></td> 297 <td></td> 298 <td class="paramtype"> </td> 299 <td class="paramname">a </td> 300 </tr> 301 <tr> 302 <td></td> 303 <td>)</td> 304 <td></td><td>   dmxLogInput(p->dmxInput,f,a)</td> 305 </tr> 306 </table> 307 </div> 308 <div class="memdoc"> 309 310 <p>Referenced by <a class="el" href="usb-common_8c.html#a01c83154e667f74a79fac7b951208646">usbPrint()</a>.</p> 311 312 </div> 313 </div> 314 <a class="anchor" id="a16da5d597d9bfb9e569a9bfb6996382c"></a><!-- doxytag: member="usb-common.c::LOG2" ref="a16da5d597d9bfb9e569a9bfb6996382c" args="(f, a, b)" --> 315 <div class="memitem"> 316 <div class="memproto"> 317 <table class="memname"> 318 <tr> 319 <td class="memname">#define LOG2</td> 320 <td>(</td> 321 <td class="paramtype"> </td> 322 <td class="paramname">f, </td> 323 </tr> 324 <tr> 325 <td class="paramkey"></td> 326 <td></td> 327 <td class="paramtype"> </td> 328 <td class="paramname">a, </td> 329 </tr> 330 <tr> 331 <td class="paramkey"></td> 332 <td></td> 333 <td class="paramtype"> </td> 334 <td class="paramname">b </td> 335 </tr> 336 <tr> 337 <td></td> 338 <td>)</td> 339 <td></td><td>   dmxLog(dmxDebug,f,a,b)</td> 340 </tr> 341 </table> 342 </div> 343 <div class="memdoc"> 344 345 </div> 346 </div> 347 <a class="anchor" id="a8247f0bca25789d2ac27674eb26e223f"></a><!-- doxytag: member="usb-common.c::LOG3" ref="a8247f0bca25789d2ac27674eb26e223f" args="(f, a, b, c)" --> 348 <div class="memitem"> 349 <div class="memproto"> 350 <table class="memname"> 351 <tr> 352 <td class="memname">#define LOG3</td> 353 <td>(</td> 354 <td class="paramtype"> </td> 355 <td class="paramname">f, </td> 356 </tr> 357 <tr> 358 <td class="paramkey"></td> 359 <td></td> 360 <td class="paramtype"> </td> 361 <td class="paramname">a, </td> 362 </tr> 363 <tr> 364 <td class="paramkey"></td> 365 <td></td> 366 <td class="paramtype"> </td> 367 <td class="paramname">b, </td> 368 </tr> 369 <tr> 370 <td class="paramkey"></td> 371 <td></td> 372 <td class="paramtype"> </td> 373 <td class="paramname">c </td> 374 </tr> 375 <tr> 376 <td></td> 377 <td>)</td> 378 <td></td><td>   dmxLog(dmxDebug,f,a,b,c)</td> 379 </tr> 380 </table> 381 </div> 382 <div class="memdoc"> 383 384 <p>Referenced by <a class="el" href="usb-common_8c.html#ae20f3b14463c8e288041f9970e388950">usbRead()</a>.</p> 385 386 </div> 387 </div> 388 <a class="anchor" id="ab34476eaeb97ba2e10bab547085c22b8"></a><!-- doxytag: member="usb-common.c::LOG3INPUT" ref="ab34476eaeb97ba2e10bab547085c22b8" args="(p, f, a, b, c)" --> 389 <div class="memitem"> 390 <div class="memproto"> 391 <table class="memname"> 392 <tr> 393 <td class="memname">#define LOG3INPUT</td> 394 <td>(</td> 395 <td class="paramtype"> </td> 396 <td class="paramname">p, </td> 397 </tr> 398 <tr> 399 <td class="paramkey"></td> 400 <td></td> 401 <td class="paramtype"> </td> 402 <td class="paramname">f, </td> 403 </tr> 404 <tr> 405 <td class="paramkey"></td> 406 <td></td> 407 <td class="paramtype"> </td> 408 <td class="paramname">a, </td> 409 </tr> 410 <tr> 411 <td class="paramkey"></td> 412 <td></td> 413 <td class="paramtype"> </td> 414 <td class="paramname">b, </td> 415 </tr> 416 <tr> 417 <td class="paramkey"></td> 418 <td></td> 419 <td class="paramtype"> </td> 420 <td class="paramname">c </td> 421 </tr> 422 <tr> 423 <td></td> 424 <td>)</td> 425 <td></td><td>   dmxLogInput(p->dmxInput,f,a,b,c)</td> 426 </tr> 427 </table> 428 </div> 429 <div class="memdoc"> 430 431 <p>Referenced by <a class="el" href="usb-common_8c.html#a01c83154e667f74a79fac7b951208646">usbPrint()</a>.</p> 432 433 </div> 434 </div> 435 <a class="anchor" id="aa9a2c0ce5f5776ac17b498dc1d90ce1f"></a><!-- doxytag: member="usb-common.c::LOG5INPUT" ref="aa9a2c0ce5f5776ac17b498dc1d90ce1f" args="(p, f, a, b, c, d, e)" --> 436 <div class="memitem"> 437 <div class="memproto"> 438 <table class="memname"> 439 <tr> 440 <td class="memname">#define LOG5INPUT</td> 441 <td>(</td> 442 <td class="paramtype"> </td> 443 <td class="paramname">p, </td> 444 </tr> 445 <tr> 446 <td class="paramkey"></td> 447 <td></td> 448 <td class="paramtype"> </td> 449 <td class="paramname">f, </td> 450 </tr> 451 <tr> 452 <td class="paramkey"></td> 453 <td></td> 454 <td class="paramtype"> </td> 455 <td class="paramname">a, </td> 456 </tr> 457 <tr> 458 <td class="paramkey"></td> 459 <td></td> 460 <td class="paramtype"> </td> 461 <td class="paramname">b, </td> 462 </tr> 463 <tr> 464 <td class="paramkey"></td> 465 <td></td> 466 <td class="paramtype"> </td> 467 <td class="paramname">c, </td> 468 </tr> 469 <tr> 470 <td class="paramkey"></td> 471 <td></td> 472 <td class="paramtype"> </td> 473 <td class="paramname">d, </td> 474 </tr> 475 <tr> 476 <td class="paramkey"></td> 477 <td></td> 478 <td class="paramtype"> </td> 479 <td class="paramname">e </td> 480 </tr> 481 <tr> 482 <td></td> 483 <td>)</td> 484 <td></td><td>   dmxLogInput(p->dmxInput,f,a,b,c,d,e)</td> 485 </tr> 486 </table> 487 </div> 488 <div class="memdoc"> 489 490 <p>Referenced by <a class="el" href="usb-common_8c.html#a01c83154e667f74a79fac7b951208646">usbPrint()</a>.</p> 491 492 </div> 493 </div> 494 <a class="anchor" id="a11a17082bee3b1b8217ce8a12adcf814"></a><!-- doxytag: member="usb-common.c::MOTIONPROC" ref="a11a17082bee3b1b8217ce8a12adcf814" args="" --> 495 <div class="memitem"> 496 <div class="memproto"> 497 <table class="memname"> 498 <tr> 499 <td class="memname">#define MOTIONPROC   <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td> 500 </tr> 501 </table> 502 </div> 503 <div class="memdoc"> 504 505 </div> 506 </div> 507 <a class="anchor" id="a7581da9bfd7ebf4fe3703352df521931"></a><!-- doxytag: member="usb-common.c::PRESS" ref="a7581da9bfd7ebf4fe3703352df521931" args="(b)" --> 508 <div class="memitem"> 509 <div class="memproto"> 510 <table class="memname"> 511 <tr> 512 <td class="memname">#define PRESS</td> 513 <td>(</td> 514 <td class="paramtype"> </td> 515 <td class="paramname">b</td><td>)</td> 516 <td></td> 517 </tr> 518 </table> 519 </div> 520 <div class="memdoc"> 521 <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \ 522 enqueue(pDev, ButtonPress, 0, 0, NULL, block); \ 523 } <span class="keywordflow">while</span> (0) 524 </pre></div> 525 </div> 526 </div> 527 <a class="anchor" id="a2b4d2480737f9eb52f80998518486f01"></a><!-- doxytag: member="usb-common.c::RELEASE" ref="a2b4d2480737f9eb52f80998518486f01" args="(b)" --> 528 <div class="memitem"> 529 <div class="memproto"> 530 <table class="memname"> 531 <tr> 532 <td class="memname">#define RELEASE</td> 533 <td>(</td> 534 <td class="paramtype"> </td> 535 <td class="paramname">b</td><td>)</td> 536 <td></td> 537 </tr> 538 </table> 539 </div> 540 <div class="memdoc"> 541 <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \ 542 enqueue(pDev, ButtonRelease, 0, 0, NULL, block); \ 543 } <span class="keywordflow">while</span> (0) 544 </pre></div> 545 </div> 546 </div> 547 <a class="anchor" id="a36b621e66020a8ee4641d56c73c4226b"></a><!-- doxytag: member="usb-common.c::test_bit" ref="a36b621e66020a8ee4641d56c73c4226b" args="(bit)" --> 548 <div class="memitem"> 549 <div class="memproto"> 550 <table class="memname"> 551 <tr> 552 <td class="memname">#define test_bit</td> 553 <td>(</td> 554 <td class="paramtype"> </td> 555 <td class="paramname">bit</td><td>)</td> 556 <td>   (priv->mask[(bit)/8] & (1 << ((bit)%8)))</td> 557 </tr> 558 </table> 559 </div> 560 <div class="memdoc"> 561 562 <p>Referenced by <a class="el" href="usb-other_8h.html#a35a421bfc49015d8ed37cac84746ba78">othUSBGetInfo()</a>, <a class="el" href="usb-common_8h.html#a7f9b3a6d320a9ddbed689f4e12acb443">usbInit()</a>, and <a class="el" href="usb-common_8c.html#a01c83154e667f74a79fac7b951208646">usbPrint()</a>.</p> 563 564 </div> 565 </div> 566 <a class="anchor" id="a228e7b7d6adf81ad78bc848896044085"></a><!-- doxytag: member="usb-common.c::test_bits" ref="a228e7b7d6adf81ad78bc848896044085" args="(bit)" --> 567 <div class="memitem"> 568 <div class="memproto"> 569 <table class="memname"> 570 <tr> 571 <td class="memname">#define test_bits</td> 572 <td>(</td> 573 <td class="paramtype"> </td> 574 <td class="paramname">bit</td><td>)</td> 575 <td>   (bits[(bit)/8] & (1 << ((bit)%8)))</td> 576 </tr> 577 </table> 578 </div> 579 <div class="memdoc"> 580 581 <p>Referenced by <a class="el" href="usb-common_8h.html#a7f9b3a6d320a9ddbed689f4e12acb443">usbInit()</a>, and <a class="el" href="usb-common_8c.html#a01c83154e667f74a79fac7b951208646">usbPrint()</a>.</p> 582 583 </div> 584 </div> 585 <a class="anchor" id="a4745b9c19ea1cc480dc2b58e59d1e9bb"></a><!-- doxytag: member="usb-common.c::USB_COMMON_DEBUG" ref="a4745b9c19ea1cc480dc2b58e59d1e9bb" args="" --> 586 <div class="memitem"> 587 <div class="memproto"> 588 <table class="memname"> 589 <tr> 590 <td class="memname">#define USB_COMMON_DEBUG   1</td> 591 </tr> 592 </table> 593 </div> 594 <div class="memdoc"> 595 596 </div> 597 </div> 598 <hr/><h2>Function Documentation</h2> 599 <a class="anchor" id="a580f9f4ac56071b925cbf63d8b9dc706"></a><!-- doxytag: member="usb-common.c::usbCreatePrivate" ref="a580f9f4ac56071b925cbf63d8b9dc706" args="(DeviceIntPtr pDevice)" --> 600 <div class="memitem"> 601 <div class="memproto"> 602 <table class="memname"> 603 <tr> 604 <td class="memname">pointer usbCreatePrivate </td> 605 <td>(</td> 606 <td class="paramtype">DeviceIntPtr </td> 607 <td class="paramname"><em>pDevice</em></td><td>)</td> 608 <td></td> 609 </tr> 610 </table> 611 </div> 612 <div class="memdoc"> 613 <p>Create a private structure for use within this file. </p> 614 615 <p>References <a class="el" href="struct__myPrivate.html#a6b26eb0acc0b932c8dee8277501e6273">_myPrivate::fd</a>, and <a class="el" href="struct__myPrivate.html#ae08ddb2f15fe104faf25f51f05c26033">_myPrivate::pDevice</a>.</p> 616 617 </div> 618 </div> 619 <a class="anchor" id="a0eca0051ed4a3a117d504d6a82c65313"></a><!-- doxytag: member="usb-common.c::usbDestroyPrivate" ref="a0eca0051ed4a3a117d504d6a82c65313" args="(pointer priv)" --> 620 <div class="memitem"> 621 <div class="memproto"> 622 <table class="memname"> 623 <tr> 624 <td class="memname">void usbDestroyPrivate </td> 625 <td>(</td> 626 <td class="paramtype">pointer </td> 627 <td class="paramname"><em>priv</em></td><td>)</td> 628 <td></td> 629 </tr> 630 </table> 631 </div> 632 <div class="memdoc"> 633 <p>Destroy a private structure. </p> 634 635 </div> 636 </div> 637 <a class="anchor" id="a7f9b3a6d320a9ddbed689f4e12acb443"></a><!-- doxytag: member="usb-common.c::usbInit" ref="a7f9b3a6d320a9ddbed689f4e12acb443" args="(DevicePtr pDev, usbType type)" --> 638 <div class="memitem"> 639 <div class="memproto"> 640 <table class="memname"> 641 <tr> 642 <td class="memname">void usbInit </td> 643 <td>(</td> 644 <td class="paramtype">DevicePtr </td> 645 <td class="paramname"><em>pDev</em>, </td> 646 </tr> 647 <tr> 648 <td class="paramkey"></td> 649 <td></td> 650 <td class="paramtype"><a class="el" href="usb-common_8h.html#a5e4410bf95babe73bcecc612691fc2d0">usbType</a> </td> 651 <td class="paramname"><em>type</em> </td> 652 </tr> 653 <tr> 654 <td></td> 655 <td>)</td> 656 <td></td><td></td> 657 </tr> 658 </table> 659 </div> 660 <div class="memdoc"> 661 <p>Initialized <em>pDev</em> as a <em>usbMouse</em>, <em>usbKeyboard</em>, or <em>usbOther</em> device. </p> 662 663 <p>References <a class="el" href="usb-common_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>, <a class="el" href="usb-common_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, <a class="el" href="dmxsigio_8c.html#a39d33ce33804efd4d52606d59071c6d8">O_NONBLOCK</a>, <a class="el" href="usb-common_8c.html#a36b621e66020a8ee4641d56c73c4226b">test_bit</a>, <a class="el" href="usb-common_8c.html#a228e7b7d6adf81ad78bc848896044085">test_bits</a>, <a class="el" href="usb-common_8h.html#a5e4410bf95babe73bcecc612691fc2d0ac0ee79f0c48b61dfd08fff502a2752a3">usbKeyboard</a>, <a class="el" href="usb-common_8h.html#a5e4410bf95babe73bcecc612691fc2d0a6bd9e53b1b5835e304e54ba13a227de7">usbMouse</a>, <a class="el" href="usb-common_8h.html#a5e4410bf95babe73bcecc612691fc2d0acf68ef2e5cae37647c412e73c93960fb">usbOther</a>, and <a class="el" href="usb-common_8c.html#a01c83154e667f74a79fac7b951208646">usbPrint()</a>.</p> 664 665 <p>Referenced by <a class="el" href="usb-keyboard_8h.html#a294cdaa0f31f5f463562c72107b569f2">kbdUSBInit()</a>, <a class="el" href="usb-mouse_8h.html#a6c0a19ce4ec02df96f781152a8cc5d36">mouUSBInit()</a>, and <a class="el" href="usb-other_8h.html#ad1b551c84928693ea1b2edebf6c4fcff">othUSBInit()</a>.</p> 666 667 </div> 668 </div> 669 <a class="anchor" id="aa86d87cabbc0971c51452970b7dc879f"></a><!-- doxytag: member="usb-common.c::usbOff" ref="aa86d87cabbc0971c51452970b7dc879f" args="(DevicePtr pDev)" --> 670 <div class="memitem"> 671 <div class="memproto"> 672 <table class="memname"> 673 <tr> 674 <td class="memname">void usbOff </td> 675 <td>(</td> 676 <td class="paramtype">DevicePtr </td> 677 <td class="paramname"><em>pDev</em></td><td>)</td> 678 <td></td> 679 </tr> 680 </table> 681 </div> 682 <div class="memdoc"> 683 <p>Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </p> 684 685 <p>References <a class="el" href="usb-common_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>.</p> 686 687 </div> 688 </div> 689 <a class="anchor" id="a01c83154e667f74a79fac7b951208646"></a><!-- doxytag: member="usb-common.c::usbPrint" ref="a01c83154e667f74a79fac7b951208646" args="(myPrivate *priv, const char *filename, const char *devname, int fd)" --> 690 <div class="memitem"> 691 <div class="memproto"> 692 <table class="memname"> 693 <tr> 694 <td class="memname">static void usbPrint </td> 695 <td>(</td> 696 <td class="paramtype"><a class="el" href="struct__myPrivate.html">myPrivate</a> * </td> 697 <td class="paramname"><em>priv</em>, </td> 698 </tr> 699 <tr> 700 <td class="paramkey"></td> 701 <td></td> 702 <td class="paramtype">const char * </td> 703 <td class="paramname"><em>filename</em>, </td> 704 </tr> 705 <tr> 706 <td class="paramkey"></td> 707 <td></td> 708 <td class="paramtype">const char * </td> 709 <td class="paramname"><em>devname</em>, </td> 710 </tr> 711 <tr> 712 <td class="paramkey"></td> 713 <td></td> 714 <td class="paramtype">int </td> 715 <td class="paramname"><em>fd</em> </td> 716 </tr> 717 <tr> 718 <td></td> 719 <td>)</td> 720 <td></td><td><code> [static]</code></td> 721 </tr> 722 </table> 723 </div> 724 <div class="memdoc"> 725 726 <p>References <a class="el" href="usb-private_8h.html#a28f782ce9e5d1e3cff987901a7bf6823">ABS_BRAKE</a>, <a class="el" href="usb-private_8h.html#acf2960996b3a73cfa447e18a655690c5">ABS_GAS</a>, <a class="el" href="usb-private_8h.html#abc57d88f908f35bd3c82ba7dff0d97e7">ABS_WHEEL</a>, <a class="el" href="usb-private_8h.html#a97886fd107ad9e34bf130fe2e8a5799a">EV_FF</a>, <a class="el" href="usb-private_8h.html#af2e56f461a160409ab75afaa916beebf">EV_MSC</a>, <a class="el" href="struct__myPrivate.html#a6b26eb0acc0b932c8dee8277501e6273">_myPrivate::fd</a>, <a class="el" href="usb-common_8c.html#a5340233a04762d00a2fc39e922489cbd">GETNAME</a>, <a class="el" href="usb-private_8h.html#acc1dccaea09503c64e9dfb635e19b29a">LED_MISC</a>, <a class="el" href="usb-private_8h.html#a06e2b597089e33458df03d81fa441995">LED_MUTE</a>, <a class="el" href="usb-private_8h.html#ad578ee0c4ea73206378c55bba1135e84">LED_SLEEP</a>, <a class="el" href="usb-private_8h.html#a59fd9fe6c0cd23e8154bc7578d3676a5">LED_SUSPEND</a>, <a class="el" href="usb-common_8c.html#a362570e9b2c9ac295638be490c81d1fb">LOG1INPUT</a>, <a class="el" href="usb-common_8c.html#ab34476eaeb97ba2e10bab547085c22b8">LOG3INPUT</a>, <a class="el" href="usb-common_8c.html#aa9a2c0ce5f5776ac17b498dc1d90ce1f">LOG5INPUT</a>, <a class="el" href="struct__myPrivate.html#ae08ddb2f15fe104faf25f51f05c26033">_myPrivate::pDevice</a>, <a class="el" href="usb-common_8c.html#a36b621e66020a8ee4641d56c73c4226b">test_bit</a>, and <a class="el" href="usb-common_8c.html#a228e7b7d6adf81ad78bc848896044085">test_bits</a>.</p> 727 728 <p>Referenced by <a class="el" href="usb-common_8h.html#a7f9b3a6d320a9ddbed689f4e12acb443">usbInit()</a>.</p> 729 730 </div> 731 </div> 732 <a class="anchor" id="ae20f3b14463c8e288041f9970e388950"></a><!-- doxytag: member="usb-common.c::usbRead" ref="ae20f3b14463c8e288041f9970e388950" args="(DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, int minButton, BLOCK block)" --> 733 <div class="memitem"> 734 <div class="memproto"> 735 <table class="memname"> 736 <tr> 737 <td class="memname">void usbRead </td> 738 <td>(</td> 739 <td class="paramtype">DevicePtr </td> 740 <td class="paramname"><em>pDev</em>, </td> 741 </tr> 742 <tr> 743 <td class="paramkey"></td> 744 <td></td> 745 <td class="paramtype">MOTIONPROC </td> 746 <td class="paramname"><em>motion</em>, </td> 747 </tr> 748 <tr> 749 <td class="paramkey"></td> 750 <td></td> 751 <td class="paramtype">ENQUEUEPROC </td> 752 <td class="paramname"><em>enqueue</em>, </td> 753 </tr> 754 <tr> 755 <td class="paramkey"></td> 756 <td></td> 757 <td class="paramtype">int </td> 758 <td class="paramname"><em>minButton</em>, </td> 759 </tr> 760 <tr> 761 <td class="paramkey"></td> 762 <td></td> 763 <td class="paramtype">BLOCK </td> 764 <td class="paramname"><em>block</em> </td> 765 </tr> 766 <tr> 767 <td></td> 768 <td>)</td> 769 <td></td><td></td> 770 </tr> 771 </table> 772 </div> 773 <div class="memdoc"> 774 <p>Read an event from the <em>pDev</em> device. If the event is a motion event, enqueue it with the <em>motion</em> function. Otherwise, enqueue the event with the <em>enqueue</em> function. The <em>block</em> type is passed to the functions so that they may block SIGIO handling as appropriate to the caller of this function.</p> 775 <p>Since USB devices return EV_KEY events for buttons and keys, <em>minButton</em> is used to decide if a Button or Key event should be queued. </p> 776 777 <p>References <a class="el" href="dmxinputinit_8h.html#a009c1c06db97e0347237f11a701db349a3f6f623d8a62c69c55ec94d33d29af06">DMX_ABSOLUTE</a>, <a class="el" href="dmxevents_8c.html#a144e2f1a618a0d14e2c9ce4fda50104a">DMX_MAX_AXES</a>, <a class="el" href="dmxinputinit_8h.html#a009c1c06db97e0347237f11a701db349a065d85ca14ad2eb8f7bae4eaffac6412">DMX_RELATIVE</a>, <a class="el" href="usb-common_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, <a class="el" href="usb-common_8c.html#a8247f0bca25789d2ac27674eb26e223f">LOG3</a>, <a class="el" href="lnx-ms_8c.html#a7581da9bfd7ebf4fe3703352df521931">PRESS</a>, and <a class="el" href="lnx-ms_8c.html#a2b4d2480737f9eb52f80998518486f01">RELEASE</a>.</p> 778 779 <p>Referenced by <a class="el" href="usb-mouse_8c.html#ae823cb66bf7678148ffadf3202034921">mouUSBRead()</a>, and <a class="el" href="usb-other_8c.html#a3c2a6d36c58f4372068d019364831151">othUSBRead()</a>.</p> 780 781 </div> 782 </div> 783 </div> 784 </div> 785 <div id="nav-path" class="navpath"> 786 <ul> 787 <li class="navelem"><a class="el" href="usb-common_8c.html">usb-common.c</a> </li> 788 <hr> 789 <address> 790 <small> 791 Generated June 29, 2004 for <a 792 href="http://dmx.sourceforge.net">Distributed Multihead X</a> by 793 <a href="http://www.doxygen.org/index.html">doxygen</a> 794 1.3.4. 795 </small> 796 </addres> 797 </hr> 798 </body> 799 </html> 800